@lopatnov/javascripttostring 1.7.3 → 2.1.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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"javascripttostring.cjs","sources":["../../node_modules/@lopatnov/get-internal-type/dist/get-internal-type.esm.mjs","../../src/javascripttostring.ts"],"sourcesContent":["const types = {};\nconst typesToString = Object.prototype.toString;\nconst builtInList = [\n \"Boolean\",\n \"Number\",\n \"String\",\n \"Array\",\n \"Date\",\n \"RegExp\",\n \"Object\",\n \"Error\",\n \"Promise\",\n \"DataView\",\n \"WeakRef\",\n \"FinalizationRegistry\"\n];\nconst functions = [\"Function\", \"AsyncFunction\"];\nconst generators = [\"Generator\", \"AsyncGenerator\"];\nconst generatorFunctions = [\"GeneratorFunction\", \"AsyncGeneratorFunction\"];\nconst arrayBuffers = [\"ArrayBuffer\", \"SharedArrayBuffer\"];\nconst maps = [\"Map\", \"WeakMap\"];\nconst sets = [\"Set\", \"WeakSet\"];\nconst typedArrays = [\n \"Int8Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\",\n \"Int16Array\",\n \"Uint16Array\",\n \"Int32Array\",\n \"Uint32Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"BigInt64Array\",\n \"BigUint64Array\"\n];\nbuiltInList.forEach(function (name) {\n types[\"[object \" + name + \"]\"] = name.toLowerCase();\n});\nfunctions.forEach(function (name) {\n types[\"[object \" + name + \"]\"] = \"function\";\n});\ngenerators.forEach(function (name) {\n types[\"[object \" + name + \"]\"] = \"generator\";\n});\ngeneratorFunctions.forEach(function (name) {\n types[\"[object \" + name + \"]\"] = \"generatorfunction\";\n});\narrayBuffers.forEach(function (name) {\n types[\"[object \" + name + \"]\"] = \"arraybuffer\";\n});\nmaps.forEach(function (name) {\n types[\"[object \" + name + \"]\"] = \"map\";\n});\nsets.forEach(function (name) {\n types[\"[object \" + name + \"]\"] = \"set\";\n});\ntypedArrays.forEach(function (name) {\n types[\"[object \" + name + \"]\"] = \"typedarray\";\n});\nfunction getInternalType(obj) {\n return obj == null\n ? obj + \"\"\n : typeof obj === \"object\" || typeof obj === \"function\"\n ? types[typesToString.call(obj)] || \"object\"\n : typeof obj;\n}\n\nexport { getInternalType as default, getInternalType };\n//# sourceMappingURL=get-internal-type.esm.mjs.map\n",null],"names":["getObjectType"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,15 +1,23 @@
1
- export interface IJ2SOptions {
2
- includeFunctionProperties?: boolean;
3
- includeFunctionPrototype?: boolean;
4
- includeBuffers?: boolean;
5
- nestedObjectsAmount?: number;
6
- nestedArraysAmount?: number;
7
- nestedFunctionsAmount?: number;
8
- }
9
- /**
10
- * Converts JavaScript value to string
11
- * @param value the value of any type
12
- * @param options [optional] The options of conversion
13
- */
14
- declare function javaScriptToString(value: any, options?: IJ2SOptions): string;
15
- export default javaScriptToString;
1
+ export interface IJ2SOptions {
2
+ /** Include function's own enumerable properties. @defaultValue true */
3
+ includeFunctionProperties?: boolean;
4
+ /** Include function's prototype properties. @defaultValue true */
5
+ includeFunctionPrototype?: boolean;
6
+ /** Include ArrayBuffer and TypedArray contents. @defaultValue true */
7
+ includeBuffers?: boolean;
8
+ /** Max depth for nested objects. @defaultValue Number.POSITIVE_INFINITY */
9
+ nestedObjectsAmount?: number;
10
+ /** Max depth for nested arrays. @defaultValue Number.POSITIVE_INFINITY */
11
+ nestedArraysAmount?: number;
12
+ /** Max depth for nested functions. @defaultValue Number.POSITIVE_INFINITY */
13
+ nestedFunctionsAmount?: number;
14
+ /** Throw an error when a non-serializable value is encountered (Promise, Generator, WeakRef, WeakMap, WeakSet, FinalizationRegistry). @defaultValue false */
15
+ throwOnNonSerializable?: boolean;
16
+ }
17
+ /**
18
+ * Converts JavaScript value to string
19
+ * @param value the value of any type
20
+ * @param options [optional] The options of conversion
21
+ */
22
+ declare function javaScriptToString(value: any, options?: IJ2SOptions): string;
23
+ export default javaScriptToString;
package/package.json CHANGED
@@ -1,23 +1,45 @@
1
1
  {
2
2
  "name": "@lopatnov/javascripttostring",
3
- "version": "1.7.3",
3
+ "version": "2.1.0",
4
+ "type": "module",
4
5
  "license": "Apache-2.0",
5
6
  "author": "lopatnov",
6
- "description": "JavaScript value to string converter",
7
+ "description": "A TypeScript library that converts any JavaScript runtime value into its string source code representation, including objects, arrays, functions, circular references, and cross-references",
7
8
  "homepage": "https://lopatnov.github.io/jsToString/",
8
9
  "keywords": [
10
+ "javascript-to-string",
11
+ "object-to-string",
12
+ "stringify",
13
+ "serialization",
14
+ "source-code",
15
+ "code-generation",
16
+ "circular-references",
17
+ "cross-references",
18
+ "function-to-string",
19
+ "array-to-string",
20
+ "value-to-string",
21
+ "runtime-converter",
9
22
  "TypeScript",
10
- "JavaScript",
11
- "reverse engineering",
12
- "object to string",
13
- "conversion"
23
+ "JavaScript"
14
24
  ],
15
- "main": "dist/javascripttostring.umd.js",
16
- "module": "dist/javascripttostring.es5.js",
25
+ "main": "dist/lib/javascripttostring.cjs",
26
+ "module": "dist/javascripttostring.esm.mjs",
27
+ "browser": "dist/javascripttostring.umd.js",
17
28
  "typings": "dist/types/javascripttostring.d.ts",
29
+ "exports": {
30
+ ".": {
31
+ "types": "./dist/types/javascripttostring.d.ts",
32
+ "import": "./dist/javascripttostring.esm.mjs",
33
+ "require": "./dist/lib/javascripttostring.cjs",
34
+ "default": "./dist/lib/javascripttostring.cjs"
35
+ }
36
+ },
18
37
  "files": [
19
38
  "dist"
20
39
  ],
40
+ "engines": {
41
+ "node": ">=18.0.0"
42
+ },
21
43
  "publishConfig": {
22
44
  "access": "public"
23
45
  },
@@ -29,30 +51,33 @@
29
51
  "url": "https://github.com/lopatnov/jsToString/issues"
30
52
  },
31
53
  "scripts": {
32
- "build": "tsc --module commonjs && rollup -c rollup.config.ts && typedoc --out docs --entryPointStrategy expand src",
33
- "configure-npm": "node ./set-registry.js -s https://registry.npmjs.org",
34
- "configure-gpr": "node ./set-registry.js -s https://npm.pkg.github.com",
35
- "test": "jest"
54
+ "build": "tsc --emitDeclarationOnly && rollup -c rollup.config.js && typedoc --out docs --entryPointStrategy expand src",
55
+ "test": "vitest run --coverage",
56
+ "lint": "biome lint src test",
57
+ "lint:fix": "biome lint --write src test",
58
+ "format": "biome format --write src test",
59
+ "format:check": "biome format src test",
60
+ "check": "biome check src test",
61
+ "docs": "typedoc --out docs --entryPointStrategy expand src"
36
62
  },
37
63
  "devDependencies": {
38
- "@lopatnov/rollup-plugin-uglify": "^2.1.1",
39
- "@types/jest": "^27.0.2",
40
- "@types/node": "^16.10.2",
41
- "jest": "^27.2.4",
42
- "jest-config": "^27.2.4",
64
+ "@biomejs/biome": "^2.4.4",
65
+ "@lopatnov/rollup-plugin-uglify": "^4.1.3",
66
+ "@rollup/plugin-commonjs": "^29.0.0",
67
+ "@rollup/plugin-json": "^6.1.0",
68
+ "@rollup/plugin-node-resolve": "^16.0.3",
69
+ "@rollup/plugin-typescript": "^12.3.0",
70
+ "@types/node": "^25.3.0",
71
+ "@vitest/coverage-v8": "^3.0.0",
43
72
  "lodash.camelcase": "^4.3.0",
44
- "rollup": "^2.58.0",
45
- "rollup-plugin-commonjs": "^10.1.0",
46
- "rollup-plugin-json": "^4.0.0",
47
- "rollup-plugin-node-resolve": "^5.2.0",
48
- "rollup-plugin-sourcemaps": "^0.6.3",
49
- "rollup-plugin-typescript2": "^0.30.0",
50
- "terser": "^5.9.0",
51
- "ts-jest": "^27.0.5",
52
- "typedoc": "^0.22.5",
53
- "typescript": "^4.4.3"
73
+ "rollup": "^4.59.0",
74
+ "terser": "^5.46.0",
75
+ "tslib": "^2.8.1",
76
+ "typedoc": "^0.28.17",
77
+ "typescript": "^5.9.3",
78
+ "vitest": "^3.0.0"
54
79
  },
55
80
  "dependencies": {
56
- "@lopatnov/get-internal-type": "^1.5.7"
81
+ "@lopatnov/get-internal-type": "^2.2.1"
57
82
  }
58
83
  }
