Skip to main content

Storyteller NodeKit API

NodeKitLoadError

Defined in: libraries/nodekit/src/nodekit.ts:27

Extends

  • Error

Constructors

Constructor

new NodeKitLoadError(message, options?): NodeKitLoadError

Defined in: libraries/nodekit/src/nodekit.ts:28

Parameters
ParameterType
messagestring
options?{ cause?: unknown; }
options.cause?unknown
Returns

NodeKitLoadError

Overrides

Error.constructor

Properties

cause?

optional cause: unknown

Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:26

Inherited from

Error.cause

message

message: string

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1077

Inherited from

Error.message

name

name: string

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076

Inherited from

Error.name

stack?

optional stack: string

Defined in: node_modules/typescript/lib/lib.es5.d.ts:1078

Inherited from

Error.stack

stackTraceLimit

static stackTraceLimit: number

Defined in: node_modules/@types/node/globals.d.ts:68

The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).

The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.

If set to a non-number value, or set to a negative number, stack traces will not capture any frames.

Inherited from

Error.stackTraceLimit

Methods

captureStackTrace()

static captureStackTrace(targetObject, constructorOpt?): void

Defined in: node_modules/@types/node/globals.d.ts:52

Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.

const myObject = {}
Error.captureStackTrace(myObject)
myObject.stack // Similar to `new Error().stack`

The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.

The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.

The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:

function a() {
b()
}

function b() {
c()
}

function c() {
// Create an error without stack trace to avoid calculating the stack trace twice.
const { stackTraceLimit } = Error
Error.stackTraceLimit = 0
const error = new Error()
Error.stackTraceLimit = stackTraceLimit

// Capture the stack trace above function b
Error.captureStackTrace(error, b) // Neither function c, nor b is included in the stack trace
throw error
}

a()
Parameters
ParameterType
targetObjectobject
constructorOpt?Function
Returns

void

Inherited from

Error.captureStackTrace

isError()

static isError(error): error is Error

Defined in: node_modules/typescript/lib/lib.esnext.error.d.ts:23

Indicates whether the argument provided is a built-in Error instance or not.

Parameters
ParameterType
errorunknown
Returns

error is Error

Inherited from

Error.isError

prepareStackTrace()

static prepareStackTrace(err, stackTraces): any

Defined in: node_modules/@types/node/globals.d.ts:56

Parameters
ParameterType
errError
stackTracesCallSite[]
Returns

any

See

https://v8.dev/docs/stack-trace-api#customizing-stack-traces

Inherited from

Error.prepareStackTrace


StorytellerNodeKit

Defined in: libraries/nodekit/src/nodekit.ts:255

Constructors

Constructor

new StorytellerNodeKit(options?): StorytellerNodeKit

Defined in: libraries/nodekit/src/nodekit.ts:259

Parameters
ParameterType
options?ConfigureOptions
Returns

StorytellerNodeKit

Methods

configure()

configure(options): Promise<void>

Defined in: libraries/nodekit/src/nodekit.ts:270

Parameters
ParameterType
optionsConfigureOptions
Returns

Promise<void>

coverSearch()

coverSearch(options): Promise<CoverCandidate[]>

Defined in: libraries/nodekit/src/nodekit.ts:335

Parameters
ParameterType
optionsCoverSearchQuery
Returns

Promise<CoverCandidate[]>

download()

download(options): Promise<DownloadResult>

Defined in: libraries/nodekit/src/nodekit.ts:342

Parameters
ParameterType
optionsCoverDownloadQuery
Returns

Promise<DownloadResult>

metadataBook()

metadataBook(options): Promise<BookMetadataCandidate>

Defined in: libraries/nodekit/src/nodekit.ts:290

Parameters
ParameterType
optionsMetadataBookQuery
Returns

Promise<BookMetadataCandidate>

metadataBookRaw()

metadataBookRaw(options): Promise<string>

Defined in: libraries/nodekit/src/nodekit.ts:330

Parameters
ParameterType
optionsMetadataBookQuery
Returns

Promise<string>

metadataSearch()

metadataSearch(options): Promise<BookMetadataSearchResult[]>

Defined in: libraries/nodekit/src/nodekit.ts:275

Parameters
ParameterType
optionsMetadataSearchQuery
Returns

Promise<BookMetadataSearchResult[]>


BookMetadataSearchResult

Defined in: libraries/nodekit/src/types.ts:42

Properties

authors

authors: string[]

Defined in: libraries/nodekit/src/types.ts:47

id

id: string

Defined in: libraries/nodekit/src/types.ts:44

imageUrl?

optional imageUrl: string

