json-storage-formatter 2.0.8 → 3.0.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/bundle.js CHANGED
@@ -1 +1 @@
1
- !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports["json-storage-formatter"]=r():e["json-storage-formatter"]=r()}(this,(()=>(()=>{"use strict";var e={333:(e,r,t)=>{function n(e){return n="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},n(e)}function o(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}Object.defineProperty(r,"__esModule",{value:!0}),r.clone=void 0;var i=t(646),u=t(346),a=t(473);r.clone=function(e){var t,f=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).shallow;if((0,a.isPrimitive)(e)||(0,i.isDate)(e))return e;if(Array.isArray(e))return f?function(e){if(Array.isArray(e))return o(e)}(t=e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e,r){if(e){if("string"==typeof e)return o(e,r);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?o(e,r):void 0}}(t)||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.")}():e.map((function(e){return(0,r.clone)(e)}));if(e instanceof Map){var l=Array.from(e.entries());return f?new Map(l):new Map(l.map((function(e){return(0,r.clone)(e)})))}if(e instanceof Set){var c=Array.from(e.values());return f?new Set(c):new Set(c.map((function(e){return(0,r.clone)(e)})))}return e instanceof RegExp?new RegExp(e.toString()):(0,u.isFunction)(e)?f?e:Object.create(e):f?Object.assign({},e):e instanceof Error?new Error(e.message):Object.keys(e).reduce((function(t,o){var i=e[o];return Object.assign(Object.assign({},t),function(e,r,t){return(r=function(e){var r=function(e){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var t=r.call(e,"string");if("object"!=n(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==n(r)?r:r+""}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}({},o,(0,r.clone)(i)))}),{})}},944:(e,r,t)=>{function n(e){return n="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},n(e)}function o(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}Object.defineProperty(r,"__esModule",{value:!0}),r.formatFromStore=void 0;var i=t(333),u=t(346),a=t(473);r.formatFromStore=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},f=t.jsonParse,l=t.sortKeys;return function(e){var t,i,f;if((0,a.isPrimitive)(e))return e;if("date"===(null==e?void 0:e.$t))return new Date(e.$v);if("map"===(null==e?void 0:e.$t)){var c=(null!==(t=e.$v)&&void 0!==t?t:[]).map((function(e){var t,n,i=(n=2,function(e){if(Array.isArray(e))return e}(t=e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var n,o,i,u,a=[],f=!0,l=!1;try{if(i=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;f=!1}else for(;!(f=(n=i.call(t)).done)&&(a.push(n.value),a.length!==r);f=!0);}catch(e){l=!0,o=e}finally{try{if(!f&&null!=t.return&&(u=t.return(),Object(u)!==u))return}finally{if(l)throw o}}return a}}(t,n)||function(e,r){if(e){if("string"==typeof e)return o(e,r);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?o(e,r):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=i[0],a=i[1];return[u,(0,r.formatFromStore)(a)]}));return new Map(c)}if("set"===(null==e?void 0:e.$t)){var s=null!==(i=e.$v)&&void 0!==i?i:[].map((function(e){return(0,r.formatFromStore)(e)}));return new Set(s)}return"regex"===(null==e?void 0:e.$t)?new RegExp(e.$v):"error"===(null==e?void 0:e.$t)?new Error(e.$v):Array.isArray(e)?e.map((function(e){return(0,r.formatFromStore)(e)})):"function"===(null==e?void 0:e.$t)?Function("(".concat(e.$v,")(...arguments)")):(f=Object.keys(e),l?(0,u.isFunction)(l)?f.sort(l):f.sort((function(e,r){return(null!=e?e:"").localeCompare(r)})):f).reduce((function(t,o){var i,u,a,f=e[o];return Object.assign(Object.assign({},t),(i={},u=o,a=(0,r.formatFromStore)(f),(u=function(e){var r=function(e){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var t=r.call(e,"string");if("object"!=n(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==n(r)?r:r+""}(u))in i?Object.defineProperty(i,u,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[u]=a,i))}),{})}(f?JSON.parse(e):(0,i.clone)(e))}},915:(e,r,t)=>{function n(e){return n="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},n(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.formatToStore=void 0;var o=t(333),i=t(646),u=t(346),a=t(473),f=t(43);r.formatToStore=function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{stringify:!1},t=r.stringify,l=r.validator,c=r.excludeTypes,s=r.excludeKeys,y=r.sortKeys,m=new Set(null!=c?c:[]),v=new Set(null!=s?s:[]),b=m.size||v.size,p=null!=l?l:function(e){var r=e.key,t=e.value;if(!b)return!0;var o=v.has(r),i=m.has(n(t));return!o&&!i},d=function(e){if((0,a.isPrimitive)(e))return e;var r;if(Array.isArray(e))return e.map((function(e){return d(e)}));if(e instanceof Map)return{$t:"map",$v:Array.from(e.entries()).map((function(e){return d(e)}))};if(e instanceof Set)return{$t:"set",$v:Array.from(e.values()).map((function(e){return d(e)}))};if((0,i.isDate)(e))return{$t:"date",$v:e.toISOString()};if((0,f.isRegex)(e))return{$t:"regex",$v:e.toString()};if((0,u.isFunction)(e)){var t;try{t={$t:"function",$v:e.toString()}}catch(e){t={$t:"error",$v:"Error: Could not serialize function"}}return t}return e instanceof Error?{$t:"error",$v:e.message}:(r=Object.keys(e),y?(0,u.isFunction)(y)?r.sort(y):r.sort((function(e,r){return(null!=e?e:"").localeCompare(r)})):r).reduce((function(r,t){var o,i,u,a=e[t],f=d(a);return p({obj:e,key:t,value:f})?Object.assign(Object.assign({},r),(o={},i=t,u=d(a),(i=function(e){var r=function(e){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var t=r.call(e,"string");if("object"!=n(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==n(r)?r:r+""}(i))in o?Object.defineProperty(o,i,{value:u,enumerable:!0,configurable:!0,writable:!0}):o[i]=u,o)):r}),{})},g=d((0,o.clone)(e));return t?JSON.stringify(g):g}},112:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isBoolean=void 0,r.isBoolean=function(e){return"boolean"==typeof e}},646:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isDate=void 0,r.isDate=function(e){return e instanceof Date}},346:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isFunction=void 0,r.isFunction=function(e){return"function"==typeof e||e instanceof Function}},243:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isNil=void 0,r.isNil=function(e){return null==e}},11:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isNumber=void 0,r.isNumber=function(e){return"number"==typeof e}},473:(e,r,t)=>{function n(e){return n="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},n(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.isPrimitive=void 0;var o=t(112),i=t(243),u=t(11),a=t(671);r.isPrimitive=function(e){return(0,i.isNil)(e)||(0,u.isNumber)(e)||(0,o.isBoolean)(e)||(0,a.isString)(e)||"symbol"===n(e)}},43:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isRegex=void 0,r.isRegex=function(e){return e instanceof RegExp}},671:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isString=void 0,r.isString=function(e){return"string"==typeof e}}},r={};function t(n){var o=r[n];if(void 0!==o)return o.exports;var i=r[n]={exports:{}};return e[n](i,i.exports,t),i.exports}var n={};return(()=>{var e=n;Object.defineProperty(e,"__esModule",{value:!0}),e.formatToStore=e.formatFromStore=e.isPrimitive=e.isFunction=e.isRegex=e.isDate=e.isString=e.isBoolean=e.isNumber=e.isNil=e.clone=void 0;var r=t(333);Object.defineProperty(e,"clone",{enumerable:!0,get:function(){return r.clone}});var o=t(243);Object.defineProperty(e,"isNil",{enumerable:!0,get:function(){return o.isNil}});var i=t(11);Object.defineProperty(e,"isNumber",{enumerable:!0,get:function(){return i.isNumber}});var u=t(112);Object.defineProperty(e,"isBoolean",{enumerable:!0,get:function(){return u.isBoolean}});var a=t(671);Object.defineProperty(e,"isString",{enumerable:!0,get:function(){return a.isString}});var f=t(646);Object.defineProperty(e,"isDate",{enumerable:!0,get:function(){return f.isDate}});var l=t(43);Object.defineProperty(e,"isRegex",{enumerable:!0,get:function(){return l.isRegex}});var c=t(346);Object.defineProperty(e,"isFunction",{enumerable:!0,get:function(){return c.isFunction}});var s=t(473);Object.defineProperty(e,"isPrimitive",{enumerable:!0,get:function(){return s.isPrimitive}});var y=t(944);Object.defineProperty(e,"formatFromStore",{enumerable:!0,get:function(){return y.formatFromStore}});var m=t(915);Object.defineProperty(e,"formatToStore",{enumerable:!0,get:function(){return m.formatToStore}})})(),n})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["json-storage-formatter"]=t():e["json-storage-formatter"]=t()}(this,(()=>(()=>{"use strict";var e={944:(e,t,r)=>{function n(e){return n="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},n(e)}function o(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==n(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function u(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,u,i,f=[],a=!0,l=!1;try{if(u=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;a=!1}else for(;!(a=(n=u.call(r)).done)&&(f.push(n.value),f.length!==t);a=!0);}catch(e){l=!0,o=e}finally{try{if(!a&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(l)throw o}}return f}}(e,t)||function(e,t){if(e){if("string"==typeof e)return i(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var f=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var a=f(r(671)),l=f(r(473)),c=function(e){return!(0,l.default)(e)};t.default=function(e){if(!(0,a.default)(e))return e;var t=function(e){var r,n;if(!c(e))return e;if(!("undefined"===(null==e?void 0:e.$t))){if("date"===(null==e?void 0:e.$t))return new Date(e.$v);if("map"===(null==e?void 0:e.$t)){var i=(null!==(r=e.$v)&&void 0!==r?r:[]).map((function(e){var r=u(e,2),n=r[0],o=r[1];return[n,t(o)]}));return new Map(i)}if("set"===(null==e?void 0:e.$t)){var f=(null!==(n=e.$v)&&void 0!==n?n:[]).map((function(e){return t(e)}));return new Set(f)}if("regex"===(null==e?void 0:e.$t)){var a=e.$v;return new RegExp(a.s,a.f)}return"error"===(null==e?void 0:e.$t)?new Error(e.$v):Array.isArray(e)?e.map((function(e){return t(e)})):"function"===(null==e?void 0:e.$t)?Function("(".concat(e.$v,")(...arguments)")):Object.keys(e).reduce((function(r,n){var u=e[n];return Object.assign(Object.assign({},r),o({},n,t(u)))}),{})}};return t(JSON.parse(e))}},915:(e,t,r)=>{function n(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=o(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==o(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e){return o="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},o(e)}var u=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var i=u(r(646)),f=u(r(346)),a=u(r(473)),l=u(r(43));t.default=function(e){var t,r,u,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=new Set(null!==(t=c.excludeTypes)&&void 0!==t?t:[]),d=new Set(null!==(r=c.excludeKeys)&&void 0!==r?r:[]),y=s.size||d.size,v=null!==(u=c.validator)&&void 0!==u?u:function(e){var t=e.key,r=e.value;if(!y)return!0;var n=d.has(t),u=s.has(o(r));return!n&&!u},b=function(e){if(void 0===e)return{$t:"undefined"};if((0,a.default)(e))return e;var t;if(Array.isArray(e))return e.map((function(e){return b(e)}));if(e instanceof Map)return{$t:"map",$v:Array.from(e.entries()).map((function(e){return b(e)}))};if(e instanceof Set)return{$t:"set",$v:Array.from(e.values()).map((function(e){return b(e)}))};if((0,i.default)(e))return{$t:"date",$v:e.toISOString()};if((0,l.default)(e))return{$t:"regex",$v:{s:e.source,f:e.flags}};if((0,f.default)(e)){var r;try{r={$t:"function",$v:e.toString()}}catch(e){r={$t:"error",$v:"Could not serialize function: ".concat(null==e?void 0:e.message)}}return r}return e instanceof Error?{$t:"error",$v:e.message}:(t=Object.keys(e),c.sortKeys?(0,f.default)(c.sortKeys)?t.sort(c.sortKeys):t.sort((function(e,t){return e.localeCompare(t)})):t).reduce((function(t,r){var o=e[r],u=b(o);return v({obj:e,key:r,value:u})?Object.assign(Object.assign({},t),n({},r,b(o))):t}),{})},m=b(e);return JSON.stringify(m)}},112:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return"boolean"==typeof e}},646:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return e instanceof Date}},346:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return"function"==typeof e||e instanceof Function}},243:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return null==e}},11:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return"number"==typeof e}},473:(e,t,r)=>{function n(e){return n="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},n(e)}var o=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var u=o(r(112)),i=o(r(243)),f=o(r(11)),a=o(r(671));t.default=function(e){return(0,i.default)(e)||(0,f.default)(e)||(0,u.default)(e)||(0,a.default)(e)||"symbol"===n(e)}},43:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return e instanceof RegExp}},671:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return"string"==typeof e}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var u=t[n]={exports:{}};return e[n](u,u.exports,r),u.exports}var n={};return(()=>{var e=n,t=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0}),e.formatToStore=e.formatFromStore=e.isPrimitive=e.isFunction=e.isRegex=e.isDate=e.isString=e.isBoolean=e.isNumber=e.isNil=void 0;var o=r(243);Object.defineProperty(e,"isNil",{enumerable:!0,get:function(){return t(o).default}});var u=r(11);Object.defineProperty(e,"isNumber",{enumerable:!0,get:function(){return t(u).default}});var i=r(112);Object.defineProperty(e,"isBoolean",{enumerable:!0,get:function(){return t(i).default}});var f=r(671);Object.defineProperty(e,"isString",{enumerable:!0,get:function(){return t(f).default}});var a=r(646);Object.defineProperty(e,"isDate",{enumerable:!0,get:function(){return t(a).default}});var l=r(43);Object.defineProperty(e,"isRegex",{enumerable:!0,get:function(){return t(l).default}});var c=r(346);Object.defineProperty(e,"isFunction",{enumerable:!0,get:function(){return t(c).default}});var s=r(473);Object.defineProperty(e,"isPrimitive",{enumerable:!0,get:function(){return t(s).default}});var d=r(944);Object.defineProperty(e,"formatFromStore",{enumerable:!0,get:function(){return t(d).default}});var y=r(915);Object.defineProperty(e,"formatToStore",{enumerable:!0,get:function(){return t(y).default}})})(),n})()));
@@ -4,8 +4,5 @@
4
4
  * @returns
