@itwin/ecschema-editing 4.0.0-dev.6 → 4.0.0-dev.61

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 (104) hide show
  1. package/CHANGELOG.md +11 -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 +448 -448
  74. package/lib/cjs/Validation/ECRules.js +593 -593
  75. package/lib/cjs/Validation/LoggingDiagnosticReporter.d.ts +13 -13
  76. package/lib/cjs/Validation/LoggingDiagnosticReporter.js +40 -40
  77. package/lib/cjs/Validation/RuleSuppressionSet.d.ts +59 -59
  78. package/lib/cjs/Validation/RuleSuppressionSet.d.ts.map +1 -1
  79. package/lib/cjs/Validation/RuleSuppressionSet.js +9 -9
  80. package/lib/cjs/Validation/Rules.d.ts +64 -64
  81. package/lib/cjs/Validation/Rules.d.ts.map +1 -1
  82. package/lib/cjs/Validation/Rules.js +9 -9
  83. package/lib/cjs/Validation/SchemaChanges.d.ts +607 -607
  84. package/lib/cjs/Validation/SchemaChanges.js +1135 -1135
  85. package/lib/cjs/Validation/SchemaCompareDiagnostics.d.ts +422 -422
  86. package/lib/cjs/Validation/SchemaCompareDiagnostics.js +111 -111
  87. package/lib/cjs/Validation/SchemaCompareReporter.d.ts +11 -11
  88. package/lib/cjs/Validation/SchemaCompareReporter.js +9 -9
  89. package/lib/cjs/Validation/SchemaCompareResultDelegate.d.ts +236 -236
  90. package/lib/cjs/Validation/SchemaCompareResultDelegate.js +348 -348
  91. package/lib/cjs/Validation/SchemaCompareVisitor.d.ts +119 -119
  92. package/lib/cjs/Validation/SchemaCompareVisitor.js +206 -206
  93. package/lib/cjs/Validation/SchemaComparer.d.ts +171 -171
  94. package/lib/cjs/Validation/SchemaComparer.js +666 -666
  95. package/lib/cjs/Validation/SchemaValidater.d.ts +19 -19
  96. package/lib/cjs/Validation/SchemaValidater.js +61 -61
  97. package/lib/cjs/Validation/SchemaValidationVisitor.d.ts +170 -170
  98. package/lib/cjs/Validation/SchemaValidationVisitor.js +492 -492
  99. package/lib/cjs/Validation/SchemaWalker.d.ts +22 -22
  100. package/lib/cjs/Validation/SchemaWalker.js +51 -51
  101. package/lib/cjs/ecschema-editing.d.ts +33 -33
  102. package/lib/cjs/ecschema-editing.js +58 -54
  103. package/lib/cjs/ecschema-editing.js.map +1 -1
  104. package/package.json +12 -12
@@ -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