@itwin/ecschema-metadata 3.4.0-dev.50 → 3.4.0-dev.56

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 (149) hide show
  1. package/lib/cjs/Constants.d.ts +23 -23
  2. package/lib/cjs/Constants.js +33 -33
  3. package/lib/cjs/Constants.js.map +1 -1
  4. package/lib/cjs/Context.d.ts +139 -139
  5. package/lib/cjs/Context.js +204 -204
  6. package/lib/cjs/DelayedPromise.d.ts +88 -88
  7. package/lib/cjs/DelayedPromise.js +91 -91
  8. package/lib/cjs/DelayedPromise.js.map +1 -1
  9. package/lib/cjs/Deserialization/AbstractParser.d.ts +45 -45
  10. package/lib/cjs/Deserialization/AbstractParser.js +11 -11
  11. package/lib/cjs/Deserialization/AbstractParser.js.map +1 -1
  12. package/lib/cjs/Deserialization/Helper.d.ts +251 -251
  13. package/lib/cjs/Deserialization/Helper.js +843 -843
  14. package/lib/cjs/Deserialization/Helper.js.map +1 -1
  15. package/lib/cjs/Deserialization/JsonParser.d.ts +165 -165
  16. package/lib/cjs/Deserialization/JsonParser.js +680 -680
  17. package/lib/cjs/Deserialization/JsonParser.js.map +1 -1
  18. package/lib/cjs/Deserialization/JsonProps.d.ts +282 -282
  19. package/lib/cjs/Deserialization/JsonProps.js +9 -9
  20. package/lib/cjs/Deserialization/JsonProps.js.map +1 -1
  21. package/lib/cjs/Deserialization/SchemaGraphUtil.d.ts +34 -34
  22. package/lib/cjs/Deserialization/SchemaGraphUtil.js +77 -77
  23. package/lib/cjs/Deserialization/SchemaGraphUtil.js.map +1 -1
  24. package/lib/cjs/Deserialization/XmlParser.d.ts +85 -85
  25. package/lib/cjs/Deserialization/XmlParser.d.ts.map +1 -1
  26. package/lib/cjs/Deserialization/XmlParser.js +973 -973
  27. package/lib/cjs/Deserialization/XmlParser.js.map +1 -1
  28. package/lib/cjs/Deserialization/XmlSerializationUtils.d.ts +54 -54
  29. package/lib/cjs/Deserialization/XmlSerializationUtils.js +174 -174
  30. package/lib/cjs/Deserialization/XmlSerializationUtils.js.map +1 -1
  31. package/lib/cjs/ECName.d.ts +30 -30
  32. package/lib/cjs/ECName.js +85 -85
  33. package/lib/cjs/ECName.js.map +1 -1
  34. package/lib/cjs/ECObjects.d.ts +162 -162
  35. package/lib/cjs/ECObjects.js +453 -453
  36. package/lib/cjs/ECObjects.js.map +1 -1
  37. package/lib/cjs/Exception.d.ts +43 -43
  38. package/lib/cjs/Exception.js +86 -86
  39. package/lib/cjs/Exception.js.map +1 -1
  40. package/lib/cjs/Interfaces.d.ts +66 -66
  41. package/lib/cjs/Interfaces.js +9 -9
  42. package/lib/cjs/Interfaces.js.map +1 -1
  43. package/lib/cjs/Metadata/Class.d.ts +243 -243
  44. package/lib/cjs/Metadata/Class.js +558 -558
  45. package/lib/cjs/Metadata/Class.js.map +1 -1
  46. package/lib/cjs/Metadata/Constant.d.ts +64 -64
  47. package/lib/cjs/Metadata/Constant.js +123 -123
  48. package/lib/cjs/Metadata/Constant.js.map +1 -1
  49. package/lib/cjs/Metadata/CustomAttribute.d.ts +23 -23
  50. package/lib/cjs/Metadata/CustomAttribute.d.ts.map +1 -1
  51. package/lib/cjs/Metadata/CustomAttribute.js +27 -27
  52. package/lib/cjs/Metadata/CustomAttribute.js.map +1 -1
  53. package/lib/cjs/Metadata/CustomAttributeClass.d.ts +39 -39
  54. package/lib/cjs/Metadata/CustomAttributeClass.js +68 -68
  55. package/lib/cjs/Metadata/CustomAttributeClass.js.map +1 -1
  56. package/lib/cjs/Metadata/EntityClass.d.ts +77 -77
  57. package/lib/cjs/Metadata/EntityClass.js +230 -230
  58. package/lib/cjs/Metadata/EntityClass.js.map +1 -1
  59. package/lib/cjs/Metadata/Enumeration.d.ts +86 -86
  60. package/lib/cjs/Metadata/Enumeration.js +159 -159
  61. package/lib/cjs/Metadata/Enumeration.js.map +1 -1
  62. package/lib/cjs/Metadata/Format.d.ts +98 -98
  63. package/lib/cjs/Metadata/Format.d.ts.map +1 -1
  64. package/lib/cjs/Metadata/Format.js +242 -242
  65. package/lib/cjs/Metadata/Format.js.map +1 -1
  66. package/lib/cjs/Metadata/InvertedUnit.d.ts +49 -49
  67. package/lib/cjs/Metadata/InvertedUnit.js +97 -97
  68. package/lib/cjs/Metadata/InvertedUnit.js.map +1 -1
  69. package/lib/cjs/Metadata/KindOfQuantity.d.ts +65 -65
  70. package/lib/cjs/Metadata/KindOfQuantity.js +225 -225
  71. package/lib/cjs/Metadata/KindOfQuantity.js.map +1 -1
  72. package/lib/cjs/Metadata/Mixin.d.ts +54 -54
  73. package/lib/cjs/Metadata/Mixin.js +113 -113
  74. package/lib/cjs/Metadata/Mixin.js.map +1 -1
  75. package/lib/cjs/Metadata/OverrideFormat.d.ts +55 -55
  76. package/lib/cjs/Metadata/OverrideFormat.js +88 -88
  77. package/lib/cjs/Metadata/OverrideFormat.js.map +1 -1
  78. package/lib/cjs/Metadata/Phenomenon.d.ts +33 -33
  79. package/lib/cjs/Metadata/Phenomenon.js +59 -59
  80. package/lib/cjs/Metadata/Phenomenon.js.map +1 -1
  81. package/lib/cjs/Metadata/Property.d.ts +197 -197
  82. package/lib/cjs/Metadata/Property.js +491 -491
  83. package/lib/cjs/Metadata/Property.js.map +1 -1
  84. package/lib/cjs/Metadata/PropertyCategory.d.ts +39 -39
  85. package/lib/cjs/Metadata/PropertyCategory.js +61 -61
  86. package/lib/cjs/Metadata/PropertyCategory.js.map +1 -1
  87. package/lib/cjs/Metadata/RelationshipClass.d.ts +152 -152
  88. package/lib/cjs/Metadata/RelationshipClass.js +349 -349
  89. package/lib/cjs/Metadata/RelationshipClass.js.map +1 -1
  90. package/lib/cjs/Metadata/Schema.d.ts +291 -291
  91. package/lib/cjs/Metadata/Schema.js +520 -520
  92. package/lib/cjs/Metadata/Schema.js.map +1 -1
  93. package/lib/cjs/Metadata/SchemaItem.d.ts +61 -61
  94. package/lib/cjs/Metadata/SchemaItem.js +136 -136
  95. package/lib/cjs/Metadata/SchemaItem.js.map +1 -1
  96. package/lib/cjs/Metadata/Unit.d.ts +76 -76
  97. package/lib/cjs/Metadata/Unit.js +162 -162
  98. package/lib/cjs/Metadata/UnitSystem.d.ts +20 -20
  99. package/lib/cjs/Metadata/UnitSystem.js +29 -29
  100. package/lib/cjs/Metadata/UnitSystem.js.map +1 -1
  101. package/lib/cjs/PropertyTypes.d.ts +49 -49
  102. package/lib/cjs/PropertyTypes.d.ts.map +1 -1
  103. package/lib/cjs/PropertyTypes.js +91 -75
  104. package/lib/cjs/PropertyTypes.js.map +1 -1
  105. package/lib/cjs/SchemaJsonLocater.d.ts +34 -34
  106. package/lib/cjs/SchemaJsonLocater.js +42 -42
  107. package/lib/cjs/SchemaJsonLocater.js.map +1 -1
  108. package/lib/cjs/SchemaKey.d.ts +110 -110
  109. package/lib/cjs/SchemaKey.d.ts.map +1 -1
  110. package/lib/cjs/SchemaKey.js +219 -220
  111. package/lib/cjs/SchemaKey.js.map +1 -1
  112. package/lib/cjs/SchemaLoader.d.ts +23 -23
  113. package/lib/cjs/SchemaLoader.js +47 -47
  114. package/lib/cjs/SchemaLoader.js.map +1 -1
  115. package/lib/cjs/SchemaPartVisitorDelegate.d.ts +274 -274
  116. package/lib/cjs/SchemaPartVisitorDelegate.js +212 -212
  117. package/lib/cjs/SchemaPartVisitorDelegate.js.map +1 -1
  118. package/lib/cjs/UnitConversion/Graph.d.ts +34 -34
  119. package/lib/cjs/UnitConversion/Graph.js +83 -83
  120. package/lib/cjs/UnitConversion/Graph.js.map +1 -1
  121. package/lib/cjs/UnitConversion/Parser.d.ts +8 -8
  122. package/lib/cjs/UnitConversion/Parser.d.ts.map +1 -1
  123. package/lib/cjs/UnitConversion/Parser.js +42 -41
  124. package/lib/cjs/UnitConversion/Parser.js.map +1 -1
  125. package/lib/cjs/UnitConversion/UnitConversion.d.ts +45 -45
  126. package/lib/cjs/UnitConversion/UnitConversion.js +77 -77
  127. package/lib/cjs/UnitConversion/UnitConversion.js.map +1 -1
  128. package/lib/cjs/UnitConversion/UnitConverter.d.ts +39 -39
  129. package/lib/cjs/UnitConversion/UnitConverter.d.ts.map +1 -1
  130. package/lib/cjs/UnitConversion/UnitConverter.js +116 -116
  131. package/lib/cjs/UnitConversion/UnitConverter.js.map +1 -1
  132. package/lib/cjs/UnitConversion/UnitTree.d.ts +43 -43
  133. package/lib/cjs/UnitConversion/UnitTree.d.ts.map +1 -1
  134. package/lib/cjs/UnitConversion/UnitTree.js +169 -169
  135. package/lib/cjs/UnitConversion/UnitTree.js.map +1 -1
  136. package/lib/cjs/UnitProvider/SchemaUnitProvider.d.ts +77 -77
  137. package/lib/cjs/UnitProvider/SchemaUnitProvider.js +236 -236
  138. package/lib/cjs/UnitProvider/SchemaUnitProvider.js.map +1 -1
  139. package/lib/cjs/Validation/SchemaWalker.d.ts +23 -23
  140. package/lib/cjs/Validation/SchemaWalker.js +53 -53
  141. package/lib/cjs/Validation/SchemaWalker.js.map +1 -1
  142. package/lib/cjs/ecschema-metadata.d.ts +51 -51
  143. package/lib/cjs/ecschema-metadata.js +96 -96
  144. package/lib/cjs/ecschema-metadata.js.map +1 -1
  145. package/lib/cjs/utils/SchemaGraph.d.ts +25 -25
  146. package/lib/cjs/utils/SchemaGraph.d.ts.map +1 -1
  147. package/lib/cjs/utils/SchemaGraph.js +65 -65
  148. package/lib/cjs/utils/SchemaGraph.js.map +1 -1
  149. package/package.json +7 -7
