@likec4/core 1.24.0 → 1.24.1

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.
@@ -1,5 +1,5 @@
1
- import { i, l, d, L as LikeC4Model } from '../shared/core.gWObeLn9.mjs';
2
- import { b as t, m, n as nameFromFqn, l as l$1, c as isSameHierarchy, p as parentFqn, a as i$1, d as t$1 } from '../shared/core.FFJhmauw.mjs';
1
+ import { i, l, d, L as LikeC4Model } from '../shared/core.Mz23ea8u.mjs';
2
+ import { b as t, m, n as nameFromFqn, l as l$1, c as isSameHierarchy, p as parentFqn, a as i$1, d as t$1 } from '../shared/core.CHsHWcLq.mjs';
3
3
  import { o, b as isElementPredicateExpr, D as DefaultElementShape, c as DefaultThemeColor, n as n$1, d as DeploymentElement, e as isScopedElementView } from '../shared/core.BNaXALvz.mjs';
4
4
  import { u, i as invariant } from '../shared/core.Btj1m6H6.mjs';
5
5
 
@@ -1,8 +1,8 @@
1
- import { G as Graph, r, w as willCreateCycle, t as topologicalSortExports, i as i$1, l } from '../shared/core.gWObeLn9.mjs';
2
- export { c as computeView, a as computeViews, u as unsafeComputeView } from '../shared/core.gWObeLn9.mjs';
3
- export { c as computeRelationshipsView } from '../shared/core.C92OYZca.mjs';
1
+ import { G as Graph, r, w as willCreateCycle, t as topologicalSortExports, i as i$1, l } from '../shared/core.Mz23ea8u.mjs';
2
+ export { c as computeView, a as computeViews, u as unsafeComputeView } from '../shared/core.Mz23ea8u.mjs';
3
+ export { c as computeRelationshipsView } from '../shared/core.DT2JT2Cd.mjs';
4
4
  import { i as isExtendsElementView, a as isElementView } from '../shared/core.BNaXALvz.mjs';
5
- import { a as i, m } from '../shared/core.FFJhmauw.mjs';
5
+ import { a as i, m } from '../shared/core.CHsHWcLq.mjs';
6
6
  import { u } from '../shared/core.Btj1m6H6.mjs';
7
7
 
8
8
  function y(...t){return u(f,t)}function f(t,e){if(!i(e,1))return {...t};if(!i(e,2)){let{[e[0]]:r,...m}=t;return m}let o={...t};for(let r of e)delete o[r];return o}
package/dist/index.d.mts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { H as HexColorLiteral, T as ThemeColorValues, L as LikeC4Theme } from './shared/core.Bhx0OGK8.mjs';
2
2
  export { A as AsFqn, k as BorderStyle, B as BorderStyles, w as Color, x as ColorLiteral, C as CustomColor, D as DefaultElementShape, e as DefaultPaddingSize, f as DefaultShapeSize, g as DefaultTextSize, h as DefaultThemeColor, l as Element, i as ElementKind, m as ElementKindSpecification, n as ElementKindSpecificationStyle, o as ElementShape, j as ElementShapes, p as ElementStyle, z as ElementThemeColorValues, y as ElementThemeColors, E as ExclusiveUnion, F as Fqn, I as IconUrl, a as IteratorLike, K as KeysOf, q as Link, c as NTuple, N as NonEmptyArray, b as NonEmptyReadonlyArray, P as Point, d as Predicate, G as RelationshipThemeColorValues, R as RelationshipThemeColors, S as ShapeSize, J as SpacingSize, r as Tag, s as TagSpec, M as TextSize, O as ThemeColor, v as ThemeColors, t as TypedElement, X as XYPoint, u as isThemeColor } from './shared/core.Bhx0OGK8.mjs';
3
3
  export { as as AbstractRelation, ag as AndOperator, a5 as AnyParsedLikeC4Model, aT as AutoLayoutDirection, aW as BBox, aU as BasicElementView, aV as BasicView, aX as ComputedDeploymentView, aY as ComputedDynamicView, aZ as ComputedEdge, a_ as ComputedElementView, C as ComputedLikeC4Model, az as ComputedNode, a as ComputedView, a$ as CustomColorDefinitions, A as CustomElementExpr, B as CustomRelationExpr, ap as DefaultArrowType, aq as DefaultLineStyle, ar as DefaultRelationshipColor, b as DeployedInstance, D as DeploymentElement, c as DeploymentElementStyle, d as DeploymentNode, f as DeploymentNodeKind, g as DeploymentNodeKindSpecification, h as DeploymentRef, i as DeploymentRelation, b0 as DeploymentView, b1 as DeploymentViewRule, b2 as DeploymentViewRulePredicate, b3 as DeploymentViewRuleStyle, b4 as DiagramEdge, aA as DiagramNode, b5 as DiagramView, E as DirectRelationExpr, b6 as DynamicView, b7 as DynamicViewIncludeRule, b8 as DynamicViewParallelSteps, b9 as DynamicViewRule, ba as DynamicViewStep, bb as DynamicViewStepOrParallel, bc as EdgeId, F as ElementExpression, G as ElementKindExpr, bw as ElementNotation, H as ElementPredicateExpression, I as ElementRefExpr, J as ElementTagExpr, bd as ElementView, K as ElementWhereExpr, ah as EqualOperator, M as ExpandedElementExpr, e as Expr, N as Expression, X as ExpressionV2, be as ExtendsElementView, ai as Filterable, Y as FqnExpr, Z as FqnRef, a6 as GenericLikeC4Model, $ as GlobalDynamicPredicates, a0 as GlobalPredicateId, a1 as GlobalPredicates, a2 as GlobalStyleID, a3 as GlobalStyles, Q as InOutExpr, O as IncomingExpr, aj as KindEqual, a7 as LayoutedLikeC4Model, a8 as LikeC4ModelDump, L as LikeC4View, a4 as ModelGlobals, at as ModelRelation, bf as NodeId, R as NonWilcard, ak as NotOperator, al as OperatorPredicate, am as OrOperator, S as OutgoingExpr, a9 as ParsedLikeC4Model, P as PredicateSelector, _ as RelationExpr, T as RelationExpression, au as RelationId, U as RelationPredicateExpression, V as RelationWhereExpr, av as RelationshipArrowType, aw as RelationshipKind, ax as RelationshipKindSpecification, ay as RelationshipLineType, bg as ScopedElementView, bh as StepEdgeId, bi as StepEdgeIdLiteral, an as TagEqual, bj as ViewAutoLayout, bk as ViewId, bl as ViewManualLayout, bm as ViewRule, bn as ViewRuleAutoLayout, bo as ViewRuleGlobalPredicateRef, bp as ViewRuleGlobalStyle, bq as ViewRuleGroup, br as ViewRulePredicate, bs as ViewRuleStyle, bt as ViewRuleStyleOrGlobalRef, bu as ViewWithHash, bv as ViewWithNotation, ao as WhereOperator, W as WildcardExpr, aB as extractStep, aC as getBBoxCenter, aD as getParallelStepsPrefix, aa as isAndOperator, aE as isAutoLayoutDirection, j as isCustomElement, k as isCustomRelationExpr, aF as isDeploymentView, aG as isDynamicView, aH as isDynamicViewParallelSteps, l as isElement, m as isElementKindExpr, n as isElementPredicateExpr, o as isElementRef, p as isElementTagExpr, aI as isElementView, q as isElementWhere, r as isExpandedElementExpr, aJ as isExtendsElementView, t as isInOut, s as isIncoming, ab as isKindEqual, ac as isNotOperator, ad as isOrOperator, u as isOutgoing, v as isRelation, w as isRelationExpression, x as isRelationPredicateExpr, y as isRelationWhere, aK as isScopedElementView, aL as isStepEdgeId, ae as isTagEqual, aM as isViewRuleAutoLayout, aN as isViewRuleGlobalPredicateRef, aO as isViewRuleGlobalStyle, aP as isViewRuleGroup, aQ as isViewRulePredicate, aR as isViewRuleStyle, z as isWildcard, aS as stepEdgeId, af as whereOperatorAsPredicate } from './shared/core.BreLKHbT.mjs';
