@itwin/ecschema-metadata 4.9.0-dev.9 → 4.9.0

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.
package/CHANGELOG.md CHANGED
@@ -1,6 +1,39 @@
1
1
  # Change Log - @itwin/ecschema-metadata
2
2
 
3
- This log was last generated on Thu, 15 Aug 2024 15:35:19 GMT and should not be manually modified.
3
+ This log was last generated on Mon, 23 Sep 2024 13:44:01 GMT and should not be manually modified.
4
+
5
+ ## 4.9.0
6
+ Mon, 23 Sep 2024 13:44:01 GMT
7
+
8
+ ### Updates
9
+
10
+ - remove almost-equal dependency
11
+ - formatting tests
12
+
13
+ ## 4.8.7
14
+ Fri, 13 Sep 2024 15:11:17 GMT
15
+
16
+ _Version update only_
17
+
18
+ ## 4.8.6
19
+ Fri, 06 Sep 2024 05:06:49 GMT
20
+
21
+ _Version update only_
22
+
23
+ ## 4.8.5
24
+ Wed, 28 Aug 2024 17:27:23 GMT
25
+
26
+ _Version update only_
27
+
28
+ ## 4.8.4
29
+ Thu, 22 Aug 2024 17:37:06 GMT
30
+
31
+ _Version update only_
32
+
33
+ ## 4.8.3
34
+ Fri, 16 Aug 2024 18:18:14 GMT
35
+
36
+ _Version update only_
4
37
 
5
38
  ## 4.8.2
6
39
  Thu, 15 Aug 2024 15:33:49 GMT
@@ -135,7 +135,7 @@ var XmlSerializationUtils;
135
135
  propertyElement.textContent = propertyValue.toString();
136
136
  return;
137
137
  case ECObjects_1.PrimitiveType.DateTime:
138
- propertyElement.textContent = propertyValue.getTime().toString();
138
+ propertyElement.textContent = new Date(propertyValue).getTime().toString();
139
139
  return;
140
140
  case ECObjects_1.PrimitiveType.Point2d:
141
141
  propertyElement.textContent = `${propertyValue.x},${propertyValue.y}`;
