dynatron
Version:
The most advanced ORM for AWS DynamoDB
62 lines (61 loc) • 2.87 kB
TypeScript
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;
};
}