@itwin/core-backend 3.0.0-dev.100
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 +1525 -0
- package/LICENSE.md +9 -0
- package/README.md +11 -0
- package/lib/cjs/AliCloudStorageService.d.ts +12 -0
- package/lib/cjs/AliCloudStorageService.d.ts.map +1 -0
- package/lib/cjs/AliCloudStorageService.js +70 -0
- package/lib/cjs/AliCloudStorageService.js.map +1 -0
- package/lib/cjs/BackendHubAccess.d.ts +208 -0
- package/lib/cjs/BackendHubAccess.d.ts.map +1 -0
- package/lib/cjs/BackendHubAccess.js +42 -0
- package/lib/cjs/BackendHubAccess.js.map +1 -0
- package/lib/cjs/BackendLoggerCategory.d.ts +83 -0
- package/lib/cjs/BackendLoggerCategory.d.ts.map +1 -0
- package/lib/cjs/BackendLoggerCategory.js +91 -0
- package/lib/cjs/BackendLoggerCategory.js.map +1 -0
- package/lib/cjs/BisCoreSchema.d.ts +22 -0
- package/lib/cjs/BisCoreSchema.d.ts.map +1 -0
- package/lib/cjs/BisCoreSchema.js +61 -0
- package/lib/cjs/BisCoreSchema.js.map +1 -0
- package/lib/cjs/BriefcaseManager.d.ts +167 -0
- package/lib/cjs/BriefcaseManager.d.ts.map +1 -0
- package/lib/cjs/BriefcaseManager.js +406 -0
- package/lib/cjs/BriefcaseManager.js.map +1 -0
- package/lib/cjs/Category.d.ts +154 -0
- package/lib/cjs/Category.d.ts.map +1 -0
- package/lib/cjs/Category.js +244 -0
- package/lib/cjs/Category.js.map +1 -0
- package/lib/cjs/ChangeSummaryManager.d.ts +188 -0
- package/lib/cjs/ChangeSummaryManager.d.ts.map +1 -0
- package/lib/cjs/ChangeSummaryManager.js +444 -0
- package/lib/cjs/ChangeSummaryManager.js.map +1 -0
- package/lib/cjs/ChangedElementsDb.d.ts +97 -0
- package/lib/cjs/ChangedElementsDb.d.ts.map +1 -0
- package/lib/cjs/ChangedElementsDb.js +166 -0
- package/lib/cjs/ChangedElementsDb.js.map +1 -0
- package/lib/cjs/ChangedElementsManager.d.ts +40 -0
- package/lib/cjs/ChangedElementsManager.d.ts.map +1 -0
- package/lib/cjs/ChangedElementsManager.js +89 -0
- package/lib/cjs/ChangedElementsManager.js.map +1 -0
- package/lib/cjs/CheckpointManager.d.ts +101 -0
- package/lib/cjs/CheckpointManager.d.ts.map +1 -0
- package/lib/cjs/CheckpointManager.js +257 -0
- package/lib/cjs/CheckpointManager.js.map +1 -0
- package/lib/cjs/ClassRegistry.d.ts +72 -0
- package/lib/cjs/ClassRegistry.d.ts.map +1 -0
- package/lib/cjs/ClassRegistry.js +154 -0
- package/lib/cjs/ClassRegistry.js.map +1 -0
- package/lib/cjs/CloudStorageBackend.d.ts +46 -0
- package/lib/cjs/CloudStorageBackend.d.ts.map +1 -0
- package/lib/cjs/CloudStorageBackend.js +157 -0
- package/lib/cjs/CloudStorageBackend.js.map +1 -0
- package/lib/cjs/CodeSpecs.d.ts +51 -0
- package/lib/cjs/CodeSpecs.d.ts.map +1 -0
- package/lib/cjs/CodeSpecs.js +113 -0
- package/lib/cjs/CodeSpecs.js.map +1 -0
- package/lib/cjs/ConcurrentQuery.d.ts +12 -0
- package/lib/cjs/ConcurrentQuery.d.ts.map +1 -0
- package/lib/cjs/ConcurrentQuery.js +24 -0
- package/lib/cjs/ConcurrentQuery.js.map +1 -0
- package/lib/cjs/DevTools.d.ts +72 -0
- package/lib/cjs/DevTools.d.ts.map +1 -0
- package/lib/cjs/DevTools.js +155 -0
- package/lib/cjs/DevTools.js.map +1 -0
- package/lib/cjs/DisplayStyle.d.ts +107 -0
- package/lib/cjs/DisplayStyle.d.ts.map +1 -0
- package/lib/cjs/DisplayStyle.js +292 -0
- package/lib/cjs/DisplayStyle.js.map +1 -0
- package/lib/cjs/ECDb.d.ts +196 -0
- package/lib/cjs/ECDb.d.ts.map +1 -0
- package/lib/cjs/ECDb.js +354 -0
- package/lib/cjs/ECDb.js.map +1 -0
- package/lib/cjs/ECSchemaXmlContext.d.ts +18 -0
- package/lib/cjs/ECSchemaXmlContext.d.ts.map +1 -0
- package/lib/cjs/ECSchemaXmlContext.js +36 -0
- package/lib/cjs/ECSchemaXmlContext.js.map +1 -0
- package/lib/cjs/ECSqlStatement.d.ts +467 -0
- package/lib/cjs/ECSqlStatement.d.ts.map +1 -0
- package/lib/cjs/ECSqlStatement.js +783 -0
- package/lib/cjs/ECSqlStatement.js.map +1 -0
- package/lib/cjs/Element.d.ts +1082 -0
- package/lib/cjs/Element.d.ts.map +1 -0
- package/lib/cjs/Element.js +1392 -0
- package/lib/cjs/Element.js.map +1 -0
- package/lib/cjs/ElementAspect.d.ts +157 -0
- package/lib/cjs/ElementAspect.d.ts.map +1 -0
- package/lib/cjs/ElementAspect.js +179 -0
- package/lib/cjs/ElementAspect.js.map +1 -0
- package/lib/cjs/ElementGraphics.d.ts +10 -0
- package/lib/cjs/ElementGraphics.d.ts.map +1 -0
- package/lib/cjs/ElementGraphics.js +42 -0
- package/lib/cjs/ElementGraphics.js.map +1 -0
- package/lib/cjs/Entity.d.ts +57 -0
- package/lib/cjs/Entity.d.ts.map +1 -0
- package/lib/cjs/Entity.js +63 -0
- package/lib/cjs/Entity.js.map +1 -0
- package/lib/cjs/ExportGraphics.d.ts +302 -0
- package/lib/cjs/ExportGraphics.d.ts.map +1 -0
- package/lib/cjs/ExportGraphics.js +206 -0
- package/lib/cjs/ExportGraphics.js.map +1 -0
- package/lib/cjs/ExternalSource.d.ts +95 -0
- package/lib/cjs/ExternalSource.d.ts.map +1 -0
- package/lib/cjs/ExternalSource.js +126 -0
- package/lib/cjs/ExternalSource.js.map +1 -0
- package/lib/cjs/GeometrySummary.d.ts +5 -0
- package/lib/cjs/GeometrySummary.d.ts.map +1 -0
- package/lib/cjs/GeometrySummary.js +378 -0
- package/lib/cjs/GeometrySummary.js.map +1 -0
- package/lib/cjs/IModelCloneContext.d.ts +74 -0
- package/lib/cjs/IModelCloneContext.d.ts.map +1 -0
- package/lib/cjs/IModelCloneContext.js +130 -0
- package/lib/cjs/IModelCloneContext.js.map +1 -0
- package/lib/cjs/IModelDb.d.ts +1107 -0
- package/lib/cjs/IModelDb.d.ts.map +1 -0
- package/lib/cjs/IModelDb.js +2161 -0
- package/lib/cjs/IModelDb.js.map +1 -0
- package/lib/cjs/IModelHost.d.ts +284 -0
- package/lib/cjs/IModelHost.d.ts.map +1 -0
- package/lib/cjs/IModelHost.js +411 -0
- package/lib/cjs/IModelHost.js.map +1 -0
- package/lib/cjs/IModelJsFs.d.ts +63 -0
- package/lib/cjs/IModelJsFs.d.ts.map +1 -0
- package/lib/cjs/IModelJsFs.js +141 -0
- package/lib/cjs/IModelJsFs.js.map +1 -0
- package/lib/cjs/IModelSchemaLoader.d.ts +26 -0
- package/lib/cjs/IModelSchemaLoader.d.ts.map +1 -0
- package/lib/cjs/IModelSchemaLoader.js +95 -0
- package/lib/cjs/IModelSchemaLoader.js.map +1 -0
- package/lib/cjs/IpcHost.d.ts +99 -0
- package/lib/cjs/IpcHost.d.ts.map +1 -0
- package/lib/cjs/IpcHost.js +234 -0
- package/lib/cjs/IpcHost.js.map +1 -0
- package/lib/cjs/LineStyle.d.ts +312 -0
- package/lib/cjs/LineStyle.d.ts.map +1 -0
- package/lib/cjs/LineStyle.js +296 -0
- package/lib/cjs/LineStyle.js.map +1 -0
- package/lib/cjs/LocalhostIpcHost.d.ts +19 -0
- package/lib/cjs/LocalhostIpcHost.d.ts.map +1 -0
- package/lib/cjs/LocalhostIpcHost.js +52 -0
- package/lib/cjs/LocalhostIpcHost.js.map +1 -0
- package/lib/cjs/Material.d.ts +102 -0
- package/lib/cjs/Material.d.ts.map +1 -0
- package/lib/cjs/Material.js +146 -0
- package/lib/cjs/Material.js.map +1 -0
- package/lib/cjs/Model.d.ts +387 -0
- package/lib/cjs/Model.d.ts.map +1 -0
- package/lib/cjs/Model.js +469 -0
- package/lib/cjs/Model.js.map +1 -0
- package/lib/cjs/NativeAppStorage.d.ts +52 -0
- package/lib/cjs/NativeAppStorage.d.ts.map +1 -0
- package/lib/cjs/NativeAppStorage.js +203 -0
- package/lib/cjs/NativeAppStorage.js.map +1 -0
- package/lib/cjs/NativeHost.d.ts +71 -0
- package/lib/cjs/NativeHost.d.ts.map +1 -0
- package/lib/cjs/NativeHost.js +221 -0
- package/lib/cjs/NativeHost.js.map +1 -0
- package/lib/cjs/NavigationRelationship.d.ts +157 -0
- package/lib/cjs/NavigationRelationship.d.ts.map +1 -0
- package/lib/cjs/NavigationRelationship.js +226 -0
- package/lib/cjs/NavigationRelationship.js.map +1 -0
- package/lib/cjs/PromiseMemoizer.d.ts +52 -0
- package/lib/cjs/PromiseMemoizer.d.ts.map +1 -0
- package/lib/cjs/PromiseMemoizer.js +93 -0
- package/lib/cjs/PromiseMemoizer.js.map +1 -0
- package/lib/cjs/Relationship.d.ts +400 -0
- package/lib/cjs/Relationship.d.ts.map +1 -0
- package/lib/cjs/Relationship.js +460 -0
- package/lib/cjs/Relationship.js.map +1 -0
- package/lib/cjs/RpcBackend.d.ts +23 -0
- package/lib/cjs/RpcBackend.d.ts.map +1 -0
- package/lib/cjs/RpcBackend.js +94 -0
- package/lib/cjs/RpcBackend.js.map +1 -0
- package/lib/cjs/SQLiteDb.d.ts +66 -0
- package/lib/cjs/SQLiteDb.d.ts.map +1 -0
- package/lib/cjs/SQLiteDb.js +140 -0
- package/lib/cjs/SQLiteDb.js.map +1 -0
- package/lib/cjs/Schema.d.ts +56 -0
- package/lib/cjs/Schema.d.ts.map +1 -0
- package/lib/cjs/Schema.js +84 -0
- package/lib/cjs/Schema.js.map +1 -0
- package/lib/cjs/ServerBasedLocks.d.ts +64 -0
- package/lib/cjs/ServerBasedLocks.d.ts.map +1 -0
- package/lib/cjs/ServerBasedLocks.js +177 -0
- package/lib/cjs/ServerBasedLocks.js.map +1 -0
- package/lib/cjs/SqliteStatement.d.ts +264 -0
- package/lib/cjs/SqliteStatement.d.ts.map +1 -0
- package/lib/cjs/SqliteStatement.js +417 -0
- package/lib/cjs/SqliteStatement.js.map +1 -0
- package/lib/cjs/Texture.d.ts +59 -0
- package/lib/cjs/Texture.d.ts.map +1 -0
- package/lib/cjs/Texture.js +83 -0
- package/lib/cjs/Texture.js.map +1 -0
- package/lib/cjs/TxnManager.d.ts +203 -0
- package/lib/cjs/TxnManager.d.ts.map +1 -0
- package/lib/cjs/TxnManager.js +354 -0
- package/lib/cjs/TxnManager.js.map +1 -0
- package/lib/cjs/ViewDefinition.d.ts +432 -0
- package/lib/cjs/ViewDefinition.d.ts.map +1 -0
- package/lib/cjs/ViewDefinition.js +623 -0
- package/lib/cjs/ViewDefinition.js.map +1 -0
- package/lib/cjs/assets/IModelChange.02.00.00.ecschema.xml +90 -0
- package/lib/cjs/core-backend.d.ts +162 -0
- package/lib/cjs/core-backend.d.ts.map +1 -0
- package/lib/cjs/core-backend.js +181 -0
- package/lib/cjs/core-backend.js.map +1 -0
- package/lib/cjs/domains/FunctionalElements.d.ts +102 -0
- package/lib/cjs/domains/FunctionalElements.d.ts.map +1 -0
- package/lib/cjs/domains/FunctionalElements.js +146 -0
- package/lib/cjs/domains/FunctionalElements.js.map +1 -0
- package/lib/cjs/domains/FunctionalSchema.d.ts +14 -0
- package/lib/cjs/domains/FunctionalSchema.d.ts.map +1 -0
- package/lib/cjs/domains/FunctionalSchema.js +41 -0
- package/lib/cjs/domains/FunctionalSchema.js.map +1 -0
- package/lib/cjs/domains/GenericElements.d.ts +178 -0
- package/lib/cjs/domains/GenericElements.d.ts.map +1 -0
- package/lib/cjs/domains/GenericElements.js +264 -0
- package/lib/cjs/domains/GenericElements.js.map +1 -0
- package/lib/cjs/domains/GenericSchema.d.ts +11 -0
- package/lib/cjs/domains/GenericSchema.d.ts.map +1 -0
- package/lib/cjs/domains/GenericSchema.js +29 -0
- package/lib/cjs/domains/GenericSchema.js.map +1 -0
- package/lib/cjs/rpc-impl/DevToolsRpcImpl.d.ts +16 -0
- package/lib/cjs/rpc-impl/DevToolsRpcImpl.d.ts.map +1 -0
- package/lib/cjs/rpc-impl/DevToolsRpcImpl.js +33 -0
- package/lib/cjs/rpc-impl/DevToolsRpcImpl.js.map +1 -0
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts +40 -0
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.d.ts.map +1 -0
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js +207 -0
- package/lib/cjs/rpc-impl/IModelReadRpcImpl.js.map +1 -0
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts +21 -0
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.d.ts.map +1 -0
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.js +193 -0
- package/lib/cjs/rpc-impl/IModelTileRpcImpl.js.map +1 -0
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts +37 -0
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.d.ts.map +1 -0
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js +162 -0
- package/lib/cjs/rpc-impl/RpcBriefcaseUtility.js.map +1 -0
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts +17 -0
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.d.ts.map +1 -0
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js +44 -0
- package/lib/cjs/rpc-impl/SnapshotIModelRpcImpl.js.map +1 -0
- package/lib/cjs/rpc-impl/WipRpcImpl.d.ts +16 -0
- package/lib/cjs/rpc-impl/WipRpcImpl.d.ts.map +1 -0
- package/lib/cjs/rpc-impl/WipRpcImpl.js +35 -0
- package/lib/cjs/rpc-impl/WipRpcImpl.js.map +1 -0
- package/package.json +101 -0
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Relationships
|
|
3
|
+
*/
|
|
4
|
+
import { Id64String } from "@itwin/core-bentley";
|
|
5
|
+
import { RelatedElement, TypeDefinition } from "@itwin/core-common";
|
|
6
|
+
/** Relates a parent Element to child Elements which represent parts of the Entity modeled by the parent Element.
|
|
7
|
+
* @public
|
|
8
|
+
*/
|
|
9
|
+
export declare class ElementOwnsChildElements extends RelatedElement {
|
|
10
|
+
static classFullName: string;
|
|
11
|
+
constructor(parentId: Id64String, relClassName?: string);
|
|
12
|
+
}
|
|
13
|
+
/** Relates a parent [[Subject]] to [[Subject]] child elements.
|
|
14
|
+
* @public
|
|
15
|
+
*/
|
|
16
|
+
export declare class SubjectOwnsSubjects extends ElementOwnsChildElements {
|
|
17
|
+
static classFullName: string;
|
|
18
|
+
constructor(parentId: Id64String, relClassName?: string);
|
|
19
|
+
}
|
|
20
|
+
/** Relates a parent [[Subject]] to [[InformationPartitionElement]] child elements.
|
|
21
|
+
* @public
|
|
22
|
+
*/
|
|
23
|
+
export declare class SubjectOwnsPartitionElements extends ElementOwnsChildElements {
|
|
24
|
+
static classFullName: string;
|
|
25
|
+
constructor(parentId: Id64String, relClassName?: string);
|
|
26
|
+
}
|
|
27
|
+
/** Relates a parent [[Category]] to [[SubCategory]] child elements.
|
|
28
|
+
* @public
|
|
29
|
+
*/
|
|
30
|
+
export declare class CategoryOwnsSubCategories extends ElementOwnsChildElements {
|
|
31
|
+
static classFullName: string;
|
|
32
|
+
constructor(parentId: Id64String, relClassName?: string);
|
|
33
|
+
}
|
|
34
|
+
/** Relates a parent [[RenderMaterial]] to [[RenderMaterial]] child elements.
|
|
35
|
+
* @public
|
|
36
|
+
*/
|
|
37
|
+
export declare class RenderMaterialOwnsRenderMaterials extends ElementOwnsChildElements {
|
|
38
|
+
static classFullName: string;
|
|
39
|
+
constructor(parentId: Id64String, relClassName?: string);
|
|
40
|
+
}
|
|
41
|
+
/** Relates a parent Element to child Elements which represent **hidden** parts of the Entity.
|
|
42
|
+
* @public
|
|
43
|
+
*/
|
|
44
|
+
export declare class ElementEncapsulatesElements extends ElementOwnsChildElements {
|
|
45
|
+
static classFullName: string;
|
|
46
|
+
constructor(parentId: Id64String, relClassName?: string);
|
|
47
|
+
}
|
|
48
|
+
/** Relates a parent [[PhysicalElement]] to [[PhysicalElement]] children that it assembles.
|
|
49
|
+
* @public
|
|
50
|
+
*/
|
|
51
|
+
export declare class PhysicalElementAssemblesElements extends ElementOwnsChildElements {
|
|
52
|
+
static classFullName: string;
|
|
53
|
+
constructor(parentId: Id64String, relClassName?: string);
|
|
54
|
+
}
|
|
55
|
+
/** Relates a parent [[ExternalSource]] to its [[ExternalSourceAttachment]] children.
|
|
56
|
+
* @note The associated ECClass was added to the BisCore schema in version 1.0.13
|
|
57
|
+
* @beta
|
|
58
|
+
*/
|
|
59
|
+
export declare class ExternalSourceOwnsAttachments extends ElementOwnsChildElements {
|
|
60
|
+
static classFullName: string;
|
|
61
|
+
constructor(parentId: Id64String, relClassName?: string);
|
|
62
|
+
}
|
|
63
|
+
/** Relates a parent [[FolderLink]] to its [[RepositoryLink]] children.
|
|
64
|
+
* @note The associated ECClass was added to the BisCore schema in version 1.0.13
|
|
65
|
+
* @beta
|
|
66
|
+
*/
|
|
67
|
+
export declare class FolderContainsRepositories extends ElementOwnsChildElements {
|
|
68
|
+
static classFullName: string;
|
|
69
|
+
constructor(parentId: Id64String, relClassName?: string);
|
|
70
|
+
}
|
|
71
|
+
/** Relates a [[GeometricElement2d]] to its [[TypeDefinitionElement]]
|
|
72
|
+
* @public
|
|
73
|
+
*/
|
|
74
|
+
export declare class GeometricElement2dHasTypeDefinition extends TypeDefinition {
|
|
75
|
+
static classFullName: string;
|
|
76
|
+
constructor(id: Id64String, relClassName?: string);
|
|
77
|
+
}
|
|
78
|
+
/** Relates a [[GraphicalElement2d]] to its [[GraphicalType2d]]
|
|
79
|
+
* @public
|
|
80
|
+
*/
|
|
81
|
+
export declare class GraphicalElement2dIsOfType extends GeometricElement2dHasTypeDefinition {
|
|
82
|
+
static classFullName: string;
|
|
83
|
+
constructor(id: Id64String, relClassName?: string);
|
|
84
|
+
}
|
|
85
|
+
/** Relates a [[GeometricElement3d]] to its [[TypeDefinitionElement]]
|
|
86
|
+
* @public
|
|
87
|
+
*/
|
|
88
|
+
export declare class GeometricElement3dHasTypeDefinition extends TypeDefinition {
|
|
89
|
+
static classFullName: string;
|
|
90
|
+
constructor(id: Id64String, relClassName?: string);
|
|
91
|
+
}
|
|
92
|
+
/** Relates a [[SpatialLocationElement]] to its [[SpatialLocationType]]
|
|
93
|
+
* @public
|
|
94
|
+
*/
|
|
95
|
+
export declare class SpatialLocationIsOfType extends GeometricElement3dHasTypeDefinition {
|
|
96
|
+
static classFullName: string;
|
|
97
|
+
constructor(id: Id64String, relClassName?: string);
|
|
98
|
+
}
|
|
99
|
+
/** Relates a [[PhysicalElement]] to its [[PhysicalType]]
|
|
100
|
+
* @public
|
|
101
|
+
*/
|
|
102
|
+
export declare class PhysicalElementIsOfType extends GeometricElement3dHasTypeDefinition {
|
|
103
|
+
static classFullName: string;
|
|
104
|
+
constructor(id: Id64String, relClassName?: string);
|
|
105
|
+
}
|
|
106
|
+
/** Relates a [[PhysicalElement]] to its [[PhysicalMaterial]]
|
|
107
|
+
* @public
|
|
108
|
+
*/
|
|
109
|
+
export declare class PhysicalElementIsOfPhysicalMaterial extends RelatedElement {
|
|
110
|
+
static classFullName: string;
|
|
111
|
+
constructor(id: Id64String);
|
|
112
|
+
}
|
|
113
|
+
/** Relates a [[PhysicalType]] to its [[PhysicalMaterial]]
|
|
114
|
+
* @public
|
|
115
|
+
*/
|
|
116
|
+
export declare class PhysicalTypeIsOfPhysicalMaterial extends RelatedElement {
|
|
117
|
+
static classFullName: string;
|
|
118
|
+
constructor(id: Id64String);
|
|
119
|
+
}
|
|
120
|
+
/** Relates an [[Element]] and an [[ElementUniqueAspect]] that it owns.
|
|
121
|
+
* @public
|
|
122
|
+
*/
|
|
123
|
+
export declare class ElementOwnsUniqueAspect extends RelatedElement {
|
|
124
|
+
static classFullName: string;
|
|
125
|
+
constructor(elementId: Id64String, relClassName?: string);
|
|
126
|
+
}
|
|
127
|
+
/** Relates an [[Element]] and an [[ElementMultiAspect]] that it owns.
|
|
128
|
+
* @public
|
|
129
|
+
*/
|
|
130
|
+
export declare class ElementOwnsMultiAspects extends RelatedElement {
|
|
131
|
+
static classFullName: string;
|
|
132
|
+
constructor(elementId: Id64String, relClassName?: string);
|
|
133
|
+
}
|
|
134
|
+
/** Relates an [[Element]] and an [[ExternalSourceAspect]] that it owns.
|
|
135
|
+
* @public
|
|
136
|
+
*/
|
|
137
|
+
export declare class ElementOwnsExternalSourceAspects extends ElementOwnsMultiAspects {
|
|
138
|
+
static classFullName: string;
|
|
139
|
+
constructor(elementId: Id64String, relClassName?: string);
|
|
140
|
+
}
|
|
141
|
+
/** Relates an [[ExternalSource]] to the [[RepositoryLink]] that it is persisted in.
|
|
142
|
+
* @note The associated ECClass was added to the BisCore schema in version 1.0.13
|
|
143
|
+
* @beta
|
|
144
|
+
*/
|
|
145
|
+
export declare class ExternalSourceIsInRepository extends RelatedElement {
|
|
146
|
+
static classFullName: string;
|
|
147
|
+
constructor(repositoryId: Id64String, relClassName?: string);
|
|
148
|
+
}
|
|
149
|
+
/** Relates an [[ExternalSource]] to the [[RepositoryLink]] that it is persisted in.
|
|
150
|
+
* @note The associated ECClass was added to the BisCore schema in version 1.0.13
|
|
151
|
+
* @beta
|
|
152
|
+
*/
|
|
153
|
+
export declare class ExternalSourceAttachmentAttachesSource extends RelatedElement {
|
|
154
|
+
static classFullName: string;
|
|
155
|
+
constructor(externalSourceId: Id64String, relClassName?: string);
|
|
156
|
+
}
|
|
157
|
+
//# sourceMappingURL=NavigationRelationship.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationRelationship.d.ts","sourceRoot":"","sources":["../../src/NavigationRelationship.ts"],"names":[],"mappings":"AAIA;;GAEG;AAKH,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpE;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,cAAc;IAC1D,OAAc,aAAa,SAAsC;gBAC9C,QAAQ,EAAE,UAAU,EAAE,YAAY,GAAE,MAA+C;CAGvG;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,wBAAwB;IAC/D,OAAuB,aAAa,SAAiC;gBAClD,QAAQ,EAAE,UAAU,EAAE,YAAY,GAAE,MAA0C;CAGlG;AAED;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,wBAAwB;IACxE,OAAuB,aAAa,SAA0C;gBAC3D,QAAQ,EAAE,UAAU,EAAE,YAAY,GAAE,MAAmD;CAG3G;AAED;;GAEG;AACH,qBAAa,yBAA0B,SAAQ,wBAAwB;IACrE,OAAuB,aAAa,SAAuC;gBACxD,QAAQ,EAAE,UAAU,EAAE,YAAY,GAAE,MAAgD;CAGxG;AAED;;GAEG;AACH,qBAAa,iCAAkC,SAAQ,wBAAwB;IAC7E,OAAuB,aAAa,SAA+C;gBAChE,QAAQ,EAAE,UAAU,EAAE,YAAY,GAAE,MAAwD;CAGhH;AAED;;GAEG;AACH,qBAAa,2BAA4B,SAAQ,wBAAwB;IACvE,OAAuB,aAAa,SAAyC;gBAC1D,QAAQ,EAAE,UAAU,EAAE,YAAY,GAAE,MAAkD;CAG1G;AAED;;GAEG;AACH,qBAAa,gCAAiC,SAAQ,wBAAwB;IAC5E,OAAuB,aAAa,SAA8C;gBAC/D,QAAQ,EAAE,UAAU,EAAE,YAAY,GAAE,MAAuD;CAG/G;AAED;;;GAGG;AACH,qBAAa,6BAA8B,SAAQ,wBAAwB;IACzE,OAAuB,aAAa,SAA2C;gBAC5D,QAAQ,EAAE,UAAU,EAAE,YAAY,GAAE,MAAoD;CAG5G;AAED;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,wBAAwB;IACtE,OAAuB,aAAa,SAAwC;gBACzD,QAAQ,EAAE,UAAU,EAAE,YAAY,GAAE,MAAiD;CAGzG;AAED;;GAEG;AACH,qBAAa,mCAAoC,SAAQ,cAAc;IACrE,OAAc,aAAa,SAAiD;gBACzD,EAAE,EAAE,UAAU,EAAE,YAAY,GAAE,MAA0D;CAG5G;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,mCAAmC;IACjF,OAAuB,aAAa,SAAwC;gBACzD,EAAE,EAAE,UAAU,EAAE,YAAY,GAAE,MAAiD;CAGnG;AAED;;GAEG;AACH,qBAAa,mCAAoC,SAAQ,cAAc;IACrE,OAAc,aAAa,SAAiD;gBACzD,EAAE,EAAE,UAAU,EAAE,YAAY,GAAE,MAA0D;CAG5G;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,mCAAmC;IAC9E,OAAuB,aAAa,SAAqC;gBACtD,EAAE,EAAE,UAAU,EAAE,YAAY,GAAE,MAA8C;CAGhG;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,mCAAmC;IAC9E,OAAuB,aAAa,SAAqC;gBACtD,EAAE,EAAE,UAAU,EAAE,YAAY,GAAE,MAA8C;CAGhG;AAED;;GAEG;AACH,qBAAa,mCAAoC,SAAQ,cAAc;IACrE,OAAc,aAAa,SAAiD;gBACzD,EAAE,EAAE,UAAU;CAGlC;AAED;;GAEG;AACH,qBAAa,gCAAiC,SAAQ,cAAc;IAClE,OAAc,aAAa,SAA8C;gBACtD,EAAE,EAAE,UAAU;CAGlC;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,cAAc;IACzD,OAAc,aAAa,SAAqC;gBAC7C,SAAS,EAAE,UAAU,EAAE,YAAY,GAAE,MAA8C;CAGvG;AAED;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,cAAc;IACzD,OAAc,aAAa,SAAqC;gBAC7C,SAAS,EAAE,UAAU,EAAE,YAAY,GAAE,MAA8C;CAGvG;AAED;;GAEG;AACH,qBAAa,gCAAiC,SAAQ,uBAAuB;IAC3E,OAAuB,aAAa,SAA8C;gBAC/D,SAAS,EAAE,UAAU,EAAE,YAAY,GAAE,MAAuD;CAGhH;AAED;;;GAGG;AACH,qBAAa,4BAA6B,SAAQ,cAAc;IAC9D,OAAc,aAAa,SAA0C;gBAClD,YAAY,EAAE,UAAU,EAAE,YAAY,GAAE,MAAmD;CAG/G;AAED;;;GAGG;AACH,qBAAa,sCAAuC,SAAQ,cAAc;IACxE,OAAc,aAAa,SAAoD;gBAC5D,gBAAgB,EAAE,UAAU,EAAE,YAAY,GAAE,MAA6D;CAG7H"}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module Relationships
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.ExternalSourceAttachmentAttachesSource = exports.ExternalSourceIsInRepository = exports.ElementOwnsExternalSourceAspects = exports.ElementOwnsMultiAspects = exports.ElementOwnsUniqueAspect = exports.PhysicalTypeIsOfPhysicalMaterial = exports.PhysicalElementIsOfPhysicalMaterial = exports.PhysicalElementIsOfType = exports.SpatialLocationIsOfType = exports.GeometricElement3dHasTypeDefinition = exports.GraphicalElement2dIsOfType = exports.GeometricElement2dHasTypeDefinition = exports.FolderContainsRepositories = exports.ExternalSourceOwnsAttachments = exports.PhysicalElementAssemblesElements = exports.ElementEncapsulatesElements = exports.RenderMaterialOwnsRenderMaterials = exports.CategoryOwnsSubCategories = exports.SubjectOwnsPartitionElements = exports.SubjectOwnsSubjects = exports.ElementOwnsChildElements = void 0;
|
|
11
|
+
const core_common_1 = require("@itwin/core-common");
|
|
12
|
+
/** Relates a parent Element to child Elements which represent parts of the Entity modeled by the parent Element.
|
|
13
|
+
* @public
|
|
14
|
+
*/
|
|
15
|
+
class ElementOwnsChildElements extends core_common_1.RelatedElement {
|
|
16
|
+
constructor(parentId, relClassName = ElementOwnsChildElements.classFullName) {
|
|
17
|
+
super({ id: parentId, relClassName });
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.ElementOwnsChildElements = ElementOwnsChildElements;
|
|
21
|
+
ElementOwnsChildElements.classFullName = "BisCore:ElementOwnsChildElements";
|
|
22
|
+
/** Relates a parent [[Subject]] to [[Subject]] child elements.
|
|
23
|
+
* @public
|
|
24
|
+
*/
|
|
25
|
+
class SubjectOwnsSubjects extends ElementOwnsChildElements {
|
|
26
|
+
constructor(parentId, relClassName = SubjectOwnsSubjects.classFullName) {
|
|
27
|
+
super(parentId, relClassName);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.SubjectOwnsSubjects = SubjectOwnsSubjects;
|
|
31
|
+
SubjectOwnsSubjects.classFullName = "BisCore:SubjectOwnsSubjects";
|
|
32
|
+
/** Relates a parent [[Subject]] to [[InformationPartitionElement]] child elements.
|
|
33
|
+
* @public
|
|
34
|
+
*/
|
|
35
|
+
class SubjectOwnsPartitionElements extends ElementOwnsChildElements {
|
|
36
|
+
constructor(parentId, relClassName = SubjectOwnsPartitionElements.classFullName) {
|
|
37
|
+
super(parentId, relClassName);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
exports.SubjectOwnsPartitionElements = SubjectOwnsPartitionElements;
|
|
41
|
+
SubjectOwnsPartitionElements.classFullName = "BisCore:SubjectOwnsPartitionElements";
|
|
42
|
+
/** Relates a parent [[Category]] to [[SubCategory]] child elements.
|
|
43
|
+
* @public
|
|
44
|
+
*/
|
|
45
|
+
class CategoryOwnsSubCategories extends ElementOwnsChildElements {
|
|
46
|
+
constructor(parentId, relClassName = CategoryOwnsSubCategories.classFullName) {
|
|
47
|
+
super(parentId, relClassName);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
exports.CategoryOwnsSubCategories = CategoryOwnsSubCategories;
|
|
51
|
+
CategoryOwnsSubCategories.classFullName = "BisCore:CategoryOwnsSubCategories";
|
|
52
|
+
/** Relates a parent [[RenderMaterial]] to [[RenderMaterial]] child elements.
|
|
53
|
+
* @public
|
|
54
|
+
*/
|
|
55
|
+
class RenderMaterialOwnsRenderMaterials extends ElementOwnsChildElements {
|
|
56
|
+
constructor(parentId, relClassName = RenderMaterialOwnsRenderMaterials.classFullName) {
|
|
57
|
+
super(parentId, relClassName);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.RenderMaterialOwnsRenderMaterials = RenderMaterialOwnsRenderMaterials;
|
|
61
|
+
RenderMaterialOwnsRenderMaterials.classFullName = "BisCore:RenderMaterialOwnsRenderMaterials";
|
|
62
|
+
/** Relates a parent Element to child Elements which represent **hidden** parts of the Entity.
|
|
63
|
+
* @public
|
|
64
|
+
*/
|
|
65
|
+
class ElementEncapsulatesElements extends ElementOwnsChildElements {
|
|
66
|
+
constructor(parentId, relClassName = ElementEncapsulatesElements.classFullName) {
|
|
67
|
+
super(parentId, relClassName);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
exports.ElementEncapsulatesElements = ElementEncapsulatesElements;
|
|
71
|
+
ElementEncapsulatesElements.classFullName = "BisCore:ElementEncapsulatesElements";
|
|
72
|
+
/** Relates a parent [[PhysicalElement]] to [[PhysicalElement]] children that it assembles.
|
|
73
|
+
* @public
|
|
74
|
+
*/
|
|
75
|
+
class PhysicalElementAssemblesElements extends ElementOwnsChildElements {
|
|
76
|
+
constructor(parentId, relClassName = PhysicalElementAssemblesElements.classFullName) {
|
|
77
|
+
super(parentId, relClassName);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.PhysicalElementAssemblesElements = PhysicalElementAssemblesElements;
|
|
81
|
+
PhysicalElementAssemblesElements.classFullName = "BisCore:PhysicalElementAssemblesElements";
|
|
82
|
+
/** Relates a parent [[ExternalSource]] to its [[ExternalSourceAttachment]] children.
|
|
83
|
+
* @note The associated ECClass was added to the BisCore schema in version 1.0.13
|
|
84
|
+
* @beta
|
|
85
|
+
*/
|
|
86
|
+
class ExternalSourceOwnsAttachments extends ElementOwnsChildElements {
|
|
87
|
+
constructor(parentId, relClassName = ExternalSourceOwnsAttachments.classFullName) {
|
|
88
|
+
super(parentId, relClassName);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.ExternalSourceOwnsAttachments = ExternalSourceOwnsAttachments;
|
|
92
|
+
ExternalSourceOwnsAttachments.classFullName = "BisCore:ExternalSourceOwnsAttachments";
|
|
93
|
+
/** Relates a parent [[FolderLink]] to its [[RepositoryLink]] children.
|
|
94
|
+
* @note The associated ECClass was added to the BisCore schema in version 1.0.13
|
|
95
|
+
* @beta
|
|
96
|
+
*/
|
|
97
|
+
class FolderContainsRepositories extends ElementOwnsChildElements {
|
|
98
|
+
constructor(parentId, relClassName = FolderContainsRepositories.classFullName) {
|
|
99
|
+
super(parentId, relClassName);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
exports.FolderContainsRepositories = FolderContainsRepositories;
|
|
103
|
+
FolderContainsRepositories.classFullName = "BisCore:FolderContainsRepositories";
|
|
104
|
+
/** Relates a [[GeometricElement2d]] to its [[TypeDefinitionElement]]
|
|
105
|
+
* @public
|
|
106
|
+
*/
|
|
107
|
+
class GeometricElement2dHasTypeDefinition extends core_common_1.TypeDefinition {
|
|
108
|
+
constructor(id, relClassName = GeometricElement2dHasTypeDefinition.classFullName) {
|
|
109
|
+
super({ id, relClassName });
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.GeometricElement2dHasTypeDefinition = GeometricElement2dHasTypeDefinition;
|
|
113
|
+
GeometricElement2dHasTypeDefinition.classFullName = "BisCore:GeometricElement2dHasTypeDefinition";
|
|
114
|
+
/** Relates a [[GraphicalElement2d]] to its [[GraphicalType2d]]
|
|
115
|
+
* @public
|
|
116
|
+
*/
|
|
117
|
+
class GraphicalElement2dIsOfType extends GeometricElement2dHasTypeDefinition {
|
|
118
|
+
constructor(id, relClassName = GraphicalElement2dIsOfType.classFullName) {
|
|
119
|
+
super(id, relClassName);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
exports.GraphicalElement2dIsOfType = GraphicalElement2dIsOfType;
|
|
123
|
+
GraphicalElement2dIsOfType.classFullName = "BisCore:GraphicalElement2dIsOfType";
|
|
124
|
+
/** Relates a [[GeometricElement3d]] to its [[TypeDefinitionElement]]
|
|
125
|
+
* @public
|
|
126
|
+
*/
|
|
127
|
+
class GeometricElement3dHasTypeDefinition extends core_common_1.TypeDefinition {
|
|
128
|
+
constructor(id, relClassName = GeometricElement3dHasTypeDefinition.classFullName) {
|
|
129
|
+
super({ id, relClassName });
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
exports.GeometricElement3dHasTypeDefinition = GeometricElement3dHasTypeDefinition;
|
|
133
|
+
GeometricElement3dHasTypeDefinition.classFullName = "BisCore:GeometricElement3dHasTypeDefinition";
|
|
134
|
+
/** Relates a [[SpatialLocationElement]] to its [[SpatialLocationType]]
|
|
135
|
+
* @public
|
|
136
|
+
*/
|
|
137
|
+
class SpatialLocationIsOfType extends GeometricElement3dHasTypeDefinition {
|
|
138
|
+
constructor(id, relClassName = SpatialLocationIsOfType.classFullName) {
|
|
139
|
+
super(id, relClassName);
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
exports.SpatialLocationIsOfType = SpatialLocationIsOfType;
|
|
143
|
+
SpatialLocationIsOfType.classFullName = "BisCore:SpatialLocationIsOfType";
|
|
144
|
+
/** Relates a [[PhysicalElement]] to its [[PhysicalType]]
|
|
145
|
+
* @public
|
|
146
|
+
*/
|
|
147
|
+
class PhysicalElementIsOfType extends GeometricElement3dHasTypeDefinition {
|
|
148
|
+
constructor(id, relClassName = PhysicalElementIsOfType.classFullName) {
|
|
149
|
+
super(id, relClassName);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
exports.PhysicalElementIsOfType = PhysicalElementIsOfType;
|
|
153
|
+
PhysicalElementIsOfType.classFullName = "BisCore:PhysicalElementIsOfType";
|
|
154
|
+
/** Relates a [[PhysicalElement]] to its [[PhysicalMaterial]]
|
|
155
|
+
* @public
|
|
156
|
+
*/
|
|
157
|
+
class PhysicalElementIsOfPhysicalMaterial extends core_common_1.RelatedElement {
|
|
158
|
+
constructor(id) {
|
|
159
|
+
super({ id });
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
exports.PhysicalElementIsOfPhysicalMaterial = PhysicalElementIsOfPhysicalMaterial;
|
|
163
|
+
PhysicalElementIsOfPhysicalMaterial.classFullName = "BisCore:PhysicalElementIsOfPhysicalMaterial";
|
|
164
|
+
/** Relates a [[PhysicalType]] to its [[PhysicalMaterial]]
|
|
165
|
+
* @public
|
|
166
|
+
*/
|
|
167
|
+
class PhysicalTypeIsOfPhysicalMaterial extends core_common_1.RelatedElement {
|
|
168
|
+
constructor(id) {
|
|
169
|
+
super({ id });
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
exports.PhysicalTypeIsOfPhysicalMaterial = PhysicalTypeIsOfPhysicalMaterial;
|
|
173
|
+
PhysicalTypeIsOfPhysicalMaterial.classFullName = "BisCore:PhysicalTypeIsOfPhysicalMaterial";
|
|
174
|
+
/** Relates an [[Element]] and an [[ElementUniqueAspect]] that it owns.
|
|
175
|
+
* @public
|
|
176
|
+
*/
|
|
177
|
+
class ElementOwnsUniqueAspect extends core_common_1.RelatedElement {
|
|
178
|
+
constructor(elementId, relClassName = ElementOwnsUniqueAspect.classFullName) {
|
|
179
|
+
super({ id: elementId, relClassName });
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
exports.ElementOwnsUniqueAspect = ElementOwnsUniqueAspect;
|
|
183
|
+
ElementOwnsUniqueAspect.classFullName = "BisCore:ElementOwnsUniqueAspect";
|
|
184
|
+
/** Relates an [[Element]] and an [[ElementMultiAspect]] that it owns.
|
|
185
|
+
* @public
|
|
186
|
+
*/
|
|
187
|
+
class ElementOwnsMultiAspects extends core_common_1.RelatedElement {
|
|
188
|
+
constructor(elementId, relClassName = ElementOwnsMultiAspects.classFullName) {
|
|
189
|
+
super({ id: elementId, relClassName });
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
exports.ElementOwnsMultiAspects = ElementOwnsMultiAspects;
|
|
193
|
+
ElementOwnsMultiAspects.classFullName = "BisCore:ElementOwnsMultiAspects";
|
|
194
|
+
/** Relates an [[Element]] and an [[ExternalSourceAspect]] that it owns.
|
|
195
|
+
* @public
|
|
196
|
+
*/
|
|
197
|
+
class ElementOwnsExternalSourceAspects extends ElementOwnsMultiAspects {
|
|
198
|
+
constructor(elementId, relClassName = ElementOwnsExternalSourceAspects.classFullName) {
|
|
199
|
+
super(elementId, relClassName);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
exports.ElementOwnsExternalSourceAspects = ElementOwnsExternalSourceAspects;
|
|
203
|
+
ElementOwnsExternalSourceAspects.classFullName = "BisCore:ElementOwnsExternalSourceAspects";
|
|
204
|
+
/** Relates an [[ExternalSource]] to the [[RepositoryLink]] that it is persisted in.
|
|
205
|
+
* @note The associated ECClass was added to the BisCore schema in version 1.0.13
|
|
206
|
+
* @beta
|
|
207
|
+
*/
|
|
208
|
+
class ExternalSourceIsInRepository extends core_common_1.RelatedElement {
|
|
209
|
+
constructor(repositoryId, relClassName = ExternalSourceIsInRepository.classFullName) {
|
|
210
|
+
super({ id: repositoryId, relClassName });
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
exports.ExternalSourceIsInRepository = ExternalSourceIsInRepository;
|
|
214
|
+
ExternalSourceIsInRepository.classFullName = "BisCore:ExternalSourceIsInRepository";
|
|
215
|
+
/** Relates an [[ExternalSource]] to the [[RepositoryLink]] that it is persisted in.
|
|
216
|
+
* @note The associated ECClass was added to the BisCore schema in version 1.0.13
|
|
217
|
+
* @beta
|
|
218
|
+
*/
|
|
219
|
+
class ExternalSourceAttachmentAttachesSource extends core_common_1.RelatedElement {
|
|
220
|
+
constructor(externalSourceId, relClassName = ExternalSourceAttachmentAttachesSource.classFullName) {
|
|
221
|
+
super({ id: externalSourceId, relClassName });
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
exports.ExternalSourceAttachmentAttachesSource = ExternalSourceAttachmentAttachesSource;
|
|
225
|
+
ExternalSourceAttachmentAttachesSource.classFullName = "BisCore:ExternalSourceAttachmentAttachesSource";
|
|
226
|
+
//# sourceMappingURL=NavigationRelationship.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationRelationship.js","sourceRoot":"","sources":["../../src/NavigationRelationship.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 Relationships\r\n */\r\n\r\n// NOTE: A NavigationRelationship is not an Entity, so is not registered in the ClassRegistry.\r\n// NOTE: It does, however, have a classFullName property for consistency with Entity subclasses.\r\n\r\nimport { Id64String } from \"@itwin/core-bentley\";\r\nimport { RelatedElement, TypeDefinition } from \"@itwin/core-common\";\r\n\r\n/** Relates a parent Element to child Elements which represent parts of the Entity modeled by the parent Element.\r\n * @public\r\n */\r\nexport class ElementOwnsChildElements extends RelatedElement {\r\n public static classFullName = \"BisCore:ElementOwnsChildElements\";\r\n public constructor(parentId: Id64String, relClassName: string = ElementOwnsChildElements.classFullName) {\r\n super({ id: parentId, relClassName });\r\n }\r\n}\r\n\r\n/** Relates a parent [[Subject]] to [[Subject]] child elements.\r\n * @public\r\n */\r\nexport class SubjectOwnsSubjects extends ElementOwnsChildElements {\r\n public static override classFullName = \"BisCore:SubjectOwnsSubjects\";\r\n public constructor(parentId: Id64String, relClassName: string = SubjectOwnsSubjects.classFullName) {\r\n super(parentId, relClassName);\r\n }\r\n}\r\n\r\n/** Relates a parent [[Subject]] to [[InformationPartitionElement]] child elements.\r\n * @public\r\n */\r\nexport class SubjectOwnsPartitionElements extends ElementOwnsChildElements {\r\n public static override classFullName = \"BisCore:SubjectOwnsPartitionElements\";\r\n public constructor(parentId: Id64String, relClassName: string = SubjectOwnsPartitionElements.classFullName) {\r\n super(parentId, relClassName);\r\n }\r\n}\r\n\r\n/** Relates a parent [[Category]] to [[SubCategory]] child elements.\r\n * @public\r\n */\r\nexport class CategoryOwnsSubCategories extends ElementOwnsChildElements {\r\n public static override classFullName = \"BisCore:CategoryOwnsSubCategories\";\r\n public constructor(parentId: Id64String, relClassName: string = CategoryOwnsSubCategories.classFullName) {\r\n super(parentId, relClassName);\r\n }\r\n}\r\n\r\n/** Relates a parent [[RenderMaterial]] to [[RenderMaterial]] child elements.\r\n * @public\r\n */\r\nexport class RenderMaterialOwnsRenderMaterials extends ElementOwnsChildElements {\r\n public static override classFullName = \"BisCore:RenderMaterialOwnsRenderMaterials\";\r\n public constructor(parentId: Id64String, relClassName: string = RenderMaterialOwnsRenderMaterials.classFullName) {\r\n super(parentId, relClassName);\r\n }\r\n}\r\n\r\n/** Relates a parent Element to child Elements which represent **hidden** parts of the Entity.\r\n * @public\r\n */\r\nexport class ElementEncapsulatesElements extends ElementOwnsChildElements {\r\n public static override classFullName = \"BisCore:ElementEncapsulatesElements\";\r\n public constructor(parentId: Id64String, relClassName: string = ElementEncapsulatesElements.classFullName) {\r\n super(parentId, relClassName);\r\n }\r\n}\r\n\r\n/** Relates a parent [[PhysicalElement]] to [[PhysicalElement]] children that it assembles.\r\n * @public\r\n */\r\nexport class PhysicalElementAssemblesElements extends ElementOwnsChildElements {\r\n public static override classFullName = \"BisCore:PhysicalElementAssemblesElements\";\r\n public constructor(parentId: Id64String, relClassName: string = PhysicalElementAssemblesElements.classFullName) {\r\n super(parentId, relClassName);\r\n }\r\n}\r\n\r\n/** Relates a parent [[ExternalSource]] to its [[ExternalSourceAttachment]] children.\r\n * @note The associated ECClass was added to the BisCore schema in version 1.0.13\r\n * @beta\r\n */\r\nexport class ExternalSourceOwnsAttachments extends ElementOwnsChildElements {\r\n public static override classFullName = \"BisCore:ExternalSourceOwnsAttachments\";\r\n public constructor(parentId: Id64String, relClassName: string = ExternalSourceOwnsAttachments.classFullName) {\r\n super(parentId, relClassName);\r\n }\r\n}\r\n\r\n/** Relates a parent [[FolderLink]] to its [[RepositoryLink]] children.\r\n * @note The associated ECClass was added to the BisCore schema in version 1.0.13\r\n * @beta\r\n */\r\nexport class FolderContainsRepositories extends ElementOwnsChildElements {\r\n public static override classFullName = \"BisCore:FolderContainsRepositories\";\r\n public constructor(parentId: Id64String, relClassName: string = FolderContainsRepositories.classFullName) {\r\n super(parentId, relClassName);\r\n }\r\n}\r\n\r\n/** Relates a [[GeometricElement2d]] to its [[TypeDefinitionElement]]\r\n * @public\r\n */\r\nexport class GeometricElement2dHasTypeDefinition extends TypeDefinition {\r\n public static classFullName = \"BisCore:GeometricElement2dHasTypeDefinition\";\r\n public constructor(id: Id64String, relClassName: string = GeometricElement2dHasTypeDefinition.classFullName) {\r\n super({ id, relClassName });\r\n }\r\n}\r\n\r\n/** Relates a [[GraphicalElement2d]] to its [[GraphicalType2d]]\r\n * @public\r\n */\r\nexport class GraphicalElement2dIsOfType extends GeometricElement2dHasTypeDefinition {\r\n public static override classFullName = \"BisCore:GraphicalElement2dIsOfType\";\r\n public constructor(id: Id64String, relClassName: string = GraphicalElement2dIsOfType.classFullName) {\r\n super(id, relClassName);\r\n }\r\n}\r\n\r\n/** Relates a [[GeometricElement3d]] to its [[TypeDefinitionElement]]\r\n * @public\r\n */\r\nexport class GeometricElement3dHasTypeDefinition extends TypeDefinition {\r\n public static classFullName = \"BisCore:GeometricElement3dHasTypeDefinition\";\r\n public constructor(id: Id64String, relClassName: string = GeometricElement3dHasTypeDefinition.classFullName) {\r\n super({ id, relClassName });\r\n }\r\n}\r\n\r\n/** Relates a [[SpatialLocationElement]] to its [[SpatialLocationType]]\r\n * @public\r\n */\r\nexport class SpatialLocationIsOfType extends GeometricElement3dHasTypeDefinition {\r\n public static override classFullName = \"BisCore:SpatialLocationIsOfType\";\r\n public constructor(id: Id64String, relClassName: string = SpatialLocationIsOfType.classFullName) {\r\n super(id, relClassName);\r\n }\r\n}\r\n\r\n/** Relates a [[PhysicalElement]] to its [[PhysicalType]]\r\n * @public\r\n */\r\nexport class PhysicalElementIsOfType extends GeometricElement3dHasTypeDefinition {\r\n public static override classFullName = \"BisCore:PhysicalElementIsOfType\";\r\n public constructor(id: Id64String, relClassName: string = PhysicalElementIsOfType.classFullName) {\r\n super(id, relClassName);\r\n }\r\n}\r\n\r\n/** Relates a [[PhysicalElement]] to its [[PhysicalMaterial]]\r\n * @public\r\n */\r\nexport class PhysicalElementIsOfPhysicalMaterial extends RelatedElement {\r\n public static classFullName = \"BisCore:PhysicalElementIsOfPhysicalMaterial\";\r\n public constructor(id: Id64String) {\r\n super({ id });\r\n }\r\n}\r\n\r\n/** Relates a [[PhysicalType]] to its [[PhysicalMaterial]]\r\n * @public\r\n */\r\nexport class PhysicalTypeIsOfPhysicalMaterial extends RelatedElement {\r\n public static classFullName = \"BisCore:PhysicalTypeIsOfPhysicalMaterial\";\r\n public constructor(id: Id64String) {\r\n super({ id });\r\n }\r\n}\r\n\r\n/** Relates an [[Element]] and an [[ElementUniqueAspect]] that it owns.\r\n * @public\r\n */\r\nexport class ElementOwnsUniqueAspect extends RelatedElement {\r\n public static classFullName = \"BisCore:ElementOwnsUniqueAspect\";\r\n public constructor(elementId: Id64String, relClassName: string = ElementOwnsUniqueAspect.classFullName) {\r\n super({ id: elementId, relClassName });\r\n }\r\n}\r\n\r\n/** Relates an [[Element]] and an [[ElementMultiAspect]] that it owns.\r\n * @public\r\n */\r\nexport class ElementOwnsMultiAspects extends RelatedElement {\r\n public static classFullName = \"BisCore:ElementOwnsMultiAspects\";\r\n public constructor(elementId: Id64String, relClassName: string = ElementOwnsMultiAspects.classFullName) {\r\n super({ id: elementId, relClassName });\r\n }\r\n}\r\n\r\n/** Relates an [[Element]] and an [[ExternalSourceAspect]] that it owns.\r\n * @public\r\n */\r\nexport class ElementOwnsExternalSourceAspects extends ElementOwnsMultiAspects {\r\n public static override classFullName = \"BisCore:ElementOwnsExternalSourceAspects\";\r\n public constructor(elementId: Id64String, relClassName: string = ElementOwnsExternalSourceAspects.classFullName) {\r\n super(elementId, relClassName);\r\n }\r\n}\r\n\r\n/** Relates an [[ExternalSource]] to the [[RepositoryLink]] that it is persisted in.\r\n * @note The associated ECClass was added to the BisCore schema in version 1.0.13\r\n * @beta\r\n */\r\nexport class ExternalSourceIsInRepository extends RelatedElement {\r\n public static classFullName = \"BisCore:ExternalSourceIsInRepository\";\r\n public constructor(repositoryId: Id64String, relClassName: string = ExternalSourceIsInRepository.classFullName) {\r\n super({ id: repositoryId, relClassName });\r\n }\r\n}\r\n\r\n/** Relates an [[ExternalSource]] to the [[RepositoryLink]] that it is persisted in.\r\n * @note The associated ECClass was added to the BisCore schema in version 1.0.13\r\n * @beta\r\n */\r\nexport class ExternalSourceAttachmentAttachesSource extends RelatedElement {\r\n public static classFullName = \"BisCore:ExternalSourceAttachmentAttachesSource\";\r\n public constructor(externalSourceId: Id64String, relClassName: string = ExternalSourceAttachmentAttachesSource.classFullName) {\r\n super({ id: externalSourceId, relClassName });\r\n }\r\n}\r\n"]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/** @packageDocumentation
|
|
2
|
+
* @module Utils
|
|
3
|
+
*/
|
|
4
|
+
import { IDisposable } from "@itwin/core-bentley";
|
|
5
|
+
/** Wrapper around a promise that allows synchronous queries of it's state
|
|
6
|
+
* @internal
|
|
7
|
+
*/
|
|
8
|
+
export declare class QueryablePromise<T> {
|
|
9
|
+
readonly promise: Promise<T>;
|
|
10
|
+
result?: T;
|
|
11
|
+
error?: any;
|
|
12
|
+
private _fulfilled;
|
|
13
|
+
private _rejected;
|
|
14
|
+
get isPending(): boolean;
|
|
15
|
+
get isFulfilled(): boolean;
|
|
16
|
+
get isRejected(): boolean;
|
|
17
|
+
constructor(promise: Promise<T>);
|
|
18
|
+
}
|
|
19
|
+
/** @internal */
|
|
20
|
+
export declare type MemoizeFnType<T> = (...args: any[]) => Promise<T>;
|
|
21
|
+
/** @internal */
|
|
22
|
+
export declare type GenerateKeyFnType = (...args: any[]) => string;
|
|
23
|
+
/** Utility to cache and retrieve results of long running asynchronous functions.
|
|
24
|
+
* The cache is keyed on the input arguments passed to these functions
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export declare class PromiseMemoizer<T> implements IDisposable {
|
|
28
|
+
private readonly _cachedPromises;
|
|
29
|
+
private readonly _timers;
|
|
30
|
+
private readonly _memoizeFn;
|
|
31
|
+
private readonly _generateKeyFn;
|
|
32
|
+
private readonly _maxCacheSize;
|
|
33
|
+
private readonly _cacheTimeout;
|
|
34
|
+
/**
|
|
35
|
+
* Constructor
|
|
36
|
+
* @param memoizeFn Function to memoize
|
|
37
|
+
* @param generateKeyFn Function to generate the key for the memoized function
|
|
38
|
+
* @param maxCacheSize Maximum size of the memoizer cache.
|
|
39
|
+
* If the maximum cache size is exceeded, fulfilled/rejected entries are first discarded - these
|
|
40
|
+
* may have been unclaimed/orphaned promises. If the cache size is still above the maxCacheSize
|
|
41
|
+
* threshold, the entire cache is then cleared.
|
|
42
|
+
*/
|
|
43
|
+
constructor(memoizeFn: MemoizeFnType<T>, generateKeyFn: GenerateKeyFnType, maxCacheSize?: number, cacheTimeout?: number);
|
|
44
|
+
/** Call the memoized function */
|
|
45
|
+
memoize: (...args: any[]) => QueryablePromise<T>;
|
|
46
|
+
/** Delete the memoized function */
|
|
47
|
+
deleteMemoized: (...args: any[]) => void;
|
|
48
|
+
/** Clear all entries in the memoizer cache */
|
|
49
|
+
clearCache: () => void;
|
|
50
|
+
dispose: () => void;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=PromiseMemoizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromiseMemoizer.d.ts","sourceRoot":"","sources":["../../src/PromiseMemoizer.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAU,MAAM,qBAAqB,CAAC;AAG1D;;GAEG;AACH,qBAAa,gBAAgB,CAAC,CAAC;aAUM,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAT/C,MAAM,CAAC,EAAE,CAAC,CAAC;IACX,KAAK,CAAC,EAAE,GAAG,CAAC;IAEnB,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,SAAS,CAAkB;IAEnC,IAAW,SAAS,IAAI,OAAO,CAAkD;IACjF,IAAW,WAAW,IAAI,OAAO,CAA4B;IAC7D,IAAW,UAAU,IAAI,OAAO,CAA2B;gBACxB,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;CAKvD;AAED,gBAAgB;AAChB,oBAAY,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9D,gBAAgB;AAChB,oBAAY,iBAAiB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,CAAC;AAE3D;;;GAGG;AACH,qBAAa,eAAe,CAAC,CAAC,CAAE,YAAW,WAAW;IACpD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA4E;IAC5G,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA8D;IACtF,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAoB;IACnD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IAEvC;;;;;;;;OAQG;gBACgB,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,GAAE,MAAY,EAAE,YAAY,GAAE,MAAc;IAO1I,iCAAiC;IAC1B,OAAO,YAAa,GAAG,EAAE,KAAG,iBAAiB,CAAC,CAAC,CAyBpD;IAEF,mCAAmC;IAC5B,cAAc,YAAa,GAAG,EAAE,UAGrC;IAEF,8CAA8C;IACvC,UAAU,aAEf;IAEK,OAAO,aAKZ;CACH"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*---------------------------------------------------------------------------------------------
|
|
3
|
+
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
|
|
4
|
+
* See LICENSE.md in the project root for license terms and full copyright notice.
|
|
5
|
+
*--------------------------------------------------------------------------------------------*/
|
|
6
|
+
/** @packageDocumentation
|
|
7
|
+
* @module Utils
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.PromiseMemoizer = exports.QueryablePromise = void 0;
|
|
11
|
+
const core_bentley_1 = require("@itwin/core-bentley");
|
|
12
|
+
const BackendLoggerCategory_1 = require("./BackendLoggerCategory");
|
|
13
|
+
/** Wrapper around a promise that allows synchronous queries of it's state
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
class QueryablePromise {
|
|
17
|
+
constructor(promise) {
|
|
18
|
+
this.promise = promise;
|
|
19
|
+
this._fulfilled = false;
|
|
20
|
+
this._rejected = false;
|
|
21
|
+
this.promise
|
|
22
|
+
.then((res) => { this.result = res; this._fulfilled = true; })
|
|
23
|
+
.catch((err) => { this.error = err; this._rejected = true; });
|
|
24
|
+
}
|
|
25
|
+
get isPending() { return !this.isFulfilled && !this.isRejected; }
|
|
26
|
+
get isFulfilled() { return this._fulfilled; }
|
|
27
|
+
get isRejected() { return this._rejected; }
|
|
28
|
+
}
|
|
29
|
+
exports.QueryablePromise = QueryablePromise;
|
|
30
|
+
/** Utility to cache and retrieve results of long running asynchronous functions.
|
|
31
|
+
* The cache is keyed on the input arguments passed to these functions
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
34
|
+
class PromiseMemoizer {
|
|
35
|
+
/**
|
|
36
|
+
* Constructor
|
|
37
|
+
* @param memoizeFn Function to memoize
|
|
38
|
+
* @param generateKeyFn Function to generate the key for the memoized function
|
|
39
|
+
* @param maxCacheSize Maximum size of the memoizer cache.
|
|
40
|
+
* If the maximum cache size is exceeded, fulfilled/rejected entries are first discarded - these
|
|
41
|
+
* may have been unclaimed/orphaned promises. If the cache size is still above the maxCacheSize
|
|
42
|
+
* threshold, the entire cache is then cleared.
|
|
43
|
+
*/
|
|
44
|
+
constructor(memoizeFn, generateKeyFn, maxCacheSize = 500, cacheTimeout = 30000) {
|
|
45
|
+
this._cachedPromises = new Map();
|
|
46
|
+
this._timers = new Map();
|
|
47
|
+
/** Call the memoized function */
|
|
48
|
+
this.memoize = (...args) => {
|
|
49
|
+
const key = this._generateKeyFn(...args);
|
|
50
|
+
let qp = this._cachedPromises.get(key);
|
|
51
|
+
if (qp)
|
|
52
|
+
return qp;
|
|
53
|
+
if (this._cachedPromises.size >= this._maxCacheSize) {
|
|
54
|
+
if (this._maxCacheSize > 1)
|
|
55
|
+
core_bentley_1.Logger.logError(BackendLoggerCategory_1.BackendLoggerCategory.PromiseMemoizer, "Cleared too many unresolved entries in memoizer cache");
|
|
56
|
+
this.clearCache();
|
|
57
|
+
}
|
|
58
|
+
const removeCachedPromise = (v) => {
|
|
59
|
+
const cleanUp = () => {
|
|
60
|
+
this._cachedPromises.delete(key);
|
|
61
|
+
this._timers.delete(key);
|
|
62
|
+
};
|
|
63
|
+
this._timers.set(key, setTimeout(cleanUp, this._cacheTimeout));
|
|
64
|
+
return v;
|
|
65
|
+
};
|
|
66
|
+
const p = this._memoizeFn(...args).then(removeCachedPromise, (e) => { throw removeCachedPromise(e); });
|
|
67
|
+
qp = new QueryablePromise(p);
|
|
68
|
+
this._cachedPromises.set(key, qp);
|
|
69
|
+
return qp;
|
|
70
|
+
};
|
|
71
|
+
/** Delete the memoized function */
|
|
72
|
+
this.deleteMemoized = (...args) => {
|
|
73
|
+
const key = this._generateKeyFn(...args);
|
|
74
|
+
this._cachedPromises.delete(key);
|
|
75
|
+
};
|
|
76
|
+
/** Clear all entries in the memoizer cache */
|
|
77
|
+
this.clearCache = () => {
|
|
78
|
+
this._cachedPromises.clear();
|
|
79
|
+
};
|
|
80
|
+
this.dispose = () => {
|
|
81
|
+
for (const timer of this._timers.values())
|
|
82
|
+
clearTimeout(timer);
|
|
83
|
+
this._timers.clear();
|
|
84
|
+
this.clearCache();
|
|
85
|
+
};
|
|
86
|
+
this._memoizeFn = memoizeFn;
|
|
87
|
+
this._generateKeyFn = generateKeyFn;
|
|
88
|
+
this._maxCacheSize = maxCacheSize;
|
|
89
|
+
this._cacheTimeout = cacheTimeout;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
exports.PromiseMemoizer = PromiseMemoizer;
|
|
93
|
+
//# sourceMappingURL=PromiseMemoizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromiseMemoizer.js","sourceRoot":"","sources":["../../src/PromiseMemoizer.ts"],"names":[],"mappings":";AAAA;;;+FAG+F;AAC/F;;GAEG;;;AAEH,sDAA0D;AAC1D,mEAAgE;AAEhE;;GAEG;AACH,MAAa,gBAAgB;IAU3B,YAAmC,OAAmB;QAAnB,YAAO,GAAP,OAAO,CAAY;QAN9C,eAAU,GAAY,KAAK,CAAC;QAC5B,cAAS,GAAY,KAAK,CAAC;QAMjC,IAAI,CAAC,OAAO;aACT,IAAI,CAAC,CAAC,GAAM,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;aAChE,KAAK,CAAC,CAAC,GAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IAPD,IAAW,SAAS,KAAc,OAAO,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IACjF,IAAW,WAAW,KAAc,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7D,IAAW,UAAU,KAAc,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;CAM5D;AAfD,4CAeC;AAOD;;;GAGG;AACH,MAAa,eAAe;IAQ1B;;;;;;;;OAQG;IACH,YAAmB,SAA2B,EAAE,aAAgC,EAAE,eAAuB,GAAG,EAAE,eAAuB,KAAK;QAhBzH,oBAAe,GAAqC,IAAI,GAAG,EAA+B,CAAC;QAC3F,YAAO,GAA8B,IAAI,GAAG,EAAwB,CAAC;QAsBtF,iCAAiC;QAC1B,YAAO,GAAG,CAAC,GAAG,IAAW,EAAuB,EAAE;YACvD,MAAM,GAAG,GAAW,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;YACjD,IAAI,EAAE,GAAoC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxE,IAAI,EAAE;gBACJ,OAAO,EAAE,CAAC;YAEZ,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,EAAE;gBACnD,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC;oBACxB,qBAAM,CAAC,QAAQ,CAAC,6CAAqB,CAAC,eAAe,EAAE,uDAAuD,CAAC,CAAC;gBAClH,IAAI,CAAC,UAAU,EAAE,CAAC;aACnB;YAED,MAAM,mBAAmB,GAAG,CAAC,CAAI,EAAE,EAAE;gBACnC,MAAM,OAAO,GAAG,GAAG,EAAE;oBACnB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACjC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3B,CAAC,CAAC;gBACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;gBAC/D,OAAO,CAAC,CAAC;YACX,CAAC,CAAC;YAEF,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,MAAM,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvG,EAAE,GAAG,IAAI,gBAAgB,CAAI,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAClC,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC;QAEF,mCAAmC;QAC5B,mBAAc,GAAG,CAAC,GAAG,IAAW,EAAE,EAAE;YACzC,MAAM,GAAG,GAAW,IAAI,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC,CAAC;QAEF,8CAA8C;QACvC,eAAU,GAAG,GAAG,EAAE;YACvB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC/B,CAAC,CAAC;QAEK,YAAO,GAAG,GAAG,EAAE;YACpB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBACvC,YAAY,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACrB,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,CAAC,CAAC;QAlDA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;CA+CF;AArED,0CAqEC","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 Utils\r\n */\r\n\r\nimport { IDisposable, Logger } from \"@itwin/core-bentley\";\r\nimport { BackendLoggerCategory } from \"./BackendLoggerCategory\";\r\n\r\n/** Wrapper around a promise that allows synchronous queries of it's state\r\n * @internal\r\n */\r\nexport class QueryablePromise<T> {\r\n public result?: T;\r\n public error?: any;\r\n\r\n private _fulfilled: boolean = false;\r\n private _rejected: boolean = false;\r\n\r\n public get isPending(): boolean { return !this.isFulfilled && !this.isRejected; }\r\n public get isFulfilled(): boolean { return this._fulfilled; }\r\n public get isRejected(): boolean { return this._rejected; }\r\n public constructor(public readonly promise: Promise<T>) {\r\n this.promise\r\n .then((res: T) => { this.result = res; this._fulfilled = true; })\r\n .catch((err: any) => { this.error = err; this._rejected = true; });\r\n }\r\n}\r\n\r\n/** @internal */\r\nexport type MemoizeFnType<T> = (...args: any[]) => Promise<T>;\r\n/** @internal */\r\nexport type GenerateKeyFnType = (...args: any[]) => string;\r\n\r\n/** Utility to cache and retrieve results of long running asynchronous functions.\r\n * The cache is keyed on the input arguments passed to these functions\r\n * @internal\r\n */\r\nexport class PromiseMemoizer<T> implements IDisposable {\r\n private readonly _cachedPromises: Map<string, QueryablePromise<T>> = new Map<string, QueryablePromise<T>>();\r\n private readonly _timers: Map<string, NodeJS.Timer> = new Map<string, NodeJS.Timer>();\r\n private readonly _memoizeFn: MemoizeFnType<T>;\r\n private readonly _generateKeyFn: GenerateKeyFnType;\r\n private readonly _maxCacheSize: number;\r\n private readonly _cacheTimeout: number;\r\n\r\n /**\r\n * Constructor\r\n * @param memoizeFn Function to memoize\r\n * @param generateKeyFn Function to generate the key for the memoized function\r\n * @param maxCacheSize Maximum size of the memoizer cache.\r\n * If the maximum cache size is exceeded, fulfilled/rejected entries are first discarded - these\r\n * may have been unclaimed/orphaned promises. If the cache size is still above the maxCacheSize\r\n * threshold, the entire cache is then cleared.\r\n */\r\n public constructor(memoizeFn: MemoizeFnType<T>, generateKeyFn: GenerateKeyFnType, maxCacheSize: number = 500, cacheTimeout: number = 30000) {\r\n this._memoizeFn = memoizeFn;\r\n this._generateKeyFn = generateKeyFn;\r\n this._maxCacheSize = maxCacheSize;\r\n this._cacheTimeout = cacheTimeout;\r\n }\r\n\r\n /** Call the memoized function */\r\n public memoize = (...args: any[]): QueryablePromise<T> => {\r\n const key: string = this._generateKeyFn(...args);\r\n let qp: QueryablePromise<T> | undefined = this._cachedPromises.get(key);\r\n if (qp)\r\n return qp;\r\n\r\n if (this._cachedPromises.size >= this._maxCacheSize) {\r\n if (this._maxCacheSize > 1)\r\n Logger.logError(BackendLoggerCategory.PromiseMemoizer, \"Cleared too many unresolved entries in memoizer cache\");\r\n this.clearCache();\r\n }\r\n\r\n const removeCachedPromise = (v: T) => {\r\n const cleanUp = () => {\r\n this._cachedPromises.delete(key);\r\n this._timers.delete(key);\r\n };\r\n this._timers.set(key, setTimeout(cleanUp, this._cacheTimeout));\r\n return v;\r\n };\r\n\r\n const p = this._memoizeFn(...args).then(removeCachedPromise, (e) => { throw removeCachedPromise(e); });\r\n qp = new QueryablePromise<T>(p);\r\n this._cachedPromises.set(key, qp);\r\n return qp;\r\n };\r\n\r\n /** Delete the memoized function */\r\n public deleteMemoized = (...args: any[]) => {\r\n const key: string = this._generateKeyFn(...args);\r\n this._cachedPromises.delete(key);\r\n };\r\n\r\n /** Clear all entries in the memoizer cache */\r\n public clearCache = () => {\r\n this._cachedPromises.clear();\r\n };\r\n\r\n public dispose = () => {\r\n for (const timer of this._timers.values())\r\n clearTimeout(timer);\r\n this._timers.clear();\r\n this.clearCache();\r\n };\r\n}\r\n"]}
|