@accordproject/concerto-core 4.0.2 → 4.1.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/basemodelmanager.d.ts +12 -11
- package/dist/basemodelmanager.js +12 -11
- package/dist/basemodelmanager.js.map +1 -1
- package/dist/concerto-core.js +1 -1
- package/dist/concerto-core.js.LICENSE.txt +1 -1
- package/dist/introspect/declaration.d.ts +8 -0
- package/dist/introspect/declaration.js +28 -1
- package/dist/introspect/declaration.js.map +1 -1
- package/dist/modelmanager.d.ts +1 -0
- package/dist/modelmanager.js +1 -0
- package/dist/modelmanager.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/package.json +4 -4
|
@@ -37,6 +37,14 @@ declare class Declaration extends Decorated {
|
|
|
37
37
|
* @protected
|
|
38
38
|
*/
|
|
39
39
|
validate(...args: any[]): void;
|
|
40
|
+
/**
|
|
41
|
+
* Determines whether a type name resolves to a reserved type in the Concerto
|
|
42
|
+
* system namespace.
|
|
43
|
+
* @param {ModelFile} modelFile - the current model file
|
|
44
|
+
* @param {string} typeName - local/imported type name
|
|
45
|
+
* @returns {boolean} true if the resolved import is a reserved system type
|
|
46
|
+
*/
|
|
47
|
+
private isReservedSystemTypeImport;
|
|
40
48
|
/**
|
|
41
49
|
* Returns the ModelFile that defines this class.
|
|
42
50
|
*
|
|
@@ -72,11 +72,38 @@ class Declaration extends Decorated {
|
|
|
72
72
|
*/
|
|
73
73
|
validate(...args) {
|
|
74
74
|
super.validate(...args);
|
|
75
|
+
const modelFile = this.getModelFile();
|
|
75
76
|
// #648 - check for clashes against imported types
|
|
76
|
-
if (
|
|
77
|
+
if (modelFile.isImportedType(this.getName())) {
|
|
78
|
+
const dangerouslyAllowReservedSystemTypeNamesInUserModels = Boolean(modelFile.getModelManager()?.options?.dangerouslyAllowReservedSystemTypeNamesInUserModels);
|
|
79
|
+
if (dangerouslyAllowReservedSystemTypeNamesInUserModels && this.isReservedSystemTypeImport(modelFile, this.getName())) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
77
82
|
throw new IllegalModelException(`Type '${this.getName()}' clashes with an imported type with the same name.`, this.modelFile, this.ast.location);
|
|
78
83
|
}
|
|
79
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Determines whether a type name resolves to a reserved type in the Concerto
|
|
87
|
+
* system namespace.
|
|
88
|
+
* @param {ModelFile} modelFile - the current model file
|
|
89
|
+
* @param {string} typeName - local/imported type name
|
|
90
|
+
* @returns {boolean} true if the resolved import is a reserved system type
|
|
91
|
+
*/
|
|
92
|
+
isReservedSystemTypeImport(modelFile, typeName) {
|
|
93
|
+
const importedType = modelFile.getType(typeName);
|
|
94
|
+
if (!importedType || typeof importedType === 'string') {
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
const importedModelFile = importedType.getModelFile();
|
|
98
|
+
if (!importedModelFile || !importedModelFile.isSystemModelFile()) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
return importedType.isConcept()
|
|
102
|
+
|| importedType.isAsset()
|
|
103
|
+
|| importedType.isTransaction()
|
|
104
|
+
|| importedType.isParticipant()
|
|
105
|
+
|| importedType.isEvent();
|
|
106
|
+
}
|
|
80
107
|
/**
|
|
81
108
|
* Returns the ModelFile that defines this class.
|
|
82
109
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"declaration.js","sourceRoot":"","sources":["../../src/introspect/declaration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,YAAY,CAAC;AAEb,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AACzC,MAAM,SAAS,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAC1C,MAAM,qBAAqB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAEjE,0CAA0C;AAC1C,mCAAmC;AACnC,0BAA0B;AAC1B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAC7C,CAAC;AACD,kCAAkC;AAElC;;;;;;;;;;GAUG;AACH,MAAM,WAAY,SAAQ,SAAS;IAC/B;;;;;;;OAOG;IACH,YAAY,SAAS,EAAE,GAAG;QACtB,KAAK,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACH,OAAO;QACH,KAAK,CAAC,OAAO,EAAE,CAAC;QAEhB,IAAI,CAAC,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAC,CAAC;YAC7C,MAAM,IAAI,qBAAqB,CAAC,uBAAuB,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChH,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACzF,CAAC;IAED;;;;;;;;OAQG;IACH,QAAQ,CAAC,GAAG,IAAI;QACZ,KAAK,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"declaration.js","sourceRoot":"","sources":["../../src/introspect/declaration.ts"],"names":[],"mappings":"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"}
|
package/dist/modelmanager.d.ts
CHANGED
|
@@ -19,6 +19,7 @@ declare class ModelManager extends BaseModelManager {
|
|
|
19
19
|
* @constructor
|
|
20
20
|
* @param {object} [options] - ModelManager options, also passed to Serializer
|
|
21
21
|
* @param {Object} [options.regExp] - An alternative regular expression engine.
|
|
22
|
+
* @param {boolean} [options.dangerouslyAllowReservedSystemTypeNamesInUserModels] - Transitional escape hatch; when true, declarations may use reserved system type names
|
|
22
23
|
*/
|
|
23
24
|
constructor(options?: ModelManagerOptions);
|
|
24
25
|
/**
|
package/dist/modelmanager.js
CHANGED
|
@@ -53,6 +53,7 @@ class ModelManager extends BaseModelManager {
|
|
|
53
53
|
* @constructor
|
|
54
54
|
* @param {object} [options] - ModelManager options, also passed to Serializer
|
|
55
55
|
* @param {Object} [options.regExp] - An alternative regular expression engine.
|
|
56
|
+
* @param {boolean} [options.dangerouslyAllowReservedSystemTypeNamesInUserModels] - Transitional escape hatch; when true, declarations may use reserved system type names
|
|
56
57
|
*/
|
|
57
58
|
constructor(options = {}) {
|
|
58
59
|
super(options, ctoProcessFile(options));
|
package/dist/modelmanager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modelmanager.js","sourceRoot":"","sources":["../src/modelmanager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,YAAY,CAAC;AAEb,MAAM,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC,MAAM,CAAC;AAE7D,uDAAwD;AAGxD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,2BAA2B,CAAC,CAAC;AAE5D,0CAA0C;AAC1C,mCAAmC;AACnC,0BAA0B;AAC1B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACxD,CAAC;AACD,kCAAkC;AAElC,4CAA4C;AAC5C,MAAM,cAAc,GAAG,CAAC,UAA+B,EAAE,EAA6D,EAAE,CAAC,CAAC,IAAmB,EAAE,IAAa,EAAE,EAAE;IAC5J,mEAAmE;IACnE,MAAM,aAAa,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;IACxE,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,IAAI,IAAI,SAAS,CAAC;IACnC,OAAO;QACH,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC;QACnD,WAAW,EAAE,OAAO;QACpB,QAAQ;KACX,CAAC;AACN,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,YAAa,SAAQ,gBAAgB;IACvC
|
|
1
|
+
{"version":3,"file":"modelmanager.js","sourceRoot":"","sources":["../src/modelmanager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,YAAY,CAAC;AAEb,MAAM,MAAM,GAAG,OAAO,CAAC,6BAA6B,CAAC,CAAC,MAAM,CAAC;AAE7D,uDAAwD;AAGxD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,2BAA2B,CAAC,CAAC;AAE5D,0CAA0C;AAC1C,mCAAmC;AACnC,0BAA0B;AAC1B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;IACvB,MAAM,SAAS,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;AACxD,CAAC;AACD,kCAAkC;AAElC,4CAA4C;AAC5C,MAAM,cAAc,GAAG,CAAC,UAA+B,EAAE,EAA6D,EAAE,CAAC,CAAC,IAAmB,EAAE,IAAa,EAAE,EAAE;IAC5J,mEAAmE;IACnE,MAAM,aAAa,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;IACxE,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,IAAI,IAAI,SAAS,CAAC;IACnC,OAAO;QACH,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC;QACnD,WAAW,EAAE,OAAO;QACpB,QAAQ;KACX,CAAC;AACN,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,YAAa,SAAQ,gBAAgB;IACvC;;;;;;OAMG;IACH,YAAY,UAA+B,EAAE;QACzC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;;;;OAQG;IACH,WAAW,CAAC,GAAW,EAAE,QAAiB,EAAE,iBAA2B;QACnE,MAAM,IAAI,GAAG,aAAa,CAAC;QAC3B,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;QAE1C,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAChE,CAAC;CAEJ;AACD,iBAAS,YAAY,CAAC"}
|
package/dist/types.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@accordproject/concerto-core",
|
|
3
|
-
"version": "4.0
|
|
3
|
+
"version": "4.1.0",
|
|
4
4
|
"description": "Core Implementation for the Concerto Modeling Language",
|
|
5
5
|
"homepage": "https://github.com/accordproject/concerto",
|
|
6
6
|
"engines": {
|
|
@@ -79,9 +79,9 @@
|
|
|
79
79
|
"yargs": "17.3.1"
|
|
80
80
|
},
|
|
81
81
|
"dependencies": {
|
|
82
|
-
"@accordproject/concerto-cto": "4.0
|
|
83
|
-
"@accordproject/concerto-metamodel": "^
|
|
84
|
-
"@accordproject/concerto-util": "4.0
|
|
82
|
+
"@accordproject/concerto-cto": "4.1.0",
|
|
83
|
+
"@accordproject/concerto-metamodel": "^3.13.0",
|
|
84
|
+
"@accordproject/concerto-util": "4.1.0",
|
|
85
85
|
"debug": "4.3.7",
|
|
86
86
|
"lorem-ipsum": "2.0.8",
|
|
87
87
|
"randexp": "0.5.3",
|