@webex/storage-adapter-local-forage 2.42.0 → 2.43.0

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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["namespaces","loggers","StorageAdapterLocalForage","Bound","oneFlight","keyFactory","key","namespace","options","set","logger","get","debug","resolve","localforage","clear","key_","removeItem","getItem","then","value","keys","includes","reject","NotFoundError","del","setItem","Error","info"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint-env browser */\n\nimport localforage from 'localforage';\nimport {oneFlight} from '@webex/common';\nimport {NotFoundError} from '@webex/webex-core';\n\nconst namespaces = new WeakMap();\nconst loggers = new WeakMap();\n\n/**\n * IndexedDB adapter for webex-core storage layer\n */\nexport default class StorageAdapterLocalForage {\n /**\n * @constructs {StorageAdapterLocalForage}\n * @param {string} basekey localforage key under which\n * all namespaces will be stored\n */\n constructor() {\n /**\n * localforage binding\n */\n this.Bound = class {\n /**\n * @constructs {Bound}\n * @param {string} namespace\n * @param {Object} options\n */\n constructor(namespace, options) {\n namespaces.set(this, namespace);\n loggers.set(this, options.logger);\n }\n\n /**\n * Clears the localforage\n * @param {string} key\n * @returns {Promise}\n */\n clear() {\n loggers.get(this).debug('storage-adapter-local-forage: clearing localforage');\n\n return Promise.resolve(localforage.clear());\n }\n\n @oneFlight({\n keyFactory: (key) => key,\n })\n /**\n * Removes the specified key\n * @param {string} key\n * @returns {Promise}\n */\n // suppress doc warning because decorators confuse eslint\n // eslint-disable-next-line require-jsdoc\n del(key) {\n const key_ = `${namespaces.get(this)}/${key}`;\n\n loggers.get(this).debug(`storage-adapter-local-forage: deleting \\`${key_}\\``);\n\n return localforage.removeItem(key_);\n }\n\n @oneFlight({\n keyFactory: (key) => key,\n })\n /**\n * Retrieves the data at the specified key\n * @param {string} key\n * @see https://localforage.github.io/localForage/#data-api-getitem\n * @returns {Promise<mixed>}\n */\n // suppress doc warning because decorators confuse eslint\n // eslint-disable-next-line require-jsdoc\n get(key) {\n const key_ = `${namespaces.get(this)}/${key}`;\n\n loggers.get(this).debug(`storage-adapter-local-forage: reading \\`${key_}\\``);\n\n return localforage.getItem(key_).then((value) => {\n // if the key does not exist, getItem() will return null\n if (value === null) {\n // If we got null, we need to check if it's because the key\n // doesn't exist or because it has a saved value of null.\n return localforage.keys().then((keys) => {\n if (keys.includes(key_)) {\n return Promise.resolve(value);\n }\n\n return Promise.reject(new NotFoundError(`No value found for ${key_}`));\n });\n }\n\n // even if undefined is saved, null will be returned by getItem()\n return Promise.resolve(value);\n });\n }\n\n /**\n * Stores the specified value at the specified key.\n * If key is undefined, removes the specified key.\n * @param {string} key\n * @param {mixed} value\n * @returns {Promise}\n */\n put(key, value) {\n if (typeof value === 'undefined') {\n return this.del(key);\n }\n const key_ = `${namespaces.get(this)}/${key}`;\n\n loggers.get(this).debug(`storage-adapter-local-forage: writing \\`${key_}\\``);\n\n return localforage.setItem(key_, value);\n }\n };\n }\n\n /**\n * Returns an adapter bound to the specified namespace\n * @param {string} namespace\n * @param {Object} options\n * @returns {Promise<Bound>}\n */\n bind(namespace, options) {\n options = options || {};\n if (!namespace) {\n return Promise.reject(new Error('`namespace` is required'));\n }\n\n if (!options.logger) {\n return Promise.reject(new Error('`options.logger` is required'));\n }\n\n options.logger.info('storage-adapter-local-forage: returning binding');\n\n return Promise.resolve(new this.Bound(namespace, options));\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_localforage","_interopRequireDefault","require","_common","_webexCore","namespaces","_weakMap","default","loggers","StorageAdapterLocalForage","_dec","_dec2","_class","_classCallCheck2","Bound","oneFlight","keyFactory","key","namespace","options","set","logger","_createClass2","value","clear","get","debug","_promise","resolve","localforage","del","key_","concat","removeItem","getItem","then","keys","includes","reject","NotFoundError","put","setItem","_applyDecoratedDescriptor2","prototype","_getOwnPropertyDescriptor","bind","Error","info","exports"],"sources":["index.js"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\n/* eslint-env browser */\n\nimport localforage from 'localforage';\nimport {oneFlight} from '@webex/common';\nimport {NotFoundError} from '@webex/webex-core';\n\nconst namespaces = new WeakMap();\nconst loggers = new WeakMap();\n\n/**\n * IndexedDB adapter for webex-core storage layer\n */\nexport default class StorageAdapterLocalForage {\n /**\n * @constructs {StorageAdapterLocalForage}\n * @param {string} basekey localforage key under which\n * all namespaces will be stored\n */\n constructor() {\n /**\n * localforage binding\n */\n this.Bound = class {\n /**\n * @constructs {Bound}\n * @param {string} namespace\n * @param {Object} options\n */\n constructor(namespace, options) {\n namespaces.set(this, namespace);\n loggers.set(this, options.logger);\n }\n\n /**\n * Clears the localforage\n * @param {string} key\n * @returns {Promise}\n */\n clear() {\n loggers.get(this).debug('storage-adapter-local-forage: clearing localforage');\n\n return Promise.resolve(localforage.clear());\n }\n\n @oneFlight({\n keyFactory: (key) => key,\n })\n /**\n * Removes the specified key\n * @param {string} key\n * @returns {Promise}\n */\n // suppress doc warning because decorators confuse eslint\n // eslint-disable-next-line require-jsdoc\n del(key) {\n const key_ = `${namespaces.get(this)}/${key}`;\n\n loggers.get(this).debug(`storage-adapter-local-forage: deleting \\`${key_}\\``);\n\n return localforage.removeItem(key_);\n }\n\n @oneFlight({\n keyFactory: (key) => key,\n })\n /**\n * Retrieves the data at the specified key\n * @param {string} key\n * @see https://localforage.github.io/localForage/#data-api-getitem\n * @returns {Promise<mixed>}\n */\n // suppress doc warning because decorators confuse eslint\n // eslint-disable-next-line require-jsdoc\n get(key) {\n const key_ = `${namespaces.get(this)}/${key}`;\n\n loggers.get(this).debug(`storage-adapter-local-forage: reading \\`${key_}\\``);\n\n return localforage.getItem(key_).then((value) => {\n // if the key does not exist, getItem() will return null\n if (value === null) {\n // If we got null, we need to check if it's because the key\n // doesn't exist or because it has a saved value of null.\n return localforage.keys().then((keys) => {\n if (keys.includes(key_)) {\n return Promise.resolve(value);\n }\n\n return Promise.reject(new NotFoundError(`No value found for ${key_}`));\n });\n }\n\n // even if undefined is saved, null will be returned by getItem()\n return Promise.resolve(value);\n });\n }\n\n /**\n * Stores the specified value at the specified key.\n * If key is undefined, removes the specified key.\n * @param {string} key\n * @param {mixed} value\n * @returns {Promise}\n */\n put(key, value) {\n if (typeof value === 'undefined') {\n return this.del(key);\n }\n const key_ = `${namespaces.get(this)}/${key}`;\n\n loggers.get(this).debug(`storage-adapter-local-forage: writing \\`${key_}\\``);\n\n return localforage.setItem(key_, value);\n }\n };\n }\n\n /**\n * Returns an adapter bound to the specified namespace\n * @param {string} namespace\n * @param {Object} options\n * @returns {Promise<Bound>}\n */\n bind(namespace, options) {\n options = options || {};\n if (!namespace) {\n return Promise.reject(new Error('`namespace` is required'));\n }\n\n if (!options.logger) {\n return Promise.reject(new Error('`options.logger` is required'));\n }\n\n options.logger.info('storage-adapter-local-forage: returning binding');\n\n return Promise.resolve(new this.Bound(namespace, options));\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/storage-adapter-local-forage",
3
- "version": "2.42.0",
3
+ "version": "2.43.0",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "author": "Matt Norris <matthew.g.norris@gmail.com>",
@@ -21,13 +21,13 @@
21
21
  ]
22
22
  },
23
23
  "devDependencies": {
24
- "@webex/test-helper-mocha": "2.42.0"
24
+ "@webex/test-helper-mocha": "2.43.0"
25
25
  },
26
26
  "dependencies": {
27
- "@webex/common": "2.42.0",
28
- "@webex/storage-adapter-local-forage": "2.42.0",
29
- "@webex/storage-adapter-spec": "2.42.0",
30
- "@webex/webex-core": "2.42.0",
27
+ "@webex/common": "2.43.0",
28
+ "@webex/storage-adapter-local-forage": "2.43.0",
29
+ "@webex/storage-adapter-spec": "2.43.0",
30
+ "@webex/webex-core": "2.43.0",
31
31
  "localforage": "^1.7.3"
32
32
  }
33
33
  }