@conduit-client/utils 5.67.0-dev1

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 (39) hide show
  1. package/README.md +12 -0
  2. package/dist/index.js +649 -0
  3. package/dist/index.js.map +1 -0
  4. package/dist/types/__tests__/bfs.spec.d.ts +1 -0
  5. package/dist/types/__tests__/command-decorators.spec.d.ts +1 -0
  6. package/dist/types/__tests__/deep-freeze.spec.d.ts +1 -0
  7. package/dist/types/__tests__/error-handling.spec.d.ts +1 -0
  8. package/dist/types/__tests__/file-parser-logger.spec.d.ts +1 -0
  9. package/dist/types/__tests__/include-exclude.spec.d.ts +1 -0
  10. package/dist/types/__tests__/logger.spec.d.ts +1 -0
  11. package/dist/types/__tests__/promises.spec.d.ts +1 -0
  12. package/dist/types/__tests__/query-params.spec.d.ts +1 -0
  13. package/dist/types/__tests__/result.spec.d.ts +1 -0
  14. package/dist/types/__tests__/set.spec.d.ts +1 -0
  15. package/dist/types/__tests__/string.spec.d.ts +1 -0
  16. package/dist/types/__tests__/subscribable.spec.d.ts +1 -0
  17. package/dist/types/__tests__/utils.spec.d.ts +1 -0
  18. package/dist/types/__tests__/version.spec.d.ts +1 -0
  19. package/dist/types/bfs.d.ts +1 -0
  20. package/dist/types/command-decorators.d.ts +34 -0
  21. package/dist/types/deep-freeze.d.ts +1 -0
  22. package/dist/types/error-handling.d.ts +35 -0
  23. package/dist/types/errors.d.ts +20 -0
  24. package/dist/types/file-parser-logger.d.ts +26 -0
  25. package/dist/types/include-exclude.d.ts +13 -0
  26. package/dist/types/index.d.ts +19 -0
  27. package/dist/types/language.d.ts +27 -0
  28. package/dist/types/logger.d.ts +46 -0
  29. package/dist/types/promises.d.ts +39 -0
  30. package/dist/types/query-params.d.ts +1 -0
  31. package/dist/types/result.d.ts +64 -0
  32. package/dist/types/service.d.ts +22 -0
  33. package/dist/types/set.d.ts +3 -0
  34. package/dist/types/string.d.ts +16 -0
  35. package/dist/types/subscribable.d.ts +30 -0
  36. package/dist/types/utility-types.d.ts +71 -0
  37. package/dist/types/utils.d.ts +42 -0
  38. package/dist/types/version.d.ts +17 -0
  39. package/package.json +34 -0
