emberflow 2.0.9 → 2.0.11
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/README.md +14 -0
- package/firestore.indexes.json +10 -1
- package/lib/index-utils.d.ts +31 -3
- package/lib/index-utils.js +106 -10
- package/lib/index-utils.js.map +1 -1
- package/lib/tests/index-utils.test.js +155 -12
- package/lib/tests/index-utils.test.js.map +1 -1
- package/lib/tests/utils/distribution.test.js +133 -46
- package/lib/tests/utils/distribution.test.js.map +1 -1
- package/lib/types.d.ts +4 -4
- package/lib/utils/distribution.d.ts +3 -3
- package/lib/utils/distribution.js +36 -25
- package/lib/utils/distribution.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -296,6 +296,14 @@ with its fields (keeping the full locking / progress / path-hydration behaviour)
|
|
|
296
296
|
| `patchType` | yes | `"back-fill"` or `"patch-logics"`. |
|
|
297
297
|
| `backFillPatchName` | for back-fills | The `BackFillPatchConfig` name, e.g. `"ancestor-ids"`. |
|
|
298
298
|
| `appVersion` | for patch-logics | Target `appVersion` for the `"patch-logics"` run. |
|
|
299
|
+
| `resetStatus` | no | When `true` (boolean) or `"true"` (string), all status docs for this `patchType`/`backFillPatchName` are stamped to `"reset"` (clearing `error`/`count`/`lastPatchedId`) **before** the run, so a settled (`completed`/`error`) patch restarts from scratch. |
|
|
300
|
+
|
|
301
|
+
> **Restarting a settled run (`resetStatus`)**: A `"completed"`/`"error"` patch is otherwise treated
|
|
302
|
+
> as done and won't re-run. Setting `resetStatus: true` locates the matching status doc(s) via a
|
|
303
|
+
> field query on `patchType` + `backFillPatchName` and stamps them to `"reset"`, which the normal
|
|
304
|
+
> queueing flow then restarts. All anti-runaway guards (circuit breaker, cursor hard-stop) stay in
|
|
305
|
+
> place. A patch that is still **in flight** (`queued`/`running`/`hydrating`) is never restarted, so
|
|
306
|
+
> a re-trigger cannot spawn an overlapping chain.
|
|
299
307
|
|
|
300
308
|
For example, from the command line:
|
|
301
309
|
|
|
@@ -335,6 +343,12 @@ running against the same collection never clobber each other's status. The statu
|
|
|
335
343
|
`@emberflow/internal/group-patches/<collection>_back-fill_<backFillPatchName>` (or
|
|
336
344
|
`..._patch-logics` for `"patch-logics"` runs).
|
|
337
345
|
|
|
346
|
+
> **Wildcard/placeholder paths are not tracked.** A placeholder path (e.g.
|
|
347
|
+
> `/users/{userId}/feeds`) never patches a document itself — it is only hydrated into concrete
|
|
348
|
+
> collections, each of which gets its own status doc + in-flight guard. Therefore no status doc is
|
|
349
|
+
> created for the placeholder path, and `getGroupPatchProgress` returns `undefined` for it. Query
|
|
350
|
+
> progress on the concrete collection paths (e.g. `/users/user123/feeds`) instead.
|
|
351
|
+
|
|
338
352
|
### Collection Cleanup (`cleanupConfigs`, `CleanupConfig`)
|
|
339
353
|
|
|
340
354
|
Emberflow ships with a single, scheduled `cleanupCollections` Cloud Function that runs **every
|
package/firestore.indexes.json
CHANGED
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
{
|
|
2
|
-
"indexes": [
|
|
2
|
+
"indexes": [
|
|
3
|
+
{
|
|
4
|
+
"collectionGroup": "group-patches",
|
|
5
|
+
"queryScope": "COLLECTION",
|
|
6
|
+
"fields": [
|
|
7
|
+
{ "fieldPath": "patchType", "order": "ASCENDING" },
|
|
8
|
+
{ "fieldPath": "backFillPatchName", "order": "ASCENDING" }
|
|
9
|
+
]
|
|
10
|
+
}
|
|
11
|
+
],
|
|
3
12
|
"fieldOverrides": [
|
|
4
13
|
{
|
|
5
14
|
"collectionGroup": "computations",
|
package/lib/index-utils.d.ts
CHANGED
|
@@ -7,6 +7,14 @@ import QueryDocumentSnapshot = firestore.QueryDocumentSnapshot;
|
|
|
7
7
|
import DocumentData = FirebaseFirestore.DocumentData;
|
|
8
8
|
import Reference = database.Reference;
|
|
9
9
|
import Transaction = firestore.Transaction;
|
|
10
|
+
/**
|
|
11
|
+
* Maximum number of times a single group-patch chain is allowed to reschedule
|
|
12
|
+
* itself before the circuit breaker aborts it. This is a defense-in-depth
|
|
13
|
+
* backstop against a runaway backfill: normal completion happens when a page
|
|
14
|
+
* comes back empty, and a non-advancing cursor is caught separately, so this
|
|
15
|
+
* cap only trips on genuinely pathological, never-completing loops.
|
|
16
|
+
*/
|
|
17
|
+
export declare const MAX_GROUP_PATCH_ITERATIONS = 100000;
|
|
10
18
|
export declare const _mockable: {
|
|
11
19
|
getViewLogicConfigs: () => import("./types").ViewLogicConfig[];
|
|
12
20
|
getPatchLogicConfigs: () => import("./types").PatchLogicConfig[];
|
|
@@ -14,6 +22,7 @@ export declare const _mockable: {
|
|
|
14
22
|
createNowTimestamp: () => firestore.Timestamp;
|
|
15
23
|
saveMetricExecution: typeof saveMetricExecution;
|
|
16
24
|
getBatchUtil: () => BatchUtil;
|
|
25
|
+
getMaxGroupPatchIterations: () => number;
|
|
17
26
|
};
|
|
18
27
|
export declare function distributeDoc(logicResultDoc: LogicResultDoc, appVersion: string, batch?: BatchUtil, txn?: Transaction): Promise<void>;
|
|
19
28
|
export declare function distributeFnNonTransactional(docsByDstPath: Map<string, LogicResultDoc[]>, appVersion: string, skipReturn?: boolean): Promise<LogicResultDoc[]>;
|
|
@@ -31,6 +40,24 @@ export declare const expandConsolidateAndGroupByDstPath: (logicDocs: LogicResult
|
|
|
31
40
|
export declare function onDeleteFunction(event: FirestoreEvent<QueryDocumentSnapshot | undefined, {
|
|
32
41
|
deleteFuncId: string;
|
|
33
42
|
}>): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* The flat internal collection that stores one status doc per
|
|
45
|
+
* (collectionPath, patchType, backFillPatchName) group-patch run.
|
|
46
|
+
*/
|
|
47
|
+
export declare const GROUP_PATCHES_COLLECTION = "@emberflow/internal/group-patches";
|
|
48
|
+
/**
|
|
49
|
+
* Operator-driven restart. Locates every group-patch status doc for the given
|
|
50
|
+
* `patchType` + `backFillPatchName` (via a field query -- no doc-id parsing) and
|
|
51
|
+
* stamps them to "reset", clearing the previous error/count/cursor. The normal
|
|
52
|
+
* (no-force) `queueGroupPatch` flow then restarts each matching collection from
|
|
53
|
+
* scratch, while every anti-runaway guard (circuit breaker, cursor hard-stop)
|
|
54
|
+
* stays intact.
|
|
55
|
+
*
|
|
56
|
+
* @param {GroupPatchType} patchType The patch type to match (`"back-fill"` or `"patch-logics"`).
|
|
57
|
+
* @param {string} [backFillPatchName] The back-fill patch name to match (matched against `null` when omitted).
|
|
58
|
+
* @return {Promise<number>} The number of status docs that were reset.
|
|
59
|
+
*/
|
|
60
|
+
export declare function resetGroupPatchStatuses(patchType: GroupPatchType, backFillPatchName?: string): Promise<number>;
|
|
34
61
|
export declare function onGroupPatchRequest(event: FirestoreEvent<QueryDocumentSnapshot | undefined, {
|
|
35
62
|
requestId: string;
|
|
36
63
|
}>): Promise<void>;
|
|
@@ -52,10 +79,11 @@ export interface PatchGroupDocsParams {
|
|
|
52
79
|
appVersion?: string;
|
|
53
80
|
lastPatchedId?: string;
|
|
54
81
|
/**
|
|
55
|
-
*
|
|
56
|
-
*
|
|
82
|
+
* How many times this patch chain has already rescheduled itself. The engine
|
|
83
|
+
* increments it on every reschedule and trips a circuit breaker once it
|
|
84
|
+
* reaches {@link MAX_GROUP_PATCH_ITERATIONS}, aborting a runaway backfill.
|
|
57
85
|
*/
|
|
58
|
-
|
|
86
|
+
iteration?: number;
|
|
59
87
|
}
|
|
60
88
|
/**
|
|
61
89
|
* Internal engine logic for patching a collection page-by-page. Exported for background worker.
|
package/lib/index-utils.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.patchGroupDocs = exports.ancestorIdsPatchConfig = exports.distributeFnTransactional = exports.createMetricComputation = exports.convertLogicResultsToMetricExecutions = exports.createMetricLogicDoc = exports.onGroupPatchRequest = exports.onDeleteFunction = exports.expandConsolidateAndGroupByDstPath = exports.getSecurityFn = exports.groupDocsByTargetDocPath = exports.runBusinessLogics = exports.delayFormSubmissionAndCheckIfCancelled = exports.getFormModifiedFields = exports.validateForm = exports.distributeLater = exports.distributeFnNonTransactional = exports.distributeDoc = exports._mockable = void 0;
|
|
3
|
+
exports.patchGroupDocs = exports.ancestorIdsPatchConfig = exports.distributeFnTransactional = exports.createMetricComputation = exports.convertLogicResultsToMetricExecutions = exports.createMetricLogicDoc = exports.onGroupPatchRequest = exports.resetGroupPatchStatuses = exports.GROUP_PATCHES_COLLECTION = exports.onDeleteFunction = exports.expandConsolidateAndGroupByDstPath = exports.getSecurityFn = exports.groupDocsByTargetDocPath = exports.runBusinessLogics = exports.delayFormSubmissionAndCheckIfCancelled = exports.getFormModifiedFields = exports.validateForm = exports.distributeLater = exports.distributeFnNonTransactional = exports.distributeDoc = exports._mockable = exports.MAX_GROUP_PATCH_ITERATIONS = void 0;
|
|
4
4
|
const firebase_admin_1 = require("firebase-admin");
|
|
5
5
|
const index_1 = require("./index");
|
|
6
6
|
const paths_1 = require("./utils/paths");
|
|
@@ -12,6 +12,14 @@ const distribution_1 = require("./utils/distribution");
|
|
|
12
12
|
const patch_logics_1 = require("./logics/patch-logics");
|
|
13
13
|
var FieldValue = firebase_admin_1.firestore.FieldValue;
|
|
14
14
|
var Timestamp = firebase_admin_1.firestore.Timestamp;
|
|
15
|
+
/**
|
|
16
|
+
* Maximum number of times a single group-patch chain is allowed to reschedule
|
|
17
|
+
* itself before the circuit breaker aborts it. This is a defense-in-depth
|
|
18
|
+
* backstop against a runaway backfill: normal completion happens when a page
|
|
19
|
+
* comes back empty, and a non-advancing cursor is caught separately, so this
|
|
20
|
+
* cap only trips on genuinely pathological, never-completing loops.
|
|
21
|
+
*/
|
|
22
|
+
exports.MAX_GROUP_PATCH_ITERATIONS = 100000;
|
|
15
23
|
exports._mockable = {
|
|
16
24
|
getViewLogicConfigs: () => index_1.viewLogicConfigs,
|
|
17
25
|
getPatchLogicConfigs: () => index_1.patchLogicConfigs,
|
|
@@ -19,6 +27,7 @@ exports._mockable = {
|
|
|
19
27
|
createNowTimestamp: () => index_1.admin.firestore.Timestamp.now(),
|
|
20
28
|
saveMetricExecution: saveMetricExecution,
|
|
21
29
|
getBatchUtil: () => batch_1.BatchUtil.create(),
|
|
30
|
+
getMaxGroupPatchIterations: () => exports.MAX_GROUP_PATCH_ITERATIONS,
|
|
22
31
|
};
|
|
23
32
|
async function distributeDoc(logicResultDoc, appVersion, batch, txn) {
|
|
24
33
|
async function _delete(dstDocRef) {
|
|
@@ -427,13 +436,54 @@ async function onDeleteFunction(event) {
|
|
|
427
436
|
return deleteFunction(index_1.projectConfig.projectId, name);
|
|
428
437
|
}
|
|
429
438
|
exports.onDeleteFunction = onDeleteFunction;
|
|
439
|
+
/**
|
|
440
|
+
* The flat internal collection that stores one status doc per
|
|
441
|
+
* (collectionPath, patchType, backFillPatchName) group-patch run.
|
|
442
|
+
*/
|
|
443
|
+
exports.GROUP_PATCHES_COLLECTION = "@emberflow/internal/group-patches";
|
|
444
|
+
/**
|
|
445
|
+
* Operator-driven restart. Locates every group-patch status doc for the given
|
|
446
|
+
* `patchType` + `backFillPatchName` (via a field query -- no doc-id parsing) and
|
|
447
|
+
* stamps them to "reset", clearing the previous error/count/cursor. The normal
|
|
448
|
+
* (no-force) `queueGroupPatch` flow then restarts each matching collection from
|
|
449
|
+
* scratch, while every anti-runaway guard (circuit breaker, cursor hard-stop)
|
|
450
|
+
* stays intact.
|
|
451
|
+
*
|
|
452
|
+
* @param {GroupPatchType} patchType The patch type to match (`"back-fill"` or `"patch-logics"`).
|
|
453
|
+
* @param {string} [backFillPatchName] The back-fill patch name to match (matched against `null` when omitted).
|
|
454
|
+
* @return {Promise<number>} The number of status docs that were reset.
|
|
455
|
+
*/
|
|
456
|
+
async function resetGroupPatchStatuses(patchType, backFillPatchName) {
|
|
457
|
+
const snap = await index_1.db.collection(exports.GROUP_PATCHES_COLLECTION)
|
|
458
|
+
.where("patchType", "==", patchType)
|
|
459
|
+
.where("backFillPatchName", "==", backFillPatchName !== null && backFillPatchName !== void 0 ? backFillPatchName : null)
|
|
460
|
+
.get();
|
|
461
|
+
if (snap.empty) {
|
|
462
|
+
console.info(`[backfill-patch-emberflow] resetGroupPatchStatuses: no status docs found to reset for patchType="${patchType}", backFillPatchName="${backFillPatchName !== null && backFillPatchName !== void 0 ? backFillPatchName : null}".`);
|
|
463
|
+
return 0;
|
|
464
|
+
}
|
|
465
|
+
const batch = index_1.db.batch();
|
|
466
|
+
for (const statusDoc of snap.docs) {
|
|
467
|
+
batch.set(statusDoc.ref, {
|
|
468
|
+
status: "reset",
|
|
469
|
+
error: null,
|
|
470
|
+
count: 0,
|
|
471
|
+
lastPatchedId: null,
|
|
472
|
+
updatedAt: index_1.admin.firestore.Timestamp.now(),
|
|
473
|
+
}, { merge: true });
|
|
474
|
+
}
|
|
475
|
+
await batch.commit();
|
|
476
|
+
console.info(`[backfill-patch-emberflow] resetGroupPatchStatuses: stamped ${snap.size} status doc(s) to "reset" for patchType="${patchType}", backFillPatchName="${backFillPatchName !== null && backFillPatchName !== void 0 ? backFillPatchName : null}".`);
|
|
477
|
+
return snap.size;
|
|
478
|
+
}
|
|
479
|
+
exports.resetGroupPatchStatuses = resetGroupPatchStatuses;
|
|
430
480
|
async function onGroupPatchRequest(event) {
|
|
431
481
|
const data = event.data;
|
|
432
482
|
if (!data) {
|
|
433
483
|
console.error("Data should not be null");
|
|
434
484
|
return;
|
|
435
485
|
}
|
|
436
|
-
const { path, patchType, backFillPatchName, appVersion,
|
|
486
|
+
const { path, patchType, backFillPatchName, appVersion, resetStatus } = data.data();
|
|
437
487
|
if (!path) {
|
|
438
488
|
console.error("path should not be null");
|
|
439
489
|
return;
|
|
@@ -443,12 +493,19 @@ async function onGroupPatchRequest(event) {
|
|
|
443
493
|
return;
|
|
444
494
|
}
|
|
445
495
|
await data.ref.update({ status: "received", receivedAt: index_1.admin.firestore.Timestamp.now() });
|
|
496
|
+
// Operator restart option: when requested, reset all status docs for this
|
|
497
|
+
// patch first so the (settled) run can start over from scratch. The request
|
|
498
|
+
// doc may carry the flag as a real boolean (true) or as the string "true"
|
|
499
|
+
// (e.g. written from a console/HTTP form), so accept both.
|
|
500
|
+
const shouldResetStatus = resetStatus === true || resetStatus === "true";
|
|
501
|
+
if (shouldResetStatus) {
|
|
502
|
+
await resetGroupPatchStatuses(patchType, backFillPatchName);
|
|
503
|
+
}
|
|
446
504
|
return (0, distribution_1.queueGroupPatch)({
|
|
447
505
|
path,
|
|
448
506
|
patchType,
|
|
449
507
|
backFillPatchName,
|
|
450
508
|
appVersion,
|
|
451
|
-
force: force === true,
|
|
452
509
|
});
|
|
453
510
|
}
|
|
454
511
|
exports.onGroupPatchRequest = onGroupPatchRequest;
|
|
@@ -608,17 +665,38 @@ exports.ancestorIdsPatchConfig = {
|
|
|
608
665
|
* @param {PatchGroupDocsParams} params The collection path, patch type, and cursor.
|
|
609
666
|
*/
|
|
610
667
|
async function patchGroupDocs(params) {
|
|
611
|
-
|
|
668
|
+
var _a;
|
|
669
|
+
const { collectionPath, patchType, backFillPatchName, appVersion, lastPatchedId } = params;
|
|
670
|
+
const iteration = (_a = params.iteration) !== null && _a !== void 0 ? _a : 0;
|
|
612
671
|
const patchStatusPath = (0, distribution_1.getGroupPatchStatusPath)(collectionPath, patchType, backFillPatchName);
|
|
613
672
|
const patchStatusRef = index_1.db.doc(patchStatusPath);
|
|
614
673
|
const patchStatusDoc = await patchStatusRef.get();
|
|
615
674
|
const patchStatusData = patchStatusDoc.data();
|
|
616
|
-
//
|
|
617
|
-
|
|
675
|
+
// Circuit breaker: a healthy backfill terminates when a page comes back empty.
|
|
676
|
+
// If a chain keeps rescheduling itself past this cap it is almost certainly a
|
|
677
|
+
// runaway, so we abort here (mark "error", no reschedule) instead of letting it
|
|
678
|
+
// keep invoking functions and rewriting docs indefinitely.
|
|
679
|
+
const maxIterations = exports._mockable.getMaxGroupPatchIterations();
|
|
680
|
+
if (iteration >= maxIterations) {
|
|
681
|
+
const breakerError = `Circuit breaker tripped for ${collectionPath}: reached max ${maxIterations} patch iterations without completing (possible runaway backfill).`;
|
|
682
|
+
console.error(`[backfill-patch-emberflow] patchGroupDocs: ${breakerError} Aborting (no reschedule).`);
|
|
683
|
+
await patchStatusRef.set({
|
|
684
|
+
status: "error",
|
|
685
|
+
patchType,
|
|
686
|
+
backFillPatchName: backFillPatchName !== null && backFillPatchName !== void 0 ? backFillPatchName : null,
|
|
687
|
+
error: breakerError,
|
|
688
|
+
updatedAt: index_1.admin.firestore.Timestamp.now(),
|
|
689
|
+
}, { merge: true });
|
|
618
690
|
return;
|
|
619
691
|
}
|
|
620
|
-
//
|
|
621
|
-
|
|
692
|
+
// A settled "completed" collection is never re-patched here. To restart it an
|
|
693
|
+
// operator stamps the status doc to "reset" (see onGroupPatchRequest), which is
|
|
694
|
+
// handled below.
|
|
695
|
+
if ((patchStatusData === null || patchStatusData === void 0 ? void 0 : patchStatusData.status) === "completed") {
|
|
696
|
+
return;
|
|
697
|
+
}
|
|
698
|
+
// Handle "reset" status by starting from scratch (cursor + count cleared).
|
|
699
|
+
const restartFromScratch = (patchStatusData === null || patchStatusData === void 0 ? void 0 : patchStatusData.status) === "reset";
|
|
622
700
|
const effectiveLastId = restartFromScratch ? undefined : lastPatchedId;
|
|
623
701
|
console.info(`[GroupPatch] Patching docs for collection: ${collectionPath}${effectiveLastId ? ` starting from ${effectiveLastId}` : ""}`);
|
|
624
702
|
let query = index_1.db.collection(collectionPath).orderBy(index_1.admin.firestore.FieldPath.documentId());
|
|
@@ -638,6 +716,21 @@ async function patchGroupDocs(params) {
|
|
|
638
716
|
return;
|
|
639
717
|
}
|
|
640
718
|
const lastId = docsSnapshot.docs[docsSnapshot.docs.length - 1].id;
|
|
719
|
+
// Hard stop for a guaranteed runaway loop: if the cursor does not advance
|
|
720
|
+
// between batches (the page ends on the very id we started after), rescheduling
|
|
721
|
+
// would re-query the exact same page forever. Abort instead of re-processing it.
|
|
722
|
+
if (effectiveLastId && effectiveLastId === lastId) {
|
|
723
|
+
const cursorError = `Cursor did not advance past "${lastId}" for ${collectionPath}; aborting to prevent a runaway backfill.`;
|
|
724
|
+
console.error(`[backfill-patch-emberflow] patchGroupDocs: ${cursorError} (no reschedule).`);
|
|
725
|
+
await patchStatusRef.set({
|
|
726
|
+
status: "error",
|
|
727
|
+
patchType,
|
|
728
|
+
backFillPatchName: backFillPatchName !== null && backFillPatchName !== void 0 ? backFillPatchName : null,
|
|
729
|
+
error: cursorError,
|
|
730
|
+
updatedAt: index_1.admin.firestore.Timestamp.now(),
|
|
731
|
+
}, { merge: true });
|
|
732
|
+
return;
|
|
733
|
+
}
|
|
641
734
|
try {
|
|
642
735
|
if (patchType === "patch-logics") {
|
|
643
736
|
if (!appVersion) {
|
|
@@ -669,8 +762,11 @@ async function patchGroupDocs(params) {
|
|
|
669
762
|
updatedAt: index_1.admin.firestore.Timestamp.now(),
|
|
670
763
|
}, { merge: true });
|
|
671
764
|
console.info(`[GroupPatch] Batch Complete: Patched ${docsSnapshot.docs.length} docs for collection: ${collectionPath}. Total patched so far: ${totalPatched}. Rescheduling next batch...`);
|
|
672
|
-
// Reschedule for next batch
|
|
673
|
-
|
|
765
|
+
// Reschedule for next batch, carrying the incremented iteration counter so
|
|
766
|
+
// the circuit breaker can eventually stop a chain that never completes.
|
|
767
|
+
const nextIteration = iteration + 1;
|
|
768
|
+
console.info(`[backfill-patch-emberflow] patchGroupDocs: RESCHEDULING next batch for ${collectionPath} with lastPatchedId=${lastId}, iteration=${nextIteration}.`);
|
|
769
|
+
await (0, distribution_1.queueGroupPatch)({ path: collectionPath, patchType, backFillPatchName, appVersion, lastPatchedId: lastId, iteration: nextIteration });
|
|
674
770
|
}
|
|
675
771
|
catch (error) {
|
|
676
772
|
console.error(`[GroupPatch] Error in patchGroupDocs for ${collectionPath}:`, error);
|
package/lib/index-utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index-utils.js","sourceRoot":"","sources":["../src/index-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index-utils.js","sourceRoot":"","sources":["../src/index-utils.ts"],"names":[],"mappings":"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"}
|