@@ -1,6 +0,0 @@
1
- var types={},typesToString=types.toString,buildInList=["Boolean","Number","String","Function","Array","Date","RegExp","Object","Error","Promise","Generator","GeneratorFunction","ArrayBuffer","DataView"],typedArrays=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"],maps=["Map","WeakMap"],sets=["Set","WeakSet"];function getInternalType(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?types[typesToString.call(t)]||"object":typeof t}buildInList.forEach((function(t){types["[object "+t+"]"]=t.toLowerCase();})),maps.forEach((function(t){types["[object "+t+"]"]="map";})),sets.forEach((function(t){types["[object "+t+"]"]="set";})),typedArrays.forEach((function(t){types["[object "+t+"]"]="typedarray";}));
2
-
3
- var refs=[],counter=0;function fillNativeFunctions(e,r,n,t){void 0===t&&(t=!0);for(var i=t?".prototype.":".",o=0,a=Object.getOwnPropertyNames(t?r.prototype:r);o<a.length;o++){var u=a[o];["caller","callee","arguments"].indexOf(u)<0&&(e[""+n+i+u]=t?r.prototype[u]:r[u]);}}var nativeFunctions=function(){var e={};return fillNativeFunctions(e,Array,"Array",!1),fillNativeFunctions(e,Array,"Array"),fillNativeFunctions(e,JSON,"JSON",!1),fillNativeFunctions(e,Object,"Object",!1),fillNativeFunctions(e,Object,"Object"),fillNativeFunctions(e,Function,"Function",!1),fillNativeFunctions(e,Function,"Function"),fillNativeFunctions(e,Date,"Date",!1),fillNativeFunctions(e,String,"String"),e.Function=Function,e}();function numberToString(e){if(Number.isNaN(e))return "Number.NaN";switch(e){case Number.POSITIVE_INFINITY:return "Number.POSITIVE_INFINITY";case Number.NEGATIVE_INFINITY:return "Number.NEGATIVE_INFINITY";case Number.EPSILON:return "Number.EPSILON";case Number.MAX_SAFE_INTEGER:return "Number.MAX_SAFE_INTEGER";case Number.MIN_SAFE_INTEGER:return "Number.MIN_SAFE_INTEGER";case Number.MAX_VALUE:return "Number.MAX_VALUE";case Number.MIN_VALUE:return "Number.MIN_VALUE";case Math.PI:return "Math.PI";case Math.E:return "Math.E";case Math.LN10:return "Math.LN10";case Math.LN2:return "Math.LN2";case Math.LOG10E:return "Math.LOG10E";case Math.LOG2E:return "Math.LOG2E";case Math.SQRT1_2:return "Math.SQRT1_2";case Math.SQRT2:return "Math.SQRT2";default:return String(e)}}function symbolToString(e){switch(e){case Symbol.asyncIterator:case Symbol.hasInstance:case Symbol.isConcatSpreadable:case Symbol.iterator:case Symbol.match:case Symbol.prototype:case Symbol.replace:case Symbol.search:case Symbol.species:case Symbol.split:case Symbol.toPrimitive:case Symbol.toStringTag:case Symbol.unscopables:return e.description;default:return "Symbol("+(e.description?'"'+e.description+'"':"")+")"}}function dateToString(e){return isNaN(e.getTime())?"new Date("+e.toString()+")":"new Date("+e.toISOString()+")"}function errorToString(e){return "new Error("+JSON.stringify(e.message)+", "+JSON.stringify(e.fileName)+", "+JSON.stringify(e.lineNumber)+")"}function arrayToString(e,r,n){if(0===e.length)return "[]";var t=e.reduce((function(e,t,i){n.references.push(i.toString());var o=e?e+", ":"";return o+=stringifyRef(t,r,n),n.references.pop(),o}),"");return attachActions(getLocalRefs(e),"["+t+"]")}function getLocalRefs(e){return refs.filter((function(r){return r.source===e}))}function attachActions(e,r){if(e.length>0){var n="___j2s_"+(counter=counter++%Number.MAX_SAFE_INTEGER),t=e.reduce((function(e,r){var t=converToAction(n,r);return refs.splice(refs.indexOf(r),1),e+t}),"");return "(function(){ var "+n+" = "+r+"; "+t+" return "+n+"; }())"}return r}function converToAction(e,r){var n=r.historyRef.indexOf(r.source);if(n<0)return "";for(var t,i=r.historyRef.slice(n),o="",a=0;a<i.length;a++){var u=i[a];if(u===r.source)o=e,t=r.source;else if("string"==typeof u)o+="['"+u.replace(/'/gi,"\\'")+"']",t=t[u];else if(u!==t)return ""}return o+" = "+e+"; "}function typedArrayToString(e,r,n){var t=arrayToString(Array.from(e),r,n);return "new "+e.constructor.name+"("+t+")"}function setToString(e,r,n){var t=[];return e.forEach((function(e,i,o){t.push(stringifyRef(i,r,n));})),0===t.length?"new Set()":"new Set(["+t.join(", ")+"])"}function mapToString(e,r,n){var t=[];return e.forEach((function(e,i){t.push("["+stringifyRef(i,r,n)+", "+stringifyRef(e,r,n)+"]");})),0===t.length?"new Map()":"new Map(["+t.join(", ")+"])"}function objectToString(e,r,n){var t=[];for(var i in e)if(e.hasOwnProperty(i)){n.references.push(i);var o=stringifyRef(e[i],r,n);n.references.pop(),"undefined"!==o&&(/^[a-zA-Z]+$/.test(i)||(i='"'+i+'"'),t.push(i+": "+o));}return 0===t.length?"{}":attachActions(getLocalRefs(e),"{\n"+t.join(",\n")+"\n}")}function functionPropertiesToString(e,r,n,t){var i="";for(var o in r)if(r.hasOwnProperty(o)){t.references.push(o);var a=stringifyRef(r[o],n,t);t.references.pop(),"undefined"!==a&&(i+=e+"."+o+" = "+a+";\n");}return i}function functionToString(e,r,n){var t=e.name||"anonymousFunction",i=r.includeFunctionProperties?functionPropertiesToString(t,e,r,n):"";n.references.push("prototype");var o=r.includeFunctionPrototype?functionPropertiesToString(t+".prototype",e.prototype,r,n):"";n.references.pop();var a=String(e);if(a.indexOf("[native code]")>-1&&a.length<100)for(var u in nativeFunctions)nativeFunctions[u]===e&&(a=u);return i||o?attachActions(getLocalRefs(e),"(function(){\n var "+t+" = "+String(a)+";\n "+i+"\n "+o+"\n return "+t+";\n}())"):a}function arrayBufferToString(e,r,n){return r.includeBuffers?"("+typedArrayToString(new Int8Array(e),r,n)+").buffer":"undefined"}function dataViewToString(e,r,n){return r.includeBuffers?"new DataView("+arrayBufferToString(e.buffer,r,n)+", "+e.byteOffset+", "+e.byteLength+")":"undefined"}function stringify(e,r,n){switch(getInternalType(e)){case"undefined":case"promise":case"generator":return "undefined";case"null":return "null";case"boolean":case"regexp":return String(e);default:return JSON.stringify(e);case"number":return numberToString(e);case"bigint":return "BigInt("+e+")";case"symbol":return symbolToString(e);case"date":return dateToString(e);case"error":return errorToString(e);case"array":return arrayToString(e,r,n);case"typedarray":return typedArrayToString(e,r,n);case"set":return setToString(e,r,n);case"map":return mapToString(e,r,n);case"object":return objectToString(e,r,n);case"function":case"generatorfunction":return functionToString(e,r,n);case"arraybuffer":return arrayBufferToString(e,r,n);case"dataview":return dataViewToString(e,r,n)}}function stringifyRef(e,r,n){var t=n.references.indexOf(e);if(t<0||"string"==typeof n.references[t]){var i=getInternalType(e),o=n.references.length;switch(n.references.push(e),i){case"object":if(n.nestedObjectsLeft<=0)return "undefined";n.nestedObjectsLeft--;break;case"array":case"typedarray":if(n.nestedArraysLeft<=0)return "undefined";n.nestedArraysLeft--;break;case"function":case"generatorfunction":if(n.nestedFunctionsLeft<=0)return "undefined";n.nestedFunctionsLeft--;}var a=stringify(e,r,n);switch(n.references.splice(o),i){case"object":n.nestedObjectsLeft++;break;case"array":case"typedarray":n.nestedArraysLeft++;break;case"function":case"generatorfunction":n.nestedFunctionsLeft++;}return a}return refs.push({historyRef:n.references.slice(0),source:e}),"null"}function javaScriptToString(e,r){var n={includeFunctionProperties:void 0===(r=r||{}).includeFunctionProperties||r.includeFunctionProperties,includeFunctionPrototype:void 0===r.includeFunctionPrototype||r.includeFunctionPrototype,includeBuffers:void 0===r.includeBuffers||r.includeBuffers,nestedObjectsAmount:void 0===r.nestedObjectsAmount?Number.POSITIVE_INFINITY:r.nestedObjectsAmount,nestedArraysAmount:void 0===r.nestedArraysAmount?Number.POSITIVE_INFINITY:r.nestedArraysAmount,nestedFunctionsAmount:void 0===r.nestedFunctionsAmount?Number.POSITIVE_INFINITY:r.nestedFunctionsAmount};return stringify(e,n,{references:[e],nestedObjectsLeft:n.nestedObjectsAmount,nestedArraysLeft:n.nestedArraysAmount,nestedFunctionsLeft:n.nestedFunctionsAmount})}
4
-
5
- export { javaScriptToString as default };
6
- //# sourceMappingURL=javascripttostring.es5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"javascripttostring.es5.js","sources":["../src/javascripttostring.ts"],"sourcesContent":["import getObjectType from \"@lopatnov/get-internal-type\";\r\n\r\nexport interface IJ2SOptions {\r\n includeFunctionProperties?: boolean; // default true\r\n includeFunctionPrototype?: boolean; // default true\r\n includeBuffers?: boolean; // default true\r\n nestedObjectsAmount?: number; // default Number.POSITIVE_INFINITY\r\n nestedArraysAmount?: number; // default Number.POSITIVE_INFINITY\r\n nestedFunctionsAmount?: number; // default Number.POSITIVE_INFINITY\r\n}\r\n\r\ninterface RefInstance {\r\n historyRef: Array<any>,\r\n source: any\r\n}\r\n\r\nvar refs: RefInstance[] = [];\r\nvar counter = 0;\r\n\r\ninterface IJ2SHistory {\r\n references: any[];\r\n nestedObjectsLeft: number;\r\n nestedArraysLeft: number;\r\n nestedFunctionsLeft: number;\r\n}\r\n\r\nfunction fillNativeFunctions(ext: any, obj: any, objName: string, fromPrototype: boolean = true) {\r\n const arrNames = Object.getOwnPropertyNames(fromPrototype ? obj.prototype: obj);\r\n const protoPath = fromPrototype ? '.prototype.' : '.';\r\n for (let name of arrNames) {\r\n if (['caller', 'callee', 'arguments'].indexOf(name) < 0) {\r\n ext[`${objName}${protoPath}${name}`] = fromPrototype ? obj.prototype[name as any] : obj[name as any];\r\n }\r\n }\r\n}\r\n\r\nconst nativeFunctions = (function(){\r\n const functions: any = {};\r\n fillNativeFunctions(functions, Array, 'Array', false);\r\n fillNativeFunctions(functions, Array, 'Array');\r\n fillNativeFunctions(functions, JSON, 'JSON', false);\r\n fillNativeFunctions(functions, Object, 'Object', false);\r\n fillNativeFunctions(functions, Object, 'Object');\r\n fillNativeFunctions(functions, Function, 'Function', false);\r\n fillNativeFunctions(functions, Function, 'Function');\r\n fillNativeFunctions(functions, Date, 'Date', false);\r\n fillNativeFunctions(functions, String, 'String');\r\n functions.Function = Function;\r\n return functions;\r\n}());\r\n\r\nfunction numberToString(value: number): string {\r\n if (Number.isNaN(value)) {\r\n return \"Number.NaN\";\r\n }\r\n switch (value) {\r\n case Number.POSITIVE_INFINITY:\r\n return \"Number.POSITIVE_INFINITY\";\r\n case Number.NEGATIVE_INFINITY:\r\n return \"Number.NEGATIVE_INFINITY\";\r\n case Number.EPSILON:\r\n return \"Number.EPSILON\";\r\n case Number.MAX_SAFE_INTEGER:\r\n return \"Number.MAX_SAFE_INTEGER\";\r\n case Number.MIN_SAFE_INTEGER:\r\n return \"Number.MIN_SAFE_INTEGER\";\r\n case Number.MAX_VALUE:\r\n return \"Number.MAX_VALUE\";\r\n case Number.MIN_VALUE:\r\n return \"Number.MIN_VALUE\";\r\n case Math.PI:\r\n return \"Math.PI\";\r\n case Math.E:\r\n return \"Math.E\";\r\n case Math.LN10:\r\n return \"Math.LN10\";\r\n case Math.LN2:\r\n return \"Math.LN2\";\r\n case Math.LOG10E:\r\n return \"Math.LOG10E\";\r\n case Math.LOG2E:\r\n return \"Math.LOG2E\";\r\n case Math.SQRT1_2:\r\n return \"Math.SQRT1_2\";\r\n case Math.SQRT2:\r\n return \"Math.SQRT2\";\r\n default:\r\n return String(value);\r\n }\r\n}\r\n\r\nfunction symbolToString(value: any): string {\r\n switch (value) {\r\n case Symbol.asyncIterator:\r\n case Symbol.hasInstance:\r\n case Symbol.isConcatSpreadable:\r\n case Symbol.iterator:\r\n case Symbol.match:\r\n case Symbol.prototype:\r\n case Symbol.replace:\r\n case Symbol.search:\r\n case Symbol.species:\r\n case Symbol.split:\r\n case Symbol.toPrimitive:\r\n case Symbol.toStringTag:\r\n case Symbol.unscopables:\r\n return value.description;\r\n default:\r\n let description = value.description ? `\"${value.description}\"` : \"\";\r\n return `Symbol(${description})`;\r\n }\r\n}\r\n\r\nfunction dateToString(value: Date): string {\r\n if (isNaN(value.getTime())) {\r\n return `new Date(${value.toString()})`;\r\n }\r\n return `new Date(${value.toISOString()})`;\r\n}\r\n\r\nfunction errorToString(value: any): string {\r\n let message = JSON.stringify(value.message),\r\n fileName = JSON.stringify(value.fileName),\r\n lineNumber = JSON.stringify(value.lineNumber);\r\n return `new Error(${message}, ${fileName}, ${lineNumber})`;\r\n}\r\n\r\nfunction arrayToString(\r\n value: Array<any>,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n if (value.length === 0) return \"[]\";\r\n let arrayValues = value.reduce(\r\n (x1: any, x2: any, index: number) => {\r\n history.references.push(index.toString());\r\n let str = !!x1 ? `${x1}, ` : '';\r\n str += stringifyRef(x2,options,history);\r\n history.references.pop();\r\n return str;\r\n }, '');\r\n return attachActions(getLocalRefs(value), `[${arrayValues}]`);\r\n}\r\n\r\nfunction getLocalRefs(value: any) {\r\n return refs.filter(x => x.source === value)\r\n}\r\n\r\nfunction attachActions(localRefs: RefInstance[], result: string) {\r\n if (localRefs.length > 0) {\r\n counter = (counter++) % Number.MAX_SAFE_INTEGER;\r\n const localName = `___j2s_${counter}`;\r\n const actions = localRefs.reduce((x1: string, x2: RefInstance) => {\r\n const action = converToAction(localName, x2);\r\n refs.splice(refs.indexOf(x2), 1);\r\n return x1 + action;\r\n }, '');\r\n return `(function(){ var ${localName} = ${result}; ${actions} return ${localName}; }())`;\r\n }\r\n return result;\r\n}\r\n\r\nfunction converToAction(localName: string, r: RefInstance) {\r\n const destIndex = r.historyRef.indexOf(r.source);\r\n if (destIndex < 0) {\r\n return '';\r\n }\r\n\r\n const dest = r.historyRef.slice(destIndex);\r\n let sourceObj: any;\r\n let path = '';\r\n for (let i = 0; i < dest.length; i++) {\r\n const destObj = dest[i];\r\n if (destObj === r.source) {\r\n path = localName;\r\n sourceObj = r.source;\r\n } else if (typeof destObj === 'string') {\r\n path += `['${destObj.replace(/'/gi, '\\\\\\'')}']`;\r\n sourceObj = sourceObj[destObj];\r\n } else if (destObj !== sourceObj) {\r\n return '';\r\n }\r\n }\r\n\r\n return `${path} = ${localName}; `;\r\n}\r\n\r\nfunction typedArrayToString(\r\n value: any,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n let arr = Array.from(value),\r\n arrString = arrayToString(arr, options, history),\r\n constructorName = value.constructor.name;\r\n return `new ${constructorName}(${arrString})`;\r\n}\r\n\r\nfunction setToString(\r\n value: Set<any>,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n let setValues: string[] = [];\r\n\r\n value.forEach((value1: any, value2: any, set: Set<any>) => {\r\n setValues.push(stringifyRef(value2, options, history));\r\n });\r\n\r\n if (setValues.length === 0) return \"new Set()\";\r\n\r\n return `new Set([${setValues.join(\", \")}])`;\r\n}\r\n\r\nfunction mapToString(\r\n value: Map<any, any>,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n let mapValues: string[] = [];\r\n\r\n value.forEach((indexValue: any, key: any) => {\r\n mapValues.push(\r\n `[${stringifyRef(key, options, history)}, ${stringifyRef(\r\n indexValue,\r\n options,\r\n history\r\n )}]`\r\n );\r\n });\r\n\r\n if (mapValues.length === 0) return \"new Map()\";\r\n\r\n return `new Map([${mapValues.join(\", \")}])`;\r\n}\r\n\r\nfunction objectToString(\r\n value: any,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n let objectValues = [];\r\n\r\n for (let propertyName in value) {\r\n if (value.hasOwnProperty(propertyName)) {\r\n history.references.push(propertyName);\r\n let propertyValue = stringifyRef(value[propertyName], options, history);\r\n history.references.pop();\r\n if (propertyValue !== \"undefined\") {\r\n if (!(/^[a-zA-Z]+$/).test(propertyName)) {\r\n propertyName = `\"${propertyName}\"`;\r\n }\r\n objectValues.push(`${propertyName}: ${propertyValue}`);\r\n }\r\n }\r\n }\r\n\r\n if (objectValues.length === 0) return \"{}\";\r\n\r\n return attachActions(getLocalRefs(value), `{\\n${objectValues.join(\",\\n\")}\\n}`);\r\n}\r\n\r\nfunction functionPropertiesToString(\r\n functionName: string,\r\n value: any,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n let result = \"\";\r\n for (let propertyName in value) {\r\n if (value.hasOwnProperty(propertyName)) {\r\n history.references.push(propertyName);\r\n let propertyValue = stringifyRef(value[propertyName], options, history);\r\n history.references.pop();\r\n if (propertyValue !== \"undefined\") {\r\n result += `${functionName}.${propertyName} = ${propertyValue};\\n`;\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n\r\nfunction functionToString(\r\n value: any,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n let functionName = value.name || \"anonymousFunction\";\r\n let functionObject = options.includeFunctionProperties\r\n ? functionPropertiesToString(functionName, value, options, history)\r\n : \"\";\r\n history.references.push('prototype');\r\n let functionPrototype = options.includeFunctionPrototype\r\n ? functionPropertiesToString(\r\n `${functionName}.prototype`,\r\n value.prototype,\r\n options,\r\n history\r\n )\r\n : \"\";\r\n history.references.pop();\r\n\r\n let functionStr = String(value);\r\n if (functionStr.indexOf('[native code]') > -1 && functionStr.length < 100) {\r\n for (const nfName in nativeFunctions) {\r\n if (nativeFunctions[nfName] === value) {\r\n functionStr = nfName\r\n }\r\n }\r\n }\r\n if (!functionObject && !functionPrototype) {\r\n return functionStr;\r\n }\r\n\r\n return attachActions(getLocalRefs(value), `(function(){\\n var ${functionName} = ${String(\r\n functionStr\r\n )};\\n ${functionObject}\\n ${functionPrototype}\\n return ${functionName};\\n}())`);\r\n}\r\n\r\nfunction arrayBufferToString(\r\n value: ArrayBuffer,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n if (!options.includeBuffers) return \"undefined\";\r\n let str = typedArrayToString(new Int8Array(value), options, history);\r\n return `(${str}).buffer`;\r\n}\r\n\r\nfunction dataViewToString(\r\n value: DataView,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n if (!options.includeBuffers) return \"undefined\";\r\n let bufString = arrayBufferToString(value.buffer, options, history);\r\n return `new DataView(${bufString}, ${value.byteOffset}, ${value.byteLength})`;\r\n}\r\n\r\n/**\r\n * Converts to string the value, if it wasn't before\r\n * @param value the value, that converts to string\r\n * @param references the references to stringified objects\r\n */\r\nfunction stringify(\r\n value: any,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n switch (getObjectType(value)) {\r\n case \"undefined\":\r\n return \"undefined\";\r\n case \"null\":\r\n return \"null\";\r\n case \"boolean\":\r\n return String(value);\r\n case \"regexp\":\r\n return String(value);\r\n case \"string\":\r\n return JSON.stringify(value);\r\n case \"number\":\r\n return numberToString(value);\r\n case \"bigint\":\r\n return `BigInt(${value})`;\r\n case \"symbol\":\r\n return symbolToString(value);\r\n case \"date\":\r\n return dateToString(value);\r\n case \"error\":\r\n return errorToString(value);\r\n case \"array\":\r\n return arrayToString(value, options, history);\r\n case \"typedarray\":\r\n return typedArrayToString(value, options, history);\r\n case \"set\":\r\n return setToString(value, options, history);\r\n case \"map\":\r\n return mapToString(value, options, history);\r\n case \"object\":\r\n return objectToString(value, options, history);\r\n case \"function\":\r\n case \"generatorfunction\":\r\n return functionToString(value, options, history);\r\n case \"arraybuffer\":\r\n return arrayBufferToString(value, options, history);\r\n case \"dataview\":\r\n return dataViewToString(value, options, history);\r\n case \"promise\":\r\n case \"generator\":\r\n return \"undefined\";\r\n default:\r\n return JSON.stringify(value);\r\n }\r\n}\r\n\r\n/**\r\n * Stringify the value, if it wasn't before\r\n * @param value the value, that converts to string\r\n * @param references the references to stringified objects\r\n */\r\nfunction stringifyRef(\r\n value: any,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n const index = history.references.indexOf(value);\r\n if (index < 0 || typeof(history.references[index]) === 'string') {\r\n let objectType = getObjectType(value);\r\n let referencesLength = history.references.length;\r\n history.references.push(value);\r\n switch (objectType) {\r\n case \"object\":\r\n if (history.nestedObjectsLeft <= 0) return \"undefined\";\r\n history.nestedObjectsLeft--;\r\n break;\r\n case \"array\":\r\n case \"typedarray\":\r\n if (history.nestedArraysLeft <= 0) return \"undefined\";\r\n history.nestedArraysLeft--;\r\n break;\r\n case \"function\":\r\n case \"generatorfunction\":\r\n if (history.nestedFunctionsLeft <= 0) return \"undefined\";\r\n history.nestedFunctionsLeft--;\r\n break;\r\n }\r\n\r\n let refString = stringify(value, options, history);\r\n\r\n history.references.splice(referencesLength);\r\n switch (objectType) {\r\n case \"object\":\r\n history.nestedObjectsLeft++;\r\n break;\r\n case \"array\":\r\n case \"typedarray\":\r\n history.nestedArraysLeft++;\r\n break;\r\n case \"function\":\r\n case \"generatorfunction\":\r\n history.nestedFunctionsLeft++;\r\n break;\r\n }\r\n\r\n return refString;\r\n } else {\r\n refs.push({\r\n historyRef: history.references.slice(0),\r\n source: value\r\n })\r\n }\r\n return \"null\";\r\n}\r\n\r\n/**\r\n * Converts JavaScript value to string\r\n * @param value the value of any type\r\n * @param options [optional] The options of conversion\r\n */\r\nfunction javaScriptToString(value: any, options?: IJ2SOptions): string {\r\n options = options || {};\r\n let concreteOptions: IJ2SOptions = {\r\n includeFunctionProperties:\r\n options.includeFunctionProperties === undefined\r\n ? true\r\n : options.includeFunctionProperties,\r\n includeFunctionPrototype:\r\n options.includeFunctionPrototype === undefined\r\n ? true\r\n : options.includeFunctionPrototype,\r\n includeBuffers:\r\n options.includeBuffers === undefined ? true : options.includeBuffers,\r\n nestedObjectsAmount:\r\n options.nestedObjectsAmount === undefined\r\n ? Number.POSITIVE_INFINITY\r\n : options.nestedObjectsAmount,\r\n nestedArraysAmount:\r\n options.nestedArraysAmount === undefined\r\n ? Number.POSITIVE_INFINITY\r\n : options.nestedArraysAmount,\r\n nestedFunctionsAmount:\r\n options.nestedFunctionsAmount === undefined\r\n ? Number.POSITIVE_INFINITY\r\n : options.nestedFunctionsAmount\r\n };\r\n\r\n return stringify(value, concreteOptions, {\r\n references: [value],\r\n nestedObjectsLeft: concreteOptions.nestedObjectsAmount as number,\r\n nestedArraysLeft: concreteOptions.nestedArraysAmount as number,\r\n nestedFunctionsLeft: concreteOptions.nestedFunctionsAmount as number\r\n });\r\n}\r\n\r\nexport default javaScriptToString;\r\n"],"names":["refs","counter","fillNativeFunctions","ext","obj","objName","fromPrototype","protoPath","arrNames_1","Object","getOwnPropertyNames","prototype","_i","name_1","indexOf","nativeFunctions","functions","Array","JSON","Function","Date","String","numberToString","value","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","EPSILON","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","MAX_VALUE","MIN_VALUE","Math","PI","E","LN10","LN2","LOG10E","LOG2E","SQRT1_2","SQRT2","symbolToString","Symbol","asyncIterator","hasInstance","isConcatSpreadable","iterator","match","replace","search","species","split","toPrimitive","toStringTag","unscopables","description","dateToString","getTime","toString","toISOString","errorToString","stringify","message","fileName","lineNumber","arrayToString","options","history","length","arrayValues","reduce","x1","x2","index","references","push","str","stringifyRef","pop","attachActions","getLocalRefs","filter","x","source","localRefs","result","localName_1","actions","action","converToAction","splice","localName","r","destIndex","historyRef","sourceObj","dest","slice","path","i","destObj","typedArrayToString","arrString","from","constructor","name","setToString","setValues","forEach","value1","value2","set","join","mapToString","mapValues","indexValue","key","objectToString","objectValues","propertyName","hasOwnProperty","propertyValue","test","functionPropertiesToString","functionName","functionToString","functionObject","includeFunctionProperties","functionPrototype","includeFunctionPrototype","functionStr","nfName","arrayBufferToString","includeBuffers","Int8Array","dataViewToString","buffer","byteOffset","byteLength","getObjectType","objectType","referencesLength","nestedObjectsLeft","nestedArraysLeft","nestedFunctionsLeft","refString","javaScriptToString","concreteOptions","undefined","nestedObjectsAmount","nestedArraysAmount","nestedFunctionsAmount"],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- var types={},typesToString=types.toString,buildInList=["Boolean","Number","String","Function","Array","Date","RegExp","Object","Error","Promise","Generator","GeneratorFunction","ArrayBuffer","DataView"],typedArrays=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"],maps=["Map","WeakMap"],sets=["Set","WeakSet"];function getInternalType(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?types[typesToString.call(t)]||"object":typeof t}buildInList.forEach((function(t){types["[object "+t+"]"]=t.toLowerCase();})),maps.forEach((function(t){types["[object "+t+"]"]="map";})),sets.forEach((function(t){types["[object "+t+"]"]="set";})),typedArrays.forEach((function(t){types["[object "+t+"]"]="typedarray";}));
2
-
3
- var refs=[],counter=0;function fillNativeFunctions(e,r,n,t){void 0===t&&(t=!0);for(var i=t?".prototype.":".",o=0,a=Object.getOwnPropertyNames(t?r.prototype:r);o<a.length;o++){var u=a[o];["caller","callee","arguments"].indexOf(u)<0&&(e[""+n+i+u]=t?r.prototype[u]:r[u]);}}var nativeFunctions=function(){var e={};return fillNativeFunctions(e,Array,"Array",!1),fillNativeFunctions(e,Array,"Array"),fillNativeFunctions(e,JSON,"JSON",!1),fillNativeFunctions(e,Object,"Object",!1),fillNativeFunctions(e,Object,"Object"),fillNativeFunctions(e,Function,"Function",!1),fillNativeFunctions(e,Function,"Function"),fillNativeFunctions(e,Date,"Date",!1),fillNativeFunctions(e,String,"String"),e.Function=Function,e}();function numberToString(e){if(Number.isNaN(e))return "Number.NaN";switch(e){case Number.POSITIVE_INFINITY:return "Number.POSITIVE_INFINITY";case Number.NEGATIVE_INFINITY:return "Number.NEGATIVE_INFINITY";case Number.EPSILON:return "Number.EPSILON";case Number.MAX_SAFE_INTEGER:return "Number.MAX_SAFE_INTEGER";case Number.MIN_SAFE_INTEGER:return "Number.MIN_SAFE_INTEGER";case Number.MAX_VALUE:return "Number.MAX_VALUE";case Number.MIN_VALUE:return "Number.MIN_VALUE";case Math.PI:return "Math.PI";case Math.E:return "Math.E";case Math.LN10:return "Math.LN10";case Math.LN2:return "Math.LN2";case Math.LOG10E:return "Math.LOG10E";case Math.LOG2E:return "Math.LOG2E";case Math.SQRT1_2:return "Math.SQRT1_2";case Math.SQRT2:return "Math.SQRT2";default:return String(e)}}function symbolToString(e){switch(e){case Symbol.asyncIterator:case Symbol.hasInstance:case Symbol.isConcatSpreadable:case Symbol.iterator:case Symbol.match:case Symbol.prototype:case Symbol.replace:case Symbol.search:case Symbol.species:case Symbol.split:case Symbol.toPrimitive:case Symbol.toStringTag:case Symbol.unscopables:return e.description;default:return "Symbol("+(e.description?'"'+e.description+'"':"")+")"}}function dateToString(e){return isNaN(e.getTime())?"new Date("+e.toString()+")":"new Date("+e.toISOString()+")"}function errorToString(e){return "new Error("+JSON.stringify(e.message)+", "+JSON.stringify(e.fileName)+", "+JSON.stringify(e.lineNumber)+")"}function arrayToString(e,r,n){if(0===e.length)return "[]";var t=e.reduce((function(e,t,i){n.references.push(i.toString());var o=e?e+", ":"";return o+=stringifyRef(t,r,n),n.references.pop(),o}),"");return attachActions(getLocalRefs(e),"["+t+"]")}function getLocalRefs(e){return refs.filter((function(r){return r.source===e}))}function attachActions(e,r){if(e.length>0){var n="___j2s_"+(counter=counter++%Number.MAX_SAFE_INTEGER),t=e.reduce((function(e,r){var t=converToAction(n,r);return refs.splice(refs.indexOf(r),1),e+t}),"");return "(function(){ var "+n+" = "+r+"; "+t+" return "+n+"; }())"}return r}function converToAction(e,r){var n=r.historyRef.indexOf(r.source);if(n<0)return "";for(var t,i=r.historyRef.slice(n),o="",a=0;a<i.length;a++){var u=i[a];if(u===r.source)o=e,t=r.source;else if("string"==typeof u)o+="['"+u.replace(/'/gi,"\\'")+"']",t=t[u];else if(u!==t)return ""}return o+" = "+e+"; "}function typedArrayToString(e,r,n){var t=arrayToString(Array.from(e),r,n);return "new "+e.constructor.name+"("+t+")"}function setToString(e,r,n){var t=[];return e.forEach((function(e,i,o){t.push(stringifyRef(i,r,n));})),0===t.length?"new Set()":"new Set(["+t.join(", ")+"])"}function mapToString(e,r,n){var t=[];return e.forEach((function(e,i){t.push("["+stringifyRef(i,r,n)+", "+stringifyRef(e,r,n)+"]");})),0===t.length?"new Map()":"new Map(["+t.join(", ")+"])"}function objectToString(e,r,n){var t=[];for(var i in e)if(e.hasOwnProperty(i)){n.references.push(i);var o=stringifyRef(e[i],r,n);n.references.pop(),"undefined"!==o&&(/^[a-zA-Z]+$/.test(i)||(i='"'+i+'"'),t.push(i+": "+o));}return 0===t.length?"{}":attachActions(getLocalRefs(e),"{\n"+t.join(",\n")+"\n}")}function functionPropertiesToString(e,r,n,t){var i="";for(var o in r)if(r.hasOwnProperty(o)){t.references.push(o);var a=stringifyRef(r[o],n,t);t.references.pop(),"undefined"!==a&&(i+=e+"."+o+" = "+a+";\n");}return i}function functionToString(e,r,n){var t=e.name||"anonymousFunction",i=r.includeFunctionProperties?functionPropertiesToString(t,e,r,n):"";n.references.push("prototype");var o=r.includeFunctionPrototype?functionPropertiesToString(t+".prototype",e.prototype,r,n):"";n.references.pop();var a=String(e);if(a.indexOf("[native code]")>-1&&a.length<100)for(var u in nativeFunctions)nativeFunctions[u]===e&&(a=u);return i||o?attachActions(getLocalRefs(e),"(function(){\n var "+t+" = "+String(a)+";\n "+i+"\n "+o+"\n return "+t+";\n}())"):a}function arrayBufferToString(e,r,n){return r.includeBuffers?"("+typedArrayToString(new Int8Array(e),r,n)+").buffer":"undefined"}function dataViewToString(e,r,n){return r.includeBuffers?"new DataView("+arrayBufferToString(e.buffer,r,n)+", "+e.byteOffset+", "+e.byteLength+")":"undefined"}function stringify(e,r,n){switch(getInternalType(e)){case"undefined":return "undefined";case"null":return "null";case"boolean":case"regexp":return String(e);case"string":return JSON.stringify(e);case"number":return numberToString(e);case"bigint":return "BigInt("+e+")";case"symbol":return symbolToString(e);case"date":return dateToString(e);case"error":return errorToString(e);case"array":return arrayToString(e,r,n);case"typedarray":return typedArrayToString(e,r,n);case"set":return setToString(e,r,n);case"map":return mapToString(e,r,n);case"object":return objectToString(e,r,n);case"function":case"generatorfunction":return functionToString(e,r,n);case"arraybuffer":return arrayBufferToString(e,r,n);case"dataview":return dataViewToString(e,r,n);case"promise":case"generator":return "undefined";default:return JSON.stringify(e)}}function stringifyRef(e,r,n){var t=n.references.indexOf(e);if(t<0||"string"==typeof n.references[t]){var i=getInternalType(e),o=n.references.length;switch(n.references.push(e),i){case"object":if(n.nestedObjectsLeft<=0)return "undefined";n.nestedObjectsLeft--;break;case"array":case"typedarray":if(n.nestedArraysLeft<=0)return "undefined";n.nestedArraysLeft--;break;case"function":case"generatorfunction":if(n.nestedFunctionsLeft<=0)return "undefined";n.nestedFunctionsLeft--;}var a=stringify(e,r,n);switch(n.references.splice(o),i){case"object":n.nestedObjectsLeft++;break;case"array":case"typedarray":n.nestedArraysLeft++;break;case"function":case"generatorfunction":n.nestedFunctionsLeft++;}return a}return refs.push({historyRef:n.references.slice(0),source:e}),"null"}function javaScriptToString(e,r){var n={includeFunctionProperties:void 0===(r=r||{}).includeFunctionProperties||r.includeFunctionProperties,includeFunctionPrototype:void 0===r.includeFunctionPrototype||r.includeFunctionPrototype,includeBuffers:void 0===r.includeBuffers||r.includeBuffers,nestedObjectsAmount:void 0===r.nestedObjectsAmount?Number.POSITIVE_INFINITY:r.nestedObjectsAmount,nestedArraysAmount:void 0===r.nestedArraysAmount?Number.POSITIVE_INFINITY:r.nestedArraysAmount,nestedFunctionsAmount:void 0===r.nestedFunctionsAmount?Number.POSITIVE_INFINITY:r.nestedFunctionsAmount};return stringify(e,n,{references:[e],nestedObjectsLeft:n.nestedObjectsAmount,nestedArraysLeft:n.nestedArraysAmount,nestedFunctionsLeft:n.nestedFunctionsAmount})}
4
-
5
- export default javaScriptToString;
6
- //# sourceMappingURL=javascripttostring.min.es5.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"javascripttostring.min.es5.js","sources":["../node_modules/@lopatnov/get-internal-type/dist/get-internal-type.es.js","../src/javascripttostring.ts"],"sourcesContent":["var types = {}, typesToString = types.toString, buildInList = [\r\n \"Boolean\",\r\n \"Number\",\r\n \"String\",\r\n \"Function\",\r\n \"Array\",\r\n \"Date\",\r\n \"RegExp\",\r\n \"Object\",\r\n \"Error\",\r\n \"Promise\",\r\n \"Generator\",\r\n \"GeneratorFunction\",\r\n \"ArrayBuffer\",\r\n \"DataView\"\r\n], typedArrays = [\r\n \"Int8Array\",\r\n \"Uint8Array\",\r\n \"Uint8ClampedArray\",\r\n \"Int16Array\",\r\n \"Uint16Array\",\r\n \"Int32Array\",\r\n \"Uint32Array\",\r\n \"Float32Array\",\r\n \"Float64Array\",\r\n \"BigInt64Array\",\r\n \"BigUint64Array\"\r\n], maps = [\"Map\", \"WeakMap\"], sets = [\"Set\", \"WeakSet\"];\r\nbuildInList.forEach(function (name) {\r\n types[\"[object \" + name + \"]\"] = name.toLowerCase();\r\n});\r\nmaps.forEach(function (name) {\r\n types[\"[object \" + name + \"]\"] = \"map\";\r\n});\r\nsets.forEach(function (name) {\r\n types[\"[object \" + name + \"]\"] = \"set\";\r\n});\r\ntypedArrays.forEach(function (name) {\r\n types[\"[object \" + name + \"]\"] = \"typedarray\";\r\n});\r\nfunction getInternalType(obj) {\r\n return obj == null\r\n ? obj + \"\"\r\n : typeof obj === \"object\" || typeof obj === \"function\"\r\n ? types[typesToString.call(obj)] || \"object\"\r\n : typeof obj;\r\n}\n\nexport default getInternalType;\n//# sourceMappingURL=get-internal-type.es.js.map\n","import getObjectType from \"@lopatnov/get-internal-type\";\r\n\r\nexport interface IJ2SOptions {\r\n includeFunctionProperties?: boolean; // default true\r\n includeFunctionPrototype?: boolean; // default true\r\n includeBuffers?: boolean; // default true\r\n nestedObjectsAmount?: number; // default Number.POSITIVE_INFINITY\r\n nestedArraysAmount?: number; // default Number.POSITIVE_INFINITY\r\n nestedFunctionsAmount?: number; // default Number.POSITIVE_INFINITY\r\n}\r\n\r\ninterface RefInstance {\r\n historyRef: Array<any>,\r\n source: any\r\n}\r\n\r\nvar refs: RefInstance[] = [];\r\nvar counter = 0;\r\n\r\ninterface IJ2SHistory {\r\n references: any[];\r\n nestedObjectsLeft: number;\r\n nestedArraysLeft: number;\r\n nestedFunctionsLeft: number;\r\n}\r\n\r\nfunction fillNativeFunctions(ext: any, obj: any, objName: string, fromPrototype: boolean = true) {\r\n const arrNames = Object.getOwnPropertyNames(fromPrototype ? obj.prototype: obj);\r\n const protoPath = fromPrototype ? '.prototype.' : '.';\r\n for (let name of arrNames) {\r\n if (['caller', 'callee', 'arguments'].indexOf(name) < 0) {\r\n ext[`${objName}${protoPath}${name}`] = fromPrototype ? obj.prototype[name as any] : obj[name as any];\r\n }\r\n }\r\n}\r\n\r\nconst nativeFunctions = (function(){\r\n const functions: any = {};\r\n fillNativeFunctions(functions, Array, 'Array', false);\r\n fillNativeFunctions(functions, Array, 'Array');\r\n fillNativeFunctions(functions, JSON, 'JSON', false);\r\n fillNativeFunctions(functions, Object, 'Object', false);\r\n fillNativeFunctions(functions, Object, 'Object');\r\n fillNativeFunctions(functions, Function, 'Function', false);\r\n fillNativeFunctions(functions, Function, 'Function');\r\n fillNativeFunctions(functions, Date, 'Date', false);\r\n fillNativeFunctions(functions, String, 'String');\r\n functions.Function = Function;\r\n return functions;\r\n}());\r\n\r\nfunction numberToString(value: number): string {\r\n if (Number.isNaN(value)) {\r\n return \"Number.NaN\";\r\n }\r\n switch (value) {\r\n case Number.POSITIVE_INFINITY:\r\n return \"Number.POSITIVE_INFINITY\";\r\n case Number.NEGATIVE_INFINITY:\r\n return \"Number.NEGATIVE_INFINITY\";\r\n case Number.EPSILON:\r\n return \"Number.EPSILON\";\r\n case Number.MAX_SAFE_INTEGER:\r\n return \"Number.MAX_SAFE_INTEGER\";\r\n case Number.MIN_SAFE_INTEGER:\r\n return \"Number.MIN_SAFE_INTEGER\";\r\n case Number.MAX_VALUE:\r\n return \"Number.MAX_VALUE\";\r\n case Number.MIN_VALUE:\r\n return \"Number.MIN_VALUE\";\r\n case Math.PI:\r\n return \"Math.PI\";\r\n case Math.E:\r\n return \"Math.E\";\r\n case Math.LN10:\r\n return \"Math.LN10\";\r\n case Math.LN2:\r\n return \"Math.LN2\";\r\n case Math.LOG10E:\r\n return \"Math.LOG10E\";\r\n case Math.LOG2E:\r\n return \"Math.LOG2E\";\r\n case Math.SQRT1_2:\r\n return \"Math.SQRT1_2\";\r\n case Math.SQRT2:\r\n return \"Math.SQRT2\";\r\n default:\r\n return String(value);\r\n }\r\n}\r\n\r\nfunction symbolToString(value: any): string {\r\n switch (value) {\r\n case Symbol.asyncIterator:\r\n case Symbol.hasInstance:\r\n case Symbol.isConcatSpreadable:\r\n case Symbol.iterator:\r\n case Symbol.match:\r\n case Symbol.prototype:\r\n case Symbol.replace:\r\n case Symbol.search:\r\n case Symbol.species:\r\n case Symbol.split:\r\n case Symbol.toPrimitive:\r\n case Symbol.toStringTag:\r\n case Symbol.unscopables:\r\n return value.description;\r\n default:\r\n let description = value.description ? `\"${value.description}\"` : \"\";\r\n return `Symbol(${description})`;\r\n }\r\n}\r\n\r\nfunction dateToString(value: Date): string {\r\n if (isNaN(value.getTime())) {\r\n return `new Date(${value.toString()})`;\r\n }\r\n return `new Date(${value.toISOString()})`;\r\n}\r\n\r\nfunction errorToString(value: any): string {\r\n let message = JSON.stringify(value.message),\r\n fileName = JSON.stringify(value.fileName),\r\n lineNumber = JSON.stringify(value.lineNumber);\r\n return `new Error(${message}, ${fileName}, ${lineNumber})`;\r\n}\r\n\r\nfunction arrayToString(\r\n value: Array<any>,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n if (value.length === 0) return \"[]\";\r\n let arrayValues = value.reduce(\r\n (x1: any, x2: any, index: number) => {\r\n history.references.push(index.toString());\r\n let str = !!x1 ? `${x1}, ` : '';\r\n str += stringifyRef(x2,options,history);\r\n history.references.pop();\r\n return str;\r\n }, '');\r\n return attachActions(getLocalRefs(value), `[${arrayValues}]`);\r\n}\r\n\r\nfunction getLocalRefs(value: any) {\r\n return refs.filter(x => x.source === value)\r\n}\r\n\r\nfunction attachActions(localRefs: RefInstance[], result: string) {\r\n if (localRefs.length > 0) {\r\n counter = (counter++) % Number.MAX_SAFE_INTEGER;\r\n const localName = `___j2s_${counter}`;\r\n const actions = localRefs.reduce((x1: string, x2: RefInstance) => {\r\n const action = converToAction(localName, x2);\r\n refs.splice(refs.indexOf(x2), 1);\r\n return x1 + action;\r\n }, '');\r\n return `(function(){ var ${localName} = ${result}; ${actions} return ${localName}; }())`;\r\n }\r\n return result;\r\n}\r\n\r\nfunction converToAction(localName: string, r: RefInstance) {\r\n const destIndex = r.historyRef.indexOf(r.source);\r\n if (destIndex < 0) {\r\n return '';\r\n }\r\n\r\n const dest = r.historyRef.slice(destIndex);\r\n let sourceObj: any;\r\n let path = '';\r\n for (let i = 0; i < dest.length; i++) {\r\n const destObj = dest[i];\r\n if (destObj === r.source) {\r\n path = localName;\r\n sourceObj = r.source;\r\n } else if (typeof destObj === 'string') {\r\n path += `['${destObj.replace(/'/gi, '\\\\\\'')}']`;\r\n sourceObj = sourceObj[destObj];\r\n } else if (destObj !== sourceObj) {\r\n return '';\r\n }\r\n }\r\n\r\n return `${path} = ${localName}; `;\r\n}\r\n\r\nfunction typedArrayToString(\r\n value: any,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n let arr = Array.from(value),\r\n arrString = arrayToString(arr, options, history),\r\n constructorName = value.constructor.name;\r\n return `new ${constructorName}(${arrString})`;\r\n}\r\n\r\nfunction setToString(\r\n value: Set<any>,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n let setValues: string[] = [];\r\n\r\n value.forEach((value1: any, value2: any, set: Set<any>) => {\r\n setValues.push(stringifyRef(value2, options, history));\r\n });\r\n\r\n if (setValues.length === 0) return \"new Set()\";\r\n\r\n return `new Set([${setValues.join(\", \")}])`;\r\n}\r\n\r\nfunction mapToString(\r\n value: Map<any, any>,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n let mapValues: string[] = [];\r\n\r\n value.forEach((indexValue: any, key: any) => {\r\n mapValues.push(\r\n `[${stringifyRef(key, options, history)}, ${stringifyRef(\r\n indexValue,\r\n options,\r\n history\r\n )}]`\r\n );\r\n });\r\n\r\n if (mapValues.length === 0) return \"new Map()\";\r\n\r\n return `new Map([${mapValues.join(\", \")}])`;\r\n}\r\n\r\nfunction objectToString(\r\n value: any,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n let objectValues = [];\r\n\r\n for (let propertyName in value) {\r\n if (value.hasOwnProperty(propertyName)) {\r\n history.references.push(propertyName);\r\n let propertyValue = stringifyRef(value[propertyName], options, history);\r\n history.references.pop();\r\n if (propertyValue !== \"undefined\") {\r\n if (!(/^[a-zA-Z]+$/).test(propertyName)) {\r\n propertyName = `\"${propertyName}\"`;\r\n }\r\n objectValues.push(`${propertyName}: ${propertyValue}`);\r\n }\r\n }\r\n }\r\n\r\n if (objectValues.length === 0) return \"{}\";\r\n\r\n return attachActions(getLocalRefs(value), `{\\n${objectValues.join(\",\\n\")}\\n}`);\r\n}\r\n\r\nfunction functionPropertiesToString(\r\n functionName: string,\r\n value: any,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n let result = \"\";\r\n for (let propertyName in value) {\r\n if (value.hasOwnProperty(propertyName)) {\r\n history.references.push(propertyName);\r\n let propertyValue = stringifyRef(value[propertyName], options, history);\r\n history.references.pop();\r\n if (propertyValue !== \"undefined\") {\r\n result += `${functionName}.${propertyName} = ${propertyValue};\\n`;\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n\r\nfunction functionToString(\r\n value: any,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n let functionName = value.name || \"anonymousFunction\";\r\n let functionObject = options.includeFunctionProperties\r\n ? functionPropertiesToString(functionName, value, options, history)\r\n : \"\";\r\n history.references.push('prototype');\r\n let functionPrototype = options.includeFunctionPrototype\r\n ? functionPropertiesToString(\r\n `${functionName}.prototype`,\r\n value.prototype,\r\n options,\r\n history\r\n )\r\n : \"\";\r\n history.references.pop();\r\n\r\n let functionStr = String(value);\r\n if (functionStr.indexOf('[native code]') > -1 && functionStr.length < 100) {\r\n for (const nfName in nativeFunctions) {\r\n if (nativeFunctions[nfName] === value) {\r\n functionStr = nfName\r\n }\r\n }\r\n }\r\n if (!functionObject && !functionPrototype) {\r\n return functionStr;\r\n }\r\n\r\n return attachActions(getLocalRefs(value), `(function(){\\n var ${functionName} = ${String(\r\n functionStr\r\n )};\\n ${functionObject}\\n ${functionPrototype}\\n return ${functionName};\\n}())`);\r\n}\r\n\r\nfunction arrayBufferToString(\r\n value: ArrayBuffer,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n if (!options.includeBuffers) return \"undefined\";\r\n let str = typedArrayToString(new Int8Array(value), options, history);\r\n return `(${str}).buffer`;\r\n}\r\n\r\nfunction dataViewToString(\r\n value: DataView,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n if (!options.includeBuffers) return \"undefined\";\r\n let bufString = arrayBufferToString(value.buffer, options, history);\r\n return `new DataView(${bufString}, ${value.byteOffset}, ${value.byteLength})`;\r\n}\r\n\r\n/**\r\n * Converts to string the value, if it wasn't before\r\n * @param value the value, that converts to string\r\n * @param references the references to stringified objects\r\n */\r\nfunction stringify(\r\n value: any,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n switch (getObjectType(value)) {\r\n case \"undefined\":\r\n return \"undefined\";\r\n case \"null\":\r\n return \"null\";\r\n case \"boolean\":\r\n return String(value);\r\n case \"regexp\":\r\n return String(value);\r\n case \"string\":\r\n return JSON.stringify(value);\r\n case \"number\":\r\n return numberToString(value);\r\n case \"bigint\":\r\n return `BigInt(${value})`;\r\n case \"symbol\":\r\n return symbolToString(value);\r\n case \"date\":\r\n return dateToString(value);\r\n case \"error\":\r\n return errorToString(value);\r\n case \"array\":\r\n return arrayToString(value, options, history);\r\n case \"typedarray\":\r\n return typedArrayToString(value, options, history);\r\n case \"set\":\r\n return setToString(value, options, history);\r\n case \"map\":\r\n return mapToString(value, options, history);\r\n case \"object\":\r\n return objectToString(value, options, history);\r\n case \"function\":\r\n case \"generatorfunction\":\r\n return functionToString(value, options, history);\r\n case \"arraybuffer\":\r\n return arrayBufferToString(value, options, history);\r\n case \"dataview\":\r\n return dataViewToString(value, options, history);\r\n case \"promise\":\r\n case \"generator\":\r\n return \"undefined\";\r\n default:\r\n return JSON.stringify(value);\r\n }\r\n}\r\n\r\n/**\r\n * Stringify the value, if it wasn't before\r\n * @param value the value, that converts to string\r\n * @param references the references to stringified objects\r\n */\r\nfunction stringifyRef(\r\n value: any,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n const index = history.references.indexOf(value);\r\n if (index < 0 || typeof(history.references[index]) === 'string') {\r\n let objectType = getObjectType(value);\r\n let referencesLength = history.references.length;\r\n history.references.push(value);\r\n switch (objectType) {\r\n case \"object\":\r\n if (history.nestedObjectsLeft <= 0) return \"undefined\";\r\n history.nestedObjectsLeft--;\r\n break;\r\n case \"array\":\r\n case \"typedarray\":\r\n if (history.nestedArraysLeft <= 0) return \"undefined\";\r\n history.nestedArraysLeft--;\r\n break;\r\n case \"function\":\r\n case \"generatorfunction\":\r\n if (history.nestedFunctionsLeft <= 0) return \"undefined\";\r\n history.nestedFunctionsLeft--;\r\n break;\r\n }\r\n\r\n let refString = stringify(value, options, history);\r\n\r\n history.references.splice(referencesLength);\r\n switch (objectType) {\r\n case \"object\":\r\n history.nestedObjectsLeft++;\r\n break;\r\n case \"array\":\r\n case \"typedarray\":\r\n history.nestedArraysLeft++;\r\n break;\r\n case \"function\":\r\n case \"generatorfunction\":\r\n history.nestedFunctionsLeft++;\r\n break;\r\n }\r\n\r\n return refString;\r\n } else {\r\n refs.push({\r\n historyRef: history.references.slice(0),\r\n source: value\r\n })\r\n }\r\n return \"null\";\r\n}\r\n\r\n/**\r\n * Converts JavaScript value to string\r\n * @param value the value of any type\r\n * @param options [optional] The options of conversion\r\n */\r\nfunction javaScriptToString(value: any, options?: IJ2SOptions): string {\r\n options = options || {};\r\n let concreteOptions: IJ2SOptions = {\r\n includeFunctionProperties:\r\n options.includeFunctionProperties === undefined\r\n ? true\r\n : options.includeFunctionProperties,\r\n includeFunctionPrototype:\r\n options.includeFunctionPrototype === undefined\r\n ? true\r\n : options.includeFunctionPrototype,\r\n includeBuffers:\r\n options.includeBuffers === undefined ? true : options.includeBuffers,\r\n nestedObjectsAmount:\r\n options.nestedObjectsAmount === undefined\r\n ? Number.POSITIVE_INFINITY\r\n : options.nestedObjectsAmount,\r\n nestedArraysAmount:\r\n options.nestedArraysAmount === undefined\r\n ? Number.POSITIVE_INFINITY\r\n : options.nestedArraysAmount,\r\n nestedFunctionsAmount:\r\n options.nestedFunctionsAmount === undefined\r\n ? Number.POSITIVE_INFINITY\r\n : options.nestedFunctionsAmount\r\n };\r\n\r\n return stringify(value, concreteOptions, {\r\n references: [value],\r\n nestedObjectsLeft: concreteOptions.nestedObjectsAmount as number,\r\n nestedArraysLeft: concreteOptions.nestedArraysAmount as number,\r\n nestedFunctionsLeft: concreteOptions.nestedFunctionsAmount as number\r\n });\r\n}\r\n\r\nexport default javaScriptToString;\r\n"],"names":["types","typesToString","toString","buildInList","typedArrays","maps","sets","getInternalType","obj","call","forEach","name","toLowerCase","refs","counter","fillNativeFunctions","ext","objName","fromPrototype","protoPath","arrNames_1","Object","getOwnPropertyNames","prototype","_i","name_1","indexOf","nativeFunctions","functions","Array","JSON","Function","Date","String","numberToString","value","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","EPSILON","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","MAX_VALUE","MIN_VALUE","Math","PI","E","LN10","LN2","LOG10E","LOG2E","SQRT1_2","SQRT2","symbolToString","Symbol","asyncIterator","hasInstance","isConcatSpreadable","iterator","match","replace","search","species","split","toPrimitive","toStringTag","unscopables","description","dateToString","getTime","toISOString","errorToString","stringify","message","fileName","lineNumber","arrayToString","options","history","length","arrayValues","reduce","x1","x2","index","references","push","str","stringifyRef","pop","attachActions","getLocalRefs","filter","x","source","localRefs","result","localName_1","actions","action","converToAction","splice","localName","r","destIndex","historyRef","sourceObj","dest","slice","path","i","destObj","typedArrayToString","arrString","from","constructor","setToString","setValues","value1","value2","set","join","mapToString","mapValues","indexValue","key","objectToString","objectValues","propertyName","hasOwnProperty","propertyValue","test","functionPropertiesToString","functionName","functionToString","functionObject","includeFunctionProperties","functionPrototype","includeFunctionPrototype","functionStr","nfName","arrayBufferToString","includeBuffers","Int8Array","dataViewToString","buffer","byteOffset","byteLength","getObjectType","objectType","referencesLength","nestedObjectsLeft","nestedArraysLeft","nestedFunctionsLeft","refString","javaScriptToString","concreteOptions","undefined","nestedObjectsAmount","nestedArraysAmount","nestedFunctionsAmount"],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3
- typeof define === 'function' && define.amd ? define(factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.javaScriptToString = factory());
5
- }(this, (function () { 'use strict';
6
-
7
- var types={},typesToString=types.toString,buildInList=["Boolean","Number","String","Function","Array","Date","RegExp","Object","Error","Promise","Generator","GeneratorFunction","ArrayBuffer","DataView"],typedArrays=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"],maps=["Map","WeakMap"],sets=["Set","WeakSet"];function getInternalType(t){return null==t?t+"":"object"==typeof t||"function"==typeof t?types[typesToString.call(t)]||"object":typeof t}buildInList.forEach((function(t){types["[object "+t+"]"]=t.toLowerCase();})),maps.forEach((function(t){types["[object "+t+"]"]="map";})),sets.forEach((function(t){types["[object "+t+"]"]="set";})),typedArrays.forEach((function(t){types["[object "+t+"]"]="typedarray";}));
8
-
9
- var refs=[],counter=0;function fillNativeFunctions(e,r,n,t){void 0===t&&(t=!0);for(var i=t?".prototype.":".",o=0,a=Object.getOwnPropertyNames(t?r.prototype:r);o<a.length;o++){var u=a[o];["caller","callee","arguments"].indexOf(u)<0&&(e[""+n+i+u]=t?r.prototype[u]:r[u]);}}var nativeFunctions=function(){var e={};return fillNativeFunctions(e,Array,"Array",!1),fillNativeFunctions(e,Array,"Array"),fillNativeFunctions(e,JSON,"JSON",!1),fillNativeFunctions(e,Object,"Object",!1),fillNativeFunctions(e,Object,"Object"),fillNativeFunctions(e,Function,"Function",!1),fillNativeFunctions(e,Function,"Function"),fillNativeFunctions(e,Date,"Date",!1),fillNativeFunctions(e,String,"String"),e.Function=Function,e}();function numberToString(e){if(Number.isNaN(e))return "Number.NaN";switch(e){case Number.POSITIVE_INFINITY:return "Number.POSITIVE_INFINITY";case Number.NEGATIVE_INFINITY:return "Number.NEGATIVE_INFINITY";case Number.EPSILON:return "Number.EPSILON";case Number.MAX_SAFE_INTEGER:return "Number.MAX_SAFE_INTEGER";case Number.MIN_SAFE_INTEGER:return "Number.MIN_SAFE_INTEGER";case Number.MAX_VALUE:return "Number.MAX_VALUE";case Number.MIN_VALUE:return "Number.MIN_VALUE";case Math.PI:return "Math.PI";case Math.E:return "Math.E";case Math.LN10:return "Math.LN10";case Math.LN2:return "Math.LN2";case Math.LOG10E:return "Math.LOG10E";case Math.LOG2E:return "Math.LOG2E";case Math.SQRT1_2:return "Math.SQRT1_2";case Math.SQRT2:return "Math.SQRT2";default:return String(e)}}function symbolToString(e){switch(e){case Symbol.asyncIterator:case Symbol.hasInstance:case Symbol.isConcatSpreadable:case Symbol.iterator:case Symbol.match:case Symbol.prototype:case Symbol.replace:case Symbol.search:case Symbol.species:case Symbol.split:case Symbol.toPrimitive:case Symbol.toStringTag:case Symbol.unscopables:return e.description;default:return "Symbol("+(e.description?'"'+e.description+'"':"")+")"}}function dateToString(e){return isNaN(e.getTime())?"new Date("+e.toString()+")":"new Date("+e.toISOString()+")"}function errorToString(e){return "new Error("+JSON.stringify(e.message)+", "+JSON.stringify(e.fileName)+", "+JSON.stringify(e.lineNumber)+")"}function arrayToString(e,r,n){if(0===e.length)return "[]";var t=e.reduce((function(e,t,i){n.references.push(i.toString());var o=e?e+", ":"";return o+=stringifyRef(t,r,n),n.references.pop(),o}),"");return attachActions(getLocalRefs(e),"["+t+"]")}function getLocalRefs(e){return refs.filter((function(r){return r.source===e}))}function attachActions(e,r){if(e.length>0){var n="___j2s_"+(counter=counter++%Number.MAX_SAFE_INTEGER),t=e.reduce((function(e,r){var t=converToAction(n,r);return refs.splice(refs.indexOf(r),1),e+t}),"");return "(function(){ var "+n+" = "+r+"; "+t+" return "+n+"; }())"}return r}function converToAction(e,r){var n=r.historyRef.indexOf(r.source);if(n<0)return "";for(var t,i=r.historyRef.slice(n),o="",a=0;a<i.length;a++){var u=i[a];if(u===r.source)o=e,t=r.source;else if("string"==typeof u)o+="['"+u.replace(/'/gi,"\\'")+"']",t=t[u];else if(u!==t)return ""}return o+" = "+e+"; "}function typedArrayToString(e,r,n){var t=arrayToString(Array.from(e),r,n);return "new "+e.constructor.name+"("+t+")"}function setToString(e,r,n){var t=[];return e.forEach((function(e,i,o){t.push(stringifyRef(i,r,n));})),0===t.length?"new Set()":"new Set(["+t.join(", ")+"])"}function mapToString(e,r,n){var t=[];return e.forEach((function(e,i){t.push("["+stringifyRef(i,r,n)+", "+stringifyRef(e,r,n)+"]");})),0===t.length?"new Map()":"new Map(["+t.join(", ")+"])"}function objectToString(e,r,n){var t=[];for(var i in e)if(e.hasOwnProperty(i)){n.references.push(i);var o=stringifyRef(e[i],r,n);n.references.pop(),"undefined"!==o&&(/^[a-zA-Z]+$/.test(i)||(i='"'+i+'"'),t.push(i+": "+o));}return 0===t.length?"{}":attachActions(getLocalRefs(e),"{\n"+t.join(",\n")+"\n}")}function functionPropertiesToString(e,r,n,t){var i="";for(var o in r)if(r.hasOwnProperty(o)){t.references.push(o);var a=stringifyRef(r[o],n,t);t.references.pop(),"undefined"!==a&&(i+=e+"."+o+" = "+a+";\n");}return i}function functionToString(e,r,n){var t=e.name||"anonymousFunction",i=r.includeFunctionProperties?functionPropertiesToString(t,e,r,n):"";n.references.push("prototype");var o=r.includeFunctionPrototype?functionPropertiesToString(t+".prototype",e.prototype,r,n):"";n.references.pop();var a=String(e);if(a.indexOf("[native code]")>-1&&a.length<100)for(var u in nativeFunctions)nativeFunctions[u]===e&&(a=u);return i||o?attachActions(getLocalRefs(e),"(function(){\n var "+t+" = "+String(a)+";\n "+i+"\n "+o+"\n return "+t+";\n}())"):a}function arrayBufferToString(e,r,n){return r.includeBuffers?"("+typedArrayToString(new Int8Array(e),r,n)+").buffer":"undefined"}function dataViewToString(e,r,n){return r.includeBuffers?"new DataView("+arrayBufferToString(e.buffer,r,n)+", "+e.byteOffset+", "+e.byteLength+")":"undefined"}function stringify(e,r,n){switch(getInternalType(e)){case"undefined":return "undefined";case"null":return "null";case"boolean":case"regexp":return String(e);case"string":return JSON.stringify(e);case"number":return numberToString(e);case"bigint":return "BigInt("+e+")";case"symbol":return symbolToString(e);case"date":return dateToString(e);case"error":return errorToString(e);case"array":return arrayToString(e,r,n);case"typedarray":return typedArrayToString(e,r,n);case"set":return setToString(e,r,n);case"map":return mapToString(e,r,n);case"object":return objectToString(e,r,n);case"function":case"generatorfunction":return functionToString(e,r,n);case"arraybuffer":return arrayBufferToString(e,r,n);case"dataview":return dataViewToString(e,r,n);case"promise":case"generator":return "undefined";default:return JSON.stringify(e)}}function stringifyRef(e,r,n){var t=n.references.indexOf(e);if(t<0||"string"==typeof n.references[t]){var i=getInternalType(e),o=n.references.length;switch(n.references.push(e),i){case"object":if(n.nestedObjectsLeft<=0)return "undefined";n.nestedObjectsLeft--;break;case"array":case"typedarray":if(n.nestedArraysLeft<=0)return "undefined";n.nestedArraysLeft--;break;case"function":case"generatorfunction":if(n.nestedFunctionsLeft<=0)return "undefined";n.nestedFunctionsLeft--;}var a=stringify(e,r,n);switch(n.references.splice(o),i){case"object":n.nestedObjectsLeft++;break;case"array":case"typedarray":n.nestedArraysLeft++;break;case"function":case"generatorfunction":n.nestedFunctionsLeft++;}return a}return refs.push({historyRef:n.references.slice(0),source:e}),"null"}function javaScriptToString(e,r){var n={includeFunctionProperties:void 0===(r=r||{}).includeFunctionProperties||r.includeFunctionProperties,includeFunctionPrototype:void 0===r.includeFunctionPrototype||r.includeFunctionPrototype,includeBuffers:void 0===r.includeBuffers||r.includeBuffers,nestedObjectsAmount:void 0===r.nestedObjectsAmount?Number.POSITIVE_INFINITY:r.nestedObjectsAmount,nestedArraysAmount:void 0===r.nestedArraysAmount?Number.POSITIVE_INFINITY:r.nestedArraysAmount,nestedFunctionsAmount:void 0===r.nestedFunctionsAmount?Number.POSITIVE_INFINITY:r.nestedFunctionsAmount};return stringify(e,n,{references:[e],nestedObjectsLeft:n.nestedObjectsAmount,nestedArraysLeft:n.nestedArraysAmount,nestedFunctionsLeft:n.nestedFunctionsAmount})}
10
-
11
- return javaScriptToString;
12
-
13
- })));
14
- //# sourceMappingURL=javascripttostring.min.umd.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"javascripttostring.min.umd.js","sources":["../node_modules/@lopatnov/get-internal-type/dist/get-internal-type.es.js","../src/javascripttostring.ts"],"sourcesContent":["var types = {}, typesToString = types.toString, buildInList = [\r\n \"Boolean\",\r\n \"Number\",\r\n \"String\",\r\n \"Function\",\r\n \"Array\",\r\n \"Date\",\r\n \"RegExp\",\r\n \"Object\",\r\n \"Error\",\r\n \"Promise\",\r\n \"Generator\",\r\n \"GeneratorFunction\",\r\n \"ArrayBuffer\",\r\n \"DataView\"\r\n], typedArrays = [\r\n \"Int8Array\",\r\n \"Uint8Array\",\r\n \"Uint8ClampedArray\",\r\n \"Int16Array\",\r\n \"Uint16Array\",\r\n \"Int32Array\",\r\n \"Uint32Array\",\r\n \"Float32Array\",\r\n \"Float64Array\",\r\n \"BigInt64Array\",\r\n \"BigUint64Array\"\r\n], maps = [\"Map\", \"WeakMap\"], sets = [\"Set\", \"WeakSet\"];\r\nbuildInList.forEach(function (name) {\r\n types[\"[object \" + name + \"]\"] = name.toLowerCase();\r\n});\r\nmaps.forEach(function (name) {\r\n types[\"[object \" + name + \"]\"] = \"map\";\r\n});\r\nsets.forEach(function (name) {\r\n types[\"[object \" + name + \"]\"] = \"set\";\r\n});\r\ntypedArrays.forEach(function (name) {\r\n types[\"[object \" + name + \"]\"] = \"typedarray\";\r\n});\r\nfunction getInternalType(obj) {\r\n return obj == null\r\n ? obj + \"\"\r\n : typeof obj === \"object\" || typeof obj === \"function\"\r\n ? types[typesToString.call(obj)] || \"object\"\r\n : typeof obj;\r\n}\n\nexport default getInternalType;\n//# sourceMappingURL=get-internal-type.es.js.map\n","import getObjectType from \"@lopatnov/get-internal-type\";\r\n\r\nexport interface IJ2SOptions {\r\n includeFunctionProperties?: boolean; // default true\r\n includeFunctionPrototype?: boolean; // default true\r\n includeBuffers?: boolean; // default true\r\n nestedObjectsAmount?: number; // default Number.POSITIVE_INFINITY\r\n nestedArraysAmount?: number; // default Number.POSITIVE_INFINITY\r\n nestedFunctionsAmount?: number; // default Number.POSITIVE_INFINITY\r\n}\r\n\r\ninterface RefInstance {\r\n historyRef: Array<any>,\r\n source: any\r\n}\r\n\r\nvar refs: RefInstance[] = [];\r\nvar counter = 0;\r\n\r\ninterface IJ2SHistory {\r\n references: any[];\r\n nestedObjectsLeft: number;\r\n nestedArraysLeft: number;\r\n nestedFunctionsLeft: number;\r\n}\r\n\r\nfunction fillNativeFunctions(ext: any, obj: any, objName: string, fromPrototype: boolean = true) {\r\n const arrNames = Object.getOwnPropertyNames(fromPrototype ? obj.prototype: obj);\r\n const protoPath = fromPrototype ? '.prototype.' : '.';\r\n for (let name of arrNames) {\r\n if (['caller', 'callee', 'arguments'].indexOf(name) < 0) {\r\n ext[`${objName}${protoPath}${name}`] = fromPrototype ? obj.prototype[name as any] : obj[name as any];\r\n }\r\n }\r\n}\r\n\r\nconst nativeFunctions = (function(){\r\n const functions: any = {};\r\n fillNativeFunctions(functions, Array, 'Array', false);\r\n fillNativeFunctions(functions, Array, 'Array');\r\n fillNativeFunctions(functions, JSON, 'JSON', false);\r\n fillNativeFunctions(functions, Object, 'Object', false);\r\n fillNativeFunctions(functions, Object, 'Object');\r\n fillNativeFunctions(functions, Function, 'Function', false);\r\n fillNativeFunctions(functions, Function, 'Function');\r\n fillNativeFunctions(functions, Date, 'Date', false);\r\n fillNativeFunctions(functions, String, 'String');\r\n functions.Function = Function;\r\n return functions;\r\n}());\r\n\r\nfunction numberToString(value: number): string {\r\n if (Number.isNaN(value)) {\r\n return \"Number.NaN\";\r\n }\r\n switch (value) {\r\n case Number.POSITIVE_INFINITY:\r\n return \"Number.POSITIVE_INFINITY\";\r\n case Number.NEGATIVE_INFINITY:\r\n return \"Number.NEGATIVE_INFINITY\";\r\n case Number.EPSILON:\r\n return \"Number.EPSILON\";\r\n case Number.MAX_SAFE_INTEGER:\r\n return \"Number.MAX_SAFE_INTEGER\";\r\n case Number.MIN_SAFE_INTEGER:\r\n return \"Number.MIN_SAFE_INTEGER\";\r\n case Number.MAX_VALUE:\r\n return \"Number.MAX_VALUE\";\r\n case Number.MIN_VALUE:\r\n return \"Number.MIN_VALUE\";\r\n case Math.PI:\r\n return \"Math.PI\";\r\n case Math.E:\r\n return \"Math.E\";\r\n case Math.LN10:\r\n return \"Math.LN10\";\r\n case Math.LN2:\r\n return \"Math.LN2\";\r\n case Math.LOG10E:\r\n return \"Math.LOG10E\";\r\n case Math.LOG2E:\r\n return \"Math.LOG2E\";\r\n case Math.SQRT1_2:\r\n return \"Math.SQRT1_2\";\r\n case Math.SQRT2:\r\n return \"Math.SQRT2\";\r\n default:\r\n return String(value);\r\n }\r\n}\r\n\r\nfunction symbolToString(value: any): string {\r\n switch (value) {\r\n case Symbol.asyncIterator:\r\n case Symbol.hasInstance:\r\n case Symbol.isConcatSpreadable:\r\n case Symbol.iterator:\r\n case Symbol.match:\r\n case Symbol.prototype:\r\n case Symbol.replace:\r\n case Symbol.search:\r\n case Symbol.species:\r\n case Symbol.split:\r\n case Symbol.toPrimitive:\r\n case Symbol.toStringTag:\r\n case Symbol.unscopables:\r\n return value.description;\r\n default:\r\n let description = value.description ? `\"${value.description}\"` : \"\";\r\n return `Symbol(${description})`;\r\n }\r\n}\r\n\r\nfunction dateToString(value: Date): string {\r\n if (isNaN(value.getTime())) {\r\n return `new Date(${value.toString()})`;\r\n }\r\n return `new Date(${value.toISOString()})`;\r\n}\r\n\r\nfunction errorToString(value: any): string {\r\n let message = JSON.stringify(value.message),\r\n fileName = JSON.stringify(value.fileName),\r\n lineNumber = JSON.stringify(value.lineNumber);\r\n return `new Error(${message}, ${fileName}, ${lineNumber})`;\r\n}\r\n\r\nfunction arrayToString(\r\n value: Array<any>,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n if (value.length === 0) return \"[]\";\r\n let arrayValues = value.reduce(\r\n (x1: any, x2: any, index: number) => {\r\n history.references.push(index.toString());\r\n let str = !!x1 ? `${x1}, ` : '';\r\n str += stringifyRef(x2,options,history);\r\n history.references.pop();\r\n return str;\r\n }, '');\r\n return attachActions(getLocalRefs(value), `[${arrayValues}]`);\r\n}\r\n\r\nfunction getLocalRefs(value: any) {\r\n return refs.filter(x => x.source === value)\r\n}\r\n\r\nfunction attachActions(localRefs: RefInstance[], result: string) {\r\n if (localRefs.length > 0) {\r\n counter = (counter++) % Number.MAX_SAFE_INTEGER;\r\n const localName = `___j2s_${counter}`;\r\n const actions = localRefs.reduce((x1: string, x2: RefInstance) => {\r\n const action = converToAction(localName, x2);\r\n refs.splice(refs.indexOf(x2), 1);\r\n return x1 + action;\r\n }, '');\r\n return `(function(){ var ${localName} = ${result}; ${actions} return ${localName}; }())`;\r\n }\r\n return result;\r\n}\r\n\r\nfunction converToAction(localName: string, r: RefInstance) {\r\n const destIndex = r.historyRef.indexOf(r.source);\r\n if (destIndex < 0) {\r\n return '';\r\n }\r\n\r\n const dest = r.historyRef.slice(destIndex);\r\n let sourceObj: any;\r\n let path = '';\r\n for (let i = 0; i < dest.length; i++) {\r\n const destObj = dest[i];\r\n if (destObj === r.source) {\r\n path = localName;\r\n sourceObj = r.source;\r\n } else if (typeof destObj === 'string') {\r\n path += `['${destObj.replace(/'/gi, '\\\\\\'')}']`;\r\n sourceObj = sourceObj[destObj];\r\n } else if (destObj !== sourceObj) {\r\n return '';\r\n }\r\n }\r\n\r\n return `${path} = ${localName}; `;\r\n}\r\n\r\nfunction typedArrayToString(\r\n value: any,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n let arr = Array.from(value),\r\n arrString = arrayToString(arr, options, history),\r\n constructorName = value.constructor.name;\r\n return `new ${constructorName}(${arrString})`;\r\n}\r\n\r\nfunction setToString(\r\n value: Set<any>,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n let setValues: string[] = [];\r\n\r\n value.forEach((value1: any, value2: any, set: Set<any>) => {\r\n setValues.push(stringifyRef(value2, options, history));\r\n });\r\n\r\n if (setValues.length === 0) return \"new Set()\";\r\n\r\n return `new Set([${setValues.join(\", \")}])`;\r\n}\r\n\r\nfunction mapToString(\r\n value: Map<any, any>,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n let mapValues: string[] = [];\r\n\r\n value.forEach((indexValue: any, key: any) => {\r\n mapValues.push(\r\n `[${stringifyRef(key, options, history)}, ${stringifyRef(\r\n indexValue,\r\n options,\r\n history\r\n )}]`\r\n );\r\n });\r\n\r\n if (mapValues.length === 0) return \"new Map()\";\r\n\r\n return `new Map([${mapValues.join(\", \")}])`;\r\n}\r\n\r\nfunction objectToString(\r\n value: any,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n let objectValues = [];\r\n\r\n for (let propertyName in value) {\r\n if (value.hasOwnProperty(propertyName)) {\r\n history.references.push(propertyName);\r\n let propertyValue = stringifyRef(value[propertyName], options, history);\r\n history.references.pop();\r\n if (propertyValue !== \"undefined\") {\r\n if (!(/^[a-zA-Z]+$/).test(propertyName)) {\r\n propertyName = `\"${propertyName}\"`;\r\n }\r\n objectValues.push(`${propertyName}: ${propertyValue}`);\r\n }\r\n }\r\n }\r\n\r\n if (objectValues.length === 0) return \"{}\";\r\n\r\n return attachActions(getLocalRefs(value), `{\\n${objectValues.join(\",\\n\")}\\n}`);\r\n}\r\n\r\nfunction functionPropertiesToString(\r\n functionName: string,\r\n value: any,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n let result = \"\";\r\n for (let propertyName in value) {\r\n if (value.hasOwnProperty(propertyName)) {\r\n history.references.push(propertyName);\r\n let propertyValue = stringifyRef(value[propertyName], options, history);\r\n history.references.pop();\r\n if (propertyValue !== \"undefined\") {\r\n result += `${functionName}.${propertyName} = ${propertyValue};\\n`;\r\n }\r\n }\r\n }\r\n return result;\r\n}\r\n\r\nfunction functionToString(\r\n value: any,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n let functionName = value.name || \"anonymousFunction\";\r\n let functionObject = options.includeFunctionProperties\r\n ? functionPropertiesToString(functionName, value, options, history)\r\n : \"\";\r\n history.references.push('prototype');\r\n let functionPrototype = options.includeFunctionPrototype\r\n ? functionPropertiesToString(\r\n `${functionName}.prototype`,\r\n value.prototype,\r\n options,\r\n history\r\n )\r\n : \"\";\r\n history.references.pop();\r\n\r\n let functionStr = String(value);\r\n if (functionStr.indexOf('[native code]') > -1 && functionStr.length < 100) {\r\n for (const nfName in nativeFunctions) {\r\n if (nativeFunctions[nfName] === value) {\r\n functionStr = nfName\r\n }\r\n }\r\n }\r\n if (!functionObject && !functionPrototype) {\r\n return functionStr;\r\n }\r\n\r\n return attachActions(getLocalRefs(value), `(function(){\\n var ${functionName} = ${String(\r\n functionStr\r\n )};\\n ${functionObject}\\n ${functionPrototype}\\n return ${functionName};\\n}())`);\r\n}\r\n\r\nfunction arrayBufferToString(\r\n value: ArrayBuffer,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n if (!options.includeBuffers) return \"undefined\";\r\n let str = typedArrayToString(new Int8Array(value), options, history);\r\n return `(${str}).buffer`;\r\n}\r\n\r\nfunction dataViewToString(\r\n value: DataView,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n if (!options.includeBuffers) return \"undefined\";\r\n let bufString = arrayBufferToString(value.buffer, options, history);\r\n return `new DataView(${bufString}, ${value.byteOffset}, ${value.byteLength})`;\r\n}\r\n\r\n/**\r\n * Converts to string the value, if it wasn't before\r\n * @param value the value, that converts to string\r\n * @param references the references to stringified objects\r\n */\r\nfunction stringify(\r\n value: any,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n switch (getObjectType(value)) {\r\n case \"undefined\":\r\n return \"undefined\";\r\n case \"null\":\r\n return \"null\";\r\n case \"boolean\":\r\n return String(value);\r\n case \"regexp\":\r\n return String(value);\r\n case \"string\":\r\n return JSON.stringify(value);\r\n case \"number\":\r\n return numberToString(value);\r\n case \"bigint\":\r\n return `BigInt(${value})`;\r\n case \"symbol\":\r\n return symbolToString(value);\r\n case \"date\":\r\n return dateToString(value);\r\n case \"error\":\r\n return errorToString(value);\r\n case \"array\":\r\n return arrayToString(value, options, history);\r\n case \"typedarray\":\r\n return typedArrayToString(value, options, history);\r\n case \"set\":\r\n return setToString(value, options, history);\r\n case \"map\":\r\n return mapToString(value, options, history);\r\n case \"object\":\r\n return objectToString(value, options, history);\r\n case \"function\":\r\n case \"generatorfunction\":\r\n return functionToString(value, options, history);\r\n case \"arraybuffer\":\r\n return arrayBufferToString(value, options, history);\r\n case \"dataview\":\r\n return dataViewToString(value, options, history);\r\n case \"promise\":\r\n case \"generator\":\r\n return \"undefined\";\r\n default:\r\n return JSON.stringify(value);\r\n }\r\n}\r\n\r\n/**\r\n * Stringify the value, if it wasn't before\r\n * @param value the value, that converts to string\r\n * @param references the references to stringified objects\r\n */\r\nfunction stringifyRef(\r\n value: any,\r\n options: IJ2SOptions,\r\n history: IJ2SHistory\r\n): string {\r\n const index = history.references.indexOf(value);\r\n if (index < 0 || typeof(history.references[index]) === 'string') {\r\n let objectType = getObjectType(value);\r\n let referencesLength = history.references.length;\r\n history.references.push(value);\r\n switch (objectType) {\r\n case \"object\":\r\n if (history.nestedObjectsLeft <= 0) return \"undefined\";\r\n history.nestedObjectsLeft--;\r\n break;\r\n case \"array\":\r\n case \"typedarray\":\r\n if (history.nestedArraysLeft <= 0) return \"undefined\";\r\n history.nestedArraysLeft--;\r\n break;\r\n case \"function\":\r\n case \"generatorfunction\":\r\n if (history.nestedFunctionsLeft <= 0) return \"undefined\";\r\n history.nestedFunctionsLeft--;\r\n break;\r\n }\r\n\r\n let refString = stringify(value, options, history);\r\n\r\n history.references.splice(referencesLength);\r\n switch (objectType) {\r\n case \"object\":\r\n history.nestedObjectsLeft++;\r\n break;\r\n case \"array\":\r\n case \"typedarray\":\r\n history.nestedArraysLeft++;\r\n break;\r\n case \"function\":\r\n case \"generatorfunction\":\r\n history.nestedFunctionsLeft++;\r\n break;\r\n }\r\n\r\n return refString;\r\n } else {\r\n refs.push({\r\n historyRef: history.references.slice(0),\r\n source: value\r\n })\r\n }\r\n return \"null\";\r\n}\r\n\r\n/**\r\n * Converts JavaScript value to string\r\n * @param value the value of any type\r\n * @param options [optional] The options of conversion\r\n */\r\nfunction javaScriptToString(value: any, options?: IJ2SOptions): string {\r\n options = options || {};\r\n let concreteOptions: IJ2SOptions = {\r\n includeFunctionProperties:\r\n options.includeFunctionProperties === undefined\r\n ? true\r\n : options.includeFunctionProperties,\r\n includeFunctionPrototype:\r\n options.includeFunctionPrototype === undefined\r\n ? true\r\n : options.includeFunctionPrototype,\r\n includeBuffers:\r\n options.includeBuffers === undefined ? true : options.includeBuffers,\r\n nestedObjectsAmount:\r\n options.nestedObjectsAmount === undefined\r\n ? Number.POSITIVE_INFINITY\r\n : options.nestedObjectsAmount,\r\n nestedArraysAmount:\r\n options.nestedArraysAmount === undefined\r\n ? Number.POSITIVE_INFINITY\r\n : options.nestedArraysAmount,\r\n nestedFunctionsAmount:\r\n options.nestedFunctionsAmount === undefined\r\n ? Number.POSITIVE_INFINITY\r\n : options.nestedFunctionsAmount\r\n };\r\n\r\n return stringify(value, concreteOptions, {\r\n references: [value],\r\n nestedObjectsLeft: concreteOptions.nestedObjectsAmount as number,\r\n nestedArraysLeft: concreteOptions.nestedArraysAmount as number,\r\n nestedFunctionsLeft: concreteOptions.nestedFunctionsAmount as number\r\n });\r\n}\r\n\r\nexport default javaScriptToString;\r\n"],"names":["types","typesToString","toString","buildInList","typedArrays","maps","sets","getInternalType","obj","call","forEach","name","toLowerCase","refs","counter","fillNativeFunctions","ext","objName","fromPrototype","protoPath","arrNames_1","Object","getOwnPropertyNames","prototype","_i","name_1","indexOf","nativeFunctions","functions","Array","JSON","Function","Date","String","numberToString","value","Number","isNaN","POSITIVE_INFINITY","NEGATIVE_INFINITY","EPSILON","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","MAX_VALUE","MIN_VALUE","Math","PI","E","LN10","LN2","LOG10E","LOG2E","SQRT1_2","SQRT2","symbolToString","Symbol","asyncIterator","hasInstance","isConcatSpreadable","iterator","match","replace","search","species","split","toPrimitive","toStringTag","unscopables","description","dateToString","getTime","toISOString","errorToString","stringify","message","fileName","lineNumber","arrayToString","options","history","length","arrayValues","reduce","x1","x2","index","references","push","str","stringifyRef","pop","attachActions","getLocalRefs","filter","x","source","localRefs","result","localName_1","actions","action","converToAction","splice","localName","r","destIndex","historyRef","sourceObj","dest","slice","path","i","destObj","typedArrayToString","arrString","from","constructor","setToString","setValues","value1","value2","set","join","mapToString","mapValues","indexValue","key","objectToString","objectValues","propertyName","hasOwnProperty","propertyValue","test","functionPropertiesToString","functionName","functionToString","functionObject","includeFunctionProperties","functionPrototype","includeFunctionPrototype","functionStr","nfName","arrayBufferToString","includeBuffers","Int8Array","dataViewToString","buffer","byteOffset","byteLength","getObjectType","objectType","referencesLength","nestedObjectsLeft","nestedArraysLeft","nestedFunctionsLeft","refString","javaScriptToString","concreteOptions","undefined","nestedObjectsAmount","nestedArraysAmount","nestedFunctionsAmount"],"mappings":"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"}