@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.
@@ -1,385 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- var get_internal_type_1 = __importDefault(require("@lopatnov/get-internal-type"));
7
- var refs = [];
8
- var counter = 0;
9
- function fillNativeFunctions(ext, obj, objName, fromPrototype) {
10
- if (fromPrototype === void 0) { fromPrototype = true; }
11
- var arrNames = Object.getOwnPropertyNames(fromPrototype ? obj.prototype : obj);
12
- var protoPath = fromPrototype ? '.prototype.' : '.';
13
- for (var _i = 0, arrNames_1 = arrNames; _i < arrNames_1.length; _i++) {
14
- var name_1 = arrNames_1[_i];
15
- if (['caller', 'callee', 'arguments'].indexOf(name_1) < 0) {
16
- ext["" + objName + protoPath + name_1] = fromPrototype ? obj.prototype[name_1] : obj[name_1];
17
- }
18
- }
19
- }
20
- var nativeFunctions = (function () {
21
- var functions = {};
22
- fillNativeFunctions(functions, Array, 'Array', false);
23
- fillNativeFunctions(functions, Array, 'Array');
24
- fillNativeFunctions(functions, JSON, 'JSON', false);
25
- fillNativeFunctions(functions, Object, 'Object', false);
26
- fillNativeFunctions(functions, Object, 'Object');
27
- fillNativeFunctions(functions, Function, 'Function', false);
28
- fillNativeFunctions(functions, Function, 'Function');
29
- fillNativeFunctions(functions, Date, 'Date', false);
30
- fillNativeFunctions(functions, String, 'String');
31
- functions.Function = Function;
32
- return functions;
33
- }());
34
- function numberToString(value) {
35
- if (Number.isNaN(value)) {
36
- return "Number.NaN";
37
- }
38
- switch (value) {
39
- case Number.POSITIVE_INFINITY:
40
- return "Number.POSITIVE_INFINITY";
41
- case Number.NEGATIVE_INFINITY:
42
- return "Number.NEGATIVE_INFINITY";
43
- case Number.EPSILON:
44
- return "Number.EPSILON";
45
- case Number.MAX_SAFE_INTEGER:
46
- return "Number.MAX_SAFE_INTEGER";
47
- case Number.MIN_SAFE_INTEGER:
48
- return "Number.MIN_SAFE_INTEGER";
49
- case Number.MAX_VALUE:
50
- return "Number.MAX_VALUE";
51
- case Number.MIN_VALUE:
52
- return "Number.MIN_VALUE";
53
- case Math.PI:
54
- return "Math.PI";
55
- case Math.E:
56
- return "Math.E";
57
- case Math.LN10:
58
- return "Math.LN10";
59
- case Math.LN2:
60
- return "Math.LN2";
61
- case Math.LOG10E:
62
- return "Math.LOG10E";
63
- case Math.LOG2E:
64
- return "Math.LOG2E";
65
- case Math.SQRT1_2:
66
- return "Math.SQRT1_2";
67
- case Math.SQRT2:
68
- return "Math.SQRT2";
69
- default:
70
- return String(value);
71
- }
72
- }
73
- function symbolToString(value) {
74
- switch (value) {
75
- case Symbol.asyncIterator:
76
- case Symbol.hasInstance:
77
- case Symbol.isConcatSpreadable:
78
- case Symbol.iterator:
79
- case Symbol.match:
80
- case Symbol.prototype:
81
- case Symbol.replace:
82
- case Symbol.search:
83
- case Symbol.species:
84
- case Symbol.split:
85
- case Symbol.toPrimitive:
86
- case Symbol.toStringTag:
87
- case Symbol.unscopables:
88
- return value.description;
89
- default:
90
- var description = value.description ? "\"" + value.description + "\"" : "";
91
- return "Symbol(" + description + ")";
92
- }
93
- }
94
- function dateToString(value) {
95
- if (isNaN(value.getTime())) {
96
- return "new Date(" + value.toString() + ")";
97
- }
98
- return "new Date(" + value.toISOString() + ")";
99
- }
100
- function errorToString(value) {
101
- var message = JSON.stringify(value.message), fileName = JSON.stringify(value.fileName), lineNumber = JSON.stringify(value.lineNumber);
102
- return "new Error(" + message + ", " + fileName + ", " + lineNumber + ")";
103
- }
104
- function arrayToString(value, options, history) {
105
- if (value.length === 0)
106
- return "[]";
107
- var arrayValues = value.reduce(function (x1, x2, index) {
108
- history.references.push(index.toString());
109
- var str = !!x1 ? x1 + ", " : '';
110
- str += stringifyRef(x2, options, history);
111
- history.references.pop();
112
- return str;
113
- }, '');
114
- return attachActions(getLocalRefs(value), "[" + arrayValues + "]");
115
- }
116
- function getLocalRefs(value) {
117
- return refs.filter(function (x) { return x.source === value; });
118
- }
119
- function attachActions(localRefs, result) {
120
- if (localRefs.length > 0) {
121
- counter = (counter++) % Number.MAX_SAFE_INTEGER;
122
- var localName_1 = "___j2s_" + counter;
123
- var actions = localRefs.reduce(function (x1, x2) {
124
- var action = converToAction(localName_1, x2);
125
- refs.splice(refs.indexOf(x2), 1);
126
- return x1 + action;
127
- }, '');
128
- return "(function(){ var " + localName_1 + " = " + result + "; " + actions + " return " + localName_1 + "; }())";
129
- }
130
- return result;
131
- }
132
- function converToAction(localName, r) {
133
- var destIndex = r.historyRef.indexOf(r.source);
134
- if (destIndex < 0) {
135
- return '';
136
- }
137
- var dest = r.historyRef.slice(destIndex);
138
- var sourceObj;
139
- var path = '';
140
- for (var i = 0; i < dest.length; i++) {
141
- var destObj = dest[i];
142
- if (destObj === r.source) {
143
- path = localName;
144
- sourceObj = r.source;
145
- }
146
- else if (typeof destObj === 'string') {
147
- path += "['" + destObj.replace(/'/gi, '\\\'') + "']";
148
- sourceObj = sourceObj[destObj];
149
- }
150
- else if (destObj !== sourceObj) {
151
- return '';
152
- }
153
- }
154
- return path + " = " + localName + "; ";
155
- }
156
- function typedArrayToString(value, options, history) {
157
- var arr = Array.from(value), arrString = arrayToString(arr, options, history), constructorName = value.constructor.name;
158
- return "new " + constructorName + "(" + arrString + ")";
159
- }
160
- function setToString(value, options, history) {
161
- var setValues = [];
162
- value.forEach(function (value1, value2, set) {
163
- setValues.push(stringifyRef(value2, options, history));
164
- });
165
- if (setValues.length === 0)
166
- return "new Set()";
167
- return "new Set([" + setValues.join(", ") + "])";
168
- }
169
- function mapToString(value, options, history) {
170
- var mapValues = [];
171
- value.forEach(function (indexValue, key) {
172
- mapValues.push("[" + stringifyRef(key, options, history) + ", " + stringifyRef(indexValue, options, history) + "]");
173
- });
174
- if (mapValues.length === 0)
175
- return "new Map()";
176
- return "new Map([" + mapValues.join(", ") + "])";
177
- }
178
- function objectToString(value, options, history) {
179
- var objectValues = [];
180
- for (var propertyName in value) {
181
- if (value.hasOwnProperty(propertyName)) {
182
- history.references.push(propertyName);
183
- var propertyValue = stringifyRef(value[propertyName], options, history);
184
- history.references.pop();
185
- if (propertyValue !== "undefined") {
186
- if (!(/^[a-zA-Z]+$/).test(propertyName)) {
187
- propertyName = "\"" + propertyName + "\"";
188
- }
189
- objectValues.push(propertyName + ": " + propertyValue);
190
- }
191
- }
192
- }
193
- if (objectValues.length === 0)
194
- return "{}";
195
- return attachActions(getLocalRefs(value), "{\n" + objectValues.join(",\n") + "\n}");
196
- }
197
- function functionPropertiesToString(functionName, value, options, history) {
198
- var result = "";
199
- for (var propertyName in value) {
200
- if (value.hasOwnProperty(propertyName)) {
201
- history.references.push(propertyName);
202
- var propertyValue = stringifyRef(value[propertyName], options, history);
203
- history.references.pop();
204
- if (propertyValue !== "undefined") {
205
- result += functionName + "." + propertyName + " = " + propertyValue + ";\n";
206
- }
207
- }
208
- }
209
- return result;
210
- }
211
- function functionToString(value, options, history) {
212
- var functionName = value.name || "anonymousFunction";
213
- var functionObject = options.includeFunctionProperties
214
- ? functionPropertiesToString(functionName, value, options, history)
215
- : "";
216
- history.references.push('prototype');
217
- var functionPrototype = options.includeFunctionPrototype
218
- ? functionPropertiesToString(functionName + ".prototype", value.prototype, options, history)
219
- : "";
220
- history.references.pop();
221
- var functionStr = String(value);
222
- if (functionStr.indexOf('[native code]') > -1 && functionStr.length < 100) {
223
- for (var nfName in nativeFunctions) {
224
- if (nativeFunctions[nfName] === value) {
225
- functionStr = nfName;
226
- }
227
- }
228
- }
229
- if (!functionObject && !functionPrototype) {
230
- return functionStr;
231
- }
232
- return attachActions(getLocalRefs(value), "(function(){\n var " + functionName + " = " + String(functionStr) + ";\n " + functionObject + "\n " + functionPrototype + "\n return " + functionName + ";\n}())");
233
- }
234
- function arrayBufferToString(value, options, history) {
235
- if (!options.includeBuffers)
236
- return "undefined";
237
- var str = typedArrayToString(new Int8Array(value), options, history);
238
- return "(" + str + ").buffer";
239
- }
240
- function dataViewToString(value, options, history) {
241
- if (!options.includeBuffers)
242
- return "undefined";
243
- var bufString = arrayBufferToString(value.buffer, options, history);
244
- return "new DataView(" + bufString + ", " + value.byteOffset + ", " + value.byteLength + ")";
245
- }
246
- /**
247
- * Converts to string the value, if it wasn't before
248
- * @param value the value, that converts to string
249
- * @param references the references to stringified objects
250
- */
251
- function stringify(value, options, history) {
252
- switch ((0, get_internal_type_1.default)(value)) {
253
- case "undefined":
254
- return "undefined";
255
- case "null":
256
- return "null";
257
- case "boolean":
258
- return String(value);
259
- case "regexp":
260
- return String(value);
261
- case "string":
262
- return JSON.stringify(value);
263
- case "number":
264
- return numberToString(value);
265
- case "bigint":
266
- return "BigInt(" + value + ")";
267
- case "symbol":
268
- return symbolToString(value);
269
- case "date":
270
- return dateToString(value);
271
- case "error":
272
- return errorToString(value);
273
- case "array":
274
- return arrayToString(value, options, history);
275
- case "typedarray":
276
- return typedArrayToString(value, options, history);
277
- case "set":
278
- return setToString(value, options, history);
279
- case "map":
280
- return mapToString(value, options, history);
281
- case "object":
282
- return objectToString(value, options, history);
283
- case "function":
284
- case "generatorfunction":
285
- return functionToString(value, options, history);
286
- case "arraybuffer":
287
- return arrayBufferToString(value, options, history);
288
- case "dataview":
289
- return dataViewToString(value, options, history);
290
- case "promise":
291
- case "generator":
292
- return "undefined";
293
- default:
294
- return JSON.stringify(value);
295
- }
296
- }
297
- /**
298
- * Stringify the value, if it wasn't before
299
- * @param value the value, that converts to string
300
- * @param references the references to stringified objects
301
- */
302
- function stringifyRef(value, options, history) {
303
- var index = history.references.indexOf(value);
304
- if (index < 0 || typeof (history.references[index]) === 'string') {
305
- var objectType = (0, get_internal_type_1.default)(value);
306
- var referencesLength = history.references.length;
307
- history.references.push(value);
308
- switch (objectType) {
309
- case "object":
310
- if (history.nestedObjectsLeft <= 0)
311
- return "undefined";
312
- history.nestedObjectsLeft--;
313
- break;
314
- case "array":
315
- case "typedarray":
316
- if (history.nestedArraysLeft <= 0)
317
- return "undefined";
318
- history.nestedArraysLeft--;
319
- break;
320
- case "function":
321
- case "generatorfunction":
322
- if (history.nestedFunctionsLeft <= 0)
323
- return "undefined";
324
- history.nestedFunctionsLeft--;
325
- break;
326
- }
327
- var refString = stringify(value, options, history);
328
- history.references.splice(referencesLength);
329
- switch (objectType) {
330
- case "object":
331
- history.nestedObjectsLeft++;
332
- break;
333
- case "array":
334
- case "typedarray":
335
- history.nestedArraysLeft++;
336
- break;
337
- case "function":
338
- case "generatorfunction":
339
- history.nestedFunctionsLeft++;
340
- break;
341
- }
342
- return refString;
343
- }
344
- else {
345
- refs.push({
346
- historyRef: history.references.slice(0),
347
- source: value
348
- });
349
- }
350
- return "null";
351
- }
352
- /**
353
- * Converts JavaScript value to string
354
- * @param value the value of any type
355
- * @param options [optional] The options of conversion
356
- */
357
- function javaScriptToString(value, options) {
358
- options = options || {};
359
- var concreteOptions = {
360
- includeFunctionProperties: options.includeFunctionProperties === undefined
361
- ? true
362
- : options.includeFunctionProperties,
363
- includeFunctionPrototype: options.includeFunctionPrototype === undefined
364
- ? true
365
- : options.includeFunctionPrototype,
366
- includeBuffers: options.includeBuffers === undefined ? true : options.includeBuffers,
367
- nestedObjectsAmount: options.nestedObjectsAmount === undefined
368
- ? Number.POSITIVE_INFINITY
369
- : options.nestedObjectsAmount,
370
- nestedArraysAmount: options.nestedArraysAmount === undefined
371
- ? Number.POSITIVE_INFINITY
372
- : options.nestedArraysAmount,
373
- nestedFunctionsAmount: options.nestedFunctionsAmount === undefined
374
- ? Number.POSITIVE_INFINITY
375
- : options.nestedFunctionsAmount
376
- };
377
- return stringify(value, concreteOptions, {
378
- references: [value],
379
- nestedObjectsLeft: concreteOptions.nestedObjectsAmount,
380
- nestedArraysLeft: concreteOptions.nestedArraysAmount,
381
- nestedFunctionsLeft: concreteOptions.nestedFunctionsAmount
382
- });
383
- }
384
- exports.default = javaScriptToString;
385
- //# sourceMappingURL=javascripttostring.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"javascripttostring.js","sourceRoot":"","sources":["../../src/javascripttostring.ts"],"names":[],"mappings":"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"}