@itwin/ecschema-metadata 4.0.0-dev.52 → 4.0.0-dev.55

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 (117) hide show
  1. package/lib/cjs/Constants.d.ts +23 -23
  2. package/lib/cjs/Constants.js +33 -33
  3. package/lib/cjs/Constants.js.map +1 -1
  4. package/lib/cjs/Context.d.ts +139 -139
  5. package/lib/cjs/Context.js +204 -204
  6. package/lib/cjs/DelayedPromise.d.ts +88 -88
  7. package/lib/cjs/DelayedPromise.d.ts.map +1 -1
  8. package/lib/cjs/DelayedPromise.js +91 -91
  9. package/lib/cjs/DelayedPromise.js.map +1 -1
  10. package/lib/cjs/Deserialization/AbstractParser.d.ts +45 -45
  11. package/lib/cjs/Deserialization/AbstractParser.d.ts.map +1 -1
  12. package/lib/cjs/Deserialization/AbstractParser.js +11 -11
  13. package/lib/cjs/Deserialization/Helper.d.ts +251 -251
  14. package/lib/cjs/Deserialization/Helper.js +843 -843
  15. package/lib/cjs/Deserialization/JsonParser.d.ts +165 -165
  16. package/lib/cjs/Deserialization/JsonParser.js +680 -680
  17. package/lib/cjs/Deserialization/JsonProps.d.ts +282 -282
  18. package/lib/cjs/Deserialization/JsonProps.d.ts.map +1 -1
  19. package/lib/cjs/Deserialization/JsonProps.js +9 -9
  20. package/lib/cjs/Deserialization/SchemaGraphUtil.d.ts +34 -34
  21. package/lib/cjs/Deserialization/SchemaGraphUtil.js +77 -77
  22. package/lib/cjs/Deserialization/XmlParser.d.ts +85 -85
  23. package/lib/cjs/Deserialization/XmlParser.js +973 -973
  24. package/lib/cjs/Deserialization/XmlSerializationUtils.d.ts +54 -54
  25. package/lib/cjs/Deserialization/XmlSerializationUtils.js +174 -174
  26. package/lib/cjs/ECName.d.ts +30 -30
  27. package/lib/cjs/ECName.js +85 -85
  28. package/lib/cjs/ECObjects.d.ts +162 -162
  29. package/lib/cjs/ECObjects.js +453 -453
  30. package/lib/cjs/Exception.d.ts +43 -43
  31. package/lib/cjs/Exception.js +84 -84
  32. package/lib/cjs/Interfaces.d.ts +66 -66
  33. package/lib/cjs/Interfaces.d.ts.map +1 -1
  34. package/lib/cjs/Interfaces.js +9 -9
  35. package/lib/cjs/Metadata/Class.d.ts +243 -243
  36. package/lib/cjs/Metadata/Class.js +558 -558
  37. package/lib/cjs/Metadata/Class.js.map +1 -1
  38. package/lib/cjs/Metadata/Constant.d.ts +64 -64
  39. package/lib/cjs/Metadata/Constant.js +123 -123
  40. package/lib/cjs/Metadata/CustomAttribute.d.ts +23 -23
  41. package/lib/cjs/Metadata/CustomAttribute.js +27 -27
  42. package/lib/cjs/Metadata/CustomAttributeClass.d.ts +39 -39
  43. package/lib/cjs/Metadata/CustomAttributeClass.js +68 -68
  44. package/lib/cjs/Metadata/CustomAttributeClass.js.map +1 -1
  45. package/lib/cjs/Metadata/EntityClass.d.ts +77 -77
  46. package/lib/cjs/Metadata/EntityClass.js +230 -230
  47. package/lib/cjs/Metadata/Enumeration.d.ts +86 -86
  48. package/lib/cjs/Metadata/Enumeration.d.ts.map +1 -1
  49. package/lib/cjs/Metadata/Enumeration.js +159 -159
  50. package/lib/cjs/Metadata/Enumeration.js.map +1 -1
  51. package/lib/cjs/Metadata/Format.d.ts +98 -98
  52. package/lib/cjs/Metadata/Format.js +242 -242
  53. package/lib/cjs/Metadata/InvertedUnit.d.ts +49 -49
  54. package/lib/cjs/Metadata/InvertedUnit.js +97 -97
  55. package/lib/cjs/Metadata/KindOfQuantity.d.ts +65 -65
  56. package/lib/cjs/Metadata/KindOfQuantity.js +225 -225
  57. package/lib/cjs/Metadata/KindOfQuantity.js.map +1 -1
  58. package/lib/cjs/Metadata/Mixin.d.ts +54 -54
  59. package/lib/cjs/Metadata/Mixin.js +113 -113
  60. package/lib/cjs/Metadata/Mixin.js.map +1 -1
  61. package/lib/cjs/Metadata/OverrideFormat.d.ts +55 -55
  62. package/lib/cjs/Metadata/OverrideFormat.js +88 -88
  63. package/lib/cjs/Metadata/Phenomenon.d.ts +33 -33
  64. package/lib/cjs/Metadata/Phenomenon.js +59 -59
  65. package/lib/cjs/Metadata/Property.d.ts +197 -197
  66. package/lib/cjs/Metadata/Property.d.ts.map +1 -1
  67. package/lib/cjs/Metadata/Property.js +491 -491
  68. package/lib/cjs/Metadata/Property.js.map +1 -1
  69. package/lib/cjs/Metadata/PropertyCategory.d.ts +39 -39
  70. package/lib/cjs/Metadata/PropertyCategory.js +61 -61
  71. package/lib/cjs/Metadata/PropertyCategory.js.map +1 -1
  72. package/lib/cjs/Metadata/RelationshipClass.d.ts +152 -152
  73. package/lib/cjs/Metadata/RelationshipClass.js +349 -349
  74. package/lib/cjs/Metadata/RelationshipClass.js.map +1 -1
  75. package/lib/cjs/Metadata/Schema.d.ts +291 -291
  76. package/lib/cjs/Metadata/Schema.d.ts.map +1 -1
  77. package/lib/cjs/Metadata/Schema.js +520 -520
  78. package/lib/cjs/Metadata/Schema.js.map +1 -1
  79. package/lib/cjs/Metadata/SchemaItem.d.ts +61 -61
  80. package/lib/cjs/Metadata/SchemaItem.js +136 -136
  81. package/lib/cjs/Metadata/Unit.d.ts +76 -76
  82. package/lib/cjs/Metadata/Unit.js +162 -162
  83. package/lib/cjs/Metadata/UnitSystem.d.ts +20 -20
  84. package/lib/cjs/Metadata/UnitSystem.js +29 -29
  85. package/lib/cjs/PropertyTypes.d.ts +49 -49
  86. package/lib/cjs/PropertyTypes.js +91 -91
  87. package/lib/cjs/PropertyTypes.js.map +1 -1
  88. package/lib/cjs/SchemaJsonLocater.d.ts +34 -34
  89. package/lib/cjs/SchemaJsonLocater.d.ts.map +1 -1
  90. package/lib/cjs/SchemaJsonLocater.js +42 -42
  91. package/lib/cjs/SchemaKey.d.ts +110 -110
  92. package/lib/cjs/SchemaKey.js +219 -219
  93. package/lib/cjs/SchemaLoader.d.ts +23 -23
  94. package/lib/cjs/SchemaLoader.js +47 -47
  95. package/lib/cjs/SchemaPartVisitorDelegate.d.ts +274 -274
  96. package/lib/cjs/SchemaPartVisitorDelegate.js +212 -212
  97. package/lib/cjs/UnitConversion/Graph.d.ts +34 -34
  98. package/lib/cjs/UnitConversion/Graph.js +83 -83
  99. package/lib/cjs/UnitConversion/Parser.d.ts +8 -8
  100. package/lib/cjs/UnitConversion/Parser.js +42 -42
  101. package/lib/cjs/UnitConversion/UnitConversion.d.ts +45 -45
  102. package/lib/cjs/UnitConversion/UnitConversion.js +77 -77
  103. package/lib/cjs/UnitConversion/UnitConversion.js.map +1 -1
  104. package/lib/cjs/UnitConversion/UnitConverter.d.ts +39 -39
  105. package/lib/cjs/UnitConversion/UnitConverter.js +116 -116
  106. package/lib/cjs/UnitConversion/UnitTree.d.ts +43 -43
  107. package/lib/cjs/UnitConversion/UnitTree.js +169 -169
  108. package/lib/cjs/UnitProvider/SchemaUnitProvider.d.ts +77 -77
  109. package/lib/cjs/UnitProvider/SchemaUnitProvider.js +234 -234
  110. package/lib/cjs/Validation/SchemaWalker.d.ts +23 -23
  111. package/lib/cjs/Validation/SchemaWalker.js +53 -53
  112. package/lib/cjs/ecschema-metadata.d.ts +51 -51
  113. package/lib/cjs/ecschema-metadata.js +100 -96
  114. package/lib/cjs/ecschema-metadata.js.map +1 -1
  115. package/lib/cjs/utils/SchemaGraph.d.ts +25 -25
  116. package/lib/cjs/utils/SchemaGraph.js +65 -65
  117. package/package.json +8 -8
