UNPKG

@rhyster/wow-casc-dbc

Version:

Fetch World of Warcraft data files from CASC and parse DBC/DB2 files.

104 lines 3.71 kB
import type ADBReader from './adb.ts'; import type { MissingKeyBlock } from './blte.ts'; interface FieldStructure { size: number; position: number; } interface FieldStorageInfoCompressionNone { fieldOffsetBits: number; fieldSizeBits: number; additionalDataSize: number; storageType: 'none'; } interface FieldStorageInfoCompressionBitpacked { fieldOffsetBits: number; fieldSizeBits: number; additionalDataSize: number; storageType: 'bitpacked'; bitpackingOffsetBits: number; bitpackingSizeBits: number; flags: number; } interface FieldStorageInfoCompressionCommonData { fieldOffsetBits: number; fieldSizeBits: number; additionalDataSize: number; storageType: 'commonData'; defaultValue: number; } interface FieldStorageInfoCompressionBitpackedIndexed { fieldOffsetBits: number; fieldSizeBits: number; additionalDataSize: number; storageType: 'bitpackedIndexed'; bitpackingOffsetBits: number; bitpackingSizeBits: number; } interface FieldStorageInfoCompressionBitpackedIndexedArray { fieldOffsetBits: number; fieldSizeBits: number; additionalDataSize: number; storageType: 'bitpackedIndexedArray'; bitpackingOffsetBits: number; bitpackingSizeBits: number; arrayCount: number; } interface FieldStorageInfoCompressionBitpackedSigned { fieldOffsetBits: number; fieldSizeBits: number; additionalDataSize: number; storageType: 'bitpackedSigned'; bitpackingOffsetBits: number; bitpackingSizeBits: number; flags: number; } type FieldStorageInfo = FieldStorageInfoCompressionNone | FieldStorageInfoCompressionBitpacked | FieldStorageInfoCompressionCommonData | FieldStorageInfoCompressionBitpackedIndexed | FieldStorageInfoCompressionBitpackedIndexedArray | FieldStorageInfoCompressionBitpackedSigned; interface ParsedFieldNone { type: 'none'; data: number | bigint; string?: string; } interface ParsedFieldCommonData { type: 'commonData'; data: number; } interface ParsedFieldBitpacked { type: 'bitpacked'; data: number; } interface ParsedFieldBitpackedArray { type: 'bitpackedArray'; data: number[]; } type ParsedField = ParsedFieldNone | ParsedFieldCommonData | ParsedFieldBitpacked | ParsedFieldBitpackedArray; interface SparseRow { type: 'sparse'; data: Buffer; } interface HotfixModify { type: 'modify'; data: Buffer; } interface HotfixDelete { type: 'delete'; } type Hotfix = HotfixModify | HotfixDelete; export default class WDCReader { readonly tableHash: number; readonly layoutHash: number; readonly locale: number; readonly isNormal: boolean; readonly hasRelationshipData: boolean; readonly fields: FieldStructure[]; readonly fieldsInfo: FieldStorageInfo[]; readonly rows: Map<number, SparseRow | ParsedField[]>; readonly relationships: Map<number, number>; readonly copyTable: Map<number, number>; readonly hotfixes: Map<number, Hotfix>; constructor(buffer: Buffer, blocks?: MissingKeyBlock[], adb?: ADBReader); getAllIDs(): number[]; getRowData(id: number): ParsedField[] | SparseRow | undefined; getRowRelationship(id: number): number | undefined; } export type { FieldStructure, FieldStorageInfo, FieldStorageInfoCompressionNone, FieldStorageInfoCompressionBitpacked, FieldStorageInfoCompressionCommonData, FieldStorageInfoCompressionBitpackedIndexed, FieldStorageInfoCompressionBitpackedIndexedArray, FieldStorageInfoCompressionBitpackedSigned, ParsedField, ParsedFieldNone, ParsedFieldCommonData, ParsedFieldBitpacked, ParsedFieldBitpackedArray, SparseRow, Hotfix, HotfixModify, HotfixDelete, }; //# sourceMappingURL=wdc.d.ts.map