5
5
  * Original form of the value
6
6
  */
7
- export declare const formatFromStore: <T = unknown>(value: unknown, { jsonParse, sortKeys, }?: {
8
- /** If the value should be parsed from json before formatting */
9
- jsonParse?: boolean;
10
- sortKeys?: boolean | ((a: string, b: string) => number);
11
- }) => T;
7
+ declare const formatFromStore: <T = unknown>(value: string) => T;
8
+ export default formatFromStore;
@@ -1 +1 @@
1
- !function(r,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["json-storage-formatter"]=e():r["json-storage-formatter"]=e()}(this,(()=>(()=>{"use strict";var r={333:(r,e,t)=>{function n(r){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},n(r)}function o(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}Object.defineProperty(e,"__esModule",{value:!0}),e.clone=void 0;var i=t(646),u=t(346),a=t(473);e.clone=function(r){var t,l=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).shallow;if((0,a.isPrimitive)(r)||(0,i.isDate)(r))return r;if(Array.isArray(r))return l?function(r){if(Array.isArray(r))return o(r)}(t=r)||function(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r)}(t)||function(r,e){if(r){if("string"==typeof r)return o(r,e);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?o(r,e):void 0}}(t)||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.")}():r.map((function(r){return(0,e.clone)(r)}));if(r instanceof Map){var f=Array.from(r.entries());return l?new Map(f):new Map(f.map((function(r){return(0,e.clone)(r)})))}if(r instanceof Set){var c=Array.from(r.values());return l?new Set(c):new Set(c.map((function(r){return(0,e.clone)(r)})))}return r instanceof RegExp?new RegExp(r.toString()):(0,u.isFunction)(r)?l?r:Object.create(r):l?Object.assign({},r):r instanceof Error?new Error(r.message):Object.keys(r).reduce((function(t,o){var i=r[o];return Object.assign(Object.assign({},t),function(r,e,t){return(e=function(r){var e=function(r){if("object"!=n(r)||!r)return r;var e=r[Symbol.toPrimitive];if(void 0!==e){var t=e.call(r,"string");if("object"!=n(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(r)}(r);return"symbol"==n(e)?e:e+""}(e))in r?Object.defineProperty(r,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):r[e]=t,r}({},o,(0,e.clone)(i)))}),{})}},944:(r,e,t)=>{function n(r){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},n(r)}function o(r,e){(null==e||e>r.length)&&(e=r.length);for(var t=0,n=Array(e);t<e;t++)n[t]=r[t];return n}Object.defineProperty(e,"__esModule",{value:!0}),e.formatFromStore=void 0;var i=t(333),u=t(346),a=t(473);e.formatFromStore=function(r){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=t.jsonParse,f=t.sortKeys;return function(r){var t,i,l;if((0,a.isPrimitive)(r))return r;if("date"===(null==r?void 0:r.$t))return new Date(r.$v);if("map"===(null==r?void 0:r.$t)){var c=(null!==(t=r.$v)&&void 0!==t?t:[]).map((function(r){var t,n,i=(n=2,function(r){if(Array.isArray(r))return r}(t=r)||function(r,e){var t=null==r?null:"undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(null!=t){var n,o,i,u,a=[],l=!0,f=!1;try{if(i=(t=t.call(r)).next,0===e){if(Object(t)!==t)return;l=!1}else for(;!(l=(n=i.call(t)).done)&&(a.push(n.value),a.length!==e);l=!0);}catch(r){f=!0,o=r}finally{try{if(!l&&null!=t.return&&(u=t.return(),Object(u)!==u))return}finally{if(f)throw o}}return a}}(t,n)||function(r,e){if(r){if("string"==typeof r)return o(r,e);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?o(r,e):void 0}}(t,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),u=i[0],a=i[1];return[u,(0,e.formatFromStore)(a)]}));return new Map(c)}if("set"===(null==r?void 0:r.$t)){var s=null!==(i=r.$v)&&void 0!==i?i:[].map((function(r){return(0,e.formatFromStore)(r)}));return new Set(s)}return"regex"===(null==r?void 0:r.$t)?new RegExp(r.$v):"error"===(null==r?void 0:r.$t)?new Error(r.$v):Array.isArray(r)?r.map((function(r){return(0,e.formatFromStore)(r)})):"function"===(null==r?void 0:r.$t)?Function("(".concat(r.$v,")(...arguments)")):(l=Object.keys(r),f?(0,u.isFunction)(f)?l.sort(f):l.sort((function(r,e){return(null!=r?r:"").localeCompare(e)})):l).reduce((function(t,o){var i,u,a,l=r[o];return Object.assign(Object.assign({},t),(i={},u=o,a=(0,e.formatFromStore)(l),(u=function(r){var e=function(r){if("object"!=n(r)||!r)return r;var e=r[Symbol.toPrimitive];if(void 0!==e){var t=e.call(r,"string");if("object"!=n(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(r)}(r);return"symbol"==n(e)?e:e+""}(u))in i?Object.defineProperty(i,u,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[u]=a,i))}),{})}(l?JSON.parse(r):(0,i.clone)(r))}},112:(r,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isBoolean=void 0,e.isBoolean=function(r){return"boolean"==typeof r}},646:(r,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isDate=void 0,e.isDate=function(r){return r instanceof Date}},346:(r,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isFunction=void 0,e.isFunction=function(r){return"function"==typeof r||r instanceof Function}},243:(r,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isNil=void 0,e.isNil=function(r){return null==r}},11:(r,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isNumber=void 0,e.isNumber=function(r){return"number"==typeof r}},473:(r,e,t)=>{function n(r){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(r){return typeof r}:function(r){return r&&"function"==typeof Symbol&&r.constructor===Symbol&&r!==Symbol.prototype?"symbol":typeof r},n(r)}Object.defineProperty(e,"__esModule",{value:!0}),e.isPrimitive=void 0;var o=t(112),i=t(243),u=t(11),a=t(671);e.isPrimitive=function(r){return(0,i.isNil)(r)||(0,u.isNumber)(r)||(0,o.isBoolean)(r)||(0,a.isString)(r)||"symbol"===n(r)}},671:(r,e)=>{Object.defineProperty(e,"__esModule",{value:!0}),e.isString=void 0,e.isString=function(r){return"string"==typeof r}}},e={};return function t(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return r[n](i,i.exports,t),i.exports}(944)})()));
1
+ !function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports["json-storage-formatter"]=e():t["json-storage-formatter"]=e()}(this,(()=>(()=>{"use strict";var t={112:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0});e.default=function(t){return"boolean"==typeof t}},243:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0});e.default=function(t){return null==t}},11:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0});e.default=function(t){return"number"==typeof t}},473:(t,e,r)=>{function n(t){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},n(t)}var o=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});var u=o(r(112)),i=o(r(243)),f=o(r(11)),l=o(r(671));e.default=function(t){return(0,i.default)(t)||(0,f.default)(t)||(0,u.default)(t)||(0,l.default)(t)||"symbol"===n(t)}},671:(t,e)=>{Object.defineProperty(e,"__esModule",{value:!0});e.default=function(t){return"string"==typeof t}}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var u=e[n]={exports:{}};return t[n](u,u.exports,r),u.exports}var n={};return(()=>{var t=n;function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function o(t,r,n){return(r=function(t){var r=function(t,r){if("object"!=e(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var o=n.call(t,r||"default");if("object"!=e(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}(t,"string");return"symbol"==e(r)?r:r+""}(r))in t?Object.defineProperty(t,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[r]=n,t}function u(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,u,i,f=[],l=!0,a=!1;try{if(u=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;l=!1}else for(;!(l=(n=u.call(r)).done)&&(f.push(n.value),f.length!==e);l=!0);}catch(t){a=!0,o=t}finally{try{if(!l&&null!=r.return&&(i=r.return(),Object(i)!==i))return}finally{if(a)throw o}}return f}}(t,e)||function(t,e){if(t){if("string"==typeof t)return i(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}var f=function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(t,"__esModule",{value:!0});var l=f(r(671)),a=f(r(473)),c=function(t){return!(0,a.default)(t)};t.default=function(t){if(!(0,l.default)(t))return t;var e=function(t){var r,n;if(!c(t))return t;if(!("undefined"===(null==t?void 0:t.$t))){if("date"===(null==t?void 0:t.$t))return new Date(t.$v);if("map"===(null==t?void 0:t.$t)){var i=(null!==(r=t.$v)&&void 0!==r?r:[]).map((function(t){var r=u(t,2),n=r[0],o=r[1];return[n,e(o)]}));return new Map(i)}if("set"===(null==t?void 0:t.$t)){var f=(null!==(n=t.$v)&&void 0!==n?n:[]).map((function(t){return e(t)}));return new Set(f)}if("regex"===(null==t?void 0:t.$t)){var l=t.$v;return new RegExp(l.s,l.f)}return"error"===(null==t?void 0:t.$t)?new Error(t.$v):Array.isArray(t)?t.map((function(t){return e(t)})):"function"===(null==t?void 0:t.$t)?Function("(".concat(t.$v,")(...arguments)")):Object.keys(t).reduce((function(r,n){var u=t[n];return Object.assign(Object.assign({},r),o({},n,e(u)))}),{})}};return e(JSON.parse(t))}})(),n})()));
@@ -1,24 +1,39 @@
1
- import { TPrimitives } from "./types";
1
+ import type { Primitives } from './types';
2
2
  /**
3
- * Add metadata to a value to store it as json, it also supports Map, Set, Arrays,
4
- * Returns a new object which is a clone of the original object with metadata
5
- * @template {TValue} The type of the value to format
6
- * @template {TStringify} If the value should be stringified
7
- * @param {TValue} value The value to format
8
- * @param {{ stringify: TStringify }} { stringify: boolean } If the value should be stringified
3
+ * Formats an object to be stored, it adds metadata to preserve data types
4
+ * Compatible with Map, Set, Date, RegExp, Function, Error
5
+ * * @param value The value to format
6
+ * @param options Formatting options
7
+ * @param options.excludeTypes An array or set of primitive types to exclude from the stringified version
8
+ * @param options.excludeKeys An array or set of keys to exclude from the stringified version
9
+ * @param options.sortKeys If true, it will sort the keys of the object alphabetically, or a function to sort the keys,
10
+ * This helps to guarantee a consistent order of the keys in the stringified version
11
+ * @param options.validator Returns true if the value should be included in the stringified version,
12
+ * if provided it will override the default validator and the excludesTypes and excludeKeys
13
+ * @returns A stringified version of the object with metadata
9
14
  */
10
- export declare const formatToStore: <TValue, TStringify extends boolean = false>(value: TValue, { stringify, validator, excludeTypes, excludeKeys, sortKeys, }?: {
11
- stringify?: TStringify;
12
- excludeTypes?: TPrimitives[] | Set<TPrimitives>;
15
+ declare const formatToStore: <T>(value: T, options?: {
16
+ /**
17
+ * If true, it will return a stringified version of the object
18
+ */
19
+ excludeTypes?: Primitives[] | Set<Primitives>;
20
+ /**
21
+ * An array or set of keys to exclude from the stringified version
22
+ */
13
23
  excludeKeys?: string[] | Set<string>;
24
+ /**
25
+ * If true, it will sort the keys of the object alphabetically, or a function to sort the keys,
26
+ * This helps to guarantee a consistent order of the keys in the stringified version
27
+ */
14
28
  sortKeys?: boolean | ((a: string, b: string) => number);
15
29
  /**
16
30
  * Returns true if the value should be included in the stringified version,
17
31
  * if provided it will override the default validator and the excludesTypes and excludeKeys
18
32
  */
19
- validator?: ({ obj, key, value, }: {
33
+ validator?: ({ obj, key, value }: {
20
34
  obj: unknown;
21
35
  key: string;
22
36
  value: unknown;
23
37
  }) => boolean | undefined;
24
- }) => TStringify extends true ? string : unknown;
38
+ }) => string;
39
+ export default formatToStore;
package/formatToStore.js CHANGED
@@ -1 +1 @@
1
- !function(e,r){"object"==typeof exports&&"object"==typeof module?module.exports=r():"function"==typeof define&&define.amd?define([],r):"object"==typeof exports?exports["json-storage-formatter"]=r():e["json-storage-formatter"]=r()}(this,(()=>(()=>{"use strict";var e={333:(e,r,t)=>{function n(e){return n="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},n(e)}function o(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,n=Array(r);t<r;t++)n[t]=e[t];return n}Object.defineProperty(r,"__esModule",{value:!0}),r.clone=void 0;var i=t(646),u=t(346),a=t(473);r.clone=function(e){var t,f=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).shallow;if((0,a.isPrimitive)(e)||(0,i.isDate)(e))return e;if(Array.isArray(e))return f?function(e){if(Array.isArray(e))return o(e)}(t=e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e,r){if(e){if("string"==typeof e)return o(e,r);var t={}.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(e):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?o(e,r):void 0}}(t)||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.")}():e.map((function(e){return(0,r.clone)(e)}));if(e instanceof Map){var c=Array.from(e.entries());return f?new Map(c):new Map(c.map((function(e){return(0,r.clone)(e)})))}if(e instanceof Set){var s=Array.from(e.values());return f?new Set(s):new Set(s.map((function(e){return(0,r.clone)(e)})))}return e instanceof RegExp?new RegExp(e.toString()):(0,u.isFunction)(e)?f?e:Object.create(e):f?Object.assign({},e):e instanceof Error?new Error(e.message):Object.keys(e).reduce((function(t,o){var i=e[o];return Object.assign(Object.assign({},t),function(e,r,t){return(r=function(e){var r=function(e){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var t=r.call(e,"string");if("object"!=n(t))return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==n(r)?r:r+""}(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}({},o,(0,r.clone)(i)))}),{})}},112:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isBoolean=void 0,r.isBoolean=function(e){return"boolean"==typeof e}},646:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isDate=void 0,r.isDate=function(e){return e instanceof Date}},346:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isFunction=void 0,r.isFunction=function(e){return"function"==typeof e||e instanceof Function}},243:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isNil=void 0,r.isNil=function(e){return null==e}},11:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isNumber=void 0,r.isNumber=function(e){return"number"==typeof e}},473:(e,r,t)=>{function n(e){return n="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},n(e)}Object.defineProperty(r,"__esModule",{value:!0}),r.isPrimitive=void 0;var o=t(112),i=t(243),u=t(11),a=t(671);r.isPrimitive=function(e){return(0,i.isNil)(e)||(0,u.isNumber)(e)||(0,o.isBoolean)(e)||(0,a.isString)(e)||"symbol"===n(e)}},43:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isRegex=void 0,r.isRegex=function(e){return e instanceof RegExp}},671:(e,r)=>{Object.defineProperty(r,"__esModule",{value:!0}),r.isString=void 0,r.isString=function(e){return"string"==typeof e}}},r={};function t(n){var o=r[n];if(void 0!==o)return o.exports;var i=r[n]={exports:{}};return e[n](i,i.exports,t),i.exports}var n={};return(()=>{var e=n;function r(e){return r="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},r(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.formatToStore=void 0;var o=t(333),i=t(646),u=t(346),a=t(473),f=t(43);e.formatToStore=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{stringify:!1},n=t.stringify,c=t.validator,s=t.excludeTypes,l=t.excludeKeys,y=t.sortKeys,v=new Set(null!=s?s:[]),m=new Set(null!=l?l:[]),p=v.size||m.size,b=null!=c?c:function(e){var t=e.key,n=e.value;if(!p)return!0;var o=m.has(t),i=v.has(r(n));return!o&&!i},d=function(e){if((0,a.isPrimitive)(e))return e;var t;if(Array.isArray(e))return e.map((function(e){return d(e)}));if(e instanceof Map)return{$t:"map",$v:Array.from(e.entries()).map((function(e){return d(e)}))};if(e instanceof Set)return{$t:"set",$v:Array.from(e.values()).map((function(e){return d(e)}))};if((0,i.isDate)(e))return{$t:"date",$v:e.toISOString()};if((0,f.isRegex)(e))return{$t:"regex",$v:e.toString()};if((0,u.isFunction)(e)){var n;try{n={$t:"function",$v:e.toString()}}catch(e){n={$t:"error",$v:"Error: Could not serialize function"}}return n}return e instanceof Error?{$t:"error",$v:e.message}:(t=Object.keys(e),y?(0,u.isFunction)(y)?t.sort(y):t.sort((function(e,r){return(null!=e?e:"").localeCompare(r)})):t).reduce((function(t,n){var o,i,u,a=e[n],f=d(a);return b({obj:e,key:n,value:f})?Object.assign(Object.assign({},t),(o={},i=n,u=d(a),(i=function(e){var t=function(e){if("object"!=r(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,"string");if("object"!=r(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==r(t)?t:t+""}(i))in o?Object.defineProperty(o,i,{value:u,enumerable:!0,configurable:!0,writable:!0}):o[i]=u,o)):t}),{})},S=d((0,o.clone)(e));return n?JSON.stringify(S):S}})(),n})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["json-storage-formatter"]=t():e["json-storage-formatter"]=t()}(this,(()=>(()=>{"use strict";var e={112:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return"boolean"==typeof e}},646:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return e instanceof Date}},346:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return"function"==typeof e||e instanceof Function}},243:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return null==e}},11:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return"number"==typeof e}},473:(e,t,r)=>{function n(e){return n="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},n(e)}var o=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var u=o(r(112)),f=o(r(243)),i=o(r(11)),a=o(r(671));t.default=function(e){return(0,f.default)(e)||(0,i.default)(e)||(0,u.default)(e)||(0,a.default)(e)||"symbol"===n(e)}},43:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return e instanceof RegExp}},671:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return"string"==typeof e}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var u=t[n]={exports:{}};return e[n](u,u.exports,r),u.exports}var n={};return(()=>{var e=n;function t(e,t,r){return(t=function(e){var t=function(e,t){if("object"!=o(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=o(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==o(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e){return o="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},o(e)}var u=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0});var f=u(r(646)),i=u(r(346)),a=u(r(473)),l=u(r(43));e.default=function(e){var r,n,u,c=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},s=new Set(null!==(r=c.excludeTypes)&&void 0!==r?r:[]),d=new Set(null!==(n=c.excludeKeys)&&void 0!==n?n:[]),y=s.size||d.size,v=null!==(u=c.validator)&&void 0!==u?u:function(e){var t=e.key,r=e.value;if(!y)return!0;var n=d.has(t),u=s.has(o(r));return!n&&!u},p=function(e){if(void 0===e)return{$t:"undefined"};if((0,a.default)(e))return e;var r;if(Array.isArray(e))return e.map((function(e){return p(e)}));if(e instanceof Map)return{$t:"map",$v:Array.from(e.entries()).map((function(e){return p(e)}))};if(e instanceof Set)return{$t:"set",$v:Array.from(e.values()).map((function(e){return p(e)}))};if((0,f.default)(e))return{$t:"date",$v:e.toISOString()};if((0,l.default)(e))return{$t:"regex",$v:{s:e.source,f:e.flags}};if((0,i.default)(e)){var n;try{n={$t:"function",$v:e.toString()}}catch(e){n={$t:"error",$v:"Could not serialize function: ".concat(null==e?void 0:e.message)}}return n}return e instanceof Error?{$t:"error",$v:e.message}:(r=Object.keys(e),c.sortKeys?(0,i.default)(c.sortKeys)?r.sort(c.sortKeys):r.sort((function(e,t){return e.localeCompare(t)})):r).reduce((function(r,n){var o=e[n],u=p(o);return v({obj:e,key:n,value:u})?Object.assign(Object.assign({},r),t({},n,p(o))):r}),{})},b=p(e);return JSON.stringify(b)}})(),n})()));
package/index.d.ts CHANGED
@@ -1,12 +1,11 @@
1
- export { clone } from "./clone";
2
- export { isNil } from "./isNil";
3
- export { isNumber } from "./isNumber";
4
- export { isBoolean } from "./isBoolean";
5
- export { isString } from "./isString";
6
- export { isDate } from "./isDate";
7
- export { isRegex } from "./isRegex";
8
- export { isFunction } from "./isFunction";
9
- export { isPrimitive } from "./isPrimitive";
10
- export { TPrimitives, IValueWithMetaData } from "./types";
11
- export { formatFromStore } from "./formatFromStore";
12
- export { formatToStore } from "./formatToStore";
1
+ export { default as isNil } from './isNil';
2
+ export { default as isNumber } from './isNumber';
3
+ export { default as isBoolean } from './isBoolean';
4
+ export { default as isString } from './isString';
5
+ export { default as isDate } from './isDate';
6
+ export { default as isRegex } from './isRegex';
7
+ export { default as isFunction } from './isFunction';
8
+ export { default as isPrimitive } from './isPrimitive';
9
+ export { default as formatFromStore } from './formatFromStore';
10
+ export { default as formatToStore } from './formatToStore';
11
+ export type { Primitives, EnvelopData } from './types';
package/isBoolean.d.ts CHANGED
@@ -5,4 +5,5 @@
5
5
  * true if the value is a boolean
