Skip to main content

Class: SchemaStore<Entries>

Type Parameters

Type ParameterDefault type
Entries extends objectobject

Constructors

new SchemaStore()

new SchemaStore<Entries>(defaultMaximumArrayLength: number): SchemaStore<Entries>

Creates a new schema store

Parameters

ParameterTypeDefault valueDescription
defaultMaximumArrayLengthnumber100The default maximum array length for schemas

Returns

SchemaStore<Entries>

Defined in

schema/SchemaStore.ts:18

Properties

#schemas

private readonly #schemas: Map<number, Schema<number, object>>

Defined in

schema/SchemaStore.ts:11


defaultMaximumArrayLength

defaultMaximumArrayLength: number

The default maximum array length for schemas

Defined in

schema/SchemaStore.ts:9

Methods

[iterator]()

[iterator](): IterableIterator<{ [K in string | number | symbol]: readonly [K & number, Entries[K]] }[keyof Entries]>

Iterates over the stores's schema entries.

Returns

IterableIterator<{ [K in string | number | symbol]: readonly [K & number, Entries[K]] }[keyof Entries]>

An iterator for the stores's schema entries

Defined in

schema/SchemaStore.ts:140


add()

add<Id, SchemaType>(schema: Schema<Id, SchemaType>): Merge<Entries, Id, Schema<Id, SchemaType>>

Adds a schema to the store

Type Parameters

Type Parameter
Id extends number
SchemaType extends object

Parameters

ParameterTypeDescription
schemaSchema<Id, SchemaType>The schema to add to the store

Returns

Merge<Entries, Id, Schema<Id, SchemaType>>

The modified store

Remarks

An error will be thrown if a schema with the same id already exists in the store.

Defined in

schema/SchemaStore.ts:32


deserialize()

deserialize(buffer: string | UnalignedUint16Array): DeserializationResult<Entries>

Deserializes a buffer

Parameters

ParameterTypeDescription
bufferstring | UnalignedUint16ArrayThe buffer to deserialize

Returns

DeserializationResult<Entries>

The resolved value, including the id of the schema used for deserialization

Defined in

schema/SchemaStore.ts:77


entries()

entries(): IterableIterator<{ [K in string | number | symbol]: readonly [K & number, Entries[K]] }[keyof Entries]>

Iterates over the stores's schema entries.

Returns

IterableIterator<{ [K in string | number | symbol]: readonly [K & number, Entries[K]] }[keyof Entries]>

An iterator for the stores's schema entries

Defined in

schema/SchemaStore.ts:131


get()

get<Id>(id: Id): Entries[Id]

Gets a schema from the store

Type Parameters

Type Parameter
Id extends number

Parameters

ParameterTypeDescription
idIdThe id of the schema to get

Returns

Entries[Id]

The schema with the given id

Remarks

An error will be thrown if a schema with the given id does not exist in the store.

Defined in

schema/SchemaStore.ts:51


getIdentifier()

getIdentifier(buffer: string | UnalignedUint16Array): keyof Entries & number

Gets the serialized ID from a buffer

Parameters

ParameterTypeDescription
bufferstring | UnalignedUint16ArrayThe buffer to read the ID from

Returns

keyof Entries & number

The deserialized ID

Remarks

If an empty value is passed, a RangeError will be thrown.

Defined in

schema/SchemaStore.ts:95


keys()

keys(): IterableIterator<keyof Entries & number>

Iterates over the stores's schema identifiers.

Returns

IterableIterator<keyof Entries & number>

An iterator for the stores's schema identifiers

Defined in

schema/SchemaStore.ts:113


serialize()

serialize<Id>(id: Id, value: SerializeValue<Entries[Id] & object>): UnalignedUint16Array

Serializes a value using the schema with the given id

Type Parameters

Type Parameter
Id extends number

Parameters

ParameterTypeDescription
idIdThe id of the schema to use for serialization
valueSerializeValue<Entries[Id] & object>The value to serialize

Returns

UnalignedUint16Array

The serialized buffer

Defined in

schema/SchemaStore.ts:64


values()

values(): IterableIterator<Entries[keyof Entries & number]>

Iterates over the stores's schemas.

Returns

IterableIterator<Entries[keyof Entries & number]>

An iterator for the stores's schemas

Defined in

schema/SchemaStore.ts:122