UNPKG

ddb-table

Version:

Strongly typed library for querying and modeling DynamoDB documents.

44 lines (43 loc) 5.32 kB
"use strict"; exports.__esModule = true; exports.default = void 0; var _expressions = require("../expressions"); class Query { constructor(request, params) { this.input = void 0; this.request = void 0; this.names = void 0; this.input = params; this.request = request; } handleInputUpdated() { this.names = new _expressions.ExpressionAttributeNames(this.input.ExpressionAttributeNames); } syncInput() { this.input.ExpressionAttributeNames = this.names.serialize(); } calcCapacity(mode) { this.input.ReturnConsumedCapacity = mode; return this; } extend(input) { this.syncInput(); Object.assign(this.input, input); this.handleInputUpdated(); return this; } serialize() { this.syncInput(); for (const key in this.input) { if (this.input[key] === undefined) { delete this.input[key]; } } return this.input; } exec(options) { return this.request(Object.assign(this.serialize(), options)); } } exports.default = Query; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXhwcmVzc2lvbnMiLCJyZXF1aXJlIiwiUXVlcnkiLCJjb25zdHJ1Y3RvciIsInJlcXVlc3QiLCJwYXJhbXMiLCJpbnB1dCIsIm5hbWVzIiwiaGFuZGxlSW5wdXRVcGRhdGVkIiwiRXhwcmVzc2lvbkF0dHJpYnV0ZU5hbWVzIiwic3luY0lucHV0Iiwic2VyaWFsaXplIiwiY2FsY0NhcGFjaXR5IiwibW9kZSIsIlJldHVybkNvbnN1bWVkQ2FwYWNpdHkiLCJleHRlbmQiLCJPYmplY3QiLCJhc3NpZ24iLCJrZXkiLCJ1bmRlZmluZWQiLCJleGVjIiwib3B0aW9ucyIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3F1ZXJpZXMvUXVlcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGVsZXRlQ29tbWFuZElucHV0LFxuICBHZXRDb21tYW5kSW5wdXQsXG4gIEl0ZW0sXG4gIFB1dENvbW1hbmRJbnB1dCxcbiAgUXVlcnlDb21tYW5kSW5wdXQsXG4gIFNjYW5Db21tYW5kSW5wdXQsXG4gIFVwZGF0ZUNvbW1hbmRJbnB1dCxcbn0gZnJvbSAnLi4vRG9jdW1lbnRDbGllbnQnO1xuaW1wb3J0IHsgRXhwcmVzc2lvbkF0dHJpYnV0ZU5hbWVzIH0gZnJvbSAnLi4vZXhwcmVzc2lvbnMnO1xuXG5leHBvcnQgdHlwZSBRdWVyeVJlcXVlc3Q8SSwgTz4gPSAocGFyYW1zOiBJKSA9PiBQcm9taXNlPE8+O1xuXG50eXBlIElucHV0cyA9XG4gIHwgUHV0Q29tbWFuZElucHV0XG4gIHwgR2V0Q29tbWFuZElucHV0XG4gIHwgU2NhbkNvbW1hbmRJbnB1dFxuICB8IFF1ZXJ5Q29tbWFuZElucHV0XG4gIHwgVXBkYXRlQ29tbWFuZElucHV0XG4gIHwgRGVsZXRlQ29tbWFuZElucHV0O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBRdWVyeTxUIGV4dGVuZHMgSXRlbSwgSSBleHRlbmRzIElucHV0cywgTz4ge1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaW5wdXQ6IEk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVxdWVzdDogUXVlcnlSZXF1ZXN0PEksIE8+O1xuICBwcm90ZWN0ZWQgbmFtZXMhOiBFeHByZXNzaW9uQXR0cmlidXRlTmFtZXM8VD47XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKHJlcXVlc3Q6IFF1ZXJ5UmVxdWVzdDxJLCBPPiwgcGFyYW1zOiBJKSB7XG4gICAgdGhpcy5pbnB1dCA9IHBhcmFtcztcbiAgICB0aGlzLnJlcXVlc3QgPSByZXF1ZXN0O1xuICB9XG5cbiAgcHJvdGVjdGVkIGhhbmRsZUlucHV0VXBkYXRlZCgpOiB2b2lkIHtcbiAgICB0aGlzLm5hbWVzID0gbmV3IEV4cHJlc3Npb25BdHRyaWJ1dGVOYW1lcyhcbiAgICAgIHRoaXMuaW5wdXQuRXhwcmVzc2lvbkF0dHJpYnV0ZU5hbWVzLFxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgc3luY0lucHV0KCk6IHZvaWQge1xuICAgIHRoaXMuaW5wdXQuRXhwcmVzc2lvbkF0dHJpYnV0ZU5hbWVzID0gdGhpcy5uYW1lcy5zZXJpYWxpemUoKTtcbiAgfVxuXG4gIHB1YmxpYyBjYWxjQ2FwYWNpdHkobW9kZTogJ0lOREVYRVMnIHwgJ1RPVEFMJyB8ICdOT05FJyk6IHRoaXMge1xuICAgIHRoaXMuaW5wdXQuUmV0dXJuQ29uc3VtZWRDYXBhY2l0eSA9IG1vZGU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZXh0ZW5kKGlucHV0OiBQYXJ0aWFsPEk+KTogdGhpcyB7XG4gICAgdGhpcy5zeW5jSW5wdXQoKTtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMuaW5wdXQsIGlucHV0KTtcbiAgICB0aGlzLmhhbmRsZUlucHV0VXBkYXRlZCgpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2VyaWFsaXplKCk6IEkge1xuICAgIHRoaXMuc3luY0lucHV0KCk7XG5cbiAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmlucHV0KSB7XG4gICAgICBpZiAodGhpcy5pbnB1dFtrZXldID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgZGVsZXRlIHRoaXMuaW5wdXRba2V5XTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pbnB1dDtcbiAgfVxuXG4gIHB1YmxpYyBleGVjKG9wdGlvbnM/OiBQYXJ0aWFsPEk+KTogUHJvbWlzZTxPPiB7XG4gICAgcmV0dXJuIHRoaXMucmVxdWVzdChPYmplY3QuYXNzaWduKHRoaXMuc2VyaWFsaXplKCksIG9wdGlvbnMpKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBU0EsSUFBQUEsWUFBQSxHQUFBQyxPQUFBO0FBWWUsTUFBTUMsS0FBSyxDQUFzQztFQUtwREMsV0FBV0EsQ0FBQ0MsT0FBMkIsRUFBRUMsTUFBUyxFQUFFO0lBQUEsS0FKM0NDLEtBQUs7SUFBQSxLQUNQRixPQUFPO0lBQUEsS0FDZEcsS0FBSztJQUdiLElBQUksQ0FBQ0QsS0FBSyxHQUFHRCxNQUFNO0lBQ25CLElBQUksQ0FBQ0QsT0FBTyxHQUFHQSxPQUFPO0VBQ3hCO0VBRVVJLGtCQUFrQkEsQ0FBQSxFQUFTO0lBQ25DLElBQUksQ0FBQ0QsS0FBSyxHQUFHLElBQUlFLHFDQUF3QixDQUN2QyxJQUFJLENBQUNILEtBQUssQ0FBQ0csd0JBQXdCLENBQ3BDO0VBQ0g7RUFFVUMsU0FBU0EsQ0FBQSxFQUFTO0lBQzFCLElBQUksQ0FBQ0osS0FBSyxDQUFDRyx3QkFBd0IsR0FBRyxJQUFJLENBQUNGLEtBQUssQ0FBQ0ksU0FBUyxFQUFFO0VBQzlEO0VBRU9DLFlBQVlBLENBQUNDLElBQWtDLEVBQVE7SUFDNUQsSUFBSSxDQUFDUCxLQUFLLENBQUNRLHNCQUFzQixHQUFHRCxJQUFJO0lBQ3hDLE9BQU8sSUFBSTtFQUNiO0VBRU9FLE1BQU1BLENBQUNULEtBQWlCLEVBQVE7SUFDckMsSUFBSSxDQUFDSSxTQUFTLEVBQUU7SUFDaEJNLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLElBQUksQ0FBQ1gsS0FBSyxFQUFFQSxLQUFLLENBQUM7SUFDaEMsSUFBSSxDQUFDRSxrQkFBa0IsRUFBRTtJQUV6QixPQUFPLElBQUk7RUFDYjtFQUVPRyxTQUFTQSxDQUFBLEVBQU07SUFDcEIsSUFBSSxDQUFDRCxTQUFTLEVBQUU7SUFFaEIsS0FBSyxNQUFNUSxHQUFHLElBQUksSUFBSSxDQUFDWixLQUFLLEVBQUU7TUFDNUIsSUFBSSxJQUFJLENBQUNBLEtBQUssQ0FBQ1ksR0FBRyxDQUFDLEtBQUtDLFNBQVMsRUFBRTtRQUNqQyxPQUFPLElBQUksQ0FBQ2IsS0FBSyxDQUFDWSxHQUFHLENBQUM7TUFDeEI7SUFDRjtJQUVBLE9BQU8sSUFBSSxDQUFDWixLQUFLO0VBQ25CO0VBRU9jLElBQUlBLENBQUNDLE9BQW9CLEVBQWM7SUFDNUMsT0FBTyxJQUFJLENBQUNqQixPQUFPLENBQUNZLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDLElBQUksQ0FBQ04sU0FBUyxFQUFFLEVBQUVVLE9BQU8sQ0FBQyxDQUFDO0VBQy9EO0FBQ0Y7QUFBQ0MsT0FBQSxDQUFBQyxPQUFBLEdBQUFyQixLQUFBIn0=