@accordproject/concerto-core 4.0.0-alpha.1 → 4.0.0-beta.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.
Files changed (158) hide show
  1. package/dist/astmodelmanager.d.ts +3 -3
  2. package/dist/astmodelmanager.js.map +1 -1
  3. package/dist/basemodelmanager.d.ts +72 -95
  4. package/dist/basemodelmanager.js +29 -20
  5. package/dist/basemodelmanager.js.map +1 -1
  6. package/dist/concerto-core.js +1 -1
  7. package/dist/concerto-core.js.LICENSE.txt +1 -1
  8. package/dist/datetimeutil.d.ts +8 -1
  9. package/dist/datetimeutil.js.map +1 -1
  10. package/dist/dcsconverter.d.ts +12 -2
  11. package/dist/dcsconverter.js.map +1 -1
  12. package/dist/decoratorextractor.d.ts +30 -23
  13. package/dist/decoratorextractor.js.map +1 -1
  14. package/dist/decoratormanager.d.ts +32 -74
  15. package/dist/decoratormanager.js.map +1 -1
  16. package/dist/decoratormodelhelper.d.ts +13 -0
  17. package/dist/{decoratormodel.js → decoratormodelhelper.js} +4 -3
  18. package/dist/decoratormodelhelper.js.map +1 -0
  19. package/dist/factory.d.ts +11 -28
  20. package/dist/factory.js.map +1 -1
  21. package/dist/globalize.d.ts +16 -13
  22. package/dist/globalize.js.map +1 -1
  23. package/dist/index.d.ts +1 -7
  24. package/dist/index.js +2 -8
  25. package/dist/index.js.map +1 -1
  26. package/dist/introspect/assetdeclaration.d.ts +4 -4
  27. package/dist/introspect/assetdeclaration.js +1 -1
  28. package/dist/introspect/assetdeclaration.js.map +1 -1
  29. package/dist/introspect/classdeclaration.d.ts +67 -25
  30. package/dist/introspect/classdeclaration.js +1 -1
  31. package/dist/introspect/classdeclaration.js.map +1 -1
  32. package/dist/introspect/conceptdeclaration.d.ts +9 -2
  33. package/dist/introspect/conceptdeclaration.js +1 -1
  34. package/dist/introspect/conceptdeclaration.js.map +1 -1
  35. package/dist/introspect/declaration.d.ts +37 -12
  36. package/dist/introspect/declaration.js.map +1 -1
  37. package/dist/introspect/decorated.d.ts +10 -12
  38. package/dist/introspect/decorated.js +1 -0
  39. package/dist/introspect/decorated.js.map +1 -1
  40. package/dist/introspect/decorator.d.ts +12 -14
  41. package/dist/introspect/decorator.js +1 -1
  42. package/dist/introspect/decorator.js.map +1 -1
  43. package/dist/introspect/decoratorfactory.d.ts +2 -5
  44. package/dist/introspect/decoratorfactory.js.map +1 -1
  45. package/dist/introspect/enumdeclaration.d.ts +14 -2
  46. package/dist/introspect/enumdeclaration.js +1 -1
  47. package/dist/introspect/enumdeclaration.js.map +1 -1
  48. package/dist/introspect/enumvaluedeclaration.d.ts +16 -2
  49. package/dist/introspect/enumvaluedeclaration.js +1 -1
  50. package/dist/introspect/enumvaluedeclaration.js.map +1 -1
  51. package/dist/introspect/eventdeclaration.d.ts +5 -5
  52. package/dist/introspect/eventdeclaration.js +1 -1
  53. package/dist/introspect/eventdeclaration.js.map +1 -1
  54. package/dist/introspect/field.d.ts +24 -12
  55. package/dist/introspect/field.js +1 -1
  56. package/dist/introspect/field.js.map +1 -1
  57. package/dist/introspect/identifieddeclaration.d.ts +9 -2
  58. package/dist/introspect/identifieddeclaration.js +1 -1
  59. package/dist/introspect/identifieddeclaration.js.map +1 -1
  60. package/dist/introspect/illegalmodelexception.d.ts +4 -6
  61. package/dist/introspect/illegalmodelexception.js +1 -1
  62. package/dist/introspect/illegalmodelexception.js.map +1 -1
  63. package/dist/introspect/introspector.d.ts +7 -9
  64. package/dist/introspect/introspector.js.map +1 -1
  65. package/dist/introspect/mapdeclaration.d.ts +11 -18
  66. package/dist/introspect/mapdeclaration.js +1 -1
  67. package/dist/introspect/mapdeclaration.js.map +1 -1
  68. package/dist/introspect/mapkeytype.d.ts +27 -13
  69. package/dist/introspect/mapkeytype.js.map +1 -1
  70. package/dist/introspect/mapvaluetype.d.ts +27 -13
  71. package/dist/introspect/mapvaluetype.js.map +1 -1
  72. package/dist/introspect/metamodel.d.ts +9 -4
  73. package/dist/introspect/metamodel.js.map +1 -1
  74. package/dist/introspect/modelfile.d.ts +61 -67
  75. package/dist/introspect/modelfile.js +1 -1
  76. package/dist/introspect/modelfile.js.map +1 -1
  77. package/dist/introspect/numbervalidator.d.ts +35 -6
  78. package/dist/introspect/numbervalidator.js.map +1 -1
  79. package/dist/introspect/participantdeclaration.d.ts +4 -4
  80. package/dist/introspect/participantdeclaration.js +1 -1
  81. package/dist/introspect/participantdeclaration.js.map +1 -1
  82. package/dist/introspect/property.d.ts +26 -20
  83. package/dist/introspect/property.js.map +1 -1
  84. package/dist/introspect/relationshipdeclaration.d.ts +21 -2
  85. package/dist/introspect/relationshipdeclaration.js +1 -1
  86. package/dist/introspect/relationshipdeclaration.js.map +1 -1
  87. package/dist/introspect/scalardeclaration.d.ts +50 -19
  88. package/dist/introspect/scalardeclaration.js.map +1 -1
  89. package/dist/introspect/stringvalidator.d.ts +23 -9
  90. package/dist/introspect/stringvalidator.js.map +1 -1
  91. package/dist/introspect/transactiondeclaration.d.ts +4 -4
  92. package/dist/introspect/transactiondeclaration.js +1 -1
  93. package/dist/introspect/transactiondeclaration.js.map +1 -1
  94. package/dist/introspect/validator.d.ts +9 -9
  95. package/dist/introspect/validator.js.map +1 -1
  96. package/dist/messages/en.json +18 -4
  97. package/dist/messages/pt.json +5 -0
  98. package/dist/metamodelexception.d.ts +4 -5
  99. package/dist/metamodelexception.js.map +1 -1
  100. package/dist/model/identifiable.d.ts +13 -11
  101. package/dist/model/identifiable.js.map +1 -1
  102. package/dist/model/relationship.d.ts +25 -14
  103. package/dist/model/relationship.js +3 -3
  104. package/dist/model/relationship.js.map +1 -1
  105. package/dist/model/resource.d.ts +32 -5
  106. package/dist/model/resource.js.map +1 -1
  107. package/dist/model/resourceid.d.ts +13 -13
  108. package/dist/model/resourceid.js.map +1 -1
  109. package/dist/model/typed.d.ts +18 -20
  110. package/dist/model/typed.js +2 -2
  111. package/dist/model/typed.js.map +1 -1
  112. package/dist/model/validatedresource.d.ts +18 -4
  113. package/dist/model/validatedresource.js.map +1 -1
  114. package/dist/modelloader.d.ts +11 -11
  115. package/dist/modelloader.js +48 -12
  116. package/dist/modelloader.js.map +1 -1
  117. package/dist/modelmanager.d.ts +5 -7
  118. package/dist/modelmanager.js +8 -6
  119. package/dist/modelmanager.js.map +1 -1
  120. package/dist/modelutil.d.ts +26 -33
  121. package/dist/modelutil.js.map +1 -1
  122. package/dist/rootmodel.json +1 -1
  123. package/dist/rootmodelhelper.d.ts +13 -0
  124. package/dist/{rootmodel.js → rootmodelhelper.js} +1 -2
  125. package/dist/rootmodelhelper.js.map +1 -0
  126. package/dist/securityexception.d.ts +4 -5
  127. package/dist/securityexception.js.map +1 -1
  128. package/dist/serializer/instancegenerator.d.ts +9 -9
  129. package/dist/serializer/instancegenerator.js +1 -1
  130. package/dist/serializer/instancegenerator.js.map +1 -1
  131. package/dist/serializer/jsongenerator.d.ts +14 -14
  132. package/dist/serializer/jsongenerator.js.map +1 -1
  133. package/dist/serializer/jsonpopulator.d.ts +44 -13
  134. package/dist/serializer/jsonpopulator.js +27 -21
  135. package/dist/serializer/jsonpopulator.js.map +1 -1
  136. package/dist/serializer/resourcevalidator.d.ts +88 -96
  137. package/dist/serializer/resourcevalidator.js +5 -5
  138. package/dist/serializer/resourcevalidator.js.map +1 -1
  139. package/dist/serializer/validationexception.d.ts +4 -5
  140. package/dist/serializer/validationexception.js.map +1 -1
  141. package/dist/serializer/valuegenerator.d.ts +153 -3
  142. package/dist/serializer/valuegenerator.js.map +1 -1
  143. package/dist/serializer.d.ts +8 -26
  144. package/dist/serializer.js +1 -1
  145. package/dist/serializer.js.map +1 -1
  146. package/dist/typenotfoundexception.d.ts +5 -7
  147. package/dist/typenotfoundexception.js +3 -1
  148. package/dist/typenotfoundexception.js.map +1 -1
  149. package/dist/types.d.ts +17 -0
  150. package/dist/types.js +16 -0
  151. package/dist/types.js.map +1 -0
  152. package/package.json +7 -6
  153. package/types/lib/dcsIndexWrapper.d.ts +16 -0
  154. package/types/lib/dcsconverter.d.ts +12 -0
  155. package/dist/decoratormodel.js.map +0 -1
  156. package/dist/rootmodel.d.ts +0 -5
  157. package/dist/rootmodel.js.map +0 -1
  158. /package/{dist → types/lib}/decoratormodel.d.ts +0 -0
