@itwin/ecschema-editing 4.0.0-dev.10 → 4.0.0-dev.101

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 (153) hide show
  1. package/CHANGELOG.md +51 -1
  2. package/lib/cjs/Editing/Constants.d.ts +20 -20
  3. package/lib/cjs/Editing/Constants.js +60 -60
  4. package/lib/cjs/Editing/Constants.js.map +1 -1
  5. package/lib/cjs/Editing/CustomAttributes.d.ts +20 -20
  6. package/lib/cjs/Editing/CustomAttributes.js +59 -59
  7. package/lib/cjs/Editing/CustomAttributes.js.map +1 -1
  8. package/lib/cjs/Editing/ECClasses.d.ts +54 -54
  9. package/lib/cjs/Editing/ECClasses.js +269 -269
  10. package/lib/cjs/Editing/ECClasses.js.map +1 -1
  11. package/lib/cjs/Editing/Editor.d.ts +112 -112
  12. package/lib/cjs/Editing/Editor.js +166 -166
  13. package/lib/cjs/Editing/Editor.js.map +1 -1
  14. package/lib/cjs/Editing/Entities.d.ts +25 -25
  15. package/lib/cjs/Editing/Entities.js +116 -116
  16. package/lib/cjs/Editing/Entities.js.map +1 -1
  17. package/lib/cjs/Editing/Enumerations.d.ts +21 -21
  18. package/lib/cjs/Editing/Enumerations.js +66 -66
  19. package/lib/cjs/Editing/Enumerations.js.map +1 -1
  20. package/lib/cjs/Editing/Formats.d.ts +21 -21
  21. package/lib/cjs/Editing/Formats.d.ts.map +1 -1
  22. package/lib/cjs/Editing/Formats.js +61 -61
  23. package/lib/cjs/Editing/Formats.js.map +1 -1
  24. package/lib/cjs/Editing/InvertedUnits.d.ts +17 -17
  25. package/lib/cjs/Editing/InvertedUnits.js +82 -82
  26. package/lib/cjs/Editing/InvertedUnits.js.map +1 -1
  27. package/lib/cjs/Editing/KindOfQuantities.d.ts +28 -28
  28. package/lib/cjs/Editing/KindOfQuantities.js +78 -78
  29. package/lib/cjs/Editing/KindOfQuantities.js.map +1 -1
  30. package/lib/cjs/Editing/Mixins.d.ts +22 -22
  31. package/lib/cjs/Editing/Mixins.js +84 -84
  32. package/lib/cjs/Editing/Mixins.js.map +1 -1
  33. package/lib/cjs/Editing/Mutable/MutableCAClass.d.ts +9 -9
  34. package/lib/cjs/Editing/Mutable/MutableCAClass.js +15 -15
  35. package/lib/cjs/Editing/Mutable/MutableCAClass.js.map +1 -1
  36. package/lib/cjs/Editing/Mutable/MutableClass.d.ts +34 -34
  37. package/lib/cjs/Editing/Mutable/MutableClass.js +22 -22
  38. package/lib/cjs/Editing/Mutable/MutableClass.js.map +1 -1
  39. package/lib/cjs/Editing/Mutable/MutableConstant.d.ts +12 -12
  40. package/lib/cjs/Editing/Mutable/MutableConstant.js +15 -15
  41. package/lib/cjs/Editing/Mutable/MutableConstant.js.map +1 -1
  42. package/lib/cjs/Editing/Mutable/MutableEntityClass.d.ts +15 -15
  43. package/lib/cjs/Editing/Mutable/MutableEntityClass.js +59 -59
  44. package/lib/cjs/Editing/Mutable/MutableEntityClass.js.map +1 -1
  45. package/lib/cjs/Editing/Mutable/MutableEnumeration.d.ts +9 -9
  46. package/lib/cjs/Editing/Mutable/MutableEnumeration.js +14 -14
  47. package/lib/cjs/Editing/Mutable/MutableEnumeration.js.map +1 -1
  48. package/lib/cjs/Editing/Mutable/MutableFormat.d.ts +18 -18
  49. package/lib/cjs/Editing/Mutable/MutableFormat.js +15 -15
  50. package/lib/cjs/Editing/Mutable/MutableFormat.js.map +1 -1
  51. package/lib/cjs/Editing/Mutable/MutableInvertedUnit.d.ts +10 -10
  52. package/lib/cjs/Editing/Mutable/MutableInvertedUnit.js +15 -15
  53. package/lib/cjs/Editing/Mutable/MutableInvertedUnit.js.map +1 -1
  54. package/lib/cjs/Editing/Mutable/MutableKindOfQuantity.d.ts +10 -10
  55. package/lib/cjs/Editing/Mutable/MutableKindOfQuantity.js +15 -15
  56. package/lib/cjs/Editing/Mutable/MutableKindOfQuantity.js.map +1 -1
  57. package/lib/cjs/Editing/Mutable/MutableMixin.d.ts +11 -11
  58. package/lib/cjs/Editing/Mutable/MutableMixin.js +15 -15
  59. package/lib/cjs/Editing/Mutable/MutableMixin.js.map +1 -1
  60. package/lib/cjs/Editing/Mutable/MutablePhenomenon.d.ts +9 -9
  61. package/lib/cjs/Editing/Mutable/MutablePhenomenon.js +15 -15
  62. package/lib/cjs/Editing/Mutable/MutablePhenomenon.js.map +1 -1
  63. package/lib/cjs/Editing/Mutable/MutableProperty.d.ts +8 -8
  64. package/lib/cjs/Editing/Mutable/MutableProperty.js +15 -15
  65. package/lib/cjs/Editing/Mutable/MutableProperty.js.map +1 -1
  66. package/lib/cjs/Editing/Mutable/MutablePropertyCategory.d.ts +9 -9
  67. package/lib/cjs/Editing/Mutable/MutablePropertyCategory.js +15 -15
  68. package/lib/cjs/Editing/Mutable/MutablePropertyCategory.js.map +1 -1
  69. package/lib/cjs/Editing/Mutable/MutableRelationshipClass.d.ts +21 -21
  70. package/lib/cjs/Editing/Mutable/MutableRelationshipClass.js +24 -24
  71. package/lib/cjs/Editing/Mutable/MutableRelationshipClass.js.map +1 -1
  72. package/lib/cjs/Editing/Mutable/MutableSchema.d.ts +45 -45
  73. package/lib/cjs/Editing/Mutable/MutableSchema.js +17 -17
  74. package/lib/cjs/Editing/Mutable/MutableSchema.js.map +1 -1
  75. package/lib/cjs/Editing/Mutable/MutableUnit.d.ts +11 -11
  76. package/lib/cjs/Editing/Mutable/MutableUnit.js +15 -15
  77. package/lib/cjs/Editing/Mutable/MutableUnit.js.map +1 -1
  78. package/lib/cjs/Editing/Mutable/MutableUnitSystem.d.ts +8 -8
  79. package/lib/cjs/Editing/Mutable/MutableUnitSystem.js +15 -15
  80. package/lib/cjs/Editing/Mutable/MutableUnitSystem.js.map +1 -1
  81. package/lib/cjs/Editing/Phenomena.d.ts +15 -15
  82. package/lib/cjs/Editing/Phenomena.js +44 -44
  83. package/lib/cjs/Editing/Phenomena.js.map +1 -1
  84. package/lib/cjs/Editing/PropertyCategories.d.ts +16 -16
  85. package/lib/cjs/Editing/PropertyCategories.js +51 -51
  86. package/lib/cjs/Editing/PropertyCategories.js.map +1 -1
  87. package/lib/cjs/Editing/RelationshipClasses.d.ts +21 -21
  88. package/lib/cjs/Editing/RelationshipClasses.js +68 -68
  89. package/lib/cjs/Editing/RelationshipClasses.js.map +1 -1
  90. package/lib/cjs/Editing/Structs.d.ts +19 -19
  91. package/lib/cjs/Editing/Structs.js +57 -57
  92. package/lib/cjs/Editing/Structs.js.map +1 -1
  93. package/lib/cjs/Editing/UnitSystems.d.ts +15 -15
  94. package/lib/cjs/Editing/UnitSystems.js +41 -41
  95. package/lib/cjs/Editing/UnitSystems.js.map +1 -1
  96. package/lib/cjs/Editing/Units.d.ts +15 -15
  97. package/lib/cjs/Editing/Units.d.ts.map +1 -1
  98. package/lib/cjs/Editing/Units.js +58 -58
  99. package/lib/cjs/Editing/Units.js.map +1 -1
  100. package/lib/cjs/Validation/Diagnostic.d.ts +321 -321
  101. package/lib/cjs/Validation/Diagnostic.d.ts.map +1 -1
  102. package/lib/cjs/Validation/Diagnostic.js +310 -310
  103. package/lib/cjs/Validation/Diagnostic.js.map +1 -1
  104. package/lib/cjs/Validation/DiagnosticReporter.d.ts +96 -96
  105. package/lib/cjs/Validation/DiagnosticReporter.js +106 -106
  106. package/lib/cjs/Validation/DiagnosticReporter.js.map +1 -1
  107. package/lib/cjs/Validation/ECRules.d.ts +443 -448
  108. package/lib/cjs/Validation/ECRules.d.ts.map +1 -1
  109. package/lib/cjs/Validation/ECRules.js +579 -593
  110. package/lib/cjs/Validation/ECRules.js.map +1 -1
  111. package/lib/cjs/Validation/LoggingDiagnosticReporter.d.ts +13 -13
  112. package/lib/cjs/Validation/LoggingDiagnosticReporter.js +40 -40
  113. package/lib/cjs/Validation/LoggingDiagnosticReporter.js.map +1 -1
  114. package/lib/cjs/Validation/RuleSuppressionSet.d.ts +59 -59
  115. package/lib/cjs/Validation/RuleSuppressionSet.d.ts.map +1 -1
  116. package/lib/cjs/Validation/RuleSuppressionSet.js +9 -9
  117. package/lib/cjs/Validation/RuleSuppressionSet.js.map +1 -1
  118. package/lib/cjs/Validation/Rules.d.ts +64 -64
  119. package/lib/cjs/Validation/Rules.d.ts.map +1 -1
  120. package/lib/cjs/Validation/Rules.js +9 -9
  121. package/lib/cjs/Validation/Rules.js.map +1 -1
  122. package/lib/cjs/Validation/SchemaChanges.d.ts +607 -607
  123. package/lib/cjs/Validation/SchemaChanges.js +1135 -1135
  124. package/lib/cjs/Validation/SchemaChanges.js.map +1 -1
  125. package/lib/cjs/Validation/SchemaCompareDiagnostics.d.ts +422 -422
  126. package/lib/cjs/Validation/SchemaCompareDiagnostics.js +111 -111
  127. package/lib/cjs/Validation/SchemaCompareDiagnostics.js.map +1 -1
  128. package/lib/cjs/Validation/SchemaCompareReporter.d.ts +11 -11
  129. package/lib/cjs/Validation/SchemaCompareReporter.js +9 -9
  130. package/lib/cjs/Validation/SchemaCompareReporter.js.map +1 -1
  131. package/lib/cjs/Validation/SchemaCompareResultDelegate.d.ts +236 -236
  132. package/lib/cjs/Validation/SchemaCompareResultDelegate.js +348 -348
  133. package/lib/cjs/Validation/SchemaCompareResultDelegate.js.map +1 -1
  134. package/lib/cjs/Validation/SchemaCompareVisitor.d.ts +119 -119
  135. package/lib/cjs/Validation/SchemaCompareVisitor.js +206 -206
  136. package/lib/cjs/Validation/SchemaCompareVisitor.js.map +1 -1
  137. package/lib/cjs/Validation/SchemaComparer.d.ts +171 -171
  138. package/lib/cjs/Validation/SchemaComparer.js +666 -666
  139. package/lib/cjs/Validation/SchemaComparer.js.map +1 -1
  140. package/lib/cjs/Validation/SchemaValidater.d.ts +19 -19
  141. package/lib/cjs/Validation/SchemaValidater.js +61 -61
  142. package/lib/cjs/Validation/SchemaValidater.js.map +1 -1
  143. package/lib/cjs/Validation/SchemaValidationVisitor.d.ts +170 -170
  144. package/lib/cjs/Validation/SchemaValidationVisitor.js +492 -492
  145. package/lib/cjs/Validation/SchemaValidationVisitor.js.map +1 -1
  146. package/lib/cjs/Validation/SchemaWalker.d.ts +22 -22
  147. package/lib/cjs/Validation/SchemaWalker.js +51 -51
  148. package/lib/cjs/Validation/SchemaWalker.js.map +1 -1
  149. package/lib/cjs/ecschema-editing.d.ts +33 -33
  150. package/lib/cjs/ecschema-editing.js +58 -54
  151. package/lib/cjs/ecschema-editing.js.map +1 -1
  152. package/package.json +16 -17
  153. package/public/locales/en/ECSchemaEditing.json +26 -26