@@ -1,89 +1,89 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module Metadata
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.OverrideFormat = void 0;
11
- const XmlSerializationUtils_1 = require("../Deserialization/XmlSerializationUtils");
12
- const ECObjects_1 = require("../ECObjects");
13
- /**
14
- * Overrides of a Format, from a Schema, and is SchemaItem that is used specifically on KindOfQuantity.
15
- * @beta
16
- */
17
- class OverrideFormat {
18
- constructor(parent, precision, unitAndLabels) {
19
- this.parent = parent;
20
- this.name = OverrideFormat.createOverrideFormatFullName(parent, precision, unitAndLabels);
21
- this._precision = precision;
22
- this._units = unitAndLabels;
23
- }
24
- // Properties that can be overriden
25
- get precision() { return (undefined === this._precision) ? this.parent.precision : this._precision; }
26
- get units() { return (undefined === this._units) ? this.parent.units : this._units; }
27
- // Properties that cannot be overriden
28
- get fullName() { return this.name; }
29
- get roundFactor() { return this.parent.roundFactor; }
30
- get type() { return this.parent.type; }
31
- get minWidth() { return this.parent.minWidth; }
32
- get scientificType() { return this.parent.scientificType; }
33
- get showSignOption() { return this.parent.showSignOption; }
34
- get decimalSeparator() { return this.parent.decimalSeparator; }
35
- get thousandSeparator() { return this.parent.thousandSeparator; }
36
- get uomSeparator() { return this.parent.uomSeparator; }
37
- get stationSeparator() { return this.parent.stationSeparator; }
38
- get stationOffsetSize() { return this.parent.stationOffsetSize; }
39
- get formatTraits() { return this.parent.formatTraits; }
40
- get spacer() { return this.parent.spacer; }
41
- get includeZero() { return this.parent.includeZero; }
42
- hasFormatTrait(formatTrait) {
43
- return (this.parent.formatTraits & formatTrait) === formatTrait;
44
- }
45
- /** Returns the format string of this override in the Xml full name format.
46
- * @alpha
47
- */
48
- fullNameXml(koqSchema) {
49
- let fullName = XmlSerializationUtils_1.XmlSerializationUtils.createXmlTypedName(koqSchema, this.parent.schema, this.parent.name);
50
- if (undefined !== this.precision)
51
- fullName += `(${this.precision.toString()})`;
52
- if (undefined === this._units)
53
- return fullName;
54
- for (const [unit, unitLabel] of this._units) {
55
- fullName += "[";
56
- fullName += XmlSerializationUtils_1.XmlSerializationUtils.createXmlTypedName(koqSchema, unit.schema, unit.name);
57
- fullName += `|${unitLabel}]`;
58
- }
59
- return fullName;
60
- }
61
- /**
62
- * Creates a valid OverrideFormat fullName from the parent Format and overridden units.
63
- * @param parent The parent Format.
64
- * @param unitAndLabels The overridden unit and labels collection.
65
- */
66
- static createOverrideFormatFullName(parent, precision, unitAndLabels) {
67
- let fullName = parent.fullName;
68
- if (precision)
69
- fullName += `(${precision.toString()})`;
70
- if (undefined === unitAndLabels)
71
- return fullName;
72
- for (const [unit, unitLabel] of unitAndLabels)
73
- if (undefined === unitLabel)
74
- fullName += `[${unit.fullName}]`;
75
- else
76
- fullName += `[${unit.fullName}|${unitLabel}]`;
77
- return fullName;
78
- }
79
- /**
80
- * @internal
81
- */
82
- static isOverrideFormat(object) {
83
- const overrideFormat = object;
84
- return overrideFormat !== undefined && overrideFormat.name !== undefined && overrideFormat.parent !== undefined &&
85
- overrideFormat.parent.schemaItemType === ECObjects_1.SchemaItemType.Format;
86
- }
87
- }
88
- exports.OverrideFormat = OverrideFormat;
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Metadata
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.OverrideFormat = void 0;
11
+ const XmlSerializationUtils_1 = require("../Deserialization/XmlSerializationUtils");
12
+ const ECObjects_1 = require("../ECObjects");
13
+ /**
14
+ * Overrides of a Format, from a Schema, and is SchemaItem that is used specifically on KindOfQuantity.
15
+ * @beta
16
+ */
17
+ class OverrideFormat {
18
+ constructor(parent, precision, unitAndLabels) {
19
+ this.parent = parent;
20
+ this.name = OverrideFormat.createOverrideFormatFullName(parent, precision, unitAndLabels);
21
+ this._precision = precision;
22
+ this._units = unitAndLabels;
23
+ }
24
+ // Properties that can be overriden
25
+ get precision() { return (undefined === this._precision) ? this.parent.precision : this._precision; }
26
+ get units() { return (undefined === this._units) ? this.parent.units : this._units; }
27
+ // Properties that cannot be overriden
28
+ get fullName() { return this.name; }
29
+ get roundFactor() { return this.parent.roundFactor; }
30
+ get type() { return this.parent.type; }
31
+ get minWidth() { return this.parent.minWidth; }
32
+ get scientificType() { return this.parent.scientificType; }
33
+ get showSignOption() { return this.parent.showSignOption; }
34
+ get decimalSeparator() { return this.parent.decimalSeparator; }
35
+ get thousandSeparator() { return this.parent.thousandSeparator; }
36
+ get uomSeparator() { return this.parent.uomSeparator; }
37
+ get stationSeparator() { return this.parent.stationSeparator; }
38
+ get stationOffsetSize() { return this.parent.stationOffsetSize; }
39
+ get formatTraits() { return this.parent.formatTraits; }
40
+ get spacer() { return this.parent.spacer; }
41
+ get includeZero() { return this.parent.includeZero; }
42
+ hasFormatTrait(formatTrait) {
43
+ return (this.parent.formatTraits & formatTrait) === formatTrait;
44
+ }
45
+ /** Returns the format string of this override in the Xml full name format.
46
+ * @alpha
47
+ */
48
+ fullNameXml(koqSchema) {
49
+ let fullName = XmlSerializationUtils_1.XmlSerializationUtils.createXmlTypedName(koqSchema, this.parent.schema, this.parent.name);
50
+ if (undefined !== this.precision)
51
+ fullName += `(${this.precision.toString()})`;
52
+ if (undefined === this._units)
53
+ return fullName;
54
+ for (const [unit, unitLabel] of this._units) {
55
+ fullName += "[";
56
+ fullName += XmlSerializationUtils_1.XmlSerializationUtils.createXmlTypedName(koqSchema, unit.schema, unit.name);
57
+ fullName += `|${unitLabel}]`;
58
+ }
59
+ return fullName;
60
+ }
61
+ /**
62
+ * Creates a valid OverrideFormat fullName from the parent Format and overridden units.
63
+ * @param parent The parent Format.
64
+ * @param unitAndLabels The overridden unit and labels collection.
65
+ */
66
+ static createOverrideFormatFullName(parent, precision, unitAndLabels) {
67
+ let fullName = parent.fullName;
68
+ if (precision)
69
+ fullName += `(${precision.toString()})`;
70
+ if (undefined === unitAndLabels)
71
+ return fullName;
72
+ for (const [unit, unitLabel] of unitAndLabels)
73
+ if (undefined === unitLabel)
74
+ fullName += `[${unit.fullName}]`;
75
+ else
76
+ fullName += `[${unit.fullName}|${unitLabel}]`;
77
+ return fullName;
78
+ }
79
+ /**
80
+ * @internal
81
+ */
82
+ static isOverrideFormat(object) {
83
+ const overrideFormat = object;
84
+ return overrideFormat !== undefined && overrideFormat.name !== undefined && overrideFormat.parent !== undefined &&
85
+ overrideFormat.parent.schemaItemType === ECObjects_1.SchemaItemType.Format;
86
+ }
87
+ }
88
+ exports.OverrideFormat = OverrideFormat;
89
89
  //# sourceMappingURL=OverrideFormat.js.map