@@ -1,4 +1,4 @@
1
- export = AstModelManager;
1
+ declare const BaseModelManager: any;
2
2
  /**
3
3
  * Manages the Concerto model files in AST format.
4
4
  *
@@ -18,6 +18,6 @@ declare class AstModelManager extends BaseModelManager {
18
18
  * @constructor
19
19
  * @param {object} [options] - Serializer options
20
20
  */
21
- constructor(options?: object);
21
+ constructor(options: any);
22
22
  }
23
- import BaseModelManager = require("./basemodelmanager");
23
+ export = AstModelManager;
@@ -1 +1 @@
1
- {"version":3,"file":"astmodelmanager.js","sourceRoot":"","sources":["../src/astmodelmanager.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,YAAY,CAAC;AAEb,MAAM,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEvD,4CAA4C;AAC5C,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IAClC,OAAO;QACH,GAAG,EAAE,IAAI;QACT,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;KACjB,CAAC;AACN,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,eAAgB,SAAQ,gBAAgB;IAC1C;;;;OAIG;IACH,YAAY,OAAO;QACf,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACnC,CAAC;CACJ;AAED,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC"}
1
+ {"version":3,"file":"astmodelmanager.js","sourceRoot":"","sources":["../src/astmodelmanager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,YAAY,CAAC;AAEb,MAAM,gBAAgB,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAEvD,4CAA4C;AAC5C,MAAM,cAAc,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IAClC,OAAO;QACH,GAAG,EAAE,IAAI;QACT,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;KACjB,CAAC;AACN,CAAC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,eAAgB,SAAQ,gBAAgB;IAC1C;;;;OAIG;IACH,YAAY,OAAO;QACf,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;IACnC,CAAC;CACJ;AAED,iBAAS,eAAe,CAAC"}
@@ -1,4 +1,7 @@
1
- export = BaseModelManager;
1
+ declare const ModelFile: any;
2
+ import type { ModelFileSource, ModelManagerOptions } from './types';
3
+ type ModelFileInstance = InstanceType<typeof ModelFile>;
4
+ type ModelFileInput = string | ModelFileInstance;
2
5
  /**
3
6
  * Manages the Concerto model files.
4
7
  *
@@ -15,46 +18,27 @@ export = BaseModelManager;
15
18
  * @memberof module:concerto-core
16
19
  */
17
20
  declare class BaseModelManager {
18
- /**
19
- * Create the ModelManager.
20
- * @constructor
21
- * @param {object} [options] - ModelManager options, also passed to Serializer
22
- * @param {Object} [options.regExp] - An alternative regular expression engine.
23
- * @param {boolean} [options.metamodelValidation] - When true, modelfiles will be validated
24
- * @param {boolean} [options.addMetamodel] - When true, the Concerto metamodel is added to the model manager
25
- * @param {object} [options.decoratorValidation] - the decorator validation configuration
26
- * @param {string} [options.decoratorValidation.missingDecorator] - the validation log level for missingDecorator decorators: off, warning, error
27
- * @param {string} [options.decoratorValidation.invalidDecorator] - the validation log level for invalidDecorator decorators: off, warning, error
28
- * @param {*} [processFile] - how to obtain a concerto AST from an input to the model manager
29
- */
30
- constructor(options?: {
31
- regExp?: Object | undefined;
32
- metamodelValidation?: boolean | undefined;
33
- addMetamodel?: boolean | undefined;
34
- decoratorValidation?: {
35
- missingDecorator?: string | undefined;
36
- invalidDecorator?: string | undefined;
37
- } | undefined;
38
- }, processFile?: any);
21
+ modelFiles: any;
39
22
  processFile: any;
40
- modelFiles: {};
41
- factory: Factory;
42
- serializer: Serializer;
23
+ factory: any;
24
+ serializer: any;
43
25
  decoratorFactories: any[];
44
- options: {
45
- regExp?: Object | undefined;
46
- metamodelValidation?: boolean | undefined;
47
- addMetamodel?: boolean | undefined;
48
- decoratorValidation?: {
49
- missingDecorator?: string | undefined;
50
- invalidDecorator?: string | undefined;
51
- } | undefined;
52
- } | undefined;
53
- decoratorValidation: {
54
- missingDecorator?: string | undefined;
55
- invalidDecorator?: string | undefined;
56
- };
57
- metamodelModelFile: ModelFile;
26
+ options: any;
27
+ decoratorValidation: any;
28
+ metamodelModelFile: any;
29
+ /**
30
+ * Create the ModelManager.
31
+ * @constructor
32
+ * @param {object} [options] - ModelManager options, also passed to Serializer
33
+ * @param {Object} [options.regExp] - An alternative regular expression engine.
34
+ * @param {boolean} [options.metamodelValidation] - When true, modelfiles will be validated
35
+ * @param {boolean} [options.addMetamodel] - When true, the Concerto metamodel is added to the model manager
36
+ * @param {object} [options.decoratorValidation] - the decorator validation configuration
37
+ * @param {string} [options.decoratorValidation.missingDecorator] - the validation log level for missingDecorator decorators: off, warning, error
38
+ * @param {string} [options.decoratorValidation.invalidDecorator] - the validation log level for invalidDecorator decorators: off, warning, error
39
+ * @param {*} [processFile] - how to obtain a concerto AST from an input to the model manager
40
+ */
41
+ constructor(options?: ModelManagerOptions, processFile?: (fileName: string | null, modelInput: string | unknown) => ModelFileSource);
58
42
  /**
59
43
  * Returns true
60
44
  * @returns {boolean} true
@@ -64,7 +48,7 @@ declare class BaseModelManager {
64
48
  * Adds root types
65
49
  * @private
66
50
  */
67
- private addRootModel;
51
+ addRootModel(): void;
68
52
  /**
69
53
  * Checks if the import aliasing feature is enabled.
70
54
  * @returns {boolean} true
@@ -76,7 +60,7 @@ declare class BaseModelManager {
76
60
  * @param {Object} parameters - the parameter
77
61
  * @return {Object} the result of visiting or null
78
62
  */
79
- accept(visitor: Object, parameters: Object): Object;
63
+ accept(visitor: any, parameters: any): any;
80
64
  /**
81
65
  * Validates a Concerto file (as a string) to the ModelManager.
82
66
  * Concerto files have a single namespace.
@@ -88,18 +72,22 @@ declare class BaseModelManager {
88
72
  * @param {string} [fileName] - a file name to associate with the model file
89
73
  * @throws {IllegalModelException}
90
74
  */
91
- validateModelFile(modelFile: string | ModelFile, fileName?: string): void;
75
+ validateModelFile(modelFile: any, fileName: any): void;
92
76
  /**
93
77
  * Adds decorator types
94
78
  * @private
95
79
  */
96
- private addDecoratorModel;
80
+ /**
81
+ * Adds decorator types
82
+ * @private
83
+ */
84
+ addDecoratorModel(): void;
97
85
  /**
98
86
  * Throws an error with details about the existing namespace.
99
87
  * @param {ModelFile} modelFile The model file that is trying to declare an existing namespace
100
88
  * @private
101
89
  */
102
- private _throwAlreadyExists;
90
+ _throwAlreadyExists(modelFile: any): void;
103
91
  /**
104
92
  * Adds a Concerto file (as an AST) to the ModelManager.
105
93
  * Concerto files have a single namespace. If a Concerto file with the
@@ -115,7 +103,7 @@ declare class BaseModelManager {
115
103
  * @throws {IllegalModelException}
116
104
  * @return {Object} The newly added model file (internal).
117
105
  */
118
- addModelFile(modelFile: ModelFile, cto?: string, fileName?: string, disableValidation?: boolean): Object;
106
+ addModelFile(modelFile: ModelFileInstance, cto?: string | null, fileName?: string | null, disableValidation?: boolean): any;
119
107
  /**
120
108
  * Check that a modelFile is valid with respect to the metamodel.
121
109
  *
@@ -123,7 +111,7 @@ declare class BaseModelManager {
123
111
  * @throws {MetamodelException} - throws if the ModelFile is invalid
124
112
  * @private
125
113
  */
126
- private validateAst;
114
+ validateAst(modelFile: any): void;
127
115
  /**
128
116
  * Adds a model to the ModelManager.
129
117
  * Concerto files have a single namespace. If a Concerto file with the
@@ -139,7 +127,7 @@ declare class BaseModelManager {
139
127
  * @throws {IllegalModelException}
140
128
  * @return {ModelFile} The newly added model file (internal).
141
129
  */
142
- addModel(modelInput: any, cto?: string, fileName?: string, disableValidation?: boolean): ModelFile;
130
+ addModel(modelInput: any, cto: any, fileName: any, disableValidation: any): any;
143
131
  /**
144
132
  * Updates a Concerto file (as a string) on the ModelManager.
145
133
  * Concerto files have a single namespace. If a Concerto file with the
@@ -151,12 +139,12 @@ declare class BaseModelManager {
151
139
  * @throws {IllegalModelException}
152
140
  * @returns {Object} The newly added model file (internal).
153
141
  */
154
- updateModelFile(modelFile: string | ModelFile, fileName?: string, disableValidation?: boolean): Object;
142
+ updateModelFile(modelFile: any, fileName: any, disableValidation: any): any;
155
143
  /**
156
144
  * Remove the Concerto file for a given namespace
157
145
  * @param {string} namespace - The namespace of the model file to delete.
158
146
  */
159
- deleteModelFile(namespace: string): void;
147
+ deleteModelFile(namespace: any): void;
160
148
  /**
161
149
  * Add a set of Concerto files to the model manager.
162
150
  * @param {string[]|ModelFile[]} modelFiles - An array of models as strings or ModelFile objects.
@@ -164,7 +152,7 @@ declare class BaseModelManager {
164
152
  * @param {boolean} [disableValidation] - If true then the model files are not validated
165
153
  * @returns {Object[]} The newly added model files (internal).
166
154
  */
167
- addModelFiles(modelFiles: string[] | ModelFile[], fileNames?: string[], disableValidation?: boolean): Object[];
155
+ addModelFiles(modelFiles: ModelFileInput[], fileNames?: string[] | null, disableValidation?: boolean): any[];
168
156
  /**
169
157
  * Validates all models files in this model manager
170
158
  */
@@ -177,7 +165,9 @@ declare class BaseModelManager {
177
165
  * @throws {IllegalModelException} if the models fail validation
178
166
  * @return {Promise} a promise when the download and update operation is completed.
179
167
  */
180
- updateExternalModels(options?: Object, fileDownloader?: any): Promise<any>;
168
+ updateExternalModels(options?: RequestInit, fileDownloader?: {
169
+ downloadExternalDependencies(files: ModelFileInstance[], options?: RequestInit): Promise<ModelFileSource[]>;
170
+ }): Promise<any[]>;
181
171
  /**
182
172
  * Write all models in this model manager to the specified path in the file system
183
173
  *
@@ -186,14 +176,12 @@ declare class BaseModelManager {
186
176
  * @param {boolean} options.includeExternalModels -
187
177
  * If true, external models are written to the file system. Defaults to true
188
178
  */
189
- writeModelsToFileSystem(path: string, options?: {
190
- includeExternalModels: boolean;
191
- }): void;
179
+ writeModelsToFileSystem(path: any, options?: {}): void;
192
180
  /**
193
181
  * Returns the status of the decorator validation options
194
182
  * @returns {object} returns an object that indicates the log levels for defined and undefined decorators
195
183
  */
196
- getDecoratorValidation(): object;
184
+ getDecoratorValidation(): any;
197
185
  /**
198
186
  * Get the array of model file instances
199
187
  * @param {Boolean} [includeConcertoNamespace] - whether to include the concerto namespace
@@ -201,7 +189,7 @@ declare class BaseModelManager {
201
189
  * @return {ModelFile[]} The ModelFiles registered
202
190
  * @private
203
191
  */
204
- private getModelFiles;
192
+ getModelFiles(includeConcertoNamespace?: boolean): ModelFileInstance[];
205
193
  /**
206
194
  * Gets all the Concerto models
207
195
  * @param {Object} [options] - Options object
@@ -210,11 +198,11 @@ declare class BaseModelManager {
210
198
  * @return {Array<{name:string, content:string}>} the name and content of each CTO file
211
199
  */
212
200
  getModels(options?: {
213
- includeExternalModels: boolean;
214
- }): Array<{
201
+ includeExternalModels?: boolean;
202
+ }): {
215
203
  name: string;
216
- content: string;
217
- }>;
204
+ content: string | null;
205
+ }[];
218
206
  /**
219
207
  * Check that the type is valid and returns the FQN of the type.
220
208
  * @param {string} context - error reporting context
@@ -223,7 +211,7 @@ declare class BaseModelManager {
223
211
  * @throws {IllegalModelException} - if the type is not defined
224
212
  * @private
225
213
  */
226
- private resolveType;
214
+ resolveType(context: any, type: any): any;
227
215
  /**
228
216
  * Remove all registered Concerto files
229
217
  */
@@ -234,7 +222,7 @@ declare class BaseModelManager {
234
222
  * @param {string} namespace - the namespace containing the ModelFile
235
223
  * @return {ModelFile} registered ModelFile for the namespace or null
236
224
  */
237
- getModelFile(namespace: string): ModelFile;
225
+ getModelFile(namespace: any): any;
238
226
  /**
239
227
  * Get the ModelFile associated with a file name
240
228
  *
@@ -242,7 +230,7 @@ declare class BaseModelManager {
242
230
  * @return {ModelFile} registered ModelFile for the namespace or null
243
231
  * @private
244
232
  */
245
- private getModelFileByFileName;
233
+ getModelFileByFileName(fileName: any): any;
246
234
  /**
247
235
  * Get the namespaces registered with the ModelManager.
248
236
  * @return {string[]} namespaces - the namespaces that have been registered.
@@ -255,62 +243,62 @@ declare class BaseModelManager {
255
243
  * @return {ClassDeclaration} - the class declaration for the specified type.
256
244
  * @throws {TypeNotFoundException} - if the type cannot be found or is a primitive type.
257
245
  */
258
- getType(qualifiedName: string): ClassDeclaration;
246
+ getType(qualifiedName: any): any;
259
247
  /**
260
248
  * Get the AssetDeclarations defined in this model manager
261
249
  * @return {AssetDeclaration[]} the AssetDeclarations defined in the model manager
262
250
  */
263
- getAssetDeclarations(): AssetDeclaration[];
251
+ getAssetDeclarations(): any;
264
252
  /**
265
253
  * Get the TransactionDeclarations defined in this model manager
266
254
  * @return {TransactionDeclaration[]} the TransactionDeclarations defined in the model manager
267
255
  */
268
- getTransactionDeclarations(): TransactionDeclaration[];
256
+ getTransactionDeclarations(): any;
269
257
  /**
270
258
  * Get the EventDeclarations defined in this model manager
271
259
  * @return {EventDeclaration[]} the EventDeclaration defined in the model manager
272
260
  */
273
- getEventDeclarations(): EventDeclaration[];
261
+ getEventDeclarations(): any;
274
262
  /**
275
263
  * Get the ParticipantDeclarations defined in this model manager
276
264
  * @return {ParticipantDeclaration[]} the ParticipantDeclaration defined in the model manager
277
265
  */
278
- getParticipantDeclarations(): ParticipantDeclaration[];
266
+ getParticipantDeclarations(): any;
279
267
  /**
280
268
  * Get the MapDeclarations defined in this model manager
281
269
  * @return {MapDeclaration[]} the MapDeclaration defined in the model manager
282
270
  */
283
- getMapDeclarations(): MapDeclaration[];
271
+ getMapDeclarations(): any;
284
272
  /**
285
273
  * Get the EnumDeclarations defined in this model manager
286
274
  * @return {EnumDeclaration[]} the EnumDeclaration defined in the model manager
287
275
  */
288
- getEnumDeclarations(): EnumDeclaration[];
276
+ getEnumDeclarations(): any;
289
277
  /**
290
278
  * Get the Concepts defined in this model manager
291
279
  * @return {ConceptDeclaration[]} the ConceptDeclaration defined in the model manager
292
280
  */
293
- getConceptDeclarations(): ConceptDeclaration[];
281
+ getConceptDeclarations(): any;
294
282
  /**
295
283
  * Get a factory for creating new instances of types defined in this model manager.
296
284
  * @return {Factory} A factory for creating new instances of types defined in this model manager.
297
285
  */
298
- getFactory(): Factory;
286
+ getFactory(): any;
299
287
  /**
300
288
  * Get a serializer for serializing instances of types defined in this model manager.
301
289
  * @return {Serializer} A serializer for serializing instances of types defined in this model manager.
302
290
  */
303
- getSerializer(): Serializer;
291
+ getSerializer(): any;
304
292
  /**
305
293
  * Get the decorator factories for this model manager.
306
294
  * @return {DecoratorFactory[]} The decorator factories for this model manager.
307
295
  */
308
- getDecoratorFactories(): DecoratorFactory[];
296
+ getDecoratorFactories(): any[];
309
297
  /**
310
298
  * Add a decorator factory to this model manager.
311
299
  * @param {DecoratorFactory} factory The decorator factory to add to this model manager.
312
300
  */
313
- addDecoratorFactory(factory: DecoratorFactory): void;
301
+ addDecoratorFactory(factory: any): void;
314
302
  /**
315
303
  * Checks if this fully qualified type name is derived from another.
316
304
  * @param {string} fqt1 The fully qualified type name to check.
@@ -318,29 +306,30 @@ declare class BaseModelManager {
318
306
  * @returns {boolean} True if this instance is an instance of the specified fully
319
307
  * qualified type name, false otherwise.
320
308
  */
321
- derivesFrom(fqt1: string, fqt2: string): boolean;
309
+ derivesFrom(fqt1: any, fqt2: any): boolean;
322
310
  /**
323
311
  * Resolve the namespace for names in the metamodel
324
312
  * @param {object} metaModel - the MetaModel
325
313
  * @return {object} the resolved metamodel
326
314
  */
327
- resolveMetaModel(metaModel: object): object;
315
+ resolveMetaModel(metaModel: any): any;
328
316
  /**
329
317
  * Populates the model manager from a models metamodel AST
330
318
  * @param {*} ast the metamodel
331
319
  * @param {object} [options] - options for the from ast method
332
320
  * @param {object} [options.disableValidation] - option to disable metamodel validation and just fetch the models, to be used only if the metamodel is already validated
333
321
  */
334
- fromAst(ast: any, options?: {
335
- disableValidation?: object | undefined;
336
- }): void;
322
+ fromAst(ast: any, options: any): void;
337
323
  /**
338
324
  * Get the full ast (metamodel instances) for a modelmanager
339
325
  * @param {boolean} [resolve] - whether to resolve names
340
326
  * @param {boolean} [includeConcertoNamespaces] - whether to include the concerto namespaces
341
327
  * @returns {*} the metamodel
342
328
  */
343
- getAst(resolve?: boolean, includeConcertoNamespaces?: boolean): any;
329
+ getAst(resolve: any, includeConcertoNamespaces: any): {
330
+ $class: string;
331
+ models: any[];
332
+ };
344
333
  /**
345
334
  * A function type definition for use as an argument to the filter function
346
335
  * @callback FilterFunction
@@ -356,18 +345,6 @@ declare class BaseModelManager {
356
345
  * @param {FilterFunction} predicate - the filter function over a Declaration object
357
346
  * @returns {BaseModelManager} - the filtered ModelManager
358
347
  */
359
- filter(predicate: (declaration: Declaration) => boolean): BaseModelManager;
348
+ filter(predicate: any): BaseModelManager;
360
349
  }
361
- import Factory = require("./factory");
362
- import Serializer = require("./serializer");
363
- import ModelFile = require("./introspect/modelfile");
364
- import ClassDeclaration = require("./introspect/classdeclaration");
365
- import AssetDeclaration = require("./introspect/assetdeclaration");
366
- import TransactionDeclaration = require("./introspect/transactiondeclaration");
367
- import EventDeclaration = require("./introspect/eventdeclaration");
368
- import ParticipantDeclaration = require("./introspect/participantdeclaration");
369
- import MapDeclaration = require("./introspect/mapdeclaration");
370
- import EnumDeclaration = require("./introspect/enumdeclaration");
371
- import ConceptDeclaration = require("./introspect/conceptdeclaration");
372
- import DecoratorFactory = require("./introspect/decoratorfactory");
373
- import Declaration = require("./introspect/declaration");
350
+ export = BaseModelManager;
@@ -22,8 +22,6 @@ const ModelFile = require('./introspect/modelfile');
22
22
  const ModelUtil = require('./modelutil');
23
23
  const Serializer = require('./serializer');
24
24
  const TypeNotFoundException = require('./typenotfoundexception');
25
- const { getRootModel } = require('./rootmodel');
26
- const { getDecoratorModel } = require('./decoratormodel');
27
25
  const MetamodelException = require('./metamodelexception');
28
26
  // Types needed for TypeScript generation.
29
27
  /* eslint-disable no-unused-vars */
@@ -75,17 +73,17 @@ const EXCLUDE_NS = ['concerto@1.0.0', 'concerto', 'concerto.decorator@1.0.0'];
75
73
  */
76
74
  class BaseModelManager {
77
75
  /**
78
- * Create the ModelManager.
79
- * @constructor
80
- * @param {object} [options] - ModelManager options, also passed to Serializer
81
- * @param {Object} [options.regExp] - An alternative regular expression engine.
82
- * @param {boolean} [options.metamodelValidation] - When true, modelfiles will be validated
83
- * @param {boolean} [options.addMetamodel] - When true, the Concerto metamodel is added to the model manager
84
- * @param {object} [options.decoratorValidation] - the decorator validation configuration
85
- * @param {string} [options.decoratorValidation.missingDecorator] - the validation log level for missingDecorator decorators: off, warning, error
86
- * @param {string} [options.decoratorValidation.invalidDecorator] - the validation log level for invalidDecorator decorators: off, warning, error
87
- * @param {*} [processFile] - how to obtain a concerto AST from an input to the model manager
88
- */
76
+ * Create the ModelManager.
77
+ * @constructor
78
+ * @param {object} [options] - ModelManager options, also passed to Serializer
79
+ * @param {Object} [options.regExp] - An alternative regular expression engine.
80
+ * @param {boolean} [options.metamodelValidation] - When true, modelfiles will be validated
81
+ * @param {boolean} [options.addMetamodel] - When true, the Concerto metamodel is added to the model manager
82
+ * @param {object} [options.decoratorValidation] - the decorator validation configuration
83
+ * @param {string} [options.decoratorValidation.missingDecorator] - the validation log level for missingDecorator decorators: off, warning, error
84
+ * @param {string} [options.decoratorValidation.invalidDecorator] - the validation log level for invalidDecorator decorators: off, warning, error
85
+ * @param {*} [processFile] - how to obtain a concerto AST from an input to the model manager
86
+ */
89
87
  constructor(options, processFile) {
90
88
  this.processFile = processFile ? processFile : defaultProcessFile;
91
89
  this.modelFiles = {};
@@ -114,10 +112,13 @@ class BaseModelManager {
114
112
  * @private
115
113
  */
116
114
  addRootModel() {
117
- // create the versioned concerto namespace
115
+ const rootModelModule = require('./rootmodelhelper');
116
+ const getRootModel = rootModelModule.getRootModel || rootModelModule;
117
+ if (typeof getRootModel !== 'function') {
118
+ throw new Error(`Failed to load getRootModel. Got: ${typeof getRootModel}. Module keys: ${Object.keys(rootModelModule)}`);
119
+ }
118
120
  const { rootModelAst, rootModelCto, rootModelFile } = getRootModel();
119
121
  const m = new ModelFile(this, rootModelAst, rootModelCto, rootModelFile);
120
- // add the versioned concerto namespace
121
122
  this.addModelFile(m, rootModelCto, rootModelFile, true);
122
123
  }
123
124
  /**
@@ -157,11 +158,20 @@ class BaseModelManager {
157
158
  modelFile.validate();
158
159
  }
159
160
  }
161
+ /**
162
+ * Adds decorator types
163
+ * @private
164
+ */
160
165
  /**
161
166
  * Adds decorator types
162
167
  * @private
163
168
  */
164
169
  addDecoratorModel() {
170
+ const decoratorModelModule = require('./decoratormodelhelper');
171
+ const getDecoratorModel = decoratorModelModule.getDecoratorModel || decoratorModelModule;
172
+ if (typeof getDecoratorModel !== 'function') {
173
+ throw new Error(`Failed to load getDecoratorModel. Got: ${typeof getDecoratorModel}`);
174
+ }
165
175
  const { decoratorModelAst, decoratorModelCto, decoratorModelFile } = getDecoratorModel();
166
176
  const m = new ModelFile(this, decoratorModelAst, decoratorModelCto, decoratorModelFile);
167
177
  this.addModelFile(m, decoratorModelCto, decoratorModelFile, true);
@@ -237,7 +247,8 @@ class BaseModelManager {
237
247
  this.getSerializer().fromJSON(modelFile.getAst());
238
248
  }
239
249
  catch (err) {
240
- throw new MetamodelException(err.message);
250
+ const error = err;
251
+ throw new MetamodelException(error.message);
241
252
  }
242
253
  if (!alreadyHasMetamodel) {
243
254
  this.deleteModelFile(MetaModelNamespace);
@@ -382,13 +393,11 @@ class BaseModelManager {
382
393
  async updateExternalModels(options, fileDownloader) {
383
394
  const NAME = 'updateExternalModels';
384
395
  debug(NAME, 'updateExternalModels', options);
385
- if (!fileDownloader) {
386
- fileDownloader = new FileDownloader(new DefaultFileLoader(this.processFile), (file) => MetaModelUtil.getExternalImports(file.ast));
387
- }
396
+ const downloader = fileDownloader ?? new FileDownloader(new DefaultFileLoader(this.processFile), (file) => MetaModelUtil.getExternalImports(file.ast));
388
397
  const originalModelFiles = {};
389
398
  Object.assign(originalModelFiles, this.modelFiles);
390
399
  try {
391
- const externalModels = await fileDownloader.downloadExternalDependencies(this.getModelFiles(), options);
400
+ const externalModels = await downloader.downloadExternalDependencies(this.getModelFiles(), options);
392
401
  const externalModelFiles = [];
393
402
  externalModels.forEach((file) => {
394
403
  const mf = new ModelFile(this, file.ast, file.definitions, file.fileName);
@@ -1 +1 @@
1
- {"version":3,"file":"basemodelmanager.js","sourceRoot":"","sources":["../src/basemodelmanager.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"basemodelmanager.js","sourceRoot":"","sources":["../src/basemodelmanager.ts"],"names":[],"mappings":"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"}