package/CHANGELOG.md CHANGED
@@ -1,6 +1,56 @@
1
1
  # Change Log - @itwin/ecschema-editing
2
2
 
3
- This log was last generated on Thu, 26 Jan 2023 22:53:27 GMT and should not be manually modified.
3
+ This log was last generated on Tue, 25 Apr 2023 17:50:35 GMT and should not be manually modified.
4
+
5
+ ## 3.7.4
6
+ Tue, 25 Apr 2023 17:50:35 GMT
7
+
8
+ _Version update only_
9
+
10
+ ## 3.7.3
11
+ Thu, 20 Apr 2023 13:19:29 GMT
12
+
13
+ _Version update only_
14
+
15
+ ## 3.7.2
16
+ Wed, 12 Apr 2023 13:12:42 GMT
17
+
18
+ _Version update only_
19
+
20
+ ## 3.7.1
21
+ Mon, 03 Apr 2023 15:15:37 GMT
22
+
23
+ _Version update only_
24
+
25
+ ## 3.7.0
26
+ Wed, 29 Mar 2023 15:02:27 GMT
27
+
28
+ _Version update only_
29
+
30
+ ## 3.6.3
31
+ Mon, 27 Mar 2023 16:26:47 GMT
32
+
33
+ _Version update only_
34
+
35
+ ## 3.6.2
36
+ Fri, 17 Mar 2023 17:52:32 GMT
37
+
38
+ _Version update only_
39
+
40
+ ## 3.6.1
41
+ Fri, 24 Feb 2023 22:00:48 GMT
42
+
43
+ _Version update only_
44
+
45
+ ## 3.6.0
46
+ Wed, 08 Feb 2023 14:58:40 GMT
47
+
48
+ _Version update only_
49
+
50
+ ## 3.5.6
51
+ Fri, 24 Feb 2023 16:02:47 GMT
52
+
53
+ _Version update only_
4
54
 
5
55
  ## 3.5.5
6
56
  Thu, 26 Jan 2023 22:53:27 GMT
