Skip to content

@temporary-escape/mod-sdk / Database

Class: Database ​

Defined in: database/database.ts:15

The shared document-database API, implemented by TransactionalDatabase and Transaction.

AssemblyScript forbids type parameters on interface and abstract methods (the generic T on get/insert/seek/...), so this is a concrete base class whose methods throw; the two implementations override every method. Treat it as the Database interface.

Extended by ​

Constructors ​

Constructor ​

ts
new Database(): Database;

Returns ​

Database

Methods ​

get() ​

ts
get<T extends Serializable>(
   _factory: () => T, 
   _doc: string, 
   _key: number
): T | null;

Defined in: database/database.ts:22

Returns a document from the database, or null if not found.

Type Parameters ​

Type Parameter
T extends Serializable

Parameters ​

ParameterType
_factory() => T
_docstring
_keynumber

Returns ​

T | null


getByIndex() ​

ts
getByIndex<T extends Serializable>(
   _factory: () => T, 
   _doc: string, 
   _index: string, 
   _keys: number[]
): IndexResult<T> | null;

Defined in: database/database.ts:88

Looks up a single document by one of its indexes.

Type Parameters ​

Type Parameter
T extends Serializable

Parameters ​

ParameterType
_factory() => T
_docstring
_indexstring
_keysnumber[]

Returns ​

IndexResult<T> | null

The matching document and its id, or null if nothing matches


insert() ​

ts
insert<T extends Serializable>(_doc: string, _value: T): number;

Defined in: database/database.ts:31

Inserts a new document into the database, returning its new unique numeric ID

Type Parameters ​

Type Parameter
T extends Serializable

Parameters ​

ParameterType
_docstring
_valueT

Returns ​

number


remove() ​

ts
remove(_doc: string, _key: number): void;

Defined in: database/database.ts:50

Remove a document from the database

Parameters ​

ParameterType
_docstring
_keynumber

Returns ​

void


seek() ​

ts
seek<T extends Serializable>(
   _factory: () => T, 
   _doc: string, 
   _key: number
): DocumentCursor<T>;

Defined in: database/database.ts:60

Creates a document cursor for seeking through the database

Type Parameters ​

Type Parameter
T extends Serializable

Parameters ​

ParameterType
_factory() => T
_docstring
_keynumber

Returns ​

DocumentCursor<T>


seekIndex() ​

ts
seekIndex<T extends Serializable>(
   _factory: () => T, 
   _doc: string, 
   _index: string, 
   _keys: number[]
): IndexCursor<T>;

Defined in: database/database.ts:104

Creates a cursor over every document whose index key begins with keys.

Type Parameters ​

Type Parameter
T extends Serializable

Parameters ​

ParameterType
_factory() => T
_docstring
_indexstring
_keysnumber[]

Returns ​

IndexCursor<T>


seekRange() ​

ts
seekRange<T extends Serializable>(
   _factory: () => T, 
   _doc: string, 
   _keyStart: number, 
   _keyEnd: number
): DocumentCursor<T>;

Defined in: database/database.ts:71

Creates a document cursor for seeking through the database in a specific range

Type Parameters ​

Type Parameter
T extends Serializable

Parameters ​

ParameterType
_factory() => T
_docstring
_keyStartnumber
_keyEndnumber

Returns ​

DocumentCursor<T>


update() ​

ts
update<T extends Serializable>(
   _doc: string, 
   _key: number, 
   _value: T
): boolean;

Defined in: database/database.ts:41

Updates an existing document in the database, returning true if the document exists

Type Parameters ​

Type Parameter
T extends Serializable

Parameters ​

ParameterType
_docstring
_keynumber
_valueT

Returns ​

boolean