ddb-table
Version:
Strongly typed library for querying and modeling DynamoDB documents.
35 lines (34 loc) • 5.41 kB
JavaScript
;
exports.__esModule = true;
exports.default = void 0;
var _ItemsQuery = _interopRequireDefault(require("./ItemsQuery"));
var _expressions = require("../expressions");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
class QueryQuery extends _ItemsQuery.default {
constructor(client, params) {
super(client.query.bind(client), params);
this.keyConditions = void 0;
this.handleInputUpdated();
}
handleInputUpdated() {
super.handleInputUpdated();
this.keyConditions = new _expressions.ConditionExpression(this.names, this.values, this.input.KeyConditionExpression);
}
syncInput() {
super.syncInput();
this.input.KeyConditionExpression = this.keyConditions.serialize();
}
reverseIndex(flag = true) {
this.input.ScanIndexForward = !flag;
return this;
}
project(fields) {
return super.project(fields);
}
keyCondition(fn) {
this.keyConditions.and(fn);
return this;
}
}
exports.default = QueryQuery;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfSXRlbXNRdWVyeSIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX2V4cHJlc3Npb25zIiwib2JqIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJRdWVyeVF1ZXJ5IiwiSXRlbXNRdWVyeSIsImNvbnN0cnVjdG9yIiwiY2xpZW50IiwicGFyYW1zIiwicXVlcnkiLCJiaW5kIiwia2V5Q29uZGl0aW9ucyIsImhhbmRsZUlucHV0VXBkYXRlZCIsIkNvbmRpdGlvbkV4cHJlc3Npb24iLCJuYW1lcyIsInZhbHVlcyIsImlucHV0IiwiS2V5Q29uZGl0aW9uRXhwcmVzc2lvbiIsInN5bmNJbnB1dCIsInNlcmlhbGl6ZSIsInJldmVyc2VJbmRleCIsImZsYWciLCJTY2FuSW5kZXhGb3J3YXJkIiwicHJvamVjdCIsImZpZWxkcyIsImtleUNvbmRpdGlvbiIsImZuIiwiYW5kIiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9xdWVyaWVzL1F1ZXJ5UXVlcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IER5bmFtb0RCRG9jdW1lbnQsIHtcbiAgSXRlbSxcbiAgUXVlcnlDb21tYW5kSW5wdXQsXG4gIFF1ZXJ5Q29tbWFuZE91dHB1dCxcbn0gZnJvbSAnLi4vRG9jdW1lbnRDbGllbnQnO1xuaW1wb3J0IHsgUXVlcnlSZXF1ZXN0IH0gZnJvbSAnLi9RdWVyeSc7XG5pbXBvcnQge1xuICBJdGVtUHJvamVjdGlvbixcbiAgUHJvamVjdGlvbkZpZWxkcyxcbn0gZnJvbSAnLi4vZXhwcmVzc2lvbnMvUHJvamVjdGlvbkV4cHJlc3Npb24nO1xuaW1wb3J0IEl0ZW1zUXVlcnkgZnJvbSAnLi9JdGVtc1F1ZXJ5JztcbmltcG9ydCB7IENvbmRpdGlvbkV4cHJlc3Npb24gfSBmcm9tICcuLi9leHByZXNzaW9ucyc7XG5pbXBvcnQgeyBDb25kaXRpb25HZW5lcmF0b3IgfSBmcm9tICcuLi9leHByZXNzaW9ucy9Db25kaXRpb25FeHByZXNzaW9uJztcblxudHlwZSBRdWVyeUlucHV0ID0gUXVlcnlDb21tYW5kSW5wdXQ7XG50eXBlIFF1ZXJ5T3V0cHV0PFQsIEs+ID0gT21pdDxRdWVyeUNvbW1hbmRPdXRwdXQsICdJdGVtcyc+ICYge1xuICBJdGVtcz86IFRbXTtcbiAgTGFzdEV2YWx1YXRlZEtleT86IEs7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBRdWVyeVF1ZXJ5PFQgZXh0ZW5kcyBLLCBLIGV4dGVuZHMgSXRlbT4gZXh0ZW5kcyBJdGVtc1F1ZXJ5PFxuICBULFxuICBLLFxuICBRdWVyeUlucHV0LFxuICBRdWVyeU91dHB1dDxULCBLPlxuPiB7XG4gIHByb3RlY3RlZCBrZXlDb25kaXRpb25zITogQ29uZGl0aW9uRXhwcmVzc2lvbjxUPjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoY2xpZW50OiBEeW5hbW9EQkRvY3VtZW50LCBwYXJhbXM6IFF1ZXJ5SW5wdXQpIHtcbiAgICBzdXBlcihcbiAgICAgIGNsaWVudC5xdWVyeS5iaW5kKGNsaWVudCkgYXMgUXVlcnlSZXF1ZXN0PFF1ZXJ5SW5wdXQsIFF1ZXJ5T3V0cHV0PFQsIEs+PixcbiAgICAgIHBhcmFtcyxcbiAgICApO1xuXG4gICAgdGhpcy5oYW5kbGVJbnB1dFVwZGF0ZWQoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBoYW5kbGVJbnB1dFVwZGF0ZWQoKTogdm9pZCB7XG4gICAgc3VwZXIuaGFuZGxlSW5wdXRVcGRhdGVkKCk7XG5cbiAgICB0aGlzLmtleUNvbmRpdGlvbnMgPSBuZXcgQ29uZGl0aW9uRXhwcmVzc2lvbihcbiAgICAgIHRoaXMubmFtZXMsXG4gICAgICB0aGlzLnZhbHVlcyxcbiAgICAgIHRoaXMuaW5wdXQuS2V5Q29uZGl0aW9uRXhwcmVzc2lvbixcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHN5bmNJbnB1dCgpOiB2b2lkIHtcbiAgICBzdXBlci5zeW5jSW5wdXQoKTtcblxuICAgIHRoaXMuaW5wdXQuS2V5Q29uZGl0aW9uRXhwcmVzc2lvbiA9IHRoaXMua2V5Q29uZGl0aW9ucy5zZXJpYWxpemUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZXZlcnNlSW5kZXgoZmxhZyA9IHRydWUpOiB0aGlzIHtcbiAgICB0aGlzLmlucHV0LlNjYW5JbmRleEZvcndhcmQgPSAhZmxhZztcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHByb2plY3Q8UCBleHRlbmRzIFByb2plY3Rpb25GaWVsZHM8VD4+KFxuICAgIGZpZWxkczogUCxcbiAgKTogdGhpcyAmIFF1ZXJ5UXVlcnk8SyAmIEl0ZW1Qcm9qZWN0aW9uPFQsIFA+LCBLPiB7XG4gICAgcmV0dXJuIHN1cGVyLnByb2plY3QoZmllbGRzKTtcbiAgfVxuXG4gIHB1YmxpYyBrZXlDb25kaXRpb24oZm46IENvbmRpdGlvbkdlbmVyYXRvcjxLPik6IHRoaXMge1xuICAgIHRoaXMua2V5Q29uZGl0aW9ucy5hbmQoZm4pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFVQSxJQUFBQSxXQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxZQUFBLEdBQUFELE9BQUE7QUFBcUQsU0FBQUQsdUJBQUFHLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFTdEMsTUFBTUcsVUFBVSxTQUFzQ0MsbUJBQVUsQ0FLN0U7RUFHT0MsV0FBV0EsQ0FBQ0MsTUFBd0IsRUFBRUMsTUFBa0IsRUFBRTtJQUMvRCxLQUFLLENBQ0hELE1BQU0sQ0FBQ0UsS0FBSyxDQUFDQyxJQUFJLENBQUNILE1BQU0sQ0FBQyxFQUN6QkMsTUFBTSxDQUNQO0lBQUMsS0FOTUcsYUFBYTtJQVFyQixJQUFJLENBQUNDLGtCQUFrQixFQUFFO0VBQzNCO0VBRVVBLGtCQUFrQkEsQ0FBQSxFQUFTO0lBQ25DLEtBQUssQ0FBQ0Esa0JBQWtCLEVBQUU7SUFFMUIsSUFBSSxDQUFDRCxhQUFhLEdBQUcsSUFBSUUsZ0NBQW1CLENBQzFDLElBQUksQ0FBQ0MsS0FBSyxFQUNWLElBQUksQ0FBQ0MsTUFBTSxFQUNYLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxzQkFBc0IsQ0FDbEM7RUFDSDtFQUVVQyxTQUFTQSxDQUFBLEVBQVM7SUFDMUIsS0FBSyxDQUFDQSxTQUFTLEVBQUU7SUFFakIsSUFBSSxDQUFDRixLQUFLLENBQUNDLHNCQUFzQixHQUFHLElBQUksQ0FBQ04sYUFBYSxDQUFDUSxTQUFTLEVBQUU7RUFDcEU7RUFFT0MsWUFBWUEsQ0FBQ0MsSUFBSSxHQUFHLElBQUksRUFBUTtJQUNyQyxJQUFJLENBQUNMLEtBQUssQ0FBQ00sZ0JBQWdCLEdBQUcsQ0FBQ0QsSUFBSTtJQUVuQyxPQUFPLElBQUk7RUFDYjtFQUVPRSxPQUFPQSxDQUNaQyxNQUFTLEVBQ3VDO0lBQ2hELE9BQU8sS0FBSyxDQUFDRCxPQUFPLENBQUNDLE1BQU0sQ0FBQztFQUM5QjtFQUVPQyxZQUFZQSxDQUFDQyxFQUF5QixFQUFRO0lBQ25ELElBQUksQ0FBQ2YsYUFBYSxDQUFDZ0IsR0FBRyxDQUFDRCxFQUFFLENBQUM7SUFDMUIsT0FBTyxJQUFJO0VBQ2I7QUFDRjtBQUFDRSxPQUFBLENBQUF6QixPQUFBLEdBQUFDLFVBQUEifQ==