@@ -1,21 +1,21 @@
1
- /** @packageDocumentation
2
- * @module Editing
3
- */
4
- import { ConstantProps, SchemaItemKey, SchemaKey } from "@itwin/ecschema-metadata";
5
- import { SchemaContextEditor, SchemaItemEditResults } from "./Editor";
6
- /**
7
- * @alpha
8
- * A class allowing you to create schema items of type Constant.
9
- */
10
- export declare class Constants {
11
- protected _schemaEditor: SchemaContextEditor;
12
- constructor(_schemaEditor: SchemaContextEditor);
13
- create(schemaKey: SchemaKey, name: string, phenomenon: SchemaItemKey, definition: string, displayLabel?: string, numerator?: number, denominator?: number): Promise<SchemaItemEditResults>;
14
- /**
15
- * Creates a Constant through a ConstantProps.
16
- * @param schemaKey a SchemaKey of the Schema that will house the new object.
17
- * @param relationshipProps a json object that will be used to populate the new RelationshipClass. Needs a name value passed in.
18
- */
19
- createFromProps(schemaKey: SchemaKey, constantProps: ConstantProps): Promise<SchemaItemEditResults>;
20
- }
1
+ /** @packageDocumentation
2
+ * @module Editing
3
+ */
4
+ import { ConstantProps, SchemaItemKey, SchemaKey } from "@itwin/ecschema-metadata";
5
+ import { SchemaContextEditor, SchemaItemEditResults } from "./Editor";
6
+ /**
7
+ * @alpha
8
+ * A class allowing you to create schema items of type Constant.
9
+ */
10
+ export declare class Constants {
11
+ protected _schemaEditor: SchemaContextEditor;
12
+ constructor(_schemaEditor: SchemaContextEditor);
13
+ create(schemaKey: SchemaKey, name: string, phenomenon: SchemaItemKey, definition: string, displayLabel?: string, numerator?: number, denominator?: number): Promise<SchemaItemEditResults>;
14
+ /**
15
+ * Creates a Constant through a ConstantProps.
16
+ * @param schemaKey a SchemaKey of the Schema that will house the new object.
17
+ * @param relationshipProps a json object that will be used to populate the new RelationshipClass. Needs a name value passed in.
18
+ */
19
+ createFromProps(schemaKey: SchemaKey, constantProps: ConstantProps): Promise<SchemaItemEditResults>;
20
+ }
21
21
  //# sourceMappingURL=Constants.d.ts.map
