@webex/storage-adapter-spec 2.36.1 → 2.37.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -37,3 +37,4 @@ Pull requests welcome. Please see [CONTRIBUTING.md](https://github.com/webex/web
37
37
  ## License
38
38
 
39
39
  © 2016-2020 Cisco and/or its affiliates. All Rights Reserved.
40
+ ```
package/dist/index.js CHANGED
@@ -1,25 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
-
5
4
  var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
-
7
5
  _Object$defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
-
11
8
  exports.default = runAbstractStorageAdapterSpec;
12
-
13
9
  var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
14
-
15
10
  var _testHelperChai = require("@webex/test-helper-chai");
16
-
17
11
  /*!
18
12
  * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.
19
13
  */
20
- function noop() {// intentionally empty
21
- }
22
14
 
15
+ function noop() {
16
+ // intentionally empty
17
+ }
23
18
  function runAbstractStorageAdapterSpec(adapter) {
24
19
  var key = 'key';
25
20
  var namespace = 'namespace';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["noop","runAbstractStorageAdapterSpec","adapter","key","namespace","obj","a","primitive","options","logger","error","warning","log","info","debug","trace","describe","it","assert","isRejected","bind","bound","before","then","b","put","get","result","deepEqual","forEach","falsey","all","primitive2","del","undefined","clear"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {assert} from '@webex/test-helper-chai';\n\nfunction noop() {\n // intentionally empty\n}\n\nexport default function runAbstractStorageAdapterSpec(adapter) {\n const key = 'key';\n const namespace = 'namespace';\n const obj = {a: 1};\n const primitive = 1;\n const options = {\n logger: {\n error: noop,\n warning: noop,\n log: noop,\n info: noop,\n debug: noop,\n trace: noop\n }\n };\n\n describe('#bind()', () => {\n // namespace and options.logger are required more to make sure we always\n // call bind correctly rather than to make sure the adapter uses them.\n it('requires a namespace', () => assert.isRejected(adapter.bind(), /`namespace` is required/));\n\n it('requires a logger option', () => assert.isRejected(adapter.bind(namespace), /`options.logger` is required/));\n\n it('returns a db interface', () => adapter.bind(namespace, options));\n\n describe('bound', () => {\n let bound;\n\n before(() => adapter.bind(namespace, options)\n .then((b) => {\n bound = b;\n }));\n\n describe('#put()', () => {\n it('puts a primitive into the store', () => bound.put(key, primitive)\n .then(() => bound.get(key)\n .then((result) => assert.deepEqual(result, primitive))));\n\n [0, false, null].forEach((falsey) => {\n it(`puts falsey primitive \\`${falsey}\\` into the store`, () => bound.put(key, falsey)\n .then(() => bound.get(key)\n .then((result) => assert.deepEqual(result, falsey))));\n });\n\n it('puts an object into the store', () => bound.put(key, obj)\n .then(() => bound.get(key)\n .then((result) => assert.deepEqual(result, obj))));\n\n it('puts an array into the store', () => bound.put(key, [1, 2])\n .then(() => bound.get(key)\n .then((result) => assert.deepEqual(result, [1, 2]))));\n\n it('puts an array back into the store', () => bound.put(key, [1, 2])\n .then(() => bound.get(key)\n .then((result) => assert.deepEqual(result, [1, 2])))\n .then(() => bound.put(key, [1, 2, 3]))\n .then(() => bound.get(key)\n .then((result) => assert.deepEqual(result, [1, 2, 3]))));\n\n it('handles concurrency', () => Promise.all([\n bound.put(key, 1),\n bound.put(key, 2),\n bound.put(key, 3)\n ])\n .then(() => bound.get(key)\n .then((result) => assert.deepEqual(result, 3))));\n\n it('puts same key in different namespaces', () => bound.put(key, primitive)\n .then(() => adapter.bind('namespace2', options)\n .then((b) => {\n const primitive2 = 2;\n\n b.put(key, primitive2)\n .then(() => Promise.all([\n bound.get(key)\n .then((result) => assert.deepEqual(result, primitive)),\n b.get(key)\n .then((result) => assert.deepEqual(result, primitive2))\n ]));\n })));\n });\n\n describe('#get()', () => {\n it('gets a primitive from the store', () => bound.put(key, primitive)\n .then(() => bound.get(key)\n .then((result) => assert.deepEqual(result, primitive))));\n\n it('gets an object from the store', () => bound.put(key, obj)\n .then(() => bound.get(key)\n .then((result) => assert.deepEqual(result, obj))));\n\n it('rejects if the key cannot be found', () => assert.isRejected(bound.get('notakey')));\n });\n\n describe('#del()', () => {\n it('removes a primitive from the store', () => bound.put(key, primitive)\n .then(() => bound.get(key)\n .then((result) => assert.deepEqual(result, primitive)))\n .then(() => bound.del(key))\n .then(() => assert.isRejected(bound.get(key))));\n\n it('removes an object from the store', () => bound.put(key, obj)\n .then(() => bound.get(key)\n .then((result) => assert.deepEqual(result, obj)))\n .then(() => bound.del(key))\n .then(() => assert.isRejected(bound.get(key))));\n\n it('removes an item from the store when putting `undefined`', () => bound.put(key, undefined)\n .then(() => bound.del(key))\n .then(() => assert.isRejected(bound.get(key))));\n });\n\n describe('#clear()', () => {\n it('clears a primitive from the store', () => bound.put(key, primitive)\n .then(() => bound.get(key)\n .then((result) => assert.deepEqual(result, primitive)))\n .then(() => bound.clear())\n .then(() => assert.isRejected(bound.get(key))));\n\n it('clears an object from the store', () => bound.put(key, obj)\n .then(() => bound.get(key)\n .then((result) => assert.deepEqual(result, obj)))\n .then(() => bound.clear(key))\n .then(() => assert.isRejected(bound.get(key))));\n\n it('clears an item from the store when putting `undefined`', () => bound.put(key, undefined)\n .then(() => bound.clear(key))\n .then(() => assert.isRejected(bound.get(key))));\n });\n });\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["noop","runAbstractStorageAdapterSpec","adapter","key","namespace","obj","a","primitive","options","logger","error","warning","log","info","debug","trace","describe","it","assert","isRejected","bind","bound","before","then","b","put","get","result","deepEqual","forEach","falsey","all","primitive2","del","undefined","clear"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {assert} from '@webex/test-helper-chai';\n\nfunction noop() {\n // intentionally empty\n}\n\nexport default function runAbstractStorageAdapterSpec(adapter) {\n const key = 'key';\n const namespace = 'namespace';\n const obj = {a: 1};\n const primitive = 1;\n const options = {\n logger: {\n error: noop,\n warning: noop,\n log: noop,\n info: noop,\n debug: noop,\n trace: noop,\n },\n };\n\n describe('#bind()', () => {\n // namespace and options.logger are required more to make sure we always\n // call bind correctly rather than to make sure the adapter uses them.\n it('requires a namespace', () => assert.isRejected(adapter.bind(), /`namespace` is required/));\n\n it('requires a logger option', () =>\n assert.isRejected(adapter.bind(namespace), /`options.logger` is required/));\n\n it('returns a db interface', () => adapter.bind(namespace, options));\n\n describe('bound', () => {\n let bound;\n\n before(() =>\n adapter.bind(namespace, options).then((b) => {\n bound = b;\n })\n );\n\n describe('#put()', () => {\n it('puts a primitive into the store', () =>\n bound\n .put(key, primitive)\n .then(() => bound.get(key).then((result) => assert.deepEqual(result, primitive))));\n\n [0, false, null].forEach((falsey) => {\n it(`puts falsey primitive \\`${falsey}\\` into the store`, () =>\n bound\n .put(key, falsey)\n .then(() => bound.get(key).then((result) => assert.deepEqual(result, falsey))));\n });\n\n it('puts an object into the store', () =>\n bound\n .put(key, obj)\n .then(() => bound.get(key).then((result) => assert.deepEqual(result, obj))));\n\n it('puts an array into the store', () =>\n bound\n .put(key, [1, 2])\n .then(() => bound.get(key).then((result) => assert.deepEqual(result, [1, 2]))));\n\n it('puts an array back into the store', () =>\n bound\n .put(key, [1, 2])\n .then(() => bound.get(key).then((result) => assert.deepEqual(result, [1, 2])))\n .then(() => bound.put(key, [1, 2, 3]))\n .then(() => bound.get(key).then((result) => assert.deepEqual(result, [1, 2, 3]))));\n\n it('handles concurrency', () =>\n Promise.all([bound.put(key, 1), bound.put(key, 2), bound.put(key, 3)]).then(() =>\n bound.get(key).then((result) => assert.deepEqual(result, 3))\n ));\n\n it('puts same key in different namespaces', () =>\n bound.put(key, primitive).then(() =>\n adapter.bind('namespace2', options).then((b) => {\n const primitive2 = 2;\n\n b.put(key, primitive2).then(() =>\n Promise.all([\n bound.get(key).then((result) => assert.deepEqual(result, primitive)),\n b.get(key).then((result) => assert.deepEqual(result, primitive2)),\n ])\n );\n })\n ));\n });\n\n describe('#get()', () => {\n it('gets a primitive from the store', () =>\n bound\n .put(key, primitive)\n .then(() => bound.get(key).then((result) => assert.deepEqual(result, primitive))));\n\n it('gets an object from the store', () =>\n bound\n .put(key, obj)\n .then(() => bound.get(key).then((result) => assert.deepEqual(result, obj))));\n\n it('rejects if the key cannot be found', () => assert.isRejected(bound.get('notakey')));\n });\n\n describe('#del()', () => {\n it('removes a primitive from the store', () =>\n bound\n .put(key, primitive)\n .then(() => bound.get(key).then((result) => assert.deepEqual(result, primitive)))\n .then(() => bound.del(key))\n .then(() => assert.isRejected(bound.get(key))));\n\n it('removes an object from the store', () =>\n bound\n .put(key, obj)\n .then(() => bound.get(key).then((result) => assert.deepEqual(result, obj)))\n .then(() => bound.del(key))\n .then(() => assert.isRejected(bound.get(key))));\n\n it('removes an item from the store when putting `undefined`', () =>\n bound\n .put(key, undefined)\n .then(() => bound.del(key))\n .then(() => assert.isRejected(bound.get(key))));\n });\n\n describe('#clear()', () => {\n it('clears a primitive from the store', () =>\n bound\n .put(key, primitive)\n .then(() => bound.get(key).then((result) => assert.deepEqual(result, primitive)))\n .then(() => bound.clear())\n .then(() => assert.isRejected(bound.get(key))));\n\n it('clears an object from the store', () =>\n bound\n .put(key, obj)\n .then(() => bound.get(key).then((result) => assert.deepEqual(result, obj)))\n .then(() => bound.clear(key))\n .then(() => assert.isRejected(bound.get(key))));\n\n it('clears an item from the store when putting `undefined`', () =>\n bound\n .put(key, undefined)\n .then(() => bound.clear(key))\n .then(() => assert.isRejected(bound.get(key))));\n });\n });\n });\n}\n"],"mappings":";;;;;;;;;AAIA;AAJA;AACA;AACA;;AAIA,SAASA,IAAI,GAAG;EACd;AAAA;AAGa,SAASC,6BAA6B,CAACC,OAAO,EAAE;EAC7D,IAAMC,GAAG,GAAG,KAAK;EACjB,IAAMC,SAAS,GAAG,WAAW;EAC7B,IAAMC,GAAG,GAAG;IAACC,CAAC,EAAE;EAAC,CAAC;EAClB,IAAMC,SAAS,GAAG,CAAC;EACnB,IAAMC,OAAO,GAAG;IACdC,MAAM,EAAE;MACNC,KAAK,EAAEV,IAAI;MACXW,OAAO,EAAEX,IAAI;MACbY,GAAG,EAAEZ,IAAI;MACTa,IAAI,EAAEb,IAAI;MACVc,KAAK,EAAEd,IAAI;MACXe,KAAK,EAAEf;IACT;EACF,CAAC;EAEDgB,QAAQ,CAAC,SAAS,EAAE,YAAM;IACxB;IACA;IACAC,EAAE,CAAC,sBAAsB,EAAE;MAAA,OAAMC,sBAAM,CAACC,UAAU,CAACjB,OAAO,CAACkB,IAAI,EAAE,EAAE,yBAAyB,CAAC;IAAA,EAAC;IAE9FH,EAAE,CAAC,0BAA0B,EAAE;MAAA,OAC7BC,sBAAM,CAACC,UAAU,CAACjB,OAAO,CAACkB,IAAI,CAAChB,SAAS,CAAC,EAAE,8BAA8B,CAAC;IAAA,EAAC;IAE7Ea,EAAE,CAAC,wBAAwB,EAAE;MAAA,OAAMf,OAAO,CAACkB,IAAI,CAAChB,SAAS,EAAEI,OAAO,CAAC;IAAA,EAAC;IAEpEQ,QAAQ,CAAC,OAAO,EAAE,YAAM;MACtB,IAAIK,KAAK;MAETC,MAAM,CAAC;QAAA,OACLpB,OAAO,CAACkB,IAAI,CAAChB,SAAS,EAAEI,OAAO,CAAC,CAACe,IAAI,CAAC,UAACC,CAAC,EAAK;UAC3CH,KAAK,GAAGG,CAAC;QACX,CAAC,CAAC;MAAA,EACH;MAEDR,QAAQ,CAAC,QAAQ,EAAE,YAAM;QACvBC,EAAE,CAAC,iCAAiC,EAAE;UAAA,OACpCI,KAAK,CACFI,GAAG,CAACtB,GAAG,EAAEI,SAAS,CAAC,CACnBgB,IAAI,CAAC;YAAA,OAAMF,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAACoB,IAAI,CAAC,UAACI,MAAM;cAAA,OAAKT,sBAAM,CAACU,SAAS,CAACD,MAAM,EAAEpB,SAAS,CAAC;YAAA,EAAC;UAAA,EAAC;QAAA,EAAC;QAEtF,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAACsB,OAAO,CAAC,UAACC,MAAM,EAAK;UACnCb,EAAE,kCAA4Ba,MAAM,uBAAqB;YAAA,OACvDT,KAAK,CACFI,GAAG,CAACtB,GAAG,EAAE2B,MAAM,CAAC,CAChBP,IAAI,CAAC;cAAA,OAAMF,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAACoB,IAAI,CAAC,UAACI,MAAM;gBAAA,OAAKT,sBAAM,CAACU,SAAS,CAACD,MAAM,EAAEG,MAAM,CAAC;cAAA,EAAC;YAAA,EAAC;UAAA,EAAC;QACrF,CAAC,CAAC;QAEFb,EAAE,CAAC,+BAA+B,EAAE;UAAA,OAClCI,KAAK,CACFI,GAAG,CAACtB,GAAG,EAAEE,GAAG,CAAC,CACbkB,IAAI,CAAC;YAAA,OAAMF,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAACoB,IAAI,CAAC,UAACI,MAAM;cAAA,OAAKT,sBAAM,CAACU,SAAS,CAACD,MAAM,EAAEtB,GAAG,CAAC;YAAA,EAAC;UAAA,EAAC;QAAA,EAAC;QAEhFY,EAAE,CAAC,8BAA8B,EAAE;UAAA,OACjCI,KAAK,CACFI,GAAG,CAACtB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAChBoB,IAAI,CAAC;YAAA,OAAMF,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAACoB,IAAI,CAAC,UAACI,MAAM;cAAA,OAAKT,sBAAM,CAACU,SAAS,CAACD,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAAA,EAAC;UAAA,EAAC;QAAA,EAAC;QAEnFV,EAAE,CAAC,mCAAmC,EAAE;UAAA,OACtCI,KAAK,CACFI,GAAG,CAACtB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAChBoB,IAAI,CAAC;YAAA,OAAMF,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAACoB,IAAI,CAAC,UAACI,MAAM;cAAA,OAAKT,sBAAM,CAACU,SAAS,CAACD,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAAA,EAAC;UAAA,EAAC,CAC7EJ,IAAI,CAAC;YAAA,OAAMF,KAAK,CAACI,GAAG,CAACtB,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;UAAA,EAAC,CACrCoB,IAAI,CAAC;YAAA,OAAMF,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAACoB,IAAI,CAAC,UAACI,MAAM;cAAA,OAAKT,sBAAM,CAACU,SAAS,CAACD,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAAA,EAAC;UAAA,EAAC;QAAA,EAAC;QAEtFV,EAAE,CAAC,qBAAqB,EAAE;UAAA,OACxB,iBAAQc,GAAG,CAAC,CAACV,KAAK,CAACI,GAAG,CAACtB,GAAG,EAAE,CAAC,CAAC,EAAEkB,KAAK,CAACI,GAAG,CAACtB,GAAG,EAAE,CAAC,CAAC,EAAEkB,KAAK,CAACI,GAAG,CAACtB,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAACoB,IAAI,CAAC;YAAA,OAC1EF,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAACoB,IAAI,CAAC,UAACI,MAAM;cAAA,OAAKT,sBAAM,CAACU,SAAS,CAACD,MAAM,EAAE,CAAC,CAAC;YAAA,EAAC;UAAA,EAC7D;QAAA,EAAC;QAEJV,EAAE,CAAC,uCAAuC,EAAE;UAAA,OAC1CI,KAAK,CAACI,GAAG,CAACtB,GAAG,EAAEI,SAAS,CAAC,CAACgB,IAAI,CAAC;YAAA,OAC7BrB,OAAO,CAACkB,IAAI,CAAC,YAAY,EAAEZ,OAAO,CAAC,CAACe,IAAI,CAAC,UAACC,CAAC,EAAK;cAC9C,IAAMQ,UAAU,GAAG,CAAC;cAEpBR,CAAC,CAACC,GAAG,CAACtB,GAAG,EAAE6B,UAAU,CAAC,CAACT,IAAI,CAAC;gBAAA,OAC1B,iBAAQQ,GAAG,CAAC,CACVV,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAACoB,IAAI,CAAC,UAACI,MAAM;kBAAA,OAAKT,sBAAM,CAACU,SAAS,CAACD,MAAM,EAAEpB,SAAS,CAAC;gBAAA,EAAC,EACpEiB,CAAC,CAACE,GAAG,CAACvB,GAAG,CAAC,CAACoB,IAAI,CAAC,UAACI,MAAM;kBAAA,OAAKT,sBAAM,CAACU,SAAS,CAACD,MAAM,EAAEK,UAAU,CAAC;gBAAA,EAAC,CAClE,CAAC;cAAA,EACH;YACH,CAAC,CAAC;UAAA,EACH;QAAA,EAAC;MACN,CAAC,CAAC;MAEFhB,QAAQ,CAAC,QAAQ,EAAE,YAAM;QACvBC,EAAE,CAAC,iCAAiC,EAAE;UAAA,OACpCI,KAAK,CACFI,GAAG,CAACtB,GAAG,EAAEI,SAAS,CAAC,CACnBgB,IAAI,CAAC;YAAA,OAAMF,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAACoB,IAAI,CAAC,UAACI,MAAM;cAAA,OAAKT,sBAAM,CAACU,SAAS,CAACD,MAAM,EAAEpB,SAAS,CAAC;YAAA,EAAC;UAAA,EAAC;QAAA,EAAC;QAEtFU,EAAE,CAAC,+BAA+B,EAAE;UAAA,OAClCI,KAAK,CACFI,GAAG,CAACtB,GAAG,EAAEE,GAAG,CAAC,CACbkB,IAAI,CAAC;YAAA,OAAMF,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAACoB,IAAI,CAAC,UAACI,MAAM;cAAA,OAAKT,sBAAM,CAACU,SAAS,CAACD,MAAM,EAAEtB,GAAG,CAAC;YAAA,EAAC;UAAA,EAAC;QAAA,EAAC;QAEhFY,EAAE,CAAC,oCAAoC,EAAE;UAAA,OAAMC,sBAAM,CAACC,UAAU,CAACE,KAAK,CAACK,GAAG,CAAC,SAAS,CAAC,CAAC;QAAA,EAAC;MACzF,CAAC,CAAC;MAEFV,QAAQ,CAAC,QAAQ,EAAE,YAAM;QACvBC,EAAE,CAAC,oCAAoC,EAAE;UAAA,OACvCI,KAAK,CACFI,GAAG,CAACtB,GAAG,EAAEI,SAAS,CAAC,CACnBgB,IAAI,CAAC;YAAA,OAAMF,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAACoB,IAAI,CAAC,UAACI,MAAM;cAAA,OAAKT,sBAAM,CAACU,SAAS,CAACD,MAAM,EAAEpB,SAAS,CAAC;YAAA,EAAC;UAAA,EAAC,CAChFgB,IAAI,CAAC;YAAA,OAAMF,KAAK,CAACY,GAAG,CAAC9B,GAAG,CAAC;UAAA,EAAC,CAC1BoB,IAAI,CAAC;YAAA,OAAML,sBAAM,CAACC,UAAU,CAACE,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAAC;UAAA,EAAC;QAAA,EAAC;QAEnDc,EAAE,CAAC,kCAAkC,EAAE;UAAA,OACrCI,KAAK,CACFI,GAAG,CAACtB,GAAG,EAAEE,GAAG,CAAC,CACbkB,IAAI,CAAC;YAAA,OAAMF,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAACoB,IAAI,CAAC,UAACI,MAAM;cAAA,OAAKT,sBAAM,CAACU,SAAS,CAACD,MAAM,EAAEtB,GAAG,CAAC;YAAA,EAAC;UAAA,EAAC,CAC1EkB,IAAI,CAAC;YAAA,OAAMF,KAAK,CAACY,GAAG,CAAC9B,GAAG,CAAC;UAAA,EAAC,CAC1BoB,IAAI,CAAC;YAAA,OAAML,sBAAM,CAACC,UAAU,CAACE,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAAC;UAAA,EAAC;QAAA,EAAC;QAEnDc,EAAE,CAAC,yDAAyD,EAAE;UAAA,OAC5DI,KAAK,CACFI,GAAG,CAACtB,GAAG,EAAE+B,SAAS,CAAC,CACnBX,IAAI,CAAC;YAAA,OAAMF,KAAK,CAACY,GAAG,CAAC9B,GAAG,CAAC;UAAA,EAAC,CAC1BoB,IAAI,CAAC;YAAA,OAAML,sBAAM,CAACC,UAAU,CAACE,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAAC;UAAA,EAAC;QAAA,EAAC;MACrD,CAAC,CAAC;MAEFa,QAAQ,CAAC,UAAU,EAAE,YAAM;QACzBC,EAAE,CAAC,mCAAmC,EAAE;UAAA,OACtCI,KAAK,CACFI,GAAG,CAACtB,GAAG,EAAEI,SAAS,CAAC,CACnBgB,IAAI,CAAC;YAAA,OAAMF,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAACoB,IAAI,CAAC,UAACI,MAAM;cAAA,OAAKT,sBAAM,CAACU,SAAS,CAACD,MAAM,EAAEpB,SAAS,CAAC;YAAA,EAAC;UAAA,EAAC,CAChFgB,IAAI,CAAC;YAAA,OAAMF,KAAK,CAACc,KAAK,EAAE;UAAA,EAAC,CACzBZ,IAAI,CAAC;YAAA,OAAML,sBAAM,CAACC,UAAU,CAACE,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAAC;UAAA,EAAC;QAAA,EAAC;QAEnDc,EAAE,CAAC,iCAAiC,EAAE;UAAA,OACpCI,KAAK,CACFI,GAAG,CAACtB,GAAG,EAAEE,GAAG,CAAC,CACbkB,IAAI,CAAC;YAAA,OAAMF,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAACoB,IAAI,CAAC,UAACI,MAAM;cAAA,OAAKT,sBAAM,CAACU,SAAS,CAACD,MAAM,EAAEtB,GAAG,CAAC;YAAA,EAAC;UAAA,EAAC,CAC1EkB,IAAI,CAAC;YAAA,OAAMF,KAAK,CAACc,KAAK,CAAChC,GAAG,CAAC;UAAA,EAAC,CAC5BoB,IAAI,CAAC;YAAA,OAAML,sBAAM,CAACC,UAAU,CAACE,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAAC;UAAA,EAAC;QAAA,EAAC;QAEnDc,EAAE,CAAC,wDAAwD,EAAE;UAAA,OAC3DI,KAAK,CACFI,GAAG,CAACtB,GAAG,EAAE+B,SAAS,CAAC,CACnBX,IAAI,CAAC;YAAA,OAAMF,KAAK,CAACc,KAAK,CAAChC,GAAG,CAAC;UAAA,EAAC,CAC5BoB,IAAI,CAAC;YAAA,OAAML,sBAAM,CAACC,UAAU,CAACE,KAAK,CAACK,GAAG,CAACvB,GAAG,CAAC,CAAC;UAAA,EAAC;QAAA,EAAC;MACrD,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/storage-adapter-spec",
3
- "version": "2.36.1",
3
+ "version": "2.37.1",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -20,6 +20,6 @@
20
20
  ]
21
21
  },
22
22
  "dependencies": {
23
- "@webex/test-helper-chai": "2.36.1"
23
+ "@webex/test-helper-chai": "2.37.1"
24
24
  }
25
25
  }
package/src/index.js CHANGED
@@ -20,8 +20,8 @@ export default function runAbstractStorageAdapterSpec(adapter) {
20
20
  log: noop,
21
21
  info: noop,
22
22
  debug: noop,
23
- trace: noop
24
- }
23
+ trace: noop,
24
+ },
25
25
  };
26
26
 
27
27
  describe('#bind()', () => {
@@ -29,113 +29,126 @@ export default function runAbstractStorageAdapterSpec(adapter) {
29
29
  // call bind correctly rather than to make sure the adapter uses them.
30
30
  it('requires a namespace', () => assert.isRejected(adapter.bind(), /`namespace` is required/));
31
31
 
32
- it('requires a logger option', () => assert.isRejected(adapter.bind(namespace), /`options.logger` is required/));
32
+ it('requires a logger option', () =>
33
+ assert.isRejected(adapter.bind(namespace), /`options.logger` is required/));
33
34
 
34
35
  it('returns a db interface', () => adapter.bind(namespace, options));
35
36
 
36
37
  describe('bound', () => {
37
38
  let bound;
38
39
 
39
- before(() => adapter.bind(namespace, options)
40
- .then((b) => {
40
+ before(() =>
41
+ adapter.bind(namespace, options).then((b) => {
41
42
  bound = b;
42
- }));
43
+ })
44
+ );
43
45
 
44
46
  describe('#put()', () => {
45
- it('puts a primitive into the store', () => bound.put(key, primitive)
46
- .then(() => bound.get(key)
47
- .then((result) => assert.deepEqual(result, primitive))));
47
+ it('puts a primitive into the store', () =>
48
+ bound
49
+ .put(key, primitive)
50
+ .then(() => bound.get(key).then((result) => assert.deepEqual(result, primitive))));
48
51
 
49
52
  [0, false, null].forEach((falsey) => {
50
- it(`puts falsey primitive \`${falsey}\` into the store`, () => bound.put(key, falsey)
51
- .then(() => bound.get(key)
52
- .then((result) => assert.deepEqual(result, falsey))));
53
+ it(`puts falsey primitive \`${falsey}\` into the store`, () =>
54
+ bound
55
+ .put(key, falsey)
56
+ .then(() => bound.get(key).then((result) => assert.deepEqual(result, falsey))));
53
57
  });
