UNPKG

@data-client/endpoint

Version:

Declarative Network Interface Definitions

31 lines (30 loc) 1.4 kB
import type { GetIndex, GetEntity, Queryable, SchemaSimple } from '../interface.js'; import type { Denormalize, NormalizeNullable, SchemaArgs } from '../normal.js'; /** * Programmatic cache reading * * @see https://dataclient.io/rest/api/Query */ export default class Query<S extends Queryable | { [k: string]: Queryable; }, P extends (entries: Denormalize<S>, ...args: any) => any> implements SchemaSimple<ReturnType<P> | undefined, ProcessParameters<P, S>> { schema: S; process: P; /** * Programmatic cache reading * * @see https://dataclient.io/rest/api/Query */ constructor(schema: S, process: P); normalize(...args: any): any; denormalize(input: {}, args: any, unvisit: any): ReturnType<P>; queryKey(args: ProcessParameters<P, S>, queryKey: (schema: any, args: any, getEntity: GetEntity, getIndex: GetIndex) => any, getEntity: GetEntity, getIndex: GetIndex): any; _denormalizeNullable: (input: {}, args: readonly any[], unvisit: (schema: any, input: any) => any) => ReturnType<P> | undefined; _normalizeNullable: () => NormalizeNullable<S>; } type ProcessParameters<P, S extends Queryable | { [k: string]: Queryable; }> = P extends (entries: any, ...args: infer Par) => any ? Par extends [ ] ? SchemaArgs<S> : Par & SchemaArgs<S> : SchemaArgs<S>; export {}; //# sourceMappingURL=Query.d.ts.map