@@ -1,198 +1,198 @@
1
- /** @packageDocumentation
2
- * @module Metadata
3
- */
4
- import { EnumerationPropertyProps, NavigationPropertyProps, PrimitiveArrayPropertyProps, PrimitiveOrEnumPropertyBaseProps, PrimitivePropertyProps, PropertyProps, StructPropertyProps } from "../Deserialization/JsonProps";
5
- import { PrimitiveType, StrengthDirection } from "../ECObjects";
6
- import { AnyClass, LazyLoadedEnumeration, LazyLoadedKindOfQuantity, LazyLoadedPropertyCategory, LazyLoadedRelationshipClass } from "../Interfaces";
7
- import { PropertyType } from "../PropertyTypes";
8
- import { ECName } from "../ECName";
9
- import { ECClass, StructClass } from "./Class";
10
- import { CustomAttribute, CustomAttributeContainerProps, CustomAttributeSet } from "./CustomAttribute";
11
- import { KindOfQuantity } from "./KindOfQuantity";
12
- import { PropertyCategory } from "./PropertyCategory";
13
- import { RelationshipClass } from "./RelationshipClass";
14
- import { Schema } from "./Schema";
15
- /**
16
- * A common abstract class for all ECProperty types.
17
- * @beta
18
- */
19
- export declare abstract class Property implements CustomAttributeContainerProps {
20
- protected _name: ECName;
21
- protected _type: PropertyType;
22
- protected _class: AnyClass;
23
- protected _description?: string;
24
- protected _label?: string;
25
- protected _isReadOnly?: boolean;
26
- protected _priority?: number;
27
- protected _category?: LazyLoadedPropertyCategory;
28
- protected _kindOfQuantity?: LazyLoadedKindOfQuantity;
29
- private _customAttributes?;
30
- constructor(ecClass: ECClass, name: string, type: PropertyType);
31
- isArray(): this is AnyArrayProperty;
32
- isPrimitive(): this is AnyPrimitiveProperty;
33
- isStruct(): this is AnyStructProperty;
34
- isEnumeration(): this is AnyEnumerationProperty;
35
- isNavigation(): this is NavigationProperty;
36
- get name(): string;
37
- get class(): AnyClass;
38
- get label(): string | undefined;
39
- get description(): string | undefined;
40
- get isReadOnly(): boolean;
41
- get priority(): number;
42
- get category(): LazyLoadedPropertyCategory | undefined;
43
- get kindOfQuantity(): LazyLoadedKindOfQuantity | undefined;
44
- get propertyType(): PropertyType;
45
- get customAttributes(): CustomAttributeSet | undefined;
46
- /** Returns the name in the format 'ClassName.PropertyName'. */
47
- get fullName(): string;
48
- /** Returns the schema of the class holding the property. */
49
- get schema(): Schema;
50
- getCategorySync(): PropertyCategory | undefined;
51
- getKindOfQuantitySync(): KindOfQuantity | undefined;
52
- /**
53
- * Save this Property's properties to an object for serializing to JSON.
54
- */
55
- toJSON(): PropertyProps;
56
- /** @internal */
57
- toXml(schemaXml: Document): Promise<Element>;
58
- fromJSONSync(propertyProps: PropertyProps): void;
59
- fromJSON(propertyProps: PropertyProps): Promise<void>;
60
- protected addCustomAttribute(customAttribute: CustomAttribute): void;
61
- /**
62
- * Retrieve all custom attributes in the current property and its base
63
- * This is the async version of getCustomAttributesSync()
64
- */
65
- getCustomAttributes(): Promise<CustomAttributeSet>;
66
- /**
67
- * Retrieve all custom attributes in the current property and its base.
68
- */
69
- getCustomAttributesSync(): CustomAttributeSet;
70
- /**
71
- * @internal
72
- */
73
- static isProperty(object: any): object is Property;
74
- }
75
- /** @beta */
76
- export declare abstract class PrimitiveOrEnumPropertyBase extends Property {
77
- protected _extendedTypeName?: string;
78
- protected _minLength?: number;
79
- protected _maxLength?: number;
80
- protected _minValue?: number;
81
- protected _maxValue?: number;
82
- get extendedTypeName(): string | undefined;
83
- get minLength(): number | undefined;
84
- get maxLength(): number | undefined;
85
- get minValue(): number | undefined;
86
- get maxValue(): number | undefined;
87
- constructor(ecClass: ECClass, name: string, type: PropertyType);
88
- /**
89
- * Save this PrimitiveOrEnumPropertyBase's properties to an object for serializing to JSON.
90
- */
91
- toJSON(): PrimitiveOrEnumPropertyBaseProps;
92
- /** @internal */
93
- toXml(schemaXml: Document): Promise<Element>;
94
- fromJSONSync(propertyBaseProps: PrimitiveOrEnumPropertyBaseProps): void;
95
- fromJSON(propertyBaseProps: PrimitiveOrEnumPropertyBaseProps): Promise<void>;
96
- }
97
- /** @beta */
98
- export declare class PrimitiveProperty extends PrimitiveOrEnumPropertyBase {
99
- get primitiveType(): PrimitiveType;
100
- constructor(ecClass: ECClass, name: string, primitiveType?: PrimitiveType);
101
- fromJSONSync(primitivePropertyProps: PrimitivePropertyProps): void;
102
- fromJSON(primitivePropertyProps: PrimitivePropertyProps): Promise<void>;
103
- /**
104
- * Save this PrimitiveProperty's properties to an object for serializing to JSON.
105
- */
106
- toJSON(): PrimitivePropertyProps;
107
- /** @internal */
108
- toXml(schemaXml: Document): Promise<Element>;
109
- }
110
- /** @beta */
111
- export declare class EnumerationProperty extends PrimitiveOrEnumPropertyBase {
112
- protected _enumeration?: LazyLoadedEnumeration;
113
- get enumeration(): LazyLoadedEnumeration | undefined;
114
- /**
115
- * Save this EnumerationProperty's properties to an object for serializing to JSON.
116
- */
117
- toJSON(): EnumerationPropertyProps;
118
- constructor(ecClass: ECClass, name: string, type: LazyLoadedEnumeration);
119
- fromJSONSync(enumerationPropertyProps: EnumerationPropertyProps): void;
120
- /** @internal */
121
- toXml(schemaXml: Document): Promise<Element>;
122
- fromJSON(enumerationPropertyProps: EnumerationPropertyProps): Promise<void>;
123
- }
124
- /** @beta */
125
- export declare class StructProperty extends Property {
126
- protected _structClass: StructClass;
127
- get structClass(): StructClass;
128
- constructor(ecClass: ECClass, name: string, type: StructClass);
129
- /**
130
- * Save this StructProperty's properties to an object for serializing to JSON.
131
- */
132
- toJSON(): StructPropertyProps;
133
- /** @internal */
134
- toXml(schemaXml: Document): Promise<Element>;
135
- fromJSONSync(structPropertyProps: StructPropertyProps): void;
136
- fromJSON(structPropertyProps: StructPropertyProps): Promise<void>;
137
- }
138
- /** @beta */
139
- export declare class NavigationProperty extends Property {
140
- protected _relationshipClass: LazyLoadedRelationshipClass;
141
- protected _direction: StrengthDirection;
142
- get relationshipClass(): LazyLoadedRelationshipClass;
143
- getRelationshipClassSync(): RelationshipClass | undefined;
144
- get direction(): StrengthDirection;
145
- /**
146
- * Save this NavigationProperty's properties to an object for serializing to JSON.
147
- */
148
- toJSON(): NavigationPropertyProps;
149
- /** @internal */
150
- toXml(schemaXml: Document): Promise<Element>;
151
- constructor(ecClass: ECClass, name: string, relationship: LazyLoadedRelationshipClass, direction?: StrengthDirection);
152
- }
153
- declare type Constructor<T> = new (...args: any[]) => T;
154
- /** @beta */
155
- export declare abstract class ArrayProperty extends Property {
156
- protected _minOccurs: number;
157
- protected _maxOccurs?: number;
158
- get minOccurs(): number;
159
- get maxOccurs(): number | undefined;
160
- }
161
- declare const PrimitiveArrayProperty_base: typeof PrimitiveProperty & Constructor<ArrayProperty>;
162
- /** @beta */
163
- export declare class PrimitiveArrayProperty extends PrimitiveArrayProperty_base {
164
- constructor(ecClass: ECClass, name: string, primitiveType?: PrimitiveType);
165
- /**
166
- * Save this PrimitiveArrayProperty's properties to an object for serializing to JSON.
167
- */
168
- toJSON(): PrimitiveArrayPropertyProps;
169
- }
170
- declare const EnumerationArrayProperty_base: typeof EnumerationProperty & Constructor<ArrayProperty>;
171
- /** @beta */
172
- export declare class EnumerationArrayProperty extends EnumerationArrayProperty_base {
173
- constructor(ecClass: ECClass, name: string, type: LazyLoadedEnumeration);
174
- }
175
- declare const StructArrayProperty_base: typeof StructProperty & Constructor<ArrayProperty>;
176
- /** @beta */
177
- export declare class StructArrayProperty extends StructArrayProperty_base {
178
- constructor(ecClass: ECClass, name: string, type: StructClass);
179
- }
180
- /** @beta */
181
- export declare type AnyArrayProperty = PrimitiveArrayProperty | EnumerationArrayProperty | StructArrayProperty;
182
- /** @beta */
183
- export declare type AnyPrimitiveProperty = PrimitiveProperty | PrimitiveArrayProperty;
184
- /** @beta */
185
- export declare type AnyEnumerationProperty = EnumerationProperty | EnumerationArrayProperty;
186
- /** @beta */
187
- export declare type AnyStructProperty = StructProperty | StructArrayProperty;
188
- /** @beta */
189
- export declare type AnyProperty = AnyPrimitiveProperty | AnyEnumerationProperty | AnyStructProperty | NavigationProperty;
190
- /**
191
- * Hackish approach that works like a "friend class" so we can access protected members without making them public.
192
- * @internal
193
- */
194
- export declare abstract class MutableProperty extends Property {
195
- abstract addCustomAttribute(customAttribute: CustomAttribute): void;
196
- }
197
- export {};
1
+ /** @packageDocumentation
2
+ * @module Metadata
3
+ */
4
+ import { EnumerationPropertyProps, NavigationPropertyProps, PrimitiveArrayPropertyProps, PrimitiveOrEnumPropertyBaseProps, PrimitivePropertyProps, PropertyProps, StructPropertyProps } from "../Deserialization/JsonProps";
5
+ import { PrimitiveType, StrengthDirection } from "../ECObjects";
6
+ import { AnyClass, LazyLoadedEnumeration, LazyLoadedKindOfQuantity, LazyLoadedPropertyCategory, LazyLoadedRelationshipClass } from "../Interfaces";
7
+ import { PropertyType } from "../PropertyTypes";
8
+ import { ECName } from "../ECName";
9
+ import { ECClass, StructClass } from "./Class";
10
+ import { CustomAttribute, CustomAttributeContainerProps, CustomAttributeSet } from "./CustomAttribute";
11
+ import { KindOfQuantity } from "./KindOfQuantity";
12
+ import { PropertyCategory } from "./PropertyCategory";
13
+ import { RelationshipClass } from "./RelationshipClass";
14
+ import { Schema } from "./Schema";
15
+ /**
16
+ * A common abstract class for all ECProperty types.
17
+ * @beta
18
+ */
19
+ export declare abstract class Property implements CustomAttributeContainerProps {
20
+ protected _name: ECName;
21
+ protected _type: PropertyType;
22
+ protected _class: AnyClass;
23
+ protected _description?: string;
24
+ protected _label?: string;
25
+ protected _isReadOnly?: boolean;
26
+ protected _priority?: number;
27
+ protected _category?: LazyLoadedPropertyCategory;
28
+ protected _kindOfQuantity?: LazyLoadedKindOfQuantity;
29
+ private _customAttributes?;
30
+ constructor(ecClass: ECClass, name: string, type: PropertyType);
31
+ isArray(): this is AnyArrayProperty;
32
+ isPrimitive(): this is AnyPrimitiveProperty;
33
+ isStruct(): this is AnyStructProperty;
34
+ isEnumeration(): this is AnyEnumerationProperty;
35
+ isNavigation(): this is NavigationProperty;
36
+ get name(): string;
37
+ get class(): AnyClass;
38
+ get label(): string | undefined;
39
+ get description(): string | undefined;
40
+ get isReadOnly(): boolean;
41
+ get priority(): number;
42
+ get category(): LazyLoadedPropertyCategory | undefined;
43
+ get kindOfQuantity(): LazyLoadedKindOfQuantity | undefined;
44
+ get propertyType(): PropertyType;
45
+ get customAttributes(): CustomAttributeSet | undefined;
46
+ /** Returns the name in the format 'ClassName.PropertyName'. */
47
+ get fullName(): string;
48
+ /** Returns the schema of the class holding the property. */
49
+ get schema(): Schema;
50
+ getCategorySync(): PropertyCategory | undefined;
51
+ getKindOfQuantitySync(): KindOfQuantity | undefined;
52
+ /**
53
+ * Save this Property's properties to an object for serializing to JSON.
54
+ */
55
+ toJSON(): PropertyProps;
56
+ /** @internal */
57
+ toXml(schemaXml: Document): Promise<Element>;
58
+ fromJSONSync(propertyProps: PropertyProps): void;
59
+ fromJSON(propertyProps: PropertyProps): Promise<void>;
60
+ protected addCustomAttribute(customAttribute: CustomAttribute): void;
61
+ /**
62
+ * Retrieve all custom attributes in the current property and its base
63
+ * This is the async version of getCustomAttributesSync()
64
+ */
65
+ getCustomAttributes(): Promise<CustomAttributeSet>;
66
+ /**
67
+ * Retrieve all custom attributes in the current property and its base.
68
+ */
69
+ getCustomAttributesSync(): CustomAttributeSet;
70
+ /**
71
+ * @internal
72
+ */
73
+ static isProperty(object: any): object is Property;
74
+ }
75
+ /** @beta */
76
+ export declare abstract class PrimitiveOrEnumPropertyBase extends Property {
77
+ protected _extendedTypeName?: string;
78
+ protected _minLength?: number;
79
+ protected _maxLength?: number;
80
+ protected _minValue?: number;
81
+ protected _maxValue?: number;
82
+ get extendedTypeName(): string | undefined;
83
+ get minLength(): number | undefined;
84
+ get maxLength(): number | undefined;
85
+ get minValue(): number | undefined;
86
+ get maxValue(): number | undefined;
87
+ constructor(ecClass: ECClass, name: string, type: PropertyType);
88
+ /**
89
+ * Save this PrimitiveOrEnumPropertyBase's properties to an object for serializing to JSON.
90
+ */
91
+ toJSON(): PrimitiveOrEnumPropertyBaseProps;
92
+ /** @internal */
93
+ toXml(schemaXml: Document): Promise<Element>;
94
+ fromJSONSync(propertyBaseProps: PrimitiveOrEnumPropertyBaseProps): void;
95
+ fromJSON(propertyBaseProps: PrimitiveOrEnumPropertyBaseProps): Promise<void>;
96
+ }
97
+ /** @beta */
98
+ export declare class PrimitiveProperty extends PrimitiveOrEnumPropertyBase {
99
+ get primitiveType(): PrimitiveType;
100
+ constructor(ecClass: ECClass, name: string, primitiveType?: PrimitiveType);
101
+ fromJSONSync(primitivePropertyProps: PrimitivePropertyProps): void;
102
+ fromJSON(primitivePropertyProps: PrimitivePropertyProps): Promise<void>;
103
+ /**
104
+ * Save this PrimitiveProperty's properties to an object for serializing to JSON.
105
+ */
106
+ toJSON(): PrimitivePropertyProps;
107
+ /** @internal */
108
+ toXml(schemaXml: Document): Promise<Element>;
109
+ }
110
+ /** @beta */
111
+ export declare class EnumerationProperty extends PrimitiveOrEnumPropertyBase {
112
+ protected _enumeration?: LazyLoadedEnumeration;
113
+ get enumeration(): LazyLoadedEnumeration | undefined;
114
+ /**
115
+ * Save this EnumerationProperty's properties to an object for serializing to JSON.
116
+ */
117
+ toJSON(): EnumerationPropertyProps;
118
+ constructor(ecClass: ECClass, name: string, type: LazyLoadedEnumeration);
119
+ fromJSONSync(enumerationPropertyProps: EnumerationPropertyProps): void;
120
+ /** @internal */
121
+ toXml(schemaXml: Document): Promise<Element>;
122
+ fromJSON(enumerationPropertyProps: EnumerationPropertyProps): Promise<void>;
123
+ }
124
+ /** @beta */
125
+ export declare class StructProperty extends Property {
126
+ protected _structClass: StructClass;
127
+ get structClass(): StructClass;
128
+ constructor(ecClass: ECClass, name: string, type: StructClass);
129
+ /**
130
+ * Save this StructProperty's properties to an object for serializing to JSON.
131
+ */
132
+ toJSON(): StructPropertyProps;
133
+ /** @internal */
134
+ toXml(schemaXml: Document): Promise<Element>;
135
+ fromJSONSync(structPropertyProps: StructPropertyProps): void;
136
+ fromJSON(structPropertyProps: StructPropertyProps): Promise<void>;
137
+ }
138
+ /** @beta */
139
+ export declare class NavigationProperty extends Property {
140
+ protected _relationshipClass: LazyLoadedRelationshipClass;
141
+ protected _direction: StrengthDirection;
142
+ get relationshipClass(): LazyLoadedRelationshipClass;
143
+ getRelationshipClassSync(): RelationshipClass | undefined;
144
+ get direction(): StrengthDirection;
145
+ /**
146
+ * Save this NavigationProperty's properties to an object for serializing to JSON.
147
+ */
148
+ toJSON(): NavigationPropertyProps;
149
+ /** @internal */
150
+ toXml(schemaXml: Document): Promise<Element>;
151
+ constructor(ecClass: ECClass, name: string, relationship: LazyLoadedRelationshipClass, direction?: StrengthDirection);
152
+ }
153
+ declare type Constructor<T> = new (...args: any[]) => T;
154
+ /** @beta */
155
+ export declare abstract class ArrayProperty extends Property {
156
+ protected _minOccurs: number;
157
+ protected _maxOccurs?: number;
158
+ get minOccurs(): number;
159
+ get maxOccurs(): number | undefined;
160
+ }
161
+ declare const PrimitiveArrayProperty_base: typeof PrimitiveProperty & Constructor<ArrayProperty>;
162
+ /** @beta */
163
+ export declare class PrimitiveArrayProperty extends PrimitiveArrayProperty_base {
164
+ constructor(ecClass: ECClass, name: string, primitiveType?: PrimitiveType);
165
+ /**
166
+ * Save this PrimitiveArrayProperty's properties to an object for serializing to JSON.
167
+ */
168
+ toJSON(): PrimitiveArrayPropertyProps;
169
+ }
170
+ declare const EnumerationArrayProperty_base: typeof EnumerationProperty & Constructor<ArrayProperty>;
171
+ /** @beta */
172
+ export declare class EnumerationArrayProperty extends EnumerationArrayProperty_base {
173
+ constructor(ecClass: ECClass, name: string, type: LazyLoadedEnumeration);
174
+ }
175
+ declare const StructArrayProperty_base: typeof StructProperty & Constructor<ArrayProperty>;
176
+ /** @beta */
177
+ export declare class StructArrayProperty extends StructArrayProperty_base {
178
+ constructor(ecClass: ECClass, name: string, type: StructClass);
179
+ }
180
+ /** @beta */
181
+ export declare type AnyArrayProperty = PrimitiveArrayProperty | EnumerationArrayProperty | StructArrayProperty;
182
+ /** @beta */
183
+ export declare type AnyPrimitiveProperty = PrimitiveProperty | PrimitiveArrayProperty;
184
+ /** @beta */
185
+ export declare type AnyEnumerationProperty = EnumerationProperty | EnumerationArrayProperty;
186
+ /** @beta */
187
+ export declare type AnyStructProperty = StructProperty | StructArrayProperty;
188
+ /** @beta */
189
+ export declare type AnyProperty = AnyPrimitiveProperty | AnyEnumerationProperty | AnyStructProperty | NavigationProperty;
190
+ /**
191
+ * Hackish approach that works like a "friend class" so we can access protected members without making them public.
192
+ * @internal
193
+ */
194
+ export declare abstract class MutableProperty extends Property {
195
+ abstract addCustomAttribute(customAttribute: CustomAttribute): void;
196
+ }
197
+ export {};
198
198
  //# sourceMappingURL=Property.d.ts.map