@likec4/core 1.17.1 → 1.18.0
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/dist/compute-view/index.d.mts +91 -0
- package/dist/compute-view/index.d.ts +91 -0
- package/dist/compute-view/index.mjs +79 -0
- package/dist/index.d.mts +246 -434
- package/dist/index.d.ts +246 -434
- package/dist/index.mjs +418 -1322
- package/dist/model/index.d.mts +642 -0
- package/dist/model/index.d.ts +642 -0
- package/dist/model/index.mjs +2 -0
- package/dist/shared/core.BBgiAAv1.mjs +144 -0
- package/dist/shared/core.BPyJvuMU.mjs +2420 -0
- package/dist/shared/core.BQ4AbfvB.mjs +9228 -0
- package/dist/shared/{core.CoLQkcYL.d.mts → core.DMYY7C8s.d.mts} +398 -249
- package/dist/shared/{core.CoLQkcYL.d.ts → core.DMYY7C8s.d.ts} +398 -249
- package/dist/shared/core.k12s_keD.mjs +203 -0
- package/dist/types/index.d.mts +69 -1
- package/dist/types/index.d.ts +69 -1
- package/dist/types/index.mjs +21 -1
- package/package.json +38 -40
- package/src/builder/Builder.deployment.ts +219 -0
- package/src/builder/Builder.deploymentModel.ts +360 -0
- package/src/builder/Builder.element.ts +17 -19
- package/src/builder/Builder.model.ts +13 -2
- package/src/builder/Builder.test-d.ts +59 -4
- package/src/builder/Builder.ts +238 -53
- package/src/builder/Builder.view.ts +238 -53
- package/src/builder/_types.ts +87 -15
- package/src/compute-view/LikeC4ModelGraph.ts +330 -0
- package/src/compute-view/compute-view.ts +92 -0
- package/src/compute-view/deployment-view/Memory.ts +108 -0
- package/src/compute-view/deployment-view/Stage.ts +145 -0
- package/src/compute-view/deployment-view/__test__/fixture.ts +210 -0
- package/src/compute-view/deployment-view/_types.ts +29 -0
- package/src/compute-view/deployment-view/clean-connections.ts +229 -0
- package/src/compute-view/deployment-view/compute.ts +111 -0
- package/src/compute-view/deployment-view/predicates/deployment-ref.ts +146 -0
- package/src/compute-view/deployment-view/predicates/relation-direct.ts +130 -0
- package/src/compute-view/deployment-view/predicates/relation-in-out.ts +43 -0
- package/src/compute-view/deployment-view/predicates/relation-incoming.ts +46 -0
- package/src/compute-view/deployment-view/predicates/relation-outgoing.ts +49 -0
- package/src/compute-view/deployment-view/predicates/wildcard.ts +29 -0
- package/src/compute-view/deployment-view/utils.ts +212 -0
- package/src/compute-view/dynamic-view/__test__/fixture.ts +58 -0
- package/src/compute-view/dynamic-view/compute.ts +310 -0
- package/src/compute-view/element-view/__test__/__snapshots__/legacy.spec.ts.snap +456 -0
- package/src/compute-view/element-view/__test__/fixture.ts +645 -0
- package/src/compute-view/element-view/compute.ts +734 -0
- package/src/compute-view/element-view/predicates.ts +517 -0
- package/src/compute-view/index.ts +5 -0
- package/src/compute-view/utils/__snapshots__/sortNodes.spec.ts.snap +113 -0
- package/src/compute-view/utils/ancestorsOfNode.ts +19 -0
- package/src/compute-view/utils/applyCustomElementProperties.ts +66 -0
- package/src/compute-view/utils/applyCustomRelationProperties.ts +41 -0
- package/src/compute-view/utils/applyViewRuleStyles.ts +53 -0
- package/src/compute-view/utils/buildComputedNodes.ts +148 -0
- package/src/compute-view/utils/buildElementNotations.ts +63 -0
- package/src/compute-view/utils/derive-edge-props-from-relationships.ts +97 -0
- package/src/compute-view/utils/elementExpressionToPredicate.ts +52 -0
- package/src/compute-view/utils/link-nodes-with-edges.ts +58 -0
- package/src/compute-view/utils/relationExpressionToPredicates.ts +55 -0
- package/src/compute-view/utils/resolve-extended-views.ts +65 -0
- package/src/compute-view/utils/resolve-global-rules.ts +83 -0
- package/src/compute-view/utils/sortNodes.ts +101 -0
- package/src/compute-view/utils/topological-sort.ts +160 -0
- package/src/compute-view/utils/uniqueTags.test.ts +42 -0
- package/src/compute-view/utils/uniqueTags.ts +21 -0
- package/src/compute-view/utils/view-hash.ts +27 -0
- package/src/compute-view/utils/with-readable-edges.ts +31 -0
- package/src/index.ts +5 -1
- package/src/model/DeploymentElementModel.ts +534 -0
- package/src/model/DeploymentModel.ts +364 -0
- package/src/model/ElementModel.ts +195 -0
- package/src/model/LikeC4Model.test-d.ts +151 -0
- package/src/model/LikeC4Model.ts +280 -457
- package/src/model/RelationModel.ts +84 -0
- package/src/model/__test__/fixture.ts +153 -338
- package/src/model/connection/ConnectionModel.ts +94 -0
- package/src/model/connection/DeploymentConnectionModel.ts +99 -0
- package/src/model/connection/deployment.ts +124 -0
- package/src/model/connection/model.ts +123 -0
- package/src/model/index.ts +4 -2
- package/src/model/types.ts +95 -15
- package/src/model/view/EdgeModel.ts +103 -0
- package/src/model/view/LikeC4ViewModel.ts +220 -0
- package/src/model/view/NodeModel.ts +228 -0
- package/src/types/_common.ts +2 -0
- package/src/types/deployments.ts +237 -0
- package/src/types/element.ts +7 -3
- package/src/types/expression.ts +8 -6
- package/src/types/index.ts +1 -0
- package/src/types/model.ts +68 -9
- package/src/types/overview-graph.ts +2 -2
- package/src/types/relation.ts +4 -4
- package/src/types/view-notation.ts +2 -2
- package/src/types/view.ts +104 -30
- package/src/utils/{commonHead.ts → common-head.ts} +2 -0
- package/src/utils/fqn.ts +83 -27
- package/src/utils/getOrCreate.ts +42 -0
- package/src/utils/graphlib.ts +10 -0
- package/src/utils/index.ts +4 -1
- package/src/utils/object-hash.ts +3 -0
- package/src/utils/set.ts +76 -0
- package/src/utils/string-hash.ts +16 -0
- package/dist/index.cjs +0 -5452
- package/dist/index.d.cts +0 -1053
- package/dist/shared/core.BXTs-8n7.mjs +0 -293
- package/dist/shared/core.CoLQkcYL.d.cts +0 -734
- package/dist/shared/core.DIYZvpVg.cjs +0 -353
- package/dist/types/index.cjs +0 -70
- package/dist/types/index.d.cts +0 -2
- package/src/model/LikeC4DiagramModel.ts +0 -338
- package/src/model/LikeC4ViewModel.ts +0 -320
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { u, n as nonexhaustive, a as n } from './core.k12s_keD.mjs';
|
|
2
|
+
|
|
3
|
+
function o(a){return t=>!a(t)}
|
|
4
|
+
|
|
5
|
+
function t(...a){return u(e,a)}var e=(a,o)=>o.every(l=>l(a));
|
|
6
|
+
|
|
7
|
+
function y(...a){return u(r,a)}var r=(a,o)=>o.some(e=>e(a));
|
|
8
|
+
|
|
9
|
+
function isElementRef(expr) {
|
|
10
|
+
return "element" in expr;
|
|
11
|
+
}
|
|
12
|
+
function isExpandedElementExpr(expr) {
|
|
13
|
+
return "expanded" in expr;
|
|
14
|
+
}
|
|
15
|
+
function isCustomElement(expr) {
|
|
16
|
+
return "custom" in expr && (isElement(expr.custom.expr) || isElementWhere(expr.custom.expr));
|
|
17
|
+
}
|
|
18
|
+
function isWildcard(expr) {
|
|
19
|
+
return "wildcard" in expr;
|
|
20
|
+
}
|
|
21
|
+
function isElementKindExpr(expr) {
|
|
22
|
+
return "elementKind" in expr && "isEqual" in expr;
|
|
23
|
+
}
|
|
24
|
+
function isElementTagExpr(expr) {
|
|
25
|
+
return "elementTag" in expr && "isEqual" in expr;
|
|
26
|
+
}
|
|
27
|
+
function isElement(expr) {
|
|
28
|
+
return isElementRef(expr) || isWildcard(expr) || isElementKindExpr(expr) || isElementTagExpr(expr) || isExpandedElementExpr(expr);
|
|
29
|
+
}
|
|
30
|
+
function isElementWhere(expr) {
|
|
31
|
+
return "where" in expr && isElement(expr.where.expr);
|
|
32
|
+
}
|
|
33
|
+
function isElementPredicateExpr(expr) {
|
|
34
|
+
return isElement(expr) || isElementWhere(expr) || isCustomElement(expr);
|
|
35
|
+
}
|
|
36
|
+
function isRelation(expr) {
|
|
37
|
+
return "source" in expr && "target" in expr;
|
|
38
|
+
}
|
|
39
|
+
function isInOut(expr) {
|
|
40
|
+
return "inout" in expr;
|
|
41
|
+
}
|
|
42
|
+
function isIncoming(expr) {
|
|
43
|
+
return "incoming" in expr;
|
|
44
|
+
}
|
|
45
|
+
function isOutgoing(expr) {
|
|
46
|
+
return "outgoing" in expr;
|
|
47
|
+
}
|
|
48
|
+
function isRelationExpression(expr) {
|
|
49
|
+
return isRelation(expr) || isInOut(expr) || isIncoming(expr) || isOutgoing(expr);
|
|
50
|
+
}
|
|
51
|
+
function isRelationWhere(expr) {
|
|
52
|
+
return "where" in expr && isRelationExpression(expr.where.expr);
|
|
53
|
+
}
|
|
54
|
+
function isCustomRelationExpr(expr) {
|
|
55
|
+
return "customRelation" in expr;
|
|
56
|
+
}
|
|
57
|
+
function isRelationPredicateExpr(expr) {
|
|
58
|
+
return isRelationExpression(expr) || isRelationWhere(expr) || isCustomRelationExpr(expr);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
const expression = {
|
|
62
|
+
__proto__: null,
|
|
63
|
+
isCustomElement: isCustomElement,
|
|
64
|
+
isCustomRelationExpr: isCustomRelationExpr,
|
|
65
|
+
isElement: isElement,
|
|
66
|
+
isElementKindExpr: isElementKindExpr,
|
|
67
|
+
isElementPredicateExpr: isElementPredicateExpr,
|
|
68
|
+
isElementRef: isElementRef,
|
|
69
|
+
isElementTagExpr: isElementTagExpr,
|
|
70
|
+
isElementWhere: isElementWhere,
|
|
71
|
+
isExpandedElementExpr: isExpandedElementExpr,
|
|
72
|
+
isInOut: isInOut,
|
|
73
|
+
isIncoming: isIncoming,
|
|
74
|
+
isOutgoing: isOutgoing,
|
|
75
|
+
isRelation: isRelation,
|
|
76
|
+
isRelationExpression: isRelationExpression,
|
|
77
|
+
isRelationPredicateExpr: isRelationPredicateExpr,
|
|
78
|
+
isRelationWhere: isRelationWhere,
|
|
79
|
+
isWildcard: isWildcard
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
const isTagEqual = (operator) => {
|
|
83
|
+
return "tag" in operator;
|
|
84
|
+
};
|
|
85
|
+
const isKindEqual = (operator) => {
|
|
86
|
+
return "kind" in operator;
|
|
87
|
+
};
|
|
88
|
+
const isNotOperator = (operator) => {
|
|
89
|
+
return "not" in operator;
|
|
90
|
+
};
|
|
91
|
+
const isAndOperator = (operator) => {
|
|
92
|
+
return "and" in operator;
|
|
93
|
+
};
|
|
94
|
+
const isOrOperator = (operator) => {
|
|
95
|
+
return "or" in operator;
|
|
96
|
+
};
|
|
97
|
+
function whereOperatorAsPredicate(operator) {
|
|
98
|
+
switch (true) {
|
|
99
|
+
case isTagEqual(operator): {
|
|
100
|
+
if ("eq" in operator.tag) {
|
|
101
|
+
const tag2 = operator.tag.eq;
|
|
102
|
+
return (value) => {
|
|
103
|
+
return Array.isArray(value.tags) && value.tags.includes(tag2);
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
const tag = operator.tag.neq;
|
|
107
|
+
return (value) => {
|
|
108
|
+
return !Array.isArray(value.tags) || !value.tags.includes(tag);
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
case isKindEqual(operator): {
|
|
112
|
+
if ("eq" in operator.kind) {
|
|
113
|
+
const kind2 = operator.kind.eq;
|
|
114
|
+
return (value) => {
|
|
115
|
+
return value.kind === kind2;
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
const kind = operator.kind.neq;
|
|
119
|
+
return (value) => {
|
|
120
|
+
return n(value.kind) || value.kind !== kind;
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
case isNotOperator(operator): {
|
|
124
|
+
const predicate = whereOperatorAsPredicate(operator.not);
|
|
125
|
+
return o(predicate);
|
|
126
|
+
}
|
|
127
|
+
case isAndOperator(operator): {
|
|
128
|
+
const predicates = operator.and.map(whereOperatorAsPredicate);
|
|
129
|
+
return t(predicates);
|
|
130
|
+
}
|
|
131
|
+
case isOrOperator(operator): {
|
|
132
|
+
const predicates = operator.or.map(whereOperatorAsPredicate);
|
|
133
|
+
return y(predicates);
|
|
134
|
+
}
|
|
135
|
+
default:
|
|
136
|
+
nonexhaustive(operator);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
const DefaultLineStyle = "dashed";
|
|
141
|
+
const DefaultArrowType = "normal";
|
|
142
|
+
const DefaultRelationshipColor = "gray";
|
|
143
|
+
|
|
144
|
+
export { y as A, o as B, t as C, DefaultLineStyle as D, isElementRef as a, isExpandedElementExpr as b, isCustomElement as c, isWildcard as d, expression as e, isElementKindExpr as f, isElementTagExpr as g, isElement as h, isElementPredicateExpr as i, isElementWhere as j, isRelation as k, isInOut as l, isIncoming as m, isOutgoing as n, isRelationExpression as o, isRelationWhere as p, isCustomRelationExpr as q, isRelationPredicateExpr as r, isTagEqual as s, isKindEqual as t, isNotOperator as u, isAndOperator as v, isOrOperator as w, whereOperatorAsPredicate as x, DefaultArrowType as y, DefaultRelationshipColor as z };
|