tunisia
Super simple, model-less DynamoDB wrapper
Install
npm i @dotvirus/tunisia aws-sdk@2
yarn add @dotvirus/tunisia aws-sdk@2
import Tunisia from "@dotvirus/tunisia";
const tunisia = new Tunisia({
region: "us-east-1",
credentials: {
accessKeyId: "fakeId",
secretAccessKey: "fakeSecret",
},
});
Examples
Insert item
const item = {
id: "abc",
name: "Tunisia",
};
await tunisia.insert(tableName).one(item);
Get by ID
const item = tunisia
.get(tableName)
.one("id", "abc");
Update property
await tunisia
.update(tableName)
.key("id", "abc")
.set("name", "Updated")
.run();
Delete item
await tunisia.delete(tableName).one("id", "abc");
Transaction write
await tunisia.transactWrite().run([
tunisia.insert(tableName).transaction({
id: "abc",
name: "Transaction write test",
}),
tunisia.delete(tableName).transaction("id", "another_id"),
]);
Iterate through index
const iterator = tunisia
.query(tableName)
.eq("userId", "abc")
.iterate()
for await (const { items } of iterator) {
console.log(items)
}