@itwin/ecschema-editing 4.0.0-dev.7 → 4.0.0-dev.72

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 (106) hide show
  1. package/CHANGELOG.md +41 -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/CustomAttributes.d.ts +20 -20
  5. package/lib/cjs/Editing/CustomAttributes.js +59 -59
  6. package/lib/cjs/Editing/ECClasses.d.ts +54 -54
  7. package/lib/cjs/Editing/ECClasses.js +269 -269
  8. package/lib/cjs/Editing/Editor.d.ts +112 -112
  9. package/lib/cjs/Editing/Editor.js +166 -166
  10. package/lib/cjs/Editing/Entities.d.ts +25 -25
  11. package/lib/cjs/Editing/Entities.js +116 -116
  12. package/lib/cjs/Editing/Entities.js.map +1 -1
  13. package/lib/cjs/Editing/Enumerations.d.ts +21 -21
  14. package/lib/cjs/Editing/Enumerations.js +66 -66
  15. package/lib/cjs/Editing/Formats.d.ts +21 -21
  16. package/lib/cjs/Editing/Formats.js +61 -61
  17. package/lib/cjs/Editing/InvertedUnits.d.ts +17 -17
  18. package/lib/cjs/Editing/InvertedUnits.js +82 -82
  19. package/lib/cjs/Editing/KindOfQuantities.d.ts +28 -28
  20. package/lib/cjs/Editing/KindOfQuantities.js +78 -78
  21. package/lib/cjs/Editing/Mixins.d.ts +22 -22
  22. package/lib/cjs/Editing/Mixins.js +84 -84
  23. package/lib/cjs/Editing/Mutable/MutableCAClass.d.ts +9 -9
  24. package/lib/cjs/Editing/Mutable/MutableCAClass.js +15 -15
  25. package/lib/cjs/Editing/Mutable/MutableClass.d.ts +34 -34
  26. package/lib/cjs/Editing/Mutable/MutableClass.js +22 -22
  27. package/lib/cjs/Editing/Mutable/MutableConstant.d.ts +12 -12
  28. package/lib/cjs/Editing/Mutable/MutableConstant.js +15 -15
  29. package/lib/cjs/Editing/Mutable/MutableEntityClass.d.ts +15 -15
  30. package/lib/cjs/Editing/Mutable/MutableEntityClass.js +59 -59
  31. package/lib/cjs/Editing/Mutable/MutableEnumeration.d.ts +9 -9
  32. package/lib/cjs/Editing/Mutable/MutableEnumeration.js +14 -14
  33. package/lib/cjs/Editing/Mutable/MutableFormat.d.ts +18 -18
  34. package/lib/cjs/Editing/Mutable/MutableFormat.js +15 -15
  35. package/lib/cjs/Editing/Mutable/MutableInvertedUnit.d.ts +10 -10
  36. package/lib/cjs/Editing/Mutable/MutableInvertedUnit.js +15 -15
  37. package/lib/cjs/Editing/Mutable/MutableKindOfQuantity.d.ts +10 -10
  38. package/lib/cjs/Editing/Mutable/MutableKindOfQuantity.js +15 -15
  39. package/lib/cjs/Editing/Mutable/MutableMixin.d.ts +11 -11
  40. package/lib/cjs/Editing/Mutable/MutableMixin.js +15 -15
  41. package/lib/cjs/Editing/Mutable/MutablePhenomenon.d.ts +9 -9
  42. package/lib/cjs/Editing/Mutable/MutablePhenomenon.js +15 -15
  43. package/lib/cjs/Editing/Mutable/MutableProperty.d.ts +8 -8
  44. package/lib/cjs/Editing/Mutable/MutableProperty.js +15 -15
  45. package/lib/cjs/Editing/Mutable/MutablePropertyCategory.d.ts +9 -9
  46. package/lib/cjs/Editing/Mutable/MutablePropertyCategory.js +15 -15
  47. package/lib/cjs/Editing/Mutable/MutableRelationshipClass.d.ts +21 -21
  48. package/lib/cjs/Editing/Mutable/MutableRelationshipClass.js +24 -24
  49. package/lib/cjs/Editing/Mutable/MutableSchema.d.ts +45 -45
  50. package/lib/cjs/Editing/Mutable/MutableSchema.js +17 -17
  51. package/lib/cjs/Editing/Mutable/MutableUnit.d.ts +11 -11
  52. package/lib/cjs/Editing/Mutable/MutableUnit.js +15 -15
  53. package/lib/cjs/Editing/Mutable/MutableUnitSystem.d.ts +8 -8
  54. package/lib/cjs/Editing/Mutable/MutableUnitSystem.js +15 -15
  55. package/lib/cjs/Editing/Phenomena.d.ts +15 -15
  56. package/lib/cjs/Editing/Phenomena.js +44 -44
  57. package/lib/cjs/Editing/PropertyCategories.d.ts +16 -16
  58. package/lib/cjs/Editing/PropertyCategories.js +51 -51
  59. package/lib/cjs/Editing/RelationshipClasses.d.ts +21 -21
  60. package/lib/cjs/Editing/RelationshipClasses.js +68 -68
  61. package/lib/cjs/Editing/Structs.d.ts +19 -19
  62. package/lib/cjs/Editing/Structs.js +57 -57
  63. package/lib/cjs/Editing/UnitSystems.d.ts +15 -15
  64. package/lib/cjs/Editing/UnitSystems.js +41 -41
  65. package/lib/cjs/Editing/Units.d.ts +15 -15
  66. package/lib/cjs/Editing/Units.js +58 -58
  67. package/lib/cjs/Validation/Diagnostic.d.ts +321 -321
  68. package/lib/cjs/Validation/Diagnostic.d.ts.map +1 -1
  69. package/lib/cjs/Validation/Diagnostic.js +310 -310
  70. package/lib/cjs/Validation/Diagnostic.js.map +1 -1
  71. package/lib/cjs/Validation/DiagnosticReporter.d.ts +96 -96
  72. package/lib/cjs/Validation/DiagnosticReporter.js +106 -106
  73. package/lib/cjs/Validation/ECRules.d.ts +443 -448
  74. package/lib/cjs/Validation/ECRules.d.ts.map +1 -1
  75. package/lib/cjs/Validation/ECRules.js +579 -593
  76. package/lib/cjs/Validation/ECRules.js.map +1 -1
  77. package/lib/cjs/Validation/LoggingDiagnosticReporter.d.ts +13 -13
  78. package/lib/cjs/Validation/LoggingDiagnosticReporter.js +40 -40
  79. package/lib/cjs/Validation/RuleSuppressionSet.d.ts +59 -59
  80. package/lib/cjs/Validation/RuleSuppressionSet.d.ts.map +1 -1
  81. package/lib/cjs/Validation/RuleSuppressionSet.js +9 -9
  82. package/lib/cjs/Validation/Rules.d.ts +64 -64
  83. package/lib/cjs/Validation/Rules.d.ts.map +1 -1
  84. package/lib/cjs/Validation/Rules.js +9 -9
  85. package/lib/cjs/Validation/SchemaChanges.d.ts +607 -607
  86. package/lib/cjs/Validation/SchemaChanges.js +1135 -1135
  87. package/lib/cjs/Validation/SchemaCompareDiagnostics.d.ts +422 -422
  88. package/lib/cjs/Validation/SchemaCompareDiagnostics.js +111 -111
  89. package/lib/cjs/Validation/SchemaCompareReporter.d.ts +11 -11
  90. package/lib/cjs/Validation/SchemaCompareReporter.js +9 -9
  91. package/lib/cjs/Validation/SchemaCompareResultDelegate.d.ts +236 -236
  92. package/lib/cjs/Validation/SchemaCompareResultDelegate.js +348 -348
  93. package/lib/cjs/Validation/SchemaCompareVisitor.d.ts +119 -119
  94. package/lib/cjs/Validation/SchemaCompareVisitor.js +206 -206
  95. package/lib/cjs/Validation/SchemaComparer.d.ts +171 -171
  96. package/lib/cjs/Validation/SchemaComparer.js +666 -666
  97. package/lib/cjs/Validation/SchemaValidater.d.ts +19 -19
  98. package/lib/cjs/Validation/SchemaValidater.js +61 -61
  99. package/lib/cjs/Validation/SchemaValidationVisitor.d.ts +170 -170
  100. package/lib/cjs/Validation/SchemaValidationVisitor.js +492 -492
  101. package/lib/cjs/Validation/SchemaWalker.d.ts +22 -22
  102. package/lib/cjs/Validation/SchemaWalker.js +51 -51
  103. package/lib/cjs/ecschema-editing.d.ts +33 -33
  104. package/lib/cjs/ecschema-editing.js +58 -54
  105. package/lib/cjs/ecschema-editing.js.map +1 -1
  106. package/package.json +15 -15
