| 1 |
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[126],{5126:function(e,t,r){r.d(t,{n9:function(){return X}});class n{constructor(){this.keyToValue=new Map,this.valueToKey=new Map}set(e,t){this.keyToValue.set(e,t),this.valueToKey.set(t,e)}getByKey(e){return this.keyToValue.get(e)}getByValue(e){return this.valueToKey.get(e)}clear(){this.keyToValue.clear(),this.valueToKey.clear()}}class s{constructor(e){this.generateIdentifier=e,this.kv=new n}register(e,t){this.kv.getByValue(e)||(t||(t=this.generateIdentifier(e)),this.kv.set(t,e))}clear(){this.kv.clear()}getIdentifier(e){return this.kv.getByValue(e)}getValue(e){return this.kv.getByKey(e)}}class a extends s{constructor(){super(e=>e.name),this.classToAllowedProps=new Map}register(e,t){"object"==typeof t?(t.allowProps&&this.classToAllowedProps.set(e,t.allowProps),super.register(e,t.identifier)):super.register(e,t)}getAllowedProps(e){return this.classToAllowedProps.get(e)}}function i(e,t){Object.entries(e).forEach(([e,r])=>t(r,e))}function o(e,t){return -1!==e.indexOf(t)}function l(e,t){for(let r=0;r<e.length;r++){let n=e[r];if(t(n))return n}}class u{constructor(){this.transfomers={}}register(e){this.transfomers[e.name]=e}findApplicable(e){return function(e,t){let r=function(e){if("values"in Object)return Object.values(e);let t=[];for(let r in e)e.hasOwnProperty(r)&&t.push(e[r]);return t}(e);if("find"in r)return r.find(t);for(let e=0;e<r.length;e++){let n=r[e];if(t(n))return n}}(this.transfomers,t=>t.isApplicable(e))}findByName(e){return this.transfomers[e]}}let c=e=>Object.prototype.toString.call(e).slice(8,-1),f=e=>void 0===e,p=e=>null===e,y=e=>"object"==typeof e&&null!==e&&e!==Object.prototype&&(null===Object.getPrototypeOf(e)||Object.getPrototypeOf(e)===Object.prototype),g=e=>y(e)&&0===Object.keys(e).length,d=e=>Array.isArray(e),m=e=>"string"==typeof e,h=e=>"number"==typeof e&&!isNaN(e),b=e=>"boolean"==typeof e,w=e=>e instanceof Map,v=e=>e instanceof Set,E=e=>"Symbol"===c(e),k=e=>e instanceof Error,I=e=>"number"==typeof e&&isNaN(e),O=e=>b(e)||p(e)||f(e)||h(e)||m(e)||E(e),A=e=>e===1/0||e===-1/0,j=e=>e.replace(/\\/g,"\\\\").replace(/\./g,"\\."),P=e=>e.map(String).map(j).join("."),R=(e,t)=>{let r=[],n="";for(let s=0;s<e.length;s++){let a=e.charAt(s);if(!t&&"\\"===a){let t=e.charAt(s+1);if("\\"===t){n+="\\",s++;continue}if("."!==t)throw Error("invalid path")}if("\\"===a&&"."===e.charAt(s+1)){n+=".",s++;continue}if("."===a){r.push(n),n="";continue}n+=a}let s=n;return r.push(s),r};function T(e,t,r,n){return{isApplicable:e,annotation:t,transform:r,untransform:n}}let _=[T(f,"undefined",()=>null,()=>void 0),T(e=>"bigint"==typeof e,"bigint",e=>e.toString(),e=>"undefined"!=typeof BigInt?BigInt(e):(console.error("Please add a BigInt polyfill."),e)),T(e=>e instanceof Date&&!isNaN(e.valueOf()),"Date",e=>e.toISOString(),e=>new Date(e)),T(k,"Error",(e,t)=>{let r={name:e.name,message:e.message};return"cause"in e&&(r.cause=e.cause),t.allowedErrorProps.forEach(t=>{r[t]=e[t]}),r},(e,t)=>{let r=Error(e.message,{cause:e.cause});return r.name=e.name,r.stack=e.stack,t.allowedErrorProps.forEach(t=>{r[t]=e[t]}),r}),T(e=>e instanceof RegExp,"regexp",e=>""+e,e=>new RegExp(e.slice(1,e.lastIndexOf("/")),e.slice(e.lastIndexOf("/")+1))),T(v,"set",e=>[...e.values()],e=>new Set(e)),T(w,"map",e=>[...e.entries()],e=>new Map(e)),T(e=>I(e)||A(e),"number",e=>I(e)?"NaN":e>0?"Infinity":"-Infinity",Number),T(e=>0===e&&1/e==-1/0,"number",()=>"-0",Number),T(e=>e instanceof URL,"URL",e=>e.toString(),e=>new URL(e))];function z(e,t,r,n){return{isApplicable:e,annotation:t,transform:r,untransform:n}}let S=z((e,t)=>!!E(e)&&!!t.symbolRegistry.getIdentifier(e),(e,t)=>["symbol",t.symbolRegistry.getIdentifier(e)],e=>e.description,(e,t,r)=>{let n=r.symbolRegistry.getValue(t[1]);if(!n)throw Error("Trying to deserialize unknown symbol");return n}),V=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,Uint8ClampedArray].reduce((e,t)=>(e[t.name]=t,e),{}),N=z(e=>ArrayBuffer.isView(e)&&!(e instanceof DataView),e=>["typed-array",e.constructor.name],e=>[...e],(e,t)=>{let r=V[t[1]];if(!r)throw Error("Trying to deserialize unknown typed array");return new r(e)});function B(e,t){return!!e?.constructor&&!!t.classRegistry.getIdentifier(e.constructor)}let C=z(B,(e,t)=>["class",t.classRegistry.getIdentifier(e.constructor)],(e,t)=>{let r=t.classRegistry.getAllowedProps(e.constructor);if(!r)return{...e};let n={};return r.forEach(t=>{n[t]=e[t]}),n},(e,t,r)=>{let n=r.classRegistry.getValue(t[1]);if(!n)throw Error(`Trying to deserialize unknown class '${t[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);return Object.assign(Object.create(n.prototype),e)}),x=z((e,t)=>!!t.customTransformerRegistry.findApplicable(e),(e,t)=>["custom",t.customTransformerRegistry.findApplicable(e).name],(e,t)=>t.customTransformerRegistry.findApplicable(e).serialize(e),(e,t,r)=>{let n=r.customTransformerRegistry.findByName(t[1]);if(!n)throw Error("Trying to deserialize unknown custom value");return n.deserialize(e)}),U=[C,S,x,N],M=(e,t)=>{let r=l(U,r=>r.isApplicable(e,t));if(r)return{value:r.transform(e,t),type:r.annotation(e,t)};let n=l(_,r=>r.isApplicable(e,t));if(n)return{value:n.transform(e,t),type:n.annotation}},K={};_.forEach(e=>{K[e.annotation]=e});let D=(e,t,r)=>{if(d(t))switch(t[0]){case"symbol":return S.untransform(e,t,r);case"class":return C.untransform(e,t,r);case"custom":return x.untransform(e,t,r);case"typed-array":return N.untransform(e,t,r);default:throw Error("Unknown transformation: "+t)}else{let n=K[t];if(!n)throw Error("Unknown transformation: "+t);return n.untransform(e,r)}},q=(e,t)=>{if(t>e.size)throw Error("index out of bounds");let r=e.keys();for(;t>0;)r.next(),t--;return r.next().value};function L(e){if(o(e,"__proto__"))throw Error("__proto__ is not allowed as a property");if(o(e,"prototype"))throw Error("prototype is not allowed as a property");if(o(e,"constructor"))throw Error("constructor is not allowed as a property")}let F=(e,t)=>{L(t);for(let r=0;r<t.length;r++){let n=t[r];if(v(e))e=q(e,+n);else if(w(e)){let s=+n,a=0==+t[++r]?"key":"value",i=q(e,s);switch(a){case"key":e=i;break;case"value":e=e.get(i)}}else e=e[n]}return e},J=(e,t,r)=>{if(L(t),0===t.length)return r(e);let n=e;for(let e=0;e<t.length-1;e++){let r=t[e];if(d(n))n=n[+r];else if(y(n))n=n[r];else if(v(n))n=q(n,+r);else if(w(n)){if(e===t.length-2)break;let s=+r,a=0==+t[++e]?"key":"value",i=q(n,s);switch(a){case"key":n=i;break;case"value":n=n.get(i)}}}let s=t[t.length-1];if(d(n)?n[+s]=r(n[+s]):y(n)&&(n[s]=r(n[s])),v(n)){let e=q(n,+s),t=r(e);e!==t&&(n.delete(e),n.add(t))}if(w(n)){let e=q(n,+t[t.length-2]);switch(0==+s?"key":"value"){case"key":{let t=r(e);n.set(t,n.get(e)),t!==e&&n.delete(e);break}case"value":n.set(e,r(n.get(e)))}}return e},$=e=>e<1,G=(e,t)=>y(e)||d(e)||w(e)||v(e)||k(e)||B(e,t),H=(e,t,r,n,s=[],a=[],l=new Map)=>{let u=O(e);if(!u){!function(e,t,r){let n=r.get(e);n?n.push(t):r.set(e,[t])}(e,s,t);let r=l.get(e);if(r)return n?{transformedValue:null}:r}if(!G(e,r)){let t=M(e,r),n=t?{transformedValue:t.value,annotations:[t.type]}:{transformedValue:e};return u||l.set(e,n),n}if(o(a,e))return{transformedValue:null};let c=M(e,r),f=c?.value??e,p=d(f)?[]:{},m={};i(f,(o,u)=>{if("__proto__"===u||"constructor"===u||"prototype"===u)throw Error(`Detected property ${u}. This is a prototype pollution risk, please remove it from your object.`);let c=H(o,t,r,n,[...s,u],[...a,e],l);p[u]=c.transformedValue,d(c.annotations)?m[j(u)]=c.annotations:y(c.annotations)&&i(c.annotations,(e,t)=>{m[j(u)+"."+t]=e})});let h=g(m)?{transformedValue:p,annotations:c?[c.type]:void 0}:{transformedValue:p,annotations:c?[c.type,m]:m};return u||l.set(e,h),h};function Q(e){return Object.prototype.toString.call(e).slice(8,-1)}function W(e){return"Array"===Q(e)}class X{constructor({dedupe:e=!1}={}){this.classRegistry=new a,this.symbolRegistry=new s(e=>e.description??""),this.customTransformerRegistry=new u,this.allowedErrorProps=[],this.dedupe=e}serialize(e){let t=new Map,r=H(e,t,this,this.dedupe),n={json:r.transformedValue};r.annotations&&(n.meta={...n.meta,values:r.annotations});let s=function(e,t){let r;let n={};return(e.forEach(e=>{if(e.length<=1)return;t||(e=e.map(e=>e.map(String)).sort((e,t)=>e.length-t.length));let[s,...a]=e;0===s.length?r=a.map(P):n[P(s)]=a.map(P)}),r)?g(n)?[r]:[r,n]:g(n)?void 0:n}(t,this.dedupe);return s&&(n.meta={...n.meta,referentialEqualities:s}),n.meta&&(n.meta.v=1),n}deserialize(e,t){let{json:r,meta:n}=e,s=t?.inPlace?r:function e(t,r={}){return W(t)?t.map(t=>e(t,r)):!function(e){if("Object"!==Q(e))return!1;let t=Object.getPrototypeOf(e);return!!t&&t.constructor===Object&&t===Object.prototype}(t)?t:[...Object.getOwnPropertyNames(t),...Object.getOwnPropertySymbols(t)].reduce((n,s)=>{if("__proto__"===s||W(r.props)&&!r.props.includes(s))return n;let a=e(t[s],r);return!function(e,t,r,n,s){let a=({}).propertyIsEnumerable.call(n,t)?"enumerable":"nonenumerable";"enumerable"===a&&(e[t]=r),s&&"nonenumerable"===a&&Object.defineProperty(e,t,{value:r,enumerable:!1,writable:!0,configurable:!0})}(n,s,a,t,r.nonenumerable),n},{})}(r);if(n?.values){var a,o,l,u;a=s,o=n.values,l=n.v??0,u=this,function e(t,r,n,s=[]){if(!t)return;let a=$(n);if(!d(t)){i(t,(t,i)=>e(t,r,n,[...s,...R(i,a)]));return}let[o,l]=t;l&&i(l,(t,i)=>{e(t,r,n,[...s,...R(i,a)])}),r(o,s)}(o,(e,t)=>{a=J(a,t,t=>D(t,e,u))},l),s=a}return n?.referentialEqualities&&(s=function(e,t,r){let n=$(r);function s(t,r){let s=F(e,R(r,n));t.map(e=>R(e,n)).forEach(t=>{e=J(e,t,()=>s)})}if(d(t)){let[r,a]=t;r.forEach(t=>{e=J(e,R(t,n),()=>e)}),a&&i(a,s)}else i(t,s);return e}(s,n.referentialEqualities,n.v??0)),s}stringify(e){return JSON.stringify(this.serialize(e))}parse(e){return this.deserialize(JSON.parse(e),{inPlace:!0})}registerClass(e,t){this.classRegistry.register(e,t)}registerSymbol(e,t){this.symbolRegistry.register(e,t)}registerCustom(e,t){this.customTransformerRegistry.register({name:t,...e})}allowErrorProps(...e){this.allowedErrorProps.push(...e)}}X.defaultInstance=new X,X.serialize=X.defaultInstance.serialize.bind(X.defaultInstance),X.deserialize=X.defaultInstance.deserialize.bind(X.defaultInstance),X.stringify=X.defaultInstance.stringify.bind(X.defaultInstance),X.parse=X.defaultInstance.parse.bind(X.defaultInstance),X.registerClass=X.defaultInstance.registerClass.bind(X.defaultInstance),X.registerSymbol=X.defaultInstance.registerSymbol.bind(X.defaultInstance),X.registerCustom=X.defaultInstance.registerCustom.bind(X.defaultInstance),X.allowErrorProps=X.defaultInstance.allowErrorProps.bind(X.defaultInstance),X.serialize,X.deserialize,X.stringify,X.parse,X.registerClass,X.registerCustom,X.registerSymbol,X.allowErrorProps}}]);
|