UNPKG

@bedrock-apis/nbt-core

Version:

Shared Types and minimal code for NBT packages

104 lines 2.33 kB
//#region core/tag-type.d.ts declare enum TagType { EndOfCompound = 0, Byte = 1, Short = 2, Int = 3, Long = 4, Float = 5, Double = 6, ByteArray = 7, String = 8, List = 9, Compound = 10, IntArray = 11, LongArray = 12, } //#endregion //#region core/static-provider.d.ts interface IDataCursor<T extends ArrayBufferLike = ArrayBufferLike> { readonly buffer: Uint8Array<T>; readonly view: DataView<T>; pointer: number; } //#endregion //#region core/types.d.ts declare class Byte extends Number { static readonly internalTagType: number; } declare class Short extends Number { static readonly internalTagType: number; } declare class Int extends Number { static readonly internalTagType: number; } declare class Float extends Number { static readonly internalTagType: number; } declare class Double extends Number { static readonly internalTagType: number; } declare class Long { readonly value: bigint; static readonly internalTagType: number; constructor(value: bigint); valueOf(): bigint; } interface Byte { readonly internalTagType: number; } interface Short { readonly internalTagType: number; } interface Int { readonly internalTagType: number; } interface Float { readonly internalTagType: number; } interface Double { readonly internalTagType: number; } interface Long { readonly internalTagType: number; } declare global { interface Uint8ArrayConstructor { readonly internalTagType: number; } interface Int32ArrayConstructor { readonly internalTagType: number; } interface BigInt64ArrayConstructor { readonly internalTagType: number; } interface ArrayConstructor { readonly internalTagType: number; } interface StringConstructor { readonly internalTagType: number; } interface ObjectConstructor { readonly internalTagType: number; } interface Uint8Array { readonly internalTagType: number; } interface Int32Array { readonly internalTagType: number; } interface BigInt64Array { readonly internalTagType: number; } interface Array<T> { readonly internalTagType: number; } interface String { readonly internalTagType: number; } interface Object { readonly internalTagType: number; } } //#endregion export { Byte, Double, Float, IDataCursor, Int, Long, Short, TagType };