@cda/adapter-xma 0.8.1 → 0.8.2
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/cjs/mapping/generic-relationship-mapping.d.ts.map +1 -1
- package/dist/cjs/mapping/generic-relationship-mapping.js +25 -9
- package/dist/cjs/mapping/generic-relationship-mapping.js.map +1 -1
- package/dist/esm/mapping/generic-relationship-mapping.d.ts.map +1 -1
- package/dist/esm/mapping/generic-relationship-mapping.js +25 -9
- package/dist/esm/mapping/generic-relationship-mapping.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-relationship-mapping.d.ts","sourceRoot":"","sources":["../../../src/mapping/generic-relationship-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"generic-relationship-mapping.d.ts","sourceRoot":"","sources":["../../../src/mapping/generic-relationship-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAuEH,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,gCAAgC,CAC9C,qBAAqB,EAAE,MAAM,EAC7B,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,GACtB,0BAA0B,GAAG,SAAS,CAqCxC"}
|
|
@@ -55,16 +55,29 @@ const JUNCTION_CONFIRMED_VERBS = new Set(['Realisation', 'Influence', 'Use']);
|
|
|
55
55
|
const GROUPING_ELEMENT_CONFIRMED_VERBS = new Set(['Composition', 'Specialization', 'Influence', 'Use', 'Realisation', 'Access']);
|
|
56
56
|
/**
|
|
57
57
|
* Verbs confirmed for the *both-endpoints-Grouping* case specifically —
|
|
58
|
-
* deliberately a
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
58
|
+
* deliberately a separate, independently-confirmed set from the
|
|
59
|
+
* mixed-endpoint one above (the two endpoint shapes are never assumed to
|
|
60
|
+
* share evidence, even for the same verb — see `Composition` below).
|
|
61
|
+
* `Use` and `Influence` confirmed in `sabsa.xma`
|
|
62
|
+
* (`GroupingGroupingUse`/`GroupingGroupingInfluence`); `Specialization`,
|
|
63
|
+
* `Realisation`, and `Access` confirmed via a dedicated, isolated
|
|
64
|
+
* Enterprise Studio round-trip (3 separate Grouping/Grouping pairs, one
|
|
65
|
+
* verb each) — all five follow the plain `GroupingGrouping{Verb}` form.
|
|
66
66
|
*/
|
|
67
|
-
const GROUPING_GROUPING_CONFIRMED_VERBS = new Set(['Use', 'Influence']);
|
|
67
|
+
const GROUPING_GROUPING_CONFIRMED_VERBS = new Set(['Use', 'Influence', 'Specialization', 'Realisation', 'Access']);
|
|
68
|
+
/**
|
|
69
|
+
* `CompositionRelationship` is the one exception: even with both endpoints
|
|
70
|
+
* `Grouping`, it does NOT produce `GroupingGroupingComposition` — a real
|
|
71
|
+
* round-trip against a private model proved that tag doesn't exist
|
|
72
|
+
* (Enterprise Studio rejected the whole document, "could not generate the
|
|
73
|
+
* object: unknown type"). A second, dedicated, isolated round-trip (two
|
|
74
|
+
* `CompositeGrouping` elements connected by `Composition`, cross-checked in
|
|
75
|
+
* both the semantic `<ArchiMate:Relations>` entry and the graphical
|
|
76
|
+
* `MM_DirectedRel`'s `mm_concept`) confirmed the real, asymmetric form:
|
|
77
|
+
* `GroupingElementComposition` — the target side is always labeled
|
|
78
|
+
* `Element` for this verb specifically, regardless of its actual type.
|
|
79
|
+
*/
|
|
80
|
+
const GROUPING_GROUPING_COMPOSITION_XMA_TYPE = 'GroupingElementComposition';
|
|
68
81
|
function lookupGenericRelationshipMapping(archiRelationshipType, sourceArchiType, targetArchiType) {
|
|
69
82
|
// Confirmed universal: every AssociationRelationship instance across dozens of
|
|
70
83
|
// distinct source/target type pairs (sabsa + agile-manifesto) serializes as this
|
|
@@ -84,6 +97,9 @@ function lookupGenericRelationshipMapping(archiRelationshipType, sourceArchiType
|
|
|
84
97
|
const sourceIsGrouping = sourceArchiType === 'Grouping';
|
|
85
98
|
const targetIsGrouping = targetArchiType === 'Grouping';
|
|
86
99
|
if (sourceIsGrouping && targetIsGrouping) {
|
|
100
|
+
if (verb === 'Composition') {
|
|
101
|
+
return { xmaType: GROUPING_GROUPING_COMPOSITION_XMA_TYPE };
|
|
102
|
+
}
|
|
87
103
|
if (GROUPING_GROUPING_CONFIRMED_VERBS.has(verb)) {
|
|
88
104
|
return { xmaType: `GroupingGrouping${verb}` };
|
|
89
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-relationship-mapping.js","sourceRoot":"","sources":["../../../src/mapping/generic-relationship-mapping.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;
|
|
1
|
+
{"version":3,"file":"generic-relationship-mapping.js","sourceRoot":"","sources":["../../../src/mapping/generic-relationship-mapping.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AA2EH,4EAyCC;AAlHD,4FAA4F;AAC5F,MAAM,kBAAkB,GAAqC;IAC3D,sBAAsB,EAAE,YAAY;IACpC,kBAAkB,EAAE,QAAQ;IAC5B,uBAAuB,EAAE,aAAa;IACtC,gBAAgB,EAAE,MAAM;IACxB,sBAAsB,EAAE,YAAY;IACpC,qBAAqB,EAAE,WAAW;IAClC,0BAA0B,EAAE,gBAAgB;IAC5C,uBAAuB,EAAE,aAAa;IACtC,mBAAmB,EAAE,KAAK;CAC3B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,gCAAgC,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEjI;;;;;;;;;;GAUG;AACH,MAAM,iCAAiC,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEnH;;;;;;;;;;;GAWG;AACH,MAAM,sCAAsC,GAAG,4BAA4B,CAAC;AAM5E,SAAgB,gCAAgC,CAC9C,qBAA6B,EAC7B,eAAuB,EACvB,eAAuB;IAEvB,+EAA+E;IAC/E,iFAAiF;IACjF,+CAA+C;IAC/C,IAAI,qBAAqB,KAAK,yBAAyB,EAAE,CAAC;QACxD,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;IACvD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,gBAAgB,GAAG,eAAe,KAAK,UAAU,CAAC;IACxD,MAAM,gBAAgB,GAAG,eAAe,KAAK,UAAU,CAAC;IACxD,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjF,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,gBAAgB,GAAG,eAAe,KAAK,UAAU,CAAC;IACxD,MAAM,gBAAgB,GAAG,eAAe,KAAK,UAAU,CAAC;IACxD,IAAI,gBAAgB,IAAI,gBAAgB,EAAE,CAAC;QACzC,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,OAAO,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;QAC7D,CAAC;QACD,IAAI,iCAAiC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,OAAO,EAAE,mBAAmB,IAAI,EAAE,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,gCAAgC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACzF,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,GAAG,UAAU,GAAG,IAAI,EAAE,EAAE,CAAC;IAC1D,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-relationship-mapping.d.ts","sourceRoot":"","sources":["../../../src/mapping/generic-relationship-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"generic-relationship-mapping.d.ts","sourceRoot":"","sources":["../../../src/mapping/generic-relationship-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAuEH,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,gCAAgC,CAC9C,qBAAqB,EAAE,MAAM,EAC7B,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,GACtB,0BAA0B,GAAG,SAAS,CAqCxC"}
|
|
@@ -52,16 +52,29 @@ const JUNCTION_CONFIRMED_VERBS = new Set(['Realisation', 'Influence', 'Use']);
|
|
|
52
52
|
const GROUPING_ELEMENT_CONFIRMED_VERBS = new Set(['Composition', 'Specialization', 'Influence', 'Use', 'Realisation', 'Access']);
|
|
53
53
|
/**
|
|
54
54
|
* Verbs confirmed for the *both-endpoints-Grouping* case specifically —
|
|
55
|
-
* deliberately a
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
55
|
+
* deliberately a separate, independently-confirmed set from the
|
|
56
|
+
* mixed-endpoint one above (the two endpoint shapes are never assumed to
|
|
57
|
+
* share evidence, even for the same verb — see `Composition` below).
|
|
58
|
+
* `Use` and `Influence` confirmed in `sabsa.xma`
|
|
59
|
+
* (`GroupingGroupingUse`/`GroupingGroupingInfluence`); `Specialization`,
|
|
60
|
+
* `Realisation`, and `Access` confirmed via a dedicated, isolated
|
|
61
|
+
* Enterprise Studio round-trip (3 separate Grouping/Grouping pairs, one
|
|
62
|
+
* verb each) — all five follow the plain `GroupingGrouping{Verb}` form.
|
|
63
63
|
*/
|
|
64
|
-
const GROUPING_GROUPING_CONFIRMED_VERBS = new Set(['Use', 'Influence']);
|
|
64
|
+
const GROUPING_GROUPING_CONFIRMED_VERBS = new Set(['Use', 'Influence', 'Specialization', 'Realisation', 'Access']);
|
|
65
|
+
/**
|
|
66
|
+
* `CompositionRelationship` is the one exception: even with both endpoints
|
|
67
|
+
* `Grouping`, it does NOT produce `GroupingGroupingComposition` — a real
|
|
68
|
+
* round-trip against a private model proved that tag doesn't exist
|
|
69
|
+
* (Enterprise Studio rejected the whole document, "could not generate the
|
|
70
|
+
* object: unknown type"). A second, dedicated, isolated round-trip (two
|
|
71
|
+
* `CompositeGrouping` elements connected by `Composition`, cross-checked in
|
|
72
|
+
* both the semantic `<ArchiMate:Relations>` entry and the graphical
|
|
73
|
+
* `MM_DirectedRel`'s `mm_concept`) confirmed the real, asymmetric form:
|
|
74
|
+
* `GroupingElementComposition` — the target side is always labeled
|
|
75
|
+
* `Element` for this verb specifically, regardless of its actual type.
|
|
76
|
+
*/
|
|
77
|
+
const GROUPING_GROUPING_COMPOSITION_XMA_TYPE = 'GroupingElementComposition';
|
|
65
78
|
export function lookupGenericRelationshipMapping(archiRelationshipType, sourceArchiType, targetArchiType) {
|
|
66
79
|
// Confirmed universal: every AssociationRelationship instance across dozens of
|
|
67
80
|
// distinct source/target type pairs (sabsa + agile-manifesto) serializes as this
|
|
@@ -81,6 +94,9 @@ export function lookupGenericRelationshipMapping(archiRelationshipType, sourceAr
|
|
|
81
94
|
const sourceIsGrouping = sourceArchiType === 'Grouping';
|
|
82
95
|
const targetIsGrouping = targetArchiType === 'Grouping';
|
|
83
96
|
if (sourceIsGrouping && targetIsGrouping) {
|
|
97
|
+
if (verb === 'Composition') {
|
|
98
|
+
return { xmaType: GROUPING_GROUPING_COMPOSITION_XMA_TYPE };
|
|
99
|
+
}
|
|
84
100
|
if (GROUPING_GROUPING_CONFIRMED_VERBS.has(verb)) {
|
|
85
101
|
return { xmaType: `GroupingGrouping${verb}` };
|
|
86
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generic-relationship-mapping.js","sourceRoot":"","sources":["../../../src/mapping/generic-relationship-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,4FAA4F;AAC5F,MAAM,kBAAkB,GAAqC;IAC3D,sBAAsB,EAAE,YAAY;IACpC,kBAAkB,EAAE,QAAQ;IAC5B,uBAAuB,EAAE,aAAa;IACtC,gBAAgB,EAAE,MAAM;IACxB,sBAAsB,EAAE,YAAY;IACpC,qBAAqB,EAAE,WAAW;IAClC,0BAA0B,EAAE,gBAAgB;IAC5C,uBAAuB,EAAE,aAAa;IACtC,mBAAmB,EAAE,KAAK;CAC3B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,gCAAgC,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEjI;;;;;;;;;;GAUG;AACH,MAAM,iCAAiC,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"generic-relationship-mapping.js","sourceRoot":"","sources":["../../../src/mapping/generic-relationship-mapping.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,4FAA4F;AAC5F,MAAM,kBAAkB,GAAqC;IAC3D,sBAAsB,EAAE,YAAY;IACpC,kBAAkB,EAAE,QAAQ;IAC5B,uBAAuB,EAAE,aAAa;IACtC,gBAAgB,EAAE,MAAM;IACxB,sBAAsB,EAAE,YAAY;IACpC,qBAAqB,EAAE,WAAW;IAClC,0BAA0B,EAAE,gBAAgB;IAC5C,uBAAuB,EAAE,aAAa;IACtC,mBAAmB,EAAE,KAAK;CAC3B,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC;AAE9E;;;;;;;;;;;GAWG;AACH,MAAM,gCAAgC,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,gBAAgB,EAAE,WAAW,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEjI;;;;;;;;;;GAUG;AACH,MAAM,iCAAiC,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEnH;;;;;;;;;;;GAWG;AACH,MAAM,sCAAsC,GAAG,4BAA4B,CAAC;AAM5E,MAAM,UAAU,gCAAgC,CAC9C,qBAA6B,EAC7B,eAAuB,EACvB,eAAuB;IAEvB,+EAA+E;IAC/E,iFAAiF;IACjF,+CAA+C;IAC/C,IAAI,qBAAqB,KAAK,yBAAyB,EAAE,CAAC;QACxD,OAAO,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;IAClD,CAAC;IAED,MAAM,IAAI,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;IACvD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,gBAAgB,GAAG,eAAe,KAAK,UAAU,CAAC;IACxD,MAAM,gBAAgB,GAAG,eAAe,KAAK,UAAU,CAAC;IACxD,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACjF,OAAO,EAAE,OAAO,EAAE,GAAG,IAAI,UAAU,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,gBAAgB,GAAG,eAAe,KAAK,UAAU,CAAC;IACxD,MAAM,gBAAgB,GAAG,eAAe,KAAK,UAAU,CAAC;IACxD,IAAI,gBAAgB,IAAI,gBAAgB,EAAE,CAAC;QACzC,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;YAC3B,OAAO,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;QAC7D,CAAC;QACD,IAAI,iCAAiC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,OAAO,EAAE,OAAO,EAAE,mBAAmB,IAAI,EAAE,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,IAAI,gCAAgC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACzF,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,MAAM,UAAU,GAAG,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7D,OAAO,EAAE,OAAO,EAAE,GAAG,UAAU,GAAG,UAAU,GAAG,IAAI,EAAE,EAAE,CAAC;IAC1D,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cda/adapter-xma",
|
|
3
|
-
"version": "0.8.
|
|
3
|
+
"version": "0.8.2",
|
|
4
4
|
"description": "XMA output adapter for the Continuous-Driven Architecture (CDA) ecosystem. Serializes the ArchiModel produced by @cda/archi-semantic-core into an XMA document.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"archimate",
|