dynamodb-turbine
Version:
Entity mapping and query library for DynamoDB
11 lines (10 loc) • 1.48 kB
TypeScript
import { z } from "zod";
import { Entity, EntityDefinition, IndexName, Instance, KeyConditionPrimitiveValue, PagedResult, QueryKey } from "./types/entity";
import { KeyDefinitionPrimitive } from "./types/key";
export declare const parsePagedResult: <D extends EntityDefinition<z.ZodObject>>(definition: D, entity: Entity<D>, items: unknown[] | undefined | null, lastEvaluatedKey: Record<string, any> | undefined, next?: () => Promise<PagedResult<D>>) => Promise<PagedResult<D>>;
export declare const resolveKeyValues: (key: Record<string, any>) => Record<string, KeyConditionPrimitiveValue>;
export declare const resolveIndex: <D extends EntityDefinition<z.ZodObject>>(definition: D, key: QueryKey<D>) => [IndexName, any];
export declare const expandPayload: <S extends z.ZodObject, D extends EntityDefinition<S>>(definition: D, data: Partial<z.infer<D["schema"]>> & Omit<z.infer<D["schema"]>, keyof D["keys"]>) => Promise<Partial<z.infer<D["schema"]>>>;
export declare const expandPartialPayload: <S extends z.ZodObject>(definition: EntityDefinition<S>, data: Partial<z.infer<S>>) => Promise<Partial<Record<string, KeyDefinitionPrimitive>>>;
export declare const parseKeys: <S extends z.ZodObject>(definition: EntityDefinition<S>, data: Record<string, unknown>) => Partial<Record<string, KeyDefinitionPrimitive>>;
export declare const parseInstance: <D extends EntityDefinition<z.ZodObject>>(definition: D, entity: Entity<D>, input: unknown) => Promise<Instance<Entity<D>>>;