UNPKG

ddb-table

Version:

Strongly typed library for querying and modeling DynamoDB documents.

37 lines (36 loc) 7.41 kB
"use strict"; exports.__esModule = true; exports.default = void 0; var _object = require("../helpers/object"); function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; } function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; } function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); } function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); } class ExpressionAttributes { constructor(init) { this.attributesMap = void 0; this.attributesMap = _objectSpread({}, init); } setValue(requestedKey, value) { let key = requestedKey; let i = 2; while (key in this.attributesMap) { if (this.attributesMap[key] === value) { return key; } key = `${requestedKey}${i}`; i += 1; } this.attributesMap[key] = value; return key; } serialize() { if ((0, _object.isEmpty)(this.attributesMap)) { return undefined; } return this.attributesMap; } } exports.default = ExpressionAttributes; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfb2JqZWN0IiwicmVxdWlyZSIsIm93bktleXMiLCJvYmplY3QiLCJlbnVtZXJhYmxlT25seSIsImtleXMiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJzeW1ib2xzIiwiZmlsdGVyIiwic3ltIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJ0YXJnZXQiLCJpIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwic291cmNlIiwiZm9yRWFjaCIsImtleSIsIl9kZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiZGVmaW5lUHJvcGVydHkiLCJvYmoiLCJ2YWx1ZSIsIl90b1Byb3BlcnR5S2V5IiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJhcmciLCJfdG9QcmltaXRpdmUiLCJTdHJpbmciLCJpbnB1dCIsImhpbnQiLCJwcmltIiwiU3ltYm9sIiwidG9QcmltaXRpdmUiLCJ1bmRlZmluZWQiLCJyZXMiLCJjYWxsIiwiVHlwZUVycm9yIiwiTnVtYmVyIiwiRXhwcmVzc2lvbkF0dHJpYnV0ZXMiLCJjb25zdHJ1Y3RvciIsImluaXQiLCJhdHRyaWJ1dGVzTWFwIiwic2V0VmFsdWUiLCJyZXF1ZXN0ZWRLZXkiLCJzZXJpYWxpemUiLCJpc0VtcHR5IiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhwcmVzc2lvbnMvRXhwcmVzc2lvbkF0dHJpYnV0ZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJy4uL2hlbHBlcnMvb2JqZWN0JztcblxuZXhwb3J0IHR5cGUgRXhwcmVzc2lvbkF0dHJpYnV0ZXNNYXA8VD4gPSB7IFtrZXk6IHN0cmluZ106IFQgfTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRXhwcmVzc2lvbkF0dHJpYnV0ZXM8VD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IGF0dHJpYnV0ZXNNYXA6IEV4cHJlc3Npb25BdHRyaWJ1dGVzTWFwPFQ+O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihpbml0PzogRXhwcmVzc2lvbkF0dHJpYnV0ZXNNYXA8VD4pIHtcbiAgICB0aGlzLmF0dHJpYnV0ZXNNYXAgPSB7IC4uLmluaXQgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzZXRWYWx1ZShyZXF1ZXN0ZWRLZXk6IHN0cmluZywgdmFsdWU6IFQpOiBzdHJpbmcge1xuICAgIGxldCBrZXkgPSByZXF1ZXN0ZWRLZXk7XG4gICAgbGV0IGkgPSAyO1xuXG4gICAgd2hpbGUgKGtleSBpbiB0aGlzLmF0dHJpYnV0ZXNNYXApIHtcbiAgICAgIGlmICh0aGlzLmF0dHJpYnV0ZXNNYXBba2V5XSA9PT0gdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGtleTtcbiAgICAgIH1cblxuICAgICAga2V5ID0gYCR7cmVxdWVzdGVkS2V5fSR7aX1gO1xuICAgICAgaSArPSAxO1xuICAgIH1cblxuICAgIHRoaXMuYXR0cmlidXRlc01hcFtrZXldID0gdmFsdWU7XG4gICAgcmV0dXJuIGtleTtcbiAgfVxuXG4gIHB1YmxpYyBzZXJpYWxpemUoKTogRXhwcmVzc2lvbkF0dHJpYnV0ZXNNYXA8VD4gfCB1bmRlZmluZWQge1xuICAgIGlmIChpc0VtcHR5KHRoaXMuYXR0cmlidXRlc01hcCkpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXR0cmlidXRlc01hcDtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxPQUFBO0FBQTRDLFNBQUFDLFFBQUFDLE1BQUEsRUFBQUMsY0FBQSxRQUFBQyxJQUFBLEdBQUFDLE1BQUEsQ0FBQUQsSUFBQSxDQUFBRixNQUFBLE9BQUFHLE1BQUEsQ0FBQUMscUJBQUEsUUFBQUMsT0FBQSxHQUFBRixNQUFBLENBQUFDLHFCQUFBLENBQUFKLE1BQUEsR0FB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