UNPKG

ddb-table

Version:

Strongly typed library for querying and modeling DynamoDB documents.

47 lines (46 loc) 9.95 kB
"use strict"; exports.__esModule = true; exports.default = void 0; var _ScanQuery = _interopRequireDefault(require("./queries/ScanQuery")); var _QueryQuery = _interopRequireDefault(require("./queries/QueryQuery")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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 TableIndex { constructor(opts) { this.name = void 0; this.indexName = void 0; this.primaryKey = void 0; this.sortKey = void 0; this.client = void 0; this.client = opts.documentClient; this.name = opts.tableName; this.indexName = opts.indexName; this.primaryKey = opts.primaryKey; this.sortKey = opts.sortKey; } key(...[primaryKey, sortKey]) { return _objectSpread({ [this.primaryKey]: primaryKey }, this.sortKey ? { [this.sortKey]: sortKey } : null); } scan() { return new _ScanQuery.default(this.client, { TableName: this.name, IndexName: this.indexName }); } query() { return new _QueryQuery.default(this.client, { TableName: this.name, IndexName: this.indexName }); } } exports.default = TableIndex; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfU2NhblF1ZXJ5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfUXVlcnlRdWVyeSIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0Iiwib3duS2V5cyIsIm9iamVjdCIsImVudW1lcmFibGVPbmx5Iiwia2V5cyIsIk9iamVjdCIsImdldE93blByb3BlcnR5U3ltYm9scyIsInN5bWJvbHMiLCJmaWx0ZXIiLCJzeW0iLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsImFwcGx5IiwiX29iamVjdFNwcmVhZCIsInRhcmdldCIsImkiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJzb3VyY2UiLCJmb3JFYWNoIiwia2V5IiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwiX3RvUHJvcGVydHlLZXkiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImFyZyIsIl90b1ByaW1pdGl2ZSIsIlN0cmluZyIsImlucHV0IiwiaGludCIsInByaW0iLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsInVuZGVmaW5lZCIsInJlcyIsImNhbGwiLCJUeXBlRXJyb3IiLCJOdW1iZXIiLCJUYWJsZUluZGV4IiwiY29uc3RydWN0b3IiLCJvcHRzIiwibmFtZSIsImluZGV4TmFtZSIsInByaW1hcnlLZXkiLCJzb3J0S2V5IiwiY2xpZW50IiwiZG9jdW1lbnRDbGllbnQiLCJ0YWJsZU5hbWUiLCJzY2FuIiwiU2NhblF1ZXJ5IiwiVGFibGVOYW1lIiwiSW5kZXhOYW1lIiwicXVlcnkiLCJRdWVyeVF1ZXJ5IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9UYWJsZUluZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBEeW5hbW9EQkRvY3VtZW50LCB7IEl0ZW0gfSBmcm9tICcuL0RvY3VtZW50Q2xpZW50JztcbmltcG9ydCBTY2FuUXVlcnkgZnJvbSAnLi9xdWVyaWVzL1NjYW5RdWVyeSc7XG5pbXBvcnQgUXVlcnlRdWVyeSBmcm9tICcuL3F1ZXJpZXMvUXVlcnlRdWVyeSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVJbmRleE9wdGlvbnM8SCwgUz4ge1xuICB0YWJsZU5hbWU6IHN0cmluZztcbiAgaW5kZXhOYW1lPzogc3RyaW5nO1xuICBwcmltYXJ5S2V5OiBIO1xuICBzb3J0S2V5PzogUztcbiAgZG9jdW1lbnRDbGllbnQ6IER5bmFtb0RCRG9jdW1lbnQ7XG59XG5leHBvcnQgdHlwZSBUYWJsZUluZGV4T3B0aW9uc0FyZzxILCBTPiA9IFRhYmxlSW5kZXhPcHRpb25zPEgsIFM+ICZcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHlwZXNcbiAgKFtTXSBleHRlbmRzIFtuZXZlcl0gPyB7fSA6IHsgc29ydEtleTogUyB9KTtcblxuZXhwb3J0IHR5cGUgVGFibGVLZXlBcmdzPFQsIEggZXh0ZW5kcyBrZXlvZiBULCBTIGV4dGVuZHMga2V5b2YgVCA9IG5ldmVyPiA9IFtcbiAgUyxcbl0gZXh0ZW5kcyBbbmV2ZXJdXG4gID8gW1RbSF0sIHVuZGVmaW5lZD9dXG4gIDogW1RbSF0sIFRbU11dO1xuXG5leHBvcnQgdHlwZSBUYWJsZUtleTxULCBIIGV4dGVuZHMga2V5b2YgVCwgUyBleHRlbmRzIGtleW9mIFQgPSBuZXZlcj4gPSB7XG4gIFtLIGluIGtleW9mIFQgJiAoSCB8IFMpXTogW0tdIGV4dGVuZHMgW0ggfCBTXSA/IFRbS10gOiBuZXZlcjtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFRhYmxlSW5kZXg8XG4gIFQgZXh0ZW5kcyBJdGVtLFxuICBIIGV4dGVuZHMga2V5b2YgVCxcbiAgUyBleHRlbmRzIGtleW9mIFQgPSBuZXZlcixcbiAgLy8gUCBleHRlbmRzIGtleW9mIFQgPSBrZXlvZiBUXG4+IHtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IGluZGV4TmFtZT86IHN0cmluZztcbiAgcHVibGljIHJlYWRvbmx5IHByaW1hcnlLZXk6IEg7XG4gIHB1YmxpYyByZWFkb25seSBzb3J0S2V5PzogUztcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGNsaWVudDogRHluYW1vREJEb2N1bWVudDtcblxuICBwdWJsaWMgY29uc3RydWN0b3Iob3B0czogVGFibGVJbmRleE9wdGlvbnNBcmc8SCwgUz4pIHtcbiAgICB0aGlzLmNsaWVudCA9IG9wdHMuZG9jdW1lbnRDbGllbnQ7XG5cbiAgICB0aGlzLm5hbWUgPSBvcHRzLnRhYmxlTmFtZTtcbiAgICB0aGlzLmluZGV4TmFtZSA9IG9wdHMuaW5kZXhOYW1lO1xuICAgIHRoaXMucHJpbWFyeUtleSA9IG9wdHMucHJpbWFyeUtleTtcbiAgICB0aGlzLnNvcnRLZXkgPSBvcHRzLnNvcnRLZXk7XG4gIH1cblxuICBwdWJsaWMga2V5KFxuICAgIC4uLltwcmltYXJ5S2V5LCBzb3J0S2V5XTogVGFibGVLZXlBcmdzPFQsIEgsIFM+XG4gICk6IFRhYmxlS2V5PFQsIEgsIFM+IHtcbiAgICByZXR1cm4ge1xuICAgICAgW3RoaXMucHJpbWFyeUtleV06IHByaW1hcnlLZXksXG4gICAgICAuLi4odGhpcy5zb3J0S2V5ID8geyBbdGhpcy5zb3J0S2V5XTogc29ydEtleSB9IDogbnVsbCksXG4gICAgfSBhcyBUYWJsZUtleTxULCBILCBTPjtcbiAgfVxuXG4gIHB1YmxpYyBzY2FuKCk6IFNjYW5RdWVyeTxULCBUYWJsZUtleTxULCBILCBTPj4ge1xuICAgIHJldHVybiBuZXcgU2NhblF1ZXJ5KHRoaXMuY2xpZW50LCB7XG4gICAgICBUYWJsZU5hbWU6IHRoaXMubmFtZSxcbiAgICAgIEluZGV4TmFtZTogdGhpcy5pbmRleE5hbWUsXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgcXVlcnkoKTogUXVlcnlRdWVyeTxULCBUYWJsZUtleTxULCBILCBTPj4ge1xuICAgIHJldHVybiBuZXcgUXVlcnlRdWVyeSh0aGlzLmNsaWVudCwge1xuICAgICAgVGFibGVOYW1lOiB0aGlzLm5hbWUsXG4gICAgICBJbmRleE5hbWU6IHRoaXMuaW5kZXhOYW1lLFxuICAgIH0pO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxJQUFBQSxVQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxXQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFBOEMsU0FBQUQsdUJBQUFHLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFBQSxTQUFBRyxRQUFBQyxNQUFBLEVBQUFDLGNBQUEsUUFBQUMsSUFBQSxHQUFBQyxNQUFBLENBQUFELElBQUEsQ0FBQUYsTUFBQSxPQUFBRyxNQUFBLENBQUFDLHFCQUFBLFFBQUFDLE9BQUEsR0FBQUYsTUFBQSxDQUFBQyxxQkFBQSxDQUFBSixNQUFBLEdBQUFDLGNBQUEsS0FBQUksT0FBQSxHQUFBQSxPQUFBLENBQUFDLE1BQUEsV0FBQUMsR0FBQSxXQUFBSixNQUFBLENBQUFLLHdCQUFBLENBQUFSLE1BQUEsRUFBQU8sR0FBQSxFQUFBRSxVQUFBLE9BQUFQLElBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULElBQUEsRUFBQUcsT0FBQSxZQUFBSCxJQUFBO0FBQUEsU0FBQVUsY0FBQUMsTUFBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLEVBQUFGLENBQUEsVUFBQUcsTUFBQSxXQUFBRixTQUFBLENBQUFELENBQUEsSUFBQUMsU0FBQSxDQUFBRCxDQUFBLFFBQUFBLENBQUEsT0FBQWYsT0FBQSxDQUFBSSxNQUFBLENBQUFjLE1BQUEsT0FBQUMsT0FBQSxXQUFBQyxHQUFBLElBQUFDLGVBQUEsQ0FBQVAsTUFBQSxFQUFBTSxHQUFBLEVBQUFGLE1BQUEsQ0FBQUUsR0FBQSxTQUFBaEIsTUFBQSxDQUFBa0IseUJBQUEsR0FB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