UNPKG

@hal313/settings-manager-chrome-extension-adapter

Version:

A backing repository for settings-manager, falling on chrome.storage.local (or sync) as an implementation.

1 lines 2.41 kB
!function(n,t){if("function"==typeof define&&define.amd)define(["exports"],t);else if("undefined"!=typeof exports)t(exports);else{var e={};t(e),n.SettingsManager=e}}(this,function(n){"use strict";function e(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function")}function r(n,t){for(var e=0;e<t.length;e++){var r=t[e];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(n,r.key,r)}}function o(n,t,e){return t&&r(n.prototype,t),e&&r(n,e),n}function i(n){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(n){return typeof n}:function(n){return n&&"function"==typeof Symbol&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n})(n)}function u(n){return"function"==typeof n}function c(n){return null!==n&&"object"===i(n)&&!a(n)}function a(n){return Array.isArray(n)}function f(e,t){var n=a(t),r=n&&[]||{};return n?(e=e||[],r=r.concat(e),t.forEach(function(n,t){void 0===r[t]?r[t]=n:"object"===i(n)?r[t]=f(e[t],n):-1===e.indexOf(n)&&r.push(n)})):(c(e)&&Object.keys(e||{}).forEach(function(n){r[n]=e[n]}),Object.keys(t||{}).forEach(function(n){c(t[n])&&t[n]&&e[n]?r[n]=f(e[n],t[n]):r[n]=t[n]})),r}function s(e,r,o){return new Promise(function(n,t){if(u(e))try{n(e.apply(o||{},r))}catch(n){t(n)}n()})}Object.defineProperty(n,"__esModule",{value:!0}),n.isFunction=u,n.isObject=c,n.isArray=a,n.merge=f,n.execute=s,n.SettingsManager=n.InMemoryStore=void 0;var l=function(){function n(){e(this,n),this.settings={}}return o(n,[{key:"load",value:function(){return Promise.resolve(f({},this.settings))}},{key:"save",value:function(n){return this.settings=n,this.load()}},{key:"clear",value:function(){return this.save({})}}]),n}();n.InMemoryStore=l;var t=function(){function t(n){e(this,t),this.backingStore=n||new l}return o(t,[{key:"load",value:function(n,t){return h(this.backingStore.load(),n,t)}},{key:"save",value:function(t,n,e){var r=this;return t&&c(t)?h(this.backingStore.load().then(function(n){return r.backingStore.save(f(n,t))}).then(function(){return r.backingStore.load()}),n,e):y(s(e,['"settings" is not an object']))}},{key:"clear",value:function(n,t){return h(this.backingStore.clear(),n,t)}}]),t}();function y(n){return n.then(function(){}).catch(function(){})}function h(n,t,e){return n.then(function(n){return y(s(t,[n]))}).catch(function(n){return y(s(e,[n]))})}n.SettingsManager=t});