Package Exports
- dynamode
- dynamode/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (dynamode) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Dynamode is a modeling tool for Amazon's DynamoDB. Its goal is to ease the use of DynamoDB without its quirks and emphasize DynamoDB advantages over other databases. Dynamode provides a straightforward, object-oriented class-based solution to model your data. It includes strongly typed classes and methods, query and scan builders, and much more.
Dynamode is highly influenced by other ORMs/ODMs, such as TypeORM, Dynamoose and Mongoose.
Documentation
Check out our dedicated documentation page for info about the library, guide and more: https://blazejkustra.github.io/dynamode/docs/getting_started/introduction
Installation
Check out the installation section of our docs for the detailed installation instructions.
Examples
Find examples under the examples/ directory.
License
Dynamode is licensed under The MIT License.
Road map
Must have & priority
- Add documentation
- Capture dynamoDB errors and make it easier to work with
- Add tests (XD) good luck with that
- Add logging possibility
- Support binary types https://github.com/aws/aws-sdk-js-v3/blob/06417909a3/packages/util-dynamodb/src/convertToAttr.ts#L166 and https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/modules/_aws_sdk_util_dynamodb.html
Additional validation
- Fix issue with empty set when using Entity.update (add additional validation) - empty set and string are not allowed https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html
- Add validation to query/scan classes
Consider
- Change AttributeType to String, Number, null etc
- Allow passing empty objects to Entity.update
- Fix that you can't pass options object without { return: 'default' }
- Make possible to query different types of entities
- Add dependsOn to global settings to throw/warn when updating
- Add dynamoDB streams support
- Add PartiQL support
- CLI tool to create/update table/index
- Type entity return type better https://github.com/Polymer/polymer-decorators/issues/80
Other
- Add register(ddb) decorator
- Fix EntityMetadata type
- Fix Condition, Query and Scan methods to work only on specific properties (between, contains etc shouldn't work for array as an example)
- Check why Condition attribute.* functions can take undefined as value
- Check attribute.* functions and their inputs
- Make sure that Condition documentation is up to date
- Make sure that entities work without sortKey
- Add validation to make sure that entities are registered have partitionKey and other stuff
- prefix() decorator can't decor optional properties
- Set type can work only with numbers and strings (make sure how map works for dynamoDB)
- limit the fields that can be decorated with column() and other decorators
- Add other example entities and make sure they work as expected