@orion-js/helpers 3.11.15 → 4.0.0-alpha.3

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.
Files changed (64) hide show
  1. package/dist/index.cjs +1018 -0
  2. package/dist/index.d.ts +362 -0
  3. package/dist/index.js +992 -0
  4. package/package.json +21 -15
  5. package/LICENSE +0 -21
  6. package/jest.config.js +0 -8
  7. package/lib/Errors/OrionError.d.ts +0 -39
  8. package/lib/Errors/OrionError.js +0 -23
  9. package/lib/Errors/OrionError.test.d.ts +0 -1
  10. package/lib/Errors/OrionError.test.js +0 -52
  11. package/lib/Errors/PermissionsError.d.ts +0 -37
  12. package/lib/Errors/PermissionsError.js +0 -57
  13. package/lib/Errors/PermissionsError.test.d.ts +0 -1
  14. package/lib/Errors/PermissionsError.test.js +0 -62
  15. package/lib/Errors/UserError.d.ts +0 -33
  16. package/lib/Errors/UserError.js +0 -54
  17. package/lib/Errors/UserError.test.d.ts +0 -1
  18. package/lib/Errors/UserError.test.js +0 -49
  19. package/lib/Errors/index.d.ts +0 -43
  20. package/lib/Errors/index.js +0 -57
  21. package/lib/Errors/index.test.d.ts +0 -1
  22. package/lib/Errors/index.test.js +0 -56
  23. package/lib/composeMiddlewares.d.ts +0 -6
  24. package/lib/composeMiddlewares.js +0 -44
  25. package/lib/createMap.d.ts +0 -17
  26. package/lib/createMap.js +0 -26
  27. package/lib/createMap.test.d.ts +0 -1
  28. package/lib/createMap.test.js +0 -74
  29. package/lib/createMapArray.d.ts +0 -22
  30. package/lib/createMapArray.js +0 -32
  31. package/lib/createMapArray.test.d.ts +0 -1
  32. package/lib/createMapArray.test.js +0 -101
  33. package/lib/generateId.d.ts +0 -6
  34. package/lib/generateId.js +0 -54
  35. package/lib/generateId.test.d.ts +0 -1
  36. package/lib/generateId.test.js +0 -11
  37. package/lib/generateUUID.d.ts +0 -2
  38. package/lib/generateUUID.js +0 -12
  39. package/lib/generateUUID.test.d.ts +0 -1
  40. package/lib/generateUUID.test.js +0 -15
  41. package/lib/hashObject.d.ts +0 -1
  42. package/lib/hashObject.js +0 -10
  43. package/lib/hashObject.test.d.ts +0 -1
  44. package/lib/hashObject.test.js +0 -30
  45. package/lib/index.d.ts +0 -13
  46. package/lib/index.js +0 -40
  47. package/lib/normalize.d.ts +0 -70
  48. package/lib/normalize.js +0 -111
  49. package/lib/normalize.test.d.ts +0 -1
  50. package/lib/normalize.test.js +0 -101
  51. package/lib/retries.d.ts +0 -23
  52. package/lib/retries.js +0 -45
  53. package/lib/retries.test.d.ts +0 -1
  54. package/lib/retries.test.js +0 -47
  55. package/lib/searchTokens.d.ts +0 -61
  56. package/lib/searchTokens.js +0 -78
  57. package/lib/searchTokens.test.d.ts +0 -1
  58. package/lib/searchTokens.test.js +0 -101
  59. package/lib/shortenMongoId.d.ts +0 -1
  60. package/lib/shortenMongoId.js +0 -10
  61. package/lib/sleep.d.ts +0 -5
  62. package/lib/sleep.js +0 -8
  63. package/tsconfig.json +0 -16
  64. package/yarn-error.log +0 -710
