universal-serialize
Version:
Javascript module template.
2 lines • 5.21 kB
JavaScript
!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define("universal-serialize",[],n):"object"==typeof exports?exports["universal-serialize"]=n():e["universal-serialize"]=n()}("undefined"!=typeof self?self:this,(function(){return function(e){var n={};function r(t){if(n[t])return n[t].exports;var i=n[t]={i:t,l:!1,exports:{}};return e[t].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=n,r.d=function(e,n,t){r.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:t})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,n){if(1&n&&(e=r(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var t=Object.create(null);if(r.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var i in e)r.d(t,i,function(n){return e[n]}.bind(null,i));return t},r.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(n,"a",n),n},r.o=function(e,n){return{}.hasOwnProperty.call(e,n)},r.p="",r(r.s=0)}([function(e,n,r){"use strict";r.r(n),r.d(n,"serialize",(function(){return P})),r.d(n,"deserialize",(function(){return h})),r.d(n,"serializeArray",(function(){return c})),r.d(n,"deserializeArray",(function(){return a})),r.d(n,"serializeBoolean",(function(){return d})),r.d(n,"deserializeBoolean",(function(){return l})),r.d(n,"serializeDate",(function(){return s})),r.d(n,"deserializeDate",(function(){return E})),r.d(n,"serializeError",(function(){return p})),r.d(n,"deserializeError",(function(){return y})),r.d(n,"serializeFunction",(function(){return O})),r.d(n,"deserializeFunction",(function(){return z})),r.d(n,"serializeNumber",(function(){return v})),r.d(n,"deserializeNumber",(function(){return b})),r.d(n,"serializeObject",(function(){return N})),r.d(n,"deserializeObject",(function(){return R})),r.d(n,"serializePromise",(function(){return _})),r.d(n,"deserializePromise",(function(){return m})),r.d(n,"serializeRegex",(function(){return g})),r.d(n,"deserializeRegex",(function(){return T})),r.d(n,"serializeString",(function(){return D})),r.d(n,"deserializeString",(function(){return S})),r.d(n,"serializeNull",(function(){return A})),r.d(n,"deserializeNull",(function(){return U})),r.d(n,"serializeUndefined",(function(){return I})),r.d(n,"deserializeUndefined",(function(){return j})),r.d(n,"TYPE",(function(){return i})),r.d(n,"isSerializedType",(function(){return u})),r.d(n,"determineType",(function(){return o})),r.d(n,"serializeType",(function(){return f})),r.d(n,"TYPES",(function(){return G}));var t,i={FUNCTION:"function",ERROR:"error",PROMISE:"promise",REGEX:"regex",DATE:"date",ARRAY:"array",OBJECT:"object",STRING:"string",NUMBER:"number",BOOLEAN:"boolean",NULL:"null",UNDEFINED:"undefined"};function u(e){return"object"==typeof e&&null!==e&&"string"==typeof e.__type__}function o(e){return void 0===e?i.UNDEFINED:null===e?i.NULL:Array.isArray(e)?i.ARRAY:"function"==typeof e?i.FUNCTION:"object"==typeof e?e instanceof Error?i.ERROR:"function"==typeof e.then?i.PROMISE:"[object RegExp]"==={}.toString.call(e)?i.REGEX:"[object Date]"==={}.toString.call(e)?i.DATE:i.OBJECT:"string"==typeof e?i.STRING:"number"==typeof e?i.NUMBER:"boolean"==typeof e?i.BOOLEAN:void 0}function f(e,n){return{__type__:e,__val__:n}}function c(e){return e}function a(e){return e}function d(e){return e}function l(e){return e}function s(e){return f(i.DATE,e.toJSON())}function E(e){return new Date(e)}function N(e){return e}function R(e){return e}function p(e){return f(i.ERROR,{message:e.message,stack:e.stack,code:e.code,data:e.data})}function y(e){var n=e.stack,r=e.code,t=e.data,i=new Error(e.message);return i.code=r,t&&(i.data=t),i.stack=n+"\n\n"+i.stack,i}function O(){}function z(){throw new Error("Function serialization is not implemented; nothing to deserialize")}function v(e){return e}function b(e){return e}function _(){}function m(){throw new Error("Promise serialization is not implemented; nothing to deserialize")}function g(e){return f(i.REGEX,e.source)}function T(e){return new RegExp(e)}function D(e){return e}function S(e){return e}function A(e){return e}function U(e){return e}function I(e){return f(i.UNDEFINED,e)}function j(){}var x,B=((t={})[i.FUNCTION]=O,t[i.ERROR]=p,t[i.PROMISE]=_,t[i.REGEX]=g,t[i.DATE]=s,t[i.ARRAY]=c,t[i.OBJECT]=N,t[i.STRING]=D,t[i.NUMBER]=v,t[i.BOOLEAN]=d,t[i.NULL]=A,t[i.UNDEFINED]=I,t),F={};function P(e,n){void 0===n&&(n=F);var r=JSON.stringify(e,(function(e){var r=this[e];if(u(this))return r;var t=o(r);if(!t)return r;var i=n[t]||B[t];return i?i(r,e):r}));return void 0===r?i.UNDEFINED:r}var L=((x={})[i.FUNCTION]=z,x[i.ERROR]=y,x[i.PROMISE]=m,x[i.REGEX]=T,x[i.DATE]=E,x[i.ARRAY]=a,x[i.OBJECT]=R,x[i.STRING]=S,x[i.NUMBER]=b,x[i.BOOLEAN]=l,x[i.NULL]=U,x[i.UNDEFINED]=j,x),M={};function h(e,n){if(void 0===n&&(n=M),e!==i.UNDEFINED)return JSON.parse(e,(function(e,r){if(u(this))return r;var t,i;if(u(r)?(t=r.__type__,i=r.__val__):(t=o(r),i=r),!t)return i;var f=n[t]||L[t];return f?f(i,e):i}))}var G=!0}])}));
//# sourceMappingURL=universalSerialize.js.map