UNPKG

app-base-react

Version:
1 lines 3.88 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.serializeUtil=exports.serializeToDraft=exports.serialize=exports.deserialize=void 0;var _typeof="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},_nanoid=require("nanoid"),nanoid=(0,_nanoid.customAlphabet)("1234567890abcdef"),UID=nanoid(32),PLACE_HOLDER_REGEXP=new RegExp('(\\\\)?"@__(F|R|D|M|S|A|U|I|B|L)-'+UID+'-(\\d+)__@"',"g"),IS_NATIVE_CODE_REGEXP=/\{\s*\[native code\]\s*\}/g,IS_PURE_FUNCTION=/function.*?\(/,IS_ARROW_FUNCTION=/.*?=>.*?/,UNSAFE_CHARS_REGEXP=/[<>\/\u2028\u2029]/g,RESERVED_SYMBOLS=["*","async"],ESCAPED_CHARS={"<":"\\u003C",">":"\\u003E","/":"\\u002F","\u2028":"\\u2028","\u2029":"\\u2029"};function escapeUnsafeChars(e){return ESCAPED_CHARS[e]}function deleteFunctions(e){var n,i=[];for(n in e)"function"==typeof e[n]&&i.push(n);for(var t=0;t<i.length;t++)delete e[i[t]]}function deleteUndefined(e){var n,i=[];for(n in e)void 0===e[n]&&i.push(n);for(var t=0;t<i.length;t++)delete e[i[t]]}function serializeUtil(e,r){var o=[],s=[],u=[],f=[],a=[],l=[],t=[],_=[],c=[],p=[];return void 0===(e=(r="number"!=typeof(r=r||{})&&"string"!=typeof r?r:{space:r}).ignoreFunction&&"function"==typeof e?void 0:e)||"string"!=typeof(e=r.isJSON&&!r.space?JSON.stringify(e):JSON.stringify(e,r.isJSON?null:function(e,n){if(r.ignoreFunction&&deleteFunctions(n),r.ignoreUndefined&&deleteUndefined(n),!n&&void 0!==n)return n;var i=void 0===(e=this[e])?"undefined":_typeof(e);if("object"===i){if(e instanceof RegExp)return"@__R-"+UID+"-"+(s.push(e)-1)+"__@";if(e instanceof Date)return"@__D-"+UID+"-"+(u.push(e)-1)+"__@";if(e instanceof Map)return"@__M-"+UID+"-"+(f.push(e)-1)+"__@";if(e instanceof Set)return"@__S-"+UID+"-"+(a.push(e)-1)+"__@";if(e instanceof Array)if(e.filter(function(){return!0}).length!==e.length)return"@__A-"+UID+"-"+(l.push(e)-1)+"__@";if(e instanceof URL)return"@__L-"+UID+"-"+(p.push(e)-1)+"__@"}return"function"===i?"@__F-"+UID+"-"+(o.push(e)-1)+"__@":"undefined"===i?"@__U-"+UID+"-"+(t.push(e)-1)+"__@":"number"!==i||isNaN(e)||isFinite(e)?"bigint"===i?"@__B-"+UID+"-"+(c.push(e)-1)+"__@":n:"@__I-"+UID+"-"+(_.push(e)-1)+"__@"},r.space))?String(e):(!0!==r.unsafe&&(e=e.replace(UNSAFE_CHARS_REGEXP,escapeUnsafeChars)),0===o.length&&0===s.length&&0===u.length&&0===f.length&&0===a.length&&0===l.length&&0===t.length&&0===_.length&&0===c.length&&0===p.length?e:e.replace(PLACE_HOLDER_REGEXP,function(e,n,i,t){if(n)return e;if("D"===i)return'new Date("'+u[t].toISOString()+'")';if("R"===i)return"new RegExp("+serialize(s[t].source)+', "'+s[t].flags+'")';if("M"===i)return"new Map("+serialize(Array.from(f[t].entries()),r)+")";if("S"===i)return"new Set("+serialize(Array.from(a[t].values()),r)+")";if("A"===i)return"Array.prototype.slice.call("+serialize(Object.assign({length:l[t].length},l[t]),r)+")";if("U"===i)return"undefined";if("I"===i)return _[t];if("B"===i)return'BigInt("'+c[t]+'")';if("L"===i)return'new URL("'+p[t].toString()+'")';n=o[t],e=n.toString();if(IS_NATIVE_CODE_REGEXP.test(e))throw new TypeError("Serializing native function: "+n.name);return!IS_PURE_FUNCTION.test(e)&&!IS_ARROW_FUNCTION.test(e)&&(n=e.indexOf("("),0<(i=e.substr(0,n).trim().split(" ").filter(function(e){return 0<e.length})).filter(function(e){return-1===RESERVED_SYMBOLS.indexOf(e)}).length)?(-1<i.indexOf("async")?"async ":"")+"function"+(-1<i.join("").indexOf("*")?"*":"")+e.substr(n):e}))}function serialize(e){return serializeUtil(e,{ignoreUndefined:!0})}function serializeToDraft(e){return serializeUtil(e,{space:2,ignoreUndefined:!0})}function deserialize(e){return new Function("return "+e)()}exports.deserialize=deserialize,exports.serialize=serialize,exports.serializeToDraft=serializeToDraft,exports.serializeUtil=serializeUtil;