@@ -1,61 +1,61 @@
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 Editing
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.Constants = void 0;
11
- const ecschema_metadata_1 = require("@itwin/ecschema-metadata");
12
- /**
13
- * @alpha
14
- * A class allowing you to create schema items of type Constant.
15
- */
16
- class Constants {
17
- constructor(_schemaEditor) {
18
- this._schemaEditor = _schemaEditor;
19
- }
20
- async create(schemaKey, name, phenomenon, definition, displayLabel, numerator, denominator) {
21
- const schema = await this._schemaEditor.getSchema(schemaKey);
22
- if (schema === undefined)
23
- return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };
24
- const newConstant = (await schema.createConstant(name));
25
- if (newConstant === undefined) {
26
- return { errorMessage: `Failed to create class ${name} in schema ${schemaKey.toString(true)}.` };
27
- }
28
- const newPhenomenon = (await this._schemaEditor.schemaContext.getSchemaItem(phenomenon));
29
- if (newPhenomenon === undefined || newPhenomenon.schemaItemType !== ecschema_metadata_1.SchemaItemType.Phenomenon) {
30
- return { errorMessage: `Unable to locate phenomenon ${phenomenon.name}` };
31
- }
32
- newConstant.setPhenomenon(new ecschema_metadata_1.DelayedPromiseWithProps(newPhenomenon.key, async () => newPhenomenon));
33
- newConstant.setDefinition(definition);
34
- if (numerator)
35
- newConstant.setNumerator(numerator);
36
- if (denominator)
37
- newConstant.setDenominator(denominator);
38
- if (displayLabel)
39
- newConstant.setDisplayLabel(displayLabel);
40
- return { itemKey: newConstant.key };
41
- }
42
- /**
43
- * Creates a Constant through a ConstantProps.
44
- * @param schemaKey a SchemaKey of the Schema that will house the new object.
45
- * @param relationshipProps a json object that will be used to populate the new RelationshipClass. Needs a name value passed in.
46
- */
47
- async createFromProps(schemaKey, constantProps) {
48
- const schema = await this._schemaEditor.getSchema(schemaKey);
49
- if (schema === undefined)
50
- return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };
51
- if (constantProps.name === undefined)
52
- return { errorMessage: `No name was supplied within props.` };
53
- const newConstant = (await schema.createConstant(constantProps.name));
54
- if (newConstant === undefined)
55
- return { errorMessage: `Failed to create class ${constantProps.name} in schema ${schemaKey.toString(true)}.` };
56
- await newConstant.fromJSON(constantProps);
57
- return { itemKey: newConstant.key };
58
- }
59
- }
60
- exports.Constants = Constants;
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 Editing
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.Constants = void 0;
11
+ const ecschema_metadata_1 = require("@itwin/ecschema-metadata");
12
+ /**
13
+ * @alpha
14
+ * A class allowing you to create schema items of type Constant.
15
+ */
16
+ class Constants {
17
+ constructor(_schemaEditor) {
18
+ this._schemaEditor = _schemaEditor;
19
+ }
20
+ async create(schemaKey, name, phenomenon, definition, displayLabel, numerator, denominator) {
21
+ const schema = await this._schemaEditor.getSchema(schemaKey);
22
+ if (schema === undefined)
23
+ return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };
24
+ const newConstant = (await schema.createConstant(name));
25
+ if (newConstant === undefined) {
26
+ return { errorMessage: `Failed to create class ${name} in schema ${schemaKey.toString(true)}.` };
27
+ }
28
+ const newPhenomenon = (await this._schemaEditor.schemaContext.getSchemaItem(phenomenon));
29
+ if (newPhenomenon === undefined || newPhenomenon.schemaItemType !== ecschema_metadata_1.SchemaItemType.Phenomenon) {
30
+ return { errorMessage: `Unable to locate phenomenon ${phenomenon.name}` };
31
+ }
32
+ newConstant.setPhenomenon(new ecschema_metadata_1.DelayedPromiseWithProps(newPhenomenon.key, async () => newPhenomenon));
33
+ newConstant.setDefinition(definition);
34
+ if (numerator)
35
+ newConstant.setNumerator(numerator);
36
+ if (denominator)
37
+ newConstant.setDenominator(denominator);
38
+ if (displayLabel)
39
+ newConstant.setDisplayLabel(displayLabel);
40
+ return { itemKey: newConstant.key };
41
+ }
42
+ /**
43
+ * Creates a Constant through a ConstantProps.
44
+ * @param schemaKey a SchemaKey of the Schema that will house the new object.
45
+ * @param relationshipProps a json object that will be used to populate the new RelationshipClass. Needs a name value passed in.
46
+ */
47
+ async createFromProps(schemaKey, constantProps) {
48
+ const schema = await this._schemaEditor.getSchema(schemaKey);
49
+ if (schema === undefined)
50
+ return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };
51
+ if (constantProps.name === undefined)
52
+ return { errorMessage: `No name was supplied within props.` };
53
+ const newConstant = (await schema.createConstant(constantProps.name));
54
+ if (newConstant === undefined)
55
+ return { errorMessage: `Failed to create class ${constantProps.name} in schema ${schemaKey.toString(true)}.` };
56
+ await newConstant.fromJSON(constantProps);
57
+ return { itemKey: newConstant.key };
58
+ }
59
+ }
60
+ exports.Constants = Constants;
61
61
  //# sourceMappingURL=Constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../../src/Editing/Constants.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,gEAAwI;AAIxI;;;GAGG;AACH,MAAa,SAAS;IACpB,YAA6B,aAAkC;QAAlC,kBAAa,GAAb,aAAa,CAAqB;IAAI,CAAC;IAE7D,KAAK,CAAC,MAAM,CAAC,SAAoB,EAAE,IAAY,EAAE,UAAyB,EAAE,UAAkB,EAAE,YAAqB,EAAE,SAAkB,EAAE,WAAoB;QACpK,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,MAAM,KAAK,SAAS;YACtB,OAAO,EAAE,YAAY,EAAE,cAAc,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAEzF,MAAM,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAoB,CAAC;QAC3E,IAAI,WAAW,KAAK,SAAS,EAAE;YAC7B,OAAO,EAAE,YAAY,EAAE,0BAA0B,IAAI,cAAc,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SAClG;QAED,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAa,UAAU,CAAC,CAAC,CAAC;QACrG,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,cAAc,KAAK,kCAAc,CAAC,UAAU,EAAE;YAC7F,OAAO,EAAE,YAAY,EAAE,+BAA+B,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;SAC3E;QACD,WAAW,CAAC,aAAa,CAAC,IAAI,2CAAuB,CAA4B,aAAa,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;QAChI,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEtC,IAAI,SAAS;YACX,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAEtC,IAAI,WAAW;YACb,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAE1C,IAAI,YAAY;YACd,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAE5C,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAAC,SAAoB,EAAE,aAA4B;QAC7E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,MAAM,KAAK,SAAS;YACtB,OAAO,EAAE,YAAY,EAAE,cAAc,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAEzF,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS;YAClC,OAAO,EAAE,YAAY,EAAE,oCAAoC,EAAE,CAAC;QAEhE,MAAM,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,IAAI,WAAW,KAAK,SAAS;YAC3B,OAAO,EAAE,YAAY,EAAE,0BAA0B,aAAa,CAAC,IAAI,cAAc,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAEjH,MAAM,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC1C,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC;IACtC,CAAC;CACF;AApDD,8BAoDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Editing\r\n */\r\n\r\nimport { ConstantProps, DelayedPromiseWithProps, Phenomenon, SchemaItemKey, SchemaItemType, SchemaKey } from \"@itwin/ecschema-metadata\";\r\nimport { SchemaContextEditor, SchemaItemEditResults } from \"./Editor\";\r\nimport { MutableConstant } from \"./Mutable/MutableConstant\";\r\n\r\n/**\r\n * @alpha\r\n * A class allowing you to create schema items of type Constant.\r\n */\r\nexport class Constants {\r\n public constructor(protected _schemaEditor: SchemaContextEditor) { }\r\n\r\n public async create(schemaKey: SchemaKey, name: string, phenomenon: SchemaItemKey, definition: string, displayLabel?: string, numerator?: number, denominator?: number): Promise<SchemaItemEditResults> {\r\n const schema = await this._schemaEditor.getSchema(schemaKey);\r\n if (schema === undefined)\r\n return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };\r\n\r\n const newConstant = (await schema.createConstant(name)) as MutableConstant;\r\n if (newConstant === undefined) {\r\n return { errorMessage: `Failed to create class ${name} in schema ${schemaKey.toString(true)}.` };\r\n }\r\n\r\n const newPhenomenon = (await this._schemaEditor.schemaContext.getSchemaItem<Phenomenon>(phenomenon));\r\n if (newPhenomenon === undefined || newPhenomenon.schemaItemType !== SchemaItemType.Phenomenon) {\r\n return { errorMessage: `Unable to locate phenomenon ${phenomenon.name}` };\r\n }\r\n newConstant.setPhenomenon(new DelayedPromiseWithProps<SchemaItemKey, Phenomenon>(newPhenomenon.key, async () => newPhenomenon));\r\n newConstant.setDefinition(definition);\r\n\r\n if (numerator)\r\n newConstant.setNumerator(numerator);\r\n\r\n if (denominator)\r\n newConstant.setDenominator(denominator);\r\n\r\n if (displayLabel)\r\n newConstant.setDisplayLabel(displayLabel);\r\n\r\n return { itemKey: newConstant.key };\r\n }\r\n\r\n /**\r\n * Creates a Constant through a ConstantProps.\r\n * @param schemaKey a SchemaKey of the Schema that will house the new object.\r\n * @param relationshipProps a json object that will be used to populate the new RelationshipClass. Needs a name value passed in.\r\n */\r\n public async createFromProps(schemaKey: SchemaKey, constantProps: ConstantProps): Promise<SchemaItemEditResults> {\r\n const schema = await this._schemaEditor.getSchema(schemaKey);\r\n if (schema === undefined)\r\n return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };\r\n\r\n if (constantProps.name === undefined)\r\n return { errorMessage: `No name was supplied within props.` };\r\n\r\n const newConstant = (await schema.createConstant(constantProps.name));\r\n if (newConstant === undefined)\r\n return { errorMessage: `Failed to create class ${constantProps.name} in schema ${schemaKey.toString(true)}.` };\r\n\r\n await newConstant.fromJSON(constantProps);\r\n return { itemKey: newConstant.key };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"Constants.js","sourceRoot":"","sources":["../../../src/Editing/Constants.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,gEAAwI;AAIxI;;;GAGG;AACH,MAAa,SAAS;IACpB,YAA6B,aAAkC;QAAlC,kBAAa,GAAb,aAAa,CAAqB;IAAI,CAAC;IAE7D,KAAK,CAAC,MAAM,CAAC,SAAoB,EAAE,IAAY,EAAE,UAAyB,EAAE,UAAkB,EAAE,YAAqB,EAAE,SAAkB,EAAE,WAAoB;QACpK,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,MAAM,KAAK,SAAS;YACtB,OAAO,EAAE,YAAY,EAAE,cAAc,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAEzF,MAAM,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAoB,CAAC;QAC3E,IAAI,WAAW,KAAK,SAAS,EAAE;YAC7B,OAAO,EAAE,YAAY,EAAE,0BAA0B,IAAI,cAAc,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;SAClG;QAED,MAAM,aAAa,GAAG,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAa,UAAU,CAAC,CAAC,CAAC;QACrG,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,CAAC,cAAc,KAAK,kCAAc,CAAC,UAAU,EAAE;YAC7F,OAAO,EAAE,YAAY,EAAE,+BAA+B,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;SAC3E;QACD,WAAW,CAAC,aAAa,CAAC,IAAI,2CAAuB,CAA4B,aAAa,CAAC,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;QAChI,WAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAEtC,IAAI,SAAS;YACX,WAAW,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAEtC,IAAI,WAAW;YACb,WAAW,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAE1C,IAAI,YAAY;YACd,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAE5C,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAAC,SAAoB,EAAE,aAA4B;QAC7E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,MAAM,KAAK,SAAS;YACtB,OAAO,EAAE,YAAY,EAAE,cAAc,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAEzF,IAAI,aAAa,CAAC,IAAI,KAAK,SAAS;YAClC,OAAO,EAAE,YAAY,EAAE,oCAAoC,EAAE,CAAC;QAEhE,MAAM,WAAW,GAAG,CAAC,MAAM,MAAM,CAAC,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QACtE,IAAI,WAAW,KAAK,SAAS;YAC3B,OAAO,EAAE,YAAY,EAAE,0BAA0B,aAAa,CAAC,IAAI,cAAc,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAEjH,MAAM,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC1C,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,GAAG,EAAE,CAAC;IACtC,CAAC;CACF;AApDD,8BAoDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Editing\n */\n\nimport { ConstantProps, DelayedPromiseWithProps, Phenomenon, SchemaItemKey, SchemaItemType, SchemaKey } from \"@itwin/ecschema-metadata\";\nimport { SchemaContextEditor, SchemaItemEditResults } from \"./Editor\";\nimport { MutableConstant } from \"./Mutable/MutableConstant\";\n\n/**\n * @alpha\n * A class allowing you to create schema items of type Constant.\n */\nexport class Constants {\n public constructor(protected _schemaEditor: SchemaContextEditor) { }\n\n public async create(schemaKey: SchemaKey, name: string, phenomenon: SchemaItemKey, definition: string, displayLabel?: string, numerator?: number, denominator?: number): Promise<SchemaItemEditResults> {\n const schema = await this._schemaEditor.getSchema(schemaKey);\n if (schema === undefined)\n return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };\n\n const newConstant = (await schema.createConstant(name)) as MutableConstant;\n if (newConstant === undefined) {\n return { errorMessage: `Failed to create class ${name} in schema ${schemaKey.toString(true)}.` };\n }\n\n const newPhenomenon = (await this._schemaEditor.schemaContext.getSchemaItem<Phenomenon>(phenomenon));\n if (newPhenomenon === undefined || newPhenomenon.schemaItemType !== SchemaItemType.Phenomenon) {\n return { errorMessage: `Unable to locate phenomenon ${phenomenon.name}` };\n }\n newConstant.setPhenomenon(new DelayedPromiseWithProps<SchemaItemKey, Phenomenon>(newPhenomenon.key, async () => newPhenomenon));\n newConstant.setDefinition(definition);\n\n if (numerator)\n newConstant.setNumerator(numerator);\n\n if (denominator)\n newConstant.setDenominator(denominator);\n\n if (displayLabel)\n newConstant.setDisplayLabel(displayLabel);\n\n return { itemKey: newConstant.key };\n }\n\n /**\n * Creates a Constant through a ConstantProps.\n * @param schemaKey a SchemaKey of the Schema that will house the new object.\n * @param relationshipProps a json object that will be used to populate the new RelationshipClass. Needs a name value passed in.\n */\n public async createFromProps(schemaKey: SchemaKey, constantProps: ConstantProps): Promise<SchemaItemEditResults> {\n const schema = await this._schemaEditor.getSchema(schemaKey);\n if (schema === undefined)\n return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };\n\n if (constantProps.name === undefined)\n return { errorMessage: `No name was supplied within props.` };\n\n const newConstant = (await schema.createConstant(constantProps.name));\n if (newConstant === undefined)\n return { errorMessage: `Failed to create class ${constantProps.name} in schema ${schemaKey.toString(true)}.` };\n\n await newConstant.fromJSON(constantProps);\n return { itemKey: newConstant.key };\n }\n}\n"]}