@@ -1,34 +1,34 @@
1
- /** @packageDocumentation
2
- * @module Metadata
3
- */
4
- import { PhenomenonProps } from "../Deserialization/JsonProps";
5
- import { SchemaItemType } from "../ECObjects";
6
- import { Schema } from "./Schema";
7
- import { SchemaItem } from "./SchemaItem";
8
- /** @beta */
9
- export declare class Phenomenon extends SchemaItem {
10
- readonly schemaItemType: SchemaItemType.Phenomenon;
11
- protected _definition: string;
12
- constructor(schema: Schema, name: string);
13
- get definition(): string;
14
- /**
15
- * Save this Phenomenon's properties to an object for serializing to JSON.
16
- * @param standalone Serialization includes only this object (as opposed to the full schema).
17
- * @param includeSchemaVersion Include the Schema's version information in the serialized object.
18
- */
19
- toJSON(standalone?: boolean, includeSchemaVersion?: boolean): PhenomenonProps;
20
- /** @internal */
21
- toXml(schemaXml: Document): Promise<Element>;
22
- fromJSONSync(phenomenonProps: PhenomenonProps): void;
23
- fromJSON(phenomenonProps: PhenomenonProps): Promise<void>;
24
- protected setDefinition(definition: string): Promise<void>;
25
- }
26
- /**
27
- * @internal
28
- * An abstract class used for schema editing.
29
- */
30
- export declare abstract class MutablePhenomenon extends Phenomenon {
31
- abstract setDefinition(definition: string): Promise<void>;
32
- abstract setDisplayLabel(displayLabel: string): void;
33
- }
1
+ /** @packageDocumentation
2
+ * @module Metadata
3
+ */
4
+ import { PhenomenonProps } from "../Deserialization/JsonProps";
5
+ import { SchemaItemType } from "../ECObjects";
6
+ import { Schema } from "./Schema";
7
+ import { SchemaItem } from "./SchemaItem";
8
+ /** @beta */
9
+ export declare class Phenomenon extends SchemaItem {
10
+ readonly schemaItemType: SchemaItemType.Phenomenon;
11
+ protected _definition: string;
12
+ constructor(schema: Schema, name: string);
13
+ get definition(): string;
14
+ /**
15
+ * Save this Phenomenon's properties to an object for serializing to JSON.
16
+ * @param standalone Serialization includes only this object (as opposed to the full schema).
17
+ * @param includeSchemaVersion Include the Schema's version information in the serialized object.
18
+ */
19
+ toJSON(standalone?: boolean, includeSchemaVersion?: boolean): PhenomenonProps;
20
+ /** @internal */
21
+ toXml(schemaXml: Document): Promise<Element>;
22
+ fromJSONSync(phenomenonProps: PhenomenonProps): void;
23
+ fromJSON(phenomenonProps: PhenomenonProps): Promise<void>;
24
+ protected setDefinition(definition: string): Promise<void>;
25
+ }
26
+ /**
27
+ * @internal
28
+ * An abstract class used for schema editing.
29
+ */
30
+ export declare abstract class MutablePhenomenon extends Phenomenon {
31
+ abstract setDefinition(definition: string): Promise<void>;
32
+ abstract setDisplayLabel(displayLabel: string): void;
33
+ }
34
34
  //# sourceMappingURL=Phenomenon.d.ts.map
