@lopatnov/javascripttostring 1.7.3 → 2.0.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,543 @@
1
+ const types = {};
2
+ const typesToString = Object.prototype.toString;
3
+ const builtInList = [
4
+ "Boolean",
5
+ "Number",
6
+ "String",
7
+ "Array",
8
+ "Date",
9
+ "RegExp",
10
+ "Object",
11
+ "Error",
12
+ "Promise",
13
+ "DataView",
14
+ "WeakRef",
15
+ "FinalizationRegistry"
16
+ ];
17
+ const functions = ["Function", "AsyncFunction"];
18
+ const generators = ["Generator", "AsyncGenerator"];
19
+ const generatorFunctions = ["GeneratorFunction", "AsyncGeneratorFunction"];
20
+ const arrayBuffers = ["ArrayBuffer", "SharedArrayBuffer"];
21
+ const maps = ["Map", "WeakMap"];
22
+ const sets = ["Set", "WeakSet"];
23
+ const typedArrays = [
24
+ "Int8Array",
25
+ "Uint8Array",
26
+ "Uint8ClampedArray",
27
+ "Int16Array",
28
+ "Uint16Array",
29
+ "Int32Array",
30
+ "Uint32Array",
31
+ "Float32Array",
32
+ "Float64Array",
33
+ "BigInt64Array",
34
+ "BigUint64Array"
35
+ ];
36
+ builtInList.forEach(function (name) {
37
+ types["[object " + name + "]"] = name.toLowerCase();
38
+ });
39
+ functions.forEach(function (name) {
40
+ types["[object " + name + "]"] = "function";
41
+ });
42
+ generators.forEach(function (name) {
43
+ types["[object " + name + "]"] = "generator";
44
+ });
45
+ generatorFunctions.forEach(function (name) {
46
+ types["[object " + name + "]"] = "generatorfunction";
47
+ });
48
+ arrayBuffers.forEach(function (name) {
49
+ types["[object " + name + "]"] = "arraybuffer";
50
+ });
51
+ maps.forEach(function (name) {
52
+ types["[object " + name + "]"] = "map";
53
+ });
54
+ sets.forEach(function (name) {
55
+ types["[object " + name + "]"] = "set";
56
+ });
57
+ typedArrays.forEach(function (name) {
58
+ types["[object " + name + "]"] = "typedarray";
59
+ });
60
+ function getInternalType(obj) {
61
+ return obj == null
62
+ ? obj + ""
63
+ : typeof obj === "object" || typeof obj === "function"
64
+ ? types[typesToString.call(obj)] || "object"
65
+ : typeof obj;
66
+ }
67
+
68
+ var refs = [];
69
+ var crossRefs = [];
70
+ var counter = 0;
71
+ const identifierRegex = /^[a-zA-Z_$][a-zA-Z0-9_$]*$/;
72
+ function propertyAccessor(name) {
73
+ if (identifierRegex.test(name)) {
74
+ return `.${name}`;
75
+ }
76
+ if (/^\d+$/.test(name)) {
77
+ return `[${name}]`;
78
+ }
79
+ const escaped = name.replace(/\\/g, "\\\\").replace(/'/gi, "\\'");
80
+ return `['${escaped}']`;
81
+ }
82
+ function fillNativeFunctions(ext, obj, objName, fromPrototype = true) {
83
+ const arrNames = Object.getOwnPropertyNames(fromPrototype ? obj.prototype : obj);
84
+ const protoPath = fromPrototype ? ".prototype." : ".";
85
+ for (const name of arrNames) {
86
+ if (["caller", "callee", "arguments"].indexOf(name) < 0) {
87
+ ext[`${objName}${protoPath}${name}`] = fromPrototype ? obj.prototype[name] : obj[name];
88
+ }
89
+ }
90
+ }
91
+ const nativeFunctions = (() => {
92
+ const functions = {};
93
+ fillNativeFunctions(functions, Array, "Array", false);
94
+ fillNativeFunctions(functions, Array, "Array");
95
+ fillNativeFunctions(functions, JSON, "JSON", false);
96
+ fillNativeFunctions(functions, Object, "Object", false);
97
+ fillNativeFunctions(functions, Object, "Object");
98
+ fillNativeFunctions(functions, Function, "Function", false);
99
+ fillNativeFunctions(functions, Function, "Function");
100
+ fillNativeFunctions(functions, Date, "Date", false);
101
+ fillNativeFunctions(functions, String, "String");
102
+ functions.Function = Function;
103
+ return functions;
104
+ })();
105
+ function numberToString(value) {
106
+ if (Number.isNaN(value)) {
107
+ return "Number.NaN";
108
+ }
109
+ if (Object.is(value, -0)) {
110
+ return "-0";
111
+ }
112
+ switch (value) {
113
+ case Number.POSITIVE_INFINITY:
114
+ return "Number.POSITIVE_INFINITY";
115
+ case Number.NEGATIVE_INFINITY:
116
+ return "Number.NEGATIVE_INFINITY";
117
+ case Number.EPSILON:
118
+ return "Number.EPSILON";
119
+ case Number.MAX_SAFE_INTEGER:
120
+ return "Number.MAX_SAFE_INTEGER";
121
+ case Number.MIN_SAFE_INTEGER:
122
+ return "Number.MIN_SAFE_INTEGER";
123
+ case Number.MAX_VALUE:
124
+ return "Number.MAX_VALUE";
125
+ case Number.MIN_VALUE:
126
+ return "Number.MIN_VALUE";
127
+ case Math.PI:
128
+ return "Math.PI";
129
+ case Math.E:
130
+ return "Math.E";
131
+ case Math.LN10:
132
+ return "Math.LN10";
133
+ case Math.LN2:
134
+ return "Math.LN2";
135
+ case Math.LOG10E:
136
+ return "Math.LOG10E";
137
+ case Math.LOG2E:
138
+ return "Math.LOG2E";
139
+ case Math.SQRT1_2:
140
+ return "Math.SQRT1_2";
141
+ case Math.SQRT2:
142
+ return "Math.SQRT2";
143
+ default:
144
+ return String(value);
145
+ }
146
+ }
147
+ function symbolToString(value) {
148
+ switch (value) {
149
+ case Symbol.asyncIterator:
150
+ case Symbol.hasInstance:
151
+ case Symbol.isConcatSpreadable:
152
+ case Symbol.iterator:
153
+ case Symbol.match:
154
+ case Symbol.replace:
155
+ case Symbol.search:
156
+ case Symbol.species:
157
+ case Symbol.split:
158
+ case Symbol.toPrimitive:
159
+ case Symbol.toStringTag:
160
+ case Symbol.unscopables:
161
+ return value.description;
162
+ case Symbol.prototype:
163
+ return "Symbol.prototype";
164
+ default:
165
+ const registryKey = Symbol.keyFor(value);
166
+ if (registryKey !== undefined) {
167
+ return `Symbol.for(${JSON.stringify(registryKey)})`;
168
+ }
169
+ const description = value.description !== undefined ? JSON.stringify(value.description) : "";
170
+ return `Symbol(${description})`;
171
+ }
172
+ }
173
+ function dateToString(value) {
174
+ if (isNaN(value.getTime())) {
175
+ return "new Date(NaN)";
176
+ }
177
+ return `new Date("${value.toISOString()}")`;
178
+ }
179
+ function regexpToString(value) {
180
+ const str = String(value);
181
+ if (value.lastIndex !== 0) {
182
+ return `(function(){ var r = ${str}; r.lastIndex = ${value.lastIndex}; return r; }())`;
183
+ }
184
+ return str;
185
+ }
186
+ function errorToString(value) {
187
+ var _a;
188
+ const message = JSON.stringify(value.message);
189
+ const errorClass = ((_a = value.constructor) === null || _a === void 0 ? void 0 : _a.name) || "Error";
190
+ const knownErrors = ["Error", "TypeError", "RangeError", "ReferenceError", "SyntaxError", "URIError", "EvalError"];
191
+ if (knownErrors.includes(errorClass)) {
192
+ return `new ${errorClass}(${message})`;
193
+ }
194
+ return `new Error(${message})`;
195
+ }
196
+ function arrayToString(value, options, history) {
197
+ if (value.length === 0)
198
+ return "[]";
199
+ const parts = [];
200
+ for (let i = 0; i < value.length; i++) {
201
+ if (!(i in value)) {
202
+ parts.push("");
203
+ }
204
+ else {
205
+ const key = i.toString();
206
+ history.references.push(key);
207
+ history.currentPath.push(key);
208
+ parts.push(stringifyRef(value[i], options, history));
209
+ history.currentPath.pop();
210
+ history.references.pop();
211
+ }
212
+ }
213
+ return attachActions(getLocalRefs(value), `[${parts.join(", ")}]`);
214
+ }
215
+ function getLocalRefs(value) {
216
+ return refs.filter((x) => x.source === value);
217
+ }
218
+ function attachActions(localRefs, result) {
219
+ if (localRefs.length > 0) {
220
+ counter = (counter + 1) % Number.MAX_SAFE_INTEGER;
221
+ const localName = `___ref${counter}`;
222
+ const actions = localRefs.reduce((x1, x2) => {
223
+ const action = converToAction(localName, x2);
224
+ refs.splice(refs.indexOf(x2), 1);
225
+ return x1 + action;
226
+ }, "");
227
+ return `(function(){ var ${localName} = ${result}; ${actions} return ${localName}; }())`;
228
+ }
229
+ return result;
230
+ }
231
+ function converToAction(localName, r) {
232
+ const destIndex = r.historyRef.indexOf(r.source);
233
+ if (destIndex < 0) {
234
+ return "";
235
+ }
236
+ const dest = r.historyRef.slice(destIndex);
237
+ let sourceObj;
238
+ let path = "";
239
+ for (let i = 0; i < dest.length; i++) {
240
+ const destObj = dest[i];
241
+ if (destObj === r.source) {
242
+ path = localName;
243
+ sourceObj = r.source;
244
+ }
245
+ else if (typeof destObj === "string") {
246
+ path += propertyAccessor(destObj);
247
+ sourceObj = sourceObj[destObj];
248
+ }
249
+ else if (destObj !== sourceObj) {
250
+ return "";
251
+ }
252
+ }
253
+ return `${path} = ${localName}; `;
254
+ }
255
+ function typedArrayToString(value, options, history) {
256
+ const arr = Array.from(value), arrString = arrayToString(arr, options, history), constructorName = value.constructor.name;
257
+ return `new ${constructorName}(${arrString})`;
258
+ }
259
+ function setToString(value, options, history) {
260
+ const setValues = [];
261
+ value.forEach((_, value2) => {
262
+ setValues.push(stringifyRef(value2, options, history));
263
+ });
264
+ if (setValues.length === 0)
265
+ return "new Set()";
266
+ return `new Set([${setValues.join(", ")}])`;
267
+ }
268
+ function mapToString(value, options, history) {
269
+ const mapValues = [];
270
+ value.forEach((indexValue, key) => {
271
+ mapValues.push(`[${stringifyRef(key, options, history)}, ${stringifyRef(indexValue, options, history)}]`);
272
+ });
273
+ if (mapValues.length === 0)
274
+ return "new Map()";
275
+ return `new Map([${mapValues.join(", ")}])`;
276
+ }
277
+ function objectToString(value, options, history) {
278
+ const objectValues = [];
279
+ for (let propertyName in value) {
280
+ if (Object.prototype.hasOwnProperty.call(value, propertyName)) {
281
+ history.references.push(propertyName);
282
+ history.currentPath.push(propertyName);
283
+ const propertyValue = stringifyRef(value[propertyName], options, history);
284
+ history.currentPath.pop();
285
+ history.references.pop();
286
+ if (propertyValue !== "undefined") {
287
+ if (!identifierRegex.test(propertyName)) {
288
+ const escaped = propertyName.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
289
+ propertyName = `"${escaped}"`;
290
+ }
291
+ objectValues.push(`${propertyName}: ${propertyValue}`);
292
+ }
293
+ }
294
+ }
295
+ if (objectValues.length === 0)
296
+ return "{}";
297
+ return attachActions(getLocalRefs(value), `{\n${objectValues.join(",\n")}\n}`);
298
+ }
299
+ function functionPropertiesToString(functionName, value, options, history) {
300
+ let result = "";
301
+ for (const propertyName in value) {
302
+ if (Object.prototype.hasOwnProperty.call(value, propertyName)) {
303
+ history.references.push(propertyName);
304
+ history.currentPath.push(propertyName);
305
+ const propertyValue = stringifyRef(value[propertyName], options, history);
306
+ history.currentPath.pop();
307
+ history.references.pop();
308
+ if (propertyValue !== "undefined") {
309
+ result += `${functionName}${propertyAccessor(propertyName)} = ${propertyValue};\n`;
310
+ }
311
+ }
312
+ }
313
+ return result;
314
+ }
315
+ function functionToString(value, options, history) {
316
+ const functionName = value.name || "anonymousFunction";
317
+ const functionObject = options.includeFunctionProperties
318
+ ? functionPropertiesToString(functionName, value, options, history)
319
+ : "";
320
+ history.references.push("prototype");
321
+ history.currentPath.push("prototype");
322
+ const functionPrototype = options.includeFunctionPrototype
323
+ ? functionPropertiesToString(`${functionName}.prototype`, value.prototype, options, history)
324
+ : "";
325
+ history.currentPath.pop();
326
+ history.references.pop();
327
+ let functionStr = String(value);
328
+ if (functionStr.indexOf("[native code]") > -1 && functionStr.length < 100) {
329
+ for (const nfName in nativeFunctions) {
330
+ if (nativeFunctions[nfName] === value) {
331
+ functionStr = nfName;
332
+ }
333
+ }
334
+ }
335
+ if (!functionObject && !functionPrototype) {
336
+ return functionStr;
337
+ }
338
+ return attachActions(getLocalRefs(value), `(function(){\n var ${functionName} = ${String(functionStr)};\n ${functionObject}\n ${functionPrototype}\n return ${functionName};\n}())`);
339
+ }
340
+ function arrayBufferToString(value, options, history) {
341
+ if (!options.includeBuffers)
342
+ return "undefined";
343
+ const str = typedArrayToString(new Int8Array(value), options, history);
344
+ return `(${str}).buffer`;
345
+ }
346
+ function dataViewToString(value, options, history) {
347
+ if (!options.includeBuffers)
348
+ return "undefined";
349
+ const bufString = arrayBufferToString(value.buffer, options, history);
350
+ return `new DataView(${bufString}, ${value.byteOffset}, ${value.byteLength})`;
351
+ }
352
+ /**
353
+ * Converts to string the value, if it wasn't before
354
+ * @param value the value, that converts to string
355
+ * @param references the references to stringified objects
356
+ */
357
+ function stringify(value, options, history) {
358
+ switch (getInternalType(value)) {
359
+ case "undefined":
360
+ return "undefined";
361
+ case "null":
362
+ return "null";
363
+ case "boolean":
364
+ return String(value);
365
+ case "regexp":
366
+ return regexpToString(value);
367
+ case "string":
368
+ return JSON.stringify(value);
369
+ case "number":
370
+ return numberToString(value);
371
+ case "bigint":
372
+ return `BigInt(${value})`;
373
+ case "symbol":
374
+ return symbolToString(value);
375
+ case "date":
376
+ return dateToString(value);
377
+ case "error":
378
+ return errorToString(value);
379
+ case "array":
380
+ return arrayToString(value, options, history);
381
+ case "typedarray":
382
+ return typedArrayToString(value, options, history);
383
+ case "set":
384
+ if (value instanceof WeakSet) {
385
+ if (options.throwOnNonSerializable) {
386
+ throw new Error("Non-serializable value: WeakSet");
387
+ }
388
+ return "undefined";
389
+ }
390
+ return setToString(value, options, history);
391
+ case "map":
392
+ if (value instanceof WeakMap) {
393
+ if (options.throwOnNonSerializable) {
394
+ throw new Error("Non-serializable value: WeakMap");
395
+ }
396
+ return "undefined";
397
+ }
398
+ return mapToString(value, options, history);
399
+ case "object":
400
+ return objectToString(value, options, history);
401
+ case "function":
402
+ case "generatorfunction":
403
+ return functionToString(value, options, history);
404
+ case "arraybuffer":
405
+ return arrayBufferToString(value, options, history);
406
+ case "dataview":
407
+ return dataViewToString(value, options, history);
408
+ case "promise":
409
+ case "generator":
410
+ case "weakref":
411
+ case "weakmap":
412
+ case "weakset":
413
+ case "finalizationregistry":
414
+ if (options.throwOnNonSerializable) {
415
+ throw new Error(`Non-serializable value: ${getInternalType(value)}`);
416
+ }
417
+ return "undefined";
418
+ default:
419
+ return JSON.stringify(value);
420
+ }
421
+ }
422
+ /**
423
+ * Stringify the value, if it wasn't before
424
+ * @param value the value, that converts to string
425
+ * @param references the references to stringified objects
426
+ */
427
+ function stringifyRef(value, options, history) {
428
+ const isRefType = (typeof value === "object" && value !== null) || typeof value === "function";
429
+ const index = history.references.indexOf(value);
430
+ // Cross-reference: object was already stringified in a different branch
431
+ if (isRefType && history.visited.has(value) && index < 0) {
432
+ crossRefs.push({
433
+ destPath: [...history.currentPath],
434
+ sourcePath: history.visited.get(value) || [],
435
+ });
436
+ return "null";
437
+ }
438
+ if (index < 0 || typeof history.references[index] === "string") {
439
+ const objectType = getInternalType(value);
440
+ const referencesLength = history.references.length;
441
+ // Track first-seen path for reference types
442
+ if (isRefType && !history.visited.has(value)) {
443
+ history.visited.set(value, [...history.currentPath]);
444
+ }
445
+ history.references.push(value);
446
+ switch (objectType) {
447
+ case "object":
448
+ if (history.nestedObjectsLeft <= 0)
449
+ return "undefined";
450
+ history.nestedObjectsLeft--;
451
+ break;
452
+ case "array":
453
+ case "typedarray":
454
+ if (history.nestedArraysLeft <= 0)
455
+ return "undefined";
456
+ history.nestedArraysLeft--;
457
+ break;
458
+ case "function":
459
+ case "generatorfunction":
460
+ if (history.nestedFunctionsLeft <= 0)
461
+ return "undefined";
462
+ history.nestedFunctionsLeft--;
463
+ break;
464
+ }
465
+ const refString = stringify(value, options, history);
466
+ history.references.splice(referencesLength);
467
+ switch (objectType) {
468
+ case "object":
469
+ history.nestedObjectsLeft++;
470
+ break;
471
+ case "array":
472
+ case "typedarray":
473
+ history.nestedArraysLeft++;
474
+ break;
475
+ case "function":
476
+ case "generatorfunction":
477
+ history.nestedFunctionsLeft++;
478
+ break;
479
+ }
480
+ return refString;
481
+ }
482
+ else {
483
+ // Circular reference: back-reference to an ancestor in current path
484
+ refs.push({
485
+ historyRef: history.references.slice(0),
486
+ source: value,
487
+ });
488
+ }
489
+ return "null";
490
+ }
491
+ function attachCrossRefActions(localCrossRefs, result) {
492
+ if (localCrossRefs.length === 0) {
493
+ return result;
494
+ }
495
+ counter = (counter + 1) % Number.MAX_SAFE_INTEGER;
496
+ const localName = `___ref${counter}`;
497
+ const actions = localCrossRefs
498
+ .map((cr) => {
499
+ const destAccessor = cr.destPath.map(propertyAccessor).join("");
500
+ const srcAccessor = cr.sourcePath.map(propertyAccessor).join("");
501
+ return `${localName}${destAccessor} = ${localName}${srcAccessor}; `;
502
+ })
503
+ .join("");
504
+ return `(function(){ var ${localName} = ${result}; ${actions}return ${localName}; }())`;
505
+ }
506
+ /**
507
+ * Converts JavaScript value to string
508
+ * @param value the value of any type
509
+ * @param options [optional] The options of conversion
510
+ */
511
+ function javaScriptToString(value, options) {
512
+ options = options || {};
513
+ const concreteOptions = {
514
+ includeFunctionProperties: options.includeFunctionProperties === undefined ? true : options.includeFunctionProperties,
515
+ includeFunctionPrototype: options.includeFunctionPrototype === undefined ? true : options.includeFunctionPrototype,
516
+ includeBuffers: options.includeBuffers === undefined ? true : options.includeBuffers,
517
+ nestedObjectsAmount: options.nestedObjectsAmount === undefined ? Number.POSITIVE_INFINITY : options.nestedObjectsAmount,
518
+ nestedArraysAmount: options.nestedArraysAmount === undefined ? Number.POSITIVE_INFINITY : options.nestedArraysAmount,
519
+ nestedFunctionsAmount: options.nestedFunctionsAmount === undefined ? Number.POSITIVE_INFINITY : options.nestedFunctionsAmount,
520
+ throwOnNonSerializable: options.throwOnNonSerializable === undefined ? false : options.throwOnNonSerializable,
521
+ };
522
+ // Clear global state before conversion
523
+ refs = [];
524
+ crossRefs = [];
525
+ counter = 0;
526
+ const visited = new Map();
527
+ visited.set(value, []);
528
+ const result = stringify(value, concreteOptions, {
529
+ references: [value],
530
+ nestedObjectsLeft: concreteOptions.nestedObjectsAmount,
531
+ nestedArraysLeft: concreteOptions.nestedArraysAmount,
532
+ nestedFunctionsLeft: concreteOptions.nestedFunctionsAmount,
533
+ visited,
534
+ currentPath: [],
535
+ });
536
+ // Handle circular references at the top level (Issue #1)
537
+ const circularResult = attachActions(getLocalRefs(value), result);
538
+ // Handle cross-references between different branches
539
+ return attachCrossRefActions(crossRefs, circularResult);
540
+ }
541
+
542
+ export { javaScriptToString as default };
543
+ //# sourceMappingURL=javascripttostring.esm.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"javascripttostring.esm.mjs","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,14 +1,2 @@
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":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})}
10
-
11
- return javaScriptToString;
12
-
13
- }));
1
+ !function(e,r){"object"==typeof exports&&"undefined"!=typeof module?module.exports=r():"function"==typeof define&&define.amd?define(r):(e="undefined"!=typeof globalThis?globalThis:e||self).javaScriptToString=r()}(this,function(){"use strict";const e={},r=Object.prototype.toString;function n(n){return null==n?n+"":"object"==typeof n||"function"==typeof n?e[r.call(n)]||"object":typeof n}["Boolean","Number","String","Array","Date","RegExp","Object","Error","Promise","DataView","WeakRef","FinalizationRegistry"].forEach(function(r){e["[object "+r+"]"]=r.toLowerCase()}),["Function","AsyncFunction"].forEach(function(r){e["[object "+r+"]"]="function"}),["Generator","AsyncGenerator"].forEach(function(r){e["[object "+r+"]"]="generator"}),["GeneratorFunction","AsyncGeneratorFunction"].forEach(function(r){e["[object "+r+"]"]="generatorfunction"}),["ArrayBuffer","SharedArrayBuffer"].forEach(function(r){e["[object "+r+"]"]="arraybuffer"}),["Map","WeakMap"].forEach(function(r){e["[object "+r+"]"]="map"}),["Set","WeakSet"].forEach(function(r){e["[object "+r+"]"]="set"}),["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"].forEach(function(r){e["[object "+r+"]"]="typedarray"});var t=[],o=[],c=0;const a=/^[a-zA-Z_$][a-zA-Z0-9_$]*$/;function u(e){if(a.test(e))return`.${e}`;if(/^\d+$/.test(e))return`[${e}]`;return`['${e.replace(/\\/g,"\\\\").replace(/'/gi,"\\'")}']`}function s(e,r,n,t=!0){const o=Object.getOwnPropertyNames(t?r.prototype:r),c=t?".prototype.":".";for(const a of o)["caller","callee","arguments"].indexOf(a)<0&&(e[`${n}${c}${a}`]=t?r.prototype[a]:r[a])}const i=(()=>{const e={};return s(e,Array,"Array",!1),s(e,Array,"Array"),s(e,JSON,"JSON",!1),s(e,Object,"Object",!1),s(e,Object,"Object"),s(e,Function,"Function",!1),s(e,Function,"Function"),s(e,Date,"Date",!1),s(e,String,"String"),e.Function=Function,e})();function f(e,r,n){if(0===e.length)return"[]";const t=[];for(let o=0;o<e.length;o++)if(o in e){const c=o.toString();n.references.push(c),n.currentPath.push(c),t.push(N(e[o],r,n)),n.currentPath.pop(),n.references.pop()}else t.push("");return p(l(e),`[${t.join(", ")}]`)}function l(e){return t.filter(r=>r.source===e)}function p(e,r){if(e.length>0){const n=`___ref${c=(c+1)%Number.MAX_SAFE_INTEGER}`,o=e.reduce((e,r)=>{const o=function(e,r){const n=r.historyRef.indexOf(r.source);if(n<0)return"";const t=r.historyRef.slice(n);let o,c="";for(let n=0;n<t.length;n++){const a=t[n];if(a===r.source)c=e,o=r.source;else if("string"==typeof a)c+=u(a),o=o[a];else if(a!==o)return""}return`${c} = ${e}; `}(n,r);return t.splice(t.indexOf(r),1),e+o},"");return`(function(){ var ${n} = ${r}; ${o} return ${n}; }())`}return r}function d(e,r,n){const t=f(Array.from(e),r,n);return`new ${e.constructor.name}(${t})`}function y(e,r,n,t){let o="";for(const c in r)if(Object.prototype.hasOwnProperty.call(r,c)){t.references.push(c),t.currentPath.push(c);const a=N(r[c],n,t);t.currentPath.pop(),t.references.pop(),"undefined"!==a&&(o+=`${e}${u(c)} = ${a};\n`)}return o}function b(e,r,n){if(!r.includeBuffers)return"undefined";return`(${d(new Int8Array(e),r,n)}).buffer`}function h(e,r,t){switch(n(e)){case"undefined":return"undefined";case"null":return"null";case"boolean":return String(e);case"regexp":return function(e){const r=String(e);return 0!==e.lastIndex?`(function(){ var r = ${r}; r.lastIndex = ${e.lastIndex}; return r; }())`:r}(e);case"string":default:return JSON.stringify(e);case"number":return function(e){if(Number.isNaN(e))return"Number.NaN";if(Object.is(e,-0))return"-0";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)}}(e);case"bigint":return`BigInt(${e})`;case"symbol":return function(e){switch(e){case Symbol.asyncIterator:case Symbol.hasInstance:case Symbol.isConcatSpreadable:case Symbol.iterator:case Symbol.match:case Symbol.replace:case Symbol.search:case Symbol.species:case Symbol.split:case Symbol.toPrimitive:case Symbol.toStringTag:case Symbol.unscopables:return e.description;case Symbol.prototype:return"Symbol.prototype";default:const r=Symbol.keyFor(e);return void 0!==r?`Symbol.for(${JSON.stringify(r)})`:`Symbol(${void 0!==e.description?JSON.stringify(e.description):""})`}}(e);case"date":return function(e){return isNaN(e.getTime())?"new Date(NaN)":`new Date("${e.toISOString()}")`}(e);case"error":return function(e){var r;const n=JSON.stringify(e.message),t=(null===(r=e.constructor)||void 0===r?void 0:r.name)||"Error";return["Error","TypeError","RangeError","ReferenceError","SyntaxError","URIError","EvalError"].includes(t)?`new ${t}(${n})`:`new Error(${n})`}(e);case"array":return f(e,r,t);case"typedarray":return d(e,r,t);case"set":if(e instanceof WeakSet){if(r.throwOnNonSerializable)throw new Error("Non-serializable value: WeakSet");return"undefined"}return function(e,r,n){const t=[];return e.forEach((e,o)=>{t.push(N(o,r,n))}),0===t.length?"new Set()":`new Set([${t.join(", ")}])`}(e,r,t);case"map":if(e instanceof WeakMap){if(r.throwOnNonSerializable)throw new Error("Non-serializable value: WeakMap");return"undefined"}return function(e,r,n){const t=[];return e.forEach((e,o)=>{t.push(`[${N(o,r,n)}, ${N(e,r,n)}]`)}),0===t.length?"new Map()":`new Map([${t.join(", ")}])`}(e,r,t);case"object":return function(e,r,n){const t=[];for(let o in e)if(Object.prototype.hasOwnProperty.call(e,o)){n.references.push(o),n.currentPath.push(o);const c=N(e[o],r,n);if(n.currentPath.pop(),n.references.pop(),"undefined"!==c){if(!a.test(o)){const e=o.replace(/\\/g,"\\\\").replace(/"/g,'\\"');o=`"${e}"`}t.push(`${o}: ${c}`)}}return 0===t.length?"{}":p(l(e),`{\n${t.join(",\n")}\n}`)}(e,r,t);case"function":case"generatorfunction":return function(e,r,n){const t=e.name||"anonymousFunction",o=r.includeFunctionProperties?y(t,e,r,n):"";n.references.push("prototype"),n.currentPath.push("prototype");const c=r.includeFunctionPrototype?y(`${t}.prototype`,e.prototype,r,n):"";n.currentPath.pop(),n.references.pop();let a=String(e);if(a.indexOf("[native code]")>-1&&a.length<100)for(const r in i)i[r]===e&&(a=r);return o||c?p(l(e),`(function(){\n var ${t} = ${String(a)};\n ${o}\n ${c}\n return ${t};\n}())`):a}(e,r,t);case"arraybuffer":return b(e,r,t);case"dataview":return function(e,r,n){return r.includeBuffers?`new DataView(${b(e.buffer,r,n)}, ${e.byteOffset}, ${e.byteLength})`:"undefined"}(e,r,t);case"promise":case"generator":case"weakref":case"weakmap":case"weakset":case"finalizationregistry":if(r.throwOnNonSerializable)throw new Error(`Non-serializable value: ${n(e)}`);return"undefined"}}function N(e,r,c){const a="object"==typeof e&&null!==e||"function"==typeof e,u=c.references.indexOf(e);if(a&&c.visited.has(e)&&u<0)return o.push({destPath:[...c.currentPath],sourcePath:c.visited.get(e)||[]}),"null";if(u<0||"string"==typeof c.references[u]){const t=n(e),o=c.references.length;switch(a&&!c.visited.has(e)&&c.visited.set(e,[...c.currentPath]),c.references.push(e),t){case"object":if(c.nestedObjectsLeft<=0)return"undefined";c.nestedObjectsLeft--;break;case"array":case"typedarray":if(c.nestedArraysLeft<=0)return"undefined";c.nestedArraysLeft--;break;case"function":case"generatorfunction":if(c.nestedFunctionsLeft<=0)return"undefined";c.nestedFunctionsLeft--}const u=h(e,r,c);switch(c.references.splice(o),t){case"object":c.nestedObjectsLeft++;break;case"array":case"typedarray":c.nestedArraysLeft++;break;case"function":case"generatorfunction":c.nestedFunctionsLeft++}return u}return t.push({historyRef:c.references.slice(0),source:e}),"null"}return function(e,r){const 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,throwOnNonSerializable:void 0!==r.throwOnNonSerializable&&r.throwOnNonSerializable};t=[],o=[],c=0;const a=new Map;a.set(e,[]);const s=h(e,n,{references:[e],nestedObjectsLeft:n.nestedObjectsAmount,nestedArraysLeft:n.nestedArraysAmount,nestedFunctionsLeft:n.nestedFunctionsAmount,visited:a,currentPath:[]}),i=p(l(e),s);return function(e,r){if(0===e.length)return r;const n="___ref"+(c=(c+1)%Number.MAX_SAFE_INTEGER),t=e.map(e=>{const r=e.destPath.map(u).join(""),t=e.sourcePath.map(u).join("");return`${n}${r} = ${n}${t}; `}).join("");return`(function(){ var ${n} = ${r}; ${t}return ${n}; }())`}(o,i)}});
14
2
  //# sourceMappingURL=javascripttostring.umd.js.map