6
6
  * false otherwise
7
7
  * */
8
- export declare const isBoolean: (value: unknown) => value is boolean;
8
+ declare const isBoolean: (value: unknown) => value is boolean;
9
+ export default isBoolean;
package/isBoolean.js CHANGED
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports["json-storage-formatter"]=o():e["json-storage-formatter"]=o()}(this,(()=>(()=>{"use strict";var e={};return(()=>{var o=e;Object.defineProperty(o,"__esModule",{value:!0}),o.isBoolean=void 0,o.isBoolean=function(e){return"boolean"==typeof e}})(),e})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["json-storage-formatter"]=t():e["json-storage-formatter"]=t()}(this,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return"boolean"==typeof e}})(),e})()));
package/isDate.d.ts CHANGED
@@ -4,4 +4,5 @@
4
4
  * true if the value is a Date
5
5
  * false otherwise
6
6
  */
7
- export declare const isDate: (value: unknown) => value is Date;
7
+ declare const isDate: (value: unknown) => value is Date;
8
+ export default isDate;
package/isDate.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["json-storage-formatter"]=t():e["json-storage-formatter"]=t()}(this,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0}),t.isDate=void 0,t.isDate=function(e){return e instanceof Date}})(),e})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["json-storage-formatter"]=t():e["json-storage-formatter"]=t()}(this,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return e instanceof Date}})(),e})()));
package/isFunction.d.ts CHANGED
@@ -3,4 +3,5 @@
3
3
  * @param value The value to check
