emberflow 2.0.12 → 2.0.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/README.md CHANGED
@@ -8,6 +8,7 @@ Emberflow is a library for Firebase Functions that simplifies the process of set
8
8
  - **Validation**: Ensure your data is valid before it's saved to Firestore.
9
9
  - **Business Logics**: Define complex business rules that are automatically triggered by Firestore changes.
10
10
  - **View Logics**: Easily create and maintain denormalized data (views) across your database.
11
+ - **Manual View Materialization**: Hand-create `@views` links with `createViewDoc` for back-fills, guaranteed consistent with your registered `ViewDefinition`s.
11
12
  - **Patch Logics**: Handle versioning and data migrations seamlessly.
12
13
  - **Group Patch Engine**: Run one-time back-fills or bulk patch-logics runs over an entire collection, with progress tracking.
13
14
  - **Pluggable Cleanup**: Automatically purge stale documents on a schedule using declarative, config-driven cleanup rules.
@@ -349,6 +350,48 @@ running against the same collection never clobber each other's status. The statu
349
350
  > created for the placeholder path, and `getGroupPatchProgress` returns `undefined` for it. Query
350
351
  > progress on the concrete collection paths (e.g. `/users/user123/feeds`) instead.
351
352
 
353
+ > **Placeholder-safe hydration.** When a placeholder path is hydrated into concrete document paths,
354
+ > Emberflow skips re-queueing any hydrated path that *still* contains a `{`. A leftover `{` means a
355
+ > real document id literally contains `{` (usually bad data written from an un-hydrated path);
356
+ > re-queueing it would hydrate again and loop forever, so the path is skipped and a warning is
357
+ > logged instead.
358
+
359
+ ### Creating View Docs Manually (`createViewDoc`)
360
+
361
+ Emberflow normally keeps `@views` documents (the links that let a source document fan its changes
362
+ out to denormalized views) in sync automatically through **View Logics**. When you need to
363
+ materialize one of these links **by hand** — most commonly inside a
364
+ [`BackFillPatchConfig`](#group-patch-engine-queuegrouppatch-getgrouppatchprogress-backfillpatchconfig)
365
+ that back-fills views for documents created before a view existed — use the public `createViewDoc`
366
+ helper:
367
+
368
+ ```typescript
369
+ import { createViewDoc } from "emberflow";
370
+
371
+ // Link the source document `users/1234` to a view destination.
372
+ // - map/document view: "servers/123#createdBy"
373
+ // - array-map (collection) view: "users/1/posts/9#followers[1234]"
374
+ const logicResultDocs = createViewDoc("users/1234", "servers/123#createdBy");
375
+ ```
376
+
377
+ `createViewDoc(srcPath, viewDstPath)` returns an array of `LogicResultDoc`s describing the `@views`
378
+ document(s) to create:
379
+
380
+ - It resolves the source and destination **entities** from the given paths and looks up the
381
+ matching registered `ViewDefinition` (using the latest version when several match). The
382
+ `srcProps` and `destEntity` stored in the resulting `@views` document are taken from that
383
+ `ViewDefinition` — **not** from caller-supplied values — so the link is guaranteed to be
384
+ consistent with the framework's own view logic.
385
+ - For **array-map** view destinations (e.g. `...#followers[1234]`), it also emits an instruction
386
+ that registers the source id in the destination's `@`-prefixed array, mirroring the automatic
387
+ view-creation path.
388
+ - It **throws** if the source/destination entity can't be resolved from the paths, or if no
389
+ matching `ViewDefinition` is registered.
390
+
391
+ > The returned docs are meant to be **distributed through the normal Emberflow pipeline** (e.g.
392
+ > returned as the `documents` of a patch/back-fill `LogicResult`), **not** written directly to
393
+ > Firestore.
394
+
352
395
  ### Collection Cleanup (`cleanupConfigs`, `CleanupConfig`)
353
396
 
354
397
  Emberflow ships with a single, scheduled `cleanupCollections` Cloud Function that runs **every
@@ -539,7 +539,7 @@ async function createMetricLogicDoc(logicName) {
539
539
  await metricsRef.set({
540
540
  totalExecTime: 0,
541
541
  totalExecCount: 0,
542
- });
542
+ }, { merge: true });
543
543
  }
544
544
  }
545
545
  exports.createMetricLogicDoc = createMetricLogicDoc;
