duenamodb
v1.4.0
Published
Simple DynamoDB client written in TypeScript.
Downloads
34
Maintainers
Readme
dÜnamodb 📀
Simple DynamoDB client written in TypeScript.
Setup 🛠
Install the package
pnpm install duenamodb
npm install duenamodb
If not running in AWS Lambda configure the Client using the static accessor on the DDBClient class.
DDBClient.params = {
region: 'localhost',
endpoint: `http://localhost:8000`,
};
Also you might need to provide mock AWS credentials inside the environment variables.
API 📄
The API of dÜnamodb is straight forward. There is a create Function for every DynamoDB action.
Create the Functions 🏗
To interact with your DynamoDB use the create-functions from the dÜnamodb lib
Put item:
const putItem = createPutItem<Attributes>(tableName);
Get item:
const getItem = createGetItem<Attributes, string>(tableName, partitionKeyName);
Update item:
const updateItem = createUpdateItem<Attributes>(tableName);
Scan items:
const scanItems = createScanItems<Attributes>(tableName);
Query items:
const queryItems = createQueryItems<Attributes, number>(tableName, {
name,
partitionKeyName,
});
Delete item:
const deleteItem = createDeleteItem<Attributes, string>(
tablename,
partitionKeyName
);
Utilites
There is also a utility function that creates the scan, put, update, get and delete function.
const { getItem, scanItems, updateItem } = createTableFunctions<
Attributes,
string
>(tablename, partitionKeyName);
Use the Functions 👷♀️
Use the functions to read and write data from the DB
Put item:
await saveItem({ id: "1", name: "foo", ... });
Get item:
const getResult = await getItem('1');
Update item:
const updateResult = await updateItem(
{ ...item, name: 'bar' },
{ updateKeys: ['name'] }
);
Scan items:
const scanResult = await scanItems();
Query items:
const queryResult = await queryItems('foo');
Delete item:
const success = await deleteItem('1');