@merkur/plugin-session-storage 0.32.1 → 0.33.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/lib/index.cjs CHANGED
@@ -7,11 +7,11 @@ const KEY_PREFIX_SEPARATOR = '__';
7
7
  function setKeyPrefix(
8
8
  widget,
9
9
  additionalWords = [],
10
- defaultWords = ['widget', widget.name, widget.version]
10
+ defaultWords = ['widget', widget.name, widget.version],
11
11
  ) {
12
12
  const words = [...defaultWords, ...additionalWords].filter(Boolean);
13
13
  const prefix = `${KEY_PREFIX_SEPARATOR}${words.join(
14
- KEY_PREFIX_SEPARATOR
14
+ KEY_PREFIX_SEPARATOR,
15
15
  )}${KEY_PREFIX_SEPARATOR}`;
16
16
 
17
17
  widget.$in.sessionStorage.keyPrefix = prefix;
@@ -20,10 +20,7 @@ function setKeyPrefix(
20
20
  function sessionStoragePlugin() {
21
21
  return {
22
22
  async setup(widget) {
23
- widget = {
24
- ...sessionStorageAPI(),
25
- ...widget,
26
- };
23
+ core.assignMissingKeys(widget, sessionStorageAPI());
27
24
 
28
25
  widget.$in.sessionStorage = {};
29
26
  setKeyPrefix(widget);
@@ -63,7 +60,7 @@ function sessionStorageAPI() {
63
60
  throw new Error(
64
61
  `merkur.plugin-session-storage.get: Failed to parse a session storage item value identified by the key ${
65
62
  keyPrefix + key
66
- }: ${error.message}`
63
+ }: ${error.message}`,
67
64
  );
68
65
  }
69
66
  },
@@ -94,7 +91,7 @@ function sessionStorageAPI() {
94
91
  JSON.stringify({
95
92
  created: Date.now(),
96
93
  value,
97
- })
94
+ }),
98
95
  );
99
96
  } catch (error) {
100
97
  console.error(error);
package/lib/index.es9.cjs CHANGED
@@ -10,10 +10,7 @@ function setKeyPrefix(widget, additionalWords = [], defaultWords = ['widget', wi
10
10
  function sessionStoragePlugin() {
11
11
  return {
12
12
  async setup(widget) {
13
- widget = {
14
- ...sessionStorageAPI(),
15
- ...widget
16
- };
13
+ core.assignMissingKeys(widget, sessionStorageAPI());
17
14
  widget.$in.sessionStorage = {};
18
15
  setKeyPrefix(widget);
19
16
  widget.$dependencies.sessionStorage = getNativeSessionStorage();
package/lib/index.es9.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { bindWidgetToFunctions } from '@merkur/core';
1
+ import { assignMissingKeys, bindWidgetToFunctions } from '@merkur/core';
2
2
  const KEY_PREFIX_SEPARATOR = '__';
3
3
  function setKeyPrefix(widget, additionalWords = [], defaultWords = ['widget', widget.name, widget.version]) {
4
4
  const words = [...defaultWords, ...additionalWords].filter(Boolean);
@@ -8,10 +8,7 @@ function setKeyPrefix(widget, additionalWords = [], defaultWords = ['widget', wi
8
8
  function sessionStoragePlugin() {
9
9
  return {
10
10
  async setup(widget) {
11
- widget = {
12
- ...sessionStorageAPI(),
13
- ...widget
14
- };
11
+ assignMissingKeys(widget, sessionStorageAPI());
15
12
  widget.$in.sessionStorage = {};
16
13
  setKeyPrefix(widget);
17
14
  widget.$dependencies.sessionStorage = getNativeSessionStorage();
package/lib/index.js CHANGED
@@ -7,11 +7,11 @@ const KEY_PREFIX_SEPARATOR = '__';
7
7
  function setKeyPrefix(
8
8
  widget,
9
9
  additionalWords = [],
10
- defaultWords = ['widget', widget.name, widget.version]
10
+ defaultWords = ['widget', widget.name, widget.version],
11
11
  ) {
12
12
  const words = [...defaultWords, ...additionalWords].filter(Boolean);
13
13
  const prefix = `${KEY_PREFIX_SEPARATOR}${words.join(
14
- KEY_PREFIX_SEPARATOR
14
+ KEY_PREFIX_SEPARATOR,
15
15
  )}${KEY_PREFIX_SEPARATOR}`;
16
16
 
17
17
  widget.$in.sessionStorage.keyPrefix = prefix;
@@ -20,10 +20,7 @@ function setKeyPrefix(
20
20
  function sessionStoragePlugin() {
21
21
  return {
22
22
  async setup(widget) {
23
- widget = {
24
- ...sessionStorageAPI(),
25
- ...widget,
26
- };
23
+ core.assignMissingKeys(widget, sessionStorageAPI());
27
24
 
28
25
  widget.$in.sessionStorage = {};
29
26
  setKeyPrefix(widget);
@@ -63,7 +60,7 @@ function sessionStorageAPI() {
63
60
  throw new Error(
64
61
  `merkur.plugin-session-storage.get: Failed to parse a session storage item value identified by the key ${
65
62
  keyPrefix + key
66
- }: ${error.message}`
63
+ }: ${error.message}`,
67
64
  );
68
65
  }
69
66
  },
@@ -94,7 +91,7 @@ function sessionStorageAPI() {
94
91
  JSON.stringify({
95
92
  created: Date.now(),
96
93
  value,
97
- })
94
+ }),
98
95
  );
99
96
  } catch (error) {
100
97
  console.error(error);
package/lib/index.mjs CHANGED
@@ -1,15 +1,15 @@
1
- import { bindWidgetToFunctions } from '@merkur/core';
1
+ import { assignMissingKeys, bindWidgetToFunctions } from '@merkur/core';
2
2
 
3
3
  const KEY_PREFIX_SEPARATOR = '__';
4
4
 
5
5
  function setKeyPrefix(
6
6
  widget,
7
7
  additionalWords = [],
8
- defaultWords = ['widget', widget.name, widget.version]
8
+ defaultWords = ['widget', widget.name, widget.version],
9
9
  ) {
10
10
  const words = [...defaultWords, ...additionalWords].filter(Boolean);
11
11
  const prefix = `${KEY_PREFIX_SEPARATOR}${words.join(
12
- KEY_PREFIX_SEPARATOR
12
+ KEY_PREFIX_SEPARATOR,
13
13
  )}${KEY_PREFIX_SEPARATOR}`;
14
14
 
15
15
  widget.$in.sessionStorage.keyPrefix = prefix;
@@ -18,10 +18,7 @@ function setKeyPrefix(
18
18
  function sessionStoragePlugin() {
19
19
  return {
20
20
  async setup(widget) {
21
- widget = {
22
- ...sessionStorageAPI(),
23
- ...widget,
24
- };
21
+ assignMissingKeys(widget, sessionStorageAPI());
25
22
 
26
23
  widget.$in.sessionStorage = {};
27
24
  setKeyPrefix(widget);
@@ -61,7 +58,7 @@ function sessionStorageAPI() {
61
58
  throw new Error(
62
59
  `merkur.plugin-session-storage.get: Failed to parse a session storage item value identified by the key ${
63
60
  keyPrefix + key
64
- }: ${error.message}`
61
+ }: ${error.message}`,
65
62
  );
66
63
  }
67
64
  },
@@ -92,7 +89,7 @@ function sessionStorageAPI() {
92
89
  JSON.stringify({
93
90
  created: Date.now(),
94
91
  value,
95
- })
92
+ }),
96
93
  );
97
94
  } catch (error) {
98
95
  console.error(error);
package/lib/index.umd.js CHANGED
@@ -1 +1 @@
1
- !function(e,r){if("function"==typeof define&&define.amd)define("@merkur/plugin-session-storage",["exports","@merkur/core"],r);else if("undefined"!=typeof exports)r(exports,require("@merkur/core"));else{var t={exports:{}};r(t.exports,e.Merkur.Core),e.merkurPluginSessionStorage=t.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(e,r){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function n(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?n(Object(t),!0).forEach((function(r){i(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):n(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}function i(e,r,n){return(r=function(e){var r=function(e,r){if("object"!==t(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,r||"default");if("object"!==t(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(e)}(e,"string");return"symbol"===t(r)?r:String(r)}(r))in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function s(e,r,t,n,o,i,s){try{var u=e[i](s),c=u.value}catch(e){return void t(e)}u.done?r(c):Promise.resolve(c).then(n,o)}function u(e){return function(){var r=this,t=arguments;return new Promise((function(n,o){var i=e.apply(r,t);function u(e){s(i,n,o,u,c,"next",e)}function c(e){s(i,n,o,u,c,"throw",e)}u(void 0)}))}}function c(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,r){if(!e)return;if("string"==typeof e)return a(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return a(e,r)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function a(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=new Array(r);t<r;t++)n[t]=e[t];return n}Object.defineProperty(e,"__esModule",{value:!0}),e.sessionStoragePlugin=function(){return{setup:function(e){return u((function*(){return(e=o(o({},{sessionStorage:{get:function(e,r){var n=e.$dependencies.sessionStorage,o=e.$in.sessionStorage.keyPrefix;if(!n)return null;try{var i=JSON.parse(n.getItem(o+r));return i&&"object"===t(i)?i.value:void 0}catch(e){throw new Error("merkur.plugin-session-storage.get: Failed to parse a session storage item value identified by the key ".concat(o+r,": ").concat(e.message))}},set:function(e,r,t){var n=e.$dependencies.sessionStorage,o=e.$in.sessionStorage.keyPrefix;if(!n)return!1;try{n.setItem(o+r,JSON.stringify({created:Date.now(),value:t}))}catch(e){return console.error(e),!1}return!0},delete:function(e,r){var t=e.$dependencies.sessionStorage,n=e.$in.sessionStorage.keyPrefix;return!!t&&(t.removeItem(n+r),!0)}}}),e)).$in.sessionStorage={},l(e),e.$dependencies.sessionStorage="undefined"==typeof window?void 0:window.sessionStorage,e}))()},create:function(e){return u((function*(){return(0,r.bindWidgetToFunctions)(e,e.sessionStorage),e}))()}}},e.setKeyPrefix=l;var f="__";function l(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:["widget",e.name,e.version],n=[].concat(c(t),c(r)).filter(Boolean),o="".concat(f).concat(n.join(f)).concat(f);e.$in.sessionStorage.keyPrefix=o}}));
1
+ !function(e,n){if("function"==typeof define&&define.amd)define("@merkur/plugin-session-storage",["exports","@merkur/core"],n);else if("undefined"!=typeof exports)n(exports,require("@merkur/core"));else{var t={exports:{}};n(t.exports,e.Merkur.Core),e.merkurPluginSessionStorage=t.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(e,n){function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t(e)}function r(e,n,t,r,o,i,s){try{var u=e[i](s),a=u.value}catch(e){return void t(e)}u.done?n(a):Promise.resolve(a).then(r,o)}function o(e){return function(){var n=this,t=arguments;return new Promise((function(o,i){var s=e.apply(n,t);function u(e){r(s,o,i,u,a,"next",e)}function a(e){r(s,o,i,u,a,"throw",e)}u(void 0)}))}}function i(e){return function(e){if(Array.isArray(e))return s(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,n){if(!e)return;if("string"==typeof e)return s(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return s(e,n)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}Object.defineProperty(e,"__esModule",{value:!0}),e.sessionStoragePlugin=function(){return{setup:function(e){return o((function*(){return(0,n.assignMissingKeys)(e,{sessionStorage:{get:function(e,n){var r=e.$dependencies.sessionStorage,o=e.$in.sessionStorage.keyPrefix;if(!r)return null;try{var i=JSON.parse(r.getItem(o+n));return i&&"object"===t(i)?i.value:void 0}catch(e){throw new Error("merkur.plugin-session-storage.get: Failed to parse a session storage item value identified by the key ".concat(o+n,": ").concat(e.message))}},set:function(e,n,t){var r=e.$dependencies.sessionStorage,o=e.$in.sessionStorage.keyPrefix;if(!r)return!1;try{r.setItem(o+n,JSON.stringify({created:Date.now(),value:t}))}catch(e){return console.error(e),!1}return!0},delete:function(e,n){var t=e.$dependencies.sessionStorage,r=e.$in.sessionStorage.keyPrefix;return!!t&&(t.removeItem(r+n),!0)}}}),e.$in.sessionStorage={},a(e),e.$dependencies.sessionStorage="undefined"==typeof window?void 0:window.sessionStorage,e}))()},create:function(e){return o((function*(){return(0,n.bindWidgetToFunctions)(e,e.sessionStorage),e}))()}}},e.setKeyPrefix=a;var u="__";function a(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:["widget",e.name,e.version],r=[].concat(i(t),i(n)).filter(Boolean),o="".concat(u).concat(r.join(u)).concat(u);e.$in.sessionStorage.keyPrefix=o}}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@merkur/plugin-session-storage",
3
- "version": "0.32.1",
3
+ "version": "0.33.0",
4
4
  "description": "Merkur session storage.",
5
5
  "main": "lib/index",
6
6
  "module": "lib/index",
@@ -48,10 +48,10 @@
48
48
  },
49
49
  "homepage": "https://merkur.js.org/",
50
50
  "devDependencies": {
51
- "@merkur/core": "^0.32.0"
51
+ "@merkur/core": "^0.33.0"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "@merkur/core": "*"
55
55
  },
56
- "gitHead": "334660bef90e81c0b13b155efa03cad774e42edd"
56
+ "gitHead": "3e88b57abfad267ac3f3b20b2ae6bf50f93f5375"
57
57
  }