You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1 line
4.6 KiB
1 line
4.6 KiB
{"ast":null,"code":"import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nvar checkSerializableWithoutCircularReference = function checkSerializableWithoutCircularReference(o, seen, location) {\n if (o === undefined || o === null || typeof o === 'boolean' || typeof o === 'number' || typeof o === 'string') {\n return {\n serializable: true\n };\n }\n if (Object.prototype.toString.call(o) !== '[object Object]' && !Array.isArray(o)) {\n return {\n serializable: false,\n location: location,\n reason: typeof o === 'function' ? 'Function' : String(o)\n };\n }\n if (seen.has(o)) {\n return {\n serializable: false,\n reason: 'Circular reference',\n location: location\n };\n }\n seen.add(o);\n if (Array.isArray(o)) {\n for (var i = 0; i < o.length; i++) {\n var childResult = checkSerializableWithoutCircularReference(o[i], new Set(seen), [].concat(_toConsumableArray(location), [i]));\n if (!childResult.serializable) {\n return childResult;\n }\n }\n } else {\n for (var key in o) {\n var _childResult = checkSerializableWithoutCircularReference(o[key], new Set(seen), [].concat(_toConsumableArray(location), [key]));\n if (!_childResult.serializable) {\n return _childResult;\n }\n }\n }\n return {\n serializable: true\n };\n};\nexport default function checkSerializable(o) {\n return checkSerializableWithoutCircularReference(o, new Set(), []);\n}","map":{"version":3,"sources":["checkSerializable.tsx"],"names":["checkSerializableWithoutCircularReference","o","seen","location","undefined","serializable","Object","prototype","toString","call","Array","isArray","reason","String","has","add","i","length","childResult","Set","key","checkSerializable"],"mappings":";AAAA,IAAMA,yCAAyC,GAAG,SAA5CA,yCAAyC,CAC7CC,CAAyB,EACzBC,IAAc,EACdC,QAA6B,EAOtB;EACP,IACEF,CAAC,KAAKG,SAAS,IACfH,CAAC,KAAK,IAAI,IACV,OAAOA,CAAC,KAAK,SAAS,IACtB,OAAOA,CAAC,KAAK,QAAQ,IACrB,OAAOA,CAAC,KAAK,QAAQ,EACrB;IACA,OAAO;MAAEI,YAAY,EAAE;IAAK,CAAC;EAC/B;EAEA,IACEC,MAAM,CAACC,SAAS,CAACC,QAAQ,CAACC,IAAI,CAACR,CAAC,CAAC,KAAK,iBAAiB,IACvD,CAACS,KAAK,CAACC,OAAO,CAACV,CAAC,CAAC,EACjB;IACA,OAAO;MACLI,YAAY,EAAE,KAAK;MACnBF,QAAQ,EAARA,QAAQ;MACRS,MAAM,EAAE,OAAOX,CAAC,KAAK,UAAU,GAAG,UAAU,GAAGY,MAAM,CAACZ,CAAC;IACzD,CAAC;EACH;EAEA,IAAIC,IAAI,CAACY,GAAG,CAACb,CAAC,CAAC,EAAE;IACf,OAAO;MACLI,YAAY,EAAE,KAAK;MACnBO,MAAM,EAAE,oBAAoB;MAC5BT,QAAAA,EAAAA;IACF,CAAC;EACH;EAEAD,IAAI,CAACa,GAAG,CAACd,CAAC,CAAC;EAEX,IAAIS,KAAK,CAACC,OAAO,CAACV,CAAC,CAAC,EAAE;IACpB,KAAK,IAAIe,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGf,CAAC,CAACgB,MAAM,EAAED,CAAC,EAAE,EAAE;MACjC,IAAME,WAAW,GAAGlB,yCAAyC,CAC3DC,CAAC,CAACe,CAAC,CAAC,EACJ,IAAIG,GAAG,CAAMjB,IAAI,CAAC,+BACdC,QAAQ,IAAEa,CAAC,GAChB;MAED,IAAI,CAACE,WAAW,CAACb,YAAY,EAAE;QAC7B,OAAOa,WAAW;MACpB;IACF;EACF,CAAC,MAAM;IACL,KAAK,IAAME,GAAG,IAAInB,CAAC,EAAE;MACnB,IAAMiB,YAAW,GAAGlB,yCAAyC,CAC3DC,CAAC,CAACmB,GAAG,CAAC,EACN,IAAID,GAAG,CAAMjB,IAAI,CAAC,+BACdC,QAAQ,IAAEiB,GAAG,GAClB;MAED,IAAI,CAACF,YAAW,CAACb,YAAY,EAAE;QAC7B,OAAOa,YAAW;MACpB;IACF;EACF;EAEA,OAAO;IAAEb,YAAY,EAAE;EAAK,CAAC;AAC/B,CAAC;AAED,eAAe,SAASgB,iBAAiB,CAACpB,CAAyB,EAAE;EACnE,OAAOD,yCAAyC,CAACC,CAAC,EAAE,IAAIkB,GAAG,EAAO,EAAE,EAAE,CAAC;AACzE","sourceRoot":"../../src","sourcesContent":["const checkSerializableWithoutCircularReference = (o, seen, location) => {\n if (o === undefined || o === null || typeof o === 'boolean' || typeof o === 'number' || typeof o === 'string') {\n return {\n serializable: true\n };\n }\n if (Object.prototype.toString.call(o) !== '[object Object]' && !Array.isArray(o)) {\n return {\n serializable: false,\n location,\n reason: typeof o === 'function' ? 'Function' : String(o)\n };\n }\n if (seen.has(o)) {\n return {\n serializable: false,\n reason: 'Circular reference',\n location\n };\n }\n seen.add(o);\n if (Array.isArray(o)) {\n for (let i = 0; i < o.length; i++) {\n const childResult = checkSerializableWithoutCircularReference(o[i], new Set(seen), [...location, i]);\n if (!childResult.serializable) {\n return childResult;\n }\n }\n } else {\n for (const key in o) {\n const childResult = checkSerializableWithoutCircularReference(o[key], new Set(seen), [...location, key]);\n if (!childResult.serializable) {\n return childResult;\n }\n }\n }\n return {\n serializable: true\n };\n};\nexport default function checkSerializable(o) {\n return checkSerializableWithoutCircularReference(o, new Set(), []);\n}\n//# sourceMappingURL=checkSerializable.js.map"]},"metadata":{},"sourceType":"module"} |