54
58
 
55
- it('puts an object into the store', () => bound.put(key, obj)
56
- .then(() => bound.get(key)
57
- .then((result) => assert.deepEqual(result, obj))));
58
-
59
- it('puts an array into the store', () => bound.put(key, [1, 2])
60
- .then(() => bound.get(key)
61
- .then((result) => assert.deepEqual(result, [1, 2]))));
62
-
63
- it('puts an array back into the store', () => bound.put(key, [1, 2])
64
- .then(() => bound.get(key)
65
- .then((result) => assert.deepEqual(result, [1, 2])))
66
- .then(() => bound.put(key, [1, 2, 3]))
67
- .then(() => bound.get(key)
68
- .then((result) => assert.deepEqual(result, [1, 2, 3]))));
69
-
70
- it('handles concurrency', () => Promise.all([
71
- bound.put(key, 1),
72
- bound.put(key, 2),
73
- bound.put(key, 3)
74
- ])
75
- .then(() => bound.get(key)
76
- .then((result) => assert.deepEqual(result, 3))));
77
-
78
- it('puts same key in different namespaces', () => bound.put(key, primitive)
79
- .then(() => adapter.bind('namespace2', options)
80
- .then((b) => {
59
+ it('puts an object into the store', () =>
60
+ bound
61
+ .put(key, obj)
62
+ .then(() => bound.get(key).then((result) => assert.deepEqual(result, obj))));
63
+
64
+ it('puts an array into the store', () =>
65
+ bound
66
+ .put(key, [1, 2])
67
+ .then(() => bound.get(key).then((result) => assert.deepEqual(result, [1, 2]))));
68
+
69
+ it('puts an array back into the store', () =>
70
+ bound
71
+ .put(key, [1, 2])
72
+ .then(() => bound.get(key).then((result) => assert.deepEqual(result, [1, 2])))
73
+ .then(() => bound.put(key, [1, 2, 3]))
74
+ .then(() => bound.get(key).then((result) => assert.deepEqual(result, [1, 2, 3]))));
75
+
76
+ it('handles concurrency', () =>
77
+ Promise.all([bound.put(key, 1), bound.put(key, 2), bound.put(key, 3)]).then(() =>
78
+ bound.get(key).then((result) => assert.deepEqual(result, 3))
79
+ ));
80
+
81
+ it('puts same key in different namespaces', () =>
82
+ bound.put(key, primitive).then(() =>
83
+ adapter.bind('namespace2', options).then((b) => {
81
84
  const primitive2 = 2;
82
85
 
83
- b.put(key, primitive2)
84
- .then(() => Promise.all([
85
- bound.get(key)
86
- .then((result) => assert.deepEqual(result, primitive)),
87
- b.get(key)
88
- .then((result) => assert.deepEqual(result, primitive2))
89
- ]));
90
- })));
86
+ b.put(key, primitive2).then(() =>
87
+ Promise.all([
88
+ bound.get(key).then((result) => assert.deepEqual(result, primitive)),
89
+ b.get(key).then((result) => assert.deepEqual(result, primitive2)),
90
+ ])
91
+ );
92
+ })
93
+ ));
91
94
  });
