@e-mc/types 0.8.13 → 0.8.14

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.
package/index.js ADDED
@@ -0,0 +1,966 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateUUID = exports.randomString = exports.decryptUTF8 = exports.encryptUTF8 = exports.getEncoding = exports.asFunction = exports.coerceObject = exports.cloneObject = exports.cascadeObject = exports.alignSize = exports.formatSize = exports.renameExt = exports.escapePattern = exports.hasGlob = exports.convertTime = exports.formatTime = exports.parseExpires = exports.parseTime = exports.isEmpty = exports.isString = exports.isObject = exports.isPlainObject = exports.isArray = exports.setTempDir = exports.getTempDir = exports.setLogCurrent = exports.getLogCurrent = exports.existsFlag = exports.mainFlag = exports.processFlag = exports.modifiedFlag = exports.watchFlag = exports.usingFlag = exports.cloneFlag = exports.ignoreFlag = exports.hasBit = exports.createAbortError = exports.IMPORT_MAP = exports.THRESHOLD = exports.READDIR_SORT = exports.WATCH_EVENT = exports.DB_TRANSACTION = exports.DB_TYPE = exports.FETCH_TYPE = exports.DOWNLOAD_TYPE = exports.ERR_CODE = exports.ASSET_FLAG = exports.FILE_TYPE = exports.STATUS_TYPE = exports.LOG_TYPE = void 0;
4
+ exports.generateUUID = exports.incrementUUID = exports.purgeMemory = exports.errorMessage = exports.errorValue = void 0;
5
+ const path = require("path");
6
+ const fs = require("fs");
7
+ const crypto = require("crypto");
8
+ const bytes = require("bytes");
9
+ class AbortError extends Error {
10
+ constructor() {
11
+ super("The operation was aborted");
12
+ this.code = 'ABORT_ERR';
13
+ this.name = 'AbortError';
14
+ }
15
+ }
16
+ const REGEXP_UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
17
+ const REGEXP_FUNCTION = /^(async\s+)?(function(?:\b|\s+)[\w_$]*\s*\(([^)]*)\)\s*\{([\S\s]*)\})$/;
18
+ const REGEXP_FUNCTION_ARROW = /^(async\s+)?(\s*\(([^)]*)\)\s*=>\s*(?:\{([\S\s]*)\}|(?!\s|{)((?:(?<!return\s+)(?:"[^"\n]*"|'[^'\n]*'|`[^`]*`|[^\n;"'`]))*;)))$/;
19
+ const ASYNC_FUNCTION = Object.getPrototypeOf(async () => { }).constructor;
20
+ let CACHE_COERCED = new WeakSet();
21
+ let LOG_CURRENT = null;
22
+ let TEMP_DIR = path.join(process.cwd(), "tmp");
23
+ let INCREMENT_COUNT = 65536;
24
+ let INCREMENT_PREFIX = '';
25
+ function fromObject(value, typedArray) {
26
+ if (isObject(value)) {
27
+ if (value instanceof Map) {
28
+ return new Map(value);
29
+ }
30
+ if (value instanceof Set) {
31
+ return new Set(value);
32
+ }
33
+ if (value instanceof Date) {
34
+ return new Date(value);
35
+ }
36
+ if (value instanceof RegExp) {
37
+ return new RegExp(value);
38
+ }
39
+ if (typedArray) {
40
+ if (value instanceof Buffer) {
41
+ return Buffer.from(value);
42
+ }
43
+ if (value instanceof Int8Array) {
44
+ return Int8Array.from(value);
45
+ }
46
+ if (value instanceof Uint8Array) {
47
+ return Uint8Array.from(value);
48
+ }
49
+ if (value instanceof Uint8ClampedArray) {
50
+ return Uint8ClampedArray.from(value);
51
+ }
52
+ if (value instanceof Int16Array) {
53
+ return Int16Array.from(value);
54
+ }
55
+ if (value instanceof Uint16Array) {
56
+ return Uint16Array.from(value);
57
+ }
58
+ if (value instanceof Int32Array) {
59
+ return Int32Array.from(value);
60
+ }
61
+ if (value instanceof Uint32Array) {
62
+ return Uint32Array.from(value);
63
+ }
64
+ if (value instanceof Float32Array) {
65
+ return Float32Array.from(value);
66
+ }
67
+ if (value instanceof Float64Array) {
68
+ return Float64Array.from(value);
69
+ }
70
+ if (value instanceof BigInt64Array) {
71
+ return BigInt64Array.from(value);
72
+ }
73
+ if (value instanceof BigUint64Array) {
74
+ return BigUint64Array.from(value);
75
+ }
76
+ }
77
+ }
78
+ return value;
79
+ }
80
+ function trimQuote(value) {
81
+ value = value.trim();
82
+ const first = value[0];
83
+ const last = value[value.length - 1];
84
+ return first === last && (first === '"' || first === "'" || first === "`") ? value.substring(1, value.length - 1) : value;
85
+ }
86
+ function checkCipherType(value) {
87
+ switch (value) {
88
+ case 'aes-128-gcm':
89
+ case 'aes-192-gcm':
90
+ case 'aes-256-gcm':
91
+ return value;
92
+ }
93
+ }
94
+ function recurseObject(data, parseString, completed, cache) {
95
+ if (isPlainObject(data) && !completed.has(data) && (!cache || !CACHE_COERCED.has(data))) {
96
+ for (const attr in data) {
97
+ const value = data[attr];
98
+ switch (typeof value) {
99
+ case 'string': {
100
+ const result = parseString(value);
101
+ if (result !== null) {
102
+ data[attr] = result;
103
+ }
104
+ break;
105
+ }
106
+ case 'object':
107
+ if (value === null || completed.has(value)) {
108
+ continue;
109
+ }
110
+ completed.add(value);
111
+ if (Array.isArray(value)) {
112
+ (function iterate(items) {
113
+ for (let i = 0, length = items.length; i < length; ++i) {
114
+ const item = items[i];
115
+ switch (typeof item) {
116
+ case 'string': {
117
+ const result = parseString(item);
118
+ if (result !== null) {
119
+ items[i] = result;
120
+ }
121
+ break;
122
+ }
123
+ case 'object':
124
+ if (Array.isArray(item)) {
125
+ iterate(item);
126
+ }
127
+ else if (item) {
128
+ recurseObject(item, parseString, completed);
129
+ }
130
+ break;
131
+ }
132
+ }
133
+ })(value);
134
+ }
135
+ else {
136
+ recurseObject(value, parseString, completed);
137
+ }
138
+ break;
139
+ }
140
+ }
141
+ if (cache) {
142
+ CACHE_COERCED.add(data);
143
+ }
144
+ completed.add(data);
145
+ }
146
+ return data;
147
+ }
148
+ const convertScrypt = (key, iv, data) => crypto.scryptSync(key, iv, Math.ceil(data.length / 16) * 16);
149
+ const isFunction = (value) => typeof value === 'function';
150
+ var LOG_TYPE;
151
+ (function (LOG_TYPE) {
152
+ LOG_TYPE[LOG_TYPE["UNKNOWN"] = 0] = "UNKNOWN";
153
+ LOG_TYPE[LOG_TYPE["SYSTEM"] = 1] = "SYSTEM";
154
+ LOG_TYPE[LOG_TYPE["NODE"] = 2] = "NODE";
155
+ LOG_TYPE[LOG_TYPE["PROCESS"] = 4] = "PROCESS";
156
+ LOG_TYPE[LOG_TYPE["COMPRESS"] = 8] = "COMPRESS";
157
+ LOG_TYPE[LOG_TYPE["WATCH"] = 16] = "WATCH";
158
+ LOG_TYPE[LOG_TYPE["FILE"] = 32] = "FILE";
159
+ LOG_TYPE[LOG_TYPE["CLOUD"] = 64] = "CLOUD";
160
+ LOG_TYPE[LOG_TYPE["TIME_ELAPSED"] = 128] = "TIME_ELAPSED";
161
+ LOG_TYPE[LOG_TYPE["TIME_PROCESS"] = 256] = "TIME_PROCESS";
162
+ LOG_TYPE[LOG_TYPE["FAIL"] = 512] = "FAIL";
163
+ LOG_TYPE[LOG_TYPE["HTTP"] = 1024] = "HTTP";
164
+ LOG_TYPE[LOG_TYPE["IMAGE"] = 2048] = "IMAGE";
165
+ LOG_TYPE[LOG_TYPE["EXEC"] = 4096] = "EXEC";
166
+ LOG_TYPE[LOG_TYPE["PERMISSION"] = 8192] = "PERMISSION";
167
+ LOG_TYPE[LOG_TYPE["TIMEOUT"] = 16384] = "TIMEOUT";
168
+ LOG_TYPE[LOG_TYPE["STDOUT"] = 32768] = "STDOUT";
169
+ LOG_TYPE[LOG_TYPE["DB"] = 65536] = "DB";
170
+ })(LOG_TYPE || (exports.LOG_TYPE = LOG_TYPE = {}));
171
+ var STATUS_TYPE;
172
+ (function (STATUS_TYPE) {
173
+ STATUS_TYPE[STATUS_TYPE["UNKNOWN"] = 0] = "UNKNOWN";
174
+ STATUS_TYPE[STATUS_TYPE["FATAL"] = 1] = "FATAL";
175
+ STATUS_TYPE[STATUS_TYPE["ERROR"] = 2] = "ERROR";
176
+ STATUS_TYPE[STATUS_TYPE["WARN"] = 3] = "WARN";
177
+ STATUS_TYPE[STATUS_TYPE["INFO"] = 4] = "INFO";
178
+ STATUS_TYPE[STATUS_TYPE["DEBUG"] = 5] = "DEBUG";
179
+ STATUS_TYPE[STATUS_TYPE["ASSERT"] = 6] = "ASSERT";
180
+ STATUS_TYPE[STATUS_TYPE["TRACE"] = 7] = "TRACE";
181
+ })(STATUS_TYPE || (exports.STATUS_TYPE = STATUS_TYPE = {}));
182
+ var FILE_TYPE;
183
+ (function (FILE_TYPE) {
184
+ FILE_TYPE[FILE_TYPE["UNKNOWN"] = 0] = "UNKNOWN";
185
+ FILE_TYPE[FILE_TYPE["ASSET"] = 1] = "ASSET";
186
+ FILE_TYPE[FILE_TYPE["TRANSFORM"] = 2] = "TRANSFORM";
187
+ FILE_TYPE[FILE_TYPE["COMPRESSED"] = 4] = "COMPRESSED";
188
+ FILE_TYPE[FILE_TYPE["SOURCEMAP"] = 8] = "SOURCEMAP";
189
+ FILE_TYPE[FILE_TYPE["TORRENT"] = 16] = "TORRENT";
190
+ })(FILE_TYPE || (exports.FILE_TYPE = FILE_TYPE = {}));
191
+ var ASSET_FLAG;
192
+ (function (ASSET_FLAG) {
193
+ ASSET_FLAG[ASSET_FLAG["NONE"] = 0] = "NONE";
194
+ ASSET_FLAG[ASSET_FLAG["IGNORE"] = 1] = "IGNORE";
195
+ ASSET_FLAG[ASSET_FLAG["CLONE"] = 2] = "CLONE";
196
+ ASSET_FLAG[ASSET_FLAG["USING"] = 4] = "USING";
197
+ ASSET_FLAG[ASSET_FLAG["WATCH"] = 8] = "WATCH";
198
+ ASSET_FLAG[ASSET_FLAG["MODIFIED"] = 16] = "MODIFIED";
199
+ ASSET_FLAG[ASSET_FLAG["PROCESS"] = 32] = "PROCESS";
200
+ ASSET_FLAG[ASSET_FLAG["MAIN"] = 64] = "MAIN";
201
+ ASSET_FLAG[ASSET_FLAG["EXISTS"] = 128] = "EXISTS";
202
+ })(ASSET_FLAG || (exports.ASSET_FLAG = ASSET_FLAG = {}));
203
+ var ERR_CODE;
204
+ (function (ERR_CODE) {
205
+ ERR_CODE["MODULE_NOT_FOUND"] = "MODULE_NOT_FOUND";
206
+ })(ERR_CODE || (exports.ERR_CODE = ERR_CODE = {}));
207
+ var DOWNLOAD_TYPE;
208
+ (function (DOWNLOAD_TYPE) {
209
+ DOWNLOAD_TYPE[DOWNLOAD_TYPE["HTTP"] = 0] = "HTTP";
210
+ DOWNLOAD_TYPE[DOWNLOAD_TYPE["DISK"] = 1] = "DISK";
211
+ DOWNLOAD_TYPE[DOWNLOAD_TYPE["CACHE"] = 2] = "CACHE";
212
+ })(DOWNLOAD_TYPE || (exports.DOWNLOAD_TYPE = DOWNLOAD_TYPE = {}));
213
+ var FETCH_TYPE;
214
+ (function (FETCH_TYPE) {
215
+ FETCH_TYPE[FETCH_TYPE["UNKNOWN"] = 0] = "UNKNOWN";
216
+ FETCH_TYPE[FETCH_TYPE["HTTP"] = 1] = "HTTP";
217
+ FETCH_TYPE[FETCH_TYPE["UNIX_SOCKET"] = 2] = "UNIX_SOCKET";
218
+ FETCH_TYPE[FETCH_TYPE["FTP"] = 3] = "FTP";
219
+ FETCH_TYPE[FETCH_TYPE["TORRENT"] = 4] = "TORRENT";
220
+ })(FETCH_TYPE || (exports.FETCH_TYPE = FETCH_TYPE = {}));
221
+ var DB_TYPE;
222
+ (function (DB_TYPE) {
223
+ DB_TYPE[DB_TYPE["SQL"] = 1] = "SQL";
224
+ DB_TYPE[DB_TYPE["NOSQL"] = 2] = "NOSQL";
225
+ DB_TYPE[DB_TYPE["DOCUMENT"] = 4] = "DOCUMENT";
226
+ DB_TYPE[DB_TYPE["KEYVALUE"] = 8] = "KEYVALUE";
227
+ })(DB_TYPE || (exports.DB_TYPE = DB_TYPE = {}));
228
+ var DB_TRANSACTION;
229
+ (function (DB_TRANSACTION) {
230
+ DB_TRANSACTION[DB_TRANSACTION["ACTIVE"] = 1] = "ACTIVE";
231
+ DB_TRANSACTION[DB_TRANSACTION["PARTIAL"] = 2] = "PARTIAL";
232
+ DB_TRANSACTION[DB_TRANSACTION["COMMIT"] = 4] = "COMMIT";
233
+ DB_TRANSACTION[DB_TRANSACTION["TERMINATE"] = 8] = "TERMINATE";
234
+ DB_TRANSACTION[DB_TRANSACTION["ABORT"] = 16] = "ABORT";
235
+ DB_TRANSACTION[DB_TRANSACTION["FAIL"] = 32] = "FAIL";
236
+ DB_TRANSACTION[DB_TRANSACTION["AUTH"] = 64] = "AUTH";
237
+ DB_TRANSACTION[DB_TRANSACTION["CACHE"] = 128] = "CACHE";
238
+ })(DB_TRANSACTION || (exports.DB_TRANSACTION = DB_TRANSACTION = {}));
239
+ var WATCH_EVENT;
240
+ (function (WATCH_EVENT) {
241
+ WATCH_EVENT["MODIFIED"] = "modified";
242
+ WATCH_EVENT["BROADCAST"] = "broadcast";
243
+ WATCH_EVENT["CLOSE"] = "close";
244
+ WATCH_EVENT["ERROR"] = "error";
245
+ })(WATCH_EVENT || (exports.WATCH_EVENT = WATCH_EVENT = {}));
246
+ var READDIR_SORT;
247
+ (function (READDIR_SORT) {
248
+ READDIR_SORT[READDIR_SORT["FILE"] = 0] = "FILE";
249
+ READDIR_SORT[READDIR_SORT["DIRECTORY"] = 1] = "DIRECTORY";
250
+ READDIR_SORT[READDIR_SORT["DESCENDING"] = 2] = "DESCENDING";
251
+ })(READDIR_SORT || (exports.READDIR_SORT = READDIR_SORT = {}));
252
+ var THRESHOLD;
253
+ (function (THRESHOLD) {
254
+ THRESHOLD[THRESHOLD["FILEMANAGER_INTERVAL"] = 100] = "FILEMANAGER_INTERVAL";
255
+ THRESHOLD[THRESHOLD["WATCH_INTERVAL"] = 500] = "WATCH_INTERVAL";
256
+ THRESHOLD[THRESHOLD["WATCH_CHANGE"] = 100] = "WATCH_CHANGE";
257
+ })(THRESHOLD || (exports.THRESHOLD = THRESHOLD = {}));
258
+ var IMPORT_MAP;
259
+ (function (IMPORT_MAP) {
260
+ IMPORT_MAP["@squared-functions/cloud"] = "@e-mc/cloud";
261
+ IMPORT_MAP["@squared-functions/cloud/util"] = "@e-mc/cloud/util";
262
+ IMPORT_MAP["@squared-functions/compress-v3"] = "@e-mc/compress";
263
+ IMPORT_MAP["@squared-functions/core"] = "@e-mc/core";
264
+ IMPORT_MAP["@squared-functions/db"] = "@e-mc/db";
265
+ IMPORT_MAP["@squared-functions/db/pool"] = "@e-mc/db/pool";
266
+ IMPORT_MAP["@squared-functions/db/util"] = "@e-mc/db/util";
267
+ IMPORT_MAP["@squared-functions/document"] = "@e-mc/document";
268
+ IMPORT_MAP["@squared-functions/document/parse"] = "@e-mc/document/parse";
269
+ IMPORT_MAP["@squared-functions/document/parse/dom"] = "@e-mc/document/parse/dom";
270
+ IMPORT_MAP["@squared-functions/document/transform"] = "@e-mc/document/transform";
271
+ IMPORT_MAP["@squared-functions/document/asset"] = "@e-mc/document/asset";
272
+ IMPORT_MAP["@squared-functions/document/util"] = "@e-mc/document/util";
273
+ IMPORT_MAP["@squared-functions/file-manager"] = "@e-mc/file-manager";
274
+ IMPORT_MAP["@squared-functions/file-manager/http/host"] = "@e-mc/request/http/host";
275
+ IMPORT_MAP["@squared-functions/image-v3"] = "@e-mc/image";
276
+ IMPORT_MAP["@squared-functions/module"] = "@e-mc/module";
277
+ IMPORT_MAP["@squared-functions/task"] = "@e-mc/task";
278
+ IMPORT_MAP["@squared-functions/types"] = "@e-mc/types";
279
+ IMPORT_MAP["@squared-functions/watch"] = "@e-mc/watch";
280
+ IMPORT_MAP["@squared-functions/watch/filegroup"] = "@e-mc/watch/filegroup";
281
+ IMPORT_MAP["@squared-functions/document/android"] = "@pi-r/android";
282
+ IMPORT_MAP["@squared-functions/document/android/extensions/app/manifest"] = "@pi-r/android/extensions/app/manifest";
283
+ IMPORT_MAP["@squared-functions/document/android/extensions/gradle/dependencies"] = "@pi-r/android/extensions/gradle/dependencies";
284
+ IMPORT_MAP["@squared-functions/document/android/extensions/gradle/settings"] = "@pi-r/android/extensions/gradle/settings";
285
+ IMPORT_MAP["@squared-functions/document/android/extensions/task"] = "@pi-r/android/extensions/task";
286
+ IMPORT_MAP["@squared-functions/document/chrome"] = "@pi-r/chrome";
287
+ IMPORT_MAP["@squared-functions/image/jimp"] = "@pi-r/jimp";
288
+ IMPORT_MAP["@squared-functions/image/jimp/util"] = "@pi-r/jimp/util";
289
+ IMPORT_MAP["@squared-functions/image-v3/jimp"] = "@pi-r/jimp";
290
+ IMPORT_MAP["@squared-functions/task/gulp"] = "@pi-r/gulp";
291
+ IMPORT_MAP["@squared-functions/cloud/atlas"] = "@pi-r/atlas";
292
+ IMPORT_MAP["@squared-functions/cloud/aws"] = "@pi-r/aws";
293
+ IMPORT_MAP["@squared-functions/cloud/aws/download"] = "@pi-r/aws/download";
294
+ IMPORT_MAP["@squared-functions/cloud/aws/upload"] = "@pi-r/aws/upload";
295
+ IMPORT_MAP["@squared-functions/cloud/aws-v3"] = "@pi-r/aws-v3";
296
+ IMPORT_MAP["@squared-functions/cloud/aws-v3/download"] = "@pi-r/aws-v3/download";
297
+ IMPORT_MAP["@squared-functions/cloud/aws-v3/upload"] = "@pi-r/aws-v3/upload";
298
+ IMPORT_MAP["@squared-functions/cloud/azure"] = "@pi-r/azure";
299
+ IMPORT_MAP["@squared-functions/cloud/azure/download"] = "@pi-r/azure/download";
300
+ IMPORT_MAP["@squared-functions/cloud/azure/upload"] = "@pi-r/azure/upload";
301
+ IMPORT_MAP["@squared-functions/cloud/gcp"] = "@pi-r/gcp";
302
+ IMPORT_MAP["@squared-functions/cloud/gcp/download"] = "@pi-r/gcp/download";
303
+ IMPORT_MAP["@squared-functions/cloud/gcp/upload"] = "@pi-r/gcp/upload";
304
+ IMPORT_MAP["@squared-functions/cloud/ibm"] = "@pi-r/ibm";
305
+ IMPORT_MAP["@squared-functions/cloud/ibm/download"] = "@pi-r/ibm/download";
306
+ IMPORT_MAP["@squared-functions/cloud/ibm/upload"] = "@pi-r/ibm/upload";
307
+ IMPORT_MAP["@squared-functions/cloud/ibm-v1"] = "@pi-r/ibm";
308
+ IMPORT_MAP["@squared-functions/cloud/ibm-v1/download"] = "@pi-r/ibm/download";
309
+ IMPORT_MAP["@squared-functions/cloud/ibm-v1/upload"] = "@pi-r/ibm/upload";
310
+ IMPORT_MAP["@squared-functions/cloud/minio"] = "@pi-r/minio";
311
+ IMPORT_MAP["@squared-functions/cloud/minio/download"] = "@pi-r/minio/download";
312
+ IMPORT_MAP["@squared-functions/cloud/minio/upload"] = "@pi-r/minio/upload";
313
+ IMPORT_MAP["@squared-functions/cloud/oci"] = "@pi-r/oci";
314
+ IMPORT_MAP["@squared-functions/cloud/oci/download"] = "@pi-r/oci/download";
315
+ IMPORT_MAP["@squared-functions/cloud/oci/upload"] = "@pi-r/oci/upload";
316
+ IMPORT_MAP["@squared-functions/db/mongodb"] = "@pi-r/mongodb";
317
+ IMPORT_MAP["@squared-functions/db/mssql"] = "@pi-r/mssql";
318
+ IMPORT_MAP["@squared-functions/db/mysql"] = "@pi-r/mysql";
319
+ IMPORT_MAP["@squared-functions/db/oracle"] = "@pi-r/oracle";
320
+ IMPORT_MAP["@squared-functions/db/postgres"] = "@pi-r/postgres";
321
+ IMPORT_MAP["@squared-functions/db/redis"] = "@pi-r/redis";
322
+ IMPORT_MAP["@squared-functions/document/packages/@babel/core"] = "@pi-r/babel";
323
+ IMPORT_MAP["@squared-functions/document/packages/clean-css"] = "@pi-r/clean-css";
324
+ IMPORT_MAP["@squared-functions/document/packages/eslint"] = "@pi-r/eslint";
325
+ IMPORT_MAP["@squared-functions/document/packages/html-minifier"] = "@pi-r/html-minifier";
326
+ IMPORT_MAP["@squared-functions/document/packages/html-minifier-terser"] = "@pi-r/html-minifier-terser";
327
+ IMPORT_MAP["@squared-functions/document/packages/html-validate"] = "@pi-r/html-validate";
328
+ IMPORT_MAP["@squared-functions/document/packages/postcss"] = "@pi-r/postcss";
329
+ IMPORT_MAP["@squared-functions/document/packages/posthtml"] = "@pi-r/posthtml";
330
+ IMPORT_MAP["@squared-functions/document/packages/prettier"] = "@pi-r/prettier";
331
+ IMPORT_MAP["@squared-functions/document/packages/rollup"] = "@pi-r/rollup";
332
+ IMPORT_MAP["@squared-functions/document/packages/sass"] = "@pi-r/sass";
333
+ IMPORT_MAP["@squared-functions/document/packages/stylelint"] = "@pi-r/stylelint";
334
+ IMPORT_MAP["@squared-functions/document/packages/svgo"] = "@pi-r/svgo";
335
+ IMPORT_MAP["@squared-functions/document/packages/terser"] = "@pi-r/terser";
336
+ IMPORT_MAP["@squared-functions/document/packages/uglify-js"] = "@pi-r/uglify-js";
337
+ })(IMPORT_MAP || (exports.IMPORT_MAP = IMPORT_MAP = {}));
338
+ function createAbortError() {
339
+ return new AbortError();
340
+ }
341
+ exports.createAbortError = createAbortError;
342
+ function hasBit(value, flags) {
343
+ return typeof value === 'number' && (value & flags) > 0;
344
+ }
345
+ exports.hasBit = hasBit;
346
+ function ignoreFlag(value) {
347
+ return typeof value === 'number' && (value & 1) === 1;
348
+ }
349
+ exports.ignoreFlag = ignoreFlag;
350
+ function cloneFlag(value) {
351
+ return typeof value === 'number' && (value & 2) === 2;
352
+ }
353
+ exports.cloneFlag = cloneFlag;
354
+ function usingFlag(value) {
355
+ return typeof value === 'number' && (value & 4) === 4;
356
+ }
357
+ exports.usingFlag = usingFlag;
358
+ function watchFlag(value) {
359
+ return typeof value === 'number' && (value & 8) === 8;
360
+ }
361
+ exports.watchFlag = watchFlag;
362
+ function modifiedFlag(value) {
363
+ return typeof value === 'number' && (value & 16) === 16;
364
+ }
365
+ exports.modifiedFlag = modifiedFlag;
366
+ function processFlag(value) {
367
+ return typeof value === 'number' && (value & 32) === 32;
368
+ }
369
+ exports.processFlag = processFlag;
370
+ function mainFlag(value) {
371
+ return typeof value === 'number' && (value & 64) === 64;
372
+ }
373
+ exports.mainFlag = mainFlag;
374
+ function existsFlag(value) {
375
+ return typeof value === 'number' && (value & 128) === 128;
376
+ }
377
+ exports.existsFlag = existsFlag;
378
+ function getLogCurrent() {
379
+ return LOG_CURRENT;
380
+ }
381
+ exports.getLogCurrent = getLogCurrent;
382
+ function setLogCurrent(value) {
383
+ LOG_CURRENT = value;
384
+ }
385
+ exports.setLogCurrent = setLogCurrent;
386
+ function getTempDir() {
387
+ return TEMP_DIR;
388
+ }
389
+ exports.getTempDir = getTempDir;
390
+ function setTempDir(value) {
391
+ try {
392
+ if (path.isAbsolute(value) && fs.statSync(value).isDirectory()) {
393
+ TEMP_DIR = value;
394
+ return true;
395
+ }
396
+ }
397
+ catch {
398
+ }
399
+ return false;
400
+ }
401
+ exports.setTempDir = setTempDir;
402
+ function isArray(value) {
403
+ return Array.isArray(value) && value.length > 0;
404
+ }
405
+ exports.isArray = isArray;
406
+ function isPlainObject(value) {
407
+ return typeof value === 'object' && value !== null && (value.constructor === Object || Object.getPrototypeOf(value) === null);
408
+ }
409
+ exports.isPlainObject = isPlainObject;
410
+ function isObject(value) {
411
+ return typeof value === 'object' && value !== null;
412
+ }
413
+ exports.isObject = isObject;
414
+ function isString(value) {
415
+ return typeof value === 'string' && value.length > 0;
416
+ }
417
+ exports.isString = isString;
418
+ function isEmpty(value) {
419
+ return value === undefined || value === null || value === '' || Array.isArray(value) && value.length === 0;
420
+ }
421
+ exports.isEmpty = isEmpty;
422
+ function parseTime(value, start = 0) {
423
+ const seconds = +value;
424
+ if (isNaN(seconds) && isString(value)) {
425
+ const pattern = /\b([\d.]+)\s*(y|M|w|d|h|ms?|s)\b/g;
426
+ let result = 0, match = null;
427
+ while (match = pattern.exec(value.toLowerCase())) {
428
+ const n = +match[1];
429
+ if (isNaN(n)) {
430
+ continue;
431
+ }
432
+ switch (match[2]) {
433
+ case 'y':
434
+ result += n * 31449600000;
435
+ break;
436
+ case 'M':
437
+ result += n * 2592000000;
438
+ break;
439
+ case 'w':
440
+ result += n * 604800000;
441
+ break;
442
+ case 'd':
443
+ result += n * 86400000;
444
+ break;
445
+ case 'h':
446
+ result += n * 3600000;
447
+ break;
448
+ case 'm':
449
+ result += n * 60000;
450
+ break;
451
+ case 's':
452
+ result += n * 1000;
453
+ break;
454
+ case 'ms':
455
+ result += Math.ceil(n);
456
+ break;
457
+ }
458
+ }
459
+ if (result > 0) {
460
+ return Math.ceil(result) + start;
461
+ }
462
+ }
463
+ else if (seconds > 0) {
464
+ return Math.ceil(seconds * 1000) + start;
465
+ }
466
+ return 0;
467
+ }
468
+ exports.parseTime = parseTime;
469
+ function parseExpires(value, start = 0) {
470
+ if (+value < 0 || value === 'never') {
471
+ return Infinity;
472
+ }
473
+ return parseTime(value, start);
474
+ }
475
+ exports.parseExpires = parseExpires;
476
+ function formatTime(value, elapsed, char = ' ') {
477
+ const result = [];
478
+ if (elapsed === true) {
479
+ value = Date.now() - value;
480
+ }
481
+ else if (isString(elapsed)) {
482
+ char = elapsed;
483
+ }
484
+ if (value < 1000) {
485
+ return value + 'ms';
486
+ }
487
+ const h = Math.floor(value / 3600000);
488
+ if (h > 0) {
489
+ value -= h * 3600000;
490
+ result.push(h + 'h');
491
+ }
492
+ const m = Math.floor(value / 60000);
493
+ if (m > 0) {
494
+ value -= m * 60000;
495
+ result.push(m + 'm');
496
+ }
497
+ if (value > 0) {
498
+ result.push(value < 100 ? value + 'ms' : (value / 1000).toPrecision(value <= 9950 ? 2 : 3).replace(/\.?0+$/, '') + 's');
499
+ }
500
+ return result.join(char);
501
+ }
502
+ exports.formatTime = formatTime;
503
+ function convertTime(value, format) {
504
+ if (Array.isArray(value)) {
505
+ const result = Math.ceil((value[0] * 1000000000 + value[1]) / 1000000);
506
+ return format ? formatTime(result) : result;
507
+ }
508
+ return parseTime(value);
509
+ }
510
+ exports.convertTime = convertTime;
511
+ function hasGlob(value) {
512
+ return /(?<!\\)(?:(?:[^*]|^)\*{1,2}(?:[^*]|$)|\{[^}]+\}|\[[!^][^\]]+\]|[!?*+@]\([^)]+\))/.test(value);
513
+ }
514
+ exports.hasGlob = hasGlob;
515
+ function escapePattern(value, lookBehind) {
516
+ switch (typeof value) {
517
+ case 'string': {
518
+ let result = '', j = 0;
519
+ for (let i = 0, length = value.length, ch; i < length; ++i) {
520
+ switch (ch = value[i]) {
521
+ case '-':
522
+ case '.':
523
+ case '+':
524
+ case '*':
525
+ case '?':
526
+ case '|':
527
+ case '\\':
528
+ case '(':
529
+ case ')':
530
+ case '[':
531
+ case ']':
532
+ case '{':
533
+ case '}':
534
+ case '^':
535
+ case '$':
536
+ if (lookBehind && value[i - 1] === '\\') {
537
+ break;
538
+ }
539
+ result += value.substring(j, i) + (ch === '-' ? '\\x2d' : '\\' + ch);
540
+ j = i + 1;
541
+ break;
542
+ }
543
+ }
544
+ return j > 0 ? result + value.substring(j) : value;
545
+ }
546
+ case 'number':
547
+ return value.toString();
548
+ default:
549
+ return '';
550
+ }
551
+ }
552
+ exports.escapePattern = escapePattern;
553
+ function renameExt(value, ext, when) {
554
+ if (!ext.startsWith('.')) {
555
+ ext = '.' + ext;
556
+ }
557
+ if (when && !when.startsWith('.')) {
558
+ when = '.' + when;
559
+ }
560
+ const index = value.lastIndexOf('.');
561
+ if (index !== -1) {
562
+ const current = value.substring(index);
563
+ if (current === ext) {
564
+ return value;
565
+ }
566
+ if (!when || current === when) {
567
+ return value.substring(0, index) + ext;
568
+ }
569
+ }
570
+ return value + ext;
571
+ }
572
+ exports.renameExt = renameExt;
573
+ function formatSize(value, options) {
574
+ if (typeof value === 'number') {
575
+ return (bytes(value, options) || ('0' + ((options === null || options === void 0 ? void 0 : options.unitSeparator) || '') + 'B'));
576
+ }
577
+ return (bytes(value) || 0);
578
+ }
579
+ exports.formatSize = formatSize;
580
+ function alignSize(value, kb = 0, factor = 0) {
581
+ if (value === undefined) {
582
+ return NaN;
583
+ }
584
+ let result = 0;
585
+ switch (typeof value) {
586
+ case 'number':
587
+ if (value < 0) {
588
+ return NaN;
589
+ }
590
+ result = Math.ceil(factor > 0 ? value * Math.pow(1024, factor) : value);
591
+ break;
592
+ case 'string':
593
+ result = formatSize(value);
594
+ if (result < 0) {
595
+ return NaN;
596
+ }
597
+ break;
598
+ default:
599
+ return NaN;
600
+ }
601
+ if (kb > 0) {
602
+ kb = Math.ceil(kb) * 1024;
603
+ return Math.ceil(result / kb) * kb;
604
+ }
605
+ return result;
606
+ }
607
+ exports.alignSize = alignSize;
608
+ function cascadeObject(data, query, fallback) {
609
+ if (isObject(data) && isString(query)) {
610
+ const names = query.trim().split(/(?<!\\)\./).map(item => item.includes('.') ? item.replace(/\\(?=\.)/g, '') : item);
611
+ for (let i = 0, length = names.length, match, current = data; i < length; ++i) {
612
+ if (!(match = /^(.+?)(?:\[(.+)\])?$/.exec(names[i]))) {
613
+ break;
614
+ }
615
+ let index = match[2];
616
+ if (index !== undefined && isNaN(index = +index)) {
617
+ index = trimQuote(match[2]);
618
+ }
619
+ let target = current[trimQuote(match[1])];
620
+ if (target === undefined) {
621
+ break;
622
+ }
623
+ if (i === length - 1) {
624
+ return (index !== undefined ? target[index] : target);
625
+ }
626
+ if (index !== undefined && !isObject(target = target[index])) {
627
+ break;
628
+ }
629
+ current = target;
630
+ }
631
+ }
632
+ return fallback;
633
+ }
634
+ exports.cascadeObject = cascadeObject;
635
+ function cloneObject(data, options) {
636
+ let target, deep, deepIgnore, typedArray, inherited, nonenumerable, symbol, preserve;
637
+ if (options === true) {
638
+ deep = true;
639
+ }
640
+ else if (options instanceof WeakSet) {
641
+ deep = true;
642
+ deepIgnore = options;
643
+ }
644
+ else if (options) {
645
+ ({ target, deep, deepIgnore, typedArray, inherited, nonenumerable, symbol, preserve } = options);
646
+ }
647
+ let nested;
648
+ if (deep) {
649
+ deepIgnore || (deepIgnore = new WeakSet());
650
+ nested = { deep, deepIgnore, typedArray, preserve };
651
+ }
652
+ if (Array.isArray(data)) {
653
+ if (deepIgnore) {
654
+ deepIgnore.add(data);
655
+ }
656
+ const length = data.length;
657
+ if (!target || !Array.isArray(target)) {
658
+ target = new Array(length);
659
+ }
660
+ else {
661
+ target.length = 0;
662
+ }
663
+ for (let i = 0; i < length; ++i) {
664
+ const value = data[i];
665
+ if (deepIgnore) {
666
+ target[i] = (Array.isArray(value) || isPlainObject(value)) && !deepIgnore.has(value) ? cloneObject(value, nested) : fromObject(value, typedArray);
667
+ }
668
+ else {
669
+ target[i] = Array.isArray(value) ? value.slice(0) : value;
670
+ }
671
+ }
672
+ }
673
+ else if (isObject(data)) {
674
+ if (deepIgnore) {
675
+ deepIgnore.add(data);
676
+ }
677
+ if (!target || !isObject(target)) {
678
+ target = {};
679
+ }
680
+ const getProperties = (obj) => {
681
+ let attrs;
682
+ if (inherited === false) {
683
+ attrs = nonenumerable ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
684
+ }
685
+ else {
686
+ attrs = [];
687
+ for (const attr in obj) {
688
+ attrs.push(attr);
689
+ }
690
+ if (nonenumerable) {
691
+ attrs = Array.from(new Set(attrs.concat(Object.getOwnPropertyNames(obj))));
692
+ }
693
+ }
694
+ return symbol ? attrs.concat(Object.getOwnPropertySymbols(obj)) : attrs;
695
+ };
696
+ for (const attr of getProperties(data)) {
697
+ const value = data[attr];
698
+ let merge;
699
+ if (deepIgnore) {
700
+ merge = (Array.isArray(value) || isPlainObject(value)) && !deepIgnore.has(value) ? cloneObject(value, nested) : fromObject(value, typedArray);
701
+ }
702
+ else {
703
+ merge = Array.isArray(value) ? value.slice(0) : value;
704
+ }
705
+ if (preserve && isPlainObject(target[attr]) && isPlainObject(merge)) {
706
+ (function recurse(current, next) {
707
+ for (const item of getProperties(next)) {
708
+ const b = next[item];
709
+ if (!(item in current)) {
710
+ current[item] = b;
711
+ }
712
+ else {
713
+ const a = current[item];
714
+ if (isPlainObject(a) && isPlainObject(b)) {
715
+ recurse(a, b);
716
+ }
717
+ }
718
+ }
719
+ })(target[attr], merge);
720
+ }
721
+ else {
722
+ target[attr] = merge;
723
+ }
724
+ }
725
+ }
726
+ else {
727
+ return deep ? fromObject(data, typedArray) : data;
728
+ }
729
+ return target;
730
+ }
731
+ exports.cloneObject = cloneObject;
732
+ function coerceObject(data, parseString, cache) {
733
+ if (typeof parseString === 'boolean') {
734
+ cache = parseString;
735
+ parseString = undefined;
736
+ }
737
+ else if (parseString && typeof parseString !== 'function') {
738
+ return data;
739
+ }
740
+ if (!parseString) {
741
+ parseString = (value) => {
742
+ if (value.length > 8) {
743
+ switch (value.substring(0, 3)) {
744
+ case 'new': {
745
+ const match = /^new\s+(Date|RegExp|URL|Map|WeakMap|Set|WeakSet)\(([\S\s]*)\)$/.exec(value.trimEnd());
746
+ if (!match) {
747
+ break;
748
+ }
749
+ try {
750
+ const removeQuotes = (content) => content.trim().replace(/^["']/g, '').replace(/["']$/g, '').trim();
751
+ const errorCreate = () => errorValue('Invalid parameters', match[2].trim());
752
+ switch (match[1]) {
753
+ case 'Date':
754
+ return new Date(match[2].replace(/["']/g, '').trim());
755
+ case 'URL':
756
+ case 'RegExp': {
757
+ const pattern = /^("[^"]+"|'[^']+'|[^\s,]+)(?:\s*,\s*("[^"]+"|'[^']+'|\S+))?$/.exec(match[2].trim());
758
+ if (pattern) {
759
+ return new (match[1] === 'URL' ? URL : RegExp)(removeQuotes(pattern[1]), pattern[2] ? removeQuotes(pattern[2]) : '');
760
+ }
761
+ throw errorCreate();
762
+ }
763
+ default: {
764
+ const text = match[2].trim();
765
+ let values = [];
766
+ if (text.startsWith('[') && text.endsWith(']')) {
767
+ values = JSON.parse(text);
768
+ }
769
+ else if (text) {
770
+ throw errorCreate();
771
+ }
772
+ switch (match[1]) {
773
+ case 'Map':
774
+ return new Map(values);
775
+ case 'WeakMap':
776
+ return new WeakMap(values);
777
+ case 'Set':
778
+ return new Set(values);
779
+ case 'WeakSet':
780
+ return new WeakSet(values);
781
+ }
782
+ }
783
+ }
784
+ }
785
+ catch {
786
+ return undefined;
787
+ }
788
+ break;
789
+ }
790
+ case 'asy':
791
+ if (value.substring(3, 5) === 'nc') {
792
+ return asFunction(value);
793
+ }
794
+ break;
795
+ case 'fun':
796
+ if (value.substring(3, 8) === 'ction') {
797
+ return asFunction(value);
798
+ }
799
+ break;
800
+ case 'Num':
801
+ switch (value) {
802
+ case 'Number.EPSILON':
803
+ return Number.EPSILON;
804
+ case 'Number.MAX_SAFE_INTEGER':
805
+ return Number.MAX_SAFE_INTEGER;
806
+ case 'Number.MAX_VALUE':
807
+ return Number.MAX_VALUE;
808
+ case 'Number.MIN_SAFE_INTEGER':
809
+ return Number.MIN_SAFE_INTEGER;
810
+ case 'Number.MIN_VALUE':
811
+ return Number.MIN_VALUE;
812
+ case 'Number.NaN':
813
+ return Number.NaN;
814
+ case 'Number.NEGATIVE_INFINITY':
815
+ return Number.NEGATIVE_INFINITY;
816
+ case 'Number.POSITIVE_INFINITY':
817
+ return Number.POSITIVE_INFINITY;
818
+ }
819
+ break;
820
+ }
821
+ }
822
+ return null;
823
+ };
824
+ }
825
+ if (Array.isArray(data)) {
826
+ for (let i = 0, length = data.length; i < length; ++i) {
827
+ data[i] = recurseObject(data[i], parseString, new WeakSet(), cache);
828
+ }
829
+ return data;
830
+ }
831
+ return recurseObject(data, parseString, new WeakSet(), cache);
832
+ }
833
+ exports.coerceObject = coerceObject;
834
+ function asFunction(value, sync = true) {
835
+ if (isFunction(value)) {
836
+ return value;
837
+ }
838
+ let match;
839
+ if (isString(value) && (match = REGEXP_FUNCTION.exec(value = value.trim()) || REGEXP_FUNCTION_ARROW.exec(value))) {
840
+ if (!sync || match[1]) {
841
+ const args = match[3].trim().split(/\s*,\s*/);
842
+ args.push(match[4] || (match[5] && (match[5] = 'return ' + match[5])));
843
+ return new ASYNC_FUNCTION(...args);
844
+ }
845
+ try {
846
+ const result = (0, eval)(`(${match[2]})`);
847
+ if (isFunction(result)) {
848
+ return result;
849
+ }
850
+ }
851
+ catch {
852
+ }
853
+ }
854
+ return null;
855
+ }
856
+ exports.asFunction = asFunction;
857
+ function getEncoding(value, fallback = 'utf-8') {
858
+ if (typeof value === 'string') {
859
+ switch (value = value.trim().toLowerCase()) {
860
+ case 'utf8':
861
+ case 'utf-8':
862
+ case 'utf16le':
863
+ return value;
864
+ case 'utf-16le':
865
+ case 'utf16':
866
+ case 'utf-16':
867
+ return 'utf16le';
868
+ }
869
+ if (Buffer.isEncoding(value)) {
870
+ return value;
871
+ }
872
+ }
873
+ return fallback;
874
+ }
875
+ exports.getEncoding = getEncoding;
876
+ function encryptUTF8(algorithm, key, iv, data, encoding = 'hex') {
877
+ if (checkCipherType(algorithm) && isString(data)) {
878
+ try {
879
+ const gcm = crypto.createCipheriv(algorithm, convertScrypt(key, iv, data), iv);
880
+ return gcm.update(data, 'utf-8', encoding) + gcm.final(encoding);
881
+ }
882
+ catch {
883
+ }
884
+ }
885
+ }
886
+ exports.encryptUTF8 = encryptUTF8;
887
+ function decryptUTF8(algorithm, key, iv, data, encoding = 'hex') {
888
+ if (checkCipherType(algorithm) && isString(data)) {
889
+ try {
890
+ const gcm = crypto.createDecipheriv(algorithm, convertScrypt(key, iv, data), iv);
891
+ return gcm.update(data, encoding, 'utf-8') + gcm.final('utf-8');
892
+ }
893
+ catch {
894
+ }
895
+ }
896
+ }
897
+ exports.decryptUTF8 = decryptUTF8;
898
+ function randomString(format, dictionary) {
899
+ if (format !== '8-4-4-4-12' || dictionary) {
900
+ const match = format.match(/(\d+|[^\d]+)/g);
901
+ if (match) {
902
+ try {
903
+ dictionary || (dictionary = '0123456789abcdef');
904
+ const result = format.match(/(\d+|[^\d[]+|\[[^\]]+\]|\[)/g).reduce((a, b) => {
905
+ let length, available;
906
+ if (b.startsWith('[') && b.endsWith(']')) {
907
+ length = 1;
908
+ available = b.substring(1, b.length - 1);
909
+ }
910
+ else {
911
+ length = +b;
912
+ available = dictionary;
913
+ }
914
+ if (!isNaN(length)) {
915
+ const j = available.length;
916
+ if (isFunction(crypto.getRandomValues) && length > 1) {
917
+ const items = crypto.getRandomValues(new Uint32Array(length));
918
+ for (let i = 0; i < length; i++) {
919
+ a += available[items[i] % j];
920
+ }
921
+ }
922
+ else {
923
+ for (let i = 0; i < length; ++i) {
924
+ a += available[Math.floor(Math.random() * j)];
925
+ }
926
+ }
927
+ return a;
928
+ }
929
+ return a + b;
930
+ }, '');
931
+ if (result) {
932
+ return result;
933
+ }
934
+ }
935
+ catch {
936
+ }
937
+ }
938
+ }
939
+ return (0, exports.generateUUID)();
940
+ }
941
+ exports.randomString = randomString;
942
+ function validateUUID(value) {
943
+ return typeof value === 'string' && value.length === 36 && REGEXP_UUID.test(value);
944
+ }
945
+ exports.validateUUID = validateUUID;
946
+ function errorValue(value, hint) {
947
+ return new Error(value + (hint ? ` (${hint})` : ''));
948
+ }
949
+ exports.errorValue = errorValue;
950
+ function errorMessage(title, value, hint) {
951
+ return new Error((title !== '' ? title + ': ' : '') + value + (hint ? ` (${hint})` : ''));
952
+ }
953
+ exports.errorMessage = errorMessage;
954
+ function purgeMemory(percent) {
955
+ CACHE_COERCED = new WeakSet();
956
+ }
957
+ exports.purgeMemory = purgeMemory;
958
+ function incrementUUID(restart) {
959
+ if (restart || INCREMENT_COUNT === 65536) {
960
+ INCREMENT_COUNT = 0;
961
+ INCREMENT_PREFIX = (0, exports.generateUUID)().substring(0, 33);
962
+ }
963
+ return INCREMENT_PREFIX + (INCREMENT_COUNT++).toString(16).padStart(4, '0');
964
+ }
965
+ exports.incrementUUID = incrementUUID;
966
+ exports.generateUUID = typeof crypto.randomUUID === 'function' ? crypto.randomUUID.bind(crypto) : require('uuid').v4;