@@ -567,7 +567,7 @@ async function saveMetricExecution(metricExecutions) {
567
567
  await execRef.set({
568
568
  execDate: index_1.admin.firestore.Timestamp.now(),
569
569
  execTime,
570
- });
570
+ }, { merge: true });
571
571
  }
572
572
  }
573
573
  async function createMetricComputation(_event) {
@@ -609,7 +609,7 @@ async function createMetricComputation(_event) {
609
609
  execCount,
610
610
  avgExecTime,
611
611
  jitterTime,
612
- });
612
+ }, { merge: true });
613
613
  }
614
614
  }
615
615
  exports.createMetricComputation = createMetricComputation;
@@ -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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"}
package/lib/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- import { FirebaseAdmin, LogicConfig, LogicResultDoc, BackFillPatchConfig, CleanupConfig, PatchLogicConfig, ProjectConfig, SecurityConfig, UserRegisterFn, ValidatorConfig, EntityViewDefinitions, ViewLogicConfig } from "./types";
1
+ import { FirebaseAdmin, LogicConfig, LogicResultDoc, BackFillPatchConfig, CleanupConfig, PatchLogicConfig, ProjectConfig, SecurityConfig, UserRegisterFn, ValidatorConfig, ViewDefinition, EntityViewDefinitions, ViewLogicConfig } from "./types";
2
2
  import { ancestorIdsPatchConfig } from "./index-utils";
3
+ import { createViewDoc } from "./logics/view-logics";
3
4
  import { Firestore } from "firebase-admin/firestore";
4
5
  import { DatabaseEvent, DataSnapshot } from "firebase-functions/v2/database";
5
6
  import { database } from "firebase-admin";
@@ -7,7 +8,7 @@ import { PubSub, Topic } from "@google-cloud/pubsub";
7
8
  import { getGroupPatchProgress, queueGroupPatch } from "./utils/distribution";
8
9
  import { UserRecord } from "firebase-admin/lib/auth";
9
10
  import Database = database.Database;
10
- export { queueGroupPatch, getGroupPatchProgress, ancestorIdsPatchConfig };
11
+ export { queueGroupPatch, getGroupPatchProgress, ancestorIdsPatchConfig, createViewDoc };
11
12
  export declare let admin: FirebaseAdmin;
12
13
  export declare let db: Firestore;
13
14
  export declare let rtdb: Database;
@@ -24,6 +25,7 @@ export declare let docPaths: Record<string, string>;
24
25
  export declare let colPaths: Record<string, string>;
25
26
  export declare let docPathsRegex: Record<string, RegExp>;
26
27
  export declare let entityViewDefinitions: EntityViewDefinitions;
28
+ export declare let viewDefinitions: ViewDefinition[];
27
29
  export declare let viewLogicConfigs: ViewLogicConfig[];
28
30
  export declare let projectConfig: ProjectConfig;
29
31
  export declare const functionsConfig: Record<string, any>;
package/lib/index.js CHANGED
@@ -34,13 +34,14 @@ var __rest = (this && this.__rest) || function (s, e) {
34
34
  return t;
35
35
  };
36
36
  Object.defineProperty(exports, "__esModule", { value: true });