@@ -1,58 +1,58 @@
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.Structs = void 0;
11
- const ecschema_metadata_1 = require("@itwin/ecschema-metadata");
12
- const ECClasses_1 = require("./ECClasses");
13
- /**
14
- * @alpha A class extending ECClasses allowing you to create schema items of type StructClass.
15
- */
16
- class Structs extends ECClasses_1.ECClasses {
17
- constructor(_schemaEditor) {
18
- super(_schemaEditor);
19
- }
20
- async create(schemaKey, name, displayLabel, baseClass) {
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 newClass = (await schema.createStructClass(name));
25
- if (newClass === undefined)
26
- return { errorMessage: `Failed to create class ${name} in schema ${schemaKey.toString(true)}.` };
27
- if (baseClass !== undefined) {
28
- const baseClassItem = await schema.lookupItem(baseClass);
29
- if (baseClassItem === undefined)
30
- return { errorMessage: `Unable to locate base class ${baseClass.fullName} in schema ${schema.fullName}.` };
31
- if (baseClassItem.schemaItemType !== ecschema_metadata_1.SchemaItemType.StructClass)
32
- return { errorMessage: `${baseClassItem.fullName} is not of type Struct Class.` };
33
- newClass.baseClass = new ecschema_metadata_1.DelayedPromiseWithProps(baseClass, async () => baseClassItem);
34
- }
35
- if (displayLabel)
36
- newClass.setDisplayLabel(displayLabel);
37
- return { itemKey: newClass.key };
38
- }
39
- /**
40
- * Creates a StructClass through a StructClassProps.
41
- * @param schemaKey a SchemaKey of the Schema that will house the new object.
42
- * @param structProps a json object that will be used to populate the new StructClass. Needs a name value passed in.
43
- */
44
- async createFromProps(schemaKey, structProps) {
45
- const schema = await this._schemaEditor.getSchema(schemaKey);
46
- if (schema === undefined)
47
- return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };
48
- if (structProps.name === undefined)
49
- return { errorMessage: `No name was supplied within props.` };
50
- const newClass = (await schema.createStructClass(structProps.name));
51
- if (newClass === undefined)
52
- return { errorMessage: `Failed to create class ${structProps.name} in schema ${schemaKey.toString(true)}.` };
53
- await newClass.fromJSON(structProps);
54
- return { itemKey: newClass.key };
55
- }
56
- }
57
- exports.Structs = Structs;
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.Structs = void 0;
11
+ const ecschema_metadata_1 = require("@itwin/ecschema-metadata");
12
+ const ECClasses_1 = require("./ECClasses");
13
+ /**
14
+ * @alpha A class extending ECClasses allowing you to create schema items of type StructClass.
15
+ */
16
+ class Structs extends ECClasses_1.ECClasses {
17
+ constructor(_schemaEditor) {
18
+ super(_schemaEditor);
19
+ }
20
+ async create(schemaKey, name, displayLabel, baseClass) {
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 newClass = (await schema.createStructClass(name));
25
+ if (newClass === undefined)
26
+ return { errorMessage: `Failed to create class ${name} in schema ${schemaKey.toString(true)}.` };
27
+ if (baseClass !== undefined) {
28
+ const baseClassItem = await schema.lookupItem(baseClass);
29
+ if (baseClassItem === undefined)
30
+ return { errorMessage: `Unable to locate base class ${baseClass.fullName} in schema ${schema.fullName}.` };
31
+ if (baseClassItem.schemaItemType !== ecschema_metadata_1.SchemaItemType.StructClass)
32
+ return { errorMessage: `${baseClassItem.fullName} is not of type Struct Class.` };
33
+ newClass.baseClass = new ecschema_metadata_1.DelayedPromiseWithProps(baseClass, async () => baseClassItem);
34
+ }
35
+ if (displayLabel)
36
+ newClass.setDisplayLabel(displayLabel);
37
+ return { itemKey: newClass.key };
38
+ }
39
+ /**
40
+ * Creates a StructClass through a StructClassProps.
41
+ * @param schemaKey a SchemaKey of the Schema that will house the new object.
42
+ * @param structProps a json object that will be used to populate the new StructClass. Needs a name value passed in.
43
+ */
44
+ async createFromProps(schemaKey, structProps) {
45
+ const schema = await this._schemaEditor.getSchema(schemaKey);
46
+ if (schema === undefined)
47
+ return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };
48
+ if (structProps.name === undefined)
49
+ return { errorMessage: `No name was supplied within props.` };
50
+ const newClass = (await schema.createStructClass(structProps.name));
51
+ if (newClass === undefined)
52
+ return { errorMessage: `Failed to create class ${structProps.name} in schema ${schemaKey.toString(true)}.` };
53
+ await newClass.fromJSON(structProps);
54
+ return { itemKey: newClass.key };
55
+ }
56
+ }
57
+ exports.Structs = Structs;
58
58
  //# sourceMappingURL=Structs.js.map