@@ -1,21 +1,21 @@
1
- /** @packageDocumentation
2
- * @module Editing
3
- */
4
- import { CustomAttributeClassProps, CustomAttributeContainerType, SchemaItemKey, SchemaKey } from "@itwin/ecschema-metadata";
5
- import { SchemaContextEditor, SchemaItemEditResults } from "./Editor";
6
- import { ECClasses } from "./ECClasses";
7
- /**
8
- * @alpha
9
- * A class extending ECClasses allowing you to create schema items of type CustomAttributeClass.
10
- */
11
- export declare class CustomAttributes extends ECClasses {
12
- constructor(_schemaEditor: SchemaContextEditor);
13
- create(schemaKey: SchemaKey, name: string, containerType: CustomAttributeContainerType, displayLabel?: string, baseClass?: SchemaItemKey): Promise<SchemaItemEditResults>;
14
- /**
15
- * Creates a CustomAttributeClass through a CustomAttributeClassProps.
16
- * @param schemaKey a SchemaKey of the Schema that will house the new object.
17
- * @param caProps a json object that will be used to populate the new CustomAttributeClass. Needs a name value passed in.
18
- */
19
- createFromProps(schemaKey: SchemaKey, caProps: CustomAttributeClassProps): Promise<SchemaItemEditResults>;
20
- }
1
+ /** @packageDocumentation
2
+ * @module Editing
3
+ */
4
+ import { CustomAttributeClassProps, CustomAttributeContainerType, SchemaItemKey, SchemaKey } from "@itwin/ecschema-metadata";
5
+ import { SchemaContextEditor, SchemaItemEditResults } from "./Editor";
6
+ import { ECClasses } from "./ECClasses";
7
+ /**
8
+ * @alpha
9
+ * A class extending ECClasses allowing you to create schema items of type CustomAttributeClass.
10
+ */
11
+ export declare class CustomAttributes extends ECClasses {
12
+ constructor(_schemaEditor: SchemaContextEditor);
13
+ create(schemaKey: SchemaKey, name: string, containerType: CustomAttributeContainerType, displayLabel?: string, baseClass?: SchemaItemKey): Promise<SchemaItemEditResults>;
14
+ /**
15
+ * Creates a CustomAttributeClass through a CustomAttributeClassProps.
16
+ * @param schemaKey a SchemaKey of the Schema that will house the new object.
17
+ * @param caProps a json object that will be used to populate the new CustomAttributeClass. Needs a name value passed in.
18
+ */
19
+ createFromProps(schemaKey: SchemaKey, caProps: CustomAttributeClassProps): Promise<SchemaItemEditResults>;
20
+ }
21
21
  //# sourceMappingURL=CustomAttributes.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 Editing