4
4
  * @returns true if the value is a function, false otherwise
5
5
  * */
6
- export declare const isFunction: <T extends (...args: any[]) => any>(value: unknown) => value is NonNullable<T>;
6
+ declare const isFunction: <T extends (...args: any[]) => any>(value: unknown) => value is NonNullable<T>;
7
+ export default isFunction;
package/isFunction.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["json-storage-formatter"]=t():e["json-storage-formatter"]=t()}(this,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0}),t.isFunction=void 0,t.isFunction=function(e){return"function"==typeof e||e instanceof Function}})(),e})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["json-storage-formatter"]=t():e["json-storage-formatter"]=t()}(this,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return"function"==typeof e||e instanceof Function}})(),e})()));
package/isNil.d.ts CHANGED
@@ -5,4 +5,5 @@
5
5
  * true if the value is null or undefined
6
6
  * false otherwise
7
7
  * */
8
- export declare const isNil: (value: unknown) => value is null | undefined;
8
+ declare const isNil: (value: unknown) => value is null | undefined;
9
+ export default isNil;
package/isNil.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["json-storage-formatter"]=t():e["json-storage-formatter"]=t()}(this,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0}),t.isNil=void 0,t.isNil=function(e){return null==e}})(),e})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["json-storage-formatter"]=t():e["json-storage-formatter"]=t()}(this,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return null==e}})(),e})()));
package/isNumber.d.ts CHANGED
@@ -5,4 +5,5 @@
5
5
  * true if the value is a number