92
95
 
93
96
  describe('#get()', () => {
94
- it('gets a primitive from the store', () => bound.put(key, primitive)
95
- .then(() => bound.get(key)
96
- .then((result) => assert.deepEqual(result, primitive))));
97
+ it('gets a primitive from the store', () =>
98
+ bound
99
+ .put(key, primitive)
100
+ .then(() => bound.get(key).then((result) => assert.deepEqual(result, primitive))));
97
101
 
98
- it('gets an object from the store', () => bound.put(key, obj)
99
- .then(() => bound.get(key)
100
- .then((result) => assert.deepEqual(result, obj))));
102
+ it('gets an object from the store', () =>
103
+ bound
104
+ .put(key, obj)
105
+ .then(() => bound.get(key).then((result) => assert.deepEqual(result, obj))));
101
106
 
102
107
  it('rejects if the key cannot be found', () => assert.isRejected(bound.get('notakey')));
103
108
  });
104
109
 
105
110
  describe('#del()', () => {
106
- it('removes a primitive from the store', () => bound.put(key, primitive)
107
- .then(() => bound.get(key)
108
- .then((result) => assert.deepEqual(result, primitive)))
109
- .then(() => bound.del(key))
110
- .then(() => assert.isRejected(bound.get(key))));
111
-
112
- it('removes an object from the store', () => bound.put(key, obj)
113
- .then(() => bound.get(key)
114
- .then((result) => assert.deepEqual(result, obj)))
115
- .then(() => bound.del(key))
116
- .then(() => assert.isRejected(bound.get(key))));
117
-
118
- it('removes an item from the store when putting `undefined`', () => bound.put(key, undefined)
119
- .then(() => bound.del(key))
120
- .then(() => assert.isRejected(bound.get(key))));
111
+ it('removes a primitive from the store', () =>
112
+ bound
113
+ .put(key, primitive)
114
+ .then(() => bound.get(key).then((result) => assert.deepEqual(result, primitive)))
115
+ .then(() => bound.del(key))
116
+ .then(() => assert.isRejected(bound.get(key))));
117
+
118
+ it('removes an object from the store', () =>
119
+ bound
120
+ .put(key, obj)
121
+ .then(() => bound.get(key).then((result) => assert.deepEqual(result, obj)))
122
+ .then(() => bound.del(key))
123
+ .then(() => assert.isRejected(bound.get(key))));
124
+
125
+ it('removes an item from the store when putting `undefined`', () =>
126
+ bound
127
+ .put(key, undefined)
128
+ .then(() => bound.del(key))
129
+ .then(() => assert.isRejected(bound.get(key))));
121
130
  });
