/** * @typedef {import('../../src/types.js').StorePutError} StorePutError * @typedef {import('../../src/types.js').StoreGetError} StoreGetError * @typedef {import('../../src/types.js').Pageable} Pageable */ /** * @template T * @typedef {import('../../src/types.js').ListSuccess} ListSuccess */ /** * @template K * @template V * @template Q * @implements {API.Store} * @implements {API.UpdatableStore} * @implements {API.QueryableStore} */ export class Store implements API.Store, API.UpdatableStore, API.QueryableStore { /** * @param {import('./types.js').StoreOptions & import('./types.js').UpdatableStoreOptions & import('./types.js').QueryableStoreOptions & import('./types.js').ReadableStreamStoreOptions} options */ constructor(options: import('./types.js').StoreOptions & import('./types.js').UpdatableStoreOptions & import('./types.js').QueryableStoreOptions & import('./types.js').ReadableStreamStoreOptions); /** @type {Set} */ items: Set; getFn: ((items: Set, item: K) => V | undefined) | undefined; updateFn: ((items: Set, key: K, item: Partial) => V) | undefined; queryFn: ((items: Set, query: Q, options?: API.Pageable | undefined) => API.ListSuccess) | undefined; streamFn: ((items: Set, item: K) => ReadableStream | undefined) | undefined; /** * @param {V} record * @returns {Promise>} */ put(record: V): Promise>; /** * * @param {K} item * @returns {Promise>} */ get(item: K): Promise>; /** * @param {K} item * @returns {Promise>} */ has(item: K): Promise>; /** * @param {Q} search * @param {Pageable} [options] * @returns {Promise, StoreGetError>>} */ query(search: Q, options?: API.Pageable | undefined): Promise, StoreGetError>>; /** * @param {K} key * @param {Partial} item * @returns {Promise>} */ update(key: K, item: Partial): Promise>; /** * @param {K} item * @returns {Promise, StoreGetError>>} */ stream(item: K): Promise, StoreGetError>>; } /** * @template K * @template V * @template Q * @implements {API.Store} * @implements {API.UpdatableStore} * @implements {API.QueryableStore} */ export class FailingStore implements API.Store, API.UpdatableStore, API.QueryableStore { /** * @param {V} record */ put(record: V): Promise<{ error: StoreOperationFailed; }>; /** * @param {K} item * @returns {Promise>} */ get(item: K): Promise>; /** * @param {K} item * @returns {Promise>} */ has(item: K): Promise>; /** * @param {Q} search * @returns {Promise, StoreGetError>>} */ query(search: Q): Promise, StoreGetError>>; /** * @param {K} key * @param {Partial} item * @returns {Promise>} */ update(key: K, item: Partial): Promise>; } export type StorePutError = import('../../src/types.js').StorePutError; export type StoreGetError = import('../../src/types.js').StoreGetError; export type Pageable = import('../../src/types.js').Pageable; export type ListSuccess = import('../../src/types.js').ListSuccess; import * as API from '../../src/types.js'; //# sourceMappingURL=store.d.ts.map