6
6
  * false otherwise
7
7
  * */
8
- export declare const isNumber: (value: unknown) => value is number;
8
+ declare const isNumber: (value: unknown) => value is number;
9
+ export default isNumber;
package/isNumber.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["json-storage-formatter"]=t():e["json-storage-formatter"]=t()}(this,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0}),t.isNumber=void 0,t.isNumber=function(e){return"number"==typeof e}})(),e})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["json-storage-formatter"]=t():e["json-storage-formatter"]=t()}(this,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return"number"==typeof e}})(),e})()));
package/isPrimitive.d.ts CHANGED
@@ -6,4 +6,5 @@
6
6
  * false otherwise
7
7
  * null, number, boolean, string, symbol
8
8
  */
9
- export declare const isPrimitive: (value: unknown) => value is string | number | boolean | symbol;
9
+ declare const isPrimitive: (value: unknown) => value is string | number | boolean | symbol;
10
+ export default isPrimitive;
package/isPrimitive.js CHANGED
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports["json-storage-formatter"]=o():e["json-storage-formatter"]=o()}(this,(()=>(()=>{"use strict";var e={112:(e,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.isBoolean=void 0,o.isBoolean=function(e){return"boolean"==typeof e}},243:(e,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.isNil=void 0,o.isNil=function(e){return null==e}},11:(e,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.isNumber=void 0,o.isNumber=function(e){return"number"==typeof e}},671:(e,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.isString=void 0,o.isString=function(e){return"string"==typeof e}}},o={};function t(r){var i=o[r];if(void 0!==i)return i.exports;var n=o[r]={exports:{}};return e[r](n,n.exports,t),n.exports}var r={};return(()=>{var e=r;function o(e){return o="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},o(e)}Object.defineProperty(e,"__esModule",{value:!0}),e.isPrimitive=void 0;var i=t(112),n=t(243),u=t(11),s=t(671);e.isPrimitive=function(e){return(0,n.isNil)(e)||(0,u.isNumber)(e)||(0,i.isBoolean)(e)||(0,s.isString)(e)||"symbol"===o(e)}})(),r})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["json-storage-formatter"]=t():e["json-storage-formatter"]=t()}(this,(()=>(()=>{"use strict";var e={112:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return"boolean"==typeof e}},243:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return null==e}},11:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return"number"==typeof e}},671:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return"string"==typeof e}}},t={};function o(r){var n=t[r];if(void 0!==n)return n.exports;var u=t[r]={exports:{}};return e[r](u,u.exports,o),u.exports}var r={};return(()=>{var 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)}var n=function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e,"__esModule",{value:!0});var u=n(o(112)),f=n(o(243)),l=n(o(11)),a=n(o(671));e.default=function(e){return(0,f.default)(e)||(0,l.default)(e)||(0,u.default)(e)||(0,a.default)(e)||"symbol"===t(e)}})(),r})()));
package/isRegex.d.ts CHANGED
@@ -3,4 +3,5 @@
3
3
  * @param value The value to check
4
4
  * @returns true if the value is a RegExp, false otherwise
5
5
  * */
6
- export declare const isRegex: (value: unknown) => value is RegExp;
6
+ declare const isRegex: (value: unknown) => value is RegExp;
7
+ export default isRegex;
package/isRegex.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["json-storage-formatter"]=t():e["json-storage-formatter"]=t()}(this,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0}),t.isRegex=void 0,t.isRegex=function(e){return e instanceof RegExp}})(),e})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["json-storage-formatter"]=t():e["json-storage-formatter"]=t()}(this,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return e instanceof RegExp}})(),e})()));
package/isString.d.ts CHANGED
@@ -5,4 +5,5 @@
5
5
  * true if the value is a string