8
- */
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.CustomAttributes = void 0;
11
- const ecschema_metadata_1 = require("@itwin/ecschema-metadata");
12
- const ECClasses_1 = require("./ECClasses");
13
- /**
14
- * @alpha
15
- * A class extending ECClasses allowing you to create schema items of type CustomAttributeClass.
16
- */
17
- class CustomAttributes extends ECClasses_1.ECClasses {
18
- constructor(_schemaEditor) {
19
- super(_schemaEditor);
20
- }
21
- async create(schemaKey, name, containerType, displayLabel, baseClass) {
22
- const schema = await this._schemaEditor.getSchema(schemaKey);
23
- if (schema === undefined)
24
- return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };
25
- const newClass = (await schema.createCustomAttributeClass(name));
26
- if (newClass === undefined)
27
- return { errorMessage: `Failed to create class ${name} in schema ${schemaKey.toString(true)}.` };
28
- if (baseClass !== undefined) {
29
- const baseClassItem = await schema.lookupItem(baseClass);
30
- if (baseClassItem === undefined)
31
- return { errorMessage: `Unable to locate base class ${baseClass.fullName} in schema ${schema.fullName}.` };
32
- if (baseClassItem.schemaItemType !== ecschema_metadata_1.SchemaItemType.CustomAttributeClass)
33
- return { errorMessage: `${baseClassItem.fullName} is not of type CustomAttribute Class.` };
34
- newClass.baseClass = new ecschema_metadata_1.DelayedPromiseWithProps(baseClass, async () => baseClassItem);
35
- }
36
- if (displayLabel)
37
- newClass.setDisplayLabel(displayLabel);
38
- newClass.setContainerType(containerType);
39
- return { itemKey: newClass.key };
40
- }
41
- /**
42
- * Creates a CustomAttributeClass through a CustomAttributeClassProps.
43
- * @param schemaKey a SchemaKey of the Schema that will house the new object.
44
- * @param caProps a json object that will be used to populate the new CustomAttributeClass. Needs a name value passed in.
45
- */
46
- async createFromProps(schemaKey, caProps) {
47
- const schema = await this._schemaEditor.getSchema(schemaKey);
48
- if (schema === undefined)
49
- return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };
50
- if (caProps.name === undefined)
51
- return { errorMessage: `No name was supplied within props.` };
52
- const newClass = (await schema.createCustomAttributeClass(caProps.name));
53
- if (newClass === undefined)
54
- return { errorMessage: `Failed to create class ${caProps.name} in schema ${schemaKey.toString(true)}.` };
55
- await newClass.fromJSON(caProps);
56
- return { itemKey: newClass.key };
57
- }
58
- }
59
- exports.CustomAttributes = CustomAttributes;
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 Editing
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.CustomAttributes = void 0;
11
+ const ecschema_metadata_1 = require("@itwin/ecschema-metadata");
12
+ const ECClasses_1 = require("./ECClasses");
13
+ /**
14
+ * @alpha
15
+ * A class extending ECClasses allowing you to create schema items of type CustomAttributeClass.
16
+ */
17
+ class CustomAttributes extends ECClasses_1.ECClasses {
18
+ constructor(_schemaEditor) {
19
+ super(_schemaEditor);
20
+ }
21
+ async create(schemaKey, name, containerType, displayLabel, baseClass) {
22
+ const schema = await this._schemaEditor.getSchema(schemaKey);
23
+ if (schema === undefined)
24
+ return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };
25
+ const newClass = (await schema.createCustomAttributeClass(name));
26
+ if (newClass === undefined)
27
+ return { errorMessage: `Failed to create class ${name} in schema ${schemaKey.toString(true)}.` };
28
+ if (baseClass !== undefined) {
29
+ const baseClassItem = await schema.lookupItem(baseClass);
30
+ if (baseClassItem === undefined)
31
+ return { errorMessage: `Unable to locate base class ${baseClass.fullName} in schema ${schema.fullName}.` };
32
+ if (baseClassItem.schemaItemType !== ecschema_metadata_1.SchemaItemType.CustomAttributeClass)
33
+ return { errorMessage: `${baseClassItem.fullName} is not of type CustomAttribute Class.` };
34
+ newClass.baseClass = new ecschema_metadata_1.DelayedPromiseWithProps(baseClass, async () => baseClassItem);
35
+ }
36
+ if (displayLabel)
37
+ newClass.setDisplayLabel(displayLabel);
38
+ newClass.setContainerType(containerType);
39
+ return { itemKey: newClass.key };
40
+ }
41
+ /**
42
+ * Creates a CustomAttributeClass through a CustomAttributeClassProps.
43
+ * @param schemaKey a SchemaKey of the Schema that will house the new object.
44
+ * @param caProps a json object that will be used to populate the new CustomAttributeClass. Needs a name value passed in.
45
+ */
46
+ async createFromProps(schemaKey, caProps) {
47
+ const schema = await this._schemaEditor.getSchema(schemaKey);
48
+ if (schema === undefined)
49
+ return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };
50
+ if (caProps.name === undefined)
51
+ return { errorMessage: `No name was supplied within props.` };
52
+ const newClass = (await schema.createCustomAttributeClass(caProps.name));
53
+ if (newClass === undefined)
54
+ return { errorMessage: `Failed to create class ${caProps.name} in schema ${schemaKey.toString(true)}.` };
55
+ await newClass.fromJSON(caProps);
56
+ return { itemKey: newClass.key };
57
+ }
58
+ }
59
+ exports.CustomAttributes = CustomAttributes;
60
60
  //# sourceMappingURL=CustomAttributes.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CustomAttributes.js","sourceRoot":"","sources":["../../../src/Editing/CustomAttributes.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,gEAGkC;AAElC,2CAAwC;AAGxC;;;GAGG;AACH,MAAa,gBAAiB,SAAQ,qBAAS;IAC7C,YAAmB,aAAkC;QACnD,KAAK,CAAC,aAAa,CAAC,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,SAAoB,EAAE,IAAY,EAAE,aAA2C,EAAE,YAAqB,EAAE,SAAyB;QACnJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,MAAM,KAAK,SAAS;YACtB,OAAO,EAAE,YAAY,EAAE,cAAc,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAEzF,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAmB,CAAC;QACnF,IAAI,QAAQ,KAAK,SAAS;YACxB,OAAO,EAAE,YAAY,EAAE,0BAA0B,IAAI,cAAc,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAEnG,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,UAAU,CAAU,SAAS,CAAC,CAAC;YAClE,IAAI,aAAa,KAAK,SAAS;gBAC7B,OAAO,EAAE,YAAY,EAAE,+BAA+B,SAAS,CAAC,QAAQ,cAAc,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;YAE7G,IAAI,aAAa,CAAC,cAAc,KAAK,kCAAc,CAAC,oBAAoB;gBACtE,OAAO,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,QAAQ,wCAAwC,EAAE,CAAC;YAE7F,QAAQ,CAAC,SAAS,GAAG,IAAI,2CAAuB,CAAyB,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC,CAAC;SAChH;QAED,IAAI,YAAY;YACd,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAEzC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAEzC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAAC,SAAoB,EAAE,OAAkC;QACnF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,MAAM,KAAK,SAAS;YACtB,OAAO,EAAE,YAAY,EAAE,cAAc,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAEzF,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAC5B,OAAO,EAAE,YAAY,EAAE,oCAAoC,EAAE,CAAC;QAEhE,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAmB,CAAC;QAC3F,IAAI,QAAQ,KAAK,SAAS;YACxB,OAAO,EAAE,YAAY,EAAE,0BAA0B,OAAO,CAAC,IAAI,cAAc,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAE3G,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEjC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;IACnC,CAAC;CACF;AAtDD,4CAsDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\r\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\r\n* See LICENSE.md in the project root for license terms and full copyright notice.\r\n*--------------------------------------------------------------------------------------------*/\r\n/** @packageDocumentation\r\n * @module Editing\r\n */\r\n\r\nimport {\r\n CustomAttributeClassProps, CustomAttributeContainerType, DelayedPromiseWithProps, ECClass,\r\n SchemaItemKey, SchemaItemType, SchemaKey,\r\n} from \"@itwin/ecschema-metadata\";\r\nimport { SchemaContextEditor, SchemaItemEditResults } from \"./Editor\";\r\nimport { ECClasses } from \"./ECClasses\";\r\nimport { MutableCAClass } from \"./Mutable/MutableCAClass\";\r\n\r\n/**\r\n * @alpha\r\n * A class extending ECClasses allowing you to create schema items of type CustomAttributeClass.\r\n */\r\nexport class CustomAttributes extends ECClasses {\r\n public constructor(_schemaEditor: SchemaContextEditor) {\r\n super(_schemaEditor);\r\n }\r\n\r\n public async create(schemaKey: SchemaKey, name: string, containerType: CustomAttributeContainerType, displayLabel?: string, baseClass?: SchemaItemKey): Promise<SchemaItemEditResults> {\r\n const schema = await this._schemaEditor.getSchema(schemaKey);\r\n if (schema === undefined)\r\n return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };\r\n\r\n const newClass = (await schema.createCustomAttributeClass(name)) as MutableCAClass;\r\n if (newClass === undefined)\r\n return { errorMessage: `Failed to create class ${name} in schema ${schemaKey.toString(true)}.` };\r\n\r\n if (baseClass !== undefined) {\r\n const baseClassItem = await schema.lookupItem<ECClass>(baseClass);\r\n if (baseClassItem === undefined)\r\n return { errorMessage: `Unable to locate base class ${baseClass.fullName} in schema ${schema.fullName}.` };\r\n\r\n if (baseClassItem.schemaItemType !== SchemaItemType.CustomAttributeClass)\r\n return { errorMessage: `${baseClassItem.fullName} is not of type CustomAttribute Class.` };\r\n\r\n newClass.baseClass = new DelayedPromiseWithProps<SchemaItemKey, ECClass>(baseClass, async () => baseClassItem);\r\n }\r\n\r\n if (displayLabel)\r\n newClass.setDisplayLabel(displayLabel);\r\n\r\n newClass.setContainerType(containerType);\r\n\r\n return { itemKey: newClass.key };\r\n }\r\n\r\n /**\r\n * Creates a CustomAttributeClass through a CustomAttributeClassProps.\r\n * @param schemaKey a SchemaKey of the Schema that will house the new object.\r\n * @param caProps a json object that will be used to populate the new CustomAttributeClass. Needs a name value passed in.\r\n */\r\n public async createFromProps(schemaKey: SchemaKey, caProps: CustomAttributeClassProps): Promise<SchemaItemEditResults> {\r\n const schema = await this._schemaEditor.getSchema(schemaKey);\r\n if (schema === undefined)\r\n return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };\r\n\r\n if (caProps.name === undefined)\r\n return { errorMessage: `No name was supplied within props.` };\r\n\r\n const newClass = (await schema.createCustomAttributeClass(caProps.name)) as MutableCAClass;\r\n if (newClass === undefined)\r\n return { errorMessage: `Failed to create class ${caProps.name} in schema ${schemaKey.toString(true)}.` };\r\n\r\n await newClass.fromJSON(caProps);\r\n\r\n return { itemKey: newClass.key };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"CustomAttributes.js","sourceRoot":"","sources":["../../../src/Editing/CustomAttributes.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,gEAGkC;AAElC,2CAAwC;AAGxC;;;GAGG;AACH,MAAa,gBAAiB,SAAQ,qBAAS;IAC7C,YAAmB,aAAkC;QACnD,KAAK,CAAC,aAAa,CAAC,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,SAAoB,EAAE,IAAY,EAAE,aAA2C,EAAE,YAAqB,EAAE,SAAyB;QACnJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,MAAM,KAAK,SAAS;YACtB,OAAO,EAAE,YAAY,EAAE,cAAc,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAEzF,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAmB,CAAC;QACnF,IAAI,QAAQ,KAAK,SAAS;YACxB,OAAO,EAAE,YAAY,EAAE,0BAA0B,IAAI,cAAc,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAEnG,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC,UAAU,CAAU,SAAS,CAAC,CAAC;YAClE,IAAI,aAAa,KAAK,SAAS;gBAC7B,OAAO,EAAE,YAAY,EAAE,+BAA+B,SAAS,CAAC,QAAQ,cAAc,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;YAE7G,IAAI,aAAa,CAAC,cAAc,KAAK,kCAAc,CAAC,oBAAoB;gBACtE,OAAO,EAAE,YAAY,EAAE,GAAG,aAAa,CAAC,QAAQ,wCAAwC,EAAE,CAAC;YAE7F,QAAQ,CAAC,SAAS,GAAG,IAAI,2CAAuB,CAAyB,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa,CAAC,CAAC;SAChH;QAED,IAAI,YAAY;YACd,QAAQ,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QAEzC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAEzC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;IACnC,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAAC,SAAoB,EAAE,OAAkC;QACnF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC7D,IAAI,MAAM,KAAK,SAAS;YACtB,OAAO,EAAE,YAAY,EAAE,cAAc,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAEzF,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;YAC5B,OAAO,EAAE,YAAY,EAAE,oCAAoC,EAAE,CAAC;QAEhE,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAmB,CAAC;QAC3F,IAAI,QAAQ,KAAK,SAAS;YACxB,OAAO,EAAE,YAAY,EAAE,0BAA0B,OAAO,CAAC,IAAI,cAAc,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAE3G,MAAM,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAEjC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC;IACnC,CAAC;CACF;AAtDD,4CAsDC","sourcesContent":["/*---------------------------------------------------------------------------------------------\n* Copyright (c) Bentley Systems, Incorporated. All rights reserved.\n* See LICENSE.md in the project root for license terms and full copyright notice.\n*--------------------------------------------------------------------------------------------*/\n/** @packageDocumentation\n * @module Editing\n */\n\nimport {\n CustomAttributeClassProps, CustomAttributeContainerType, DelayedPromiseWithProps, ECClass,\n SchemaItemKey, SchemaItemType, SchemaKey,\n} from \"@itwin/ecschema-metadata\";\nimport { SchemaContextEditor, SchemaItemEditResults } from \"./Editor\";\nimport { ECClasses } from \"./ECClasses\";\nimport { MutableCAClass } from \"./Mutable/MutableCAClass\";\n\n/**\n * @alpha\n * A class extending ECClasses allowing you to create schema items of type CustomAttributeClass.\n */\nexport class CustomAttributes extends ECClasses {\n public constructor(_schemaEditor: SchemaContextEditor) {\n super(_schemaEditor);\n }\n\n public async create(schemaKey: SchemaKey, name: string, containerType: CustomAttributeContainerType, displayLabel?: string, baseClass?: SchemaItemKey): Promise<SchemaItemEditResults> {\n const schema = await this._schemaEditor.getSchema(schemaKey);\n if (schema === undefined)\n return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };\n\n const newClass = (await schema.createCustomAttributeClass(name)) as MutableCAClass;\n if (newClass === undefined)\n return { errorMessage: `Failed to create class ${name} in schema ${schemaKey.toString(true)}.` };\n\n if (baseClass !== undefined) {\n const baseClassItem = await schema.lookupItem<ECClass>(baseClass);\n if (baseClassItem === undefined)\n return { errorMessage: `Unable to locate base class ${baseClass.fullName} in schema ${schema.fullName}.` };\n\n if (baseClassItem.schemaItemType !== SchemaItemType.CustomAttributeClass)\n return { errorMessage: `${baseClassItem.fullName} is not of type CustomAttribute Class.` };\n\n newClass.baseClass = new DelayedPromiseWithProps<SchemaItemKey, ECClass>(baseClass, async () => baseClassItem);\n }\n\n if (displayLabel)\n newClass.setDisplayLabel(displayLabel);\n\n newClass.setContainerType(containerType);\n\n return { itemKey: newClass.key };\n }\n\n /**\n * Creates a CustomAttributeClass through a CustomAttributeClassProps.\n * @param schemaKey a SchemaKey of the Schema that will house the new object.\n * @param caProps a json object that will be used to populate the new CustomAttributeClass. Needs a name value passed in.\n */\n public async createFromProps(schemaKey: SchemaKey, caProps: CustomAttributeClassProps): Promise<SchemaItemEditResults> {\n const schema = await this._schemaEditor.getSchema(schemaKey);\n if (schema === undefined)\n return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };\n\n if (caProps.name === undefined)\n return { errorMessage: `No name was supplied within props.` };\n\n const newClass = (await schema.createCustomAttributeClass(caProps.name)) as MutableCAClass;\n if (newClass === undefined)\n return { errorMessage: `Failed to create class ${caProps.name} in schema ${schemaKey.toString(true)}.` };\n\n await newClass.fromJSON(caProps);\n\n return { itemKey: newClass.key };\n }\n}\n"]}
