@accordproject/concerto-core 4.0.0-alpha.2 → 4.0.0-beta.3

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 (159) 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 +34 -76
  15. package/dist/decoratormanager.js +31 -14
  16. package/dist/decoratormanager.js.map +1 -1
  17. package/dist/decoratormodelhelper.d.ts +13 -0
  18. package/dist/{decoratormodel.js → decoratormodelhelper.js} +4 -3
  19. package/dist/decoratormodelhelper.js.map +1 -0
  20. package/dist/factory.d.ts +11 -28
  21. package/dist/factory.js.map +1 -1
  22. package/dist/globalize.d.ts +16 -13
  23. package/dist/globalize.js.map +1 -1
  24. package/dist/index.d.ts +1 -11
  25. package/dist/index.js +2 -8
  26. package/dist/index.js.map +1 -1
  27. package/dist/introspect/assetdeclaration.d.ts +4 -4
  28. package/dist/introspect/assetdeclaration.js +1 -1
  29. package/dist/introspect/assetdeclaration.js.map +1 -1
  30. package/dist/introspect/classdeclaration.d.ts +67 -25
  31. package/dist/introspect/classdeclaration.js +1 -1
  32. package/dist/introspect/classdeclaration.js.map +1 -1
  33. package/dist/introspect/conceptdeclaration.d.ts +9 -2
  34. package/dist/introspect/conceptdeclaration.js +1 -1
  35. package/dist/introspect/conceptdeclaration.js.map +1 -1
  36. package/dist/introspect/declaration.d.ts +37 -12
  37. package/dist/introspect/declaration.js.map +1 -1
  38. package/dist/introspect/decorated.d.ts +10 -12
  39. package/dist/introspect/decorated.js +1 -0
  40. package/dist/introspect/decorated.js.map +1 -1
  41. package/dist/introspect/decorator.d.ts +12 -14
  42. package/dist/introspect/decorator.js +1 -1
  43. package/dist/introspect/decorator.js.map +1 -1
  44. package/dist/introspect/decoratorfactory.d.ts +2 -5
  45. package/dist/introspect/decoratorfactory.js.map +1 -1
  46. package/dist/introspect/enumdeclaration.d.ts +14 -2
  47. package/dist/introspect/enumdeclaration.js +1 -1
  48. package/dist/introspect/enumdeclaration.js.map +1 -1
  49. package/dist/introspect/enumvaluedeclaration.d.ts +16 -2
  50. package/dist/introspect/enumvaluedeclaration.js +1 -1
  51. package/dist/introspect/enumvaluedeclaration.js.map +1 -1
  52. package/dist/introspect/eventdeclaration.d.ts +5 -5
  53. package/dist/introspect/eventdeclaration.js +1 -1
  54. package/dist/introspect/eventdeclaration.js.map +1 -1
  55. package/dist/introspect/field.d.ts +24 -12
  56. package/dist/introspect/field.js +1 -1
  57. package/dist/introspect/field.js.map +1 -1
  58. package/dist/introspect/identifieddeclaration.d.ts +9 -2
  59. package/dist/introspect/identifieddeclaration.js +1 -1
  60. package/dist/introspect/identifieddeclaration.js.map +1 -1
  61. package/dist/introspect/illegalmodelexception.d.ts +4 -6
  62. package/dist/introspect/illegalmodelexception.js +1 -1
  63. package/dist/introspect/illegalmodelexception.js.map +1 -1
  64. package/dist/introspect/introspector.d.ts +7 -9
  65. package/dist/introspect/introspector.js.map +1 -1
  66. package/dist/introspect/mapdeclaration.d.ts +11 -18
  67. package/dist/introspect/mapdeclaration.js +1 -1
  68. package/dist/introspect/mapdeclaration.js.map +1 -1
  69. package/dist/introspect/mapkeytype.d.ts +27 -13
  70. package/dist/introspect/mapkeytype.js.map +1 -1
  71. package/dist/introspect/mapvaluetype.d.ts +27 -13
  72. package/dist/introspect/mapvaluetype.js.map +1 -1
  73. package/dist/introspect/metamodel.d.ts +9 -4
  74. package/dist/introspect/metamodel.js.map +1 -1
  75. package/dist/introspect/modelfile.d.ts +61 -67
  76. package/dist/introspect/modelfile.js +4 -3
  77. package/dist/introspect/modelfile.js.map +1 -1
  78. package/dist/introspect/numbervalidator.d.ts +35 -6
  79. package/dist/introspect/numbervalidator.js.map +1 -1
  80. package/dist/introspect/participantdeclaration.d.ts +4 -4
  81. package/dist/introspect/participantdeclaration.js +1 -1
  82. package/dist/introspect/participantdeclaration.js.map +1 -1
  83. package/dist/introspect/property.d.ts +26 -20
  84. package/dist/introspect/property.js.map +1 -1
  85. package/dist/introspect/relationshipdeclaration.d.ts +21 -2
  86. package/dist/introspect/relationshipdeclaration.js +1 -1
  87. package/dist/introspect/relationshipdeclaration.js.map +1 -1
  88. package/dist/introspect/scalardeclaration.d.ts +50 -19
  89. package/dist/introspect/scalardeclaration.js.map +1 -1
  90. package/dist/introspect/stringvalidator.d.ts +23 -9
  91. package/dist/introspect/stringvalidator.js.map +1 -1
  92. package/dist/introspect/transactiondeclaration.d.ts +4 -4
  93. package/dist/introspect/transactiondeclaration.js +1 -1
  94. package/dist/introspect/transactiondeclaration.js.map +1 -1
  95. package/dist/introspect/validator.d.ts +9 -9
  96. package/dist/introspect/validator.js.map +1 -1
  97. package/dist/messages/en.json +18 -4
  98. package/dist/messages/pt.json +5 -0
  99. package/dist/metamodelexception.d.ts +4 -5
  100. package/dist/metamodelexception.js.map +1 -1
  101. package/dist/model/identifiable.d.ts +13 -11
  102. package/dist/model/identifiable.js.map +1 -1
  103. package/dist/model/relationship.d.ts +25 -14
  104. package/dist/model/relationship.js +3 -3
  105. package/dist/model/relationship.js.map +1 -1
  106. package/dist/model/resource.d.ts +32 -5
  107. package/dist/model/resource.js.map +1 -1
  108. package/dist/model/resourceid.d.ts +13 -13
  109. package/dist/model/resourceid.js.map +1 -1
  110. package/dist/model/typed.d.ts +18 -20
  111. package/dist/model/typed.js +2 -2
  112. package/dist/model/typed.js.map +1 -1
  113. package/dist/model/validatedresource.d.ts +18 -4
  114. package/dist/model/validatedresource.js.map +1 -1
  115. package/dist/modelloader.d.ts +11 -11
  116. package/dist/modelloader.js +48 -12
  117. package/dist/modelloader.js.map +1 -1
  118. package/dist/modelmanager.d.ts +5 -7
  119. package/dist/modelmanager.js +8 -6
  120. package/dist/modelmanager.js.map +1 -1
  121. package/dist/modelutil.d.ts +26 -33
  122. package/dist/modelutil.js.map +1 -1
  123. package/dist/rootmodel.json +1 -1
  124. package/dist/rootmodelhelper.d.ts +13 -0
  125. package/dist/{rootmodel.js → rootmodelhelper.js} +1 -2
  126. package/dist/rootmodelhelper.js.map +1 -0
  127. package/dist/securityexception.d.ts +4 -5
  128. package/dist/securityexception.js.map +1 -1
  129. package/dist/serializer/instancegenerator.d.ts +9 -9
  130. package/dist/serializer/instancegenerator.js +1 -1
  131. package/dist/serializer/instancegenerator.js.map +1 -1
  132. package/dist/serializer/jsongenerator.d.ts +14 -14
  133. package/dist/serializer/jsongenerator.js.map +1 -1
  134. package/dist/serializer/jsonpopulator.d.ts +44 -13
  135. package/dist/serializer/jsonpopulator.js +29 -22
  136. package/dist/serializer/jsonpopulator.js.map +1 -1
  137. package/dist/serializer/resourcevalidator.d.ts +88 -96
  138. package/dist/serializer/resourcevalidator.js +5 -5
  139. package/dist/serializer/resourcevalidator.js.map +1 -1
  140. package/dist/serializer/validationexception.d.ts +4 -5
  141. package/dist/serializer/validationexception.js.map +1 -1
  142. package/dist/serializer/valuegenerator.d.ts +153 -3
  143. package/dist/serializer/valuegenerator.js.map +1 -1
  144. package/dist/serializer.d.ts +8 -26
  145. package/dist/serializer.js +1 -1
  146. package/dist/serializer.js.map +1 -1
  147. package/dist/typenotfoundexception.d.ts +5 -7
  148. package/dist/typenotfoundexception.js +3 -1
  149. package/dist/typenotfoundexception.js.map +1 -1
  150. package/dist/types.d.ts +17 -0
  151. package/dist/types.js +16 -0
  152. package/dist/types.js.map +1 -0
  153. package/package.json +6 -5
  154. package/types/lib/dcsIndexWrapper.d.ts +16 -0
  155. package/types/lib/dcsconverter.d.ts +12 -0
  156. package/dist/decoratormodel.js.map +0 -1
  157. package/dist/rootmodel.d.ts +0 -5
  158. package/dist/rootmodel.js.map +0 -1
  159. /package/{dist → types/lib}/decoratormodel.d.ts +0 -0
