UNPKG

ddb-table

Version:

Strongly typed library for querying and modeling DynamoDB documents.

39 lines (37 loc) 4.75 kB
"use strict"; require("mocha"); var _chai = require("chai"); var _ExpressionAttributeNames = _interopRequireDefault(require("./ExpressionAttributeNames")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } describe('ExpressionAttributeNames', () => { it('Basic Usage', () => { const names = new _ExpressionAttributeNames.default(); _chai.assert.equal(names.add('foo'), '#foo'); _chai.assert.equal(names.add('foo', 'bar'), '#foo.#bar'); _chai.assert.equal(names.add('foo', 'bar'), '#foo.#bar'); _chai.assert.equal(names.add('list', 2, 'name'), '#list[2].#name'); _chai.assert.deepEqual(names.serialize(), { '#foo': 'foo', '#bar': 'bar', '#list': 'list', '#name': 'name' }); }); // it('Basic Proxy Usage', () => { // const names = new ExpressionAttributeNames<DemoItem>(); // const proxy = names.proxy(); // // assert.equal(String(proxy.foo), '#foo'); // assert.equal(String(proxy.foo.bar), '#foo.#bar'); // assert.equal(String(proxy.foo.bar), '#foo.#bar'); // assert.equal(String(proxy.list[2].name), '#list[2].#name'); // // assert.deepEqual(names.serialize(), { // '#foo': 'foo', // '#bar': 'bar', // '#name': 'name', // '#list': 'list', // }); // }); }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX2NoYWkiLCJfRXhwcmVzc2lvbkF0dHJpYnV0ZU5hbWVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiZGVzY3JpYmUiLCJpdCIsIm5hbWVzIiwiRXhwcmVzc2lvbkF0dHJpYnV0ZU5hbWVzIiwiYXNzZXJ0IiwiZXF1YWwiLCJhZGQiLCJkZWVwRXF1YWwiLCJzZXJpYWxpemUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZXhwcmVzc2lvbnMvRXhwcmVzc2lvbkF0dHJpYnV0ZU5hbWVzLnRlc3QudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdtb2NoYSc7XG5pbXBvcnQgeyBhc3NlcnQgfSBmcm9tICdjaGFpJztcbmltcG9ydCBFeHByZXNzaW9uQXR0cmlidXRlTmFtZXMgZnJvbSAnLi9FeHByZXNzaW9uQXR0cmlidXRlTmFtZXMnO1xuXG5pbnRlcmZhY2UgRGVtb0l0ZW0ge1xuICBmb286IHtcbiAgICBiYXI6IHN0cmluZztcbiAgfTtcbiAgbGlzdDogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBudW1iZXIgfVtdO1xuICBwcm9wOiBudW1iZXI7XG59XG5cbmRlc2NyaWJlKCdFeHByZXNzaW9uQXR0cmlidXRlTmFtZXMnLCAoKSA9PiB7XG4gIGl0KCdCYXNpYyBVc2FnZScsICgpID0+IHtcbiAgICBjb25zdCBuYW1lcyA9IG5ldyBFeHByZXNzaW9uQXR0cmlidXRlTmFtZXM8RGVtb0l0ZW0+KCk7XG5cbiAgICBhc3NlcnQuZXF1YWwobmFtZXMuYWRkKCdmb28nKSwgJyNmb28nKTtcbiAgICBhc3NlcnQuZXF1YWwobmFtZXMuYWRkKCdmb28nLCAnYmFyJyksICcjZm9vLiNiYXInKTtcbiAgICBhc3NlcnQuZXF1YWwobmFtZXMuYWRkKCdmb28nLCAnYmFyJyksICcjZm9vLiNiYXInKTtcbiAgICBhc3NlcnQuZXF1YWwobmFtZXMuYWRkKCdsaXN0JywgMiwgJ25hbWUnKSwgJyNsaXN0WzJdLiNuYW1lJyk7XG5cbiAgICBhc3NlcnQuZGVlcEVxdWFsKG5hbWVzLnNlcmlhbGl6ZSgpLCB7XG4gICAgICAnI2Zvbyc6ICdmb28nLFxuICAgICAgJyNiYXInOiAnYmFyJyxcbiAgICAgICcjbGlzdCc6ICdsaXN0JyxcbiAgICAgICcjbmFtZSc6ICduYW1lJyxcbiAgICB9KTtcbiAgfSk7XG5cbiAgLy8gaXQoJ0Jhc2ljIFByb3h5IFVzYWdlJywgKCkgPT4ge1xuICAvLyAgIGNvbnN0IG5hbWVzID0gbmV3IEV4cHJlc3Npb25BdHRyaWJ1dGVOYW1lczxEZW1vSXRlbT4oKTtcbiAgLy8gICBjb25zdCBwcm94eSA9IG5hbWVzLnByb3h5KCk7XG4gIC8vXG4gIC8vICAgYXNzZXJ0LmVxdWFsKFN0cmluZyhwcm94eS5mb28pLCAnI2ZvbycpO1xuICAvLyAgIGFzc2VydC5lcXVhbChTdHJpbmcocHJveHkuZm9vLmJhciksICcjZm9vLiNiYXInKTtcbiAgLy8gICBhc3NlcnQuZXF1YWwoU3RyaW5nKHByb3h5LmZvby5iYXIpLCAnI2Zvby4jYmFyJyk7XG4gIC8vICAgYXNzZXJ0LmVxdWFsKFN0cmluZyhwcm94eS5saXN0WzJdLm5hbWUpLCAnI2xpc3RbMl0uI25hbWUnKTtcbiAgLy9cbiAgLy8gICBhc3NlcnQuZGVlcEVxdWFsKG5hbWVzLnNlcmlhbGl6ZSgpLCB7XG4gIC8vICAgICAnI2Zvbyc6ICdmb28nLFxuICAvLyAgICAgJyNiYXInOiAnYmFyJyxcbiAgLy8gICAgICcjbmFtZSc6ICduYW1lJyxcbiAgLy8gICAgICcjbGlzdCc6ICdsaXN0JyxcbiAgLy8gICB9KTtcbiAgLy8gfSk7XG59KTtcbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBQTtBQUNBLElBQUFDLEtBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLHlCQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFBa0UsU0FBQUcsdUJBQUFDLEdBQUEsV0FBQUEsR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsR0FBQUQsR0FBQSxLQUFBRSxPQUFBLEVBQUFGLEdBQUE7QUFVbEVHLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxNQUFNO0VBQ3pDQyxFQUFFLENBQUMsYUFBYSxFQUFFLE1BQU07SUFDdEIsTUFBTUMsS0FBSyxHQUFHLElBQUlDLGlDQUF3QixFQUFZO0lBRXREQyxZQUFNLENBQUNDLEtBQUssQ0FBQ0gsS0FBSyxDQUFDSSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsTUFBTSxDQUFDO0lBQ3RDRixZQUFNLENBQUNDLEtBQUssQ0FBQ0gsS0FBSyxDQUFDSSxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLFdBQVcsQ0FBQztJQUNsREYsWUFBTSxDQUFDQyxLQUFLLENBQUNILEtBQUssQ0FBQ0ksR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxXQUFXLENBQUM7SUFDbERGLFlBQU0sQ0FBQ0MsS0FBSyxDQUFDSCxLQUFLLENBQUNJLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFLGdCQUFnQixDQUFDO0lBRTVERixZQUFNLENBQUNHLFNBQVMsQ0FBQ0wsS0FBSyxDQUFDTSxTQUFTLEVBQUUsRUFBRTtNQUNsQyxNQUFNLEVBQUUsS0FBSztNQUNiLE1BQU0sRUFBRSxLQUFLO01BQ2IsT0FBTyxFQUFFLE1BQU07TUFDZixPQUFPLEVBQUU7SUFDWCxDQUFDLENBQUM7RUFDSixDQUFDLENBQUM7O0VBRUY7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUFDRixDQUFDLENBQUMifQ==