UNPKG

dynatron

Version:

The most advanced ORM for AWS DynamoDB

62 lines (61 loc) 2.87 kB
import { CreateTableInput, DynamoDBClient, DynamoDBClientConfig, UpdateTableInput, UpdateTimeToLiveInput } from "@aws-sdk/client-dynamodb"; import { NativeAttributeValue } from "@aws-sdk/util-dynamodb"; import { Check } from "./requesters/_core/items-check"; import { BatchGet } from "./requesters/batch/batch-get"; import { BatchWrite } from "./requesters/batch/batch-write"; import { Delete } from "./requesters/items/items-delete"; import { Get } from "./requesters/items/items-get"; import { Put } from "./requesters/items/items-put"; import { Query } from "./requesters/items/items-query"; import { Scan } from "./requesters/items/items-scan"; import { Update } from "./requesters/items/items-update"; import { TableCreate } from "./requesters/tables/tables-create"; import { TableDelete } from "./requesters/tables/tables-delete"; import { TableDescribe } from "./requesters/tables/tables-describe"; import { TableList } from "./requesters/tables/tables-list"; import { TableTTLDescribe } from "./requesters/tables/tables-ttl-describe"; import { TableTTLUpdate } from "./requesters/tables/tables-ttl-update"; import { TableUpdate } from "./requesters/tables/tables-update"; import { TransactGet } from "./requesters/transact/transact-get"; import { TransactWrite } from "./requesters/transact/transact-write"; export type NativeValue = Record<string, NativeAttributeValue>; export type DynatronClientConfig = DynamoDBClientConfig & { timeout?: number; maxSockets?: number; returnMetrics?: boolean; }; export declare class DynatronClient extends DynamoDBClient { readonly configuration: DynatronClientConfig; readonly returnMetrics: boolean; constructor(configuration: DynatronClientConfig); } export declare class Dynatron { private readonly client; constructor(client: DynatronClient); Items(tableName: string): { check: (key: NativeValue) => Check; delete: (key: NativeValue) => Delete; get: (key: NativeValue) => Get; put: (item: NativeValue) => Put; query: (attributePath: string, value: NativeAttributeValue) => Query; scan: () => Scan; update: (key: NativeValue) => Update; }; get Batch(): { get: (items: Get[]) => BatchGet; write: (items: (Put | Delete)[]) => BatchWrite; }; get Transact(): { get: (items: Get[]) => TransactGet; write: (items: (Check | Put | Delete | Update)[]) => TransactWrite; }; get Tables(): { create: (input: CreateTableInput) => TableCreate; delete: (tableName: string) => TableDelete; describe: (tableName: string) => TableDescribe; describeTTL: (tableName: string) => TableTTLDescribe; list: () => TableList; update: (input: UpdateTableInput) => TableUpdate; updateTTL: (input: UpdateTimeToLiveInput) => TableTTLUpdate; }; }