shiftcode / dynamo-easy

DynamoDB client for NodeJS and browser with a fluent api to build requests. We take care of the type mapping between JS and DynamoDB, customizable trough typescript decorators.
https://shiftcode.github.io/dynamo-easy/
MIT License
204 stars 27 forks source link
aws dynamo dynamodb dynamodb-client expression-builder expressions fluent-api objectmapper odm orm serverless typescript typescript-decorators

Dynamo-Easy

Travis semantic-release [latest-release]() Coverage Status styled with prettier All Contributors

A DynamoDB client which provides an easy to use fluent api to execute requests. It supports TypeScript decorators to define the necessary metadata for your models. You don't need to care about the mapping of JavaScript types to their DynamoDB types any more. We've got you covered.

Built with :heart: by shiftcode.

Show me some code

import { Model, PartitionKey, DynamoStore } from '@shiftcoders/dynamo-easy'

@Model()
export class Person {
  @PartitionKey()
  id: string
  name: string
  yearOfBirth: number
}

const personStore = new DynamoStore(Person)

personStore
  .scan()
  .whereAttribute('yearOfBirth').equals(1958)
  .exec()
  .then(res => console.log('ALL items with yearOfBirth == 1958', res))

Resources

Credits

Contributors

Made with :heart: by @michaelwittwer and all these wonderful contributors (emoji key):

Michael Wittwer
Michael Wittwer

๐Ÿค” ๐Ÿ’ป โš ๏ธ ๐Ÿ“–
Simon Mumenthaler
Simon Mumenthaler

๐Ÿค” ๐Ÿ’ป โš ๏ธ ๐Ÿ“–
Michael Lieberherr
Michael Lieberherr

๐Ÿ’ป ๐Ÿ“– โš ๏ธ

This project follows the all-contributors specification. Contributions of any kind welcome!