Defined in: libraries/nodekit/src/types.ts:53

narrators

narrators: string[]

Defined in: libraries/nodekit/src/types.ts:48

provider

provider: "audnexus" | "hardcover"

Defined in: libraries/nodekit/src/types.ts:43

releaseDate?

optional releaseDate: string

Defined in: libraries/nodekit/src/types.ts:51

releaseYear?

optional releaseYear: number

Defined in: libraries/nodekit/src/types.ts:52

seriesName?

optional seriesName: string

Defined in: libraries/nodekit/src/types.ts:49

seriesPosition?

optional seriesPosition: string | number

Defined in: libraries/nodekit/src/types.ts:50

subtitle?

optional subtitle: string

Defined in: libraries/nodekit/src/types.ts:46

title

title: string

Defined in: libraries/nodekit/src/types.ts:45


ConfigureOptions

Defined in: libraries/nodekit/src/types.ts:38

Properties

tokens?

optional tokens: Record<string, string>

Defined in: libraries/nodekit/src/types.ts:39


CoverCandidate

Defined in: libraries/nodekit/src/types.ts:143

Properties

format?

optional format: string

Defined in: libraries/nodekit/src/types.ts:150

height?

optional height: number

Defined in: libraries/nodekit/src/types.ts:153

id

id: string

Defined in: libraries/nodekit/src/types.ts:144

language?

optional language: string

Defined in: libraries/nodekit/src/types.ts:151

mediaKind

mediaKind: "audiobook" | "ebook"

Defined in: libraries/nodekit/src/types.ts:146

provider

provider: "hardcover" | "apple"

Defined in: libraries/nodekit/src/types.ts:145

subtitle?

optional subtitle: string

Defined in: libraries/nodekit/src/types.ts:149

title?

optional title: string

Defined in: libraries/nodekit/src/types.ts:148

url

url: string

Defined in: libraries/nodekit/src/types.ts:147

width?

optional width: number

Defined in: libraries/nodekit/src/types.ts:152


CoverDownloadQuery

Defined in: libraries/nodekit/src/types.ts:32

Properties

filename?

optional filename: string

Defined in: libraries/nodekit/src/types.ts:35

provider?

optional provider: "hardcover" | "apple"

Defined in: libraries/nodekit/src/types.ts:34

url

url: string

Defined in: libraries/nodekit/src/types.ts:33


CoverSearchQuery

Defined in: libraries/nodekit/src/types.ts:24

Properties

author?

optional author: string

Defined in: libraries/nodekit/src/types.ts:28

provider?

optional provider: "hardcover" | "apple"

Defined in: libraries/nodekit/src/types.ts:26

providers?

optional providers: ("hardcover" | "apple")[]

Defined in: libraries/nodekit/src/types.ts:25

query?

optional query: string

Defined in: libraries/nodekit/src/types.ts:29

title?

optional title: string

Defined in: libraries/nodekit/src/types.ts:27


DownloadResult

Defined in: libraries/nodekit/src/types.ts:156

Properties

bytes

bytes: Buffer

Defined in: libraries/nodekit/src/types.ts:162

contentType

contentType: string

Defined in: libraries/nodekit/src/types.ts:158

filename

filename: string

Defined in: libraries/nodekit/src/types.ts:157

height

height: number

Defined in: libraries/nodekit/src/types.ts:161

url

url: string

Defined in: libraries/nodekit/src/types.ts:159

width

width: number

Defined in: libraries/nodekit/src/types.ts:160


MetadataBookQuery

Defined in: libraries/nodekit/src/types.ts:18

Properties

id

id: string

Defined in: libraries/nodekit/src/types.ts:20

provider

provider: "audnexus" | "hardcover"

Defined in: libraries/nodekit/src/types.ts:19

region?

optional region: string

Defined in: libraries/nodekit/src/types.ts:21


MetadataContributor

Defined in: libraries/nodekit/src/types.ts:56

Properties

name

name: string

Defined in: libraries/nodekit/src/types.ts:57

role

role: string

Defined in: libraries/nodekit/src/types.ts:58


MetadataEdition

Defined in: libraries/nodekit/src/types.ts:94

Properties

asin?

optional asin: string

Defined in: libraries/nodekit/src/types.ts:102

audioSeconds?

optional audioSeconds: number

Defined in: libraries/nodekit/src/types.ts:104

country?

optional country: string

Defined in: libraries/nodekit/src/types.ts:107

editionInfo?

optional editionInfo: string

Defined in: libraries/nodekit/src/types.ts:97

format

format: string

Defined in: libraries/nodekit/src/types.ts:96

id

id: string

Defined in: libraries/nodekit/src/types.ts:95

