@data-client/normalizr
Version:
Normalizes and denormalizes JSON according to schema for Redux and Flux applications
13 lines • 598 B
TypeScript
import type { Schema } from '../interface.js';
import type { AbstractInstanceType } from '../types.js';
export interface IndexInterface<S extends Schema = Schema, P = object> {
key(params?: P): string;
readonly schema: S;
}
export type ArrayElement<ArrayType extends unknown[] | readonly unknown[]> = ArrayType[number];
export type IndexParams<S extends Schema> = S extends ({
indexes: readonly string[];
}) ? {
[K in Extract<ArrayElement<S['indexes']>, keyof AbstractInstanceType<S>>]?: AbstractInstanceType<S>[K];
} : Readonly<object>;
//# sourceMappingURL=IndexInterface.d.ts.map