4
- export { DefaultMap, DefaultWeakMap, LinkedList, Queue, Stack, commonHead, compareNatural, compareRelations, delay, difference, equalsSet, getOrCreate, hasAtLeast, ifilter, ifind, iflat, imap, intersection, ireduce, isIterable, isNonEmptyArray, isString, isome, iunique, objectHash, stringHash, symmetricDifference, toArray, toSet, union } from './utils/index.mjs';
4
+ export { DefaultMap, DefaultWeakMap, LinkedList, MultiMap, Queue, Stack, commonHead, compareNatural, compareRelations, delay, difference, equalsSet, getOrCreate, hasAtLeast, ifilter, ifind, iflat, imap, intersection, ireduce, isIterable, isNonEmptyArray, isString, isome, iunique, objectHash, stringHash, symmetricDifference, toArray, toSet, union } from './utils/index.mjs';
5
5
  export { A as AnyAux, b as Aux, C as ComputeViewResult, d as LikeC4DeploymentModel, L as LikeC4Model, e as LikeC4ViewModel, c as computeView, a as computeViews, u as unsafeComputeView } from './shared/core.DbfQeUKm.mjs';
6
6
  export { c as computeRelationshipsView } from './shared/core.3L0y_SNW.mjs';
7
7
  export { OverviewGraph, ViewChange } from './types/index.mjs';
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { H as HexColorLiteral, T as ThemeColorValues, L as LikeC4Theme } from './shared/core.Bhx0OGK8.js';
2
2
  export { A as AsFqn, k as BorderStyle, B as BorderStyles, w as Color, x as ColorLiteral, C as CustomColor, D as DefaultElementShape, e as DefaultPaddingSize, f as DefaultShapeSize, g as DefaultTextSize, h as DefaultThemeColor, l as Element, i as ElementKind, m as ElementKindSpecification, n as ElementKindSpecificationStyle, o as ElementShape, j as ElementShapes, p as ElementStyle, z as ElementThemeColorValues, y as ElementThemeColors, E as ExclusiveUnion, F as Fqn, I as IconUrl, a as IteratorLike, K as KeysOf, q as Link, c as NTuple, N as NonEmptyArray, b as NonEmptyReadonlyArray, P as Point, d as Predicate, G as RelationshipThemeColorValues, R as RelationshipThemeColors, S as ShapeSize, J as SpacingSize, r as Tag, s as TagSpec, M as TextSize, O as ThemeColor, v as ThemeColors, t as TypedElement, X as XYPoint, u as isThemeColor } from './shared/core.Bhx0OGK8.js';
3
3
  export { as as AbstractRelation, ag as AndOperator, a5 as AnyParsedLikeC4Model, aT as AutoLayoutDirection, aW as BBox, aU as BasicElementView, aV as BasicView, aX as ComputedDeploymentView, aY as ComputedDynamicView, aZ as ComputedEdge, a_ as ComputedElementView, C as ComputedLikeC4Model, az as ComputedNode, a as ComputedView, a$ as CustomColorDefinitions, A as CustomElementExpr, B as CustomRelationExpr, ap as DefaultArrowType, aq as DefaultLineStyle, ar as DefaultRelationshipColor, b as DeployedInstance, D as DeploymentElement, c as DeploymentElementStyle, d as DeploymentNode, f as DeploymentNodeKind, g as DeploymentNodeKindSpecification, h as DeploymentRef, i as DeploymentRelation, b0 as DeploymentView, b1 as DeploymentViewRule, b2 as DeploymentViewRulePredicate, b3 as DeploymentViewRuleStyle, b4 as DiagramEdge, aA as DiagramNode, b5 as DiagramView, E as DirectRelationExpr, b6 as DynamicView, b7 as DynamicViewIncludeRule, b8 as DynamicViewParallelSteps, b9 as DynamicViewRule, ba as DynamicViewStep, bb as DynamicViewStepOrParallel, bc as EdgeId, F as ElementExpression, G as ElementKindExpr, bw as ElementNotation, H as ElementPredicateExpression, I as ElementRefExpr, J as ElementTagExpr, bd as ElementView, K as ElementWhereExpr, ah as EqualOperator, M as ExpandedElementExpr, e as Expr, N as Expression, X as ExpressionV2, be as ExtendsElementView, ai as Filterable, Y as FqnExpr, Z as FqnRef, a6 as GenericLikeC4Model, $ as GlobalDynamicPredicates, a0 as GlobalPredicateId, a1 as GlobalPredicates, a2 as GlobalStyleID, a3 as GlobalStyles, Q as InOutExpr, O as IncomingExpr, aj as KindEqual, a7 as LayoutedLikeC4Model, a8 as LikeC4ModelDump, L as LikeC4View, a4 as ModelGlobals, at as ModelRelation, bf as NodeId, R as NonWilcard, ak as NotOperator, al as OperatorPredicate, am as OrOperator, S as OutgoingExpr, a9 as ParsedLikeC4Model, P as PredicateSelector, _ as RelationExpr, T as RelationExpression, au as RelationId, U as RelationPredicateExpression, V as RelationWhereExpr, av as RelationshipArrowType, aw as RelationshipKind, ax as RelationshipKindSpecification, ay as RelationshipLineType, bg as ScopedElementView, bh as StepEdgeId, bi as StepEdgeIdLiteral, an as TagEqual, bj as ViewAutoLayout, bk as ViewId, bl as ViewManualLayout, bm as ViewRule, bn as ViewRuleAutoLayout, bo as ViewRuleGlobalPredicateRef, bp as ViewRuleGlobalStyle, bq as ViewRuleGroup, br as ViewRulePredicate, bs as ViewRuleStyle, bt as ViewRuleStyleOrGlobalRef, bu as ViewWithHash, bv as ViewWithNotation, ao as WhereOperator, W as WildcardExpr, aB as extractStep, aC as getBBoxCenter, aD as getParallelStepsPrefix, aa as isAndOperator, aE as isAutoLayoutDirection, j as isCustomElement, k as isCustomRelationExpr, aF as isDeploymentView, aG as isDynamicView, aH as isDynamicViewParallelSteps, l as isElement, m as isElementKindExpr, n as isElementPredicateExpr, o as isElementRef, p as isElementTagExpr, aI as isElementView, q as isElementWhere, r as isExpandedElementExpr, aJ as isExtendsElementView, t as isInOut, s as isIncoming, ab as isKindEqual, ac as isNotOperator, ad as isOrOperator, u as isOutgoing, v as isRelation, w as isRelationExpression, x as isRelationPredicateExpr, y as isRelationWhere, aK as isScopedElementView, aL as isStepEdgeId, ae as isTagEqual, aM as isViewRuleAutoLayout, aN as isViewRuleGlobalPredicateRef, aO as isViewRuleGlobalStyle, aP as isViewRuleGroup, aQ as isViewRulePredicate, aR as isViewRuleStyle, z as isWildcard, aS as stepEdgeId, af as whereOperatorAsPredicate } from './shared/core.C9UbC1nX.js';