package/README.md ADDED
@@ -0,0 +1,12 @@
1
+ # Utilities
2
+
3
+ This package contains common utilities that are used in other packages.
4
+ Unlike base commands and services, the utilities here are **not** versioned and
5
+ **must** remain backwards-compatible.
6
+
7
+ Other packages should not have runtime imports of anything from this package.
8
+ TypeScript compile-time constructs like types & enums should not cause any issues.
9
+ Imports of runtime constructs like functions or classes should be resolved by
10
+ statically bundling this package with the consuming package(s). This will
11
+ typically be done as part of the runtime build. Bundling earlier in the build
12
+ process can result in duplicate copies of utility code.
package/dist/index.js ADDED
@@ -0,0 +1,649 @@
1
+ /*!
2
+ * Copyright (c) 2022, Salesforce, Inc.,
3
+ * All rights reserved.
4
+ * For full license text, see the LICENSE.txt file
5
+ */
6
+ function bfs(start, predicate, getChildren) {
7
+ const queue = [...start];
8
+ const visited = /* @__PURE__ */ new Set([...start]);
9
+ const matches2 = /* @__PURE__ */ new Set();
10
+ while (queue.length) {
11
+ const curr = queue.shift();
12
+ if (predicate(curr)) {
13
+ matches2.add(curr);
14
+ }
15
+ const children = getChildren(curr);
16
+ for (const child of children) {
17
+ if (!visited.has(child)) {
18
+ visited.add(child);
19
+ queue.push(child);
20
+ }
21
+ }
22
+ }
23
+ return matches2;
24
+ }
25
+ function lineFormatter(position, message, filePath) {
26
+ return `${message} (${filePath}:${position.line}:${position.column})`;
27
+ }
28
+ class DefaultFileParserLogger {
29
+ constructor(services, filePath) {
30
+ this.services = services;
31
+ this.filePath = filePath;
32
+ }
33
+ trace(position, message) {
34
+ this.services.logger.trace(this.format(position, message));
35
+ }
36
+ debug(position, message) {
37
+ this.services.logger.debug(this.format(position, message));
38
+ }
39
+ info(position, message) {
40
+ this.services.logger.info(this.format(position, message));
41
+ }
42
+ warn(position, message) {
43
+ this.services.logger.warn(this.format(position, message));
44
+ }
45
+ error(position, message) {
46
+ this.services.logger.error(this.format(position, message));
47
+ }
48
+ format(position, message) {
49
+ return lineFormatter(position, message, this.filePath);
50
+ }
51
+ }
52
+ function matches(test, s) {
53
+ if (test === void 0) {
54
+ return false;
55
+ } else if (typeof test === "string") {
56
+ return s === test;
57
+ } else if (test instanceof RegExp) {
58
+ return test.test(s);
59
+ } else if (typeof test === "function") {
60
+ return test(s);
61
+ }
62
+ return test.some((m) => matches(m, s));
63
+ }
64
+ function includes(incexc, s) {
65
+ if (matches(incexc.exclude, s)) {
66
+ return false;
67
+ }
68
+ if (matches(incexc.include, s)) {
69
+ return true;
70
+ }
71
+ if (incexc.include) {
72
+ return false;
73
+ }
74
+ return true;
75
+ }
76
+ const { create, freeze, keys, entries } = Object;
77
+ const { hasOwnProperty } = Object.prototype;
78
+ const { isArray } = Array;
79
+ const { push, indexOf, slice } = Array.prototype;
80
+ const { stringify, parse } = JSON;
81
+ const WeakSetConstructor = WeakSet;
82
+ const LogLevelMap = {
83
+ TRACE: 4,
84
+ DEBUG: 3,
85
+ INFO: 2,
86
+ WARN: 1,
87
+ ERROR: 0
88
+ };
89
+ class ConsoleLogger {
90
+ constructor(level = "WARN", printer = console.log, formatter = (level2, message) => `${level2}: ${message}`) {
91
+ this.level = level;
92
+ this.printer = printer;
93
+ this.formatter = formatter;
94
+ this.messages = [];
95
+ }
96
+ trace(message) {
97
+ this.log("TRACE", message);
98
+ }
99
+ debug(message) {
100
+ this.log("DEBUG", message);
101
+ }
102
+ info(message) {
103
+ this.log("INFO", message);
104
+ }
105
+ warn(message) {
106
+ this.log("WARN", message);
107
+ }
108
+ error(message) {
109
+ this.log("ERROR", message);
110
+ }
111
+ log(level, message) {
112
+ if (LogLevelMap[level] > LogLevelMap[this.level]) {
113
+ return;
114
+ }
115
+ this.printer(this.formatter(level, message));
116
+ }
117
+ }
118
+ function loggerService(level, printer, formatter) {
119
+ return new ConsoleLogger(level, printer, formatter);
120
+ }
121
+ class Ok {
122
+ constructor(value) {
123
+ this.value = value;
124
+ }
125
+ isOk() {
126
+ return true;
127
+ }
128
+ isErr() {
129
+ return !this.isOk();
130
+ }
131
+ }
132
+ class Err {
133
+ constructor(error) {
134
+ this.error = error;
135
+ }
136
+ isOk() {
137
+ return false;
138
+ }
139
+ isErr() {
140
+ return !this.isOk();
141
+ }
142
+ }
143
+ const ok = (value) => new Ok(value);
144
+ const err = (err2) => new Err(err2);
145
+ class DataNotFoundError extends Error {
146
+ constructor(message) {
147
+ super(message);
148
+ this.name = "DataNotFoundError";
149
+ }
150
+ }
151
+ class DataIncompleteError extends Error {
152
+ constructor(message, partialData) {
153
+ super(message);
154
+ this.partialData = partialData;
155
+ this.name = "DataIncompleteError";
156
+ }
157
+ }
158
+ function isDataNotFoundError(error) {
159
+ return error instanceof DataNotFoundError || error.name === "DataNotFoundError";
160
+ }
161
+ function isDataIncompleteError(error) {
162
+ return error instanceof DataIncompleteError || error.name === "DataIncompleteError";
163
+ }
164
+ function isCacheHitOrError(value) {
165
+ if (value.isErr() && (isDataIncompleteError(value.error) || isDataNotFoundError(value.error))) {
166
+ return false;
167
+ }
168
+ return true;
169
+ }
170
+ function isCacheMiss(value) {
171
+ return !isCacheHitOrError(value);
172
+ }
173
+ function isResult(value) {
174
+ return value != null && typeof value === "object" && "isOk" in value && "isErr" in value && typeof value.isOk === "function" && typeof value.isErr === "function" && (value.isOk() === true && value.isErr() === false && "value" in value || value.isOk() === false && value.isErr() === true && "error" in value);
175
+ }
176
+ function setOverlaps(setA, setB) {
177
+ for (const element of setA) {
178
+ if (setB.has(element)) {
179
+ return true;
180
+ }
181
+ }
182
+ return false;
183
+ }
184
+ function setDifference(setA, setB) {
185
+ const differenceSet = /* @__PURE__ */ new Set();
186
+ for (const element of setA) {
187
+ if (!setB.has(element)) {
188
+ differenceSet.add(element);
189
+ }
190
+ }
191
+ return differenceSet;
192
+ }
193
+ function addAllToSet(targetSet, sourceSet) {
194
+ for (const element of sourceSet) {
195
+ targetSet.add(element);
196
+ }
197
+ }
198
+ const toTypeScriptSafeIdentifier = (s) => s.length >= 1 ? s[0].replace(/[^$_\p{ID_Start}]/u, "_") + s.slice(1).replace(/[^$\u200c\u200d\p{ID_Continue}]/gu, "_") : "";
199
+ function isSubscribable(obj) {
200
+ return typeof obj === "object" && obj !== null && "subscribe" in obj && typeof obj.subscribe === "function" && "refresh" in obj && typeof obj.refresh === "function";
201
+ }
202
+ function isSubscribableResult(x) {
203
+ if (!isResult(x)) {
204
+ return false;
205
+ }
206
+ return isSubscribable(x.isOk() ? x.value : x.error);
207
+ }
208
+ function buildSubscribableResult(result, subscribe, refresh) {
209
+ if (result.isOk()) {
210
+ return ok({ data: result.value, subscribe, refresh });
211
+ } else {
212
+ return err({ failure: result.error, subscribe, refresh });
213
+ }
214
+ }
215
+ function resolvedPromiseLike(result) {
216
+ if (isPromiseLike(result)) {
217
+ return result.then((nextResult) => nextResult);
218
+ }
219
+ return {
220
+ then: (onFulfilled, _onRejected) => {
221
+ try {
222
+ return resolvedPromiseLike(onFulfilled(result));
223
+ } catch (e) {
224
+ if (onFulfilled === void 0) {
225
+ return resolvedPromiseLike(result);
226
+ }
227
+ return rejectedPromiseLike(e);
228
+ }
229
+ }
230
+ };
231
+ }
232
+ function rejectedPromiseLike(reason) {
233
+ if (isPromiseLike(reason)) {
234
+ return reason.then((nextResult) => nextResult);
235
+ }
236
+ return {
237
+ then: (_onFulfilled, onRejected) => {
238
+ if (typeof onRejected === "function") {
239
+ try {
240
+ return resolvedPromiseLike(onRejected(reason));
241
+ } catch (e) {
242
+ return rejectedPromiseLike(e);
243
+ }
244
+ }
245
+ return rejectedPromiseLike(reason);
246
+ }
247
+ };
248
+ }
249
+ function isPromiseLike(x) {
250
+ return typeof (x == null ? void 0 : x.then) === "function";
251
+ }
252
+ function racesync(values) {
253
+ for (const value of values) {
254
+ let settled = void 0;
255
+ if (isPromiseLike(value)) {
256
+ value.then(
257
+ (_) => {
258
+ settled = value;
259
+ },
260
+ (_) => {
261
+ settled = value;
262
+ }
263
+ );
264
+ } else {
265
+ settled = resolvedPromiseLike(value);
266
+ }
267
+ if (settled !== void 0) {
268
+ return settled;
269
+ }
270
+ }
271
+ return Promise.race(values);
272
+ }
273
+ function withResolvers() {
274
+ let resolve, reject;
275
+ const promise = new Promise((res, rej) => {
276
+ resolve = res;
277
+ reject = rej;
278
+ });
279
+ return { promise, resolve, reject };
280
+ }
281
+ function deepEquals(x, y) {
282
+ if (x === void 0) {
283
+ return y === void 0;
284
+ } else if (x === null) {
285
+ return y === null;
286
+ } else if (y === null) {
287
+ return x === null;
288
+ } else if (isArray(x)) {
289
+ if (!isArray(y) || x.length !== y.length) {
290
+ return false;
291
+ }
292
+ for (let i = 0; i < x.length; ++i) {
293
+ if (!deepEquals(x[i], y[i])) {
294
+ return false;
295
+ }
296
+ }
297
+ return true;
298
+ } else if (typeof x === "object") {
299
+ if (typeof y !== "object") {
300
+ return false;
301
+ }
302
+ const xkeys = Object.keys(x);
303
+ const ykeys = Object.keys(y);
304
+ if (xkeys.length !== ykeys.length) {
305
+ return false;
306
+ }
307
+ for (let i = 0; i < xkeys.length; ++i) {
308
+ const key = xkeys[i];
309
+ if (!deepEquals(x[key], y[key])) {
310
+ return false;
311
+ }
312
+ }
313
+ return true;
314
+ }
315
+ return x === y;
316
+ }
317
+ function stableJSONStringify(node) {
318
+ if (node && node.toJSON && typeof node.toJSON === "function") {
319
+ node = node.toJSON();
320
+ }
321
+ if (node === void 0) {
322
+ return;
323
+ }
324
+ if (typeof node === "number") {
325
+ return isFinite(node) ? "" + node : "null";
326
+ }
327
+ if (typeof node !== "object") {
328
+ return stringify(node);
329
+ }
330
+ let i;
331
+ let out;
332
+ if (isArray(node)) {
333
+ out = "[";
334
+ for (i = 0; i < node.length; i++) {
335
+ if (i) {
336
+ out += ",";
337
+ }
338
+ out += stableJSONStringify(node[i]) || "null";
339
+ }
340
+ return out + "]";
341
+ }
342
+ if (node === null) {
343
+ return "null";
344
+ }
345
+ const objKeys = keys(node).sort();
346
+ out = "";
347
+ for (i = 0; i < objKeys.length; i++) {
348
+ const key = objKeys[i];
349
+ const value = stableJSONStringify(node[key]);
350
+ if (!value) {
351
+ continue;
352
+ }
353
+ if (out) {
354
+ out += ",";
355
+ }
356
+ out += stringify(key) + ":" + value;
357
+ }
358
+ return "{" + out + "}";
359
+ }
360
+ function toError(x) {
361
+ if (x instanceof Error) {
362
+ return x;
363
+ }
364
+ return new Error(typeof x === "string" ? x : JSON.stringify(x));
365
+ }
366
+ function deepCopy(x) {
367
+ const stringified = stringify(x);
368
+ return stringified ? parse(stringified) : void 0;
369
+ }
370
+ function readableStreamToAsyncIterable(stream) {
371
+ if (stream.locked) {
372
+ return err(new Error("ReadableStream is already locked"));
373
+ }
374
+ if (Symbol.asyncIterator in stream) {
375
+ return ok(stream);
376
+ }
377
+ const reader = stream.getReader();
378
+ return ok({
379
+ [Symbol.asyncIterator]: () => ({
380
+ next: async () => {
381
+ try {
382
+ const result = await reader.read();
383
+ if (result.done) {
384
+ try {
385
+ reader.releaseLock();
386
+ } catch {
387
+ }
388
+ return { done: true, value: void 0 };
389
+ }
390
+ return {
391
+ done: false,
392
+ value: result.value
393
+ };
394
+ } catch (e) {
395
+ try {
396
+ reader.releaseLock();
397
+ } catch {
398
+ }
399
+ throw e;
400
+ }
401
+ },
402
+ return: async (value) => {
403
+ try {
404
+ await reader.cancel();
405
+ } catch {
406
+ }
407
+ try {
408
+ reader.releaseLock();
409
+ } catch {
410
+ }
411
+ return { done: true, value };
412
+ },
413
+ throw: async (exception) => {
414
+ try {
415
+ await reader.cancel();
416
+ } catch {
417
+ }
418
+ try {
419
+ reader.releaseLock();
420
+ } catch {
421
+ }
422
+ throw exception;
423
+ }
424
+ })
425
+ });
426
+ }
427
+ function satisfies(provided, requested) {
428
+ const providedN = provided.split(".").map((s) => parseInt(s));
429
+ const requestedN = requested.split(".").map((s) => parseInt(s));
430
+ return providedN[0] === requestedN[0] && providedN[1] >= requestedN[1];
431
+ }
432
+ function stringIsVersion(s) {
433
+ const versionParts = s.split(".");
434
+ return (versionParts.length === 2 || versionParts.length === 3) && versionParts.every((part) => part.match(/^\d+$/));
435
+ }
436
+ var HttpStatusCode = /* @__PURE__ */ ((HttpStatusCode2) => {
437
+ HttpStatusCode2[HttpStatusCode2["Ok"] = 200] = "Ok";
438
+ HttpStatusCode2[HttpStatusCode2["Created"] = 201] = "Created";
439
+ HttpStatusCode2[HttpStatusCode2["NoContent"] = 204] = "NoContent";
440
+ HttpStatusCode2[HttpStatusCode2["NotModified"] = 304] = "NotModified";
441
+ HttpStatusCode2[HttpStatusCode2["BadRequest"] = 400] = "BadRequest";
442
+ HttpStatusCode2[HttpStatusCode2["Unauthorized"] = 401] = "Unauthorized";
443
+ HttpStatusCode2[HttpStatusCode2["Forbidden"] = 403] = "Forbidden";
444
+ HttpStatusCode2[HttpStatusCode2["NotFound"] = 404] = "NotFound";
445
+ HttpStatusCode2[HttpStatusCode2["ServerError"] = 500] = "ServerError";
446
+ HttpStatusCode2[HttpStatusCode2["GatewayTimeout"] = 504] = "GatewayTimeout";
447
+ return HttpStatusCode2;
448
+ })(HttpStatusCode || {});
449
+ function getFetchResponseFromAuraError(err2) {
450
+ if (err2.data !== void 0 && err2.data.statusCode !== void 0) {
451
+ let data = {};
452
+ data = err2.data;
453
+ if (err2.id !== void 0) {
454
+ data.id = err2.id;
455
+ }
456
+ return new FetchResponse(data.statusCode, data);
457
+ }
458
+ return new FetchResponse(500, {
459
+ error: err2.message
460
+ });
461
+ }
462
+ async function coerceResponseToFetchResponse(response) {
463
+ const { status } = response;
464
+ const responseHeaders = {};
465
+ response.headers.forEach((value, key) => {
466
+ responseHeaders[key] = value;
467
+ });
468
+ let responseBody = null;
469
+ if (status !== 204) {
470
+ const contentType = responseHeaders["content-type"];
471
+ responseBody = contentType && contentType.startsWith("application/json") ? await response.json() : await response.text();
472
+ }
473
+ return new FetchResponse(status, responseBody, responseHeaders);
474
+ }
475
+ function getStatusText(status) {
476
+ switch (status) {
477
+ case 200:
478
+ return "OK";
479
+ case 201:
480
+ return "Created";
481
+ case 304:
482
+ return "Not Modified";
483
+ case 400:
484
+ return "Bad Request";
485
+ case 404:
486
+ return "Not Found";
487
+ case 500:
488
+ return "Server Error";
489
+ default:
490
+ return `Unexpected HTTP Status Code: ${status}`;
491
+ }
492
+ }
493
+ class FetchResponse extends Error {
494
+ constructor(status, body, headers) {
495
+ super();
496
+ this.status = status;
497
+ this.body = body;
498
+ this.headers = headers || {};
499
+ this.ok = status >= 200 && this.status <= 299;
500
+ this.statusText = getStatusText(status);
501
+ }
502
+ }
503
+ const deeplyFrozen = new WeakSetConstructor();
504
+ function deepFreeze(value) {
505
+ if (typeof value !== "object" || value === null || deeplyFrozen.has(value)) {
506
+ return;
507
+ }
508
+ deeplyFrozen.add(value);
509
+ if (isArray(value)) {
510
+ for (let i = 0, len = value.length; i < len; i += 1) {
511
+ deepFreeze(value[i]);
512
+ }
513
+ } else {
514
+ const keys$1 = keys(value);
515
+ for (let i = 0, len = keys$1.length; i < len; i += 1) {
516
+ deepFreeze(value[keys$1[i]]);
517
+ }
518
+ }
519
+ freeze(value);
520
+ }
521
+ function isScalar(value) {
522
+ return typeof value === "string" || typeof value === "number" || typeof value === "boolean" || value === null || value === void 0;
523
+ }
524
+ function isScalarObject(value) {
525
+ return Object.values(value).every((value2) => isScalar(value2));
526
+ }
527
+ function isScalarArray(value) {
528
+ return value.every((item) => isScalar(item));
529
+ }
530
+ function encodeQueryParam(paramName, value, explode) {
531
+ switch (typeof value) {
532
+ case "string":
533
+ return [`${paramName}=${encodeURIComponent(value)}`];
534
+ case "number":
535
+ case "boolean":
536
+ return [`${paramName}=${value}`];
537
+ case "object":
538
+ if (value === null) {
539
+ return [];
540
+ }
541
+ if (isArray(value)) {
542
+ if (!isScalarArray(value)) {
543
+ throw new Error(`Unsupported non-scalar array type for ${paramName}`);
544
+ }
545
+ if (explode) {
546
+ return value.map(
547
+ (item) => `${paramName}=${item ? encodeURIComponent(item) : item}`
548
+ );
549
+ }
550
+ return [
551
+ `${paramName}=${value.map((item) => item ? encodeURIComponent(item) : item).join(",")}`
552
+ ];
553
+ }
554
+ if (!isScalarObject(value)) {
555
+ throw new Error(`Unsupported non-scalar object type for ${paramName}`);
556
+ }
557
+ if (explode) {
558
+ return entries(value).map(
559
+ ([key, value2]) => `${key}=${value2 ? encodeURIComponent(value2) : value2}`
560
+ );
561
+ }
562
+ return [
563
+ `${paramName}=${entries(value).flat().map((item) => item ? encodeURIComponent(item) : item).join(",")}`
564
+ ];
565
+ default:
566
+ return [];
567
+ }
568
+ }
569
+ class InternalError extends Error {
570
+ constructor(data) {
571
+ super();
572
+ this.data = data;
573
+ this.type = "internal";
574
+ }
575
+ }
576
+ class UserVisibleError extends Error {
577
+ constructor(data) {
578
+ super();
579
+ this.data = data;
580
+ this.type = "user-visible";
581
+ }
582
+ }
583
+ function applyDecorators(baseCommand, decorators, options) {
584
+ if (!decorators || decorators.length === 0) {
585
+ return baseCommand;
586
+ }
587
+ return decorators.reduce((command, decorator) => decorator(command, options), baseCommand);
588
+ }
589
+ export {
590
+ isArray as ArrayIsArray,
591
+ indexOf as ArrayPrototypeIndexOf,
592
+ push as ArrayPrototypePush,
593
+ slice as ArrayPrototypeSlice,
594
+ ConsoleLogger,
595
+ DataIncompleteError,
596
+ DataNotFoundError,
597
+ DefaultFileParserLogger,
598
+ Err,
599
+ FetchResponse,
600
+ HttpStatusCode,
601
+ InternalError,
602
+ parse as JSONParse,
603
+ stringify as JSONStringify,
604
+ LogLevelMap,
605
+ create as ObjectCreate,
606
+ entries as ObjectEntries,
607
+ freeze as ObjectFreeze,
608
+ keys as ObjectKeys,
609
+ hasOwnProperty as ObjectPrototypeHasOwnProperty,
610
+ Ok,
611
+ UserVisibleError,
612
+ WeakSetConstructor,
613
+ addAllToSet,
614
+ applyDecorators,
615
+ bfs,
616
+ buildSubscribableResult,
617
+ coerceResponseToFetchResponse,
618
+ deepCopy,
619
+ deepEquals,
620
+ deepFreeze,
621
+ encodeQueryParam,
622
+ err,
623
+ getFetchResponseFromAuraError,
624
+ includes,
625
+ isCacheHitOrError,
626
+ isCacheMiss,
627
+ isDataIncompleteError,
628
+ isDataNotFoundError,
629
+ isPromiseLike,
630
+ isResult,
631
+ isSubscribable,
632
+ isSubscribableResult,
633
+ lineFormatter,
634
+ loggerService,
635
+ ok,
636
+ racesync,
637
+ readableStreamToAsyncIterable,
638
+ rejectedPromiseLike,
639
+ resolvedPromiseLike,
640
+ satisfies,
641
+ setDifference,
642
+ setOverlaps,
643
+ stableJSONStringify,
644
+ stringIsVersion,
645
+ toError,
646
+ toTypeScriptSafeIdentifier,
647
+ withResolvers
648
+ };
649
+ //# sourceMappingURL=index.js.map