@@ -1,55 +1,55 @@
1
- /** @packageDocumentation
2
- * @module Editing
3
- */
4
- import { CustomAttribute, Enumeration, EnumerationPropertyProps, PrimitiveArrayPropertyProps, PrimitivePropertyProps, PrimitiveType, SchemaItemKey, StructArrayPropertyProps, StructClass, StructPropertyProps } from "@itwin/ecschema-metadata";
5
- import { PropertyEditResults, SchemaContextEditor, SchemaItemEditResults } from "./Editor";
6
- /**
7
- * @alpha
8
- * Acts as a base class for schema class creation. Enables property creation.
9
- */
10
- export declare class ECClasses {
11
- protected _schemaEditor: SchemaContextEditor;
12
- protected constructor(_schemaEditor: SchemaContextEditor);
13
- /**
14
- * Creates a property on class identified by the given SchemaItemKey. This method restricts the
15
- * property type to primitives of type Double, String, DateTime and Integer.
16
- * @param classKey The SchemaItemKey of the class.
17
- * @param name The name of the new property.
18
- * @param type The PrimitiveType assigned to the new property.
19
- */
20
- createProperty(classKey: SchemaItemKey, name: string, type: PrimitiveType, prefix: string): Promise<PropertyEditResults>;
21
- /**
22
- * Create a primitive property on class identified by the given SchemaItemKey.
23
- * @param classKey The SchemaItemKey of the class.
24
- * @param name The name of the new property.
25
- * @param type The PrimitiveType assigned to the new property.
26
- */
27
- createPrimitiveProperty(classKey: SchemaItemKey, name: string, type: PrimitiveType): Promise<PropertyEditResults>;
28
- createPrimitivePropertyFromProps(classKey: SchemaItemKey, name: string, type: PrimitiveType, primitiveProps: PrimitivePropertyProps): Promise<PropertyEditResults>;
29
- createEnumerationProperty(classKey: SchemaItemKey, name: string, type: Enumeration): Promise<PropertyEditResults>;
30
- createEnumerationPropertyFromProps(classKey: SchemaItemKey, name: string, type: Enumeration, enumProps: EnumerationPropertyProps): Promise<PropertyEditResults>;
31
- createPrimitiveArrayProperty(classKey: SchemaItemKey, name: string, type: PrimitiveType): Promise<PropertyEditResults>;
32
- createPrimitiveArrayPropertyFromProps(classKey: SchemaItemKey, name: string, type: PrimitiveType, primitiveProps: PrimitiveArrayPropertyProps): Promise<PropertyEditResults>;
33
- createStructProperty(classKey: SchemaItemKey, name: string, type: StructClass): Promise<PropertyEditResults>;
34
- createStructPropertyFromProps(classKey: SchemaItemKey, name: string, type: StructClass, structProps: StructPropertyProps): Promise<PropertyEditResults>;
35
- createStructArrayProperty(classKey: SchemaItemKey, name: string, type: StructClass): Promise<PropertyEditResults>;
36
- createStructArrayPropertyFromProps(classKey: SchemaItemKey, name: string, type: StructClass, structProps: StructArrayPropertyProps): Promise<PropertyEditResults>;
37
- deleteProperty(classKey: SchemaItemKey, name: string): Promise<PropertyEditResults>;
38
- delete(classKey: SchemaItemKey): Promise<SchemaItemEditResults>;
39
- /**
40
- * Adds a CustomAttribute instance to the Class identified by the given SchemaItemKey
41
- * @param classKey The SchemaItemKey identifying the schema.
42
- * @param customAttribute The CustomAttribute instance to add.
43
- */
44
- addCustomAttribute(classKey: SchemaItemKey, customAttribute: CustomAttribute): Promise<SchemaItemEditResults>;
45
- /**
46
- * Adds a CustomAttribute instance to the Property identified by the given SchemaItemKey and property name.
47
- * @param classKey The SchemaItemKey identifying the class.
48
- * @param propertyName The name of the property.
49
- * @param customAttribute The CustomAttribute instance to add.
50
- */
51
- addCustomAttributeToProperty(classKey: SchemaItemKey, propertyName: string, customAttribute: CustomAttribute): Promise<PropertyEditResults>;
52
- private getClass;
53
- private removeCustomAttribute;
54
- }
1
+ /** @packageDocumentation
2
+ * @module Editing
3
+ */
4
+ import { CustomAttribute, Enumeration, EnumerationPropertyProps, PrimitiveArrayPropertyProps, PrimitivePropertyProps, PrimitiveType, SchemaItemKey, StructArrayPropertyProps, StructClass, StructPropertyProps } from "@itwin/ecschema-metadata";
5
+ import { PropertyEditResults, SchemaContextEditor, SchemaItemEditResults } from "./Editor";
6
+ /**
7
+ * @alpha
8
+ * Acts as a base class for schema class creation. Enables property creation.
9
+ */
10
+ export declare class ECClasses {
11
+ protected _schemaEditor: SchemaContextEditor;
12
+ protected constructor(_schemaEditor: SchemaContextEditor);
13
+ /**
14
+ * Creates a property on class identified by the given SchemaItemKey. This method restricts the
15
+ * property type to primitives of type Double, String, DateTime and Integer.
16
+ * @param classKey The SchemaItemKey of the class.
17
+ * @param name The name of the new property.
18
+ * @param type The PrimitiveType assigned to the new property.
19
+ */
20
+ createProperty(classKey: SchemaItemKey, name: string, type: PrimitiveType, prefix: string): Promise<PropertyEditResults>;
21
+ /**
22
+ * Create a primitive property on class identified by the given SchemaItemKey.
23
+ * @param classKey The SchemaItemKey of the class.
24
+ * @param name The name of the new property.
25
+ * @param type The PrimitiveType assigned to the new property.
26
+ */
27
+ createPrimitiveProperty(classKey: SchemaItemKey, name: string, type: PrimitiveType): Promise<PropertyEditResults>;
28
+ createPrimitivePropertyFromProps(classKey: SchemaItemKey, name: string, type: PrimitiveType, primitiveProps: PrimitivePropertyProps): Promise<PropertyEditResults>;
29
+ createEnumerationProperty(classKey: SchemaItemKey, name: string, type: Enumeration): Promise<PropertyEditResults>;
30
+ createEnumerationPropertyFromProps(classKey: SchemaItemKey, name: string, type: Enumeration, enumProps: EnumerationPropertyProps): Promise<PropertyEditResults>;
31
+ createPrimitiveArrayProperty(classKey: SchemaItemKey, name: string, type: PrimitiveType): Promise<PropertyEditResults>;
32
+ createPrimitiveArrayPropertyFromProps(classKey: SchemaItemKey, name: string, type: PrimitiveType, primitiveProps: PrimitiveArrayPropertyProps): Promise<PropertyEditResults>;
33
+ createStructProperty(classKey: SchemaItemKey, name: string, type: StructClass): Promise<PropertyEditResults>;
34
+ createStructPropertyFromProps(classKey: SchemaItemKey, name: string, type: StructClass, structProps: StructPropertyProps): Promise<PropertyEditResults>;
35
+ createStructArrayProperty(classKey: SchemaItemKey, name: string, type: StructClass): Promise<PropertyEditResults>;
36
+ createStructArrayPropertyFromProps(classKey: SchemaItemKey, name: string, type: StructClass, structProps: StructArrayPropertyProps): Promise<PropertyEditResults>;
37
+ deleteProperty(classKey: SchemaItemKey, name: string): Promise<PropertyEditResults>;
38
+ delete(classKey: SchemaItemKey): Promise<SchemaItemEditResults>;
39
+ /**
40
+ * Adds a CustomAttribute instance to the Class identified by the given SchemaItemKey
41
+ * @param classKey The SchemaItemKey identifying the schema.
42
+ * @param customAttribute The CustomAttribute instance to add.
43
+ */
44
+ addCustomAttribute(classKey: SchemaItemKey, customAttribute: CustomAttribute): Promise<SchemaItemEditResults>;
45
+ /**
46
+ * Adds a CustomAttribute instance to the Property identified by the given SchemaItemKey and property name.
47
+ * @param classKey The SchemaItemKey identifying the class.
48
+ * @param propertyName The name of the property.
49
+ * @param customAttribute The CustomAttribute instance to add.
50
+ */
51
+ addCustomAttributeToProperty(classKey: SchemaItemKey, propertyName: string, customAttribute: CustomAttribute): Promise<PropertyEditResults>;
52
+ private getClass;
53
+ private removeCustomAttribute;
54
+ }
55
55
  //# sourceMappingURL=ECClasses.d.ts.map