@@ -1,4 +1,34 @@
1
- export = JSONPopulator;
1
+ import type Factory = require('../factory');
2
+ import type ModelManager = require('../modelmanager');
3
+ import type Declaration = require('../introspect/declaration');
4
+ import type ClassDeclaration = require('../introspect/classdeclaration');
5
+ import type RelationshipDeclaration = require('../introspect/relationshipdeclaration');
6
+ import type MapDeclaration = require('../introspect/mapdeclaration');
7
+ import type Resource = require('../model/resource');
8
+ import Field = require('../introspect/field');
9
+ type Stack<T> = {
10
+ push(value: T, expectedType?: unknown): void;
11
+ pop(expectedType?: unknown): T;
12
+ peek?(expectedType?: unknown): T;
13
+ stack: T[];
14
+ };
15
+ type JsonPopulatorParameters = {
16
+ jsonStack: Stack<String | {
17
+ [key: string]: unknown;
18
+ $class: string;
19
+ } | {
20
+ [key: string]: unknown;
21
+ $class: string;
22
+ }[]>;
23
+ resourceStack: Stack<Resource>;
24
+ path?: Stack<string>;
25
+ factory: Factory;
26
+ modelManager: ModelManager;
27
+ acceptResourcesForRelationships?: boolean;
28
+ utcOffset?: number;
29
+ strictQualifiedDateTimes?: boolean;
30
+ };
31
+ type VisitorTarget = Declaration | Field | ClassDeclaration | MapDeclaration | RelationshipDeclaration;
2
32
  /**
3
33
  * Populates a Resource with data from a JSON object graph. The JSON objects
4
34
  * should be the result of calling Serializer.toJSON and then JSON.parse.
@@ -12,6 +42,9 @@ export = JSONPopulator;
12
42
  * @memberof module:concerto-core
13
43
  */
