@diagrampilot/core 0.2.13 → 0.2.14-nightly.83.1.c3e7d17

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 (50) hide show
  1. package/dist/diagramspec-metadata-validation.d.ts.map +1 -1
  2. package/dist/diagramspec-metadata-validation.js +21 -12
  3. package/dist/diagramspec-metadata-validation.js.map +1 -1
  4. package/dist/diagramspec-topology-for-validation.d.ts +3 -0
  5. package/dist/diagramspec-topology-for-validation.d.ts.map +1 -0
  6. package/dist/diagramspec-topology-for-validation.js +34 -0
  7. package/dist/diagramspec-topology-for-validation.js.map +1 -0
  8. package/dist/diagramspec-topology-validation.d.ts +1 -1
  9. package/dist/diagramspec-topology-validation.d.ts.map +1 -1
  10. package/dist/diagramspec-topology-validation.js +80 -86
  11. package/dist/diagramspec-topology-validation.js.map +1 -1
  12. package/dist/diagramspec-topology.d.ts.map +1 -1
  13. package/dist/diagramspec-topology.js +60 -39
  14. package/dist/diagramspec-topology.js.map +1 -1
  15. package/dist/diagramspec-validation.d.ts.map +1 -1
  16. package/dist/diagramspec-validation.js +48 -33
  17. package/dist/diagramspec-validation.js.map +1 -1
  18. package/dist/maintainability-file-size-gate.d.ts.map +1 -1
  19. package/dist/maintainability-file-size-gate.js +8 -2
  20. package/dist/maintainability-file-size-gate.js.map +1 -1
  21. package/dist/repo-workflow-check.d.ts.map +1 -1
  22. package/dist/repo-workflow-check.js +66 -48
  23. package/dist/repo-workflow-check.js.map +1 -1
  24. package/dist/repo-workflow-config-discovery.d.ts +5 -0
  25. package/dist/repo-workflow-config-discovery.d.ts.map +1 -0
  26. package/dist/repo-workflow-config-discovery.js +45 -0
  27. package/dist/repo-workflow-config-discovery.js.map +1 -0
  28. package/dist/repo-workflow-config.d.ts.map +1 -1
  29. package/dist/repo-workflow-config.js +79 -67
  30. package/dist/repo-workflow-config.js.map +1 -1
  31. package/dist/repo-workflow-configured-artifacts.d.ts.map +1 -1
  32. package/dist/repo-workflow-configured-artifacts.js +5 -2
  33. package/dist/repo-workflow-configured-artifacts.js.map +1 -1
  34. package/dist/repo-workflow-generate.d.ts.map +1 -1
  35. package/dist/repo-workflow-generate.js +35 -26
  36. package/dist/repo-workflow-generate.js.map +1 -1
  37. package/dist/source-discovery.d.ts.map +1 -1
  38. package/dist/source-discovery.js +57 -42
  39. package/dist/source-discovery.js.map +1 -1
  40. package/dist/source-loading.d.ts.map +1 -1
  41. package/dist/source-loading.js +73 -42
  42. package/dist/source-loading.js.map +1 -1
  43. package/dist/svg-artifact-freshness.d.ts.map +1 -1
  44. package/dist/svg-artifact-freshness.js +30 -24
  45. package/dist/svg-artifact-freshness.js.map +1 -1
  46. package/dist/version.d.ts +1 -1
  47. package/dist/version.d.ts.map +1 -1
  48. package/dist/version.js +1 -1
  49. package/dist/version.js.map +1 -1
  50. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"diagramspec-metadata-validation.d.ts","sourceRoot":"","sources":["../src/diagramspec-metadata-validation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAmF9E,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,EAAE,0BAA0B,EAAE,GACnC,IAAI,CAwBN"}
1
+ {"version":3,"file":"diagramspec-metadata-validation.d.ts","sourceRoot":"","sources":["../src/diagramspec-metadata-validation.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AA2F9E,wBAAgB,mCAAmC,CACjD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,EAAE,0BAA0B,EAAE,GACnC,IAAI,CAwBN"}
@@ -5,24 +5,33 @@ function isLocalSourceReference(value) {
5
5
  return false;
6
6
  }
7
7
  const trimmedValue = value.trim();
8
- return (trimmedValue.length > 0 &&
9
- trimmedValue === value &&
10
- !urlSchemePattern.test(value) &&
11
- !value.startsWith("/") &&
12
- !value.startsWith("//"));
8
+ const checks = [
9
+ trimmedValue.length > 0,
10
+ trimmedValue === value,
11
+ !urlSchemePattern.test(value),
12
+ !value.startsWith("/"),
13
+ !value.startsWith("//"),
14
+ ];
15
+ return checks.every(Boolean);
13
16
  }