4
- export { DefaultMap, DefaultWeakMap, LinkedList, Queue, Stack, commonHead, compareNatural, compareRelations, delay, difference, equalsSet, getOrCreate, hasAtLeast, ifilter, ifind, iflat, imap, intersection, ireduce, isIterable, isNonEmptyArray, isString, isome, iunique, objectHash, stringHash, symmetricDifference, toArray, toSet, union } from './utils/index.js';
4
+ export { DefaultMap, DefaultWeakMap, LinkedList, MultiMap, Queue, Stack, commonHead, compareNatural, compareRelations, delay, difference, equalsSet, getOrCreate, hasAtLeast, ifilter, ifind, iflat, imap, intersection, ireduce, isIterable, isNonEmptyArray, isString, isome, iunique, objectHash, stringHash, symmetricDifference, toArray, toSet, union } from './utils/index.js';
5
5
  export { A as AnyAux, b as Aux, C as ComputeViewResult, d as LikeC4DeploymentModel, L as LikeC4Model, e as LikeC4ViewModel, c as computeView, a as computeViews, u as unsafeComputeView } from './shared/core.k4jahJ8j.js';
6
6
  export { c as computeRelationshipsView } from './shared/core.DBToPQ3n.js';
7
7
  export { OverviewGraph, ViewChange } from './types/index.js';
package/dist/index.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  export { i as invariant, a as nonNullable, n as nonexhaustive } from './shared/core.Btj1m6H6.mjs';
2
2
  export { A as AsFqn, B as BorderStyles, U as ComputedNode, V as ComputedView, Q as DefaultArrowType, D as DefaultElementShape, S as DefaultLineStyle, g as DefaultPaddingSize, T as DefaultRelationshipColor, h as DefaultShapeSize, j as DefaultTextSize, c as DefaultThemeColor, d as DeploymentElement, W as DiagramNode, E as ElementKind, k as ElementShapes, f as Expr, H as ExpressionV2, I as FqnExpr, J as FqnRef, R as RelationExpr, X as extractStep, Y as getBBoxCenter, Z as getParallelStepsPrefix, K as isAndOperator, _ as isAutoLayoutDirection, l as isCustomElement, m as isCustomRelationExpr, $ as isDeploymentView, a0 as isDynamicView, a1 as isDynamicViewParallelSteps, p as isElement, q as isElementKindExpr, b as isElementPredicateExpr, r as isElementRef, s as isElementTagExpr, a as isElementView, t as isElementWhere, u as isExpandedElementExpr, i as isExtendsElementView, w as isInOut, v as isIncoming, L as isKindEqual, M as isNotOperator, N as isOrOperator, x as isOutgoing, y as isRelation, z as isRelationExpression, C as isRelationPredicateExpr, F as isRelationWhere, e as isScopedElementView, a2 as isStepEdgeId, O as isTagEqual, a3 as isViewRuleAutoLayout, a4 as isViewRuleGlobalPredicateRef, a5 as isViewRuleGlobalStyle, a6 as isViewRuleGroup, a7 as isViewRulePredicate, a8 as isViewRuleStyle, G as isWildcard, a9 as stepEdgeId, P as whereOperatorAsPredicate } from './shared/core.BNaXALvz.mjs';
3
- export { b as LikeC4DeploymentModel, L as LikeC4Model, e as LikeC4ViewModel, c as computeView, a as computeViews, u as unsafeComputeView } from './shared/core.gWObeLn9.mjs';
4
- export { c as computeRelationshipsView } from './shared/core.C92OYZca.mjs';
3
+ export { b as LikeC4DeploymentModel, L as LikeC4Model, e as LikeC4ViewModel, c as computeView, a as computeViews, u as unsafeComputeView } from './shared/core.Mz23ea8u.mjs';
4
+ export { c as computeRelationshipsView } from './shared/core.DT2JT2Cd.mjs';
5
5
  export { ThemeColors, isThemeColor } from './types/index.mjs';
6
- export { D as DefaultMap, e as DefaultWeakMap, f as LinkedList, q as Queue, S as Stack, j as ancestorsFqn, k as commonAncestor, g as commonHead, o as compareByFqnHierarchically, r as compareFqnHierarchically, h as compareNatural, L as difference, M as equalsSet, A as getOrCreate, a as hasAtLeast, s as hierarchyDistance, u as hierarchyLevel, E as ifilter, i as ifind, F as iflat, G as imap, N as intersection, v as isAncestor, w as isDescendantOf, H as isIterable, B as isNonEmptyArray, c as isSameHierarchy, C as isString, I as isome, J as iunique, n as nameFromFqn, R as objectHash, p as parentFqn, x as sortByFqnHierarchically, y as sortNaturalByFqn, z as sortParentsFirst, Q as stringHash, O as symmetricDifference, K as toArray, t as toSet, P as union } from './shared/core.FFJhmauw.mjs';
6
+ export { D as DefaultMap, e as DefaultWeakMap, f as LinkedList, g as MultiMap, q as Queue, S as Stack, k as ancestorsFqn, o as commonAncestor, h as commonHead, r as compareByFqnHierarchically, s as compareFqnHierarchically, j as compareNatural, M as difference, N as equalsSet, B as getOrCreate, a as hasAtLeast, u as hierarchyDistance, v as hierarchyLevel, F as ifilter, i as ifind, G as iflat, H as imap, O as intersection, w as isAncestor, x as isDescendantOf, I as isIterable, C as isNonEmptyArray, c as isSameHierarchy, E as isString, J as isome, K as iunique, n as nameFromFqn, T as objectHash, p as parentFqn, y as sortByFqnHierarchically, z as sortNaturalByFqn, A as sortParentsFirst, R as stringHash, P as symmetricDifference, L as toArray, t as toSet, Q as union } from './shared/core.CHsHWcLq.mjs';
7
7
  export { compareRelations, delay, ireduce } from './utils/index.mjs';
