UNPKG

@furystack/repository

Version:

Repository implementation for FuryStack

24 lines 1.17 kB
import type { WithOptionalId } from '@furystack/core'; import type { Injector } from '@furystack/inject'; import type { DataSet } from './data-set.js'; import type { DataSetToken } from './define-data-set.js'; /** * Resolves the {@link DataSet} for `token` on `injector`. The preferred * write gateway for application code — `furystack/no-direct-store-token` * forbids resolving the underlying `StoreToken` directly. For server-side * or background work, wrap `injector` with `useSystemIdentityContext` from * `@furystack/core` to obtain an elevated identity before calling this. * * @example * ```ts * await usingAsync( * useSystemIdentityContext({ injector, username: 'background-job' }), * async (systemInjector) => { * const dataSet = getDataSetFor(systemInjector, UserDataSet) * await dataSet.add(systemInjector, { username: 'alice', roles: [] }) * }, * ) * ``` */ export declare const getDataSetFor: <T, TPrimaryKey extends keyof T, TWritableData = WithOptionalId<T, TPrimaryKey>>(injector: Injector, token: DataSetToken<T, TPrimaryKey, TWritableData>) => DataSet<T, TPrimaryKey, TWritableData>; //# sourceMappingURL=helpers.d.ts.map