All files / react-classic/src/storage types.ts

0% Statements 0/0
0% Branches 0/0
0% Functions 0/0
0% Lines 0/0

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25                                                 
import type { FilterFn, ReactiveTable, Rec, Row, RowListState, RowState } from '@anchorlib/storage/db';
import type { ConstantRef, ConstantState } from '../index.js';
 
export type TableRef<T extends Rec, R extends Row<T> = Row<T>> = {
  get(id: string): ConstantState<RowState<R>>;
  add(payload: T): RowState<R>;
  remove(id: string): RowState<R>;
  list(
    filter?: IDBKeyRange | FilterFn<T>,
    limit?: number,
    direction?: IDBCursorDirection
  ): ConstantState<RowListState<R>>;
  listByIndex(
    name: keyof R,
    filter?: IDBKeyRange | FilterFn<T>,
    limit?: number,
    direction?: IDBCursorDirection
  ): ConstantState<RowListState<R>>;
  seed(seeds: T[]): TableRef<T, R>;
  table(): ReactiveTable<T, R>;
};
 
export type InferRef<T> = T extends TableRef<Rec, infer R> ? ConstantRef<R> : never;
export type InferListRef<T> = T extends TableRef<Rec, infer R> ? ConstantRef<R[]> : never;