node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

dyna-type

dyna-type

Encodes and decodes the special format that DynamoDB uses to represent values.

Installation

npm install --save dyna-type

Usage

var dynaType = require('dyna-type');
 
db.putItem({
  TableName: 'user',
  Item: dynaType.encodeObject({
    name: 'Linus',
    born: 1992
  });
}, cb);
 
db.getItem({
  TableName: 'user',
  Key: dynaType.encodeObject({
    born: 1992
  })
}, function (err, res) {
  if (err) { return cb(err); }
 
  cb(null, dynaType.decodeObject(res.Item));
});
 
db.query({
  TableName: 'user',
  KeyConditions: {
    name: {
      ComparisonOperator: 'EQ',
      AttributeValueList: [dynaType.encode('Linus')]
    }
  }
}, function (err, res) {
  if (err) { return cb(err); }
 
  cb(null, dynaType.decodeObjects(res.Items));
});

API

decode(val)

Decodes a value from DynamoDB type to Javascript type.

decodeObject(obj)

Takes an object where all properties are in DynamoDB type and returns a new object where all properties are Javascript type.

decodeObjects(arr)

Takes an array with objects to decode. Returns a new array with all objects decoded with decodeObject(obj).

encode(val)

Encodes a value from Javascript type to DynamoDB type.

encodeObject(obj)

Takes an object where all properties are in Javascript type and returns a new object where all properties are DynamoDB type.

encodeObjects(arr)

Takes an array with objects to encode. Returns a new array with all objects encoded with encodeObject(obj).

License

MIT