6
6
  * false otherwise
7
7
  * */
8
- export declare const isString: (value: unknown) => value is string;
8
+ declare const isString: (value: unknown) => value is string;
9
+ export default isString;
package/isString.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["json-storage-formatter"]=t():e["json-storage-formatter"]=t()}(this,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0}),t.isString=void 0,t.isString=function(e){return"string"==typeof e}})(),e})()));
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["json-storage-formatter"]=t():e["json-storage-formatter"]=t()}(this,(()=>(()=>{"use strict";var e={};return(()=>{var t=e;Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return"string"==typeof e}})(),e})()));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "json-storage-formatter",
3
- "version": "2.0.8",
3
+ "version": "3.0.0",
4
4
  "description": "Package for json stringify objects without losing data types",
5
5
  "main": "./bundle.js",
6
6
  "types": "./index.d.ts",
@@ -11,11 +11,6 @@
11
11
  "require": "./bundle.js",
12
12
  "types": "./index.d.ts"
13
13
  },
14
- "./clone": {
15
- "import": "./clone.js",
16
- "require": "./clone.js",
17
- "types": "./clone.d.ts"
18
- },
19
14
  "./isNil": {
20
15
  "import": "./isNil.js",
21
16
  "require": "./isNil.js",
@@ -72,14 +67,20 @@
72
67
  "./*.d.ts"
73
68
  ],
