@serverless-seoul/dynamorm

AWS DynamoDB ORM for Typescript

Usage no npm install needed!

<script type="module">
  import serverlessSeoulDynamorm from 'https://cdn.skypack.dev/@serverless-seoul/dynamorm';
</script>

README

GitHub version npm version Semantic Release enabled

What Is Dynamorm?

Dynamorm is a native Typescript ORM for AWS DynamoDB
Written in Typescript from scratch, Fully support typing through template / decorator syntax
This is hard fork of dynamo-types, for active maintenance reason

Install

  npm install @serverless-seoul/dynamorm

How does it looks like?

import {
  Config,
  Decorator,
  Query,
  Table,
} from "@serverless-seoul/dynamorm";

@Decorator.Table({ name: `your_table_name_on_aws_dynamodb` })
export class BlogPost extends Table {
  @Decorator.HashPrimaryKey("id")
  public static readonly primaryKey: Query.HashPrimaryKey<BlogPost, number>; 

  @Decorator.Attribute({ name: "id" })
  public id: string!;

  @Decorator.Attribute({ name: "title" })
  public title: string!;

  @Decorator.Attribute({ name: "body" })
  public body: Array<
    | { type: "text", text: string }
    | { type: "image", url: string, width: number, height: number }
  > = [];

  @Decorator.Attribute()
  public viewCount: number = 0;

  @Decorator.Attribute()
  public author: {
    name: string;
    profileImageURL: string;
  }
}

Checkout Full Documents!

and figure out all the features!