122
131
 
123
132
  describe('#clear()', () => {
124
- it('clears a primitive from the store', () => bound.put(key, primitive)
125
- .then(() => bound.get(key)
126
- .then((result) => assert.deepEqual(result, primitive)))
127
- .then(() => bound.clear())
128
- .then(() => assert.isRejected(bound.get(key))));
129
-
130
- it('clears an object from the store', () => bound.put(key, obj)
131
- .then(() => bound.get(key)
132
- .then((result) => assert.deepEqual(result, obj)))
133
- .then(() => bound.clear(key))
134
- .then(() => assert.isRejected(bound.get(key))));
135
-
136
- it('clears an item from the store when putting `undefined`', () => bound.put(key, undefined)
137
- .then(() => bound.clear(key))
138
- .then(() => assert.isRejected(bound.get(key))));
133
+ it('clears a primitive from the store', () =>
134
+ bound
135
+ .put(key, primitive)
136
+ .then(() => bound.get(key).then((result) => assert.deepEqual(result, primitive)))
137
+ .then(() => bound.clear())
138
+ .then(() => assert.isRejected(bound.get(key))));
139
+
140
+ it('clears an object from the store', () =>
141
+ bound
142
+ .put(key, obj)
143
+ .then(() => bound.get(key).then((result) => assert.deepEqual(result, obj)))
144
+ .then(() => bound.clear(key))
145
+ .then(() => assert.isRejected(bound.get(key))));
146
+
147
+ it('clears an item from the store when putting `undefined`', () =>
148
+ bound
149
+ .put(key, undefined)
150
+ .then(() => bound.clear(key))
151
+ .then(() => assert.isRejected(bound.get(key))));
139
152
  });
140
153
  });
141
154
  });