8
8
 
9
9
  const { min: min$4, max: max$4 } = Math;
@@ -1 +1 @@
1
- export { C as Connection, f as ConnectionModel, F as DeployedInstanceModel, D as DeploymentConnectionModel, H as DeploymentNodeModel, I as DeploymentRelationModel, J as EdgeModel, E as ElementModel, b as LikeC4DeploymentModel, L as LikeC4Model, e as LikeC4ViewModel, N as NodeModel, R as RelationshipModel, g as deploymentConnection, h as differenceConnections, j as findAscendingConnections, k as findDeepestNestedConnection, m as findDescendantConnections, n as hasSameSource, o as hasSameSourceTarget, p as hasSameTarget, q as isAnyInOut, K as isDeployedInstance, M as isDeploymentNode, s as isIncoming, v as isNestedConnection, x as isOutgoing, y as mergeConnections, z as modelConnection, A as sortConnectionsByBoundaryHierarchy, B as sortDeepestFirst } from '../shared/core.gWObeLn9.mjs';
1
+ export { C as Connection, f as ConnectionModel, F as DeployedInstanceModel, D as DeploymentConnectionModel, H as DeploymentNodeModel, I as DeploymentRelationModel, J as EdgeModel, E as ElementModel, b as LikeC4DeploymentModel, L as LikeC4Model, e as LikeC4ViewModel, N as NodeModel, R as RelationshipModel, g as deploymentConnection, h as differenceConnections, j as findAscendingConnections, k as findDeepestNestedConnection, m as findDescendantConnections, n as hasSameSource, o as hasSameSourceTarget, p as hasSameTarget, q as isAnyInOut, K as isDeployedInstance, M as isDeploymentNode, s as isIncoming, v as isNestedConnection, x as isOutgoing, y as mergeConnections, z as modelConnection, A as sortConnectionsByBoundaryHierarchy, B as sortDeepestFirst } from '../shared/core.Mz23ea8u.mjs';
@@ -1020,6 +1020,427 @@ function requireQueue () {
1020
1020
  var queueExports = requireQueue();
1021
1021
  const queue = /*@__PURE__*/getDefaultExportFromCjs(queueExports);
1022
1022
 
1023
+ /**
1024
+ * Mnemonist MultiMap
1025
+ * ===================
1026
+ *
1027
+ * Implementation of a MultiMap with custom container.
1028
+ */
1029
+
1030
+ var multiMap$1;
1031
+ var hasRequiredMultiMap;
1032
+
1033
+ function requireMultiMap () {
1034
+ if (hasRequiredMultiMap) return multiMap$1;
1035
+ hasRequiredMultiMap = 1;
1036
+ var Iterator = requireIterator(),
1037
+ forEach = requireForeach();
1038
+
1039
+ /**
1040
+ * MultiMap.
1041
+ *
1042
+ * @constructor
1043
+ */
1044
+ function MultiMap(Container) {
1045
+
1046
+ this.Container = Container || Array;
1047
+ this.items = new Map();
1048
+ this.clear();
1049
+
1050
+ Object.defineProperty(this.items, 'constructor', {
1051
+ value: MultiMap,
1052
+ enumerable: false
1053
+ });
1054
+ }
1055
+
1056
+ /**
1057
+ * Method used to clear the structure.
1058
+ *
1059
+ * @return {undefined}
1060
+ */
1061
+ MultiMap.prototype.clear = function() {
1062
+
1063
+ // Properties
1064
+ this.size = 0;
1065
+ this.dimension = 0;
1066
+ this.items.clear();
1067
+ };
1068
+
1069
+ /**
1070
+ * Method used to set a value.
1071
+ *
1072
+ * @param {any} key - Key.
1073
+ * @param {any} value - Value to add.
1074
+ * @return {MultiMap}
1075
+ */
1076
+ MultiMap.prototype.set = function(key, value) {
1077
+ var container = this.items.get(key),
1078
+ sizeBefore;
1079
+
1080
+ if (!container) {
1081
+ this.dimension++;
1082
+ container = new this.Container();
1083
+ this.items.set(key, container);
1084
+ }
1085
+
1086
+ if (this.Container === Set) {
1087
+ sizeBefore = container.size;
1088
+ container.add(value);
1089
+
1090
+ if (sizeBefore < container.size)
1091
+ this.size++;
1092
+ }
1093
+ else {
1094
+ container.push(value);
1095
+ this.size++;
1096
+ }
1097
+
1098
+ return this;
1099
+ };
1100
+
1101
+ /**
1102
+ * Method used to delete the given key.
1103
+ *
1104
+ * @param {any} key - Key to delete.
1105
+ * @return {boolean}
1106
+ */
1107
+ MultiMap.prototype.delete = function(key) {
1108
+ var container = this.items.get(key);
1109
+
1110
+ if (!container)
1111
+ return false;
1112
+
1113
+ this.size -= (this.Container === Set ? container.size : container.length);
1114
+ this.dimension--;
1115
+ this.items.delete(key);
1116
+
1117
+ return true;
1118
+ };
1119
+
1120
+ /**
1121
+ * Method used to delete the remove an item in the container stored at the
1122
+ * given key.
1123
+ *
1124
+ * @param {any} key - Key to delete.
1125
+ * @return {boolean}
1126
+ */
1127
+ MultiMap.prototype.remove = function(key, value) {
1128
+ var container = this.items.get(key),
1129
+ wasDeleted,
1130
+ index;
1131
+
1132
+ if (!container)
1133
+ return false;
1134
+
1135
+ if (this.Container === Set) {
1136
+ wasDeleted = container.delete(value);
1137
+
1138
+ if (wasDeleted)
1139
+ this.size--;
1140
+
1141
+ if (container.size === 0) {
1142
+ this.items.delete(key);
1143
+ this.dimension--;
1144
+ }
1145
+
1146
+ return wasDeleted;
1147
+ }
1148
+ else {
1149
+ index = container.indexOf(value);
1150
+
1151
+ if (index === -1)
1152
+ return false;
1153
+
1154
+ this.size--;
1155
+
1156
+ if (container.length === 1) {
1157
+ this.items.delete(key);
1158
+ this.dimension--;
1159
+
1160
+ return true;
1161
+ }
1162
+
1163
+ container.splice(index, 1);
1164
+
1165
+ return true;
1166
+ }
1167
+ };
1168
+
1169
+ /**
1170
+ * Method used to return whether the given keys exists in the map.
1171
+ *
1172
+ * @param {any} key - Key to check.
1173
+ * @return {boolean}
1174
+ */
1175
+ MultiMap.prototype.has = function(key) {
1176
+ return this.items.has(key);
1177
+ };
1178
+
1179
+ /**
1180
+ * Method used to return the container stored at the given key or `undefined`.
1181
+ *
1182
+ * @param {any} key - Key to get.
1183
+ * @return {boolean}
1184
+ */
1185
+ MultiMap.prototype.get = function(key) {
1186
+ return this.items.get(key);
1187
+ };
1188
+
1189
+ /**
1190
+ * Method used to return the multiplicity of the given key, meaning the number
1191
+ * of times it is set, or, more trivially, the size of the attached container.
1192
+ *
1193
+ * @param {any} key - Key to check.
1194
+ * @return {number}
1195
+ */
1196
+ MultiMap.prototype.multiplicity = function(key) {
1197
+ var container = this.items.get(key);
1198
+
1199
+ if (typeof container === 'undefined')
1200
+ return 0;
1201
+
1202
+ return this.Container === Set ? container.size : container.length;
1203
+ };
1204
+ MultiMap.prototype.count = MultiMap.prototype.multiplicity;
1205
+
1206
+ /**
1207
+ * Method used to iterate over each of the key/value pairs.
1208
+ *
1209
+ * @param {function} callback - Function to call for each item.
1210
+ * @param {object} scope - Optional scope.
1211
+ * @return {undefined}
1212
+ */
1213
+ MultiMap.prototype.forEach = function(callback, scope) {
1214
+ scope = arguments.length > 1 ? scope : this;
1215
+
1216
+ // Inner iteration function is created here to avoid creating it in the loop
1217
+ var key;
1218
+ function inner(value) {
1219
+ callback.call(scope, value, key);
1220
+ }
1221
+
1222
+ this.items.forEach(function(container, k) {
1223
+ key = k;
1224
+ container.forEach(inner);
1225
+ });
1226
+ };
1227
+
1228
+ /**
1229
+ * Method used to iterate over each of the associations.
1230
+ *
1231
+ * @param {function} callback - Function to call for each item.
1232
+ * @param {object} scope - Optional scope.
1233
+ * @return {undefined}
1234
+ */
1235
+ MultiMap.prototype.forEachAssociation = function(callback, scope) {
1236
+ scope = arguments.length > 1 ? scope : this;
1237
+
1238
+ this.items.forEach(callback, scope);
1239
+ };
1240
+
1241
+ /**
1242
+ * Method returning an iterator over the map's keys.
1243
+ *
1244
+ * @return {Iterator}
1245
+ */
1246
+ MultiMap.prototype.keys = function() {
1247
+ return this.items.keys();
1248
+ };
1249
+
1250
+ /**
1251
+ * Method returning an iterator over the map's keys.
1252
+ *
1253
+ * @return {Iterator}
1254
+ */
1255
+ MultiMap.prototype.values = function() {
1256
+ var iterator = this.items.values(),
1257
+ inContainer = false,
1258
+ countainer,
1259
+ step,
1260
+ i,
1261
+ l;
1262
+
1263
+ if (this.Container === Set)
1264
+ return new Iterator(function next() {
1265
+ if (!inContainer) {
1266
+ step = iterator.next();
1267
+
1268
+ if (step.done)
1269
+ return {done: true};
1270
+
1271
+ inContainer = true;
1272
+ countainer = step.value.values();
1273
+ }
1274
+
1275
+ step = countainer.next();
1276
+
1277
+ if (step.done) {
1278
+ inContainer = false;
1279
+ return next();
1280
+ }
1281
+
1282
+ return {
1283
+ done: false,
1284
+ value: step.value
1285
+ };
1286
+ });
1287
+
1288
+ return new Iterator(function next() {
1289
+ if (!inContainer) {
1290
+ step = iterator.next();
1291
+
1292
+ if (step.done)
1293
+ return {done: true};
1294
+
1295
+ inContainer = true;
1296
+ countainer = step.value;
1297
+ i = 0;
1298
+ l = countainer.length;
1299
+ }
1300
+
1301
+ if (i >= l) {
1302
+ inContainer = false;
1303
+ return next();
1304
+ }
1305
+
1306
+ return {
1307
+ done: false,
1308
+ value: countainer[i++]
1309
+ };
1310
+ });
1311
+ };
1312
+
1313
+ /**
1314
+ * Method returning an iterator over the map's entries.
1315
+ *
1316
+ * @return {Iterator}
1317
+ */
1318
+ MultiMap.prototype.entries = function() {
1319
+ var iterator = this.items.entries(),
1320
+ inContainer = false,
1321
+ countainer,
1322
+ step,
1323
+ key,
1324
+ i,
1325
+ l;
1326
+
1327
+ if (this.Container === Set)
1328
+ return new Iterator(function next() {
1329
+ if (!inContainer) {
1330
+ step = iterator.next();
1331
+
1332
+ if (step.done)
1333
+ return {done: true};
1334
+
1335
+ inContainer = true;
1336
+ key = step.value[0];
1337
+ countainer = step.value[1].values();
1338
+ }
1339
+
1340
+ step = countainer.next();
1341
+
1342
+ if (step.done) {
1343
+ inContainer = false;
1344
+ return next();
1345
+ }
1346
+
1347
+ return {
1348
+ done: false,
1349
+ value: [key, step.value]
1350
+ };
1351
+ });
1352
+
1353
+ return new Iterator(function next() {
1354
+ if (!inContainer) {
1355
+ step = iterator.next();
1356
+
1357
+ if (step.done)
1358
+ return {done: true};
1359
+
1360
+ inContainer = true;
1361
+ key = step.value[0];
1362
+ countainer = step.value[1];
1363
+ i = 0;
1364
+ l = countainer.length;
1365
+ }
1366
+
1367
+ if (i >= l) {
1368
+ inContainer = false;
1369
+ return next();
1370
+ }
1371
+
1372
+ return {
1373
+ done: false,
1374
+ value: [key, countainer[i++]]
1375
+ };
1376
+ });
1377
+ };
1378
+
1379
+ /**
1380
+ * Method returning an iterator over the map's containers.
1381
+ *
1382
+ * @return {Iterator}
1383
+ */
1384
+ MultiMap.prototype.containers = function() {
1385
+ return this.items.values();
1386
+ };
1387
+
1388
+ /**
1389
+ * Method returning an iterator over the map's associations.
1390
+ *
1391
+ * @return {Iterator}
1392
+ */
1393
+ MultiMap.prototype.associations = function() {
1394
+ return this.items.entries();
1395
+ };
1396
+
1397
+ /**
1398
+ * Attaching the #.entries method to Symbol.iterator if possible.
1399
+ */
1400
+ if (typeof Symbol !== 'undefined')
1401
+ MultiMap.prototype[Symbol.iterator] = MultiMap.prototype.entries;
1402
+
1403
+ /**
1404
+ * Convenience known methods.
1405
+ */
1406
+ MultiMap.prototype.inspect = function() {
1407
+ return this.items;
1408
+ };
1409
+
1410
+ if (typeof Symbol !== 'undefined')
1411
+ MultiMap.prototype[Symbol.for('nodejs.util.inspect.custom')] = MultiMap.prototype.inspect;
1412
+ MultiMap.prototype.toJSON = function() {
1413
+ return this.items;
1414
+ };
1415
+
1416
+ /**
1417
+ * Static @.from function taking an arbitrary iterable & converting it into
1418
+ * a structure.
1419
+ *
1420
+ * @param {Iterable} iterable - Target iterable.
1421
+ * @param {Class} Container - Container.
1422
+ * @return {MultiMap}
1423
+ */
1424
+ MultiMap.from = function(iterable, Container) {
1425
+ var map = new MultiMap(Container);
1426
+
1427
+ forEach(iterable, function(value, key) {
1428
+ map.set(key, value);
1429
+ });
1430
+
1431
+ return map;
1432
+ };
1433
+
1434
+ /**
1435
+ * Exporting.
1436
+ */
1437
+ multiMap$1 = MultiMap;
1438
+ return multiMap$1;
1439
+ }
1440
+
1441
+ var multiMapExports = requireMultiMap();
1442
+ const multiMap = /*@__PURE__*/getDefaultExportFromCjs(multiMapExports);
1443
+
1023
1444
  var set = {};
1024
1445
 
1025
1446
  /**
@@ -2075,4 +2496,4 @@ function requireObject_hash () {
2075
2496
  var object_hashExports = requireObject_hash();
2076
2497
  const objectHash = /*@__PURE__*/getDefaultExportFromCjs(object_hashExports);
2077
2498
 
2078
- export { n as $, getOrCreate as A, isNonEmptyArray as B, isString as C, DefaultMap as D, ifilter as E, iflat as F, imap as G, isIterable as H, isome as I, iunique as J, toArray as K, difference as L, equals as M, intersection as N, symmetricDifference as O, union as P, stringHash as Q, objectHash as R, Stack as S, C as T, s as U, a as V, getDefaultExportFromCjs as W, requireForeach as X, requireIterator as Y, u as Z, d as _, i$1 as a, hasIntersection as a0, t$1 as b, isSameHierarchy as c, t as d, defaultWeakMap as e, linkedList as f, commonHead as g, compareNatural as h, ifind as i, ancestorsFqn as j, commonAncestor as k, l, m, nameFromFqn as n, compareByFqnHierarchically as o, parentFqn as p, queue as q, compareFqnHierarchically as r, hierarchyDistance as s, toSet as t, hierarchyLevel as u, isAncestor as v, isDescendantOf as w, sortByFqnHierarchically as x, sortNaturalByFqn as y, sortParentsFirst as z };
2499
+ export { d as $, sortParentsFirst as A, getOrCreate as B, isNonEmptyArray as C, DefaultMap as D, isString as E, ifilter as F, iflat as G, imap as H, isIterable as I, isome as J, iunique as K, toArray as L, difference as M, equals as N, intersection as O, symmetricDifference as P, union as Q, stringHash as R, Stack as S, objectHash as T, C as U, s as V, a as W, getDefaultExportFromCjs as X, requireForeach as Y, requireIterator as Z, u as _, i$1 as a, n as a0, hasIntersection as a1, t$1 as b, isSameHierarchy as c, t as d, defaultWeakMap as e, linkedList as f, multiMap as g, commonHead as h, ifind as i, compareNatural as j, ancestorsFqn as k, l, m, nameFromFqn as n, commonAncestor as o, parentFqn as p, queue as q, compareByFqnHierarchically as r, compareFqnHierarchically as s, toSet as t, hierarchyDistance as u, hierarchyLevel as v, isAncestor as w, isDescendantOf as x, sortByFqnHierarchically as y, sortNaturalByFqn as z };
@@ -1,4 +1,4 @@
1
- import { t as toSet, i as ifind } from './core.FFJhmauw.mjs';
1
+ import { t as toSet, i as ifind } from './core.CHsHWcLq.mjs';
2
2
 
3
3
  function computeRelationshipsView(subjectId, likec4model) {
4
4
  const subject = likec4model.element(subjectId);
@@ -1,5 +1,5 @@
1
1
  import { D as DefaultElementShape, c as DefaultThemeColor, h as DefaultShapeSize, aa as o$8, t as isElementWhere, P as whereOperatorAsPredicate, G as isWildcard, q as isElementKindExpr, s as isElementTagExpr, n as n$4, u as isExpandedElementExpr, r as isElementRef, l as isCustomElement, a8 as isViewRuleStyle, ab as y$2, U as ComputedNode, E as ElementKind, Q as DefaultArrowType, I as FqnExpr, R as RelationExpr, o as o$9, a7 as isViewRulePredicate, a3 as isViewRuleAutoLayout, a6 as isViewRuleGroup, a4 as isViewRuleGlobalPredicateRef, a5 as isViewRuleGlobalStyle, a9 as stepEdgeId, a1 as isDynamicViewParallelSteps, S as DefaultLineStyle, T as DefaultRelationshipColor, x as isOutgoing$1, v as isIncoming$1, w as isInOut, y as isRelation, F as isRelationWhere, m as isCustomRelationExpr, C as isRelationPredicateExpr, b as isElementPredicateExpr, a as isElementView, a0 as isDynamicView, $ as isDeploymentView, d as DeploymentElement, X as extractStep, a2 as isStepEdgeId, e as isScopedElementView } from './core.BNaXALvz.mjs';
2
- import { T as C, U as s$1, V as a$5, u as hierarchyLevel, v as isAncestor, k as commonAncestor, y as sortNaturalByFqn, m as m$3, g as commonHead, W as getDefaultExportFromCjs, X as requireForeach, Y as requireIterator, Z as u$7, R as objectHash, N as intersection, L as difference, P as union, Q as stringHash, M as equals, w as isDescendantOf, C as isString, c as isSameHierarchy, I as isome, E as ifilter, H as isIterable, t as toSet, z as sortParentsFirst, K as toArray, D as DefaultMap, G as imap, a as i$9, _ as d$6, p as parentFqn, $ as n$5, o as compareByFqnHierarchically, B as isNonEmptyArray, h as compareNatural, n as nameFromFqn, b as t$6, l as l$7, a0 as hasIntersection, x as sortByFqnHierarchically, j as ancestorsFqn, S as Stack, J as iunique, F as iflat, A as getOrCreate, i as ifind } from './core.FFJhmauw.mjs';
2
+ import { U as C, V as s$1, W as a$5, v as hierarchyLevel, w as isAncestor, o as commonAncestor, z as sortNaturalByFqn, m as m$3, h as commonHead, X as getDefaultExportFromCjs, Y as requireForeach, Z as requireIterator, _ as u$7, T as objectHash, O as intersection, M as difference, Q as union, R as stringHash, N as equals, x as isDescendantOf, E as isString, c as isSameHierarchy, J as isome, F as ifilter, I as isIterable, t as toSet, A as sortParentsFirst, L as toArray, D as DefaultMap, H as imap, a as i$9, $ as d$6, p as parentFqn, a0 as n$5, r as compareByFqnHierarchically, C as isNonEmptyArray, j as compareNatural, n as nameFromFqn, b as t$6, l as l$7, a1 as hasIntersection, y as sortByFqnHierarchically, k as ancestorsFqn, S as Stack, K as iunique, G as iflat, B as getOrCreate, i as ifind } from './core.CHsHWcLq.mjs';
3
3
  import { u as u$6, a as nonNullable, i as invariant, n as nonexhaustive } from './core.Btj1m6H6.mjs';
4
4
 
5
5
  function y$1(t,i){let a=i.length-t.length;if(a===1){let[n,...r]=i;return C(n,{lazy:t,lazyArgs:r})}if(a===0){let n={lazy:t,lazyArgs:i};return Object.assign(e=>C(e,n),n)}throw new Error("Wrong number of arguments")}
@@ -7212,7 +7212,7 @@ class LikeC4Model {
7212
7212
  */
7213
7213
  static makeCompute(parsed) {
7214
7214
  let { views, ...rest } = parsed;
7215
- const model = new LikeC4Model(structuredClone({ ...rest, views: {} }));
7215
+ const model = new LikeC4Model({ ...rest, views: {} });
7216
7216
  return (viewsource) => computeView(viewsource, model);
7217
7217
  }
7218
7218
  /**
@@ -84,6 +84,52 @@ declare class LinkedList<T> implements Iterable<T> {
84
84
  static from<I>(iterable: Iterable<I> | {[key: string]: I}): LinkedList<I>;
85
85
  }
86
86
 
87
+ interface MultiMapConstructor {
88
+ new <K, V>(container: SetConstructor): MultiMap<K, V, Set<V>>;
89
+ new <K, V>(container?: ArrayConstructor): MultiMap<K, V, V[]>;
90
+
91
+ from<K, V>(
92
+ iterable: Iterable<[K, V]> | {[key: string]: V},
93
+ Container: SetConstructor
94
+ ): MultiMap<K, V, Set<V>>;
95
+ from<K, V>(
96
+ iterable: Iterable<[K, V]> | {[key: string]: V},
97
+ Container?: ArrayConstructor
98
+ ): MultiMap<K, V, V[]>;
99
+ }
100
+ /**
101
+ * Mnemonist MultiMap Typings
102
+ * ===========================
103
+ */
104
+
105
+ interface MultiMap<K, V, C extends V[] | Set<V> = V[]> extends Iterable<[K, V]> {
106
+
107
+ // Members
108
+ dimension: number;
109
+ size: number;
110
+
111
+ // Methods
112
+ clear(): void;
113
+ set(key: K, value: V): this;
114
+ delete(key: K): boolean;
115
+ remove(key: K, value: V): boolean;
116
+ has(key: K): boolean;
117
+ get(key: K): C | undefined;
118
+ multiplicity(key: K): number;
119
+ forEach(callback: (value: V, key: K, map: this) => void, scope?: any): void;
120
+ forEachAssociation(callback: (value: C, key: K, map: this) => void, scope?: any): void;
121
+ keys(): IterableIterator<K>;
122
+ values(): IterableIterator<V>;
123
+ entries(): IterableIterator<[K, V]>;
124
+ containers(): IterableIterator<C>;
125
+ associations(): IterableIterator<[K, C]>;
126
+ [Symbol.iterator](): IterableIterator<[K, V]>;
127
+ inspect(): any;
128
+ toJSON(): any;
129
+ }
130
+
131
+ declare const MultiMap: MultiMapConstructor;
132
+
87
133
  /**
88
134
  * Mnemonist Queue Typings
89
135
  * ========================
@@ -379,4 +425,4 @@ function requireObject_hash () {
379
425
  var object_hashExports = requireObject_hash();
380
426
  var object_hash = /*@__PURE__*/getDefaultExportFromCjs(object_hashExports);
381
427
 
382
- export { DefaultMap, DefaultWeakMap, LinkedList, Queue, Stack, commonHead, compareNatural, compareRelations, delay, difference, equals as equalsSet, getOrCreate, hasAtLeast, ifilter, ifind, iflat, imap, intersection, ireduce, isIterable, isNonEmptyArray, isString, isome, iunique, object_hash as objectHash, stringHash, symmetricDifference, toArray, toSet, union };
428
+ export { DefaultMap, DefaultWeakMap, LinkedList, MultiMap, Queue, Stack, commonHead, compareNatural, compareRelations, delay, difference, equals as equalsSet, getOrCreate, hasAtLeast, ifilter, ifind, iflat, imap, intersection, ireduce, isIterable, isNonEmptyArray, isString, isome, iunique, object_hash as objectHash, stringHash, symmetricDifference, toArray, toSet, union };
@@ -84,6 +84,52 @@ declare class LinkedList<T> implements Iterable<T> {
84
84
  static from<I>(iterable: Iterable<I> | {[key: string]: I}): LinkedList<I>;
85
85
  }
86
86
 
87
+ interface MultiMapConstructor {
88
+ new <K, V>(container: SetConstructor): MultiMap<K, V, Set<V>>;
89
+ new <K, V>(container?: ArrayConstructor): MultiMap<K, V, V[]>;
90
+
91
+ from<K, V>(
92
+ iterable: Iterable<[K, V]> | {[key: string]: V},
93
+ Container: SetConstructor
94
+ ): MultiMap<K, V, Set<V>>;
95
+ from<K, V>(
96
+ iterable: Iterable<[K, V]> | {[key: string]: V},
97
+ Container?: ArrayConstructor
98
+ ): MultiMap<K, V, V[]>;
99
+ }
100
+ /**
101
+ * Mnemonist MultiMap Typings
102
+ * ===========================
103
+ */
104
+
105
+ interface MultiMap<K, V, C extends V[] | Set<V> = V[]> extends Iterable<[K, V]> {
106
+
107
+ // Members
108
+ dimension: number;
109
+ size: number;
110
+
111
+ // Methods
112
+ clear(): void;
113
+ set(key: K, value: V): this;
114
+ delete(key: K): boolean;
115
+ remove(key: K, value: V): boolean;
116
+ has(key: K): boolean;
117
+ get(key: K): C | undefined;
118
+ multiplicity(key: K): number;
119
+ forEach(callback: (value: V, key: K, map: this) => void, scope?: any): void;
120
+ forEachAssociation(callback: (value: C, key: K, map: this) => void, scope?: any): void;
121
+ keys(): IterableIterator<K>;
122
+ values(): IterableIterator<V>;
123
+ entries(): IterableIterator<[K, V]>;
124
+ containers(): IterableIterator<C>;
125
+ associations(): IterableIterator<[K, C]>;
126
+ [Symbol.iterator](): IterableIterator<[K, V]>;
127
+ inspect(): any;
128
+ toJSON(): any;
129
+ }
130
+
131
+ declare const MultiMap: MultiMapConstructor;
132
+
87
133
  /**
88
134
  * Mnemonist Queue Typings
89
135
  * ========================
@@ -379,4 +425,4 @@ function requireObject_hash () {
379
425
  var object_hashExports = requireObject_hash();
380
426
  var object_hash = /*@__PURE__*/getDefaultExportFromCjs(object_hashExports);
381
427
 
382
- export { DefaultMap, DefaultWeakMap, LinkedList, Queue, Stack, commonHead, compareNatural, compareRelations, delay, difference, equals as equalsSet, getOrCreate, hasAtLeast, ifilter, ifind, iflat, imap, intersection, ireduce, isIterable, isNonEmptyArray, isString, isome, iunique, object_hash as objectHash, stringHash, symmetricDifference, toArray, toSet, union };
428
+ export { DefaultMap, DefaultWeakMap, LinkedList, MultiMap, Queue, Stack, commonHead, compareNatural, compareRelations, delay, difference, equals as equalsSet, getOrCreate, hasAtLeast, ifilter, ifind, iflat, imap, intersection, ireduce, isIterable, isNonEmptyArray, isString, isome, iunique, object_hash as objectHash, stringHash, symmetricDifference, toArray, toSet, union };
@@ -1,5 +1,5 @@
1
- import { d as t, $ as n, k as commonAncestor, r as compareFqnHierarchically } from '../shared/core.FFJhmauw.mjs';
2
- export { D as DefaultMap, e as DefaultWeakMap, f as LinkedList, q as Queue, S as Stack, j as ancestorsFqn, g as commonHead, o as compareByFqnHierarchically, h as compareNatural, L as difference, M as equalsSet, A as getOrCreate, a as hasAtLeast, s as hierarchyDistance, u as hierarchyLevel, E as ifilter, i as ifind, F as iflat, G as imap, N as intersection, v as isAncestor, w as isDescendantOf, H as isIterable, B as isNonEmptyArray, c as isSameHierarchy, C as isString, I as isome, J as iunique, n as nameFromFqn, R as objectHash, p as parentFqn, x as sortByFqnHierarchically, y as sortNaturalByFqn, z as sortParentsFirst, Q as stringHash, O as symmetricDifference, K as toArray, t as toSet, P as union } from '../shared/core.FFJhmauw.mjs';
1
+ import { d as t, a0 as n, o as commonAncestor, s as compareFqnHierarchically } from '../shared/core.CHsHWcLq.mjs';
2
+ export { D as DefaultMap, e as DefaultWeakMap, f as LinkedList, g as MultiMap, q as Queue, S as Stack, k as ancestorsFqn, h as commonHead, r as compareByFqnHierarchically, j as compareNatural, M as difference, N as equalsSet, B as getOrCreate, a as hasAtLeast, u as hierarchyDistance, v as hierarchyLevel, F as ifilter, i as ifind, G as iflat, H as imap, O as intersection, w as isAncestor, x as isDescendantOf, I as isIterable, C as isNonEmptyArray, c as isSameHierarchy, E as isString, J as isome, K as iunique, n as nameFromFqn, T as objectHash, p as parentFqn, y as sortByFqnHierarchically, z as sortNaturalByFqn, A as sortParentsFirst, R as stringHash, P as symmetricDifference, L as toArray, t as toSet, Q as union } from '../shared/core.CHsHWcLq.mjs';
3
3
  import { i as invariant } from '../shared/core.Btj1m6H6.mjs';
4
4
 
5
5
  function o(r,n){let e=Math.ceil(r),t=Math.floor(n);if(t<e)throw new RangeError(`randomInteger: The range [${r.toString()},${n.toString()}] contains no integer`);return Math.floor(Math.random()*(t-e+1)+e)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@likec4/core",
3
- "version": "1.24.0",
3
+ "version": "1.24.1",
4
4
  "license": "MIT",
5
5
  "homepage": "https://likec4.dev",
6
6
  "author": "Denis Davydkov <denis@davydkov.com>",
@@ -91,12 +91,12 @@
91
91
  "natural-compare-lite": "^1.4.0",
92
92
  "object-hash": "^3.0.0",
93
93
  "obliterator": "^2.0.5",
94
- "remeda": "^2.20.1",
94
+ "remeda": "^2.20.2",
95
95
  "turbo": "^2.4.2",
96
96
  "typescript": "5.7.3",
97
97
  "unbuild": "^3.3.1",
98
- "vitest": "^3.0.4",
99
- "@likec4/tsconfig": "1.24.0"
98
+ "vitest": "^3.0.6",
99
+ "@likec4/tsconfig": "1.24.1"
100
100
  },
101
101
  "scripts": {
102
102
  "typecheck": "tsc --noEmit",
@@ -86,7 +86,7 @@ export class LikeC4Model<M extends AnyAux = LikeC4Model.Any> {
86
86
  */
87
87
  static makeCompute<M extends AnyParsedLikeC4Model>(parsed: M): (viewsource: LikeC4View) => ComputeViewResult {
88
88
  let { views, ...rest } = parsed as Omit<M, '__'>
89
- const model = new LikeC4Model(structuredClone({ ...rest, views: {} }))
89
+ const model = new LikeC4Model({ ...rest, views: {} })
90
90
  return (viewsource) => computeView(viewsource, model)
91
91
  }
92
92
 
@@ -2,6 +2,7 @@ export {
2
2
  DefaultMap,
3
3
  DefaultWeakMap,
4
4
  LinkedList,
5
+ MultiMap,
5
6
  Queue,
6
7
  Stack,
7
8
  } from './mnemonist'
@@ -2,6 +2,7 @@ export {
2
2
  DefaultMap,
3
3
  DefaultWeakMap,
4
4
  LinkedList,
5
+ MultiMap,
5
6
  Queue,
6
7
  Stack,
7
8
  } from 'mnemonist/patch'