Skip to main content

Class: BookModuleInfo

Defined in: Data/Models/Book/BookModuleInfo.ts:7

Book module information from the module_info table. Stored within each book module database (book_*.db).

Extends

  • BaseModuleInfo

Constructors

Constructor

new BookModuleInfo(data): BookModuleInfo

Defined in: Data/Models/Book/BookModuleInfo.ts:10

Parameters

data

BaseModuleInfoData & object

Returns

BookModuleInfo

Overrides

BaseModuleInfo.constructor

Properties

abbreviation

abbreviation: string

Defined in: Data/Models/BaseModuleInfo.ts:70

Inherited from

BaseModuleInfo.abbreviation


author?

optional author?: string

Defined in: Data/Models/BaseModuleInfo.ts:73

Inherited from

BaseModuleInfo.author


canon?

optional canon?: string

Defined in: Data/Models/BaseModuleInfo.ts:100

Inherited from

BaseModuleInfo.canon


contentSha256?

optional contentSha256?: string

Defined in: Data/Models/BaseModuleInfo.ts:96

Inherited from

BaseModuleInfo.contentSha256


contentVersion?

optional contentVersion?: string

Defined in: Data/Models/BaseModuleInfo.ts:95

Inherited from

BaseModuleInfo.contentVersion


optional copyright?: string

Defined in: Data/Models/BaseModuleInfo.ts:76

Freeform copyright text. Display only — never parsed for licensing.

Inherited from

BaseModuleInfo.copyright


createdDate?

optional createdDate?: string

Defined in: Data/Models/BaseModuleInfo.ts:88

Inherited from

BaseModuleInfo.createdDate


description?

optional description?: string

Defined in: Data/Models/BaseModuleInfo.ts:77

Inherited from

BaseModuleInfo.description


format?

optional format?: string

Defined in: Data/Models/BaseModuleInfo.ts:93

Inherited from

BaseModuleInfo.format


formatVersion?

optional formatVersion?: string

Defined in: Data/Models/BaseModuleInfo.ts:94

Inherited from

BaseModuleInfo.formatVersion


fullName

fullName: string

Defined in: Data/Models/BaseModuleInfo.ts:71

Inherited from

BaseModuleInfo.fullName


infoId

infoId: number

Defined in: Data/Models/BaseModuleInfo.ts:68

Inherited from

BaseModuleInfo.infoId


languageCode

languageCode: string

Defined in: Data/Models/BaseModuleInfo.ts:72

Inherited from

BaseModuleInfo.languageCode


licenseSpdx?

optional licenseSpdx?: string

Defined in: Data/Models/BaseModuleInfo.ts:97

Inherited from

BaseModuleInfo.licenseSpdx


licenseUrl?

optional licenseUrl?: string

Defined in: Data/Models/BaseModuleInfo.ts:98

Inherited from

BaseModuleInfo.licenseUrl


metadata?

optional metadata?: Metadata

Defined in: Data/Models/BaseModuleInfo.ts:89

Inherited from

BaseModuleInfo.metadata


moduleType

readonly moduleType: "book"

Defined in: Data/Models/Book/BookModuleInfo.ts:8

Overrides

BaseModuleInfo.moduleType


moduleUuid?

optional moduleUuid?: string

Defined in: Data/Models/BaseModuleInfo.ts:92

Inherited from

BaseModuleInfo.moduleUuid


publisher?

optional publisher?: string

Defined in: Data/Models/BaseModuleInfo.ts:78

Inherited from

BaseModuleInfo.publisher


sourceUrl?

optional sourceUrl?: string

Defined in: Data/Models/BaseModuleInfo.ts:99

Inherited from

BaseModuleInfo.sourceUrl


versification?

optional versification?: string

Defined in: Data/Models/BaseModuleInfo.ts:101

Inherited from

BaseModuleInfo.versification


version?

optional version?: string

Defined in: Data/Models/BaseModuleInfo.ts:87

The module's content revision.

Deprecated

Use contentVersion. The version column is renamed to content_version in Module Format v2; this field is kept populated as an alias so consumers outside @bible/core compile and behave unchanged. TODO(pass-2): delete once desktop/web/standalone read contentVersion.

Inherited from

BaseModuleInfo.version


yearPublished?

optional yearPublished?: number

Defined in: Data/Models/BaseModuleInfo.ts:74

Inherited from

BaseModuleInfo.yearPublished

Methods

getCitation()

getCitation(): string

Defined in: Data/Models/Book/BookModuleInfo.ts:25

Get citation format.

Returns

string


getDisplayName()

getDisplayName(): string

Defined in: Data/Models/Book/BookModuleInfo.ts:17

Get the full display name with author.

Returns

string

Overrides

BaseModuleInfo.getDisplayName


getIdentity()

getIdentity(): string

Defined in: Data/Models/BaseModuleInfo.ts:149

Stable identity for this module.

v2 modules return module_uuid. v1 COMPAT: shipped modules have no UUID, so the abbreviation is returned as a last-resort identity. Callers that persist a cross-database reference should prefer moduleUuid and treat an abbreviation-shaped identity as unstable.

Pass-2 deletion point: once every module carries a UUID this collapses to return this.moduleUuid.

Returns

string

Inherited from

BaseModuleInfo.getIdentity


hasIdentityBlock()

hasIdentityBlock(): boolean

Defined in: Data/Models/BaseModuleInfo.ts:154

True when this module carries the v2 identity block.

Returns

boolean

Inherited from

BaseModuleInfo.hasIdentityBlock


hasStructuredLicense()

hasStructuredLicense(): boolean

Defined in: Data/Models/BaseModuleInfo.ts:187

True when the licence is explicitly declared (v2 modules only).

Returns

boolean

Inherited from

BaseModuleInfo.hasStructuredLicense


isPublicDomain()

isPublicDomain(): boolean

Defined in: Data/Models/BaseModuleInfo.ts:173

Check if this module is in the public domain.

Decided from the structured licenseSpdx field. Recognised public-domain identifiers are PD, CC0-1.0, CC-PDDC, Unlicense, NLOD-1.0 and public-domain (case-insensitive); a LicenseRef-…-PD custom identifier also counts.

v1 COMPAT: when license_spdx is absent — which is every shipped module today — this falls back to substring-matching the freeform copyright text. That fallback is why the KJV historically reported false: shipped KJV has copyright: "". It is retained only so v1 modules that do say "Public Domain" in their copyright line keep working. Pass-2 deletion point: delete the fallback block once every module has license_spdx.

Returns

boolean

Inherited from

BaseModuleInfo.isPublicDomain