74
69
  "scripts": {
70
+ "format": "prettier --write . --log-level silent && yarn lint:fix",
71
+ "test": "yarn build && yarn jest",
72
+ "test:debug:no-watch": "node --inspect-brk node_modules/.bin/jest --no-watchman --runInBand",
75
73
  "test:debug": "node --inspect-brk node_modules/.bin/jest --watch --runInBand",
76
- "test:quick": "jest --maxWorkers=4 -c --no-watchman -u",
77
- "test:coverage": "jest --maxWorkers=4 -c --colors --no-watchman --verbose --coverage",
78
- "build": "webpack --config webpack.config.js",
79
- "prepare": "npm run build",
80
- "version": "npm run format && git add -A src",
74
+ "test:quick": "yarn test --no-coverage --maxWorkers=4 -c --no-watchman -u",
75
+ "test:coverage": "yarn test --maxWorkers=4 -c --colors --no-watchman --verbose --coverage",
76
+ "build": "yarn ts-check && yarn clean && webpack --config webpack.config.js",
77
+ "prepare": "yarn format && npm run build && yarn test:quick",
78
+ "version": "npm run format && yarn build && yarn jest && git add -A",
81
79
  "postversion": "git push && git push --tags",
82
- "clean": "find . -maxdepth 1 -type f \\( -name '*.js' -o -name '*.d.ts' \\) ! -name 'webpack.config.js' -exec rm {} +"
80
+ "lint": "eslint . --max-warnings=0",
81
+ "lint:fix": "eslint . --fix --max-warnings=0",
82
+ "clean": "find . -maxdepth 1 -type f \\( -name '*.js' -o -name '*.d.ts' \\) ! -name 'webpack.config.js' ! -name 'eslint.config.mts' -exec rm {} +",
83
+ "ts-check": "tsc -p tsconfig.json --noEmit"
83
84
  },
84
85
  "repository": {
85
86
  "type": "git",
@@ -106,13 +107,25 @@
106
107
  "@babel/plugin-transform-modules-commonjs": "^7.21.2",
107
108
  "@babel/preset-env": "^7.20.2",
108
109
  "@babel/preset-typescript": "^7.21.0",
110
+ "@eslint/js": "^9.39.1",
109
111
  "@types/jest": "^26.0.17",
110
112
  "@types/lodash": "^4.14.165",
113
+ "@typescript-eslint/eslint-plugin": "^4.9.1",
114
+ "@typescript-eslint/parser": "^4.9.1",
111
115
  "babel-loader": "^9.1.2",
116
+ "eslint": "^9.39.1",
117
+ "eslint-config-airbnb": "^18.2.1",
118
+ "eslint-plugin-import": "^2.22.1",
119
+ "eslint-plugin-jsx-a11y": "^6.4.1",
120
+ "eslint-plugin-react": "^7.37.5",
121
+ "eslint-plugin-react-hooks": "^4.2.0",
112
122
  "jest": "^29.3.1",
123
+ "jiti": "^2.6.1",
124
+ "prettier": "^3.6.2",
113
125
  "ts-jest": "^29.0.3",
114
126
  "ts-loader": "^9.4.2",
115
127
  "typescript": "^4.1.2",
128
+ "typescript-eslint": "^8.46.3",
116
129
  "webpack": "^5.76.3",
117
130
  "webpack-cli": "^5.0.1"
118
131
  }
