dynamodb-toolbox
Version:
Lightweight and type-safe query builder for DynamoDB and TypeScript.
11 lines (10 loc) • 1.37 kB
TypeScript
import type { AnyOfSchema, AnySchema, ItemSchema, ListSchema, MapSchema, PrimitiveSchema, RecordSchema, Schema, SetSchema } from '../../../../schema/index.js';
import type { FormattedAnyOfJSONSchema } from './anyOf.js';
import type { FormattedItemJSONSchema } from './item.js';
import type { FormattedListJSONSchema } from './list.js';
import type { FormattedMapJSONSchema } from './map.js';
import type { FormattedPrimitiveJSONSchema } from './primitive.js';
import type { FormattedRecordJSONSchema } from './record.js';
import type { FormattedSetJSONSchema } from './set.js';
export type FormattedValueJSONSchema<SCHEMA extends Schema> = Schema extends SCHEMA ? Record<string, unknown> : (SCHEMA extends AnySchema ? {} : never) | (SCHEMA extends PrimitiveSchema ? FormattedPrimitiveJSONSchema<SCHEMA> : never) | (SCHEMA extends SetSchema ? FormattedSetJSONSchema<SCHEMA> : never) | (SCHEMA extends ListSchema ? FormattedListJSONSchema<SCHEMA> : never) | (SCHEMA extends MapSchema ? FormattedMapJSONSchema<SCHEMA> : never) | (SCHEMA extends RecordSchema ? FormattedRecordJSONSchema<SCHEMA> : never) | (SCHEMA extends AnyOfSchema ? FormattedAnyOfJSONSchema<SCHEMA> : never) | (SCHEMA extends ItemSchema ? FormattedItemJSONSchema<SCHEMA> : never);
export declare const getFormattedValueJSONSchema: <SCHEMA extends Schema>(schema: SCHEMA) => FormattedValueJSONSchema<SCHEMA>;