37
- exports.onUserRegister = exports.transformLogicResultDocIfNeeded = exports.onFormSubmit = exports.initializeEmberFlow = exports._mockable = exports.GROUP_PATCH_TOPIC = exports.INSTRUCTIONS_TOPIC = exports.FOR_DISTRIBUTION_TOPIC = exports.PATCH_LOGICS_TOPIC = exports.VIEW_LOGICS_TOPIC = exports.SUBMIT_FORM_TOPIC = exports.pubSubTopics = exports.GROUP_PATCH_TOPIC_NAME = exports.INSTRUCTIONS_TOPIC_NAME = exports.FOR_DISTRIBUTION_TOPIC_NAME = exports.PATCH_LOGICS_TOPIC_NAME = exports.VIEW_LOGICS_TOPIC_NAME = exports.SUBMIT_FORM_TOPIC_NAME = exports.functionsConfig = exports.projectConfig = exports.viewLogicConfigs = exports.entityViewDefinitions = exports.docPathsRegex = exports.colPaths = exports.docPaths = exports.backFillPatchConfigs = exports.cleanupConfigs = exports.patchLogicConfigs = exports.logicConfigs = exports.validatorConfigs = exports.securityConfigs = exports.Entity = exports.dbStructure = exports.pubsub = exports.rtdb = exports.db = exports.admin = exports.ancestorIdsPatchConfig = exports.getGroupPatchProgress = exports.queueGroupPatch = void 0;
37
+ exports.onUserRegister = exports.transformLogicResultDocIfNeeded = exports.onFormSubmit = exports.initializeEmberFlow = exports._mockable = exports.GROUP_PATCH_TOPIC = exports.INSTRUCTIONS_TOPIC = exports.FOR_DISTRIBUTION_TOPIC = exports.PATCH_LOGICS_TOPIC = exports.VIEW_LOGICS_TOPIC = exports.SUBMIT_FORM_TOPIC = exports.pubSubTopics = exports.GROUP_PATCH_TOPIC_NAME = exports.INSTRUCTIONS_TOPIC_NAME = exports.FOR_DISTRIBUTION_TOPIC_NAME = exports.PATCH_LOGICS_TOPIC_NAME = exports.VIEW_LOGICS_TOPIC_NAME = exports.SUBMIT_FORM_TOPIC_NAME = exports.functionsConfig = exports.projectConfig = exports.viewLogicConfigs = exports.viewDefinitions = exports.entityViewDefinitions = exports.docPathsRegex = exports.colPaths = exports.docPaths = exports.backFillPatchConfigs = exports.cleanupConfigs = exports.patchLogicConfigs = exports.logicConfigs = exports.validatorConfigs = exports.securityConfigs = exports.Entity = exports.dbStructure = exports.pubsub = exports.rtdb = exports.db = exports.admin = exports.createViewDoc = exports.ancestorIdsPatchConfig = exports.getGroupPatchProgress = exports.queueGroupPatch = void 0;
38
38
  const functions = __importStar(require("firebase-functions/v1"));
39
39
  const index_utils_1 = require("./index-utils");
40
40
  Object.defineProperty(exports, "ancestorIdsPatchConfig", { enumerable: true, get: function () { return index_utils_1.ancestorIdsPatchConfig; } });
41
41
  const patch_logics_1 = require("./logics/patch-logics");
42
42
  const init_db_structure_1 = require("./init-db-structure");
43
43
  const view_logics_1 = require("./logics/view-logics");
44
+ Object.defineProperty(exports, "createViewDoc", { enumerable: true, get: function () { return view_logics_1.createViewDoc; } });
44
45
  const bill_protect_1 = require("./utils/bill-protect");
45
46
  const database_1 = require("firebase-functions/v2/database");
46
47
  const paths_1 = require("./utils/paths");
@@ -69,6 +70,7 @@ exports.docPaths = {};
69
70
  exports.colPaths = {};
70
71
  exports.docPathsRegex = {};
71
72
  exports.entityViewDefinitions = {};
73
+ exports.viewDefinitions = [];
72
74
  exports.viewLogicConfigs = [];
73
75
  exports.functionsConfig = {};
74
76
  exports.SUBMIT_FORM_TOPIC_NAME = "submit-form-queue";
