Skip to content

flybondi/flynamo

Repository files navigation

@flybondi/flynamo

CircleCI js-semistandard-style code style: prettier

Let your AWS DynamoDB client take off ✈️!

Read the docs.

  • 🔧 Simplifies creating requests and parsing responses.
  • ✨ Automatic generation of AWS.DynamoDB attribute maps.
  • 💪 Supports all of AWS.DynamoDB API.
  • ✏️ Fully typed via d.ts typings.
  • Infers data types and conventional names for keys.
  • 💪 Import single composable functions for each AWS.DynamoDB operation.
  • 🙌 Plays well with functional libraries like ramda or lodash/fp.
# Install the DynamoDb client from AWS SDK
npm i @aws-sdk/client-dynamodb

# Install Flynamo
npm i @flybondi/flynamo

Basic usage

Wrap an instance of an AWS.DynamoDB client with flynamo and you're good to go. The result will be an object exposing all of Flynamo's own API.

const { DynamoDB } = require('@aws-sdk/client-dynamodb');
const flynamo = require('@flybondi/flynamo');

const { forTable } = flynamo(new DynamoDB());
const { insert, update, remove } = forTable('SomeTable');

(async function () {
  // Insert a document into `SomeTable`
  await insert({ id: 42, name: 'Bob' });

  // Update its contents
  await update(42, { name: 'Alice' });

  // ...and delete it
  await remove(42);
})();

API

Dig into the documentation to learn about the available functions.


Made with 💛 by Flybondi.