@@ -1,60 +1,60 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- /** @packageDocumentation
7
- * @module Metadata
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.MutablePhenomenon = exports.Phenomenon = void 0;
11
- const ECObjects_1 = require("../ECObjects");
12
- const Exception_1 = require("../Exception");
13
- const SchemaItem_1 = require("./SchemaItem");
14
- /** @beta */
15
- class Phenomenon extends SchemaItem_1.SchemaItem {
16
- constructor(schema, name) {
17
- super(schema, name);
18
- this.schemaItemType = ECObjects_1.SchemaItemType.Phenomenon;
19
- this._definition = "";
20
- }
21
- get definition() { return this._definition; }
22
- /**
23
- * Save this Phenomenon's properties to an object for serializing to JSON.
24
- * @param standalone Serialization includes only this object (as opposed to the full schema).
25
- * @param includeSchemaVersion Include the Schema's version information in the serialized object.
26
- */
27
- toJSON(standalone = false, includeSchemaVersion = false) {
28
- const schemaJson = super.toJSON(standalone, includeSchemaVersion);
29
- schemaJson.definition = this.definition;
30
- return schemaJson;
31
- }
32
- /** @internal */
33
- async toXml(schemaXml) {
34
- const itemElement = await super.toXml(schemaXml);
35
- itemElement.setAttribute("definition", this.definition);
36
- return itemElement;
37
- }
38
- fromJSONSync(phenomenonProps) {
39
- super.fromJSONSync(phenomenonProps);
40
- if (this._definition !== "" && phenomenonProps.definition.toLowerCase() !== this._definition.toLowerCase())
41
- throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.InvalidECJson, `The Phenomenon ${this.name} has an invalid 'definition' attribute.`);
42
- else if (this._definition === "")
43
- this._definition = phenomenonProps.definition;
44
- }
45
- async fromJSON(phenomenonProps) {
46
- this.fromJSONSync(phenomenonProps);
47
- }
48
- async setDefinition(definition) {
49
- this._definition = definition;
50
- }
51
- }
52
- exports.Phenomenon = Phenomenon;
53
- /**
54
- * @internal
55
- * An abstract class used for schema editing.
56
- */
57
- class MutablePhenomenon extends Phenomenon {
58
- }
59
- exports.MutablePhenomenon = MutablePhenomenon;
1
+ "use strict";
2
+ /*---------------------------------------------------------------------------------------------
3
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
+ * See LICENSE.md in the project root for license terms and full copyright notice.
5
+ *--------------------------------------------------------------------------------------------*/
6
+ /** @packageDocumentation
7
+ * @module Metadata
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.MutablePhenomenon = exports.Phenomenon = void 0;
11
+ const ECObjects_1 = require("../ECObjects");
12
+ const Exception_1 = require("../Exception");
13
+ const SchemaItem_1 = require("./SchemaItem");
14
+ /** @beta */
15
+ class Phenomenon extends SchemaItem_1.SchemaItem {
16
+ constructor(schema, name) {
17
+ super(schema, name);
18
+ this.schemaItemType = ECObjects_1.SchemaItemType.Phenomenon;
19
+ this._definition = "";
20
+ }
21
+ get definition() { return this._definition; }
22
+ /**
23
+ * Save this Phenomenon's properties to an object for serializing to JSON.
24
+ * @param standalone Serialization includes only this object (as opposed to the full schema).
25
+ * @param includeSchemaVersion Include the Schema's version information in the serialized object.
26
+ */
27
+ toJSON(standalone = false, includeSchemaVersion = false) {
28
+ const schemaJson = super.toJSON(standalone, includeSchemaVersion);
29
+ schemaJson.definition = this.definition;
30
+ return schemaJson;
31
+ }
32
+ /** @internal */
33
+ async toXml(schemaXml) {
34
+ const itemElement = await super.toXml(schemaXml);
35
+ itemElement.setAttribute("definition", this.definition);
36
+ return itemElement;
37
+ }
38
+ fromJSONSync(phenomenonProps) {
39
+ super.fromJSONSync(phenomenonProps);
40
+ if (this._definition !== "" && phenomenonProps.definition.toLowerCase() !== this._definition.toLowerCase())
41
+ throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.InvalidECJson, `The Phenomenon ${this.name} has an invalid 'definition' attribute.`);
42
+ else if (this._definition === "")
43
+ this._definition = phenomenonProps.definition;
44
+ }
45
+ async fromJSON(phenomenonProps) {
46
+ this.fromJSONSync(phenomenonProps);
47
+ }
48
+ async setDefinition(definition) {
49
+ this._definition = definition;
50
+ }
51
+ }
52
+ exports.Phenomenon = Phenomenon;
53
+ /**
54
+ * @internal
55
+ * An abstract class used for schema editing.
56
+ */
57
+ class MutablePhenomenon extends Phenomenon {
58
+ }
59
+ exports.MutablePhenomenon = MutablePhenomenon;
60
60
  //# sourceMappingURL=Phenomenon.js.map