package/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export type IValueWithMetaData = {
2
- $t?: 'map' | 'set' | 'date' | 'regex' | 'error' | 'function';
3
- $v?: unknown;
1
+ export type EnvelopData = {
2
+ $t: 'map' | 'set' | 'date' | 'regex' | 'error' | 'function' | 'undefined';
3
+ $v: unknown;
4
4
  };
5
- export type TPrimitives = 'string' | 'number' | 'bigint' | 'boolean' | 'symbol' | 'undefined' | 'function' | 'object';
5
+ export type Primitives = 'string' | 'number' | 'bigint' | 'boolean' | 'symbol' | 'undefined' | 'function' | 'object';
package/webpack.config.js CHANGED
@@ -1,24 +1,24 @@
1
1
  const path = require('path');
2
+ const TerserPlugin = require('terser-webpack-plugin');
2
3
 
3
4
  module.exports = {
4
5
  mode: 'production',
5
6
  entry: {
6
- bundle: "./src/index.ts",
7
- clone: "./src/clone.ts",
8
- isNil: "./src/isNil.ts",
9
- isNumber: "./src/isNumber.ts",
10
- isBoolean: "./src/isBoolean.ts",
11
- isString: "./src/isString.ts",
12
- isDate: "./src/isDate.ts",
13
- isRegex: "./src/isRegex.ts",
14
- isFunction: "./src/isFunction.ts",
15
- isPrimitive: "./src/isPrimitive.ts",
16
- types: "./src/types.ts",
17
- formatFromStore: "./src/formatFromStore.ts",
18
- formatToStore: "./src/formatToStore.ts",
7
+ bundle: './src/index.ts',
8
+ isNil: './src/isNil.ts',
9
+ isNumber: './src/isNumber.ts',
10
+ isBoolean: './src/isBoolean.ts',
11
+ isString: './src/isString.ts',
12
+ isDate: './src/isDate.ts',
13
+ isRegex: './src/isRegex.ts',
14
+ isFunction: './src/isFunction.ts',
15
+ isPrimitive: './src/isPrimitive.ts',
16
+ types: './src/types.ts',
17
+ formatFromStore: './src/formatFromStore.ts',
18
+ formatToStore: './src/formatToStore.ts',
19
19
  },
20
20
  output: {
21
- path: path.resolve(__dirname),//'lib'
21
+ path: path.resolve(__dirname), //'lib'
22
22
  filename: ({ chunk: { name } }) => {
23
23
  if (name.includes('worker')) {
24
24
  return `${name}.worker.js`;
@@ -33,10 +33,7 @@ module.exports = {
33
33
  resolve: {
34
34
  extensions: ['.ts', '.js'],
35
35
  alias: {
36
- 'json-storage-formatter': path.resolve(
37
- __dirname,
38
- 'node_modules/json-storage-formatter/package.json'
39
- ),
36
+ 'json-storage-formatter': path.resolve(__dirname, 'node_modules/json-storage-formatter/package.json'),
40
37
  },
41
38
  },
42
39
  module: {
@@ -63,4 +60,17 @@ module.exports = {
63
60
  },
64
61
  ],
65
62
  },
63
+ optimization: {
64
+ minimize: true,
65
+ minimizer: [
66
+ new TerserPlugin({
67
+ extractComments: false,
68
+ terserOptions: {
69
+ format: {
70
+ comments: false,
71
+ },
72
+ },
73
+ }),
74
+ ],
75
+ },
66
76
  };
package/clone.d.ts DELETED
@@ -1,12 +0,0 @@
1
- /**
2
- * Deep clone an object, it also support Map, Set, Arrays
3
- * @param value
4
- * @returns
5
- * A deep clone of the object
6
- * */
7
- export declare const clone: <T>(value: T, { shallow, }?: {
8
- /**
9
- * If true, it will only clone the first level of the object
10
- */
11
- shallow?: boolean;
12
- }) => T;
package/clone.js DELETED
@@ -1 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports["json-storage-formatter"]=t():e["json-storage-formatter"]=t()}(this,(()=>(()=>{"use strict";var e={333:(e,t,r)=>{function n(e){return n="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},n(e)}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}Object.defineProperty(t,"__esModule",{value:!0}),t.clone=void 0;var i=r(646),u=r(346),f=r(473);t.clone=function(e){var r,a=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}).shallow;if((0,f.isPrimitive)(e)||(0,i.isDate)(e))return e;if(Array.isArray(e))return a?function(e){if(Array.isArray(e))return o(e)}(r=e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(r)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var r={}.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?o(e,t):void 0}}(r)||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.")}():e.map((function(e){return(0,t.clone)(e)}));if(e instanceof Map){var c=Array.from(e.entries());return a?new Map(c):new Map(c.map((function(e){return(0,t.clone)(e)})))}if(e instanceof Set){var s=Array.from(e.values());return a?new Set(s):new Set(s.map((function(e){return(0,t.clone)(e)})))}return e instanceof RegExp?new RegExp(e.toString()):(0,u.isFunction)(e)?a?e:Object.create(e):a?Object.assign({},e):e instanceof Error?new Error(e.message):Object.keys(e).reduce((function(r,o){var i=e[o];return Object.assign(Object.assign({},r),function(e,t,r){return(t=function(e){var t=function(e){if("object"!=n(e)||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var r=t.call(e,"string");if("object"!=n(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"==n(t)?t:t+""}(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}({},o,(0,t.clone)(i)))}),{})}},112:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isBoolean=void 0,t.isBoolean=function(e){return"boolean"==typeof e}},646:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isDate=void 0,t.isDate=function(e){return e instanceof Date}},346:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isFunction=void 0,t.isFunction=function(e){return"function"==typeof e||e instanceof Function}},243:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isNil=void 0,t.isNil=function(e){return null==e}},11:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isNumber=void 0,t.isNumber=function(e){return"number"==typeof e}},473:(e,t,r)=>{function n(e){return n="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},n(e)}Object.defineProperty(t,"__esModule",{value:!0}),t.isPrimitive=void 0;var o=r(112),i=r(243),u=r(11),f=r(671);t.isPrimitive=function(e){return(0,i.isNil)(e)||(0,u.isNumber)(e)||(0,o.isBoolean)(e)||(0,f.isString)(e)||"symbol"===n(e)}},671:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),t.isString=void 0,t.isString=function(e){return"string"==typeof e}}},t={};return function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}(333)})()));