UNPKG

dynamodb-mapper

Version:

A fast, easy to use mapper to convert Amazon DynamoDB to and from Javascript Objects.

46 lines (35 loc) 1.09 kB
var _ = require('lodash'); var Converter = require('./converter'); function StringConverter() { var self = new Converter(); var base = {}; self.name = 'S'; self.dynamoDBType = 'S'; self.isValid = function isStringValid(value) { // dynamodb requires string and is NOT empty return _.isString(value) && value.length > 0; }; // remember the base implementation base.toAttributeValue = self.toAttributeValue.bind(self); self.toAttributeValue = function convertObjectToAttributeValue(value) { if (value === undefined) { return undefined; } if (value === null || value.length === 0) { return { NULL: true }; } return base.toAttributeValue(value); }; // remember the base implementation base.toAttributeUpdate = self.toAttributeUpdate.bind(self); self.toAttributeUpdate = function convertObjectToAttributeValue(value) { if (value === undefined) { return undefined; } else if (value === null || value.length === 0) { return { Action: 'DELETE' }; } return base.toAttributeUpdate(value); }; return self; } module.exports = StringConverter;