@@ -1,16 +1,16 @@
1
- /** @packageDocumentation
2
- * @module Editing
3
- */
4
- import { SchemaKey, UnitSystemProps } from "@itwin/ecschema-metadata";
5
- import { SchemaContextEditor, SchemaItemEditResults } from "./Editor";
6
- /**
7
- * @alpha
8
- * A class allowing you to create schema items of type UnitSystems.
9
- */
10
- export declare class UnitSystems {
11
- protected _schemaEditor: SchemaContextEditor;
12
- constructor(_schemaEditor: SchemaContextEditor);
13
- create(schemaKey: SchemaKey, name: string, displayLabel?: string): Promise<SchemaItemEditResults>;
14
- createFromProps(schemaKey: SchemaKey, unitSystemProps: UnitSystemProps): Promise<SchemaItemEditResults>;
15
- }
1
+ /** @packageDocumentation
2
+ * @module Editing
3
+ */
4
+ import { SchemaKey, UnitSystemProps } from "@itwin/ecschema-metadata";
5
+ import { SchemaContextEditor, SchemaItemEditResults } from "./Editor";
6
+ /**
7
+ * @alpha
8
+ * A class allowing you to create schema items of type UnitSystems.
9
+ */
10
+ export declare class UnitSystems {
11
+ protected _schemaEditor: SchemaContextEditor;
12
+ constructor(_schemaEditor: SchemaContextEditor);
13
+ create(schemaKey: SchemaKey, name: string, displayLabel?: string): Promise<SchemaItemEditResults>;
14
+ createFromProps(schemaKey: SchemaKey, unitSystemProps: UnitSystemProps): Promise<SchemaItemEditResults>;
15
+ }
16
16
  //# sourceMappingURL=UnitSystems.d.ts.map
