UNPKG

dynalite

Version:

An implementation of Amazon's DynamoDB built on LevelDB

52 lines (47 loc) 1.27 kB
var validations = require('./index') exports.types = { ReturnConsumedCapacity: { type: 'String', enum: [ 'INDEXES', 'TOTAL', 'NONE' ], }, AttributesToGet: { type: 'List', lengthGreaterThanOrEqual: 1, lengthLessThanOrEqual: 255, children: 'String', }, TableName: { type: 'String', notNull: true, regex: '[a-zA-Z0-9_.-]+', lengthGreaterThanOrEqual: 3, lengthLessThanOrEqual: 255, }, Key: { type: 'Map<AttributeValue>', notNull: true, children: 'AttrStruct<ValueStruct>', }, ConsistentRead: 'Boolean', ProjectionExpression: { type: 'String', }, ExpressionAttributeNames: { type: 'Map<java.lang.String>', children: 'String', }, } exports.custom = function (data) { var msg = validations.validateExpressionParams(data, [ 'ProjectionExpression' ], [ 'AttributesToGet' ]) if (msg) return msg for (var key in data.Key) { msg = validations.validateAttributeValue(data.Key[key]) if (msg) return msg } if (data.AttributesToGet) { msg = validations.findDuplicate(data.AttributesToGet) if (msg) return 'One or more parameter values were invalid: Duplicate value in attribute name: ' + msg } msg = validations.validateExpressions(data) if (msg) return msg }