Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luismeyer/duenamodb
Simple DynamoDB client
https://github.com/luismeyer/duenamodb
Last synced: 22 days ago
JSON representation
Simple DynamoDB client
- Host: GitHub
- URL: https://github.com/luismeyer/duenamodb
- Owner: luismeyer
- Created: 2022-02-19T12:00:30.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-02-02T12:08:38.000Z (10 months ago)
- Last Synced: 2024-10-04T18:41:35.854Z (about 1 month ago)
- Language: TypeScript
- Size: 177 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# dÜnamodb 📀
Simple DynamoDB client written in TypeScript.
## Setup 🛠
Install the package
```bash
pnpm install duenamodb
``````bash
npm install duenamodb
```If not running in AWS Lambda configure the Client using the static accessor on the DDBClient class.
```ts
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:
```ts
const putItem = createPutItem(tableName);
```Get item:
```ts
const getItem = createGetItem(tableName, partitionKeyName);
```Update item:
```ts
const updateItem = createUpdateItem(tableName);
```Scan items:
```ts
const scanItems = createScanItems(tableName);
```Query items:
```ts
const queryItems = createQueryItems(tableName, {
name,
partitionKeyName,
});
```Delete item:
```ts
const deleteItem = createDeleteItem(
tablename,
partitionKeyName
);
```### Utilites
There is also a utility function that creates the scan, put, update, get and delete function.
```ts
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:
```ts
await saveItem({ id: "1", name: "foo", ... });
```Get item:
```ts
const getResult = await getItem('1');
```Update item:
```ts
const updateResult = await updateItem(
{ ...item, name: 'bar' },
{ updateKeys: ['name'] }
);
```Scan items:
```ts
const scanResult = await scanItems();
```Query items:
```ts
const queryResult = await queryItems('foo');
```Delete item:
```ts
const success = await deleteItem('1');
```