@cda/adapter-xma 0.8.0 → 0.8.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.
- package/dist/cjs/mapping/generic-relationship-mapping.d.ts.map +1 -1
- package/dist/cjs/mapping/generic-relationship-mapping.js +29 -10
- 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 +29 -10
- 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;AAyDH,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,CAkCxC"}
|
|
@@ -42,16 +42,29 @@ const VERB_BY_ARCHI_TYPE = {
|
|
|
42
42
|
const JUNCTION_CONFIRMED_VERBS = new Set(['Realisation', 'Influence', 'Use']);
|
|
43
43
|
/**
|
|
44
44
|
* Verbs confirmed to produce the `{Grouping|Element}{Grouping|Element}{Verb}`
|
|
45
|
-
* generic form when a `Grouping`
|
|
46
|
-
* `
|
|
47
|
-
* (sabsa + agile-manifesto),
|
|
48
|
-
* (`ElementGroupingRealisation` — two independent
|
|
49
|
-
* `AccessRelationship` (`ElementGroupingAccess` —
|
|
50
|
-
* The last two came from a private, non-public
|
|
51
|
-
* method as every other entry here, just not
|
|
52
|
-
* this repo. Same "no evidence, no guess" rule
|
|
45
|
+
* generic form when *exactly one* endpoint is a `Grouping` (the other a
|
|
46
|
+
* regular element): `CompositionRelationship`, `SpecializationRelationship`,
|
|
47
|
+
* `InfluenceRelationship`, `ServingRelationship` (sabsa + agile-manifesto),
|
|
48
|
+
* `RealizationRelationship` (`ElementGroupingRealisation` — two independent
|
|
49
|
+
* confirmed instances), and `AccessRelationship` (`ElementGroupingAccess` —
|
|
50
|
+
* one confirmed instance). The last two came from a private, non-public
|
|
51
|
+
* model; same cross-reference method as every other entry here, just not
|
|
52
|
+
* backed by a fixture pair in this repo. Same "no evidence, no guess" rule
|
|
53
|
+
* as Junction above.
|
|
54
|
+
*/
|
|
55
|
+
const GROUPING_ELEMENT_CONFIRMED_VERBS = new Set(['Composition', 'Specialization', 'Influence', 'Use', 'Realisation', 'Access']);
|
|
56
|
+
/**
|
|
57
|
+
* Verbs confirmed for the *both-endpoints-Grouping* case specifically —
|
|
58
|
+
* deliberately a stricter, separate set from the mixed-endpoint one above.
|
|
59
|
+
* Only `Use` and `Influence` are directly confirmed (`GroupingGroupingUse`,
|
|
60
|
+
* `GroupingGroupingInfluence` — both in `sabsa.xma`). A real round-trip
|
|
61
|
+
* against a private model proved `GroupingGroupingComposition` does NOT
|
|
62
|
+
* exist — Enterprise Studio rejected the whole document outright for it
|
|
63
|
+
* ("could not generate the object: unknown type") despite `Composition`
|
|
64
|
+
* being confirmed for the mixed-endpoint case — so the two endpoint shapes
|
|
65
|
+
* are never assumed to share evidence, even for the same verb.
|
|
53
66
|
*/
|
|
54
|
-
const
|
|
67
|
+
const GROUPING_GROUPING_CONFIRMED_VERBS = new Set(['Use', 'Influence']);
|
|
55
68
|
function lookupGenericRelationshipMapping(archiRelationshipType, sourceArchiType, targetArchiType) {
|
|
56
69
|
// Confirmed universal: every AssociationRelationship instance across dozens of
|
|
57
70
|
// distinct source/target type pairs (sabsa + agile-manifesto) serializes as this
|
|
@@ -70,7 +83,13 @@ function lookupGenericRelationshipMapping(archiRelationshipType, sourceArchiType
|
|
|
70
83
|
}
|
|
71
84
|
const sourceIsGrouping = sourceArchiType === 'Grouping';
|
|
72
85
|
const targetIsGrouping = targetArchiType === 'Grouping';
|
|
73
|
-
if (
|
|
86
|
+
if (sourceIsGrouping && targetIsGrouping) {
|
|
87
|
+
if (GROUPING_GROUPING_CONFIRMED_VERBS.has(verb)) {
|
|
88
|
+
return { xmaType: `GroupingGrouping${verb}` };
|
|
89
|
+
}
|
|
90
|
+
return undefined;
|
|
91
|
+
}
|
|
92
|
+
if ((sourceIsGrouping || targetIsGrouping) && GROUPING_ELEMENT_CONFIRMED_VERBS.has(verb)) {
|
|
74
93
|
const sourcePart = sourceIsGrouping ? 'Grouping' : 'Element';
|
|
75
94
|
const targetPart = targetIsGrouping ? 'Grouping' : 'Element';
|
|
76
95
|
return { xmaType: `${sourcePart}${targetPart}${verb}` };
|
|
@@ -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;;AA6DH,4EAsCC;AAjGD,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;AAMxE,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,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;AAyDH,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,CAkCxC"}
|
|
@@ -39,16 +39,29 @@ const VERB_BY_ARCHI_TYPE = {
|
|
|
39
39
|
const JUNCTION_CONFIRMED_VERBS = new Set(['Realisation', 'Influence', 'Use']);
|
|
40
40
|
/**
|
|
41
41
|
* Verbs confirmed to produce the `{Grouping|Element}{Grouping|Element}{Verb}`
|
|
42
|
-
* generic form when a `Grouping`
|
|
43
|
-
* `
|
|
44
|
-
* (sabsa + agile-manifesto),
|
|
45
|
-
* (`ElementGroupingRealisation` — two independent
|
|
46
|
-
* `AccessRelationship` (`ElementGroupingAccess` —
|
|
47
|
-
* The last two came from a private, non-public
|
|
48
|
-
* method as every other entry here, just not
|
|
49
|
-
* this repo. Same "no evidence, no guess" rule
|
|
42
|
+
* generic form when *exactly one* endpoint is a `Grouping` (the other a
|
|
43
|
+
* regular element): `CompositionRelationship`, `SpecializationRelationship`,
|
|
44
|
+
* `InfluenceRelationship`, `ServingRelationship` (sabsa + agile-manifesto),
|
|
45
|
+
* `RealizationRelationship` (`ElementGroupingRealisation` — two independent
|
|
46
|
+
* confirmed instances), and `AccessRelationship` (`ElementGroupingAccess` —
|
|
47
|
+
* one confirmed instance). The last two came from a private, non-public
|
|
48
|
+
* model; same cross-reference method as every other entry here, just not
|
|
49
|
+
* backed by a fixture pair in this repo. Same "no evidence, no guess" rule
|
|
50
|
+
* as Junction above.
|
|
51
|
+
*/
|
|
52
|
+
const GROUPING_ELEMENT_CONFIRMED_VERBS = new Set(['Composition', 'Specialization', 'Influence', 'Use', 'Realisation', 'Access']);
|
|
53
|
+
/**
|
|
54
|
+
* Verbs confirmed for the *both-endpoints-Grouping* case specifically —
|
|
55
|
+
* deliberately a stricter, separate set from the mixed-endpoint one above.
|
|
56
|
+
* Only `Use` and `Influence` are directly confirmed (`GroupingGroupingUse`,
|
|
57
|
+
* `GroupingGroupingInfluence` — both in `sabsa.xma`). A real round-trip
|
|
58
|
+
* against a private model proved `GroupingGroupingComposition` does NOT
|
|
59
|
+
* exist — Enterprise Studio rejected the whole document outright for it
|
|
60
|
+
* ("could not generate the object: unknown type") despite `Composition`
|
|
61
|
+
* being confirmed for the mixed-endpoint case — so the two endpoint shapes
|
|
62
|
+
* are never assumed to share evidence, even for the same verb.
|
|
50
63
|
*/
|
|
51
|
-
const
|
|
64
|
+
const GROUPING_GROUPING_CONFIRMED_VERBS = new Set(['Use', 'Influence']);
|
|
52
65
|
export function lookupGenericRelationshipMapping(archiRelationshipType, sourceArchiType, targetArchiType) {
|
|
53
66
|
// Confirmed universal: every AssociationRelationship instance across dozens of
|
|
54
67
|
// distinct source/target type pairs (sabsa + agile-manifesto) serializes as this
|
|
@@ -67,7 +80,13 @@ export function lookupGenericRelationshipMapping(archiRelationshipType, sourceAr
|
|
|
67
80
|
}
|
|
68
81
|
const sourceIsGrouping = sourceArchiType === 'Grouping';
|
|
69
82
|
const targetIsGrouping = targetArchiType === 'Grouping';
|
|
70
|
-
if (
|
|
83
|
+
if (sourceIsGrouping && targetIsGrouping) {
|
|
84
|
+
if (GROUPING_GROUPING_CONFIRMED_VERBS.has(verb)) {
|
|
85
|
+
return { xmaType: `GroupingGrouping${verb}` };
|
|
86
|
+
}
|
|
87
|
+
return undefined;
|
|
88
|
+
}
|
|
89
|
+
if ((sourceIsGrouping || targetIsGrouping) && GROUPING_ELEMENT_CONFIRMED_VERBS.has(verb)) {
|
|
71
90
|
const sourcePart = sourceIsGrouping ? 'Grouping' : 'Element';
|
|
72
91
|
const targetPart = targetIsGrouping ? 'Grouping' : 'Element';
|
|
73
92
|
return { xmaType: `${sourcePart}${targetPart}${verb}` };
|
|
@@ -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
|
|
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;AAMxE,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,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.1",
|
|
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",
|