@itwin/presentation-shared 2.0.0-alpha.9 → 2.0.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.
Files changed (190) hide show
  1. package/CHANGELOG.md +675 -0
  2. package/README.md +59 -27
  3. package/lib/presentation-shared.d.ts +24 -0
  4. package/lib/presentation-shared.d.ts.map +1 -0
  5. package/lib/presentation-shared.js +22 -0
  6. package/lib/presentation-shared.js.map +1 -0
  7. package/lib/shared/ConcatenatedValue.d.ts.map +1 -0
  8. package/lib/shared/ConcatenatedValue.js.map +1 -0
  9. package/lib/{cjs/shared → shared}/ECSqlCore.d.ts +16 -2
  10. package/lib/shared/ECSqlCore.d.ts.map +1 -0
  11. package/lib/shared/ECSqlCore.js +37 -0
  12. package/lib/shared/ECSqlCore.js.map +1 -0
  13. package/lib/shared/EachValueFrom.d.ts +30 -0
  14. package/lib/shared/EachValueFrom.d.ts.map +1 -0
  15. package/lib/shared/EachValueFrom.js +115 -0
  16. package/lib/shared/EachValueFrom.js.map +1 -0
  17. package/lib/shared/Event.d.ts.map +1 -0
  18. package/lib/{esm/shared → shared}/Event.js.map +1 -1
  19. package/lib/shared/Formatting.d.ts.map +1 -0
  20. package/lib/{esm/shared → shared}/Formatting.js +10 -6
  21. package/lib/shared/Formatting.js.map +1 -0
  22. package/lib/shared/HiddenClasses.d.ts +21 -0
  23. package/lib/shared/HiddenClasses.d.ts.map +1 -0
  24. package/lib/shared/HiddenClasses.js +52 -0
  25. package/lib/shared/HiddenClasses.js.map +1 -0
  26. package/lib/{cjs/shared → shared}/InstanceLabelSelectClauseFactory.d.ts +3 -63
  27. package/lib/shared/InstanceLabelSelectClauseFactory.d.ts.map +1 -0
  28. package/lib/shared/InstanceLabelSelectClauseFactory.js +27 -0
  29. package/lib/shared/InstanceLabelSelectClauseFactory.js.map +1 -0
  30. package/lib/shared/Logging.d.ts.map +1 -0
  31. package/lib/{esm/shared → shared}/Logging.js +2 -1
  32. package/lib/shared/Logging.js.map +1 -0
  33. package/lib/shared/MappedTypes.d.ts +55 -0
  34. package/lib/shared/MappedTypes.d.ts.map +1 -0
  35. package/lib/shared/MappedTypes.js.map +1 -0
  36. package/lib/shared/Metadata.d.ts +572 -0
  37. package/lib/shared/Metadata.d.ts.map +1 -0
  38. package/lib/{esm/shared → shared}/Metadata.js +7 -3
  39. package/lib/shared/Metadata.js.map +1 -0
  40. package/lib/{cjs/shared → shared}/Utils.d.ts +0 -6
  41. package/lib/shared/Utils.d.ts.map +1 -0
  42. package/lib/{esm/shared → shared}/Utils.js +16 -21
  43. package/lib/shared/Utils.js.map +1 -0
  44. package/lib/shared/Values.d.ts +144 -0
  45. package/lib/shared/Values.d.ts.map +1 -0
  46. package/lib/shared/Values.js +121 -0
  47. package/lib/shared/Values.js.map +1 -0
  48. package/lib/shared/ecsql-snippets/ECSqlHiddenClassesSnippets.d.ts +40 -0
  49. package/lib/shared/ecsql-snippets/ECSqlHiddenClassesSnippets.d.ts.map +1 -0
  50. package/lib/shared/ecsql-snippets/ECSqlHiddenClassesSnippets.js +66 -0
  51. package/lib/shared/ecsql-snippets/ECSqlHiddenClassesSnippets.js.map +1 -0
  52. package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +174 -0
  53. package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +1 -0
  54. package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.js +177 -0
  55. package/lib/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +1 -0
  56. package/lib/{cjs/shared → shared}/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +9 -1
  57. package/lib/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +1 -0
  58. package/lib/{esm/shared → shared}/ecsql-snippets/ECSqlValueSelectorSnippets.js +22 -8
  59. package/lib/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +1 -0
  60. package/lib/shared/ecsql-snippets/index.d.ts +4 -0
  61. package/lib/shared/ecsql-snippets/index.d.ts.map +1 -0
  62. package/lib/shared/ecsql-snippets/index.js +8 -0
  63. package/lib/shared/ecsql-snippets/index.js.map +1 -0
  64. package/lib/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts +17 -0
  65. package/lib/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  66. package/lib/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js +48 -0
  67. package/lib/shared/instance-label-factory-impls/BisInstanceLabelSelectClauseFactory.js.map +1 -0
  68. package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts +39 -0
  69. package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  70. package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js +60 -0
  71. package/lib/shared/instance-label-factory-impls/ClassBasedInstanceLabelSelectClauseFactory.js.map +1 -0
  72. package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts +12 -0
  73. package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  74. package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js +37 -0
  75. package/lib/shared/instance-label-factory-impls/DefaultInstanceLabelSelectClauseFactory.js.map +1 -0
  76. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts +198 -0
  77. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.d.ts.map +1 -0
  78. package/lib/{esm/shared/ECSqlCore.js → shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js} +4 -1
  79. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.Rules.js.map +1 -0
  80. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts +34 -0
  81. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.d.ts.map +1 -0
  82. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js +332 -0
  83. package/lib/shared/instance-label-factory-impls/IModelInstanceLabelSelectClauseFactory.js.map +1 -0
  84. package/lib/shared/instance-label-factory-impls/Utils.d.ts +7 -0
  85. package/lib/shared/instance-label-factory-impls/Utils.d.ts.map +1 -0
  86. package/lib/shared/instance-label-factory-impls/Utils.js +21 -0
  87. package/lib/shared/instance-label-factory-impls/Utils.js.map +1 -0
  88. package/package.json +22 -31
  89. package/lib/cjs/package.json +0 -1
  90. package/lib/cjs/presentation-shared.d.ts +0 -17
  91. package/lib/cjs/presentation-shared.d.ts.map +0 -1
  92. package/lib/cjs/presentation-shared.js +0 -71
  93. package/lib/cjs/presentation-shared.js.map +0 -1
  94. package/lib/cjs/shared/ConcatenatedValue.d.ts.map +0 -1
  95. package/lib/cjs/shared/ConcatenatedValue.js +0 -49
  96. package/lib/cjs/shared/ConcatenatedValue.js.map +0 -1
  97. package/lib/cjs/shared/ECSqlCore.d.ts.map +0 -1
  98. package/lib/cjs/shared/ECSqlCore.js +0 -7
  99. package/lib/cjs/shared/ECSqlCore.js.map +0 -1
  100. package/lib/cjs/shared/Event.d.ts.map +0 -1
  101. package/lib/cjs/shared/Event.js +0 -7
  102. package/lib/cjs/shared/Event.js.map +0 -1
  103. package/lib/cjs/shared/Formatting.d.ts.map +0 -1
  104. package/lib/cjs/shared/Formatting.js +0 -114
  105. package/lib/cjs/shared/Formatting.js.map +0 -1
  106. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.d.ts.map +0 -1
  107. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js +0 -166
  108. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js.map +0 -1
  109. package/lib/cjs/shared/Logging.d.ts.map +0 -1
  110. package/lib/cjs/shared/Logging.js +0 -20
  111. package/lib/cjs/shared/Logging.js.map +0 -1
  112. package/lib/cjs/shared/MappedTypes.d.ts +0 -17
  113. package/lib/cjs/shared/MappedTypes.d.ts.map +0 -1
  114. package/lib/cjs/shared/MappedTypes.js +0 -7
  115. package/lib/cjs/shared/MappedTypes.js.map +0 -1
  116. package/lib/cjs/shared/Metadata.d.ts +0 -294
  117. package/lib/cjs/shared/Metadata.d.ts.map +0 -1
  118. package/lib/cjs/shared/Metadata.js +0 -53
  119. package/lib/cjs/shared/Metadata.js.map +0 -1
  120. package/lib/cjs/shared/Utils.d.ts.map +0 -1
  121. package/lib/cjs/shared/Utils.js +0 -113
  122. package/lib/cjs/shared/Utils.js.map +0 -1
  123. package/lib/cjs/shared/Values.d.ts +0 -107
  124. package/lib/cjs/shared/Values.d.ts.map +0 -1
  125. package/lib/cjs/shared/Values.js +0 -155
  126. package/lib/cjs/shared/Values.js.map +0 -1
  127. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +0 -51
  128. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +0 -1
  129. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js +0 -140
  130. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +0 -1
  131. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +0 -1
  132. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js +0 -260
  133. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +0 -1
  134. package/lib/cjs/shared/ecsql-snippets/index.d.ts +0 -3
  135. package/lib/cjs/shared/ecsql-snippets/index.d.ts.map +0 -1
  136. package/lib/cjs/shared/ecsql-snippets/index.js +0 -18
  137. package/lib/cjs/shared/ecsql-snippets/index.js.map +0 -1
  138. package/lib/esm/presentation-shared.d.ts +0 -17
  139. package/lib/esm/presentation-shared.d.ts.map +0 -1
  140. package/lib/esm/presentation-shared.js +0 -14
  141. package/lib/esm/presentation-shared.js.map +0 -1
  142. package/lib/esm/shared/ConcatenatedValue.d.ts +0 -46
  143. package/lib/esm/shared/ConcatenatedValue.d.ts.map +0 -1
  144. package/lib/esm/shared/ConcatenatedValue.js.map +0 -1
  145. package/lib/esm/shared/ECSqlCore.d.ts +0 -94
  146. package/lib/esm/shared/ECSqlCore.d.ts.map +0 -1
  147. package/lib/esm/shared/ECSqlCore.js.map +0 -1
  148. package/lib/esm/shared/Event.d.ts +0 -27
  149. package/lib/esm/shared/Event.d.ts.map +0 -1
  150. package/lib/esm/shared/Formatting.d.ts +0 -44
  151. package/lib/esm/shared/Formatting.d.ts.map +0 -1
  152. package/lib/esm/shared/Formatting.js.map +0 -1
  153. package/lib/esm/shared/InstanceLabelSelectClauseFactory.d.ts +0 -133
  154. package/lib/esm/shared/InstanceLabelSelectClauseFactory.d.ts.map +0 -1
  155. package/lib/esm/shared/InstanceLabelSelectClauseFactory.js +0 -160
  156. package/lib/esm/shared/InstanceLabelSelectClauseFactory.js.map +0 -1
  157. package/lib/esm/shared/Logging.d.ts +0 -27
  158. package/lib/esm/shared/Logging.d.ts.map +0 -1
  159. package/lib/esm/shared/Logging.js.map +0 -1
  160. package/lib/esm/shared/MappedTypes.d.ts +0 -17
  161. package/lib/esm/shared/MappedTypes.d.ts.map +0 -1
  162. package/lib/esm/shared/MappedTypes.js.map +0 -1
  163. package/lib/esm/shared/Metadata.d.ts +0 -294
  164. package/lib/esm/shared/Metadata.d.ts.map +0 -1
  165. package/lib/esm/shared/Metadata.js.map +0 -1
  166. package/lib/esm/shared/Utils.d.ts +0 -66
  167. package/lib/esm/shared/Utils.d.ts.map +0 -1
  168. package/lib/esm/shared/Utils.js.map +0 -1
  169. package/lib/esm/shared/Values.d.ts +0 -107
  170. package/lib/esm/shared/Values.d.ts.map +0 -1
  171. package/lib/esm/shared/Values.js +0 -152
  172. package/lib/esm/shared/Values.js.map +0 -1
  173. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +0 -51
  174. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +0 -1
  175. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js +0 -137
  176. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +0 -1
  177. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +0 -122
  178. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +0 -1
  179. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +0 -1
  180. package/lib/esm/shared/ecsql-snippets/index.d.ts +0 -3
  181. package/lib/esm/shared/ecsql-snippets/index.d.ts.map +0 -1
  182. package/lib/esm/shared/ecsql-snippets/index.js +0 -7
  183. package/lib/esm/shared/ecsql-snippets/index.js.map +0 -1
  184. /package/lib/{cjs/shared → shared}/ConcatenatedValue.d.ts +0 -0
  185. /package/lib/{esm/shared → shared}/ConcatenatedValue.js +0 -0
  186. /package/lib/{cjs/shared → shared}/Event.d.ts +0 -0
  187. /package/lib/{esm/shared → shared}/Event.js +0 -0
  188. /package/lib/{cjs/shared → shared}/Formatting.d.ts +0 -0
  189. /package/lib/{cjs/shared → shared}/Logging.d.ts +0 -0
  190. /package/lib/{esm/shared → shared}/MappedTypes.js +0 -0