@@ -1,42 +1,42 @@
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.UnitSystems = void 0;
11
- /**
12
- * @alpha
13
- * A class allowing you to create schema items of type UnitSystems.
14
- */
15
- class UnitSystems {
16
- constructor(_schemaEditor) {
17
- this._schemaEditor = _schemaEditor;
18
- }
19
- async create(schemaKey, name, displayLabel) {
20
- const schema = await this._schemaEditor.getSchema(schemaKey);
21
- if (schema === undefined)
22
- return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };
23
- const newUnitSystem = (await schema.createUnitSystem(name));
24
- if (displayLabel)
25
- newUnitSystem.setDisplayLabel(displayLabel);
26
- return { itemKey: newUnitSystem.key };
27
- }
28
- async createFromProps(schemaKey, unitSystemProps) {
29
- const schema = await this._schemaEditor.getSchema(schemaKey);
30
- if (schema === undefined)
31
- return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };
32
- if (unitSystemProps.name === undefined)
33
- return { errorMessage: `No name was supplied within props.` };
34
- const newUnitSystem = (await schema.createUnitSystem(unitSystemProps.name));
35
- if (newUnitSystem === undefined)
36
- return { errorMessage: `Failed to create class ${unitSystemProps.name} in schema ${schemaKey.toString(true)}.` };
37
- await newUnitSystem.fromJSON(unitSystemProps);
38
- return { itemKey: newUnitSystem.key };
39
- }
40
- }
41
- exports.UnitSystems = UnitSystems;
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.UnitSystems = void 0;
11
+ /**
12
+ * @alpha
13
+ * A class allowing you to create schema items of type UnitSystems.
14
+ */
15
+ class UnitSystems {
16
+ constructor(_schemaEditor) {
17
+ this._schemaEditor = _schemaEditor;
18
+ }
19
+ async create(schemaKey, name, displayLabel) {
20
+ const schema = await this._schemaEditor.getSchema(schemaKey);
21
+ if (schema === undefined)
22
+ return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };
23
+ const newUnitSystem = (await schema.createUnitSystem(name));
24
+ if (displayLabel)
25
+ newUnitSystem.setDisplayLabel(displayLabel);
26
+ return { itemKey: newUnitSystem.key };
27
+ }
28
+ async createFromProps(schemaKey, unitSystemProps) {
29
+ const schema = await this._schemaEditor.getSchema(schemaKey);
30
+ if (schema === undefined)
31
+ return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };
32
+ if (unitSystemProps.name === undefined)
33
+ return { errorMessage: `No name was supplied within props.` };
34
+ const newUnitSystem = (await schema.createUnitSystem(unitSystemProps.name));
35
+ if (newUnitSystem === undefined)
36
+ return { errorMessage: `Failed to create class ${unitSystemProps.name} in schema ${schemaKey.toString(true)}.` };
37
+ await newUnitSystem.fromJSON(unitSystemProps);
38
+ return { itemKey: newUnitSystem.key };
39
+ }
40
+ }
41
+ exports.UnitSystems = UnitSystems;
42
42
  //# sourceMappingURL=UnitSystems.js.map