@@ -126,6 +128,7 @@ function initializeEmberFlow(options) {
126
128
  exports.colPaths = cp;
127
129
  exports.docPathsRegex = dbr;
128
130
  exports.entityViewDefinitions = evd;
131
+ exports.viewDefinitions = vd;
129
132
  exports.viewLogicConfigs = vd.map((viewDef) => {
130
133
  const { destEntity, destProp } = viewDef;
131
134
  const { name: destPropName } = destProp || {};
@@ -352,17 +355,17 @@ async function onFormSubmit(event) {
352
355
  else {
353
356
  action.status = "processed";
354
357
  }
355
- txn.set(actionRef, action);
358
+ txn.set(actionRef, action, { merge: true });
356
359
  async function saveLogicResults() {
357
360
  for (let i = 0; i < runBusinessLogicStatus.logicResults.length; i++) {
358
361
  const _a = runBusinessLogicStatus.logicResults[i], { documents } = _a, logicResult = __rest(_a, ["documents"]);
359
362
  const logicResultsRef = actionRef.collection("logicResults")
360
363
  .doc(`${actionRef.id}-${i}`);
361
- txn.set(logicResultsRef, logicResult);
364
+ txn.set(logicResultsRef, logicResult, { merge: true });
362
365
  const documentsRef = logicResultsRef.collection("documents");
363
366
  for (let j = 0; j < documents.length; j++) {
364
367
  const docRef = documentsRef.doc(`${logicResultsRef.id}-${j}`);
365
- txn.set(docRef, documents[j]);
368
+ txn.set(docRef, documents[j], { merge: true });
366
369
  }
367
370
  }
368
371
  }
@@ -577,7 +580,7 @@ const onUserRegister = async (user) => {
577
580
  console.debug("Starting Transaction");
578
581
  const customUserRegisterMetricExecution = await exports.db.runTransaction(async (txn) => {
579
582
  console.debug("Creating user document");
580
- txn.set(exports.db.doc(`users/${user.uid}`), Object.assign(Object.assign({ "@id": uid }, splitDisplayName(displayName || providerDisplayName)), { "avatarUrl": photoURL || providerPhotoURL, "username": email || providerEmail, "email": email || providerEmail, "registeredAt": exports._mockable.createNowTimestamp() }));
583
+ txn.set(exports.db.doc(`users/${user.uid}`), Object.assign(Object.assign({ "@id": uid }, splitDisplayName(displayName || providerDisplayName)), { "avatarUrl": photoURL || providerPhotoURL, "username": email || providerEmail, "email": email || providerEmail, "registeredAt": exports._mockable.createNowTimestamp() }), { merge: true });
581
584
  const customUserRegisterFn = userRegisterFn;
582
585
  if (!customUserRegisterFn)
583
586
  return;
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -6,3 +6,23 @@ export declare function queueRunViewLogics(targetVersion: string, appVersion: st
6
6
  export declare function runViewLogics(logicResultDoc: LogicResultDoc, targetVersion: string, appVersion: string, lastProcessedId?: string): Promise<LogicResult[]>;
7
7
  export declare function onMessageViewLogicsQueue(event: CloudEvent<MessagePublishedData>): Promise<"Processed view logics" | undefined>;
8
8
  export declare const findMatchingViewLogics: (logicResultDoc: LogicResultDoc, targetVersion: string) => Map<string, ViewLogicConfig> | undefined;
9
+ /**
10
+ * Builds the LogicResultDoc(s) required to create an `@views` document that manually links a
11
+ * view destination (`viewDstPath`) back to its source document (`srcPath`).
12
+ *
13
+ * This is intended for use inside back-fill patches that need to materialize an `@views` link
14
+ * by hand. Rather than trusting caller-supplied values, the `srcProps` and `destEntity` recorded
15
+ * in the produced `@views` document are derived from the registered {@link ViewDefinition}, so the
16
+ * resulting document is guaranteed to be consistent with the framework's view logic. When the view
17
+ * destination is an array-map property, an additional instruction is emitted to register the source
18
+ * id in the destination's `@`-prefixed array, mirroring the automatic view-creation path.
19
+ *
20
+ * The returned docs are meant to be distributed through the normal framework pipeline (e.g. via
21
+ * the same mechanism a patch uses to emit its LogicResultDocs), NOT written directly to Firestore.
22
+ *
23
+ * @param {string} srcPath The source document path (e.g. "users/1234").
24
+ * @param {string} viewDstPath The view destination path (e.g. "users/1/posts/9#followers[1234]" or "servers/123#createdBy").
25
+ * @return {LogicResultDoc[]} The merge (and, for array-map views, instruction) docs to distribute.
26
+ * @throws {Error} If the src/dst entities cannot be resolved or no matching ViewDefinition is registered.
27
+ */
28
+ export declare function createViewDoc(srcPath: string, viewDstPath: string): LogicResultDoc[];
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.findMatchingViewLogics = exports.onMessageViewLogicsQueue = exports.runViewLogics = exports.queueRunViewLogics = exports.createViewLogicFn = void 0;
26
+ exports.createViewDoc = exports.findMatchingViewLogics = exports.onMessageViewLogicsQueue = exports.runViewLogics = exports.queueRunViewLogics = exports.createViewLogicFn = void 0;
27
27
  const index_1 = require("../index");
28
28
  const admin = __importStar(require("firebase-admin"));
29
29
  const index_utils_1 = require("../index-utils");
@@ -33,41 +33,53 @@ const misc_1 = require("../utils/misc");
33
33
  const query_1 = require("../utils/query");
34
34
  const paths_1 = require("../utils/paths");
35
35
  const patch_logics_1 = require("./patch-logics");
36
+ function formViewDocId(viewDstPath) {
37
+ let viewDocId = viewDstPath.replace(/[/#]/g, "+");
38
+ if (viewDocId.startsWith("+")) {
39
+ viewDocId = viewDocId.slice(1);
40
+ }
41
+ return viewDocId;
42
+ }
43
+ function formAtViewsPath(viewDstPath, srcPath) {
44
+ const viewDocId = formViewDocId(viewDstPath);
45
+ return `${srcPath}/@views/${viewDocId}`;
46
+ }
47
+ /*
48
+ * Builds the LogicResultDoc(s) that materialize an `@views` document linking a view
49
+ * destination (viewDstPath) back to its source document (srcPath), plus the array-map
50
+ * bookkeeping instruction when the destination is an array-map property.
51
+ *
52
+ * This is the single source of truth for the shape of a "view created" `@views` document and is
53
+ * shared between the automatic view-creation path (createViewLogicFn) and the manual
54
+ * back-fill utility (createViewDoc).
55
+ */
56
+ function buildViewCreatedLogicDocs(srcPath, viewDstPath, srcProps, destEntity) {
57
+ const logicResultDocs = [];
58
+ const srcAtViewsPath = formAtViewsPath(viewDstPath, srcPath);
59
+ const { destProp: viewDestProp, destPropId: viewDestPropId, isArrayMap: viewIsArrayMap, basePath: viewBasePath, } = (0, paths_1.getDestPropAndDestPropId)(viewDstPath);
60
+ logicResultDocs.push({
61
+ action: "merge",
62
+ dstPath: srcAtViewsPath,
63
+ doc: Object.assign({ path: viewDstPath, srcProps: [...srcProps].sort(), destEntity }, (viewDestProp ? { destProp: viewDestProp } : {})),
64
+ });
65
+ if (viewDestProp && viewIsArrayMap) {
66
+ logicResultDocs.push({
67
+ action: "merge",
68
+ dstPath: viewBasePath,
69
+ instructions: {
70
+ [`@${viewDestProp}`]: `arr(+${viewDestPropId})`,
71
+ },
72
+ skipRunViewLogics: true,
73
+ });
74
+ }
75
+ return logicResultDocs;
76
+ }
36
77
  function createViewLogicFn(viewDefinition) {
37
78
  const { srcEntity: defSrcEntity, srcProps: defSrcProps, destEntity: defDestEntity, destProp: defDestProp, options: defOptions, } = viewDefinition;
38
79
  const { syncCreate = false } = defOptions || {};
39
80
  const logicName = `${defDestEntity}${defDestProp ? `#${defDestProp.name}` : ""}`;
40
- function formViewDocId(viewDstPath) {
41
- let viewDocId = viewDstPath.replace(/[/#]/g, "+");
42
- if (viewDocId.startsWith("+")) {
43
- viewDocId = viewDocId.slice(1);
44
- }
45
- return viewDocId;
46
- }
47
- function formAtViewsPath(viewDstPath, srcPath) {
48
- const viewDocId = formViewDocId(viewDstPath);
49
- return `${srcPath}/@views/${viewDocId}`;
50
- }
51
81
  function createLogicDocsWhenViewIsCreated(srcPath, viewDstPath) {
52
- const logicResultDocs = [];
53
- const srcAtViewsPath = formAtViewsPath(viewDstPath, srcPath);
54
- const { destProp: viewDestProp, destPropId: viewDestPropId, isArrayMap: viewIsArrayMap, basePath: viewBasePath, } = (0, paths_1.getDestPropAndDestPropId)(viewDstPath);
55
- logicResultDocs.push({
56
- action: "merge",
57
- dstPath: srcAtViewsPath,
58
- doc: Object.assign({ path: viewDstPath, srcProps: defSrcProps.sort(), destEntity: defDestEntity }, (viewDestProp ? { destProp: viewDestProp } : {})),
59
- });
60
- if (viewDestProp && viewIsArrayMap) {
61
- logicResultDocs.push({
62
- action: "merge",
63
- dstPath: viewBasePath,
64
- instructions: {
65
- [`@${viewDestProp}`]: `arr(+${viewDestPropId})`,
66
- },
67
- skipRunViewLogics: true,
68
- });
69
- }
70
- return logicResultDocs;
82
+ return buildViewCreatedLogicDocs(srcPath, viewDstPath, defSrcProps, defDestEntity);
71
83
  }
72
84
  function createLogicDocsWhenViewIsDeleted(srcPath, viewDstPath) {
73
85
  const { destProp: viewDestProp, destPropId: viewDestPropId, isArrayMap: viewIsArrayMap, basePath: viewBasePath, } = (0, paths_1.getDestPropAndDestPropId)(viewDstPath);
@@ -490,10 +502,10 @@ async function onMessageViewLogicsQueue(event) {
490
502
  message: message || null,
491
503
  srcLogicResultDoc,
492
504
  documentsCount: documents.length,
493
- });
505
+ }, { merge: true });
494
506
  for (const doc of documents) {
495
507
  const docRef = execRef.collection("docs").doc();
496
- batch.set(docRef, doc);
508
+ batch.set(docRef, doc, { merge: true });
497
509
  }
498
510
  await batch.commit();
499
511
  }
@@ -573,4 +585,48 @@ const findMatchingViewLogics = (logicResultDoc, targetVersion) => {
573
585
  return matchingLogics;
574
586
  };
575
587
  exports.findMatchingViewLogics = findMatchingViewLogics;
588
+ /**
589
+ * Builds the LogicResultDoc(s) required to create an `@views` document that manually links a
590
+ * view destination (`viewDstPath`) back to its source document (`srcPath`).
591
+ *
592
+ * This is intended for use inside back-fill patches that need to materialize an `@views` link
593
+ * by hand. Rather than trusting caller-supplied values, the `srcProps` and `destEntity` recorded
594
+ * in the produced `@views` document are derived from the registered {@link ViewDefinition}, so the
595
+ * resulting document is guaranteed to be consistent with the framework's view logic. When the view
596
+ * destination is an array-map property, an additional instruction is emitted to register the source
597
+ * id in the destination's `@`-prefixed array, mirroring the automatic view-creation path.
598
+ *
599
+ * The returned docs are meant to be distributed through the normal framework pipeline (e.g. via
600
+ * the same mechanism a patch uses to emit its LogicResultDocs), NOT written directly to Firestore.
601
+ *
602
+ * @param {string} srcPath The source document path (e.g. "users/1234").
603
+ * @param {string} viewDstPath The view destination path (e.g. "users/1/posts/9#followers[1234]" or "servers/123#createdBy").
604
+ * @return {LogicResultDoc[]} The merge (and, for array-map views, instruction) docs to distribute.
605
+ * @throws {Error} If the src/dst entities cannot be resolved or no matching ViewDefinition is registered.
606
+ */
607
+ function createViewDoc(srcPath, viewDstPath) {
608
+ const { entity: srcEntity } = (0, paths_1.findMatchingDocPathRegex)(srcPath);
609
+ if (!srcEntity) {
610
+ throw new Error(`Cannot resolve src entity from srcPath: ${srcPath}`);
611
+ }
612
+ const { basePath: viewBasePath, destProp: viewDestProp, } = (0, paths_1.getDestPropAndDestPropId)(viewDstPath);
613
+ const { entity: destEntity } = (0, paths_1.findMatchingDocPathRegex)(viewBasePath);
614
+ if (!destEntity) {
615
+ throw new Error(`Cannot resolve dest entity from viewDstPath: ${viewDstPath}`);
616
+ }
617
+ const matchingViewDefinitions = index_1.viewDefinitions.filter((viewDefinition) => {
618
+ var _a;
619
+ return viewDefinition.srcEntity === srcEntity &&
620
+ viewDefinition.destEntity === destEntity &&
621
+ (((_a = viewDefinition.destProp) === null || _a === void 0 ? void 0 : _a.name) || undefined) === (viewDestProp || undefined);
622
+ });
623
+ if (matchingViewDefinitions.length === 0) {
624
+ throw new Error(`No matching ViewDefinition found for srcEntity="${srcEntity}", destEntity="${destEntity}"` +
625
+ `${viewDestProp ? `, destProp="${viewDestProp}"` : ""}`);
626
+ }
627
+ // When multiple versions of a definition match, use the latest one.
628
+ const matchedViewDefinition = matchingViewDefinitions.reduce((latest, current) => (0, patch_logics_1.versionCompare)(current.version, latest.version) > 0 ? current : latest);
629
+ return buildViewCreatedLogicDocs(srcPath, viewDstPath, matchedViewDefinition.srcProps, destEntity);
630
+ }
631
+ exports.createViewDoc = createViewDoc;
576
632
  //# sourceMappingURL=view-logics.js.map