14
44
  declare class JSONPopulator {
45
+ acceptResourcesForRelationships: boolean | undefined;
46
+ utcOffset: number;
47
+ strictQualifiedDateTimes: boolean;
15
48
  /**
16
49
  * Constructor.
17
50
  * @param {boolean} [acceptResourcesForRelationships] Permit resources in the
@@ -21,10 +54,7 @@ declare class JSONPopulator {
21
54
  * @param {boolean} [strictQualifiedDateTimes=true] - Only allow fully-qualified date-times with offsets.
22
55
 
23
56
  */
24
- constructor(acceptResourcesForRelationships?: boolean, ergo?: boolean, utcOffset?: number, strictQualifiedDateTimes?: boolean);
25
- acceptResourcesForRelationships: boolean | undefined;
26
- utcOffset: number;
27
- strictQualifiedDateTimes: boolean;
57
+ constructor(acceptResourcesForRelationships: any, ergo: any, utcOffset: any, strictQualifiedDateTimes: any);
28
58
  /**
29
59
  * Visitor design pattern
30
60
  * @param {Object} thing - the object being visited
@@ -32,7 +62,7 @@ declare class JSONPopulator {
32
62
  * @return {Object} the result of visiting or null
33
63
  * @private
34
64
  */
35
- private visit;
65
+ visit(thing: VisitorTarget, parameters: JsonPopulatorParameters): any;
36
66
  /**
37
67
  * Visitor design pattern
38
68
  * @param {ClassDeclaration} classDeclaration - the object being visited
@@ -40,7 +70,7 @@ declare class JSONPopulator {
40
70
  * @return {Object} the result of visiting or null
41
71
  * @private
42
72
  */
43
- private visitClassDeclaration;
73
+ visitClassDeclaration(classDeclaration: ClassDeclaration, parameters: JsonPopulatorParameters): Resource;
44
74
  /**
45
75
  * Visitor design pattern
46
76
  * @param {MapDeclaration} mapDeclaration - the object being visited
@@ -48,7 +78,7 @@ declare class JSONPopulator {
48
78
  * @return {Object} the result of visiting or null
49
79
  * @private
50
80
  */
51
- private visitMapDeclaration;
81
+ visitMapDeclaration(mapDeclaration: MapDeclaration, parameters: JsonPopulatorParameters): Map<any, any>;
52
82
  /**
53
83
  * Visitor design pattern
54
84
  * @param {MapDeclaration} mapDeclaration - the object being visited
@@ -58,7 +88,7 @@ declare class JSONPopulator {
58
88
  * @return {Object} value - the key or value belonging to the Map Entry.
59
89
  * @private
60
90
  */
61
- private processMapType;
91
+ processMapType(mapDeclaration: any, parameters: JsonPopulatorParameters, value: any, type: any): any;
62
92
  /**
63
93
  * Visitor design pattern
64
94
  * @param {Field} field - the object being visited
@@ -66,7 +96,7 @@ declare class JSONPopulator {
66
96
  * @return {Object} the result of visiting or null
67
97
  * @private
68
98
  */
69
- private visitField;
99
+ visitField(field: any, parameters: JsonPopulatorParameters): any;
70
100
  /**
71
101
  *
72
102
  * @param {Field} field - the field of the item being converted
@@ -74,7 +104,7 @@ declare class JSONPopulator {
74
104
  * @param {Object} parameters - the parameters
75
105
  * @return {Object} - the populated object.
76
106
  */
77
- convertItem(field: Field, jsonItem: Object, parameters: Object): Object;
107
+ convertItem(field: any, jsonItem: any, parameters: any): null;
78
108
  /**
79
109
  * Converts a primtive object to JSON text.
80
110
  *
@@ -83,7 +113,7 @@ declare class JSONPopulator {
83
113
  * @param {Object} parameters - the parameters
84
114
  * @return {string} the text representation
85
115
  */
86
- convertToObject(field: Field, json: Object, parameters?: Object): string;
116
+ convertToObject(field: any, json: any, parameters: JsonPopulatorParameters): any;
87
117
  /**
88
118
  * Visitor design pattern
89
119
  * @param {RelationshipDeclaration} relationshipDeclaration - the object being visited
@@ -91,5 +121,6 @@ declare class JSONPopulator {
91
121
  * @return {Object} the result of visiting or null
92
122
  * @private
93
123
  */
94
- private visitRelationshipDeclaration;
124
+ visitRelationshipDeclaration(relationshipDeclaration: any, parameters: JsonPopulatorParameters): any;
95
125
  }
