Skip to content

@temporary-escape/mod-sdk / IndexKey

Class: IndexKey ​

Defined in: database/index-key.ts:49

Builders for the individual components of a document index key.

The database reduces every indexed field to a u64 before it becomes part of the key (the engine's DocumentIndexAdapter):

  • unsigned integers and bool hash to bswap64(value) (big endian);
  • signed integers hash to bswap64(sign_extend(value));
  • strings hash to FNV-1a 64 over their UTF-8 bytes;
  • byte arrays (Uint8Array) hash to FNV-1a 64 over their raw bytes;
  • an absent optional hashes to 0.

The builder you pick must match the schema's field type: picking a different one produces a different key than the database wrote and silently misses.

Constructors ​

Constructor ​

ts
new IndexKey(): IndexKey;

Returns ​

IndexKey

Methods ​

bool() ​

ts
static bool(value: bool): number;

Defined in: database/index-key.ts:91

A boolean index field.

Parameters ​

ParameterType
valuebool

Returns ​

number


bytes() ​

ts
static bytes(value: Uint8Array): number;

Defined in: database/index-key.ts:101

A byte-array (Uint8Array) index field (FNV-1a 64 of its raw bytes).

Parameters ​

ParameterType
valueUint8Array

Returns ​

number


i16() ​

ts
static i16(value: number): number;

Defined in: database/index-key.ts:76

A signed 16-bit index field.

Parameters ​

ParameterType
valuenumber

Returns ​

number


i32() ​

ts
static i32(value: number): number;

Defined in: database/index-key.ts:81

A signed 32-bit index field.

Parameters ​

ParameterType
valuenumber

Returns ​

number


i64() ​

ts
static i64(value: number): number;

Defined in: database/index-key.ts:86

A signed 64-bit index field.

Parameters ​

ParameterType
valuenumber

Returns ​

number


i8() ​

ts
static i8(value: number): number;

Defined in: database/index-key.ts:71

A signed 8-bit index field.

Parameters ​

ParameterType
valuenumber

Returns ​

number


none() ​

ts
static none(): number;

Defined in: database/index-key.ts:106

An absent optional index field.

Returns ​

number


str() ​

ts
static str(value: string): number;

Defined in: database/index-key.ts:96

A string index field (FNV-1a 64 of its UTF-8 bytes).

Parameters ​

ParameterType
valuestring

Returns ​

number


u16() ​

ts
static u16(value: number): number;

Defined in: database/index-key.ts:56

An unsigned 16-bit index field.

Parameters ​

ParameterType
valuenumber

Returns ​

number


u32() ​

ts
static u32(value: number): number;

Defined in: database/index-key.ts:61

An unsigned 32-bit index field.

Parameters ​

ParameterType
valuenumber

Returns ​

number


u64() ​

ts
static u64(value: number): number;

Defined in: database/index-key.ts:66

An unsigned 64-bit index field.

Parameters ​

ParameterType
valuenumber

Returns ​

number


u8() ​

ts
static u8(value: number): number;

Defined in: database/index-key.ts:51

An unsigned 8-bit index field.

Parameters ​

ParameterType
valuenumber

Returns ​

number