imageHeight?

optional imageHeight: number

Defined in: libraries/nodekit/src/types.ts:113

imageUrl?

optional imageUrl: string

Defined in: libraries/nodekit/src/types.ts:111

imageWidth?

optional imageWidth: number

Defined in: libraries/nodekit/src/types.ts:112

isbn10?

optional isbn10: string

Defined in: libraries/nodekit/src/types.ts:101

isbn13?

optional isbn13: string

Defined in: libraries/nodekit/src/types.ts:100

language?

optional language: string

Defined in: libraries/nodekit/src/types.ts:106

narrators

narrators: string[]

Defined in: libraries/nodekit/src/types.ts:109

otherContributors

otherContributors: MetadataContributor[]

Defined in: libraries/nodekit/src/types.ts:110

pages?

optional pages: number

Defined in: libraries/nodekit/src/types.ts:103

publisher?

optional publisher: string

Defined in: libraries/nodekit/src/types.ts:108

releaseDate?

optional releaseDate: string

Defined in: libraries/nodekit/src/types.ts:105

subtitle?

optional subtitle: string

Defined in: libraries/nodekit/src/types.ts:99

title?

optional title: string

Defined in: libraries/nodekit/src/types.ts:98


MetadataSearchQuery

Defined in: libraries/nodekit/src/types.ts:9

Properties

author?

optional author: string

Defined in: libraries/nodekit/src/types.ts:13

provider?

optional provider: "audnexus" | "hardcover"

Defined in: libraries/nodekit/src/types.ts:11

providers?

optional providers: ("audnexus" | "hardcover")[]

Defined in: libraries/nodekit/src/types.ts:10

query?

optional query: string

Defined in: libraries/nodekit/src/types.ts:14

region?

optional region: string

Defined in: libraries/nodekit/src/types.ts:15

title?

optional title: string

Defined in: libraries/nodekit/src/types.ts:12


MetadataSeries

Defined in: libraries/nodekit/src/types.ts:61

Properties

optional featured: boolean

Defined in: libraries/nodekit/src/types.ts:64

name

name: string

Defined in: libraries/nodekit/src/types.ts:62

position?

optional position: string | number

Defined in: libraries/nodekit/src/types.ts:63


MetadataTag<Provider>

Defined in: libraries/nodekit/src/types.ts:79

Type Parameters

Type Parameter
Provider extends BookMetadataProvider

Properties

category?

optional category: Provider extends "hardcover" ? "Genre" | > "Mood" | "Pace" | "Tag" | "Content Warning" : "genre" | "tag"

Defined in: libraries/nodekit/src/types.ts:85

"Genre", "Mood", "Pace", "Tag", "Content Warning" on hardcover; "genre" / "tag" on audnexus

count?

optional count: number

Defined in: libraries/nodekit/src/types.ts:91

hardcover vote count; 0 on audnexus

name

name: string

Defined in: libraries/nodekit/src/types.ts:80


AddonCandidate

AddonCandidate = object

Defined in: libraries/nodekit/src/nodekit.ts:45

Properties

exists

exists: boolean

Defined in: libraries/nodekit/src/nodekit.ts:48

path

path: string

Defined in: libraries/nodekit/src/nodekit.ts:47

source

source: AddonSource

Defined in: libraries/nodekit/src/nodekit.ts:46


AddonResolution

AddonResolution = object

Defined in: libraries/nodekit/src/nodekit.ts:51

Properties

candidates

candidates: AddonCandidate[]

Defined in: libraries/nodekit/src/nodekit.ts:56

override

override: string | null

Defined in: libraries/nodekit/src/nodekit.ts:54

platform

platform: string

Defined in: libraries/nodekit/src/nodekit.ts:52

resolved

resolved: string | null

Defined in: libraries/nodekit/src/nodekit.ts:57

sources

sources: AddonSource[]

Defined in: libraries/nodekit/src/nodekit.ts:55

supported

supported: boolean

Defined in: libraries/nodekit/src/nodekit.ts:53


AddonSource

AddonSource = typeof ADDON_SOURCES[number]

Defined in: libraries/nodekit/src/nodekit.ts:43


AudnexusTagCategory

AudnexusTagCategory = typeof > AUDNEXUS_TAG_CATEGORIES[number]

Defined in: libraries/nodekit/src/types.ts:77


BookMetadataCandidate<Provider>

BookMetadataCandidate<Provider> = Provider extends Provider ? object : never

Defined in: libraries/nodekit/src/types.ts:116

Type Parameters

Type ParameterDefault type
Provider extends BookMetadataProviderBookMetadataProvider

BookMetadataProvider