@@ -1,17 +0,0 @@
1
- /**
2
- * An utility `Omit` type which works with union types.
3
- * @public
4
- */
5
- export type OmitOverUnion<T, K extends PropertyKey> = T extends T ? Omit<T, K> : never;
6
- /**
7
- * An utility generic type to get array element's type.
8
- * @public
9
- */
10
- export type ArrayElement<ArrayType extends readonly unknown[]> = ArrayType extends readonly (infer ElementType)[] ? ElementType : never;
11
- /**
12
- * Returns type of `TFunc` parameter, when `TFunc` accepts exactly one object argument
13
- * that can also be `undefined` / optional.
14
- * @public
15
- */
16
- export type Props<TFunc extends (...args: any[]) => any> = Parameters<TFunc> extends [infer TProps] ? Exclude<TProps, undefined> extends object ? TProps : never : Parameters<TFunc> extends [(infer TProps)?] ? Exclude<TProps, undefined> extends object ? TProps | undefined : never : never;
17
- //# sourceMappingURL=MappedTypes.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MappedTypes.d.ts","sourceRoot":"","sources":["../../../src/shared/MappedTypes.ts"],"names":[],"mappings":"AAKA;;;GAGG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC;AAEvF;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,SAAS,SAAS,SAAS,OAAO,EAAE,IAAI,SAAS,SAAS,SAAS,CAAC,MAAM,WAAW,CAAC,EAAE,GAAG,WAAW,GAAG,KAAK,CAAC;AAExI;;;;GAIG;AACH,MAAM,MAAM,KAAK,CAAC,KAAK,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IACrD,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,MAAM,CAAC,GACpC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,MAAM,GACvC,MAAM,GACN,KAAK,GACP,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,SAAS,MAAM,GACvC,MAAM,GAAG,SAAS,GAClB,KAAK,GACP,KAAK,CAAC"}
@@ -1,7 +0,0 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- //# sourceMappingURL=MappedTypes.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MappedTypes.js","sourceRoot":"","sources":["../../../src/shared/MappedTypes.ts"],"names":[],"mappings":";AAAA;;;gGAGgG"}
@@ -1,294 +0,0 @@
1
- /**
2
- * An interface for an object that knows how to get an ECSchema from an iModel.
3
- *
4
- * @see `createECSchemaProvider` in `@itwin/presentation-core-interop`.
5
- * @public
6
- */
7
- export interface ECSchemaProvider {
8
- getSchema(schemaName: string): Promise<EC.Schema | undefined>;
9
- }
10
- /**
11
- * An interface for a class hierarchy inspector that can be used to determine if one class derives from another.
12
- * @see `createCachingECClassHierarchyInspector`
13
- * @public
14
- */
15
- export interface ECClassHierarchyInspector {
16
- classDerivesFrom(derivedClassFullName: EC.FullClassName, candidateBaseClassFullName: EC.FullClassName): Promise<boolean> | boolean;
17
- }
18
- /**
19
- * Creates a new `ECClassHierarchyInspector` that caches results of `derivesFrom` calls.
20
- * @public
21
- */
22
- export declare function createCachingECClassHierarchyInspector(props: {
23
- /** Schema provider used to load schemas and their classes. */
24
- schemaProvider: ECSchemaProvider;
25
- /** Optional cache size, describing the number of derived/base class combinations to store in cache. Defaults to `0`, which means no caching. */
26
- cacheSize?: number;
27
- }): ECClassHierarchyInspector;
28
- /**
29
- * A namespace containing various [EC types](https://www.itwinjs.org/bis/ec/).
30
- * @public
31
- * @see `ECSchemaProvider`
32
- */
33
- export declare namespace EC {
34
- type FullClassNameDotNotation = `${string}.${string}`;
35
- type FullClassNameColonNotation = `${string}:${string}`;
36
- type FullClassName = FullClassNameColonNotation | FullClassNameDotNotation;
37
- /**
38
- * Represents an ECSchema that contains classes, relationships, etc.
39
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/schema/
40
- * @public
41
- */
42
- interface Schema {
43
- name: string;
44
- getClass(name: string): Promise<Class | undefined>;
45
- getCustomAttributes(): Promise<CustomAttributeSet>;
46
- }
47
- /**
48
- * Represents an ECSchema item - a class, relationship, etc.
49
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/schemaitem/
50
- * @public
51
- */
52
- interface SchemaItem {
53
- schema: Schema;
54
- fullName: FullClassName;
55
- name: string;
56
- label?: string;
57
- }
58
- /**
59
- * Represents an ECClass.
60
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/ecclass/
61
- * @public
62
- */
63
- interface Class extends SchemaItem {
64
- baseClass: Promise<Class | undefined>;
65
- is(className: string, schemaName: string): Promise<boolean>;
66
- is(other: Class): Promise<boolean>;
67
- getProperty(name: string): Promise<Property | undefined>;
68
- getProperties(): Promise<Array<Property>>;
69
- isEntityClass(): this is EntityClass;
70
- isRelationshipClass(): this is RelationshipClass;
71
- isStructClass(): this is StructClass;
72
- isMixin(): this is Mixin;
73
- getDerivedClasses(): Promise<Class[]>;
74
- getCustomAttributes(): Promise<CustomAttributeSet>;
75
- }
76
- /**
77
- * Represents an entity class.
78
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/entityclass/
79
- * @public
80
- */
81
- type EntityClass = Class;
82
- /**
83
- * Represents a struct class.
84
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/structclass/
85
- * @public
86
- */
87
- type StructClass = Class;
88
- /**
89
- * Represents a mixin.
90
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/mixin/
91
- * @public
92
- */
93
- type Mixin = Class;
94
- /**
95
- * Represents a kind of quantity.
96
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/kindofquantity/
97
- * @public
98
- */
99
- type KindOfQuantity = SchemaItem;
100
- /**
101
- * Represents a relationship constraint multiplicity.
102
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/relationshipmultiplicity/
103
- * @public
104
- */
105
- interface RelationshipConstraintMultiplicity {
106
- lowerLimit: number;
107
- upperLimit: number;
108
- }
109
- /**
110
- * Represents a relationship constraint.
111
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/relationshipconstraint/
112
- * @public
113
- */
114
- interface RelationshipConstraint {
115
- multiplicity: RelationshipConstraintMultiplicity;
116
- polymorphic: boolean;
117
- abstractConstraint: Promise<EntityClass | Mixin | RelationshipClass | undefined>;
118
- }
119
- /**
120
- * Represents a relationship class.
121
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/relationshipclass/
122
- * @public
123
- */
124
- interface RelationshipClass extends Class {
125
- direction: "Forward" | "Backward";
126
- source: RelationshipConstraint;
127
- target: RelationshipConstraint;
128
- }
129
- /**
130
- * Represents an enumerator.
131
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/enumerator/
132
- * @public
133
- */
134
- interface Enumerator<T> {
135
- name: string;
136
- value: T;
137
- label?: string;
138
- description?: string;
139
- }
140
- /**
141
- * Represents an enumeration.
142
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/enumeration/
143
- * @public
144
- */
145
- interface Enumeration extends SchemaItem {
146
- enumerators: Array<Enumerator<string | number>>;
147
- type: "String" | "Number";
148
- isStrict: boolean;
149
- }
150
- /**
151
- * Represents a property.
152
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/property/
153
- * @public
154
- */
155
- interface Property {
156
- name: string;
157
- class: Class;
158
- label?: string;
159
- kindOfQuantity: Promise<KindOfQuantity | undefined>;
160
- isArray(): this is ArrayProperty;
161
- isStruct(): this is StructProperty;
162
- isPrimitive(): this is PrimitiveProperty;
163
- isEnumeration(): this is EnumerationProperty;
164
- isNavigation(): this is NavigationProperty;
165
- getCustomAttributes(): Promise<CustomAttributeSet>;
166
- }
167
- /**
168
- * Defines array property attributes.
169
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/arrayproperty/
170
- * @public
171
- */
172
- interface ArrayPropertyAttributes {
173
- minOccurs: number;
174
- maxOccurs?: number;
175
- }
176
- /**
177
- * Defines a structs array property.
178
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/structarrayproperty/
179
- * @public
180
- */
181
- type StructArrayProperty = StructProperty & ArrayPropertyAttributes;
182
- /**
183
- * Defines an enumerations array property.
184
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/enumerationarrayproperty/
185
- * @public
186
- */
187
- type EnumerationArrayProperty = EnumerationProperty & ArrayPropertyAttributes;
188
- /**
189
- * Defines a primitives array property.
190
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/primitivearrayproperty/
191
- * @public
192
- */
193
- type PrimitiveArrayProperty = PrimitiveProperty & ArrayPropertyAttributes;
194
- /**
195
- * Defines an array property.
196
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/anyarrayproperty/
197
- * @public
198
- */
199
- type ArrayProperty = StructArrayProperty | EnumerationArrayProperty | PrimitiveArrayProperty;
200
- /**
201
- * Defines a struct property.
202
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/structproperty/
203
- * @public
204
- */
205
- interface StructProperty extends Property {
206
- structClass: StructClass;
207
- }
208
- /**
209
- * Defines an enumeration property.
210
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/enumerationproperty/
211
- * @public
212
- */
213
- interface EnumerationProperty extends Property {
214
- enumeration: Promise<Enumeration | undefined>;
215
- extendedTypeName?: string;
216
- }
217
- /**
218
- * Defines a navigation property.
219
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/navigationproperty/
220
- * @public
221
- */
222
- interface NavigationProperty extends Property {
223
- relationshipClass: Promise<RelationshipClass>;
224
- direction: "Forward" | "Backward";
225
- }
226
- /**
227
- * Defines a primitive property type.
228
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/primitivetype/
229
- * @public
230
- */
231
- type PrimitiveType = "Binary" | "Boolean" | "DateTime" | "Double" | "Integer" | "Long" | "Point2d" | "Point3d" | "String" | "IGeometry";
232
- /**
233
- * Defines a primitive property.
234
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/primitiveproperty/
235
- * @public
236
- */
237
- interface PrimitiveProperty extends Property {
238
- primitiveType: PrimitiveType;
239
- extendedTypeName?: string;
240
- }
241
- /**
242
- * Defines a set of custom attributes that may be applied to a class or property.
243
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/customattribute/
244
- * @public
245
- */
246
- interface CustomAttributeSet {
247
- [Symbol.iterator]: () => IterableIterator<[FullClassName, CustomAttribute]>;
248
- get(className: FullClassName): CustomAttribute | undefined;
249
- }
250
- /**
251
- * Defines a custom attribute that may be applied to a class or property.
252
- * @see https://www.itwinjs.org/reference/ecschema-metadata/metadata/customattribute/
253
- * @public
254
- */
255
- interface CustomAttribute {
256
- className: FullClassName;
257
- [propName: string]: any;
258
- }
259
- }
260
- /**
261
- * An identifiers' union of all supported primitive value types.
262
- * @public
263
- */
264
- export type PrimitiveValueType = "Id" | Exclude<EC.PrimitiveType, "Binary" | "IGeometry">;
265
- /**
266
- * Describes a single step through an ECRelationship from source ECClass to target ECClass.
267
- * @public
268
- */
269
- export interface RelationshipPathStep {
270
- /** Full name of the source ECClass */
271
- sourceClassName: EC.FullClassName;
272
- /** Full name of the target ECClass */
273
- targetClassName: EC.FullClassName;
274
- /** Full name of the ECRelationshipClass */
275
- relationshipName: EC.FullClassName;
276
- /**
277
- * Indicates that the relationship direction be reversed. This should be set to `true` when step direction
278
- * doesn't match relationship direction, e.g. relationship is from source `A` to target `B` and the step
279
- * describes a step from `B` to `A`.
280
- */
281
- relationshipReverse?: boolean;
282
- }
283
- /**
284
- * Describes a path from source ECClass to target ECClass through multiple ECRelationships.
285
- * @public
286
- */
287
- export type RelationshipPath<TStep extends RelationshipPathStep = RelationshipPathStep> = TStep[];
288
- /**
289
- * Finds a class with the specified full class name using the given `ECSchemaProvider`.
290
- * @throws Error if the schema or class is not found.
291
- * @public
292
- */
293
- export declare function getClass(schemaProvider: ECSchemaProvider, fullClassName: EC.FullClassName): Promise<EC.Class>;
294
- //# sourceMappingURL=Metadata.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Metadata.d.ts","sourceRoot":"","sources":["../../../src/shared/Metadata.ts"],"names":[],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.createCachingECClassHierarchyInspector = createCachingECClassHierarchyInspector;
8
- exports.getClass = getClass;
9
- const core_bentley_1 = require("@itwin/core-bentley");
10
- const Utils_js_1 = require("./Utils.js");
11
- /**
12
- * Creates a new `ECClassHierarchyInspector` that caches results of `derivesFrom` calls.
13
- * @public
14
- */
15
- function createCachingECClassHierarchyInspector(props) {
16
- const map = new core_bentley_1.LRUMap(props.cacheSize ?? 0);
17
- function createCacheKey(derivedClassName, baseClassName) {
18
- return `${derivedClassName}/${baseClassName}`;
19
- }
20
- return {
21
- classDerivesFrom(derivedClassFullName, candidateBaseClassFullName) {
22
- const cacheKey = createCacheKey(derivedClassFullName, candidateBaseClassFullName);
23
- let result = map.get(cacheKey);
24
- if (result === undefined) {
25
- result = Promise.all([getClass(props.schemaProvider, derivedClassFullName), getClass(props.schemaProvider, candidateBaseClassFullName)]).then(async ([derivedClass, baseClass]) => {
26
- const resolvedResult = await derivedClass.is(baseClass);
27
- map.set(cacheKey, resolvedResult);
28
- return resolvedResult;
29
- });
30
- map.set(cacheKey, result);
31
- }
32
- return result;
33
- },
34
- };
35
- }
36
- /**
37
- * Finds a class with the specified full class name using the given `ECSchemaProvider`.
38
- * @throws Error if the schema or class is not found.
39
- * @public
40
- */
41
- async function getClass(schemaProvider, fullClassName) {
42
- const { schemaName, className } = (0, Utils_js_1.parseFullClassName)(fullClassName);
43
- const schema = await schemaProvider.getSchema(schemaName);
44
- if (!schema) {
45
- throw new Error(`Schema "${schemaName}" not found.`);
46
- }
47
- const lookupClass = await schema.getClass(className);
48
- if (!lookupClass) {
49
- throw new Error(`Class "${className}" not found in schema "${schemaName}".`);
50
- }
51
- return lookupClass;
52
- }
53
- //# sourceMappingURL=Metadata.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Metadata.js","sourceRoot":"","sources":["../../../src/shared/Metadata.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AA4BhG,wFA2BC;AAuSD,4BAWC;AAvWD,sDAA6C;AAC7C,yCAAgD;AAqBhD;;;GAGG;AACH,SAAgB,sCAAsC,CAAC,KAKtD;IACC,MAAM,GAAG,GAAG,IAAI,qBAAM,CAAqC,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IACjF,SAAS,cAAc,CAAC,gBAAkC,EAAE,aAA+B;QACzF,OAAO,GAAG,gBAAgB,IAAI,aAAa,EAAE,CAAC;IAChD,CAAC;IACD,OAAO;QACL,gBAAgB,CAAC,oBAAsC,EAAE,0BAA4C;YACnG,MAAM,QAAQ,GAAG,cAAc,CAAC,oBAAoB,EAAE,0BAA0B,CAAC,CAAC;YAClF,IAAI,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC/B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,oBAAoB,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC,IAAI,CAC3I,KAAK,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,EAAE,EAAE;oBAClC,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;oBACxD,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;oBAClC,OAAO,cAAc,CAAC;gBACxB,CAAC,CACF,CAAC;gBACF,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC5B,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;KACF,CAAC;AACJ,CAAC;AAkSD;;;;GAIG;AACI,KAAK,UAAU,QAAQ,CAAC,cAAgC,EAAE,aAA+B;IAC9F,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAA,6BAAkB,EAAC,aAAa,CAAC,CAAC;IACpE,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,WAAW,UAAU,cAAc,CAAC,CAAC;IACvD,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;IACrD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,UAAU,SAAS,0BAA0B,UAAU,IAAI,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Utils.d.ts","sourceRoot":"","sources":["../../../src/shared/Utils.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,eAAe,CAAC;AAExC;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM;;;EAMvD;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,EAAE,CAAC,wBAAwB,CAGzF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,CAAC,aAAa,GAAG,MAAM,CAU1F;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;AACpD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;AAe5E;;;;;GAKG;AACH,wBAAsB,iBAAiB,kBAEtC;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0CAA0C,CAAC,mBAAmB,SAAK,SAEtE,OAAO,CAAC,IAAI,CAAC,GAAG,SAAS,CASrC;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAGzD"}
@@ -1,113 +0,0 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
4
- * See LICENSE.md in the project root for license terms and full copyright notice.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.parseFullClassName = parseFullClassName;
8
- exports.normalizeFullClassName = normalizeFullClassName;
9
- exports.compareFullClassNames = compareFullClassNames;
10
- exports.trimWhitespace = trimWhitespace;
11
- exports.releaseMainThread = releaseMainThread;
12
- exports.createMainThreadReleaseOnTimePassedHandler = createMainThreadReleaseOnTimePassedHandler;
13
- exports.julianToDateTime = julianToDateTime;
14
- /**
15
- * An utility to parse schema and class names from full class name, where
16
- * schema and class names are separated by either `:` or `.`.
17
- *
18
- * @throws Error if the provided full class name is not valid.
19
- * @public
20
- */
21
- function parseFullClassName(fullClassName) {
22
- const [schemaName, className, ...rest] = fullClassName.split(/[\.:]/);
23
- if (!schemaName || !className || rest.length > 0) {
24
- throw new Error(`Invalid full class name: ${fullClassName}`);
25
- }
26
- return { schemaName, className };
27
- }
28
- /**
29
- * An utility to normalize full class name from either `SchemaName:ClassName` or
30
- * `SchemaName.ClassName` to always use the dot format.
31
- *
32
- * @throws Error if the provided full class name is not valid.
33
- * @public
34
- */
35
- function normalizeFullClassName(fullClassName) {
36
- const { schemaName, className } = parseFullClassName(fullClassName);
37
- return `${schemaName}.${className}`;
38
- }
39
- /**
40
- * An utility that compares two full class names in a case insensitive way, ignoring different
41
- * supported schema-class name separators (`.` or `:`).
42
- * @public
43
- */
44
- function compareFullClassNames(lhs, rhs) {
45
- const parsed = {
46
- lhs: parseFullClassName(lhs),
47
- rhs: parseFullClassName(rhs),
48
- };
49
- const schemaCompare = parsed.lhs.schemaName.toLocaleLowerCase().localeCompare(parsed.rhs.schemaName.toLocaleLowerCase());
50
- if (schemaCompare !== 0) {
51
- return schemaCompare;
52
- }
53
- return parsed.lhs.className.toLocaleLowerCase().localeCompare(parsed.rhs.className.toLocaleLowerCase());
54
- }
55
- /** @public */
56
- function trimWhitespace(str) {
57
- /* c8 ignore next 3 */
58
- if (!str) {
59
- return str;
60
- }
61
- return str
62
- .replaceAll(/\s+/gm, " ") // replace all consecutive spaces with a single space
63
- .replaceAll(/\(\s+/g, "(") // remove spaces after opening parentheses
64
- .replaceAll(/\s+\)/g, ")") // remove spaces before closing parentheses
65
- .replaceAll(/\s+,/g, ",") // remove spaces before comma
66
- .trim(); // remove spaces from beginning and end of the string
67
- }
68
- /**
69
- * An utility that returns a promise that immediately resolves. Awaiting on the returned
70
- * promise releases the main thread and allows other tasks to run.
71
- *
72
- * @public
73
- */
74
- async function releaseMainThread() {
75
- return new Promise((resolve) => setTimeout(resolve, 0));
76
- }
77
- /**
78
- * An utility that returns a `releaseMainThread` promise if the given amount of time has passed since the handler
79
- * was created or the main thread was last released using this handler. Otherwise, returns `undefined`.
80
- *
81
- * Example:
82
- * ```ts
83
- * const releaseMainThread = createMainThreadReleaseOnTimePassedHandler();
84
- * for (const value of someVeryLargeArray) {
85
- * await releaseMainThread();
86
- * // do something with value
87
- * }
88
- * ```
89
- *
90
- * @param releaseOnTimePassed The amount of time in milliseconds after which the main thread should be released. Defaults to `40` ms.
91
- * @public
92
- */
93
- function createMainThreadReleaseOnTimePassedHandler(releaseOnTimePassed = 40) {
94
- let start = Date.now();
95
- return () => {
96
- const elapsed = Date.now() - start;
97
- if (elapsed < releaseOnTimePassed) {
98
- return undefined;
99
- }
100
- return releaseMainThread().then(() => {
101
- start = Date.now();
102
- });
103
- };
104
- }
105
- /**
106
- * An utility to convert a julian day format to `Date`.
107
- * @public
108
- */
109
- function julianToDateTime(julianDate) {
110
- const millis = (julianDate - 2440587.5) * 86400000;
111
- return new Date(millis);
112
- }
113
- //# sourceMappingURL=Utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../src/shared/Utils.ts"],"names":[],"mappings":"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"}
@@ -1,107 +0,0 @@
1
- import type { Id64String } from "@itwin/core-bentley";
2
- import type { EC, PrimitiveValueType } from "./Metadata.js";
3
- /**
4
- * A data structure uniquely identifying an ECInstance in an iModel.
5
- * @public
6
- */
7
- export interface InstanceKey {
8
- /** Full class name in format `SchemaName.ClassName` */
9
- className: EC.FullClassName;
10
- /** ECInstance ID */
11
- id: Id64String;
12
- }
13
- /** @public */
14
- export declare namespace InstanceKey {
15
- /**
16
- * Checks whether the two given instance keys are equal.
17
- * @public
18
- */
19
- function equals(lhs: InstanceKey, rhs: InstanceKey): boolean;
20
- /**
21
- * Compares two given instance keys.
22
- * @returns
23
- *- `0` if they are equal
24
- *- `negative value` if lhs key is less than rhs key
25
- *- `positive value` if lhs key is more than rhs key
26
- */
27
- function compare(lhs: InstanceKey, rhs: InstanceKey): number;
28
- }
29
- /**
30
- * A data structure for a 2d point.
31
- * @public
32
- */
33
- export interface Point2d {
34
- x: number;
35
- y: number;
36
- }
37
- /**
38
- * A data structure for a 3d point.
39
- * @public
40
- */
41
- export interface Point3d {
42
- x: number;
43
- y: number;
44
- z: number;
45
- }
46
- /**
47
- * A union for all supported primitive value types.
48
- * @public
49
- */
50
- export type PrimitiveValue = Id64String | string | number | boolean | Date | Point2d | Point3d;
51
- /** @public */
52
- export declare namespace PrimitiveValue {
53
- /**
54
- * Checks whether the given value is a `Point2d`.
55
- * @note Since `Point3d` is a superset of `Point2d`, this function will return `true` for `Point3d` as well.
56
- * @public
57
- */
58
- function isPoint2d(value: PrimitiveValue): value is Point2d;
59
- /**
60
- * Checks whether the given value is a `Point3d`.
61
- * @public
62
- */
63
- function isPoint3d(value: PrimitiveValue): value is Point3d;
64
- }
65
- /**
66
- * A type for a primitive value, its type and, optionally, its extended type.
67
- * @note Use `TypedPrimitiveValue.create` to create an instance of this type.
68
- * @public
69
- */
70
- export type TypedPrimitiveValue = ({
71
- value: number;
72
- type: "Integer" | "Long";
73
- } | {
74
- value: number;
75
- type: "Double";
76
- koqName?: string;
77
- } | {
78
- value: boolean;
79
- type: "Boolean";
80
- } | {
81
- value: Id64String;
82
- type: "Id";
83
- } | {
84
- value: string;
85
- type: "String";
86
- } | {
87
- value: number | string | Date;
88
- type: "DateTime";
89
- } | {
90
- value: Point2d;
91
- type: "Point2d";
92
- } | {
93
- value: Point3d;
94
- type: "Point3d";
95
- }) & {
96
- extendedType?: string;
97
- };
98
- /** @public */
99
- export declare namespace TypedPrimitiveValue {
100
- /**
101
- * A function for a creating a `TypedPrimitiveValue` object.
102
- * @throws Error if primitive type and value are incompatible.
103
- * @public
104
- */
105
- function create(value: PrimitiveValue, type: PrimitiveValueType, koqName?: string, extendedType?: string): TypedPrimitiveValue;
106
- }
107
- //# sourceMappingURL=Values.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Values.d.ts","sourceRoot":"","sources":["../../../src/shared/Values.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,EAAE,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC;IAC5B,oBAAoB;IACpB,EAAE,EAAE,UAAU,CAAC;CAChB;AAED,cAAc;AACd,yBAAiB,WAAW,CAAC;IAC3B;;;OAGG;IACH,SAAgB,MAAM,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAElE;IACD;;;;;;OAMG;IACH,SAAgB,OAAO,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,WAAW,GAAG,MAAM,CASlE;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC;AAE/F,cAAc;AAEd,yBAAiB,cAAc,CAAC;IAC9B;;;;OAIG;IACH,SAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,KAAK,IAAI,OAAO,CAKjE;IAED;;;OAGG;IACH,SAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,KAAK,IAAI,OAAO,CAKjE;CACF;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAC9B;IACE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,GAAG,MAAM,CAAC;CAC1B,GACD;IACE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GACD;IACE,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;CACjB,GACD;IACE,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,IAAI,CAAC;CACZ,GACD;IACE,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,CAAC;CAChB,GACD;IACE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC9B,IAAI,EAAE,UAAU,CAAC;CAClB,GACD;IACE,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;CACjB,GACD;IACE,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;CACjB,CACJ,GAAG;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,cAAc;AAEd,yBAAiB,mBAAmB,CAAC;IACnC;;;;OAIG;IACH,SAAgB,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,mBAAmB,CA8EpI;CACF"}