@@ -1,16 +1,16 @@
1
- /** @packageDocumentation
2
- * @module Editing
3
- */
4
- import { SchemaItemKey, SchemaKey, UnitProps } from "@itwin/ecschema-metadata";
5
- import { SchemaContextEditor, SchemaItemEditResults } from "./Editor";
6
- /**
7
- * @alpha
8
- * A class allowing you to create schema items of type Unit.
9
- */
10
- export declare class Units {
11
- protected _schemaEditor: SchemaContextEditor;
12
- constructor(_schemaEditor: SchemaContextEditor);
13
- create(schemaKey: SchemaKey, name: string, definition: string, phenomenon: SchemaItemKey, unitSystem: SchemaItemKey, displayLabel?: string): Promise<SchemaItemEditResults>;
14
- createFromProps(schemaKey: SchemaKey, unitProps: UnitProps): Promise<SchemaItemEditResults>;
15
- }
1
+ /** @packageDocumentation
2
+ * @module Editing
3
+ */
4
+ import { SchemaItemKey, SchemaKey, UnitProps } from "@itwin/ecschema-metadata";
5
+ import { SchemaContextEditor, SchemaItemEditResults } from "./Editor";
6
+ /**
7
+ * @alpha
8
+ * A class allowing you to create schema items of type Unit.
9
+ */
10
+ export declare class Units {
11
+ protected _schemaEditor: SchemaContextEditor;
12
+ constructor(_schemaEditor: SchemaContextEditor);
13
+ create(schemaKey: SchemaKey, name: string, definition: string, phenomenon: SchemaItemKey, unitSystem: SchemaItemKey, displayLabel?: string): Promise<SchemaItemEditResults>;
14
+ createFromProps(schemaKey: SchemaKey, unitProps: UnitProps): Promise<SchemaItemEditResults>;
15
+ }
16
16
  //# sourceMappingURL=Units.d.ts.map