@@ -1 +1 @@
1
- {"version":3,"file":"XmlSerializationUtils.js","sourceRoot":"","sources":["../../../src/Deserialization/XmlSerializationUtils.ts"],"names":[],"mappings":"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","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\r\nimport { PrimitiveType, primitiveTypeToString } from \"../ECObjects\";\r\nimport { ECObjectsError, ECObjectsStatus } from \"../Exception\";\r\nimport { CustomAttribute } from \"../Metadata/CustomAttribute\";\r\nimport { CustomAttributeClass } from \"../Metadata/CustomAttributeClass\";\r\nimport { ArrayProperty, EnumerationProperty, PrimitiveOrEnumPropertyBase, PrimitiveProperty, Property, StructProperty } from \"../Metadata/Property\";\r\nimport { Schema } from \"../Metadata/Schema\";\r\n\r\n/**\r\n * Namespace holding utility functions for serializing EC types to the EC XML format.\r\n * @internal\r\n */\r\nexport namespace XmlSerializationUtils {\r\n /**\r\n * Serializes a CustomAttribute instance to the EC XML format.\r\n * @param fullName The full name of the CustomAttribute (qualified by schema name).\r\n * @param customAttribute The CustomAttribute instance to serialize.\r\n * @param schemaDoc The Xml Document object holding the serialized EC Schema.\r\n * @param schema The Schema object being serialized.\r\n * @beta\r\n */\r\n export async function writeCustomAttribute(fullName: string, customAttribute: CustomAttribute, schemaDoc: Document, schema: Schema): Promise<Element> {\r\n const caClass = await schema.lookupItem(fullName) as CustomAttributeClass;\r\n if (!caClass)\r\n throw new ECObjectsError(ECObjectsStatus.ClassNotFound, `The class '${fullName}' could not be found in the current schema context.`);\r\n\r\n const nameAndNamespace = await resolveCustomAttributeNamespace(fullName, schema);\r\n const caElement = schemaDoc.createElement(nameAndNamespace[0]);\r\n\r\n if (nameAndNamespace[1])\r\n caElement.setAttribute(\"xmlns\", nameAndNamespace[1]);\r\n\r\n if (!caClass.properties)\r\n return caElement;\r\n\r\n for (const property of caClass.properties)\r\n await writeInstanceProperty(property, customAttribute, caElement, schemaDoc);\r\n\r\n return caElement;\r\n }\r\n\r\n /**\r\n * Serializes an EC Property instance to the EC XML format.\r\n * @param propertyClass The Property metadata object.\r\n * @param instance The Property instance.\r\n * @param instanceElement The XML Element that will contain the serialized property instance.\r\n * @param schemaDoc The Xml Document object holding the serialized EC Schema.\r\n * @beta\r\n */\r\n export async function writeInstanceProperty(propertyClass: Property, instance: any, instanceElement: Element, schemaDoc: Document): Promise<void> {\r\n const propertyValue = instance[propertyClass.name];\r\n if (propertyValue === undefined)\r\n return;\r\n\r\n const propertyElement = schemaDoc.createElement(propertyClass.name);\r\n instanceElement.appendChild(propertyElement);\r\n\r\n if (propertyClass.isArray()) {\r\n await writeArrayProperty(propertyClass, propertyValue, propertyElement, schemaDoc);\r\n } else if (propertyClass.isPrimitive()) {\r\n await writePrimitiveProperty(propertyClass, propertyValue, propertyElement);\r\n } else if (propertyClass.isStruct()) {\r\n await writeStructProperty(propertyClass, propertyValue, propertyElement, schemaDoc);\r\n }\r\n }\r\n\r\n /**\r\n * Serializes an EC ArrayProperty instance to the EC XML format.\r\n * @param propertyClass The Property metadata object.\r\n * @param propertyValue An array holding the property values.\r\n * @param arrayElement The XML Element that will contain the serialized property instance.\r\n * @param schemaDoc The Xml Document object holding the serialized EC Schema.\r\n * @beta\r\n */\r\n export async function writeArrayProperty(propertyClass: ArrayProperty, propertyValue: any[], arrayElement: Element, schemaDoc: Document): Promise<void> {\r\n if (propertyClass.isPrimitive()) {\r\n const typeString = primitiveTypeToString(propertyClass.primitiveType);\r\n for (const value of propertyValue) {\r\n const entryElement = schemaDoc.createElement(typeString);\r\n await writePrimitiveProperty(propertyClass, value, entryElement);\r\n arrayElement.appendChild(entryElement);\r\n }\r\n }\r\n\r\n if (propertyClass.isStruct()) {\r\n for (const value of propertyValue) {\r\n const structElement = schemaDoc.createElement(propertyClass.structClass.name);\r\n arrayElement.appendChild(structElement);\r\n await writeStructProperty(propertyClass, value, structElement, schemaDoc);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Serializes an EC StructProperty instance to the EC XML format.\r\n * @param propertyClass The Property metadata object.\r\n * @param propertyValue The struct object holding the property values.\r\n * @param structElement The XML Element that will contain the serialized property instance.\r\n * @param schemaDoc The Xml Document object holding the serialized EC Schema.\r\n * @beta\r\n */\r\n export async function writeStructProperty(propertyClass: StructProperty, propertyValue: any, structElement: Element, schemaDoc: Document): Promise<void> {\r\n const structClass = propertyClass.structClass;\r\n if (!structClass.properties)\r\n return;\r\n\r\n for (const propertyMetadata of structClass.properties)\r\n await writeInstanceProperty(propertyMetadata, propertyValue, structElement, schemaDoc);\r\n }\r\n\r\n /**\r\n * Serializes an EC PrimitiveProperty instance to the EC XML format.\r\n * @param propertyClass The Property metadata object.\r\n * @param propertyValue The struct object holding the property values.\r\n * @param propertyElement The XML Element that will contain the serialized property instance.\r\n * @beta\r\n */\r\n export async function writePrimitiveProperty(propertyClass: PrimitiveOrEnumPropertyBase, propertyValue: any, propertyElement: Element): Promise<void> {\r\n let primitiveType: PrimitiveType;\r\n if (propertyClass.isEnumeration()) {\r\n const enumeration = await (propertyClass as EnumerationProperty).enumeration;\r\n if (!enumeration)\r\n throw new ECObjectsError(ECObjectsStatus.ClassNotFound, `The enumeration on property class '${propertyClass.fullName}' could not be found in the current schema context.`);\r\n\r\n if (enumeration.type === undefined)\r\n throw new ECObjectsError(ECObjectsStatus.InvalidType, `The enumeration on property class '${propertyClass.fullName}' has an invalid primitive type.`);\r\n\r\n primitiveType = enumeration.type;\r\n } else\r\n primitiveType = (propertyClass as PrimitiveProperty).primitiveType;\r\n\r\n switch (primitiveType) {\r\n case PrimitiveType.String:\r\n propertyElement.textContent = propertyValue;\r\n return;\r\n case PrimitiveType.Boolean:\r\n propertyElement.textContent = (propertyValue as boolean) ? \"True\" : \"False\";\r\n return;\r\n case PrimitiveType.Integer:\r\n case PrimitiveType.Double:\r\n case PrimitiveType.Long:\r\n propertyElement.textContent = propertyValue.toString();\r\n return;\r\n case PrimitiveType.DateTime:\r\n propertyElement.textContent = (propertyValue as Date).getTime().toString();\r\n return;\r\n case PrimitiveType.Point2d:\r\n propertyElement.textContent = `${propertyValue.x},${propertyValue.y}`;\r\n return;\r\n case PrimitiveType.Point3d:\r\n propertyElement.textContent = `${propertyValue.x},${propertyValue.y},${propertyValue.z}`;\r\n return;\r\n case PrimitiveType.IGeometry:\r\n case PrimitiveType.Binary:\r\n propertyElement.textContent = propertyValue;\r\n return;\r\n default:\r\n throw new ECObjectsError(ECObjectsStatus.InvalidPrimitiveType, `The property '${propertyClass.fullName}' has an invalid primitive type.`);\r\n }\r\n }\r\n\r\n export function createXmlTypedName(currentSchema: Schema, typeSchema: Schema, typeName: string) {\r\n if (currentSchema.schemaKey.matches(typeSchema.schemaKey))\r\n return typeName;\r\n\r\n // Alias is required in Spec. It could be undefined (technically), so\r\n // throw until fixed.\r\n if (typeSchema.alias === undefined)\r\n throw new ECObjectsError(ECObjectsStatus.InvalidSchemaAlias, `The schema '${typeSchema.name}' has an invalid alias.`);\r\n\r\n return `${typeSchema.alias}:${typeName}`;\r\n }\r\n\r\n async function resolveCustomAttributeNamespace(caName: string, schema: Schema): Promise<[string, string | undefined]> {\r\n const nameParts = caName.split(\".\");\r\n if (nameParts.length === 1)\r\n return [caName, undefined];\r\n\r\n const attributeSchema = nameParts[0].toUpperCase() === schema.name.toUpperCase() ? schema : await schema.getReference(nameParts[0]);\r\n if (!attributeSchema)\r\n throw new ECObjectsError(ECObjectsStatus.UnableToLocateSchema, `Unable to resolve the namespace for CustomAttribute '${caName}' because the referenced schema '${nameParts[0]}' could not be located.`);\r\n\r\n return [nameParts[1], `${nameParts[0]}.${attributeSchema.schemaKey.version.toString()}`];\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"XmlSerializationUtils.js","sourceRoot":"","sources":["../../../src/Deserialization/XmlSerializationUtils.ts"],"names":[],"mappings":"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","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\r\nimport { PrimitiveType, primitiveTypeToString } from \"../ECObjects\";\r\nimport { ECObjectsError, ECObjectsStatus } from \"../Exception\";\r\nimport { CustomAttribute } from \"../Metadata/CustomAttribute\";\r\nimport { CustomAttributeClass } from \"../Metadata/CustomAttributeClass\";\r\nimport { ArrayProperty, EnumerationProperty, PrimitiveOrEnumPropertyBase, PrimitiveProperty, Property, StructProperty } from \"../Metadata/Property\";\r\nimport { Schema } from \"../Metadata/Schema\";\r\n\r\n/**\r\n * Namespace holding utility functions for serializing EC types to the EC XML format.\r\n * @internal\r\n */\r\nexport namespace XmlSerializationUtils {\r\n /**\r\n * Serializes a CustomAttribute instance to the EC XML format.\r\n * @param fullName The full name of the CustomAttribute (qualified by schema name).\r\n * @param customAttribute The CustomAttribute instance to serialize.\r\n * @param schemaDoc The Xml Document object holding the serialized EC Schema.\r\n * @param schema The Schema object being serialized.\r\n * @beta\r\n */\r\n export async function writeCustomAttribute(fullName: string, customAttribute: CustomAttribute, schemaDoc: Document, schema: Schema): Promise<Element> {\r\n const caClass = await schema.lookupItem(fullName) as CustomAttributeClass;\r\n if (!caClass)\r\n throw new ECObjectsError(ECObjectsStatus.ClassNotFound, `The class '${fullName}' could not be found in the current schema context.`);\r\n\r\n const nameAndNamespace = await resolveCustomAttributeNamespace(fullName, schema);\r\n const caElement = schemaDoc.createElement(nameAndNamespace[0]);\r\n\r\n if (nameAndNamespace[1])\r\n caElement.setAttribute(\"xmlns\", nameAndNamespace[1]);\r\n\r\n if (!caClass.properties)\r\n return caElement;\r\n\r\n for (const property of caClass.properties)\r\n await writeInstanceProperty(property, customAttribute, caElement, schemaDoc);\r\n\r\n return caElement;\r\n }\r\n\r\n /**\r\n * Serializes an EC Property instance to the EC XML format.\r\n * @param propertyClass The Property metadata object.\r\n * @param instance The Property instance.\r\n * @param instanceElement The XML Element that will contain the serialized property instance.\r\n * @param schemaDoc The Xml Document object holding the serialized EC Schema.\r\n * @beta\r\n */\r\n export async function writeInstanceProperty(propertyClass: Property, instance: any, instanceElement: Element, schemaDoc: Document): Promise<void> {\r\n const propertyValue = instance[propertyClass.name];\r\n if (propertyValue === undefined)\r\n return;\r\n\r\n const propertyElement = schemaDoc.createElement(propertyClass.name);\r\n instanceElement.appendChild(propertyElement);\r\n\r\n if (propertyClass.isArray()) {\r\n await writeArrayProperty(propertyClass, propertyValue, propertyElement, schemaDoc);\r\n } else if (propertyClass.isPrimitive()) {\r\n await writePrimitiveProperty(propertyClass, propertyValue, propertyElement);\r\n } else if (propertyClass.isStruct()) {\r\n await writeStructProperty(propertyClass, propertyValue, propertyElement, schemaDoc);\r\n }\r\n }\r\n\r\n /**\r\n * Serializes an EC ArrayProperty instance to the EC XML format.\r\n * @param propertyClass The Property metadata object.\r\n * @param propertyValue An array holding the property values.\r\n * @param arrayElement The XML Element that will contain the serialized property instance.\r\n * @param schemaDoc The Xml Document object holding the serialized EC Schema.\r\n * @beta\r\n */\r\n export async function writeArrayProperty(propertyClass: ArrayProperty, propertyValue: any[], arrayElement: Element, schemaDoc: Document): Promise<void> {\r\n if (propertyClass.isPrimitive()) {\r\n const typeString = primitiveTypeToString(propertyClass.primitiveType);\r\n for (const value of propertyValue) {\r\n const entryElement = schemaDoc.createElement(typeString);\r\n await writePrimitiveProperty(propertyClass, value, entryElement);\r\n arrayElement.appendChild(entryElement);\r\n }\r\n }\r\n\r\n if (propertyClass.isStruct()) {\r\n for (const value of propertyValue) {\r\n const structElement = schemaDoc.createElement(propertyClass.structClass.name);\r\n arrayElement.appendChild(structElement);\r\n await writeStructProperty(propertyClass, value, structElement, schemaDoc);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Serializes an EC StructProperty instance to the EC XML format.\r\n * @param propertyClass The Property metadata object.\r\n * @param propertyValue The struct object holding the property values.\r\n * @param structElement The XML Element that will contain the serialized property instance.\r\n * @param schemaDoc The Xml Document object holding the serialized EC Schema.\r\n * @beta\r\n */\r\n export async function writeStructProperty(propertyClass: StructProperty, propertyValue: any, structElement: Element, schemaDoc: Document): Promise<void> {\r\n const structClass = propertyClass.structClass;\r\n if (!structClass.properties)\r\n return;\r\n\r\n for (const propertyMetadata of structClass.properties)\r\n await writeInstanceProperty(propertyMetadata, propertyValue, structElement, schemaDoc);\r\n }\r\n\r\n /**\r\n * Serializes an EC PrimitiveProperty instance to the EC XML format.\r\n * @param propertyClass The Property metadata object.\r\n * @param propertyValue The struct object holding the property values.\r\n * @param propertyElement The XML Element that will contain the serialized property instance.\r\n * @beta\r\n */\r\n export async function writePrimitiveProperty(propertyClass: PrimitiveOrEnumPropertyBase, propertyValue: any, propertyElement: Element): Promise<void> {\r\n let primitiveType: PrimitiveType;\r\n if (propertyClass.isEnumeration()) {\r\n const enumeration = await (propertyClass as EnumerationProperty).enumeration;\r\n if (!enumeration)\r\n throw new ECObjectsError(ECObjectsStatus.ClassNotFound, `The enumeration on property class '${propertyClass.fullName}' could not be found in the current schema context.`);\r\n\r\n if (enumeration.type === undefined)\r\n throw new ECObjectsError(ECObjectsStatus.InvalidType, `The enumeration on property class '${propertyClass.fullName}' has an invalid primitive type.`);\r\n\r\n primitiveType = enumeration.type;\r\n } else\r\n primitiveType = (propertyClass as PrimitiveProperty).primitiveType;\r\n\r\n switch (primitiveType) {\r\n case PrimitiveType.String:\r\n propertyElement.textContent = propertyValue;\r\n return;\r\n case PrimitiveType.Boolean:\r\n propertyElement.textContent = (propertyValue as boolean) ? \"True\" : \"False\";\r\n return;\r\n case PrimitiveType.Integer:\r\n case PrimitiveType.Double:\r\n case PrimitiveType.Long:\r\n propertyElement.textContent = propertyValue.toString();\r\n return;\r\n case PrimitiveType.DateTime:\r\n propertyElement.textContent = new Date(propertyValue).getTime().toString();\r\n return;\r\n case PrimitiveType.Point2d:\r\n propertyElement.textContent = `${propertyValue.x},${propertyValue.y}`;\r\n return;\r\n case PrimitiveType.Point3d:\r\n propertyElement.textContent = `${propertyValue.x},${propertyValue.y},${propertyValue.z}`;\r\n return;\r\n case PrimitiveType.IGeometry:\r\n case PrimitiveType.Binary:\r\n propertyElement.textContent = propertyValue;\r\n return;\r\n default:\r\n throw new ECObjectsError(ECObjectsStatus.InvalidPrimitiveType, `The property '${propertyClass.fullName}' has an invalid primitive type.`);\r\n }\r\n }\r\n\r\n export function createXmlTypedName(currentSchema: Schema, typeSchema: Schema, typeName: string) {\r\n if (currentSchema.schemaKey.matches(typeSchema.schemaKey))\r\n return typeName;\r\n\r\n // Alias is required in Spec. It could be undefined (technically), so\r\n // throw until fixed.\r\n if (typeSchema.alias === undefined)\r\n throw new ECObjectsError(ECObjectsStatus.InvalidSchemaAlias, `The schema '${typeSchema.name}' has an invalid alias.`);\r\n\r\n return `${typeSchema.alias}:${typeName}`;\r\n }\r\n\r\n async function resolveCustomAttributeNamespace(caName: string, schema: Schema): Promise<[string, string | undefined]> {\r\n const nameParts = caName.split(\".\");\r\n if (nameParts.length === 1)\r\n return [caName, undefined];\r\n\r\n const attributeSchema = nameParts[0].toUpperCase() === schema.name.toUpperCase() ? schema : await schema.getReference(nameParts[0]);\r\n if (!attributeSchema)\r\n throw new ECObjectsError(ECObjectsStatus.UnableToLocateSchema, `Unable to resolve the namespace for CustomAttribute '${caName}' because the referenced schema '${nameParts[0]}' could not be located.`);\r\n\r\n return [nameParts[1], `${nameParts[0]}.${attributeSchema.schemaKey.version.toString()}`];\r\n }\r\n}\r\n"]}
@@ -79,6 +79,10 @@ export declare abstract class Property implements CustomAttributeContainerProps
79
79
  * @internal Used in schema editing.