BookMetadataProvider = typeof > METADATA_PROVIDERS[number]

Defined in: libraries/nodekit/src/types.ts:4


CoverProvider

CoverProvider = typeof COVER_PROVIDERS[number]

Defined in: libraries/nodekit/src/types.ts:7


HardcoverTagCategory

HardcoverTagCategory = typeof > HARDCOVER_TAG_CATEGORIES[number]

Defined in: libraries/nodekit/src/types.ts:74


MetadataProvidersResponse

MetadataProvidersResponse = object

Defined in: libraries/nodekit/src/types.ts:176

Properties

available

available: boolean

Defined in: libraries/nodekit/src/types.ts:178

providers

providers: ProviderTokenStatus[]

Defined in: libraries/nodekit/src/types.ts:179


NodeKitRaw

NodeKitRaw = object

Defined in: libraries/nodekit/src/nodekit.ts:18

Methods

configure()

configure(options): Promise<void>

Defined in: libraries/nodekit/src/nodekit.ts:19

Parameters
ParameterType
optionsstring
Returns

Promise<void>

coverSearch()

coverSearch(options): Promise<string>

Defined in: libraries/nodekit/src/nodekit.ts:23

Parameters
ParameterType
optionsstring
Returns

Promise<string>

download()

download(options): Promise<DownloadResult>

Defined in: libraries/nodekit/src/nodekit.ts:24

Parameters
ParameterType
optionsstring
Returns

Promise<DownloadResult>

metadataBook()

metadataBook(options): Promise<string>

Defined in: libraries/nodekit/src/nodekit.ts:21

Parameters
ParameterType
optionsstring
Returns

Promise<string>

metadataBookRaw()

metadataBookRaw(options): Promise<string>

Defined in: libraries/nodekit/src/nodekit.ts:22

Parameters
ParameterType
optionsstring
Returns

Promise<string>

metadataSearch()

metadataSearch(options): Promise<string>

Defined in: libraries/nodekit/src/nodekit.ts:20

Parameters
ParameterType
optionsstring
Returns

Promise<string>


ProviderTokenSource

ProviderTokenSource = "database" | "env"

Defined in: libraries/nodekit/src/types.ts:165


ProviderTokenStatus

ProviderTokenStatus = object

Defined in: libraries/nodekit/src/types.ts:167

Properties

provider

provider: BookMetadataProvider

Defined in: libraries/nodekit/src/types.ts:168

source

source: ProviderTokenSource | null

Defined in: libraries/nodekit/src/types.ts:170

tokenSet

tokenSet: boolean

Defined in: libraries/nodekit/src/types.ts:169

unreadable

unreadable: boolean

Defined in: libraries/nodekit/src/types.ts:173


ADDON_SOURCES

const ADDON_SOURCES: readonly ["local", "npm"]

Defined in: libraries/nodekit/src/nodekit.ts:41


AUDNEXUS_TAG_CATEGORIES

const AUDNEXUS_TAG_CATEGORIES: readonly ["genre", "tag"]

Defined in: libraries/nodekit/src/types.ts:76


COVER_PROVIDERS

const COVER_PROVIDERS: readonly ["apple", "hardcover"]

Defined in: libraries/nodekit/src/types.ts:6


HARDCOVER_TAG_CATEGORIES

const HARDCOVER_TAG_CATEGORIES: readonly ["Genre", "Mood", "Pace", "Tag", "Content Warning"]

Defined in: libraries/nodekit/src/types.ts:67


METADATA_PROVIDERS

const METADATA_PROVIDERS: readonly ["audnexus", "hardcover"]

Defined in: libraries/nodekit/src/types.ts:3


asCoverProvider()

asCoverProvider(value): undefined | "hardcover" | "apple"

Defined in: libraries/nodekit/src/index.ts:32

Parameters

ParameterType
valueundefined | null | string

Returns

undefined | "hardcover" | "apple"


asMetadataProvider()

asMetadataProvider(value): undefined | "audnexus" | "hardcover"

Defined in: libraries/nodekit/src/index.ts:24

Parameters

ParameterType
valueundefined | null | string

Returns

undefined | "audnexus" | "hardcover"


describeAddonResolution()

describeAddonResolution(): AddonResolution

Defined in: libraries/nodekit/src/nodekit.ts:150

Returns

AddonResolution


loadAddon()

loadAddon(): NodeKitRaw

Defined in: libraries/nodekit/src/nodekit.ts:231

Returns

NodeKitRaw


resolveAddonPath()

resolveAddonPath(): null | string

Defined in: libraries/nodekit/src/nodekit.ts:200

Returns

null | string