dynamodb-turbine
Version:
Entity mapping and query library for DynamoDB
30 lines (29 loc) • 1.32 kB
TypeScript
import { z } from "zod";
import { EntityDefinition, Filters } from "./types/entity";
export declare const generateAttributeValues: (patch: Record<string, unknown>, prefix?: string) => {};
export declare const generateAttributeNames: (patch: Record<string, unknown>, prefix?: string) => {};
export declare const buildValue: (value: any) => any;
export declare const generateQueryExpression: <D extends EntityDefinition<z.ZodObject>>(key: Record<string, unknown>, filters?: Filters<D>) => {
KeyConditionExpression: string | undefined;
FilterExpression: string | undefined;
ExpressionAttributeNames: {
[x: string]: string;
};
ExpressionAttributeValues: {
[x: string]: unknown;
};
};
export declare const generateFilterExpression: <D extends EntityDefinition<z.ZodObject>>(filters?: Filters<D>, prefix?: string) => {
FilterExpression?: never;
ExpressionAttributeNames?: never;
ExpressionAttributeValues?: never;
} | {
FilterExpression: string;
ExpressionAttributeNames: Record<string, string>;
ExpressionAttributeValues: Record<string, unknown>;
};
export declare const generateUpdateExpression: (patch: Record<string, unknown>, doNotOverwrite?: string[]) => {
UpdateExpression: string;
ExpressionAttributeNames: {};
ExpressionAttributeValues: {};
};