80
80
  */
81
81
  protected setCategory(category: LazyLoadedPropertyCategory): void;
82
+ /**
83
+ * @internal Used in schema editing.
84
+ */
85
+ protected setKindOfQuantity(kindOfQuantity: LazyLoadedKindOfQuantity): void;
82
86
  /**
83
87
  * Retrieve all custom attributes in the current property and its base
84
88
  * This is the async version of getCustomAttributesSync()
@@ -1 +1 @@
1
- {"version":3,"file":"Property.d.ts","sourceRoot":"","sources":["../../../src/Metadata/Property.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Property.d.ts","sourceRoot":"","sources":["../../../src/Metadata/Property.ts"],"names":[],"mappings":"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"}
@@ -188,6 +188,12 @@ class Property {
188
188
  setCategory(category) {
189
189
  this._category = category;
190
190
  }
191
+ /**
192
+ * @internal Used in schema editing.
193
+ */
194
+ setKindOfQuantity(kindOfQuantity) {
195
+ this._kindOfQuantity = kindOfQuantity;
196
+ }
191
197
  /**
192
198
  * Retrieve all custom attributes in the current property and its base
193
199
  * This is the async version of getCustomAttributesSync()
@@ -1 +1 @@
1
- {"version":3,"file":"Property.js","sourceRoot":"","sources":["../../../src/Metadata/Property.ts"],"names":[],"mappings":"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","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 Metadata\r\n */\r\n\r\nimport { DelayedPromiseWithProps } from \"../DelayedPromise\";\r\nimport {\r\n ArrayPropertyProps, EnumerationPropertyProps, NavigationPropertyProps, PrimitiveArrayPropertyProps, PrimitiveOrEnumPropertyBaseProps,\r\n PrimitivePropertyProps, PropertyProps, StructPropertyProps,\r\n} from \"../Deserialization/JsonProps\";\r\nimport { XmlSerializationUtils } from \"../Deserialization/XmlSerializationUtils\";\r\nimport { parsePrimitiveType, PrimitiveType, primitiveTypeToString, StrengthDirection, strengthDirectionToString } from \"../ECObjects\";\r\nimport { ECObjectsError, ECObjectsStatus } from \"../Exception\";\r\nimport { AnyClass, LazyLoadedEnumeration, LazyLoadedKindOfQuantity, LazyLoadedPropertyCategory, LazyLoadedRelationshipClass } from \"../Interfaces\";\r\nimport { PropertyType, propertyTypeToString, PropertyTypeUtils } from \"../PropertyTypes\";\r\nimport { SchemaItemKey } from \"../SchemaKey\";\r\nimport { ECName } from \"../ECName\";\r\nimport { ECClass, StructClass } from \"./Class\";\r\nimport { CustomAttribute, CustomAttributeContainerProps, CustomAttributeSet, serializeCustomAttributes } from \"./CustomAttribute\";\r\nimport { Enumeration } from \"./Enumeration\";\r\nimport { KindOfQuantity } from \"./KindOfQuantity\";\r\nimport { PropertyCategory } from \"./PropertyCategory\";\r\nimport { RelationshipClass } from \"./RelationshipClass\";\r\nimport { Schema } from \"./Schema\";\r\n\r\n/**\r\n * A common abstract class for all ECProperty types.\r\n * @beta\r\n */\r\nexport abstract class Property implements CustomAttributeContainerProps {\r\n protected _name: ECName;\r\n protected _type: PropertyType;\r\n\r\n protected _class: AnyClass; // TODO: class seems to be unused?\r\n protected _description?: string;\r\n protected _label?: string;\r\n protected _isReadOnly?: boolean;\r\n protected _priority?: number;\r\n protected _category?: LazyLoadedPropertyCategory;\r\n protected _kindOfQuantity?: LazyLoadedKindOfQuantity;\r\n private _customAttributes?: Map<string, CustomAttribute>;\r\n\r\n constructor(ecClass: ECClass, name: string, type: PropertyType) {\r\n this._class = ecClass as AnyClass;\r\n this._name = new ECName(name);\r\n this._type = type;\r\n }\r\n\r\n public isArray(): this is AnyArrayProperty { return PropertyTypeUtils.isArray(this._type); }\r\n public isPrimitive(): this is AnyPrimitiveProperty { return PropertyTypeUtils.isPrimitive(this._type); }\r\n public isStruct(): this is AnyStructProperty { return PropertyTypeUtils.isStruct(this._type); }\r\n public isEnumeration(): this is AnyEnumerationProperty { return PropertyTypeUtils.isEnumeration(this._type); }\r\n public isNavigation(): this is NavigationProperty { return PropertyTypeUtils.isNavigation(this._type); }\r\n\r\n public get name() { return this._name.name; }\r\n\r\n public get class() { return this._class; }\r\n\r\n public get label() { return this._label; }\r\n\r\n public get description() { return this._description; }\r\n\r\n public get isReadOnly() { return this._isReadOnly || false; }\r\n\r\n public get priority() { return this._priority || 0; }\r\n\r\n public get category(): LazyLoadedPropertyCategory | undefined { return this._category; }\r\n\r\n public get kindOfQuantity(): LazyLoadedKindOfQuantity | undefined { return this._kindOfQuantity; }\r\n\r\n public get propertyType() { return this._type; }\r\n\r\n public get customAttributes(): CustomAttributeSet | undefined { return this._customAttributes; }\r\n\r\n /** Returns the name in the format 'ClassName.PropertyName'. */\r\n public get fullName(): string { return `${this._class.name}.${this.name}`; }\r\n\r\n /** Returns the schema of the class holding the property. */\r\n public get schema(): Schema { return this._class.schema; }\r\n\r\n public getCategorySync(): PropertyCategory | undefined {\r\n if (!this._category)\r\n return undefined;\r\n\r\n return this.class.schema.lookupItemSync(this._category);\r\n }\r\n\r\n public getKindOfQuantitySync(): KindOfQuantity | undefined {\r\n if (!this._kindOfQuantity)\r\n return undefined;\r\n\r\n return this.class.schema.lookupItemSync(this._kindOfQuantity);\r\n }\r\n\r\n /**\r\n * Save this Property's properties to an object for serializing to JSON.\r\n */\r\n public toJSON(): PropertyProps {\r\n const schemaJson: any = {};\r\n schemaJson.name = this.name;\r\n schemaJson.type = propertyTypeToString(this._type);\r\n if (this.description !== undefined)\r\n schemaJson.description = this.description;\r\n if (this.label !== undefined)\r\n schemaJson.label = this.label;\r\n if (this._isReadOnly !== undefined)\r\n schemaJson.isReadOnly = this._isReadOnly;\r\n if (this.category !== undefined)\r\n schemaJson.category = this.category.fullName; // needs to be fully qualified name\r\n if (this._priority !== undefined)\r\n schemaJson.priority = this._priority;\r\n if (this.kindOfQuantity !== undefined)\r\n schemaJson.kindOfQuantity = this.kindOfQuantity.fullName;\r\n const customAttributes = serializeCustomAttributes(this.customAttributes);\r\n if (customAttributes !== undefined)\r\n schemaJson.customAttributes = customAttributes;\r\n return schemaJson;\r\n }\r\n\r\n /** @internal */\r\n public async toXml(schemaXml: Document): Promise<Element> {\r\n const propType = `EC${propertyTypeToString(this._type)}`.replace(\"Primitive\", \"\");\r\n const itemElement = schemaXml.createElement(propType);\r\n itemElement.setAttribute(\"propertyName\", this.name);\r\n if (undefined !== this.description)\r\n itemElement.setAttribute(\"description\", this.description);\r\n if (undefined !== this.label)\r\n itemElement.setAttribute(\"displayLabel\", this.label);\r\n if (undefined !== this.isReadOnly)\r\n itemElement.setAttribute(\"readOnly\", String(this.isReadOnly));\r\n\r\n if (undefined !== this.category) {\r\n const category = await this.category;\r\n const categoryName = XmlSerializationUtils.createXmlTypedName(this.schema, category.schema, category.name);\r\n itemElement.setAttribute(\"category\", categoryName);\r\n }\r\n\r\n if (undefined !== this.priority)\r\n itemElement.setAttribute(\"priority\", this.priority.toString());\r\n\r\n if (undefined !== this.kindOfQuantity) {\r\n const kindOfQuantity = await this.kindOfQuantity;\r\n const kindOfQuantityName = XmlSerializationUtils.createXmlTypedName(this.schema, kindOfQuantity.schema, kindOfQuantity.name);\r\n itemElement.setAttribute(\"kindOfQuantity\", kindOfQuantityName);\r\n }\r\n\r\n if (this._customAttributes) {\r\n const caContainerElement = schemaXml.createElement(\"ECCustomAttributes\");\r\n for (const [name, attribute] of this._customAttributes) {\r\n const caElement = await XmlSerializationUtils.writeCustomAttribute(name, attribute, schemaXml, this.schema);\r\n caContainerElement.appendChild(caElement);\r\n }\r\n itemElement.appendChild(caContainerElement);\r\n }\r\n\r\n return itemElement;\r\n }\r\n\r\n public fromJSONSync(propertyProps: PropertyProps) {\r\n if (undefined !== propertyProps.label) {\r\n this._label = propertyProps.label;\r\n }\r\n\r\n if (undefined !== propertyProps.description) {\r\n this._description = propertyProps.description;\r\n }\r\n\r\n if (undefined !== propertyProps.priority) {\r\n this._priority = propertyProps.priority;\r\n }\r\n\r\n if (undefined !== propertyProps.isReadOnly) {\r\n this._isReadOnly = propertyProps.isReadOnly;\r\n }\r\n\r\n if (undefined !== propertyProps.category) {\r\n const propertyCategorySchemaItemKey = this.class.schema.getSchemaItemKey(propertyProps.category);\r\n if (!propertyCategorySchemaItemKey)\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, `The Property ${this.name} has a 'category' (\"${propertyProps.category}\") that cannot be found.`);\r\n this._category = new DelayedPromiseWithProps<SchemaItemKey, PropertyCategory>(propertyCategorySchemaItemKey,\r\n async () => {\r\n const category = await this.class.schema.lookupItem<PropertyCategory>(propertyCategorySchemaItemKey);\r\n if (undefined === category)\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, `The Property ${this.name} has a 'category' (\"${propertyProps.category}\") that cannot be found.`);\r\n return category;\r\n });\r\n }\r\n\r\n if (undefined !== propertyProps.kindOfQuantity) {\r\n const koqSchemaItemKey = this.class.schema.getSchemaItemKey(propertyProps.kindOfQuantity);\r\n if (!koqSchemaItemKey)\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, `The Property ${this.name} has a 'kindOfQuantity' (\"${propertyProps.kindOfQuantity}\") that cannot be found.`);\r\n this._kindOfQuantity = new DelayedPromiseWithProps<SchemaItemKey, KindOfQuantity>(koqSchemaItemKey,\r\n async () => {\r\n const koq = await this.class.schema.lookupItem<KindOfQuantity>(koqSchemaItemKey);\r\n if (undefined === koq)\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, `The Property ${this.name} has a 'kindOfQuantity' (\"${propertyProps.kindOfQuantity}\") that cannot be found.`);\r\n return koq;\r\n });\r\n }\r\n }\r\n\r\n public async fromJSON(propertyProps: PropertyProps) {\r\n this.fromJSONSync(propertyProps);\r\n }\r\n\r\n protected addCustomAttribute(customAttribute: CustomAttribute) {\r\n if (!this._customAttributes)\r\n this._customAttributes = new Map<string, CustomAttribute>();\r\n\r\n this._customAttributes.set(customAttribute.className, customAttribute);\r\n }\r\n\r\n protected setName(name: ECName) {\r\n this._name = name;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setDescription(description: string) {\r\n this._description = description;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setLabel(label: string) {\r\n this._label = label;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setIsReadOnly(isReadOnly: boolean) {\r\n this._isReadOnly = isReadOnly;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setPriority(priority: number) {\r\n this._priority = priority;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setCategory(category: LazyLoadedPropertyCategory) {\r\n this._category = category;\r\n }\r\n\r\n /**\r\n * Retrieve all custom attributes in the current property and its base\r\n * This is the async version of getCustomAttributesSync()\r\n */\r\n public async getCustomAttributes(): Promise<CustomAttributeSet> {\r\n return this.getCustomAttributesSync();\r\n }\r\n\r\n /**\r\n * Retrieve all custom attributes in the current property and its base.\r\n */\r\n public getCustomAttributesSync(): CustomAttributeSet {\r\n let customAttributes: Map<string, CustomAttribute> | undefined = this._customAttributes;\r\n if (undefined === customAttributes) {\r\n customAttributes = new Map<string, CustomAttribute>();\r\n }\r\n\r\n const baseProperty = this.class.getInheritedPropertySync(this.name);\r\n let baseCustomAttributes;\r\n if (undefined !== baseProperty)\r\n baseCustomAttributes = baseProperty.getCustomAttributesSync();\r\n if (undefined !== baseCustomAttributes) {\r\n customAttributes = new Map<string, CustomAttribute>([...baseCustomAttributes, ...customAttributes]);\r\n }\r\n\r\n return customAttributes;\r\n }\r\n /**\r\n * @internal\r\n */\r\n public static isProperty(object: any): object is AnyProperty {\r\n const property = object as Property;\r\n\r\n return property !== undefined && property.class !== undefined && property.name !== undefined\r\n && property.propertyType !== undefined;\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport abstract class PrimitiveOrEnumPropertyBase extends Property {\r\n protected _extendedTypeName?: string;\r\n protected _minLength?: number;\r\n protected _maxLength?: number;\r\n protected _minValue?: number;\r\n protected _maxValue?: number;\r\n\r\n public get extendedTypeName() { return this._extendedTypeName; }\r\n public get minLength() { return this._minLength; }\r\n public get maxLength() { return this._maxLength; }\r\n public get minValue() { return this._minValue; }\r\n public get maxValue() { return this._maxValue; }\r\n\r\n constructor(ecClass: ECClass, name: string, type: PropertyType) {\r\n super(ecClass, name, type);\r\n }\r\n\r\n /**\r\n * Save this PrimitiveOrEnumPropertyBase's properties to an object for serializing to JSON.\r\n */\r\n public override toJSON(): PrimitiveOrEnumPropertyBaseProps {\r\n const schemaJson = super.toJSON() as any;\r\n if (this.extendedTypeName !== undefined)\r\n schemaJson.extendedTypeName = this.extendedTypeName;\r\n if (this._minLength !== undefined)\r\n schemaJson.minLength = this.minLength;\r\n if (this._maxLength !== undefined)\r\n schemaJson.maxLength = this.maxLength;\r\n if (this._minValue !== undefined)\r\n schemaJson.minValue = this.minValue;\r\n if (this._maxValue !== undefined)\r\n schemaJson.maxValue = this.maxValue;\r\n return schemaJson;\r\n }\r\n\r\n /** @internal */\r\n public override async toXml(schemaXml: Document): Promise<Element> {\r\n const itemElement = await super.toXml(schemaXml);\r\n if (undefined !== this.extendedTypeName)\r\n itemElement.setAttribute(\"extendedTypeName\", this.extendedTypeName);\r\n if (undefined !== this.minValue)\r\n itemElement.setAttribute(\"minimumValue\", this.minValue.toString());\r\n if (undefined !== this.maxValue)\r\n itemElement.setAttribute(\"maximumValue\", this.maxValue.toString());\r\n if (undefined !== this.minLength)\r\n itemElement.setAttribute(\"minimumLength\", this.minLength.toString());\r\n if (undefined !== this.maxLength)\r\n itemElement.setAttribute(\"maximumLength\", this.maxLength.toString());\r\n\r\n return itemElement;\r\n }\r\n\r\n public override fromJSONSync(propertyBaseProps: PrimitiveOrEnumPropertyBaseProps) {\r\n super.fromJSONSync(propertyBaseProps);\r\n\r\n if (undefined !== propertyBaseProps.minLength) {\r\n this._minLength = propertyBaseProps.minLength;\r\n }\r\n\r\n if (undefined !== propertyBaseProps.maxLength) {\r\n this._maxLength = propertyBaseProps.maxLength;\r\n }\r\n\r\n if (undefined !== propertyBaseProps.minValue) {\r\n this._minValue = propertyBaseProps.minValue;\r\n }\r\n\r\n if (undefined !== propertyBaseProps.maxValue) {\r\n this._maxValue = propertyBaseProps.maxValue;\r\n }\r\n\r\n if (undefined !== propertyBaseProps.extendedTypeName) {\r\n this._extendedTypeName = propertyBaseProps.extendedTypeName;\r\n }\r\n }\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setExtendedTypeName(extendedTypeName: string) {\r\n this._extendedTypeName = extendedTypeName;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setMinLength(minLength: number) {\r\n this._minLength = minLength;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setMaxLength(maxLength: number) {\r\n this._maxLength = maxLength;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setMinValue(minValue: number) {\r\n this._minValue = minValue;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setMaxValue(maxValue: number) {\r\n this._maxValue = maxValue;\r\n }\r\n\r\n public override async fromJSON(propertyBaseProps: PrimitiveOrEnumPropertyBaseProps) {\r\n this.fromJSONSync(propertyBaseProps);\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport class PrimitiveProperty extends PrimitiveOrEnumPropertyBase {\r\n public get primitiveType(): PrimitiveType { return PropertyTypeUtils.getPrimitiveType(this._type); }\r\n\r\n constructor(ecClass: ECClass, name: string, primitiveType: PrimitiveType = PrimitiveType.Integer) {\r\n super(ecClass, name, PropertyTypeUtils.fromPrimitiveType(primitiveType));\r\n }\r\n\r\n public override fromJSONSync(primitivePropertyProps: PrimitivePropertyProps) {\r\n super.fromJSONSync(primitivePropertyProps);\r\n if (undefined !== primitivePropertyProps.typeName) {\r\n if (this.primitiveType !== parsePrimitiveType(primitivePropertyProps.typeName))\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, ``);\r\n }\r\n }\r\n\r\n public override async fromJSON(primitivePropertyProps: PrimitivePropertyProps) {\r\n this.fromJSONSync(primitivePropertyProps);\r\n }\r\n\r\n /**\r\n * Save this PrimitiveProperty's properties to an object for serializing to JSON.\r\n */\r\n public override toJSON(): PrimitivePropertyProps {\r\n const schemaJson = super.toJSON() as any;\r\n schemaJson.typeName = primitiveTypeToString(this.primitiveType);\r\n return schemaJson;\r\n }\r\n\r\n /** @internal */\r\n public override async toXml(schemaXml: Document): Promise<Element> {\r\n const itemElement = await super.toXml(schemaXml);\r\n itemElement.setAttribute(\"typeName\", primitiveTypeToString(this.primitiveType));\r\n return itemElement;\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport class EnumerationProperty extends PrimitiveOrEnumPropertyBase {\r\n protected _enumeration?: LazyLoadedEnumeration;\r\n\r\n public get enumeration(): LazyLoadedEnumeration | undefined { return this._enumeration; }\r\n\r\n /**\r\n * Save this EnumerationProperty's properties to an object for serializing to JSON.\r\n */\r\n public override toJSON(): EnumerationPropertyProps {\r\n const schemaJson = super.toJSON() as any;\r\n schemaJson.typeName = this.enumeration!.fullName;\r\n return schemaJson;\r\n }\r\n\r\n constructor(ecClass: ECClass, name: string, type: LazyLoadedEnumeration) {\r\n // TODO: Should we allow specifying the backing type?\r\n super(ecClass, name, PropertyType.Integer_Enumeration);\r\n this._enumeration = type;\r\n }\r\n\r\n public override fromJSONSync(enumerationPropertyProps: EnumerationPropertyProps) {\r\n super.fromJSONSync(enumerationPropertyProps);\r\n if (undefined !== enumerationPropertyProps.typeName) {\r\n if (!(this.enumeration!.fullName).match(enumerationPropertyProps.typeName)) // need to match {schema}.{version}.{itemName} on typeName\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, ``);\r\n const enumSchemaItemKey = this.class.schema.getSchemaItemKey(this.enumeration!.fullName);\r\n if (!enumSchemaItemKey)\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, `Unable to locate the enumeration ${enumerationPropertyProps.typeName}.`);\r\n this._enumeration = new DelayedPromiseWithProps<SchemaItemKey, Enumeration>(enumSchemaItemKey,\r\n async () => {\r\n const enumeration = await this.class.schema.lookupItem<Enumeration>(enumSchemaItemKey);\r\n if (undefined === enumeration)\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, `Unable to locate the enumeration ${enumerationPropertyProps.typeName}.`);\r\n return enumeration;\r\n });\r\n }\r\n }\r\n\r\n /** @internal */\r\n public override async toXml(schemaXml: Document): Promise<Element> {\r\n const itemElement = await super.toXml(schemaXml);\r\n const enumeration = await this.enumeration;\r\n const enumerationName = XmlSerializationUtils.createXmlTypedName(this.schema, enumeration!.schema, enumeration!.name);\r\n itemElement.setAttribute(\"typeName\", enumerationName);\r\n return itemElement;\r\n }\r\n\r\n public override async fromJSON(enumerationPropertyProps: EnumerationPropertyProps) {\r\n this.fromJSONSync(enumerationPropertyProps);\r\n }\r\n\r\n}\r\n\r\n/** @beta */\r\nexport class StructProperty extends Property {\r\n protected _structClass: StructClass;\r\n\r\n public get structClass(): StructClass { return this._structClass; }\r\n\r\n constructor(ecClass: ECClass, name: string, type: StructClass) {\r\n super(ecClass, name, PropertyType.Struct);\r\n this._structClass = type;\r\n }\r\n\r\n /**\r\n * Save this StructProperty's properties to an object for serializing to JSON.\r\n */\r\n public override toJSON(): StructPropertyProps {\r\n const schemaJson = super.toJSON() as any;\r\n schemaJson.typeName = this.structClass.fullName;\r\n return schemaJson;\r\n }\r\n\r\n /** @internal */\r\n public override async toXml(schemaXml: Document): Promise<Element> {\r\n const itemElement = await super.toXml(schemaXml);\r\n const structClassName = XmlSerializationUtils.createXmlTypedName(this.schema, this.structClass.schema, this.structClass.name);\r\n itemElement.setAttribute(\"typeName\", structClassName);\r\n return itemElement;\r\n }\r\n\r\n public override fromJSONSync(structPropertyProps: StructPropertyProps) {\r\n super.fromJSONSync(structPropertyProps);\r\n if (undefined !== structPropertyProps.typeName) {\r\n if (!this.structClass.key.matchesFullName(structPropertyProps.typeName))\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, ``);\r\n }\r\n }\r\n\r\n public override async fromJSON(structPropertyProps: StructPropertyProps) {\r\n this.fromJSONSync(structPropertyProps);\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport class NavigationProperty extends Property {\r\n protected _relationshipClass: LazyLoadedRelationshipClass;\r\n protected _direction: StrengthDirection;\r\n\r\n public get relationshipClass(): LazyLoadedRelationshipClass { return this._relationshipClass; }\r\n\r\n public getRelationshipClassSync(): RelationshipClass | undefined {\r\n if (!this._relationshipClass) // eslint-disable-line @typescript-eslint/no-misused-promises\r\n return undefined;\r\n\r\n return this.class.schema.lookupItemSync(this._relationshipClass);\r\n }\r\n\r\n public get direction() { return this._direction; }\r\n\r\n /**\r\n * Save this NavigationProperty's properties to an object for serializing to JSON.\r\n */\r\n public override toJSON(): NavigationPropertyProps {\r\n const schemaJson = super.toJSON() as any;\r\n schemaJson.relationshipName = this.relationshipClass.fullName;\r\n schemaJson.direction = strengthDirectionToString(this.direction);\r\n return schemaJson;\r\n }\r\n\r\n /** @internal */\r\n public override async toXml(schemaXml: Document): Promise<Element> {\r\n const itemElement = await super.toXml(schemaXml);\r\n const relationshipClass = await this.relationshipClass;\r\n const relationshipClassName = XmlSerializationUtils.createXmlTypedName(this.schema, relationshipClass.schema, relationshipClass.name);\r\n itemElement.setAttribute(\"relationshipName\", relationshipClassName);\r\n itemElement.setAttribute(\"direction\", strengthDirectionToString(this.direction));\r\n\r\n return itemElement;\r\n }\r\n\r\n constructor(ecClass: ECClass, name: string, relationship: LazyLoadedRelationshipClass, direction?: StrengthDirection) {\r\n super(ecClass, name, PropertyType.Navigation);\r\n this._relationshipClass = relationship;\r\n\r\n this._direction = (direction !== undefined) ? direction : StrengthDirection.Forward;\r\n }\r\n}\r\n\r\ntype Constructor<T> = new (...args: any[]) => T;\r\n\r\n// TODO: Consolidate all of the INT32_MAX variables.\r\nconst INT32_MAX = 2147483647;\r\n\r\n/** @beta */\r\nexport abstract class ArrayProperty extends Property {\r\n protected _minOccurs: number = 0;\r\n protected _maxOccurs?: number = INT32_MAX;\r\n\r\n public get minOccurs() { return this._minOccurs; }\r\n public get maxOccurs() { return this._maxOccurs; }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setMinOccurs(minOccurs: number) {\r\n this._minOccurs = minOccurs;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setMaxOccurs(maxOccurs: number) {\r\n this._maxOccurs = maxOccurs;\r\n }\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nconst ArrayPropertyMixin = <T extends Constructor<Property>>(Base: T) => {\r\n return class extends Base {\r\n protected _minOccurs: number = 0;\r\n protected _maxOccurs: number = INT32_MAX;\r\n\r\n public get minOccurs() { return this._minOccurs; }\r\n public get maxOccurs() { return this._maxOccurs; }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n this._type = PropertyTypeUtils.asArray(this._type);\r\n }\r\n\r\n public override fromJSONSync(arrayPropertyProps: PrimitiveArrayPropertyProps) {\r\n super.fromJSONSync(arrayPropertyProps);\r\n if (undefined !== arrayPropertyProps.minOccurs) {\r\n this._minOccurs = arrayPropertyProps.minOccurs;\r\n }\r\n\r\n if (undefined !== arrayPropertyProps.maxOccurs) {\r\n this._maxOccurs = arrayPropertyProps.maxOccurs;\r\n }\r\n }\r\n\r\n public override async fromJSON(arrayPropertyProps: PrimitiveArrayPropertyProps) {\r\n this.fromJSONSync(arrayPropertyProps);\r\n }\r\n\r\n /**\r\n * Save this ArrayProperty's properties to an object for serializing to JSON.\r\n */\r\n public override toJSON(): ArrayPropertyProps {\r\n const schemaJson = super.toJSON() as any;\r\n schemaJson.minOccurs = this.minOccurs;\r\n if (this.maxOccurs !== undefined)\r\n schemaJson.maxOccurs = this.maxOccurs;\r\n return schemaJson;\r\n }\r\n\r\n /** @internal */\r\n public override async toXml(schemaXml: Document): Promise<Element> {\r\n const itemElement = await super.toXml(schemaXml);\r\n itemElement.setAttribute(\"minOccurs\", this.minOccurs.toString());\r\n if (this.maxOccurs)\r\n itemElement.setAttribute(\"maxOccurs\", this.maxOccurs.toString());\r\n\r\n return itemElement;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setMinOccurs(minOccurs: number) {\r\n this._minOccurs = minOccurs;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setMaxOccurs(maxOccurs: number) {\r\n this._maxOccurs = maxOccurs;\r\n }\r\n } as Constructor<Property> as typeof Base & Constructor<ArrayProperty>;\r\n};\r\n\r\n/** @beta */\r\nexport class PrimitiveArrayProperty extends ArrayPropertyMixin(PrimitiveProperty) {\r\n constructor(ecClass: ECClass, name: string, primitiveType: PrimitiveType = PrimitiveType.Integer) {\r\n super(ecClass, name, primitiveType);\r\n }\r\n\r\n /**\r\n * Save this PrimitiveArrayProperty's properties to an object for serializing to JSON.\r\n */\r\n public override toJSON(): PrimitiveArrayPropertyProps {\r\n return super.toJSON();\r\n }\r\n\r\n}\r\n\r\n/** @beta */\r\nexport class EnumerationArrayProperty extends ArrayPropertyMixin(EnumerationProperty) {\r\n constructor(ecClass: ECClass, name: string, type: LazyLoadedEnumeration) {\r\n super(ecClass, name, type);\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport class StructArrayProperty extends ArrayPropertyMixin(StructProperty) {\r\n constructor(ecClass: ECClass, name: string, type: StructClass) {\r\n super(ecClass, name, type);\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport type AnyArrayProperty = PrimitiveArrayProperty | EnumerationArrayProperty | StructArrayProperty;\r\n/** @beta */\r\nexport type AnyPrimitiveProperty = PrimitiveProperty | PrimitiveArrayProperty;\r\n/** @beta */\r\nexport type AnyEnumerationProperty = EnumerationProperty | EnumerationArrayProperty;\r\n/** @beta */\r\nexport type AnyStructProperty = StructProperty | StructArrayProperty;\r\n/** @beta */\r\nexport type AnyProperty = AnyPrimitiveProperty | AnyEnumerationProperty | AnyStructProperty | NavigationProperty;\r\n\r\n/**\r\n * Hackish approach that works like a \"friend class\" so we can access protected members without making them public.\r\n * @internal\r\n */\r\nexport abstract class MutableProperty extends Property {\r\n public abstract override addCustomAttribute(customAttribute: CustomAttribute): void;\r\n}\r\n"]}
1
+ {"version":3,"file":"Property.js","sourceRoot":"","sources":["../../../src/Metadata/Property.ts"],"names":[],"mappings":"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","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 Metadata\r\n */\r\n\r\nimport { DelayedPromiseWithProps } from \"../DelayedPromise\";\r\nimport {\r\n ArrayPropertyProps, EnumerationPropertyProps, NavigationPropertyProps, PrimitiveArrayPropertyProps, PrimitiveOrEnumPropertyBaseProps,\r\n PrimitivePropertyProps, PropertyProps, StructPropertyProps,\r\n} from \"../Deserialization/JsonProps\";\r\nimport { XmlSerializationUtils } from \"../Deserialization/XmlSerializationUtils\";\r\nimport { parsePrimitiveType, PrimitiveType, primitiveTypeToString, StrengthDirection, strengthDirectionToString } from \"../ECObjects\";\r\nimport { ECObjectsError, ECObjectsStatus } from \"../Exception\";\r\nimport { AnyClass, LazyLoadedEnumeration, LazyLoadedKindOfQuantity, LazyLoadedPropertyCategory, LazyLoadedRelationshipClass } from \"../Interfaces\";\r\nimport { PropertyType, propertyTypeToString, PropertyTypeUtils } from \"../PropertyTypes\";\r\nimport { SchemaItemKey } from \"../SchemaKey\";\r\nimport { ECName } from \"../ECName\";\r\nimport { ECClass, StructClass } from \"./Class\";\r\nimport { CustomAttribute, CustomAttributeContainerProps, CustomAttributeSet, serializeCustomAttributes } from \"./CustomAttribute\";\r\nimport { Enumeration } from \"./Enumeration\";\r\nimport { KindOfQuantity } from \"./KindOfQuantity\";\r\nimport { PropertyCategory } from \"./PropertyCategory\";\r\nimport { RelationshipClass } from \"./RelationshipClass\";\r\nimport { Schema } from \"./Schema\";\r\n\r\n/**\r\n * A common abstract class for all ECProperty types.\r\n * @beta\r\n */\r\nexport abstract class Property implements CustomAttributeContainerProps {\r\n protected _name: ECName;\r\n protected _type: PropertyType;\r\n\r\n protected _class: AnyClass; // TODO: class seems to be unused?\r\n protected _description?: string;\r\n protected _label?: string;\r\n protected _isReadOnly?: boolean;\r\n protected _priority?: number;\r\n protected _category?: LazyLoadedPropertyCategory;\r\n protected _kindOfQuantity?: LazyLoadedKindOfQuantity;\r\n private _customAttributes?: Map<string, CustomAttribute>;\r\n\r\n constructor(ecClass: ECClass, name: string, type: PropertyType) {\r\n this._class = ecClass as AnyClass;\r\n this._name = new ECName(name);\r\n this._type = type;\r\n }\r\n\r\n public isArray(): this is AnyArrayProperty { return PropertyTypeUtils.isArray(this._type); }\r\n public isPrimitive(): this is AnyPrimitiveProperty { return PropertyTypeUtils.isPrimitive(this._type); }\r\n public isStruct(): this is AnyStructProperty { return PropertyTypeUtils.isStruct(this._type); }\r\n public isEnumeration(): this is AnyEnumerationProperty { return PropertyTypeUtils.isEnumeration(this._type); }\r\n public isNavigation(): this is NavigationProperty { return PropertyTypeUtils.isNavigation(this._type); }\r\n\r\n public get name() { return this._name.name; }\r\n\r\n public get class() { return this._class; }\r\n\r\n public get label() { return this._label; }\r\n\r\n public get description() { return this._description; }\r\n\r\n public get isReadOnly() { return this._isReadOnly || false; }\r\n\r\n public get priority() { return this._priority || 0; }\r\n\r\n public get category(): LazyLoadedPropertyCategory | undefined { return this._category; }\r\n\r\n public get kindOfQuantity(): LazyLoadedKindOfQuantity | undefined { return this._kindOfQuantity; }\r\n\r\n public get propertyType() { return this._type; }\r\n\r\n public get customAttributes(): CustomAttributeSet | undefined { return this._customAttributes; }\r\n\r\n /** Returns the name in the format 'ClassName.PropertyName'. */\r\n public get fullName(): string { return `${this._class.name}.${this.name}`; }\r\n\r\n /** Returns the schema of the class holding the property. */\r\n public get schema(): Schema { return this._class.schema; }\r\n\r\n public getCategorySync(): PropertyCategory | undefined {\r\n if (!this._category)\r\n return undefined;\r\n\r\n return this.class.schema.lookupItemSync(this._category);\r\n }\r\n\r\n public getKindOfQuantitySync(): KindOfQuantity | undefined {\r\n if (!this._kindOfQuantity)\r\n return undefined;\r\n\r\n return this.class.schema.lookupItemSync(this._kindOfQuantity);\r\n }\r\n\r\n /**\r\n * Save this Property's properties to an object for serializing to JSON.\r\n */\r\n public toJSON(): PropertyProps {\r\n const schemaJson: any = {};\r\n schemaJson.name = this.name;\r\n schemaJson.type = propertyTypeToString(this._type);\r\n if (this.description !== undefined)\r\n schemaJson.description = this.description;\r\n if (this.label !== undefined)\r\n schemaJson.label = this.label;\r\n if (this._isReadOnly !== undefined)\r\n schemaJson.isReadOnly = this._isReadOnly;\r\n if (this.category !== undefined)\r\n schemaJson.category = this.category.fullName; // needs to be fully qualified name\r\n if (this._priority !== undefined)\r\n schemaJson.priority = this._priority;\r\n if (this.kindOfQuantity !== undefined)\r\n schemaJson.kindOfQuantity = this.kindOfQuantity.fullName;\r\n const customAttributes = serializeCustomAttributes(this.customAttributes);\r\n if (customAttributes !== undefined)\r\n schemaJson.customAttributes = customAttributes;\r\n return schemaJson;\r\n }\r\n\r\n /** @internal */\r\n public async toXml(schemaXml: Document): Promise<Element> {\r\n const propType = `EC${propertyTypeToString(this._type)}`.replace(\"Primitive\", \"\");\r\n const itemElement = schemaXml.createElement(propType);\r\n itemElement.setAttribute(\"propertyName\", this.name);\r\n if (undefined !== this.description)\r\n itemElement.setAttribute(\"description\", this.description);\r\n if (undefined !== this.label)\r\n itemElement.setAttribute(\"displayLabel\", this.label);\r\n if (undefined !== this.isReadOnly)\r\n itemElement.setAttribute(\"readOnly\", String(this.isReadOnly));\r\n\r\n if (undefined !== this.category) {\r\n const category = await this.category;\r\n const categoryName = XmlSerializationUtils.createXmlTypedName(this.schema, category.schema, category.name);\r\n itemElement.setAttribute(\"category\", categoryName);\r\n }\r\n\r\n if (undefined !== this.priority)\r\n itemElement.setAttribute(\"priority\", this.priority.toString());\r\n\r\n if (undefined !== this.kindOfQuantity) {\r\n const kindOfQuantity = await this.kindOfQuantity;\r\n const kindOfQuantityName = XmlSerializationUtils.createXmlTypedName(this.schema, kindOfQuantity.schema, kindOfQuantity.name);\r\n itemElement.setAttribute(\"kindOfQuantity\", kindOfQuantityName);\r\n }\r\n\r\n if (this._customAttributes) {\r\n const caContainerElement = schemaXml.createElement(\"ECCustomAttributes\");\r\n for (const [name, attribute] of this._customAttributes) {\r\n const caElement = await XmlSerializationUtils.writeCustomAttribute(name, attribute, schemaXml, this.schema);\r\n caContainerElement.appendChild(caElement);\r\n }\r\n itemElement.appendChild(caContainerElement);\r\n }\r\n\r\n return itemElement;\r\n }\r\n\r\n public fromJSONSync(propertyProps: PropertyProps) {\r\n if (undefined !== propertyProps.label) {\r\n this._label = propertyProps.label;\r\n }\r\n\r\n if (undefined !== propertyProps.description) {\r\n this._description = propertyProps.description;\r\n }\r\n\r\n if (undefined !== propertyProps.priority) {\r\n this._priority = propertyProps.priority;\r\n }\r\n\r\n if (undefined !== propertyProps.isReadOnly) {\r\n this._isReadOnly = propertyProps.isReadOnly;\r\n }\r\n\r\n if (undefined !== propertyProps.category) {\r\n const propertyCategorySchemaItemKey = this.class.schema.getSchemaItemKey(propertyProps.category);\r\n if (!propertyCategorySchemaItemKey)\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, `The Property ${this.name} has a 'category' (\"${propertyProps.category}\") that cannot be found.`);\r\n this._category = new DelayedPromiseWithProps<SchemaItemKey, PropertyCategory>(propertyCategorySchemaItemKey,\r\n async () => {\r\n const category = await this.class.schema.lookupItem<PropertyCategory>(propertyCategorySchemaItemKey);\r\n if (undefined === category)\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, `The Property ${this.name} has a 'category' (\"${propertyProps.category}\") that cannot be found.`);\r\n return category;\r\n });\r\n }\r\n\r\n if (undefined !== propertyProps.kindOfQuantity) {\r\n const koqSchemaItemKey = this.class.schema.getSchemaItemKey(propertyProps.kindOfQuantity);\r\n if (!koqSchemaItemKey)\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, `The Property ${this.name} has a 'kindOfQuantity' (\"${propertyProps.kindOfQuantity}\") that cannot be found.`);\r\n this._kindOfQuantity = new DelayedPromiseWithProps<SchemaItemKey, KindOfQuantity>(koqSchemaItemKey,\r\n async () => {\r\n const koq = await this.class.schema.lookupItem<KindOfQuantity>(koqSchemaItemKey);\r\n if (undefined === koq)\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, `The Property ${this.name} has a 'kindOfQuantity' (\"${propertyProps.kindOfQuantity}\") that cannot be found.`);\r\n return koq;\r\n });\r\n }\r\n }\r\n\r\n public async fromJSON(propertyProps: PropertyProps) {\r\n this.fromJSONSync(propertyProps);\r\n }\r\n\r\n protected addCustomAttribute(customAttribute: CustomAttribute) {\r\n if (!this._customAttributes)\r\n this._customAttributes = new Map<string, CustomAttribute>();\r\n\r\n this._customAttributes.set(customAttribute.className, customAttribute);\r\n }\r\n\r\n protected setName(name: ECName) {\r\n this._name = name;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setDescription(description: string) {\r\n this._description = description;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setLabel(label: string) {\r\n this._label = label;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setIsReadOnly(isReadOnly: boolean) {\r\n this._isReadOnly = isReadOnly;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setPriority(priority: number) {\r\n this._priority = priority;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setCategory(category: LazyLoadedPropertyCategory) {\r\n this._category = category;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setKindOfQuantity(kindOfQuantity: LazyLoadedKindOfQuantity) {\r\n this._kindOfQuantity = kindOfQuantity;\r\n }\r\n\r\n /**\r\n * Retrieve all custom attributes in the current property and its base\r\n * This is the async version of getCustomAttributesSync()\r\n */\r\n public async getCustomAttributes(): Promise<CustomAttributeSet> {\r\n return this.getCustomAttributesSync();\r\n }\r\n\r\n /**\r\n * Retrieve all custom attributes in the current property and its base.\r\n */\r\n public getCustomAttributesSync(): CustomAttributeSet {\r\n let customAttributes: Map<string, CustomAttribute> | undefined = this._customAttributes;\r\n if (undefined === customAttributes) {\r\n customAttributes = new Map<string, CustomAttribute>();\r\n }\r\n\r\n const baseProperty = this.class.getInheritedPropertySync(this.name);\r\n let baseCustomAttributes;\r\n if (undefined !== baseProperty)\r\n baseCustomAttributes = baseProperty.getCustomAttributesSync();\r\n if (undefined !== baseCustomAttributes) {\r\n customAttributes = new Map<string, CustomAttribute>([...baseCustomAttributes, ...customAttributes]);\r\n }\r\n\r\n return customAttributes;\r\n }\r\n /**\r\n * @internal\r\n */\r\n public static isProperty(object: any): object is AnyProperty {\r\n const property = object as Property;\r\n\r\n return property !== undefined && property.class !== undefined && property.name !== undefined\r\n && property.propertyType !== undefined;\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport abstract class PrimitiveOrEnumPropertyBase extends Property {\r\n protected _extendedTypeName?: string;\r\n protected _minLength?: number;\r\n protected _maxLength?: number;\r\n protected _minValue?: number;\r\n protected _maxValue?: number;\r\n\r\n public get extendedTypeName() { return this._extendedTypeName; }\r\n public get minLength() { return this._minLength; }\r\n public get maxLength() { return this._maxLength; }\r\n public get minValue() { return this._minValue; }\r\n public get maxValue() { return this._maxValue; }\r\n\r\n constructor(ecClass: ECClass, name: string, type: PropertyType) {\r\n super(ecClass, name, type);\r\n }\r\n\r\n /**\r\n * Save this PrimitiveOrEnumPropertyBase's properties to an object for serializing to JSON.\r\n */\r\n public override toJSON(): PrimitiveOrEnumPropertyBaseProps {\r\n const schemaJson = super.toJSON() as any;\r\n if (this.extendedTypeName !== undefined)\r\n schemaJson.extendedTypeName = this.extendedTypeName;\r\n if (this._minLength !== undefined)\r\n schemaJson.minLength = this.minLength;\r\n if (this._maxLength !== undefined)\r\n schemaJson.maxLength = this.maxLength;\r\n if (this._minValue !== undefined)\r\n schemaJson.minValue = this.minValue;\r\n if (this._maxValue !== undefined)\r\n schemaJson.maxValue = this.maxValue;\r\n return schemaJson;\r\n }\r\n\r\n /** @internal */\r\n public override async toXml(schemaXml: Document): Promise<Element> {\r\n const itemElement = await super.toXml(schemaXml);\r\n if (undefined !== this.extendedTypeName)\r\n itemElement.setAttribute(\"extendedTypeName\", this.extendedTypeName);\r\n if (undefined !== this.minValue)\r\n itemElement.setAttribute(\"minimumValue\", this.minValue.toString());\r\n if (undefined !== this.maxValue)\r\n itemElement.setAttribute(\"maximumValue\", this.maxValue.toString());\r\n if (undefined !== this.minLength)\r\n itemElement.setAttribute(\"minimumLength\", this.minLength.toString());\r\n if (undefined !== this.maxLength)\r\n itemElement.setAttribute(\"maximumLength\", this.maxLength.toString());\r\n\r\n return itemElement;\r\n }\r\n\r\n public override fromJSONSync(propertyBaseProps: PrimitiveOrEnumPropertyBaseProps) {\r\n super.fromJSONSync(propertyBaseProps);\r\n\r\n if (undefined !== propertyBaseProps.minLength) {\r\n this._minLength = propertyBaseProps.minLength;\r\n }\r\n\r\n if (undefined !== propertyBaseProps.maxLength) {\r\n this._maxLength = propertyBaseProps.maxLength;\r\n }\r\n\r\n if (undefined !== propertyBaseProps.minValue) {\r\n this._minValue = propertyBaseProps.minValue;\r\n }\r\n\r\n if (undefined !== propertyBaseProps.maxValue) {\r\n this._maxValue = propertyBaseProps.maxValue;\r\n }\r\n\r\n if (undefined !== propertyBaseProps.extendedTypeName) {\r\n this._extendedTypeName = propertyBaseProps.extendedTypeName;\r\n }\r\n }\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setExtendedTypeName(extendedTypeName: string) {\r\n this._extendedTypeName = extendedTypeName;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setMinLength(minLength: number) {\r\n this._minLength = minLength;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setMaxLength(maxLength: number) {\r\n this._maxLength = maxLength;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setMinValue(minValue: number) {\r\n this._minValue = minValue;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setMaxValue(maxValue: number) {\r\n this._maxValue = maxValue;\r\n }\r\n\r\n public override async fromJSON(propertyBaseProps: PrimitiveOrEnumPropertyBaseProps) {\r\n this.fromJSONSync(propertyBaseProps);\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport class PrimitiveProperty extends PrimitiveOrEnumPropertyBase {\r\n public get primitiveType(): PrimitiveType { return PropertyTypeUtils.getPrimitiveType(this._type); }\r\n\r\n constructor(ecClass: ECClass, name: string, primitiveType: PrimitiveType = PrimitiveType.Integer) {\r\n super(ecClass, name, PropertyTypeUtils.fromPrimitiveType(primitiveType));\r\n }\r\n\r\n public override fromJSONSync(primitivePropertyProps: PrimitivePropertyProps) {\r\n super.fromJSONSync(primitivePropertyProps);\r\n if (undefined !== primitivePropertyProps.typeName) {\r\n if (this.primitiveType !== parsePrimitiveType(primitivePropertyProps.typeName))\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, ``);\r\n }\r\n }\r\n\r\n public override async fromJSON(primitivePropertyProps: PrimitivePropertyProps) {\r\n this.fromJSONSync(primitivePropertyProps);\r\n }\r\n\r\n /**\r\n * Save this PrimitiveProperty's properties to an object for serializing to JSON.\r\n */\r\n public override toJSON(): PrimitivePropertyProps {\r\n const schemaJson = super.toJSON() as any;\r\n schemaJson.typeName = primitiveTypeToString(this.primitiveType);\r\n return schemaJson;\r\n }\r\n\r\n /** @internal */\r\n public override async toXml(schemaXml: Document): Promise<Element> {\r\n const itemElement = await super.toXml(schemaXml);\r\n itemElement.setAttribute(\"typeName\", primitiveTypeToString(this.primitiveType));\r\n return itemElement;\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport class EnumerationProperty extends PrimitiveOrEnumPropertyBase {\r\n protected _enumeration?: LazyLoadedEnumeration;\r\n\r\n public get enumeration(): LazyLoadedEnumeration | undefined { return this._enumeration; }\r\n\r\n /**\r\n * Save this EnumerationProperty's properties to an object for serializing to JSON.\r\n */\r\n public override toJSON(): EnumerationPropertyProps {\r\n const schemaJson = super.toJSON() as any;\r\n schemaJson.typeName = this.enumeration!.fullName;\r\n return schemaJson;\r\n }\r\n\r\n constructor(ecClass: ECClass, name: string, type: LazyLoadedEnumeration) {\r\n // TODO: Should we allow specifying the backing type?\r\n super(ecClass, name, PropertyType.Integer_Enumeration);\r\n this._enumeration = type;\r\n }\r\n\r\n public override fromJSONSync(enumerationPropertyProps: EnumerationPropertyProps) {\r\n super.fromJSONSync(enumerationPropertyProps);\r\n if (undefined !== enumerationPropertyProps.typeName) {\r\n if (!(this.enumeration!.fullName).match(enumerationPropertyProps.typeName)) // need to match {schema}.{version}.{itemName} on typeName\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, ``);\r\n const enumSchemaItemKey = this.class.schema.getSchemaItemKey(this.enumeration!.fullName);\r\n if (!enumSchemaItemKey)\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, `Unable to locate the enumeration ${enumerationPropertyProps.typeName}.`);\r\n this._enumeration = new DelayedPromiseWithProps<SchemaItemKey, Enumeration>(enumSchemaItemKey,\r\n async () => {\r\n const enumeration = await this.class.schema.lookupItem<Enumeration>(enumSchemaItemKey);\r\n if (undefined === enumeration)\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, `Unable to locate the enumeration ${enumerationPropertyProps.typeName}.`);\r\n return enumeration;\r\n });\r\n }\r\n }\r\n\r\n /** @internal */\r\n public override async toXml(schemaXml: Document): Promise<Element> {\r\n const itemElement = await super.toXml(schemaXml);\r\n const enumeration = await this.enumeration;\r\n const enumerationName = XmlSerializationUtils.createXmlTypedName(this.schema, enumeration!.schema, enumeration!.name);\r\n itemElement.setAttribute(\"typeName\", enumerationName);\r\n return itemElement;\r\n }\r\n\r\n public override async fromJSON(enumerationPropertyProps: EnumerationPropertyProps) {\r\n this.fromJSONSync(enumerationPropertyProps);\r\n }\r\n\r\n}\r\n\r\n/** @beta */\r\nexport class StructProperty extends Property {\r\n protected _structClass: StructClass;\r\n\r\n public get structClass(): StructClass { return this._structClass; }\r\n\r\n constructor(ecClass: ECClass, name: string, type: StructClass) {\r\n super(ecClass, name, PropertyType.Struct);\r\n this._structClass = type;\r\n }\r\n\r\n /**\r\n * Save this StructProperty's properties to an object for serializing to JSON.\r\n */\r\n public override toJSON(): StructPropertyProps {\r\n const schemaJson = super.toJSON() as any;\r\n schemaJson.typeName = this.structClass.fullName;\r\n return schemaJson;\r\n }\r\n\r\n /** @internal */\r\n public override async toXml(schemaXml: Document): Promise<Element> {\r\n const itemElement = await super.toXml(schemaXml);\r\n const structClassName = XmlSerializationUtils.createXmlTypedName(this.schema, this.structClass.schema, this.structClass.name);\r\n itemElement.setAttribute(\"typeName\", structClassName);\r\n return itemElement;\r\n }\r\n\r\n public override fromJSONSync(structPropertyProps: StructPropertyProps) {\r\n super.fromJSONSync(structPropertyProps);\r\n if (undefined !== structPropertyProps.typeName) {\r\n if (!this.structClass.key.matchesFullName(structPropertyProps.typeName))\r\n throw new ECObjectsError(ECObjectsStatus.InvalidECJson, ``);\r\n }\r\n }\r\n\r\n public override async fromJSON(structPropertyProps: StructPropertyProps) {\r\n this.fromJSONSync(structPropertyProps);\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport class NavigationProperty extends Property {\r\n protected _relationshipClass: LazyLoadedRelationshipClass;\r\n protected _direction: StrengthDirection;\r\n\r\n public get relationshipClass(): LazyLoadedRelationshipClass { return this._relationshipClass; }\r\n\r\n public getRelationshipClassSync(): RelationshipClass | undefined {\r\n if (!this._relationshipClass) // eslint-disable-line @typescript-eslint/no-misused-promises\r\n return undefined;\r\n\r\n return this.class.schema.lookupItemSync(this._relationshipClass);\r\n }\r\n\r\n public get direction() { return this._direction; }\r\n\r\n /**\r\n * Save this NavigationProperty's properties to an object for serializing to JSON.\r\n */\r\n public override toJSON(): NavigationPropertyProps {\r\n const schemaJson = super.toJSON() as any;\r\n schemaJson.relationshipName = this.relationshipClass.fullName;\r\n schemaJson.direction = strengthDirectionToString(this.direction);\r\n return schemaJson;\r\n }\r\n\r\n /** @internal */\r\n public override async toXml(schemaXml: Document): Promise<Element> {\r\n const itemElement = await super.toXml(schemaXml);\r\n const relationshipClass = await this.relationshipClass;\r\n const relationshipClassName = XmlSerializationUtils.createXmlTypedName(this.schema, relationshipClass.schema, relationshipClass.name);\r\n itemElement.setAttribute(\"relationshipName\", relationshipClassName);\r\n itemElement.setAttribute(\"direction\", strengthDirectionToString(this.direction));\r\n\r\n return itemElement;\r\n }\r\n\r\n constructor(ecClass: ECClass, name: string, relationship: LazyLoadedRelationshipClass, direction?: StrengthDirection) {\r\n super(ecClass, name, PropertyType.Navigation);\r\n this._relationshipClass = relationship;\r\n\r\n this._direction = (direction !== undefined) ? direction : StrengthDirection.Forward;\r\n }\r\n}\r\n\r\ntype Constructor<T> = new (...args: any[]) => T;\r\n\r\n// TODO: Consolidate all of the INT32_MAX variables.\r\nconst INT32_MAX = 2147483647;\r\n\r\n/** @beta */\r\nexport abstract class ArrayProperty extends Property {\r\n protected _minOccurs: number = 0;\r\n protected _maxOccurs?: number = INT32_MAX;\r\n\r\n public get minOccurs() { return this._minOccurs; }\r\n public get maxOccurs() { return this._maxOccurs; }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setMinOccurs(minOccurs: number) {\r\n this._minOccurs = minOccurs;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setMaxOccurs(maxOccurs: number) {\r\n this._maxOccurs = maxOccurs;\r\n }\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/naming-convention\r\nconst ArrayPropertyMixin = <T extends Constructor<Property>>(Base: T) => {\r\n return class extends Base {\r\n protected _minOccurs: number = 0;\r\n protected _maxOccurs: number = INT32_MAX;\r\n\r\n public get minOccurs() { return this._minOccurs; }\r\n public get maxOccurs() { return this._maxOccurs; }\r\n\r\n constructor(...args: any[]) {\r\n super(...args);\r\n this._type = PropertyTypeUtils.asArray(this._type);\r\n }\r\n\r\n public override fromJSONSync(arrayPropertyProps: PrimitiveArrayPropertyProps) {\r\n super.fromJSONSync(arrayPropertyProps);\r\n if (undefined !== arrayPropertyProps.minOccurs) {\r\n this._minOccurs = arrayPropertyProps.minOccurs;\r\n }\r\n\r\n if (undefined !== arrayPropertyProps.maxOccurs) {\r\n this._maxOccurs = arrayPropertyProps.maxOccurs;\r\n }\r\n }\r\n\r\n public override async fromJSON(arrayPropertyProps: PrimitiveArrayPropertyProps) {\r\n this.fromJSONSync(arrayPropertyProps);\r\n }\r\n\r\n /**\r\n * Save this ArrayProperty's properties to an object for serializing to JSON.\r\n */\r\n public override toJSON(): ArrayPropertyProps {\r\n const schemaJson = super.toJSON() as any;\r\n schemaJson.minOccurs = this.minOccurs;\r\n if (this.maxOccurs !== undefined)\r\n schemaJson.maxOccurs = this.maxOccurs;\r\n return schemaJson;\r\n }\r\n\r\n /** @internal */\r\n public override async toXml(schemaXml: Document): Promise<Element> {\r\n const itemElement = await super.toXml(schemaXml);\r\n itemElement.setAttribute(\"minOccurs\", this.minOccurs.toString());\r\n if (this.maxOccurs)\r\n itemElement.setAttribute(\"maxOccurs\", this.maxOccurs.toString());\r\n\r\n return itemElement;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setMinOccurs(minOccurs: number) {\r\n this._minOccurs = minOccurs;\r\n }\r\n\r\n /**\r\n * @internal Used in schema editing.\r\n */\r\n protected setMaxOccurs(maxOccurs: number) {\r\n this._maxOccurs = maxOccurs;\r\n }\r\n } as Constructor<Property> as typeof Base & Constructor<ArrayProperty>;\r\n};\r\n\r\n/** @beta */\r\nexport class PrimitiveArrayProperty extends ArrayPropertyMixin(PrimitiveProperty) {\r\n constructor(ecClass: ECClass, name: string, primitiveType: PrimitiveType = PrimitiveType.Integer) {\r\n super(ecClass, name, primitiveType);\r\n }\r\n\r\n /**\r\n * Save this PrimitiveArrayProperty's properties to an object for serializing to JSON.\r\n */\r\n public override toJSON(): PrimitiveArrayPropertyProps {\r\n return super.toJSON();\r\n }\r\n\r\n}\r\n\r\n/** @beta */\r\nexport class EnumerationArrayProperty extends ArrayPropertyMixin(EnumerationProperty) {\r\n constructor(ecClass: ECClass, name: string, type: LazyLoadedEnumeration) {\r\n super(ecClass, name, type);\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport class StructArrayProperty extends ArrayPropertyMixin(StructProperty) {\r\n constructor(ecClass: ECClass, name: string, type: StructClass) {\r\n super(ecClass, name, type);\r\n }\r\n}\r\n\r\n/** @beta */\r\nexport type AnyArrayProperty = PrimitiveArrayProperty | EnumerationArrayProperty | StructArrayProperty;\r\n/** @beta */\r\nexport type AnyPrimitiveProperty = PrimitiveProperty | PrimitiveArrayProperty;\r\n/** @beta */\r\nexport type AnyEnumerationProperty = EnumerationProperty | EnumerationArrayProperty;\r\n/** @beta */\r\nexport type AnyStructProperty = StructProperty | StructArrayProperty;\r\n/** @beta */\r\nexport type AnyProperty = AnyPrimitiveProperty | AnyEnumerationProperty | AnyStructProperty | NavigationProperty;\r\n\r\n/**\r\n * Hackish approach that works like a \"friend class\" so we can access protected members without making them public.\r\n * @internal\r\n */\r\nexport abstract class MutableProperty extends Property {\r\n public abstract override addCustomAttribute(customAttribute: CustomAttribute): void;\r\n}\r\n"]}
@@ -281,6 +281,11 @@ export declare class Schema implements CustomAttributeContainerProps {
281
281
  * Used for schema editing.
282
282
  */
283
283
  protected setDescription(description: string): void;
284
+ /**
285
+ * @alpha
286
+ * Used for schema editing.
287
+ */
288
+ protected setAlias(alias: string): void;
284
289
  }
285
290
  /**
286
291
  * Hackish approach that works like a "friend class" so we can access protected members without making them public.
@@ -326,5 +331,6 @@ export declare abstract class MutableSchema extends Schema {
326
331
  abstract deleteClassSync(name: string): void;
327
332
  abstract deleteSchemaItem(name: string): Promise<void>;
328
333
  abstract deleteSchemaItemSync(name: string): void;
334
+ abstract setAlias(alias: string): void;
329
335
  }
330
336
  //# sourceMappingURL=Schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/Metadata/Schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../../src/Metadata/Schema.ts"],"names":[],"mappings":"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"}
@@ -561,6 +561,16 @@ class Schema {
561
561
  setDescription(description) {
562
562
  this._description = description;
563
563
  }
564
+ /**
565
+ * @alpha
566
+ * Used for schema editing.
567
+ */
568
+ setAlias(alias) {
569
+ if (!ECName_1.ECName.validate(alias)) {
570
+ throw new Exception_1.ECObjectsError(Exception_1.ECObjectsStatus.InvalidECName, "The specified schema alias is invalid.");
571
+ }
572
+ this._alias = alias;
573
+ }
564
574
  }
565
575
  exports.Schema = Schema;
566
576
  /**