@webex/storage-adapter-spec 3.0.0-beta.13 → 3.0.0-beta.15
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 +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- package/src/index.js +95 -82
package/README.md
CHANGED
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":";;;;;;;;;;;;;;AAIA;;AAJA;AACA;AACA;AAIA,SAASA,IAAT,GAAgB,CACd;AACD;;AAEc,SAASC,6BAAT,CAAuCC,OAAvC,EAAgD;EAC7D,IAAMC,GAAG,GAAG,KAAZ;EACA,IAAMC,SAAS,GAAG,WAAlB;EACA,IAAMC,GAAG,GAAG;IAACC,CAAC,EAAE;EAAJ,CAAZ;EACA,IAAMC,SAAS,GAAG,CAAlB;EACA,IAAMC,OAAO,GAAG;IACdC,MAAM,EAAE;MACNC,KAAK,EAAEV,IADD;MAENW,OAAO,EAAEX,IAFH;MAGNY,GAAG,EAAEZ,IAHC;MAINa,IAAI,EAAEb,IAJA;MAKNc,KAAK,EAAEd,IALD;MAMNe,KAAK,EAAEf;IAND;EADM,CAAhB;EAWAgB,QAAQ,CAAC,SAAD,EAAY,YAAM;IACxB;IACA;IACAC,EAAE,CAAC,sBAAD,EAAyB;MAAA,OAAMC,sBAAA,CAAOC,UAAP,CAAkBjB,OAAO,CAACkB,IAAR,EAAlB,EAAkC,yBAAlC,CAAN;IAAA,CAAzB,CAAF;IAEAH,EAAE,CAAC,0BAAD,EAA6B;MAAA,OAAMC,sBAAA,CAAOC,UAAP,CAAkBjB,OAAO,CAACkB,IAAR,CAAahB,SAAb,CAAlB,EAA2C,8BAA3C,CAAN;IAAA,CAA7B,CAAF;IAEAa,EAAE,CAAC,wBAAD,EAA2B;MAAA,OAAMf,OAAO,CAACkB,IAAR,CAAahB,SAAb,EAAwBI,OAAxB,CAAN;IAAA,CAA3B,CAAF;IAEAQ,QAAQ,CAAC,OAAD,EAAU,YAAM;MACtB,IAAIK,KAAJ;MAEAC,MAAM,CAAC;QAAA,OAAMpB,OAAO,CAACkB,IAAR,CAAahB,SAAb,EAAwBI,OAAxB,EACVe,IADU,CACL,UAACC,CAAD,EAAO;UACXH,KAAK,GAAGG,CAAR;QACD,CAHU,CAAN;MAAA,CAAD,CAAN;MAKAR,QAAQ,CAAC,QAAD,EAAW,YAAM;QACvBC,EAAE,CAAC,iCAAD,EAAoC;UAAA,OAAMI,KAAK,CAACI,GAAN,CAAUtB,GAAV,EAAeI,SAAf,EACzCgB,IADyC,CACpC;YAAA,OAAMF,KAAK,CAACK,GAAN,CAAUvB,GAAV,EACToB,IADS,CACJ,UAACI,MAAD;cAAA,OAAYT,sBAAA,CAAOU,SAAP,CAAiBD,MAAjB,EAAyBpB,SAAzB,CAAZ;YAAA,CADI,CAAN;UAAA,CADoC,CAAN;QAAA,CAApC,CAAF;QAIA,CAAC,CAAD,EAAI,KAAJ,EAAW,IAAX,EAAiBsB,OAAjB,CAAyB,UAACC,MAAD,EAAY;UACnCb,EAAE,kCAA4Ba,MAA5B,uBAAuD;YAAA,OAAMT,KAAK,CAACI,GAAN,CAAUtB,GAAV,EAAe2B,MAAf,EAC5DP,IAD4D,CACvD;cAAA,OAAMF,KAAK,CAACK,GAAN,CAAUvB,GAAV,EACToB,IADS,CACJ,UAACI,MAAD;gBAAA,OAAYT,sBAAA,CAAOU,SAAP,CAAiBD,MAAjB,EAAyBG,MAAzB,CAAZ;cAAA,CADI,CAAN;YAAA,CADuD,CAAN;UAAA,CAAvD,CAAF;QAGD,CAJD;QAMAb,EAAE,CAAC,+BAAD,EAAkC;UAAA,OAAMI,KAAK,CAACI,GAAN,CAAUtB,GAAV,EAAeE,GAAf,EACvCkB,IADuC,CAClC;YAAA,OAAMF,KAAK,CAACK,GAAN,CAAUvB,GAAV,EACToB,IADS,CACJ,UAACI,MAAD;cAAA,OAAYT,sBAAA,CAAOU,SAAP,CAAiBD,MAAjB,EAAyBtB,GAAzB,CAAZ;YAAA,CADI,CAAN;UAAA,CADkC,CAAN;QAAA,CAAlC,CAAF;QAIAY,EAAE,CAAC,8BAAD,EAAiC;UAAA,OAAMI,KAAK,CAACI,GAAN,CAAUtB,GAAV,EAAe,CAAC,CAAD,EAAI,CAAJ,CAAf,EACtCoB,IADsC,CACjC;YAAA,OAAMF,KAAK,CAACK,GAAN,CAAUvB,GAAV,EACToB,IADS,CACJ,UAACI,MAAD;cAAA,OAAYT,sBAAA,CAAOU,SAAP,CAAiBD,MAAjB,EAAyB,CAAC,CAAD,EAAI,CAAJ,CAAzB,CAAZ;YAAA,CADI,CAAN;UAAA,CADiC,CAAN;QAAA,CAAjC,CAAF;QAIAV,EAAE,CAAC,mCAAD,EAAsC;UAAA,OAAMI,KAAK,CAACI,GAAN,CAAUtB,GAAV,EAAe,CAAC,CAAD,EAAI,CAAJ,CAAf,EAC3CoB,IAD2C,CACtC;YAAA,OAAMF,KAAK,CAACK,GAAN,CAAUvB,GAAV,EACToB,IADS,CACJ,UAACI,MAAD;cAAA,OAAYT,sBAAA,CAAOU,SAAP,CAAiBD,MAAjB,EAAyB,CAAC,CAAD,EAAI,CAAJ,CAAzB,CAAZ;YAAA,CADI,CAAN;UAAA,CADsC,EAG3CJ,IAH2C,CAGtC;YAAA,OAAMF,KAAK,CAACI,GAAN,CAAUtB,GAAV,EAAe,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAAf,CAAN;UAAA,CAHsC,EAI3CoB,IAJ2C,CAItC;YAAA,OAAMF,KAAK,CAACK,GAAN,CAAUvB,GAAV,EACToB,IADS,CACJ,UAACI,MAAD;cAAA,OAAYT,sBAAA,CAAOU,SAAP,CAAiBD,MAAjB,EAAyB,CAAC,CAAD,EAAI,CAAJ,EAAO,CAAP,CAAzB,CAAZ;YAAA,CADI,CAAN;UAAA,CAJsC,CAAN;QAAA,CAAtC,CAAF;QAOAV,EAAE,CAAC,qBAAD,EAAwB;UAAA,OAAM,iBAAQc,GAAR,CAAY,CAC1CV,KAAK,CAACI,GAAN,CAAUtB,GAAV,EAAe,CAAf,CAD0C,EAE1CkB,KAAK,CAACI,GAAN,CAAUtB,GAAV,EAAe,CAAf,CAF0C,EAG1CkB,KAAK,CAACI,GAAN,CAAUtB,GAAV,EAAe,CAAf,CAH0C,CAAZ,EAK7BoB,IAL6B,CAKxB;YAAA,OAAMF,KAAK,CAACK,GAAN,CAAUvB,GAAV,EACToB,IADS,CACJ,UAACI,MAAD;cAAA,OAAYT,sBAAA,CAAOU,SAAP,CAAiBD,MAAjB,EAAyB,CAAzB,CAAZ;YAAA,CADI,CAAN;UAAA,CALwB,CAAN;QAAA,CAAxB,CAAF;QAQAV,EAAE,CAAC,uCAAD,EAA0C;UAAA,OAAMI,KAAK,CAACI,GAAN,CAAUtB,GAAV,EAAeI,SAAf,EAC/CgB,IAD+C,CAC1C;YAAA,OAAMrB,OAAO,CAACkB,IAAR,CAAa,YAAb,EAA2BZ,OAA3B,EACTe,IADS,CACJ,UAACC,CAAD,EAAO;cACX,IAAMQ,UAAU,GAAG,CAAnB;cAEAR,CAAC,CAACC,GAAF,CAAMtB,GAAN,EAAW6B,UAAX,EACGT,IADH,CACQ;gBAAA,OAAM,iBAAQQ,GAAR,CAAY,CACtBV,KAAK,CAACK,GAAN,CAAUvB,GAAV,EACGoB,IADH,CACQ,UAACI,MAAD;kBAAA,OAAYT,sBAAA,CAAOU,SAAP,CAAiBD,MAAjB,EAAyBpB,SAAzB,CAAZ;gBAAA,CADR,CADsB,EAGtBiB,CAAC,CAACE,GAAF,CAAMvB,GAAN,EACGoB,IADH,CACQ,UAACI,MAAD;kBAAA,OAAYT,sBAAA,CAAOU,SAAP,CAAiBD,MAAjB,EAAyBK,UAAzB,CAAZ;gBAAA,CADR,CAHsB,CAAZ,CAAN;cAAA,CADR;YAOD,CAXS,CAAN;UAAA,CAD0C,CAAN;QAAA,CAA1C,CAAF;MAaD,CA/CO,CAAR;MAiDAhB,QAAQ,CAAC,QAAD,EAAW,YAAM;QACvBC,EAAE,CAAC,iCAAD,EAAoC;UAAA,OAAMI,KAAK,CAACI,GAAN,CAAUtB,GAAV,EAAeI,SAAf,EACzCgB,IADyC,CACpC;YAAA,OAAMF,KAAK,CAACK,GAAN,CAAUvB,GAAV,EACToB,IADS,CACJ,UAACI,MAAD;cAAA,OAAYT,sBAAA,CAAOU,SAAP,CAAiBD,MAAjB,EAAyBpB,SAAzB,CAAZ;YAAA,CADI,CAAN;UAAA,CADoC,CAAN;QAAA,CAApC,CAAF;QAIAU,EAAE,CAAC,+BAAD,EAAkC;UAAA,OAAMI,KAAK,CAACI,GAAN,CAAUtB,GAAV,EAAeE,GAAf,EACvCkB,IADuC,CAClC;YAAA,OAAMF,KAAK,CAACK,GAAN,CAAUvB,GAAV,EACToB,IADS,CACJ,UAACI,MAAD;cAAA,OAAYT,sBAAA,CAAOU,SAAP,CAAiBD,MAAjB,EAAyBtB,GAAzB,CAAZ;YAAA,CADI,CAAN;UAAA,CADkC,CAAN;QAAA,CAAlC,CAAF;QAIAY,EAAE,CAAC,oCAAD,EAAuC;UAAA,OAAMC,sBAAA,CAAOC,UAAP,CAAkBE,KAAK,CAACK,GAAN,CAAU,SAAV,CAAlB,CAAN;QAAA,CAAvC,CAAF;MACD,CAVO,CAAR;MAYAV,QAAQ,CAAC,QAAD,EAAW,YAAM;QACvBC,EAAE,CAAC,oCAAD,EAAuC;UAAA,OAAMI,KAAK,CAACI,GAAN,CAAUtB,GAAV,EAAeI,SAAf,EAC5CgB,IAD4C,CACvC;YAAA,OAAMF,KAAK,CAACK,GAAN,CAAUvB,GAAV,EACToB,IADS,CACJ,UAACI,MAAD;cAAA,OAAYT,sBAAA,CAAOU,SAAP,CAAiBD,MAAjB,EAAyBpB,SAAzB,CAAZ;YAAA,CADI,CAAN;UAAA,CADuC,EAG5CgB,IAH4C,CAGvC;YAAA,OAAMF,KAAK,CAACY,GAAN,CAAU9B,GAAV,CAAN;UAAA,CAHuC,EAI5CoB,IAJ4C,CAIvC;YAAA,OAAML,sBAAA,CAAOC,UAAP,CAAkBE,KAAK,CAACK,GAAN,CAAUvB,GAAV,CAAlB,CAAN;UAAA,CAJuC,CAAN;QAAA,CAAvC,CAAF;QAMAc,EAAE,CAAC,kCAAD,EAAqC;UAAA,OAAMI,KAAK,CAACI,GAAN,CAAUtB,GAAV,EAAeE,GAAf,EAC1CkB,IAD0C,CACrC;YAAA,OAAMF,KAAK,CAACK,GAAN,CAAUvB,GAAV,EACToB,IADS,CACJ,UAACI,MAAD;cAAA,OAAYT,sBAAA,CAAOU,SAAP,CAAiBD,MAAjB,EAAyBtB,GAAzB,CAAZ;YAAA,CADI,CAAN;UAAA,CADqC,EAG1CkB,IAH0C,CAGrC;YAAA,OAAMF,KAAK,CAACY,GAAN,CAAU9B,GAAV,CAAN;UAAA,CAHqC,EAI1CoB,IAJ0C,CAIrC;YAAA,OAAML,sBAAA,CAAOC,UAAP,CAAkBE,KAAK,CAACK,GAAN,CAAUvB,GAAV,CAAlB,CAAN;UAAA,CAJqC,CAAN;QAAA,CAArC,CAAF;QAMAc,EAAE,CAAC,yDAAD,EAA4D;UAAA,OAAMI,KAAK,CAACI,GAAN,CAAUtB,GAAV,EAAe+B,SAAf,EACjEX,IADiE,CAC5D;YAAA,OAAMF,KAAK,CAACY,GAAN,CAAU9B,GAAV,CAAN;UAAA,CAD4D,EAEjEoB,IAFiE,CAE5D;YAAA,OAAML,sBAAA,CAAOC,UAAP,CAAkBE,KAAK,CAACK,GAAN,CAAUvB,GAAV,CAAlB,CAAN;UAAA,CAF4D,CAAN;QAAA,CAA5D,CAAF;MAGD,CAhBO,CAAR;MAkBAa,QAAQ,CAAC,UAAD,EAAa,YAAM;QACzBC,EAAE,CAAC,mCAAD,EAAsC;UAAA,OAAMI,KAAK,CAACI,GAAN,CAAUtB,GAAV,EAAeI,SAAf,EAC3CgB,IAD2C,CACtC;YAAA,OAAMF,KAAK,CAACK,GAAN,CAAUvB,GAAV,EACToB,IADS,CACJ,UAACI,MAAD;cAAA,OAAYT,sBAAA,CAAOU,SAAP,CAAiBD,MAAjB,EAAyBpB,SAAzB,CAAZ;YAAA,CADI,CAAN;UAAA,CADsC,EAG3CgB,IAH2C,CAGtC;YAAA,OAAMF,KAAK,CAACc,KAAN,EAAN;UAAA,CAHsC,EAI3CZ,IAJ2C,CAItC;YAAA,OAAML,sBAAA,CAAOC,UAAP,CAAkBE,KAAK,CAACK,GAAN,CAAUvB,GAAV,CAAlB,CAAN;UAAA,CAJsC,CAAN;QAAA,CAAtC,CAAF;QAMAc,EAAE,CAAC,iCAAD,EAAoC;UAAA,OAAMI,KAAK,CAACI,GAAN,CAAUtB,GAAV,EAAeE,GAAf,EACzCkB,IADyC,CACpC;YAAA,OAAMF,KAAK,CAACK,GAAN,CAAUvB,GAAV,EACToB,IADS,CACJ,UAACI,MAAD;cAAA,OAAYT,sBAAA,CAAOU,SAAP,CAAiBD,MAAjB,EAAyBtB,GAAzB,CAAZ;YAAA,CADI,CAAN;UAAA,CADoC,EAGzCkB,IAHyC,CAGpC;YAAA,OAAMF,KAAK,CAACc,KAAN,CAAYhC,GAAZ,CAAN;UAAA,CAHoC,EAIzCoB,IAJyC,CAIpC;YAAA,OAAML,sBAAA,CAAOC,UAAP,CAAkBE,KAAK,CAACK,GAAN,CAAUvB,GAAV,CAAlB,CAAN;UAAA,CAJoC,CAAN;QAAA,CAApC,CAAF;QAMAc,EAAE,CAAC,wDAAD,EAA2D;UAAA,OAAMI,KAAK,CAACI,GAAN,CAAUtB,GAAV,EAAe+B,SAAf,EAChEX,IADgE,CAC3D;YAAA,OAAMF,KAAK,CAACc,KAAN,CAAYhC,GAAZ,CAAN;UAAA,CAD2D,EAEhEoB,IAFgE,CAE3D;YAAA,OAAML,sBAAA,CAAOC,UAAP,CAAkBE,KAAK,CAACK,GAAN,CAAUvB,GAAV,CAAlB,CAAN;UAAA,CAF2D,CAAN;QAAA,CAA3D,CAAF;MAGD,CAhBO,CAAR;IAiBD,CAxGO,CAAR;EAyGD,CAlHO,CAAR;AAmHD"}
|
|
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":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webex/storage-adapter-spec",
|
|
3
|
-
"version": "3.0.0-beta.
|
|
3
|
+
"version": "3.0.0-beta.15",
|
|
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": "3.0.0-beta.
|
|
23
|
+
"@webex/test-helper-chai": "3.0.0-beta.15"
|
|
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', () =>
|
|
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(() =>
|
|
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', () =>
|
|
46
|
-
|
|
47
|
-
.
|
|
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`, () =>
|
|
51
|
-
|
|
52
|
-
.
|
|
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', () =>
|
|
56
|
-
|
|
57
|
-
.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
.then((result) => assert.deepEqual(result, [1, 2
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
bound.put(key, 3)
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
-
|
|
85
|
-
bound.get(key)
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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', () =>
|
|
95
|
-
|
|
96
|
-
.
|
|
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', () =>
|
|
99
|
-
|
|
100
|
-
.
|
|
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', () =>
|
|
107
|
-
|
|
108
|
-
.
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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', () =>
|
|
125
|
-
|
|
126
|
-
.
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
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
|
});
|