126
+ export = JSONPopulator;
@@ -12,6 +12,7 @@
12
12
  * limitations under the License.
13
13
  */
14
14
  'use strict';
15
+ const debug = require('debug')('concerto:JSONPopulator');
15
16
  const { TypedStack } = require('@accordproject/concerto-util');
16
17
  const Relationship = require('../model/relationship');
17
18
  const Util = require('@accordproject/concerto-util').NullUtil;
@@ -95,7 +96,7 @@ class JSONPopulator {
95
96
  this.utcOffset = utcOffset || 0; // Defaults to UTC
96
97
  this.strictQualifiedDateTimes = strictQualifiedDateTimes !== undefined ? strictQualifiedDateTimes : true;
97
98
  if (process.env.TZ) {
98
- console.warn(`Environment variable 'TZ' is set to '${process.env.TZ}', this can cause unexpected behaviour when using unqualified date time formats.`);
99
+ debug(`Environment variable 'TZ' is set to '${process.env.TZ}', this can cause unexpected behaviour when using unqualified date time formats.`);
99
100
  }
100
101
  }
101
102
  /**
@@ -105,7 +106,7 @@ class JSONPopulator {
105
106
  * @return {Object} the result of visiting or null
106
107
  * @private
107
108
  */
108
- visit(thing, parameters = {}) {
109
+ visit(thing, parameters) {
109
110
  parameters.path ?? (parameters.path = new TypedStack('$'));
110
111
  if (thing.isClassDeclaration?.()) {
111
112
  return this.visitClassDeclaration(thing, parameters);
@@ -142,11 +143,11 @@ class JSONPopulator {
142
143
  properties.forEach((property) => {
143
144
  let value = jsonObj[property];
144
145
  if (value !== null) {
145
- parameters.path.push(`.${property}`);
146
+ parameters.path?.push(`.${property}`);
146
147
  parameters.jsonStack.push(value);
147
148
  const classProperty = classDeclaration.getProperty(property);
148
149
  resourceObj[property] = classProperty.accept(this, parameters);
149
- parameters.path.pop();
150
+ parameters.path?.pop();
150
151
  }
151
152
  });
152
153
  return resourceObj;
@@ -159,13 +160,13 @@ class JSONPopulator {
159
160
  * @private
160
161
  */
161
162
  visitMapDeclaration(mapDeclaration, parameters) {
162
- let jsonObj = parameters.jsonStack.pop();
163
+ const jsonObj = parameters.jsonStack.pop();
163
164
  parameters.path ?? (parameters.path = new TypedStack('$'));
164
165
  // Throws if Map contains reserved properties - a Map containing reserved Properties should not be serialized.
165
166
  getAssignableProperties(jsonObj, mapDeclaration);
166
- jsonObj = new Map(Object.entries(jsonObj));
167
+ const objMap = new Map(Object.entries(jsonObj));
167
168
  let map = new Map();
168
- jsonObj.forEach((value, key) => {
169
+ objMap.forEach((value, key) => {
169
170
  if (key === '$class') {
170
171
  map.set(key, value);
171
172
  return;
@@ -210,7 +211,7 @@ class JSONPopulator {
210
211
  parameters.resourceStack.push(subResource);
211
212
  return decl.accept(this, parameters);
212
213
  }
213
- // otherwise its a scalar value, we only need to return the primitve value of the scalar.
214
+ // otherwise its a scalar value, we only need to return the primitive value of the scalar.
214
215
  return value;
215
216
  }
216
217
  /**
@@ -226,11 +227,12 @@ class JSONPopulator {
226
227
  let result = null;
227
228
  if (field.isArray()) {
228
229
  result = [];
229
- for (let n = 0; n < jsonObj.length; n++) {
230
- parameters.path.push(`[${n}]`);
231
- const jsonItem = jsonObj[n];
230
+ const jsonArray = jsonObj;
231
+ for (let n = 0; n < jsonArray.length; n++) {
232
+ parameters.path?.push(`[${n}]`);
233
+ const jsonItem = jsonArray[n];
232
234
  result.push(this.convertItem(field, jsonItem, parameters));
233
- parameters.path.pop();
235
+ parameters.path?.pop();
234
236
  }
235
237
  }
236
238
  else {
@@ -286,10 +288,10 @@ class JSONPopulator {
286
288
  * @param {Object} parameters - the parameters
287
289
  * @return {string} the text representation
288
290
  */
289
- convertToObject(field, json, parameters = {}) {
291
+ convertToObject(field, json, parameters) {
290
292
  let result = null;
291
293
  parameters.path ?? (parameters.path = new TypedStack('$'));
292
- const path = parameters.path.stack.join('');
294
+ const path = parameters.path?.stack.join('');
293
295
  switch (field.getType()) {
294
296
  case 'DateTime':
295
297
  {
@@ -335,7 +337,7 @@ class JSONPopulator {
335
337
  case 'Double':
336
338
  {
337
339
  if (typeof json === 'number') {
338
- result = parseFloat(json);
340
+ result = result = json;
339
341
  }
340
342
  else {
341
343
  throw new ValidationException(`Expected value at path \`${path}\` to be of type \`${field.getType()}\``);
@@ -386,8 +388,9 @@ class JSONPopulator {
386
388
  let defaultType = ModelUtil.getShortName(typeFQN);
387
389
  if (relationshipDeclaration.isArray()) {
388
390
  result = [];
389
- for (let n = 0; n < jsonObj.length; n++) {
390
- let jsonItem = jsonObj[n];
391
+ const jsonArray = jsonObj;
392
+ for (let n = 0; n < jsonArray.length; n++) {
393
+ let jsonItem = jsonArray[n];
391
394
  if (typeof jsonItem === 'string') {
392
395
  result.push(Relationship.fromURI(parameters.modelManager, jsonItem, defaultNamespace, defaultType));
393
396
  }
@@ -413,22 +416,26 @@ class JSONPopulator {
413
416
  if (typeof jsonObj === 'string') {
414
417
  result = Relationship.fromURI(parameters.modelManager, jsonObj, defaultNamespace, defaultType);
415
418
  }
416
- else {
419
+ else if (typeof jsonObj === 'object' && jsonObj !== null) {
420
+ const jsonObjAsObject = jsonObj;
417
421
  if (!this.acceptResourcesForRelationships) {
418
422
  throw new Error('Invalid JSON data. Found a value that is not a string: ' + jsonObj + ' for relationship ' + relationshipDeclaration);
419
423
  }
420
424
  // this isn't a relationship, but it might be an object!
421
- if (!jsonObj.$class) {
425
+ if (!jsonObjAsObject.$class) {
422
426
  throw new Error('Invalid JSON data. Does not contain a $class type identifier: ' + jsonObj + ' for relationship ' + relationshipDeclaration);
423
427
  }
424
- const classDeclaration = parameters.modelManager.getType(jsonObj.$class);
428
+ const classDeclaration = parameters.modelManager.getType(jsonObjAsObject.$class);
425
429
  // create a new instance, using the identifier field name as the ID.
426
- let subResource = parameters.factory.newResource(classDeclaration.getNamespace(), classDeclaration.getName(), jsonObj[classDeclaration.getIdentifierFieldName()]);
427
- parameters.jsonStack.push(jsonObj);
430
+ let subResource = parameters.factory.newResource(classDeclaration.getNamespace(), classDeclaration.getName(), jsonObjAsObject[classDeclaration.getIdentifierFieldName()]);
431
+ parameters.jsonStack.push(jsonObjAsObject);
428
432
  parameters.resourceStack.push(subResource);
429
433
  classDeclaration.accept(this, parameters);
430
434
  result = subResource;
431
435
  }
436
+ else {
437
+ throw new Error('Invalid JSON data. Found a value that is not a string or object: ' + jsonObj + ' for relationship ' + relationshipDeclaration);
438
+ }
432
439
  }
433
440
  return result;
434
441
  }
@@ -1 +1 @@
1
- {"version":3,"file":"jsonpopulator.js","sourceRoot":"","sources":["../../src/serializer/jsonpopulator.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonpopulator.js","sourceRoot":"","sources":["../../src/serializer/jsonpopulator.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- export = ResourceValidator;
2
1
  /**
3
2
  * <p>
4
3
  * Validates a Resource or Field against the models defined in the ModelManager.
@@ -18,80 +17,7 @@ export = ResourceValidator;
18
17
  * @memberof module:concerto-core
19
18
  */
20
19
  declare class ResourceValidator {
21
- /**
22
- * Throw a new error for a model violation.
23
- * @param {string} id - the identifier of this instance.
24
- * @param {string} propName - the name of the field.
25
- * @param {*} value - the value of the field.
26
- * @param {Field} field - the field
27
- * @throws {ValidationException} the exception
28
- * @private
29
- */
30
- private static reportFieldTypeViolation;
31
- /**
32
- * Throw a new error for a model violation.
33
- * @param {string} id - the identifier of this instance.
34
- * @param {ClassDeclaration} classDeclaration - the declaration of the class
35
- * @param {Object} value - the value of the field.
36
- * @private
37
- */
38
- private static reportNotResouceViolation;
39
- /**
40
- * Throw a new error for a model violation.
41
- * @param {string} id - the identifier of this instance.
42
- * @param {RelationshipDeclaration} relationshipDeclaration - the declaration of the class
43
- * @param {Object} value - the value of the field.
44
- * @private
45
- */
46
- private static reportNotRelationshipViolation;
47
- /**
48
- * Throw a new error for a missing, but required field.
49
- * @param {string} id - the identifier of this instance.
50
- * @param {Field} field - the field/
51
- * @private
52
- */
53
- private static reportMissingRequiredProperty;
54
- /**
55
- * Throw a new error for a missing, but required field.
56
- * @param {string} id - the identifier of this instance.
57
- * @param {Field} field - the field/
58
- * @private
59
- */
60
- private static reportEmptyIdentifier;
61
- /**
62
- * Throw a new error for a missing, but required field.
63
- * @param {string} id - the identifier of this instance.
64
- * @param {Field} field - the field
65
- * @param {string} obj - the object value
66
- * @private
67
- */
68
- private static reportInvalidEnumValue;
69
- /**
70
- * Throw a validation exception for an abstract class
71
- * @param {ClassDeclaration} classDeclaration - the class declaration
72
- * @throws {ValidationException} the validation exception
73
- * @private
74
- */
75
- private static reportAbstractClass;
76
- /**
77
- * Throw a validation exception for an abstract class
78
- * @param {string} resourceId - the id of the resouce being validated
79
- * @param {string} propertyName - the name of the property that is not declared
80
- * @param {string} fullyQualifiedTypeName - the fully qualified type being validated
81
- * @throws {ValidationException} the validation exception
82
- * @private
83
- */
84
- private static reportUndeclaredField;
85
- /**
86
- * Throw a validation exception for an invalid field assignment
87
- * @param {string} resourceId - the id of the resouce being validated
88
- * @param {string} propName - the name of the property that is being assigned
89
- * @param {*} obj - the Field
90
- * @param {Field} field - the Field
91
- * @throws {ValidationException} the validation exception
92
- * @private
93
- */
94
- private static reportInvalidFieldAssignment;
20
+ options: any;
95
21
  /**
96
22
  * ResourceValidator constructor
97
23
  * @param {Object} options - the optional serialization options.
@@ -101,16 +27,7 @@ declare class ResourceValidator {
101
27
  * are specified for relationship fields into relationships, false by default.
102
28
  * @param {boolean} options.permitResourcesForRelationships - Permit resources in the
103
29
  */
104
- constructor(options: {
105
- validate: boolean;
106
- convertResourcesToRelationships: boolean;
107
- permitResourcesForRelationships: boolean;
108
- });
109
- options: {
110
- validate: boolean;
111
- convertResourcesToRelationships: boolean;
112
- permitResourcesForRelationships: boolean;
113
- };
30
+ constructor(options: any);
114
31
  /**
115
32
  * Visitor design pattern.
116
33
  *
@@ -119,7 +36,7 @@ declare class ResourceValidator {
119
36
  * @return {Object} the result of visiting or null
120
37
  * @private
121
38
  */
122
- private visit;
39
+ visit(thing: any, parameters: any): null | undefined;
123
40
  /**
124
41
  * Visitor design pattern
125
42
  *
@@ -128,7 +45,7 @@ declare class ResourceValidator {
128
45
  * @return {Object} the result of visiting or null
129
46
  * @private
130
47
  */
131
- private visitEnumDeclaration;
48
+ visitEnumDeclaration(enumDeclaration: any, parameters: any): null;
132
49
  /**
133
50
  * Check a Type that is declared as a Map Type.
134
51
  * @param {Object} type - the type in scope for validation, can be MapTypeKey or MapTypeValue
@@ -137,7 +54,7 @@ declare class ResourceValidator {
137
54
  * @param {Map} mapDeclaration - the object being visited
138
55
  * @private
139
56
  */
140
- private checkMapType;
57
+ checkMapType(type: any, value: any, parameters: any, mapDeclaration: any): void;
141
58
  /**
142
59
  * Visitor design pattern
143
60
  *
@@ -147,7 +64,7 @@ declare class ResourceValidator {
147
64
  *
148
65
  * @private
149
66
  */
150
- private visitMapDeclaration;
67
+ visitMapDeclaration(mapDeclaration: any, parameters: any): null;
151
68
  /**
152
69
  * Visitor design pattern
153
70
  * @param {ClassDeclaration} classDeclaration - the object being visited
@@ -155,7 +72,7 @@ declare class ResourceValidator {
155
72
  * @return {Object} the result of visiting or null
156
73
  * @private
157
74
  */
158
- private visitClassDeclaration;
75
+ visitClassDeclaration(classDeclaration: any, parameters: any): null;
159
76
  /**
160
77
  * Visitor design pattern
161
78
  * @param {Field} field - the object being visited
@@ -163,7 +80,7 @@ declare class ResourceValidator {
163
80
  * @return {Object} the result of visiting or null
164
81
  * @private
165
82
  */
166
- private visitField;
83
+ visitField(field: any, parameters: any): null;
167
84
  /**
168
85
  * Check a Field that is declared as an Array.
169
86
  * @param {Object} obj - the object being validated
@@ -171,7 +88,7 @@ declare class ResourceValidator {
171
88
  * @param {Object} parameters - the parameter
172
89
  * @private
173
90
  */
174
- private checkEnum;
91
+ checkEnum(obj: any, field: any, parameters: any): void;
175
92
  /**
176
93
  * Check a Field that is declared as an Array.
177
94
  * @param {Object} obj - the object being validated
@@ -179,7 +96,7 @@ declare class ResourceValidator {
179
96
  * @param {Object} parameters - the parameter
180
97
  * @private
181
98
  */
182
- private checkArray;
99
+ checkArray(obj: any, field: any, parameters: any): void;
183
100
  /**
184
101
  * Check a single (non-array) field.
185
102
  * @param {Object} obj - the object being validated
@@ -187,7 +104,7 @@ declare class ResourceValidator {
187
104
  * @param {Object} parameters - the parameter
188
105
  * @private
189
106
  */
190
- private checkItem;
107
+ checkItem(obj: any, field: any, parameters: any): void;
191
108
  /**
192
109
  * Visitor design pattern
193
110
  * @param {RelationshipDeclaration} relationshipDeclaration - the object being visited
@@ -195,7 +112,7 @@ declare class ResourceValidator {
195
112
  * @return {Object} the result of visiting or null
196
113
  * @private
197
114
  */
198
- private visitRelationshipDeclaration;
115
+ visitRelationshipDeclaration(relationshipDeclaration: any, parameters: any): null;
199
116
  /**
200
117
  * Check a single relationship
201
118
  * @param {Object} parameters - the parameter
@@ -203,5 +120,80 @@ declare class ResourceValidator {
203
120
  * @param {Object} obj - the object being validated
204
121
  * @private
205
122
  */
206
- private checkRelationship;
123
+ checkRelationship(parameters: any, relationshipDeclaration: any, obj: any): void;
124
+ /**
125
+ * Throw a new error for a model violation.
126
+ * @param {string} id - the identifier of this instance.
127
+ * @param {string} propName - the name of the field.
128
+ * @param {*} value - the value of the field.
129
+ * @param {Field} field - the field
130
+ * @throws {ValidationException} the exception
131
+ * @private
132
+ */
133
+ static reportFieldTypeViolation(id: any, propName: any, value: any, field: any): void;
134
+ /**
135
+ * Throw a new error for a model violation.
136
+ * @param {string} id - the identifier of this instance.
137
+ * @param {ClassDeclaration} classDeclaration - the declaration of the class
138
+ * @param {Object} value - the value of the field.
139
+ * @private
140
+ */
141
+ static reportNotResouceViolation(id: any, classDeclaration: any, value: any): void;
142
+ /**
143
+ * Throw a new error for a model violation.
144
+ * @param {string} id - the identifier of this instance.
145
+ * @param {RelationshipDeclaration} relationshipDeclaration - the declaration of the class
146
+ * @param {Object} value - the value of the field.
147
+ * @private
148
+ */
149
+ static reportNotRelationshipViolation(id: any, relationshipDeclaration: any, value: any): void;
150
+ /**
151
+ * Throw a new error for a missing, but required field.
152
+ * @param {string} id - the identifier of this instance.
153
+ * @param {Field} field - the field/
154
+ * @private
155
+ */
156
+ static reportMissingRequiredProperty(id: any, field: any): void;
157
+ /**
158
+ * Throw a new error for a missing, but required field.
159
+ * @param {string} id - the identifier of this instance.
160
+ * @param {Field} field - the field/
161
+ * @private
162
+ */
163
+ static reportEmptyIdentifier(id: any): void;
164
+ /**
165
+ * Throw a new error for a missing, but required field.
166
+ * @param {string} id - the identifier of this instance.
167
+ * @param {Field} field - the field
168
+ * @param {string} obj - the object value
169
+ * @private
170
+ */
171
+ static reportInvalidEnumValue(id: any, field: any, obj: any): void;
172
+ /**
173
+ * Throw a validation exception for an abstract class
174
+ * @param {ClassDeclaration} classDeclaration - the class declaration
175
+ * @throws {ValidationException} the validation exception
176
+ * @private
177
+ */
178
+ static reportAbstractClass(classDeclaration: any): void;
179
+ /**
180
+ * Throw a validation exception for an abstract class
181
+ * @param {string} resourceId - the id of the resource being validated
182
+ * @param {string} propertyName - the name of the property that is not declared
183
+ * @param {string} fullyQualifiedTypeName - the fully qualified type being validated
184
+ * @throws {ValidationException} the validation exception
185
+ * @private
186
+ */
187
+ static reportUndeclaredField(resourceId: any, propertyName: any, fullyQualifiedTypeName: any): void;
188
+ /**
189
+ * Throw a validation exception for an invalid field assignment
190
+ * @param {string} resourceId - the id of the resource being validated
191
+ * @param {string} propName - the name of the property that is being assigned
192
+ * @param {*} obj - the Field
193
+ * @param {Field} field - the Field
194
+ * @throws {ValidationException} the validation exception
195
+ * @private
196
+ */
197
+ static reportInvalidFieldAssignment(resourceId: any, propName: any, obj: any, field: any): void;
207
198
  }
199
+ export = ResourceValidator;
@@ -186,7 +186,7 @@ class ResourceValidator {
186
186
  */
187
187
  visitClassDeclaration(classDeclaration, parameters) {
188
188
  const obj = parameters.stack.pop();
189
- // are we dealing with a Resouce?
189
+ // are we dealing with a Resource?
190
190
  if (!((obj instanceof Resource))) {
191
191
  ResourceValidator.reportNotResouceViolation(parameters.rootResourceIdentifier, classDeclaration, obj);
192
192
  }
@@ -210,7 +210,7 @@ class ResourceValidator {
210
210
  const field = toBeAssignedClassDeclaration.getProperty(propName);
211
211
  if (!field) {
212
212
  if (classDeclaration.isIdentified() &&
213
- // Allow shadowing of the $identifer field to normalize lookup of the identifying field.
213
+ // Allow shadowing of the $identifier field to normalize lookup of the identifying field.
214
214
  propName !== '$identifier') {
215
215
  ResourceValidator.reportUndeclaredField(obj.getIdentifier(), propName, toBeAssignedClassDecName);
216
216
  }
@@ -244,7 +244,7 @@ class ResourceValidator {
244
244
  }
245
245
  else {
246
246
  if (!property.isOptional()) {
247
- // Allow shadowing of the $identifer field to normalize lookup of the identifying field.
247
+ // Allow shadowing of the $identifier field to normalize lookup of the identifying field.
248
248
  if (property.getName() === '$identifier' && identifierFieldName !== '$identifier') {
249
249
  continue;
250
250
  }
@@ -571,7 +571,7 @@ class ResourceValidator {
571
571
  }
572
572
  /**
573
573
  * Throw a validation exception for an abstract class
574
- * @param {string} resourceId - the id of the resouce being validated
574
+ * @param {string} resourceId - the id of the resource being validated
575
575
  * @param {string} propertyName - the name of the property that is not declared
576
576
  * @param {string} fullyQualifiedTypeName - the fully qualified type being validated
577
577
  * @throws {ValidationException} the validation exception
@@ -587,7 +587,7 @@ class ResourceValidator {
587
587
  }
588
588
  /**
589
589
  * Throw a validation exception for an invalid field assignment
590
- * @param {string} resourceId - the id of the resouce being validated
590
+ * @param {string} resourceId - the id of the resource being validated
591
591
  * @param {string} propName - the name of the property that is being assigned
592
592
  * @param {*} obj - the Field
593
593
  * @param {Field} field - the Field