14
- function isExternalUrlReference(value) {
15
- if (typeof value !== "string" || value.trim() !== value) {
16
- return false;
17
- }
17
+ const externalUrlProtocols = new Set(["http:", "https:"]);
18
+ function parseUrlReference(value) {
18
19
  try {
19
- const url = new URL(value);
20
- return ((url.protocol === "http:" || url.protocol === "https:") &&
21
- url.hostname.length > 0);
20
+ return new URL(value);
22
21
  }
23
22
  catch {
23
+ return undefined;
24
+ }
25
+ }
26
+ function isSupportedExternalUrl(url) {
27
+ return externalUrlProtocols.has(url.protocol) && url.hostname.length > 0;
28
+ }
29
+ function isExternalUrlReference(value) {
30
+ if (typeof value !== "string" || value.trim() !== value) {
24
31
  return false;
25
32
  }
33
+ const url = parseUrlReference(value);
34
+ return url !== undefined && isSupportedExternalUrl(url);
26
35
  }
27
36
  function validateMetadataSourceReference(metadataPath, metadata, errors) {
28
37
  if (!("source" in metadata) || isLocalSourceReference(metadata.source)) {
@@ -1 +1 @@
1
- {"version":3,"file":"diagramspec-metadata-validation.js","sourceRoot":"","sources":["../src/diagramspec-metadata-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagramspec-metadata-validation.js","sourceRoot":"","sources":["../src/diagramspec-metadata-validation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { DiagramSpecTopology } from "./diagramspec-topology.js";
2
+ export declare function createDiagramSpecTopologyForValidation(value: Record<string, unknown>): DiagramSpecTopology | undefined;
3
+ //# sourceMappingURL=diagramspec-topology-for-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagramspec-topology-for-validation.d.ts","sourceRoot":"","sources":["../src/diagramspec-topology-for-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,mBAAmB,EACpB,MAAM,2BAA2B,CAAC;AAmDnC,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,mBAAmB,GAAG,SAAS,CAIjC"}
@@ -0,0 +1,34 @@
1
+ import { createDiagramSpecTopology } from "./diagramspec-topology.js";
2
+ import { isRecord, isStableId } from "./diagramspec-validation-helpers.js";
3
+ function isTopologyCompatibleObjectCollection(collection) {
4
+ return (Array.isArray(collection) &&
5
+ collection.every((item) => isRecord(item) && isStableId(item.id)));
6
+ }
7
+ function isTopologyCompatibleGroupCollection(collection) {
8
+ return (Array.isArray(collection) &&
9
+ collection.every((item) => isRecord(item) &&
10
+ isStableId(item.id) &&
11
+ Array.isArray(item.contains) &&
12
+ item.contains.every((containedId) => typeof containedId === "string")));
13
+ }
14
+ function isOptionalTopologyCompatibleObjectCollection(collection) {
15
+ return (collection === undefined ||
16
+ isTopologyCompatibleObjectCollection(collection));
17
+ }
18
+ function isOptionalTopologyCompatibleGroupCollection(collection) {
19
+ return (collection === undefined || isTopologyCompatibleGroupCollection(collection));
20
+ }
21
+ function isTopologyCompatibleSpec(value) {
22
+ const checks = [
23
+ isTopologyCompatibleObjectCollection(value.nodes),
24
+ isOptionalTopologyCompatibleObjectCollection(value.edges),
25
+ isOptionalTopologyCompatibleGroupCollection(value.groups),
26
+ ];
27
+ return checks.every(Boolean);
28
+ }
29
+ export function createDiagramSpecTopologyForValidation(value) {
30
+ return isTopologyCompatibleSpec(value)
31
+ ? createDiagramSpecTopology(value)
32
+ : undefined;
33
+ }
34
+ //# sourceMappingURL=diagramspec-topology-for-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagramspec-topology-for-validation.js","sourceRoot":"","sources":["../src/diagramspec-topology-for-validation.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAE3E,SAAS,oCAAoC,CAAC,UAAmB;IAC/D,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QACzB,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAClE,CAAC;AACJ,CAAC;AAED,SAAS,mCAAmC,CAAC,UAAmB;IAC9D,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QACzB,UAAU,CAAC,KAAK,CACd,CAAC,IAAI,EAAE,EAAE,CACP,QAAQ,CAAC,IAAI,CAAC;YACd,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,WAAW,KAAK,QAAQ,CAAC,CACxE,CACF,CAAC;AACJ,CAAC;AAED,SAAS,4CAA4C,CACnD,UAAmB;IAEnB,OAAO,CACL,UAAU,KAAK,SAAS;QACxB,oCAAoC,CAAC,UAAU,CAAC,CACjD,CAAC;AACJ,CAAC;AAED,SAAS,2CAA2C,CAClD,UAAmB;IAEnB,OAAO,CACL,UAAU,KAAK,SAAS,IAAI,mCAAmC,CAAC,UAAU,CAAC,CAC5E,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,KAA8B;IAC9D,MAAM,MAAM,GAAG;QACb,oCAAoC,CAAC,KAAK,CAAC,KAAK,CAAC;QACjD,4CAA4C,CAAC,KAAK,CAAC,KAAK,CAAC;QACzD,2CAA2C,CAAC,KAAK,CAAC,MAAM,CAAC;KAC1D,CAAC;IAEF,OAAO,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,KAA8B;IAE9B,OAAO,wBAAwB,CAAC,KAAK,CAAC;QACpC,CAAC,CAAC,yBAAyB,CAAC,KAA+B,CAAC;QAC5D,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { DiagramSpecTopology } from "./diagramspec-topology.js";
2
2
  import type { DiagramSpecValidationError } from "./diagramspec-validation.js";
3
3
  export { validateGroupContainmentCycles, } from "./diagramspec-group-containment-cycle-validation.js";
4
- export declare function createDiagramSpecTopologyForValidation(value: Record<string, unknown>): DiagramSpecTopology | undefined;
4
+ export { createDiagramSpecTopologyForValidation, } from "./diagramspec-topology-for-validation.js";
5
5
  export declare function validateEdgeEndpoints(value: Record<string, unknown>, topology: DiagramSpecTopology | undefined, errors: DiagramSpecValidationError[]): void;
6
6
  export declare function validateGroupContainmentReferences(value: Record<string, unknown>, topology: DiagramSpecTopology | undefined, errors: DiagramSpecValidationError[]): void;
7
7
  export declare function validateDuplicateGroupContainmentParentage(value: Record<string, unknown>, topology: DiagramSpecTopology | undefined, errors: DiagramSpecValidationError[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"diagramspec-topology-validation.d.ts","sourceRoot":"","sources":["../src/diagramspec-topology-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAElF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAQ9E,OAAO,EACL,8BAA8B,GAC/B,MAAM,qDAAqD,CAAC;AAsB7D,wBAAgB,sCAAsC,CACpD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,mBAAmB,GAAG,SAAS,CAoBjC;AAiED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,EAAE,mBAAmB,GAAG,SAAS,EACzC,MAAM,EAAE,0BAA0B,EAAE,GACnC,IAAI,CAoCN;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,EAAE,mBAAmB,GAAG,SAAS,EACzC,MAAM,EAAE,0BAA0B,EAAE,GACnC,IAAI,CAsBN;AA4KD,wBAAgB,0CAA0C,CACxD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,EAAE,mBAAmB,GAAG,SAAS,EACzC,MAAM,EAAE,0BAA0B,EAAE,GACnC,IAAI,CAuEN"}
1
+ {"version":3,"file":"diagramspec-topology-validation.d.ts","sourceRoot":"","sources":["../src/diagramspec-topology-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AAQ9E,OAAO,EACL,8BAA8B,GAC/B,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EACL,sCAAsC,GACvC,MAAM,0CAA0C,CAAC;AAiElD,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,EAAE,mBAAmB,GAAG,SAAS,EACzC,MAAM,EAAE,0BAA0B,EAAE,GACnC,IAAI,CAoCN;AAED,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,EAAE,mBAAmB,GAAG,SAAS,EACzC,MAAM,EAAE,0BAA0B,EAAE,GACnC,IAAI,CAsBN;AAqUD,wBAAgB,0CAA0C,CACxD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,QAAQ,EAAE,mBAAmB,GAAG,SAAS,EACzC,MAAM,EAAE,0BAA0B,EAAE,GACnC,IAAI,CAON"}
@@ -1,32 +1,7 @@
1
- import { createDiagramSpecTopology } from "./diagramspec-topology.js";
2
1
  import { forEachStableGroupWithContains, idsFromTopologyMap, stableIdsFromCollection, } from "./diagramspec-topology-validation-helpers.js";
3
- import { isRecord, isStableId } from "./diagramspec-validation-helpers.js";
2
+ import { isRecord } from "./diagramspec-validation-helpers.js";
4
3
  export { validateGroupContainmentCycles, } from "./diagramspec-group-containment-cycle-validation.js";
5
- function isTopologyCompatibleObjectCollection(collection) {
6
- return (Array.isArray(collection) &&
7
- collection.every((item) => isRecord(item) && isStableId(item.id)));
8
- }
9
- function isTopologyCompatibleGroupCollection(collection) {
10
- return (Array.isArray(collection) &&
11
- collection.every((item) => isRecord(item) &&
12
- isStableId(item.id) &&
13
- Array.isArray(item.contains) &&
14
- item.contains.every((containedId) => typeof containedId === "string")));
15
- }
16
- export function createDiagramSpecTopologyForValidation(value) {
17
- if (!isTopologyCompatibleObjectCollection(value.nodes)) {
18
- return undefined;
19
- }
20
- if (value.edges !== undefined &&
21
- !isTopologyCompatibleObjectCollection(value.edges)) {
22
- return undefined;
23
- }
24
- if (value.groups !== undefined &&
25
- !isTopologyCompatibleGroupCollection(value.groups)) {
26
- return undefined;
27
- }
28
- return createDiagramSpecTopology(value);
29
- }
4
+ export { createDiagramSpecTopologyForValidation, } from "./diagramspec-topology-for-validation.js";
30
5
  function nodeIdsExpected(nodeIds) {
31
6
  if (nodeIds.size === 0)
32
7
  return "An existing node ID.";
@@ -120,16 +95,23 @@ function containmentReferenceContext(value, groups, topology) {
120
95
  expected: nodeOrGroupIdsExpected(nodeIds, groupIds),
121
96
  };
122
97
  }
98
+ function isValidTopologyContainmentObjectType(objectType) {
99
+ return objectType === "node" || objectType === "group";
100
+ }
101
+ function topologyContainmentReferencePath(reference) {
102
+ return `groups[${reference.parentGroupIndex}].contains[${reference.containedIndex}]`;
103
+ }
104
+ function topologyContainmentReferenceError(containedPath, containedId, containedObjectType, expected) {
105
+ return containedObjectType === "edge"
106
+ ? edgeContainmentReferenceError(containedPath, containedId, expected)
107
+ : unknownContainmentReferenceError(containedPath, containedId, expected);
108
+ }
123
109
  function validateTopologyContainmentReferences(topology, expected, errors) {
124
110
  for (const reference of topology.containmentReferences) {
125
- const containedPath = `groups[${reference.parentGroupIndex}].contains[${reference.containedIndex}]`;
126
- if (reference.containedObjectType === "node" ||
127
- reference.containedObjectType === "group") {
111
+ if (isValidTopologyContainmentObjectType(reference.containedObjectType)) {
128
112
  continue;
129
113
  }
130
- errors.push(reference.containedObjectType === "edge"
131
- ? edgeContainmentReferenceError(containedPath, reference.containedId, expected)
132
- : unknownContainmentReferenceError(containedPath, reference.containedId, expected));
114
+ errors.push(topologyContainmentReferenceError(topologyContainmentReferencePath(reference), reference.containedId, reference.containedObjectType, expected));
133
115
  }
134
116
  }
135
117
  function validateSourceContainmentReferences(groups, nodeIds, edgeIds, groupIds, expected, errors) {
@@ -173,21 +155,32 @@ function validateSourceContainmentReferences(groups, nodeIds, edgeIds, groupIds,
173
155
  }
174
156
  function sourceContainmentReferenceError(options) {
175
157
  if (typeof options.containedId !== "string") {
176
- return {
177
- path: options.containedPath,
178
- message: `${options.containedPath} must reference a node or group ID.`,
179
- badValue: options.containedId,
180
- expected: options.expected,
181
- suggestion: `Change ${options.containedPath} to an existing node or group ID.`,
182
- };
158
+ return nonStringContainmentReferenceError(options);
183
159
  }
184
- if (options.nodeIds.has(options.containedId) ||
185
- options.groupIds.has(options.containedId)) {
160
+ const containedId = options.containedId;
161
+ if (isKnownSourceContainmentReference({ ...options, containedId })) {
186
162
  return undefined;
187
163
  }
188
- return options.edgeIds.has(options.containedId)
189
- ? edgeContainmentReferenceError(options.containedPath, options.containedId, options.expected)
190
- : unknownContainmentReferenceError(options.containedPath, options.containedId, options.expected);
164
+ return invalidSourceContainmentReferenceError({ ...options, containedId });
165
+ }
166
+ function nonStringContainmentReferenceError(options) {
167
+ return {
168
+ path: options.containedPath,
169
+ message: `${options.containedPath} must reference a node or group ID.`,
170
+ badValue: options.containedId,
171
+ expected: options.expected,
172
+ suggestion: `Change ${options.containedPath} to an existing node or group ID.`,
173
+ };
174
+ }
175
+ function isKnownSourceContainmentReference(options) {
176
+ return (options.nodeIds.has(options.containedId) ||
177
+ options.groupIds.has(options.containedId));
178
+ }
179
+ function invalidSourceContainmentReferenceError(options) {
180
+ if (options.edgeIds.has(options.containedId)) {
181
+ return edgeContainmentReferenceError(options.containedPath, options.containedId, options.expected);
182
+ }
183
+ return unknownContainmentReferenceError(options.containedPath, options.containedId, options.expected);
191
184
  }
192
185
  function edgeContainmentReferenceError(containedPath, containedId, expected) {
193
186
  return {
@@ -207,58 +200,59 @@ function unknownContainmentReferenceError(containedPath, containedId, expected)
207
200
  suggestion: `Add a node or group with id "${containedId}" or change ${containedPath} to an existing node or group ID.`,
208
201
  };
209
202
  }
210
- export function validateDuplicateGroupContainmentParentage(value, topology, errors) {
211
- if (topology !== undefined) {
212
- const parentByContainedId = new Map();
213
- for (const reference of topology.containmentReferences) {
214
- if (reference.containedObjectType !== "node" &&
215
- reference.containedObjectType !== "group") {
216
- continue;
217
- }
218
- const existingParent = parentByContainedId.get(reference.containedId);
219
- if (existingParent === undefined) {
220
- parentByContainedId.set(reference.containedId, {
221
- id: reference.parentGroupId,
222
- });
223
- continue;
224
- }
225
- const path = `groups[${reference.parentGroupIndex}].contains[${reference.containedIndex}]`;
226
- errors.push({
227
- path,
228
- message: `${path} contains "${reference.containedId}", which is already contained by group "${existingParent.id}".`,
229
- badValue: reference.containedId,
230
- expected: "Each contained node or group can have at most one parent group.",
231
- suggestion: `Remove ${path} or choose a single parent group for "${reference.containedId}".`,
232
- });
233
- }
203
+ function isNodeOrGroupContainmentReference(reference) {
204
+ return (reference.containedObjectType === "node" ||
205
+ reference.containedObjectType === "group");
206
+ }
207
+ function duplicateParentageError(path, containedId, existingParentId) {
208
+ return {
209
+ path,
210
+ message: `${path} contains "${containedId}", which is already contained by group "${existingParentId}".`,
211
+ badValue: containedId,
212
+ expected: "Each contained node or group can have at most one parent group.",
213
+ suggestion: `Remove ${path} or choose a single parent group for "${containedId}".`,
214
+ };
215
+ }
216
+ function recordContainedParent(parentByContainedId, containedId, parentGroupId, path, errors) {
217
+ const existingParent = parentByContainedId.get(containedId);
218
+ if (existingParent === undefined) {
219
+ parentByContainedId.set(containedId, { id: parentGroupId });
234
220
  return;
235
221
  }
222
+ errors.push(duplicateParentageError(path, containedId, existingParent.id));
223
+ }
224
+ function validateTopologyDuplicateParentage(topology, errors) {
225
+ const parentByContainedId = new Map();
226
+ for (const reference of topology.containmentReferences) {
227
+ if (!isNodeOrGroupContainmentReference(reference)) {
228
+ continue;
229
+ }
230
+ recordContainedParent(parentByContainedId, reference.containedId, reference.parentGroupId, topologyContainmentReferencePath(reference), errors);
231
+ }
232
+ }
233
+ function isKnownSourceContainedId(containedId, nodeIds, groupIds) {
234
+ return (typeof containedId === "string" &&
235
+ (nodeIds.has(containedId) || groupIds.has(containedId)));
236
+ }
237
+ function validateSourceDuplicateParentage(value, errors) {
236
238
  const groups = value.groups;
237
239
  const nodeIds = stableIdsFromCollection(value.nodes);
238
240
  const groupIds = stableIdsFromCollection(groups);
239
241
  const parentByContainedId = new Map();
240
242
  forEachStableGroupWithContains(groups, (group, groupIndex, groupId) => {
241
243
  group.contains.forEach((containedId, containedIndex) => {
242
- if (typeof containedId !== "string" ||
243
- (!nodeIds.has(containedId) && !groupIds.has(containedId))) {
244
+ if (!isKnownSourceContainedId(containedId, nodeIds, groupIds)) {
244
245
  return;
245
246
  }
246
- const existingParent = parentByContainedId.get(containedId);
247
- if (existingParent === undefined) {
248
- parentByContainedId.set(containedId, {
249
- id: groupId,
250
- });
251
- return;
252
- }
253
- const path = `groups[${groupIndex}].contains[${containedIndex}]`;
254
- errors.push({
255
- path,
256
- message: `${path} contains "${containedId}", which is already contained by group "${existingParent.id}".`,
257
- badValue: containedId,
258
- expected: "Each contained node or group can have at most one parent group.",
259
- suggestion: `Remove ${path} or choose a single parent group for "${containedId}".`,
260
- });
247
+ recordContainedParent(parentByContainedId, containedId, groupId, `groups[${groupIndex}].contains[${containedIndex}]`, errors);
261
248
  });
262
249
  });
263
250
  }
251
+ export function validateDuplicateGroupContainmentParentage(value, topology, errors) {
252
+ if (topology !== undefined) {
253
+ validateTopologyDuplicateParentage(topology, errors);
254
+ return;
255
+ }
256
+ validateSourceDuplicateParentage(value, errors);
257
+ }
264
258
  //# sourceMappingURL=diagramspec-topology-validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagramspec-topology-validation.js","sourceRoot":"","sources":["../src/diagramspec-topology-validation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,EACL,8BAA8B,EAC9B,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAE3E,OAAO,EACL,8BAA8B,GAC/B,MAAM,qDAAqD,CAAC;AAE7D,SAAS,oCAAoC,CAAC,UAAmB;IAC/D,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QACzB,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAClE,CAAC;AACJ,CAAC;AAED,SAAS,mCAAmC,CAAC,UAAmB;IAC9D,OAAO,CACL,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;QACzB,UAAU,CAAC,KAAK,CACd,CAAC,IAAI,EAAE,EAAE,CACP,QAAQ,CAAC,IAAI,CAAC;YACd,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACnB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC;YAC5B,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,OAAO,WAAW,KAAK,QAAQ,CAAC,CACxE,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sCAAsC,CACpD,KAA8B;IAE9B,IAAI,CAAC,oCAAoC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QACvD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IACE,KAAK,CAAC,KAAK,KAAK,SAAS;QACzB,CAAC,oCAAoC,CAAC,KAAK,CAAC,KAAK,CAAC,EAClD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IACE,KAAK,CAAC,MAAM,KAAK,SAAS;QAC1B,CAAC,mCAAmC,CAAC,KAAK,CAAC,MAAM,CAAC,EAClD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,yBAAyB,CAAC,KAA+B,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,eAAe,CAAC,OAA4B;IACnD,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,sBAAsB,CAAC;IAEtD,OAAO,WAAW,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACtD,CAAC;AAED,SAAS,sBAAsB,CAC7B,OAA4B,EAC5B,QAA6B;IAE7B,MAAM,GAAG,GAAG,CAAC,GAAG,OAAO,EAAE,GAAG,QAAQ,CAAC,CAAC;IAEtC,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,+BAA+B,CAAC;IACzC,CAAC;IAED,OAAO,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACtC,CAAC;AAED,SAAS,oBAAoB,CAC3B,IAAY,EACZ,QAAiB,EACjB,OAA4B,EAC5B,QAA6B,EAC7B,MAAoC;IAEpC,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAE1C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,OAAO,EAAE,GAAG,IAAI,4BAA4B;YAC5C,QAAQ,EAAE,QAAQ;YAClB,QAAQ;YACR,UAAU,EAAE,UAAU,IAAI,0BAA0B;SACrD,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,IAAI,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC;YACV,IAAI;YACJ,OAAO,EAAE,GAAG,IAAI,sBAAsB,QAAQ,mCAAmC;YACjF,QAAQ,EAAE,QAAQ;YAClB,QAAQ;YACR,UAAU,EAAE,UAAU,IAAI,gDAAgD;SAC3E,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,MAAM,CAAC,IAAI,CAAC;QACV,IAAI;QACJ,OAAO,EAAE,GAAG,IAAI,6BAA6B,QAAQ,IAAI;QACzD,QAAQ,EAAE,QAAQ;QAClB,QAAQ;QACR,UAAU,EAAE,uBAAuB,QAAQ,eAAe,IAAI,0BAA0B;KACzF,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,KAA8B,EAC9B,QAAyC,EACzC,MAAoC;IAEpC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;IAE1B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GACX,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC;QACtC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,QAAQ,GACZ,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,MAAM,CAAC;QACvC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE9C,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,oBAAoB,CAClB,SAAS,KAAK,QAAQ,EACtB,IAAI,CAAC,IAAI,EACT,OAAO,EACP,QAAQ,EACR,MAAM,CACP,CAAC;QACF,oBAAoB,CAClB,SAAS,KAAK,MAAM,EACpB,IAAI,CAAC,EAAE,EACP,OAAO,EACP,QAAQ,EACR,MAAM,CACP,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,KAA8B,EAC9B,QAAyC,EACzC,MAAoC;IAEpC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAE5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,2BAA2B,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAErE,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,qCAAqC,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAC1E,OAAO;IACT,CAAC;IAED,mCAAmC,CACjC,MAAM,EACN,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,QAAQ,EAChB,MAAM,CACP,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAClC,KAA8B,EAC9B,MAA0B,EAC1B,QAAyC;IAOzC,MAAM,OAAO,GACX,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC;QACtC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,OAAO,GACX,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC;QACtC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,QAAQ,GACZ,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,uBAAuB,CAAC,MAAM,CAAC;QACjC,CAAC,CAAC,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IAE9C,OAAO;QACL,OAAO;QACP,OAAO;QACP,QAAQ;QACR,QAAQ,EAAE,sBAAsB,CAAC,OAAO,EAAE,QAAQ,CAAC;KACpD,CAAC;AACJ,CAAC;AAED,SAAS,qCAAqC,CAC5C,QAA6B,EAC7B,QAAgB,EAChB,MAAoC;IAEpC,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC;QACvD,MAAM,aAAa,GAAG,UAAU,SAAS,CAAC,gBAAgB,cAAc,SAAS,CAAC,cAAc,GAAG,CAAC;QAEpG,IACE,SAAS,CAAC,mBAAmB,KAAK,MAAM;YACxC,SAAS,CAAC,mBAAmB,KAAK,OAAO,EACzC,CAAC;YACD,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CACT,SAAS,CAAC,mBAAmB,KAAK,MAAM;YACtC,CAAC,CAAC,6BAA6B,CAAC,aAAa,EAAE,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC;YAC/E,CAAC,CAAC,gCAAgC,CAAC,aAAa,EAAE,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CACrF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,mCAAmC,CAC1C,MAA0B,EAC1B,OAA4B,EAC5B,OAA4B,EAC5B,QAA6B,EAC7B,QAAgB,EAChB,MAAoC;IAEpC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;QACnC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YAAE,OAAO;QAE7B,MAAM,YAAY,GAAG,UAAU,UAAU,YAAY,CAAC;QAEtD,IAAI,CAAC,CAAC,UAAU,IAAI,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,GAAG,YAAY,eAAe;gBACvC,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,QAAQ,EAAE,6BAA6B;gBACvC,UAAU,EAAE,0BAA0B,UAAU,2BAA2B;aAC5E,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,GAAG,YAAY,yCAAyC;gBACjE,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,QAAQ,EAAE,6BAA6B;gBACvC,UAAU,EAAE,UAAU,YAAY,kCAAkC;aACrE,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,EAAE;YACrD,MAAM,KAAK,GAAG,+BAA+B,CAAC;gBAC5C,WAAW;gBACX,aAAa,EAAE,GAAG,YAAY,IAAI,cAAc,GAAG;gBACnD,OAAO;gBACP,OAAO;gBACP,QAAQ;gBACR,QAAQ;aACT,CAAC,CAAC;YAEH,IAAI,KAAK,KAAK,SAAS;gBAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,+BAA+B,CAAC,OAOxC;IACC,IAAI,OAAO,OAAO,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC5C,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,aAAa;YAC3B,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,qCAAqC;YACtE,QAAQ,EAAE,OAAO,CAAC,WAAW;YAC7B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,UAAU,OAAO,CAAC,aAAa,mCAAmC;SAC/E,CAAC;IACJ,CAAC;IAED,IACE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC;QACxC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EACzC,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC;QAC7C,CAAC,CAAC,6BAA6B,CAC3B,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,QAAQ,CACjB;QACH,CAAC,CAAC,gCAAgC,CAC9B,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,QAAQ,CACjB,CAAC;AACR,CAAC;AAED,SAAS,6BAA6B,CACpC,aAAqB,EACrB,WAAmB,EACnB,QAAgB;IAEhB,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,GAAG,aAAa,qBAAqB,WAAW,8CAA8C;QACvG,QAAQ,EAAE,WAAW;QACrB,QAAQ;QACR,UAAU,EAAE,UAAU,aAAa,gDAAgD;KACpF,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CACvC,aAAqB,EACrB,WAAmB,EACnB,QAAgB;IAEhB,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,GAAG,aAAa,sCAAsC,WAAW,IAAI;QAC9E,QAAQ,EAAE,WAAW;QACrB,QAAQ;QACR,UAAU,EAAE,gCAAgC,WAAW,eAAe,aAAa,mCAAmC;KACvH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0CAA0C,CACxD,KAA8B,EAC9B,QAAyC,EACzC,MAAoC;IAEpC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA0B,CAAC;QAE9D,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,qBAAqB,EAAE,CAAC;YACvD,IACE,SAAS,CAAC,mBAAmB,KAAK,MAAM;gBACxC,SAAS,CAAC,mBAAmB,KAAK,OAAO,EACzC,CAAC;gBACD,SAAS;YACX,CAAC;YAED,MAAM,cAAc,GAAG,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAEtE,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,mBAAmB,CAAC,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE;oBAC7C,EAAE,EAAE,SAAS,CAAC,aAAa;iBAC5B,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,UAAU,SAAS,CAAC,gBAAgB,cAAc,SAAS,CAAC,cAAc,GAAG,CAAC;YAE3F,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,OAAO,EAAE,GAAG,IAAI,cAAc,SAAS,CAAC,WAAW,2CAA2C,cAAc,CAAC,EAAE,IAAI;gBACnH,QAAQ,EAAE,SAAS,CAAC,WAAW;gBAC/B,QAAQ,EACN,iEAAiE;gBACnE,UAAU,EAAE,UAAU,IAAI,yCAAyC,SAAS,CAAC,WAAW,IAAI;aAC7F,CAAC,CAAC;QACL,CAAC;QAED,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;IAC5B,MAAM,OAAO,GAAG,uBAAuB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA0B,CAAC;IAE9D,8BAA8B,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,EAAE;QACpE,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,cAAc,EAAE,EAAE;YACrD,IACE,OAAO,WAAW,KAAK,QAAQ;gBAC/B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,EACzD,CAAC;gBACD,OAAO;YACT,CAAC;YAED,MAAM,cAAc,GAAG,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAE5D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;gBACjC,mBAAmB,CAAC,GAAG,CAAC,WAAW,EAAE;oBACnC,EAAE,EAAE,OAAO;iBACZ,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,MAAM,IAAI,GAAG,UAAU,UAAU,cAAc,cAAc,GAAG,CAAC;YAEjE,MAAM,CAAC,IAAI,CAAC;gBACV,IAAI;gBACJ,OAAO,EAAE,GAAG,IAAI,cAAc,WAAW,2CAA2C,cAAc,CAAC,EAAE,IAAI;gBACzG,QAAQ,EAAE,WAAW;gBACrB,QAAQ,EACN,iEAAiE;gBACnE,UAAU,EAAE,UAAU,IAAI,yCAAyC,WAAW,IAAI;aACnF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"diagramspec-topology-validation.js","sourceRoot":"","sources":["../src/diagramspec-topology-validation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"diagramspec-topology.d.ts","sourceRoot":"","sources":["../src/diagramspec-topology.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagramspec-topology.d.ts","sourceRoot":"","sources":["../src/diagramspec-topology.ts"],"names":[],"mappings":"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"}
@@ -22,28 +22,37 @@ export function walkDiagramSpecTopology(topology, handlers) {
22
22
  walkGroup(group, rootDepth);
23
23
  }
24
24
  }
25
+ function topologyObjectType(id, nodesById, groupsById, edgesById) {
26
+ if (nodesById.has(id))
27
+ return "node";
28
+ if (groupsById.has(id))
29
+ return "group";
30
+ if (edgesById.has(id))
31
+ return "edge";
32
+ return "unknown";
33
+ }
34
+ function diagramSpecEdges(spec) {
35
+ return spec.edges ?? [];
36
+ }
37
+ function diagramSpecGroups(spec) {
38
+ return spec.groups ?? [];
39
+ }
40
+ function rootNodesForTopology(nodes, parentGroupIdsByObjectId) {
41
+ return nodes.filter((node) => !parentGroupIdsByObjectId.has(node.id));
42
+ }
43
+ function rootGroupsForTopology(groups, parentGroupIdsByObjectId) {
44
+ return groups.filter((group) => !parentGroupIdsByObjectId.has(group.id));
45
+ }
25
46
  export function createDiagramSpecTopology(spec) {
26
47
  const nodesById = new Map(spec.nodes.map((node) => [node.id, node]));
27
- const edgesById = new Map((spec.edges ?? []).map((edge) => [edge.id, edge]));
28
- const groups = spec.groups ?? [];
48
+ const edgesById = new Map(diagramSpecEdges(spec).map((edge) => [edge.id, edge]));
49
+ const groups = diagramSpecGroups(spec);
29
50
  const groupsById = new Map(groups.map((group) => [group.id, group]));
30
51
  const parentGroupIdsByObjectId = new Map();
31
52
  const containmentReferences = [];
32
53
  const containedObjectsByGroupId = new Map();
33
54
  const nodePathsById = new Map();
34
55
  const traversal = [];
35
- function getObjectType(id) {
36
- if (nodesById.has(id)) {
37
- return "node";
38
- }
39
- if (groupsById.has(id)) {
40
- return "group";
41
- }
42
- if (edgesById.has(id)) {
43
- return "edge";
44
- }
45
- return "unknown";
46
- }
47
56
  groups.forEach((group, parentGroupIndex) => {
48
57
  group.contains.forEach((containedId, containedIndex) => {
49
58
  parentGroupIdsByObjectId.set(containedId, group.id);
@@ -52,7 +61,7 @@ export function createDiagramSpecTopology(spec) {
52
61
  parentGroupIndex,
53
62
  containedId,
54
63
  containedIndex,
55
- containedObjectType: getObjectType(containedId),
64
+ containedObjectType: topologyObjectType(containedId, nodesById, groupsById, edgesById),
56
65
  });
57
66
  });
58
67
  });
@@ -77,41 +86,53 @@ export function createDiagramSpecTopology(spec) {
77
86
  group,
78
87
  };
79
88
  }
89
+ function addContainedGroupEntry(entries, childGroup, depth, path, parentGroupId, activeGroupIds) {
90
+ if (childGroup === undefined) {
91
+ return false;
92
+ }
93
+ const entry = createGroupEntry(childGroup, depth, path, parentGroupId);
94
+ entries.push(entry);
95
+ traversal.push(entry);
96
+ if (!activeGroupIds.has(childGroup.id)) {
97
+ addContainedObjects(childGroup, depth + 1, path, new Set([...activeGroupIds, childGroup.id]));
98
+ }
99
+ return true;
100
+ }
101
+ function addContainedNodeEntry(entries, childNode, depth, path, parentGroupId) {
102
+ if (childNode === undefined) {
103
+ return;
104
+ }
105
+ const entry = createNodeEntry(childNode, depth, path, parentGroupId);
106
+ entries.push(entry);
107
+ traversal.push(entry);
108
+ }
80
109
  function addContainedObjects(group, depth, parentPath, activeGroupIds) {
81
110
  const entries = [];
82
111
  for (const containedId of group.contains) {
83
112
  const path = [...parentPath, containedId];
84
- const childGroup = groupsById.get(containedId);
85
- if (childGroup !== undefined) {
86
- const entry = createGroupEntry(childGroup, depth, path, group.id);
87
- entries.push(entry);
88
- traversal.push(entry);
89
- if (!activeGroupIds.has(childGroup.id)) {
90
- addContainedObjects(childGroup, depth + 1, path, new Set([...activeGroupIds, childGroup.id]));
91
- }
113
+ if (addContainedGroupEntry(entries, groupsById.get(containedId), depth, path, group.id, activeGroupIds)) {
92
114
  continue;
93
115
  }
94
- const childNode = nodesById.get(containedId);
95
- if (childNode !== undefined) {
96
- const entry = createNodeEntry(childNode, depth, path, group.id);
97
- entries.push(entry);
98
- traversal.push(entry);
99
- }
116
+ addContainedNodeEntry(entries, nodesById.get(containedId), depth, path, group.id);
100
117
  }
101
118
  containedObjectsByGroupId.set(group.id, entries);
102
119
  }
103
- const rootNodes = spec.nodes.filter((node) => !parentGroupIdsByObjectId.has(node.id));
104
- const rootGroups = groups.filter((group) => !parentGroupIdsByObjectId.has(group.id));
105
- for (const node of rootNodes) {
106
- const entry = createNodeEntry(node, 0, [node.id]);
107
- traversal.push(entry);
120
+ function addRootNodeEntries(rootNodes) {
121
+ for (const node of rootNodes) {
122
+ traversal.push(createNodeEntry(node, 0, [node.id]));
123
+ }
108
124
  }
109
- for (const group of rootGroups) {
110
- const path = [group.id];
111
- const entry = createGroupEntry(group, 0, path);
112
- traversal.push(entry);
113
- addContainedObjects(group, 1, path, new Set([group.id]));
125
+ function addRootGroupEntries(rootGroups) {
126
+ for (const group of rootGroups) {
127
+ const path = [group.id];
128
+ traversal.push(createGroupEntry(group, 0, path));
129
+ addContainedObjects(group, 1, path, new Set([group.id]));
130
+ }
114
131
  }
132
+ const rootNodes = rootNodesForTopology(spec.nodes, parentGroupIdsByObjectId);
133
+ const rootGroups = rootGroupsForTopology(groups, parentGroupIdsByObjectId);
134
+ addRootNodeEntries(rootNodes);
135
+ addRootGroupEntries(rootGroups);
115
136
  return {
116
137
  nodesById,
117
138
  edgesById,
@@ -1 +1 @@
1
- {"version":3,"file":"diagramspec-topology.js","sourceRoot":"","sources":["../src/diagramspec-topology.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagramspec-topology.js","sourceRoot":"","sources":["../src/diagramspec-topology.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"diagramspec-validation.d.ts","sourceRoot":"","sources":["../src/diagramspec-validation.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;CAAG;AAE3E,MAAM,MAAM,2BAA2B,GACnC;IACE,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,EAAE,CAAC;CACZ,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,0BAA0B,EAAE,CAAC;CACtC,CAAC;AA6XN,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,GACb,2BAA2B,CAuB7B"}
1
+ {"version":3,"file":"diagramspec-validation.d.ts","sourceRoot":"","sources":["../src/diagramspec-validation.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,0BAA2B,SAAQ,oBAAoB;CAAG;AAE3E,MAAM,MAAM,2BAA2B,GACnC;IACE,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE,EAAE,CAAC;CACZ,GACD;IACE,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,0BAA0B,EAAE,CAAC;CACtC,CAAC;AA4aN,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,OAAO,GACb,2BAA2B,CAuB7B"}