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 1.25 kB
!function(e,n){if("function"==typeof define&&define.amd)define(["exports"],n);else if("undefined"!=typeof exports)n(exports);else{var t={};n(t),e.SettingsManagerChromeExtensionAdapter=t}}(this,function(e){"use strict";function r(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function i(){return window.chrome&&window.chrome.runtime&&window.chrome.runtime.lastError?window.chrome.runtime.lastError:void 0}Object.defineProperty(e,"__esModule",{value:!0}),e.SettingsManagerChromeExtensionAdapter=void 0;var n=function(){function t(e,n){!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,t),this.path=n||"sm_ce",this.storage=e?chrome.storage.sync:chrome.storage.local}return function(e,n,t){n&&r(e.prototype,n),t&&r(e,t)}(t,[{key:"load",value:function(){var e=this;return new Promise(function(n,t){e.storage.get([e.path],function(e){i()?t():n(e||{})})})}},{key:"save",value:function(r){var o=this;return new Promise(function(e,n){var t={};t[o.path]=r,o.storage.set(t,function(){i()?n():e()})})}},{key:"clear",value:function(){return this.save(null)}}]),t}();e.SettingsManagerChromeExtensionAdapter=n});