package/dist/index.cjs ADDED
@@ -0,0 +1,1018 @@
1
+ var __create = Object.create;
2
+ var __getProtoOf = Object.getPrototypeOf;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __toESM = (mod, isNodeMode, target) => {
8
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
9
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
10
+ for (let key of __getOwnPropNames(mod))
11
+ if (!__hasOwnProp.call(to, key))
12
+ __defProp(to, key, {
13
+ get: () => mod[key],
14
+ enumerable: true
15
+ });
16
+ return to;
17
+ };
18
+ var __moduleCache = /* @__PURE__ */ new WeakMap;
19
+ var __toCommonJS = (from) => {
20
+ var entry = __moduleCache.get(from), desc;
21
+ if (entry)
22
+ return entry;
23
+ entry = __defProp({}, "__esModule", { value: true });
24
+ if (from && typeof from === "object" || typeof from === "function")
25
+ __getOwnPropNames(from).map((key) => !__hasOwnProp.call(entry, key) && __defProp(entry, key, {
26
+ get: () => from[key],
27
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
28
+ }));
29
+ __moduleCache.set(from, entry);
30
+ return entry;
31
+ };
32
+ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
33
+ var __export = (target, all) => {
34
+ for (var name in all)
35
+ __defProp(target, name, {
36
+ get: all[name],
37
+ enumerable: true,
38
+ configurable: true,
39
+ set: (newValue) => all[name] = () => newValue
40
+ });
41
+ };
42
+
43
+ // ../../node_modules/object-hash/index.js
44
+ var require_object_hash = __commonJS((exports2, module2) => {
45
+ var crypto = require("crypto");
46
+ exports2 = module2.exports = objectHash;
47
+ function objectHash(object, options) {
48
+ options = applyDefaults(object, options);
49
+ return hash(object, options);
50
+ }
51
+ exports2.sha1 = function(object) {
52
+ return objectHash(object);
53
+ };
54
+ exports2.keys = function(object) {
55
+ return objectHash(object, { excludeValues: true, algorithm: "sha1", encoding: "hex" });
56
+ };
57
+ exports2.MD5 = function(object) {
58
+ return objectHash(object, { algorithm: "md5", encoding: "hex" });
59
+ };
60
+ exports2.keysMD5 = function(object) {
61
+ return objectHash(object, { algorithm: "md5", encoding: "hex", excludeValues: true });
62
+ };
63
+ var hashes = crypto.getHashes ? crypto.getHashes().slice() : ["sha1", "md5"];
64
+ hashes.push("passthrough");
65
+ var encodings = ["buffer", "hex", "binary", "base64"];
66
+ function applyDefaults(object, sourceOptions) {
67
+ sourceOptions = sourceOptions || {};
68
+ var options = {};
69
+ options.algorithm = sourceOptions.algorithm || "sha1";
70
+ options.encoding = sourceOptions.encoding || "hex";
71
+ options.excludeValues = sourceOptions.excludeValues ? true : false;
72
+ options.algorithm = options.algorithm.toLowerCase();
73
+ options.encoding = options.encoding.toLowerCase();
74
+ options.ignoreUnknown = sourceOptions.ignoreUnknown !== true ? false : true;
75
+ options.respectType = sourceOptions.respectType === false ? false : true;
76
+ options.respectFunctionNames = sourceOptions.respectFunctionNames === false ? false : true;
77
+ options.respectFunctionProperties = sourceOptions.respectFunctionProperties === false ? false : true;
78
+ options.unorderedArrays = sourceOptions.unorderedArrays !== true ? false : true;
79
+ options.unorderedSets = sourceOptions.unorderedSets === false ? false : true;
80
+ options.unorderedObjects = sourceOptions.unorderedObjects === false ? false : true;
81
+ options.replacer = sourceOptions.replacer || undefined;
82
+ options.excludeKeys = sourceOptions.excludeKeys || undefined;
83
+ if (typeof object === "undefined") {
84
+ throw new Error("Object argument required.");
85
+ }
86
+ for (var i = 0;i < hashes.length; ++i) {
87
+ if (hashes[i].toLowerCase() === options.algorithm.toLowerCase()) {
88
+ options.algorithm = hashes[i];
89
+ }
90
+ }
91
+ if (hashes.indexOf(options.algorithm) === -1) {
92
+ throw new Error('Algorithm "' + options.algorithm + '" not supported. ' + "supported values: " + hashes.join(", "));
93
+ }
94
+ if (encodings.indexOf(options.encoding) === -1 && options.algorithm !== "passthrough") {
95
+ throw new Error('Encoding "' + options.encoding + '" not supported. ' + "supported values: " + encodings.join(", "));
96
+ }
97
+ return options;
98
+ }
99
+ function isNativeFunction(f) {
100
+ if (typeof f !== "function") {
101
+ return false;
102
+ }
103
+ var exp = /^function\s+\w*\s*\(\s*\)\s*{\s+\[native code\]\s+}$/i;
104
+ return exp.exec(Function.prototype.toString.call(f)) != null;
105
+ }
106
+ function hash(object, options) {
107
+ var hashingStream;
108
+ if (options.algorithm !== "passthrough") {
109
+ hashingStream = crypto.createHash(options.algorithm);
110
+ } else {
111
+ hashingStream = new PassThrough;
112
+ }
113
+ if (typeof hashingStream.write === "undefined") {
114
+ hashingStream.write = hashingStream.update;
115
+ hashingStream.end = hashingStream.update;
116
+ }
117
+ var hasher = typeHasher(options, hashingStream);
118
+ hasher.dispatch(object);
119
+ if (!hashingStream.update) {
120
+ hashingStream.end("");
121
+ }
122
+ if (hashingStream.digest) {
123
+ return hashingStream.digest(options.encoding === "buffer" ? undefined : options.encoding);
124
+ }
125
+ var buf = hashingStream.read();
126
+ if (options.encoding === "buffer") {
127
+ return buf;
128
+ }
129
+ return buf.toString(options.encoding);
130
+ }
131
+ exports2.writeToStream = function(object, options, stream) {
132
+ if (typeof stream === "undefined") {
133
+ stream = options;
134
+ options = {};
135
+ }
136
+ options = applyDefaults(object, options);
137
+ return typeHasher(options, stream).dispatch(object);
138
+ };
139
+ function typeHasher(options, writeTo, context) {
140
+ context = context || [];
141
+ var write = function(str) {
142
+ if (writeTo.update) {
143
+ return writeTo.update(str, "utf8");
144
+ } else {
145
+ return writeTo.write(str, "utf8");
146
+ }
147
+ };
148
+ return {
149
+ dispatch: function(value) {
150
+ if (options.replacer) {
151
+ value = options.replacer(value);
152
+ }
153
+ var type = typeof value;
154
+ if (value === null) {
155
+ type = "null";
156
+ }
157
+ return this["_" + type](value);
158
+ },
159
+ _object: function(object) {
160
+ var pattern = /\[object (.*)\]/i;
161
+ var objString = Object.prototype.toString.call(object);
162
+ var objType = pattern.exec(objString);
163
+ if (!objType) {
164
+ objType = "unknown:[" + objString + "]";
165
+ } else {
166
+ objType = objType[1];
167
+ }
168
+ objType = objType.toLowerCase();
169
+ var objectNumber = null;
170
+ if ((objectNumber = context.indexOf(object)) >= 0) {
171
+ return this.dispatch("[CIRCULAR:" + objectNumber + "]");
172
+ } else {
173
+ context.push(object);
174
+ }
175
+ if (typeof Buffer !== "undefined" && Buffer.isBuffer && Buffer.isBuffer(object)) {
176
+ write("buffer:");
177
+ return write(object);
178
+ }
179
+ if (objType !== "object" && objType !== "function" && objType !== "asyncfunction") {
180
+ if (this["_" + objType]) {
181
+ this["_" + objType](object);
182
+ } else if (options.ignoreUnknown) {
183
+ return write("[" + objType + "]");
184
+ } else {
185
+ throw new Error('Unknown object type "' + objType + '"');
186
+ }
187
+ } else {
188
+ var keys = Object.keys(object);
189
+ if (options.unorderedObjects) {
190
+ keys = keys.sort();
191
+ }
192
+ if (options.respectType !== false && !isNativeFunction(object)) {
193
+ keys.splice(0, 0, "prototype", "__proto__", "constructor");
194
+ }
195
+ if (options.excludeKeys) {
196
+ keys = keys.filter(function(key) {
197
+ return !options.excludeKeys(key);
198
+ });
199
+ }
200
+ write("object:" + keys.length + ":");
201
+ var self = this;
202
+ return keys.forEach(function(key) {
203
+ self.dispatch(key);
204
+ write(":");
205
+ if (!options.excludeValues) {
206
+ self.dispatch(object[key]);
207
+ }
208
+ write(",");
209
+ });
210
+ }
211
+ },
212
+ _array: function(arr, unordered) {
213
+ unordered = typeof unordered !== "undefined" ? unordered : options.unorderedArrays !== false;
214
+ var self = this;
215
+ write("array:" + arr.length + ":");
216
+ if (!unordered || arr.length <= 1) {
217
+ return arr.forEach(function(entry) {
218
+ return self.dispatch(entry);
219
+ });
220
+ }
221
+ var contextAdditions = [];
222
+ var entries = arr.map(function(entry) {
223
+ var strm = new PassThrough;
224
+ var localContext = context.slice();
225
+ var hasher = typeHasher(options, strm, localContext);
226
+ hasher.dispatch(entry);
227
+ contextAdditions = contextAdditions.concat(localContext.slice(context.length));
228
+ return strm.read().toString();
229
+ });
230
+ context = context.concat(contextAdditions);
231
+ entries.sort();
232
+ return this._array(entries, false);
233
+ },
234
+ _date: function(date) {
235
+ return write("date:" + date.toJSON());
236
+ },
237
+ _symbol: function(sym) {
238
+ return write("symbol:" + sym.toString());
239
+ },
240
+ _error: function(err) {
241
+ return write("error:" + err.toString());
242
+ },
243
+ _boolean: function(bool) {
244
+ return write("bool:" + bool.toString());
245
+ },
246
+ _string: function(string) {
247
+ write("string:" + string.length + ":");
248
+ write(string.toString());
249
+ },
250
+ _function: function(fn) {
251
+ write("fn:");
252
+ if (isNativeFunction(fn)) {
253
+ this.dispatch("[native]");
254
+ } else {
255
+ this.dispatch(fn.toString());
256
+ }
257
+ if (options.respectFunctionNames !== false) {
258
+ this.dispatch("function-name:" + String(fn.name));
259
+ }
260
+ if (options.respectFunctionProperties) {
261
+ this._object(fn);
262
+ }
263
+ },
264
+ _number: function(number) {
265
+ return write("number:" + number.toString());
266
+ },
267
+ _xml: function(xml) {
268
+ return write("xml:" + xml.toString());
269
+ },
270
+ _null: function() {
271
+ return write("Null");
272
+ },
273
+ _undefined: function() {
274
+ return write("Undefined");
275
+ },
276
+ _regexp: function(regex) {
277
+ return write("regex:" + regex.toString());
278
+ },
279
+ _uint8array: function(arr) {
280
+ write("uint8array:");
281
+ return this.dispatch(Array.prototype.slice.call(arr));
282
+ },
283
+ _uint8clampedarray: function(arr) {
284
+ write("uint8clampedarray:");
285
+ return this.dispatch(Array.prototype.slice.call(arr));
286
+ },
287
+ _int8array: function(arr) {
288
+ write("uint8array:");
289
+ return this.dispatch(Array.prototype.slice.call(arr));
290
+ },
291
+ _uint16array: function(arr) {
292
+ write("uint16array:");
293
+ return this.dispatch(Array.prototype.slice.call(arr));
294
+ },
295
+ _int16array: function(arr) {
296
+ write("uint16array:");
297
+ return this.dispatch(Array.prototype.slice.call(arr));
298
+ },
299
+ _uint32array: function(arr) {
300
+ write("uint32array:");
301
+ return this.dispatch(Array.prototype.slice.call(arr));
302
+ },
303
+ _int32array: function(arr) {
304
+ write("uint32array:");
305
+ return this.dispatch(Array.prototype.slice.call(arr));
306
+ },
307
+ _float32array: function(arr) {
308
+ write("float32array:");
309
+ return this.dispatch(Array.prototype.slice.call(arr));
310
+ },
311
+ _float64array: function(arr) {
312
+ write("float64array:");
313
+ return this.dispatch(Array.prototype.slice.call(arr));
314
+ },
315
+ _arraybuffer: function(arr) {
316
+ write("arraybuffer:");
317
+ return this.dispatch(new Uint8Array(arr));
318
+ },
319
+ _url: function(url) {
320
+ return write("url:" + url.toString(), "utf8");
321
+ },
322
+ _map: function(map) {
323
+ write("map:");
324
+ var arr = Array.from(map);
325
+ return this._array(arr, options.unorderedSets !== false);
326
+ },
327
+ _set: function(set) {
328
+ write("set:");
329
+ var arr = Array.from(set);
330
+ return this._array(arr, options.unorderedSets !== false);
331
+ },
332
+ _file: function(file) {
333
+ write("file:");
334
+ return this.dispatch([file.name, file.size, file.type, file.lastModfied]);
335
+ },
336
+ _blob: function() {
337
+ if (options.ignoreUnknown) {
338
+ return write("[blob]");
339
+ }
340
+ throw Error(`Hashing Blob objects is currently not supported
341
+ ` + `(see https://github.com/puleos/object-hash/issues/26)
342
+ ` + `Use "options.replacer" or "options.ignoreUnknown"
343
+ `);
344
+ },
345
+ _domwindow: function() {
346
+ return write("domwindow");
347
+ },
348
+ _bigint: function(number) {
349
+ return write("bigint:" + number.toString());
350
+ },
351
+ _process: function() {
352
+ return write("process");
353
+ },
354
+ _timer: function() {
355
+ return write("timer");
356
+ },
357
+ _pipe: function() {
358
+ return write("pipe");
359
+ },
360
+ _tcp: function() {
361
+ return write("tcp");
362
+ },
363
+ _udp: function() {
364
+ return write("udp");
365
+ },
366
+ _tty: function() {
367
+ return write("tty");
368
+ },
369
+ _statwatcher: function() {
370
+ return write("statwatcher");
371
+ },
372
+ _securecontext: function() {
373
+ return write("securecontext");
374
+ },
375
+ _connection: function() {
376
+ return write("connection");
377
+ },
378
+ _zlib: function() {
379
+ return write("zlib");
380
+ },
381
+ _context: function() {
382
+ return write("context");
383
+ },
384
+ _nodescript: function() {
385
+ return write("nodescript");
386
+ },
387
+ _httpparser: function() {
388
+ return write("httpparser");
389
+ },
390
+ _dataview: function() {
391
+ return write("dataview");
392
+ },
393
+ _signal: function() {
394
+ return write("signal");
395
+ },
396
+ _fsevent: function() {
397
+ return write("fsevent");
398
+ },
399
+ _tlswrap: function() {
400
+ return write("tlswrap");
401
+ }
402
+ };
403
+ }
404
+ function PassThrough() {
405
+ return {
406
+ buf: "",
407
+ write: function(b) {
408
+ this.buf += b;
409
+ },
410
+ end: function(b) {
411
+ this.buf += b;
412
+ },
413
+ read: function() {
414
+ return this.buf;
415
+ }
416
+ };
417
+ }
418
+ });
419
+
420
+ // ../../node_modules/uuid/dist/rng.js
421
+ var require_rng = __commonJS((exports2) => {
422
+ Object.defineProperty(exports2, "__esModule", {
423
+ value: true
424
+ });
425
+ exports2.default = rng;
426
+ var _crypto = _interopRequireDefault(require("crypto"));
427
+ function _interopRequireDefault(obj) {
428
+ return obj && obj.__esModule ? obj : { default: obj };
429
+ }
430
+ function rng() {
431
+ return _crypto.default.randomBytes(16);
432
+ }
433
+ });
434
+
435
+ // ../../node_modules/uuid/dist/bytesToUuid.js
436
+ var require_bytesToUuid = __commonJS((exports2) => {
437
+ Object.defineProperty(exports2, "__esModule", {
438
+ value: true
439
+ });
440
+ exports2.default = undefined;
441
+ var byteToHex = [];
442
+ for (i = 0;i < 256; ++i) {
443
+ byteToHex[i] = (i + 256).toString(16).substr(1);
444
+ }
445
+ var i;
446
+ function bytesToUuid(buf, offset) {
447
+ var i2 = offset || 0;
448
+ var bth = byteToHex;
449
+ return [bth[buf[i2++]], bth[buf[i2++]], bth[buf[i2++]], bth[buf[i2++]], "-", bth[buf[i2++]], bth[buf[i2++]], "-", bth[buf[i2++]], bth[buf[i2++]], "-", bth[buf[i2++]], bth[buf[i2++]], "-", bth[buf[i2++]], bth[buf[i2++]], bth[buf[i2++]], bth[buf[i2++]], bth[buf[i2++]], bth[buf[i2++]]].join("");
450
+ }
451
+ var _default = bytesToUuid;
452
+ exports2.default = _default;
453
+ });
454
+
455
+ // ../../node_modules/uuid/dist/v1.js
456
+ var require_v1 = __commonJS((exports2) => {
457
+ Object.defineProperty(exports2, "__esModule", {
458
+ value: true
459
+ });
460
+ exports2.default = undefined;
461
+ var _rng = _interopRequireDefault(require_rng());
462
+ var _bytesToUuid = _interopRequireDefault(require_bytesToUuid());
463
+ function _interopRequireDefault(obj) {
464
+ return obj && obj.__esModule ? obj : { default: obj };
465
+ }
466
+ var _nodeId;
467
+ var _clockseq;
468
+ var _lastMSecs = 0;
469
+ var _lastNSecs = 0;
470
+ function v1(options, buf, offset) {
471
+ var i = buf && offset || 0;
472
+ var b = buf || [];
473
+ options = options || {};
474
+ var node = options.node || _nodeId;
475
+ var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;
476
+ if (node == null || clockseq == null) {
477
+ var seedBytes = options.random || (options.rng || _rng.default)();
478
+ if (node == null) {
479
+ node = _nodeId = [seedBytes[0] | 1, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];
480
+ }
481
+ if (clockseq == null) {
482
+ clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 16383;
483
+ }
484
+ }
485
+ var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();
486
+ var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;
487
+ var dt = msecs - _lastMSecs + (nsecs - _lastNSecs) / 1e4;
488
+ if (dt < 0 && options.clockseq === undefined) {
489
+ clockseq = clockseq + 1 & 16383;
490
+ }
491
+ if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {
492
+ nsecs = 0;
493
+ }
494
+ if (nsecs >= 1e4) {
495
+ throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");
496
+ }
497
+ _lastMSecs = msecs;
498
+ _lastNSecs = nsecs;
499
+ _clockseq = clockseq;
500
+ msecs += 12219292800000;
501
+ var tl = ((msecs & 268435455) * 1e4 + nsecs) % 4294967296;
502
+ b[i++] = tl >>> 24 & 255;
503
+ b[i++] = tl >>> 16 & 255;
504
+ b[i++] = tl >>> 8 & 255;
505
+ b[i++] = tl & 255;
506
+ var tmh = msecs / 4294967296 * 1e4 & 268435455;
507
+ b[i++] = tmh >>> 8 & 255;
508
+ b[i++] = tmh & 255;
509
+ b[i++] = tmh >>> 24 & 15 | 16;
510
+ b[i++] = tmh >>> 16 & 255;
511
+ b[i++] = clockseq >>> 8 | 128;
512
+ b[i++] = clockseq & 255;
513
+ for (var n = 0;n < 6; ++n) {
514
+ b[i + n] = node[n];
515
+ }
516
+ return buf ? buf : (0, _bytesToUuid.default)(b);
517
+ }
518
+ var _default = v1;
519
+ exports2.default = _default;
520
+ });
521
+
522
+ // ../../node_modules/uuid/dist/v35.js
523
+ var require_v35 = __commonJS((exports2) => {
524
+ Object.defineProperty(exports2, "__esModule", {
525
+ value: true
526
+ });
527
+ exports2.default = _default;
528
+ exports2.URL = exports2.DNS = undefined;
529
+ var _bytesToUuid = _interopRequireDefault(require_bytesToUuid());
530
+ function _interopRequireDefault(obj) {
531
+ return obj && obj.__esModule ? obj : { default: obj };
532
+ }
533
+ function uuidToBytes(uuid) {
534
+ var bytes = [];
535
+ uuid.replace(/[a-fA-F0-9]{2}/g, function(hex) {
536
+ bytes.push(parseInt(hex, 16));
537
+ });
538
+ return bytes;
539
+ }
540
+ function stringToBytes(str) {
541
+ str = unescape(encodeURIComponent(str));
542
+ var bytes = new Array(str.length);
543
+ for (var i = 0;i < str.length; i++) {
544
+ bytes[i] = str.charCodeAt(i);
545
+ }
546
+ return bytes;
547
+ }
548
+ var DNS = "6ba7b810-9dad-11d1-80b4-00c04fd430c8";
549
+ exports2.DNS = DNS;
550
+ var URL = "6ba7b811-9dad-11d1-80b4-00c04fd430c8";
551
+ exports2.URL = URL;
552
+ function _default(name, version, hashfunc) {
553
+ var generateUUID = function(value, namespace, buf, offset) {
554
+ var off = buf && offset || 0;
555
+ if (typeof value == "string")
556
+ value = stringToBytes(value);
557
+ if (typeof namespace == "string")
558
+ namespace = uuidToBytes(namespace);
559
+ if (!Array.isArray(value))
560
+ throw TypeError("value must be an array of bytes");
561
+ if (!Array.isArray(namespace) || namespace.length !== 16)
562
+ throw TypeError("namespace must be uuid string or an Array of 16 byte values");
563
+ var bytes = hashfunc(namespace.concat(value));
564
+ bytes[6] = bytes[6] & 15 | version;
565
+ bytes[8] = bytes[8] & 63 | 128;
566
+ if (buf) {
567
+ for (var idx = 0;idx < 16; ++idx) {
568
+ buf[off + idx] = bytes[idx];
569
+ }
570
+ }
571
+ return buf || (0, _bytesToUuid.default)(bytes);
572
+ };
573
+ try {
574
+ generateUUID.name = name;
575
+ } catch (err) {
576
+ }
577
+ generateUUID.DNS = DNS;
578
+ generateUUID.URL = URL;
579
+ return generateUUID;
580
+ }
581
+ });
582
+
583
+ // ../../node_modules/uuid/dist/md5.js
584
+ var require_md5 = __commonJS((exports2) => {
585
+ Object.defineProperty(exports2, "__esModule", {
586
+ value: true
587
+ });
588
+ exports2.default = undefined;
589
+ var _crypto = _interopRequireDefault(require("crypto"));
590
+ function _interopRequireDefault(obj) {
591
+ return obj && obj.__esModule ? obj : { default: obj };
592
+ }
593
+ function md5(bytes) {
594
+ if (Array.isArray(bytes)) {
595
+ bytes = Buffer.from(bytes);
596
+ } else if (typeof bytes === "string") {
597
+ bytes = Buffer.from(bytes, "utf8");
598
+ }
599
+ return _crypto.default.createHash("md5").update(bytes).digest();
600
+ }
601
+ var _default = md5;
602
+ exports2.default = _default;
603
+ });
604
+
605
+ // ../../node_modules/uuid/dist/v3.js
606
+ var require_v3 = __commonJS((exports2) => {
607
+ Object.defineProperty(exports2, "__esModule", {
608
+ value: true
609
+ });
610
+ exports2.default = undefined;
611
+ var _v = _interopRequireDefault(require_v35());
612
+ var _md = _interopRequireDefault(require_md5());
613
+ function _interopRequireDefault(obj) {
614
+ return obj && obj.__esModule ? obj : { default: obj };
615
+ }
616
+ var v3 = (0, _v.default)("v3", 48, _md.default);
617
+ var _default = v3;
618
+ exports2.default = _default;
619
+ });
620
+
621
+ // ../../node_modules/uuid/dist/v4.js
622
+ var require_v4 = __commonJS((exports2) => {
623
+ Object.defineProperty(exports2, "__esModule", {
624
+ value: true
625
+ });
626
+ exports2.default = undefined;
627
+ var _rng = _interopRequireDefault(require_rng());
628
+ var _bytesToUuid = _interopRequireDefault(require_bytesToUuid());
629
+ function _interopRequireDefault(obj) {
630
+ return obj && obj.__esModule ? obj : { default: obj };
631
+ }
632
+ function v4(options, buf, offset) {
633
+ var i = buf && offset || 0;
634
+ if (typeof options == "string") {
635
+ buf = options === "binary" ? new Array(16) : null;
636
+ options = null;
637
+ }
638
+ options = options || {};
639
+ var rnds = options.random || (options.rng || _rng.default)();
640
+ rnds[6] = rnds[6] & 15 | 64;
641
+ rnds[8] = rnds[8] & 63 | 128;
642
+ if (buf) {
643
+ for (var ii = 0;ii < 16; ++ii) {
644
+ buf[i + ii] = rnds[ii];
645
+ }
646
+ }
647
+ return buf || (0, _bytesToUuid.default)(rnds);
648
+ }
649
+ var _default = v4;
650
+ exports2.default = _default;
651
+ });
652
+
653
+ // ../../node_modules/uuid/dist/sha1.js
654
+ var require_sha1 = __commonJS((exports2) => {
655
+ Object.defineProperty(exports2, "__esModule", {
656
+ value: true
657
+ });
658
+ exports2.default = undefined;
659
+ var _crypto = _interopRequireDefault(require("crypto"));
660
+ function _interopRequireDefault(obj) {
661
+ return obj && obj.__esModule ? obj : { default: obj };
662
+ }
663
+ function sha1(bytes) {
664
+ if (Array.isArray(bytes)) {
665
+ bytes = Buffer.from(bytes);
666
+ } else if (typeof bytes === "string") {
667
+ bytes = Buffer.from(bytes, "utf8");
668
+ }
669
+ return _crypto.default.createHash("sha1").update(bytes).digest();
670
+ }
671
+ var _default = sha1;
672
+ exports2.default = _default;
673
+ });
674
+
675
+ // ../../node_modules/uuid/dist/v5.js
676
+ var require_v5 = __commonJS((exports2) => {
677
+ Object.defineProperty(exports2, "__esModule", {
678
+ value: true
679
+ });
680
+ exports2.default = undefined;
681
+ var _v = _interopRequireDefault(require_v35());
682
+ var _sha = _interopRequireDefault(require_sha1());
683
+ function _interopRequireDefault(obj) {
684
+ return obj && obj.__esModule ? obj : { default: obj };
685
+ }
686
+ var v5 = (0, _v.default)("v5", 80, _sha.default);
687
+ var _default = v5;
688
+ exports2.default = _default;
689
+ });
690
+
691
+ // ../../node_modules/uuid/dist/index.js
692
+ var require_dist = __commonJS((exports2) => {
693
+ Object.defineProperty(exports2, "__esModule", {
694
+ value: true
695
+ });
696
+ Object.defineProperty(exports2, "v1", {
697
+ enumerable: true,
698
+ get: function() {
699
+ return _v.default;
700
+ }
701
+ });
702
+ Object.defineProperty(exports2, "v3", {
703
+ enumerable: true,
704
+ get: function() {
705
+ return _v2.default;
706
+ }
707
+ });
708
+ Object.defineProperty(exports2, "v4", {
709
+ enumerable: true,
710
+ get: function() {
711
+ return _v3.default;
712
+ }
713
+ });
714
+ Object.defineProperty(exports2, "v5", {
715
+ enumerable: true,
716
+ get: function() {
717
+ return _v4.default;
718
+ }
719
+ });
720
+ var _v = _interopRequireDefault(require_v1());
721
+ var _v2 = _interopRequireDefault(require_v3());
722
+ var _v3 = _interopRequireDefault(require_v4());
723
+ var _v4 = _interopRequireDefault(require_v5());
724
+ function _interopRequireDefault(obj) {
725
+ return obj && obj.__esModule ? obj : { default: obj };
726
+ }
727
+ });
728
+
729
+ // src/index.ts
730
+ var exports_src = {};
731
+ __export(exports_src, {
732
+ sleep: () => sleep_default,
733
+ shortenMongoId: () => shortenMongoId,
734
+ removeAccentsOnly: () => removeAccentsOnly,
735
+ removeAccentsAndTrim: () => removeAccentsAndTrim,
736
+ normalizeForSearchToken: () => normalizeForSearchToken,
737
+ normalizeForSearch: () => normalizeForSearch,
738
+ normalizeForFileKey: () => normalizeForFileKey,
739
+ normalizeForCompactSearch: () => normalizeForCompactSearch,
740
+ isUserError: () => isUserError,
741
+ isPermissionsError: () => isPermissionsError,
742
+ isOrionError: () => isOrionError,
743
+ hashObject: () => hashObject_default,
744
+ getSearchTokens: () => getSearchTokens,
745
+ getSearchQueryForTokens: () => getSearchQueryForTokens,
746
+ generateUUIDWithPrefix: () => generateUUIDWithPrefix,
747
+ generateUUID: () => generateUUID,
748
+ generateId: () => generateId,
749
+ executeWithRetries: () => executeWithRetries,
750
+ createMapArray: () => createMapArray,
751
+ createMap: () => createMap,
752
+ composeMiddlewares: () => composeMiddlewares,
753
+ UserError: () => UserError,
754
+ PermissionsError: () => PermissionsError,
755
+ OrionError: () => OrionError
756
+ });
757
+ module.exports = __toCommonJS(exports_src);
758
+
759
+ // src/sleep.ts
760
+ var sleep_default = (time) => {
761
+ return new Promise((resolve) => setTimeout(resolve, time));
762
+ };
763
+
764
+ // src/hashObject.ts
765
+ var import_object_hash = __toESM(require_object_hash());
766
+ function hashObject_default(object) {
767
+ return import_object_hash.default(object);
768
+ }
769
+
770
+ // src/generateId.ts
771
+ var import_crypto = __toESM(require("crypto"));
772
+ var UNMISTAKABLE_CHARS = "23456789ABCDEFGHJKLMNPQRSTWXYZabcdefghjkmnopqrstuvwxyz";
773
+ var hexString = function(digits) {
774
+ var numBytes = Math.ceil(digits / 2);
775
+ var bytes;
776
+ try {
777
+ bytes = import_crypto.default.randomBytes(numBytes);
778
+ } catch (e) {
779
+ bytes = import_crypto.default.pseudoRandomBytes(numBytes);
780
+ }
781
+ var result = bytes.toString("hex");
782
+ return result.substring(0, digits);
783
+ };
784
+ var fraction = function() {
785
+ var numerator = parseInt(hexString(8), 16);
786
+ return numerator * 0.00000000023283064365386963;
787
+ };
788
+ var choice = function(arrayOrString) {
789
+ var index = Math.floor(fraction() * arrayOrString.length);
790
+ if (typeof arrayOrString === "string")
791
+ return arrayOrString.substr(index, 1);
792
+ else
793
+ return arrayOrString[index];
794
+ };
795
+ var randomString = function(charsCount, alphabet) {
796
+ var digits = [];
797
+ for (var i = 0;i < charsCount; i++) {
798
+ digits[i] = choice(alphabet);
799
+ }
800
+ return digits.join("");
801
+ };
802
+ function generateId(charsCount, chars = UNMISTAKABLE_CHARS) {
803
+ if (!charsCount) {
804
+ charsCount = 17;
805
+ }
806
+ return randomString(charsCount, chars);
807
+ }
808
+
809
+ // src/createMap.ts
810
+ function createMap(array, key = "_id") {
811
+ const map = {};
812
+ for (const item of array) {
813
+ map[item[key]] = item;
814
+ }
815
+ return map;
816
+ }
817
+
818
+ // src/createMapArray.ts
819
+ function createMapArray(array, key = "_id") {
820
+ const map = {};
821
+ for (const item of array) {
822
+ map[item[key]] = map[item[key]] || [];
823
+ map[item[key]].push(item);
824
+ }
825
+ return map;
826
+ }
827
+
828
+ // src/Errors/OrionError.ts
829
+ class OrionError extends Error {
830
+ isOrionError = true;
831
+ isUserError;
832
+ isPermissionsError;
833
+ code;
834
+ extra;
835
+ getInfo;
836
+ }
837
+
838
+ // src/Errors/PermissionsError.ts
839
+ class PermissionsError extends OrionError {
840
+ constructor(permissionErrorType, extra = {}) {
841
+ const message = extra.message || `Client is not allowed to perform this action [${permissionErrorType}]`;
842
+ super(message);
843
+ Error.captureStackTrace(this, this.constructor);
844
+ this.isOrionError = true;
845
+ this.isPermissionsError = true;
846
+ this.code = "PermissionsError";
847
+ this.extra = extra;
848
+ this.getInfo = () => {
849
+ return {
850
+ ...extra,
851
+ error: "PermissionsError",
852
+ message,
853
+ type: permissionErrorType
854
+ };
855
+ };
856
+ }
857
+ }
858
+
859
+ // src/Errors/UserError.ts
860
+ class UserError extends OrionError {
861
+ constructor(code, message, extra) {
862
+ if (!message && code) {
863
+ message = code;
864
+ code = "error";
865
+ }
866
+ super(message);
867
+ Error.captureStackTrace(this, this.constructor);
868
+ this.isOrionError = true;
869
+ this.isUserError = true;
870
+ this.code = code;
871
+ this.extra = extra;
872
+ this.getInfo = () => {
873
+ return {
874
+ error: code,
875
+ message,
876
+ extra
877
+ };
878
+ };
879
+ }
880
+ }
881
+
882
+ // src/Errors/index.ts
883
+ function isOrionError(error) {
884
+ return Boolean(error && typeof error === "object" && error.isOrionError === true);
885
+ }
886
+ function isUserError(error) {
887
+ return Boolean(error && typeof error === "object" && error.isOrionError === true && error.isUserError === true);
888
+ }
889
+ function isPermissionsError(error) {
890
+ return Boolean(error && typeof error === "object" && error.isOrionError === true && error.isPermissionsError === true);
891
+ }
892
+
893
+ // src/composeMiddlewares.ts
894
+ function composeMiddlewares(middleware) {
895
+ if (!Array.isArray(middleware))
896
+ throw new TypeError("Middleware stack must be an array!");
897
+ for (const fn of middleware) {
898
+ if (typeof fn !== "function")
899
+ throw new TypeError("Middleware must be composed of functions!");
900
+ }
901
+ return function(context, next) {
902
+ let index = -1;
903
+ return dispatch(0);
904
+ function dispatch(i) {
905
+ if (i <= index)
906
+ return Promise.reject(new Error("next() called multiple times"));
907
+ index = i;
908
+ let fn = middleware[i];
909
+ if (i === middleware.length)
910
+ fn = next;
911
+ if (!fn)
912
+ return Promise.resolve();
913
+ try {
914
+ return Promise.resolve(fn(context, dispatch.bind(null, i + 1)));
915
+ } catch (err) {
916
+ return Promise.reject(err);
917
+ }
918
+ }
919
+ };
920
+ }
921
+ // src/retries.ts
922
+ function executeWithRetries(fn, retries, timeout) {
923
+ return new Promise((resolve, reject) => {
924
+ const retry = async (retries2) => {
925
+ try {
926
+ const result = await fn();
927
+ resolve(result);
928
+ } catch (error) {
929
+ if (retries2 > 0) {
930
+ setTimeout(() => retry(retries2 - 1), timeout);
931
+ } else {
932
+ reject(error);
933
+ }
934
+ }
935
+ };
936
+ retry(retries);
937
+ });
938
+ }
939
+ // ../../node_modules/uuid/wrapper.mjs
940
+ var import_dist = __toESM(require_dist());
941
+ var v1 = import_dist.default.v1;
942
+ var v3 = import_dist.default.v3;
943
+ var v4 = import_dist.default.v4;
944
+ var v5 = import_dist.default.v5;
945
+
946
+ // src/generateUUID.ts
947
+ function generateUUID() {
948
+ return v4();
949
+ }
950
+ function generateUUIDWithPrefix(prefix) {
951
+ return `${prefix}-${generateUUID()}`;
952
+ }
953
+ // src/normalize.ts
954
+ function removeAccentsOnly(text) {
955
+ if (!text)
956
+ return "";
957
+ return text.normalize("NFD").replace(/[\u0300-\u036f]/g, "");
958
+ }
959
+ function removeAccentsAndTrim(text) {
960
+ if (!text)
961
+ return "";
962
+ return removeAccentsOnly(text).trim();
963
+ }
964
+ function normalizeForSearch(text) {
965
+ if (!text)
966
+ return "";
967
+ return removeAccentsAndTrim(text).toLowerCase();
968
+ }
969
+ function normalizeForCompactSearch(text) {
970
+ if (!text)
971
+ return "";
972
+ return normalizeForSearch(text).replace(/\s/g, "");
973
+ }
974
+ function normalizeForSearchToken(text) {
975
+ if (!text)
976
+ return "";
977
+ return normalizeForSearch(text).replace(/[^0-9a-z]/gi, " ");
978
+ }
979
+ function normalizeForFileKey(text) {
980
+ if (!text)
981
+ return "";
982
+ return removeAccentsOnly(text).replace(/[^a-zA-Z0-9-._]/g, "-").replace(/-+/g, "-").trim().replace(/^-+|-+$/g, "");
983
+ }
984
+ // src/searchTokens.ts
985
+ function getSearchTokens(text, meta) {
986
+ const stringArray = Array.isArray(text) ? text : [text];
987
+ const tokens = stringArray.filter(Boolean).map((text2) => String(text2)).flatMap((word) => {
988
+ return normalizeForSearchToken(word).split(" ").filter(Boolean);
989
+ });
990
+ if (meta) {
991
+ for (const key in meta) {
992
+ tokens.push(`_${key}:${meta[key]}`);
993
+ }
994
+ }
995
+ return tokens;
996
+ }
997
+ function getSearchQueryForTokens(params = {}, _options = {}) {
998
+ const searchTokens = [];
999
+ if (params.filter) {
1000
+ const filterTokens = getSearchTokens(params.filter).map((token) => new RegExp(`^${token}`));
1001
+ searchTokens.push(...filterTokens);
1002
+ }
1003
+ for (const key in params) {
1004
+ if (key === "filter")
1005
+ continue;
1006
+ if (!params[key])
1007
+ continue;
1008
+ searchTokens.push(`_${key}:${params[key]}`);
1009
+ }
1010
+ return { $all: searchTokens };
1011
+ }
1012
+ // src/shortenMongoId.ts
1013
+ function lastOfString(string, last) {
1014
+ return string.substring(string.length - last, string.length);
1015
+ }
1016
+ function shortenMongoId(string) {
1017
+ return lastOfString(string, 5).toUpperCase();
1018
+ }