@@ -1,59 +1,59 @@
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.Units = 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 Unit.
15
- */
16
- class Units {
17
- // TODO: Add more setters for all attributes.
18
- constructor(_schemaEditor) {
19
- this._schemaEditor = _schemaEditor;
20
- }
21
- async create(schemaKey, name, definition, phenomenon, unitSystem, displayLabel) {
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 newUnit = (await schema.createUnit(name));
26
- if (newUnit === undefined)
27
- return { errorMessage: `Failed to create class ${name} in schema ${schemaKey.toString(true)}.` };
28
- const phenomenonItem = await schema.lookupItem(phenomenon);
29
- if (phenomenonItem === undefined)
30
- return { errorMessage: `Unable to locate phenomenon ${phenomenon.fullName} in schema ${schema.fullName}.` };
31
- if (phenomenonItem.schemaItemType !== ecschema_metadata_1.SchemaItemType.Phenomenon)
32
- return { errorMessage: `${phenomenon.fullName} is not of type Phenomenon.` };
33
- await newUnit.setPhenomenon(new ecschema_metadata_1.DelayedPromiseWithProps(phenomenon, async () => phenomenonItem));
34
- const unitSystemItem = await schema.lookupItem(unitSystem);
35
- if (unitSystemItem === undefined)
36
- return { errorMessage: `Unable to locate unit system ${unitSystem.fullName} in schema ${schema.fullName}.` };
37
- if (unitSystemItem.schemaItemType !== ecschema_metadata_1.SchemaItemType.UnitSystem)
38
- return { errorMessage: `${unitSystem.fullName} is not of type UnitSystem.` };
39
- await newUnit.setUnitSystem(new ecschema_metadata_1.DelayedPromiseWithProps(unitSystem, async () => unitSystemItem));
40
- await newUnit.setDefinition(definition);
41
- if (displayLabel)
42
- newUnit.setDisplayLabel(displayLabel);
43
- return { itemKey: newUnit.key };
44
- }
45
- async createFromProps(schemaKey, unitProps) {
46
- const schema = await this._schemaEditor.getSchema(schemaKey);
47
- if (schema === undefined)
48
- return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };
49
- if (unitProps.name === undefined)
50
- return { errorMessage: `No name was supplied within props.` };
51
- const newUnit = (await schema.createUnit(unitProps.name));
52
- if (newUnit === undefined)
53
- return { errorMessage: `Failed to create class ${unitProps.name} in schema ${schemaKey.toString(true)}.` };
54
- await newUnit.fromJSON(unitProps);
55
- return { itemKey: newUnit.key };
56
- }
57
- }
58
- exports.Units = Units;
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.Units = 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 Unit.
15
+ */
16
+ class Units {
17
+ // TODO: Add more setters for all attributes.
18
+ constructor(_schemaEditor) {
19
+ this._schemaEditor = _schemaEditor;
20
+ }
21
+ async create(schemaKey, name, definition, phenomenon, unitSystem, displayLabel) {
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 newUnit = (await schema.createUnit(name));
26
+ if (newUnit === undefined)
27
+ return { errorMessage: `Failed to create class ${name} in schema ${schemaKey.toString(true)}.` };
28
+ const phenomenonItem = await schema.lookupItem(phenomenon);
29
+ if (phenomenonItem === undefined)
30
+ return { errorMessage: `Unable to locate phenomenon ${phenomenon.fullName} in schema ${schema.fullName}.` };
31
+ if (phenomenonItem.schemaItemType !== ecschema_metadata_1.SchemaItemType.Phenomenon)
32
+ return { errorMessage: `${phenomenon.fullName} is not of type Phenomenon.` };
33
+ await newUnit.setPhenomenon(new ecschema_metadata_1.DelayedPromiseWithProps(phenomenon, async () => phenomenonItem));
34
+ const unitSystemItem = await schema.lookupItem(unitSystem);
35
+ if (unitSystemItem === undefined)
36
+ return { errorMessage: `Unable to locate unit system ${unitSystem.fullName} in schema ${schema.fullName}.` };
37
+ if (unitSystemItem.schemaItemType !== ecschema_metadata_1.SchemaItemType.UnitSystem)
38
+ return { errorMessage: `${unitSystem.fullName} is not of type UnitSystem.` };
39
+ await newUnit.setUnitSystem(new ecschema_metadata_1.DelayedPromiseWithProps(unitSystem, async () => unitSystemItem));
40
+ await newUnit.setDefinition(definition);
41
+ if (displayLabel)
42
+ newUnit.setDisplayLabel(displayLabel);
43
+ return { itemKey: newUnit.key };
44
+ }
45
+ async createFromProps(schemaKey, unitProps) {
46
+ const schema = await this._schemaEditor.getSchema(schemaKey);
47
+ if (schema === undefined)
48
+ return { errorMessage: `Schema Key ${schemaKey.toString(true)} not found in context` };
49
+ if (unitProps.name === undefined)
50
+ return { errorMessage: `No name was supplied within props.` };
51
+ const newUnit = (await schema.createUnit(unitProps.name));
52
+ if (newUnit === undefined)
53
+ return { errorMessage: `Failed to create class ${unitProps.name} in schema ${schemaKey.toString(true)}.` };
54
+ await newUnit.fromJSON(unitProps);
55
+ return { itemKey: newUnit.key };
56
+ }
57
+ }
58
+ exports.Units = Units;
59
59
  //# sourceMappingURL=Units.js.map