@flybondi/flynamo

An AWS DynamoDB client wrapper

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
@flybondi/flynamo
1341.5.5a year ago4 years agoMinified + gzip package size for @flybondi/flynamo in KB

Readme

@flybondi/flynamo
CircleCI js-semistandard-style code style: prettier
Let your AWSaws DynamoDBdynamodb client take off ✈️!
Read the docsflynamo-jsdoc.
  • 🔧 Simplifies creating requests and parsing responses.
  • ✨ Automatic generation of AWS.DynamoDB attribute maps.
  • 💪 Supports all of AWS.DynamoDB API.
  • ✏️ Fully typed via d.ts typingstypings.
  • Infers data types and conventional names for keys.
  • 💪 Import single composable functions for each AWS.DynamoDB operation.
  • 🙌 Plays well with functional libraries like ramdaramda or lodash/fplodashfp.

# Install AWS SDK
npm i aws-sdk

# 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 AWS = require('aws-sdk');
const flynamo = require('@flybondi/flynamo');

const { forTable } = flynamo(new AWS.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 documentationflynamo-jsdoc to learn about the available functions.
Made with 💛 by Flybondiflybondi.