@itwin/presentation-shared 0.1.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 (124) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENSE.md +9 -0
  3. package/README.md +434 -0
  4. package/lib/cjs/presentation-shared.d.ts +13 -0
  5. package/lib/cjs/presentation-shared.d.ts.map +1 -0
  6. package/lib/cjs/presentation-shared.js +58 -0
  7. package/lib/cjs/presentation-shared.js.map +1 -0
  8. package/lib/cjs/shared/ConcatenatedValue.d.ts +47 -0
  9. package/lib/cjs/shared/ConcatenatedValue.d.ts.map +1 -0
  10. package/lib/cjs/shared/ConcatenatedValue.js +45 -0
  11. package/lib/cjs/shared/ConcatenatedValue.js.map +1 -0
  12. package/lib/cjs/shared/ECSqlCore.d.ts +91 -0
  13. package/lib/cjs/shared/ECSqlCore.d.ts.map +1 -0
  14. package/lib/cjs/shared/ECSqlCore.js +7 -0
  15. package/lib/cjs/shared/ECSqlCore.js.map +1 -0
  16. package/lib/cjs/shared/Event.d.ts +9 -0
  17. package/lib/cjs/shared/Event.d.ts.map +1 -0
  18. package/lib/cjs/shared/Event.js +7 -0
  19. package/lib/cjs/shared/Event.js.map +1 -0
  20. package/lib/cjs/shared/Formatting.d.ts +39 -0
  21. package/lib/cjs/shared/Formatting.d.ts.map +1 -0
  22. package/lib/cjs/shared/Formatting.js +132 -0
  23. package/lib/cjs/shared/Formatting.js.map +1 -0
  24. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.d.ts +129 -0
  25. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.d.ts.map +1 -0
  26. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js +167 -0
  27. package/lib/cjs/shared/InstanceLabelSelectClauseFactory.js.map +1 -0
  28. package/lib/cjs/shared/InternalUtils.d.ts +3 -0
  29. package/lib/cjs/shared/InternalUtils.d.ts.map +1 -0
  30. package/lib/cjs/shared/InternalUtils.js +14 -0
  31. package/lib/cjs/shared/InternalUtils.js.map +1 -0
  32. package/lib/cjs/shared/Logging.d.ts +27 -0
  33. package/lib/cjs/shared/Logging.d.ts.map +1 -0
  34. package/lib/cjs/shared/Logging.js +20 -0
  35. package/lib/cjs/shared/Logging.js.map +1 -0
  36. package/lib/cjs/shared/MappedTypes.d.ts +11 -0
  37. package/lib/cjs/shared/MappedTypes.d.ts.map +1 -0
  38. package/lib/cjs/shared/MappedTypes.js +7 -0
  39. package/lib/cjs/shared/MappedTypes.js.map +1 -0
  40. package/lib/cjs/shared/Metadata.d.ts +268 -0
  41. package/lib/cjs/shared/Metadata.d.ts.map +1 -0
  42. package/lib/cjs/shared/Metadata.js +54 -0
  43. package/lib/cjs/shared/Metadata.js.map +1 -0
  44. package/lib/cjs/shared/Utils.d.ts +26 -0
  45. package/lib/cjs/shared/Utils.d.ts.map +1 -0
  46. package/lib/cjs/shared/Utils.js +50 -0
  47. package/lib/cjs/shared/Utils.js.map +1 -0
  48. package/lib/cjs/shared/Values.d.ts +119 -0
  49. package/lib/cjs/shared/Values.d.ts.map +1 -0
  50. package/lib/cjs/shared/Values.js +156 -0
  51. package/lib/cjs/shared/Values.js.map +1 -0
  52. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +48 -0
  53. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +1 -0
  54. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js +139 -0
  55. package/lib/cjs/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +1 -0
  56. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +116 -0
  57. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +1 -0
  58. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js +244 -0
  59. package/lib/cjs/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +1 -0
  60. package/lib/cjs/shared/ecsql-snippets/index.d.ts +3 -0
  61. package/lib/cjs/shared/ecsql-snippets/index.d.ts.map +1 -0
  62. package/lib/cjs/shared/ecsql-snippets/index.js +16 -0
  63. package/lib/cjs/shared/ecsql-snippets/index.js.map +1 -0
  64. package/lib/esm/presentation-shared.d.ts +13 -0
  65. package/lib/esm/presentation-shared.d.ts.map +1 -0
  66. package/lib/esm/presentation-shared.js +15 -0
  67. package/lib/esm/presentation-shared.js.map +1 -0
  68. package/lib/esm/shared/ConcatenatedValue.d.ts +47 -0
  69. package/lib/esm/shared/ConcatenatedValue.d.ts.map +1 -0
  70. package/lib/esm/shared/ConcatenatedValue.js +42 -0
  71. package/lib/esm/shared/ConcatenatedValue.js.map +1 -0
  72. package/lib/esm/shared/ECSqlCore.d.ts +91 -0
  73. package/lib/esm/shared/ECSqlCore.d.ts.map +1 -0
  74. package/lib/esm/shared/ECSqlCore.js +6 -0
  75. package/lib/esm/shared/ECSqlCore.js.map +1 -0
  76. package/lib/esm/shared/Event.d.ts +9 -0
  77. package/lib/esm/shared/Event.d.ts.map +1 -0
  78. package/lib/esm/shared/Event.js +6 -0
  79. package/lib/esm/shared/Event.js.map +1 -0
  80. package/lib/esm/shared/Formatting.d.ts +39 -0
  81. package/lib/esm/shared/Formatting.d.ts.map +1 -0
  82. package/lib/esm/shared/Formatting.js +127 -0
  83. package/lib/esm/shared/Formatting.js.map +1 -0
  84. package/lib/esm/shared/InstanceLabelSelectClauseFactory.d.ts +129 -0
  85. package/lib/esm/shared/InstanceLabelSelectClauseFactory.d.ts.map +1 -0
  86. package/lib/esm/shared/InstanceLabelSelectClauseFactory.js +160 -0
  87. package/lib/esm/shared/InstanceLabelSelectClauseFactory.js.map +1 -0
  88. package/lib/esm/shared/InternalUtils.d.ts +3 -0
  89. package/lib/esm/shared/InternalUtils.d.ts.map +1 -0
  90. package/lib/esm/shared/InternalUtils.js +10 -0
  91. package/lib/esm/shared/InternalUtils.js.map +1 -0
  92. package/lib/esm/shared/Logging.d.ts +27 -0
  93. package/lib/esm/shared/Logging.d.ts.map +1 -0
  94. package/lib/esm/shared/Logging.js +17 -0
  95. package/lib/esm/shared/Logging.js.map +1 -0
  96. package/lib/esm/shared/MappedTypes.d.ts +11 -0
  97. package/lib/esm/shared/MappedTypes.d.ts.map +1 -0
  98. package/lib/esm/shared/MappedTypes.js +6 -0
  99. package/lib/esm/shared/MappedTypes.js.map +1 -0
  100. package/lib/esm/shared/Metadata.d.ts +268 -0
  101. package/lib/esm/shared/Metadata.d.ts.map +1 -0
  102. package/lib/esm/shared/Metadata.js +49 -0
  103. package/lib/esm/shared/Metadata.js.map +1 -0
  104. package/lib/esm/shared/Utils.d.ts +26 -0
  105. package/lib/esm/shared/Utils.d.ts.map +1 -0
  106. package/lib/esm/shared/Utils.js +44 -0
  107. package/lib/esm/shared/Utils.js.map +1 -0
  108. package/lib/esm/shared/Values.d.ts +119 -0
  109. package/lib/esm/shared/Values.d.ts.map +1 -0
  110. package/lib/esm/shared/Values.js +153 -0
  111. package/lib/esm/shared/Values.js.map +1 -0
  112. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts +48 -0
  113. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.d.ts.map +1 -0
  114. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js +135 -0
  115. package/lib/esm/shared/ecsql-snippets/ECSqlJoinSnippets.js.map +1 -0
  116. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts +116 -0
  117. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.d.ts.map +1 -0
  118. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js +236 -0
  119. package/lib/esm/shared/ecsql-snippets/ECSqlValueSelectorSnippets.js.map +1 -0
  120. package/lib/esm/shared/ecsql-snippets/index.d.ts +3 -0
  121. package/lib/esm/shared/ecsql-snippets/index.d.ts.map +1 -0
  122. package/lib/esm/shared/ecsql-snippets/index.js +7 -0
  123. package/lib/esm/shared/ecsql-snippets/index.js.map +1 -0
  124. package/package.json +59 -0
@@ -0,0 +1,153 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { compareStrings, Id64 } from "@itwin/core-bentley";
6
+ /** @beta */
7
+ export var InstanceKey;
8
+ (function (InstanceKey) {
9
+ /**
10
+ * Checks whether the two given instance keys are equal.
11
+ * @beta
12
+ */
13
+ function equals(lhs, rhs) {
14
+ return lhs.className === rhs.className && lhs.id === rhs.id;
15
+ }
16
+ InstanceKey.equals = equals;
17
+ /**
18
+ * Compares two given instance keys.
19
+ * @returns
20
+ *- `0` if they are equal
21
+ *- `negative value` if lhs key is less than rhs key
22
+ *- `positive value` if lhs key is more than rhs key
23
+ */
24
+ function compare(lhs, rhs) {
25
+ const classNameCompareResult = compareStrings(lhs.className, rhs.className);
26
+ if (classNameCompareResult !== 0) {
27
+ return classNameCompareResult;
28
+ }
29
+ return compareStrings(lhs.id, rhs.id);
30
+ }
31
+ InstanceKey.compare = compare;
32
+ })(InstanceKey || (InstanceKey = {}));
33
+ /** @beta */
34
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
35
+ export var PrimitiveValue;
36
+ (function (PrimitiveValue) {
37
+ /**
38
+ * Checks whether the given value is a `Point2d`.
39
+ * @note Since `Point3d` is a superset of `Point2d`, this function will return `true` for `Point3d` as well.
40
+ * @beta
41
+ */
42
+ function isPoint2d(value) {
43
+ if (typeof value !== "object") {
44
+ return false;
45
+ }
46
+ const pt = value;
47
+ return pt.x !== undefined && pt.y !== undefined;
48
+ }
49
+ PrimitiveValue.isPoint2d = isPoint2d;
50
+ /**
51
+ * Checks whether the given value is a `Point3d`.
52
+ * @beta
53
+ */
54
+ function isPoint3d(value) {
55
+ if (typeof value !== "object") {
56
+ return false;
57
+ }
58
+ const pt = value;
59
+ return pt.x !== undefined && pt.y !== undefined && pt.z !== undefined;
60
+ }
61
+ PrimitiveValue.isPoint3d = isPoint3d;
62
+ })(PrimitiveValue || (PrimitiveValue = {}));
63
+ /** @beta */
64
+ // eslint-disable-next-line @typescript-eslint/no-redeclare
65
+ export var TypedPrimitiveValue;
66
+ (function (TypedPrimitiveValue) {
67
+ /**
68
+ * A function for a creating a `TypedPrimitiveValue` object.
69
+ * @throws Error if primitive type and value are incompatible.
70
+ * @beta
71
+ */
72
+ function create(value, type, koqName, extendedType) {
73
+ switch (type) {
74
+ case "Integer":
75
+ case "Long":
76
+ if (typeof value === "number") {
77
+ return {
78
+ type,
79
+ extendedType,
80
+ value,
81
+ };
82
+ }
83
+ break;
84
+ case "Double":
85
+ if (typeof value === "number") {
86
+ return {
87
+ type,
88
+ koqName,
89
+ extendedType,
90
+ value,
91
+ };
92
+ }
93
+ break;
94
+ case "Boolean":
95
+ if (typeof value === "boolean") {
96
+ return {
97
+ type,
98
+ extendedType,
99
+ value,
100
+ };
101
+ }
102
+ break;
103
+ case "Id":
104
+ if (typeof value === "string" && Id64.isId64(value)) {
105
+ return {
106
+ type,
107
+ extendedType,
108
+ value,
109
+ };
110
+ }
111
+ break;
112
+ case "String":
113
+ if (typeof value === "string") {
114
+ return {
115
+ type,
116
+ extendedType,
117
+ value,
118
+ };
119
+ }
120
+ break;
121
+ case "DateTime":
122
+ if (typeof value === "string" || typeof value === "number" || value instanceof Date) {
123
+ return {
124
+ type,
125
+ extendedType,
126
+ value,
127
+ };
128
+ }
129
+ break;
130
+ case "Point3d":
131
+ if (PrimitiveValue.isPoint3d(value)) {
132
+ return {
133
+ type,
134
+ extendedType,
135
+ value,
136
+ };
137
+ }
138
+ break;
139
+ case "Point2d":
140
+ if (PrimitiveValue.isPoint2d(value)) {
141
+ return {
142
+ type,
143
+ extendedType,
144
+ value,
145
+ };
146
+ }
147
+ break;
148
+ }
149
+ throw new Error(`PrimitiveValueType ${type} isn't compatible with value ${JSON.stringify(value)}`);
150
+ }
151
+ TypedPrimitiveValue.create = create;
152
+ })(TypedPrimitiveValue || (TypedPrimitiveValue = {}));
153
+ //# sourceMappingURL=Values.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Values.js","sourceRoot":"","sources":["../../../src/shared/Values.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAEhG,OAAO,EAAE,cAAc,EAAE,IAAI,EAAc,MAAM,qBAAqB,CAAC;AAcvE,YAAY;AACZ,MAAM,KAAW,WAAW,CAsB3B;AAtBD,WAAiB,WAAW;IAC1B;;;OAGG;IACH,SAAgB,MAAM,CAAC,GAAgB,EAAE,GAAgB;QACvD,OAAO,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC;IAC9D,CAAC;IAFe,kBAAM,SAErB,CAAA;IACD;;;;;;OAMG;IACH,SAAgB,OAAO,CAAC,GAAgB,EAAE,GAAgB;QACxD,MAAM,sBAAsB,GAAG,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5E,IAAI,sBAAsB,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,sBAAsB,CAAC;QAChC,CAAC;QACD,OAAO,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IACxC,CAAC;IANe,mBAAO,UAMtB,CAAA;AACH,CAAC,EAtBgB,WAAW,KAAX,WAAW,QAsB3B;AA2BD,YAAY;AACZ,2DAA2D;AAC3D,MAAM,KAAW,cAAc,CAyB9B;AAzBD,WAAiB,cAAc;IAC7B;;;;OAIG;IACH,SAAgB,SAAS,CAAC,KAAqB;QAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,EAAE,GAAG,KAAgB,CAAC;QAC5B,OAAO,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;IAClD,CAAC;IANe,wBAAS,YAMxB,CAAA;IAED;;;OAGG;IACH,SAAgB,SAAS,CAAC,KAAqB;QAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,EAAE,GAAG,KAAgB,CAAC;QAC5B,OAAO,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,EAAE,CAAC,CAAC,KAAK,SAAS,IAAI,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;IACxE,CAAC;IANe,wBAAS,YAMxB,CAAA;AACH,CAAC,EAzBgB,cAAc,KAAd,cAAc,QAyB9B;AA6CD,YAAY;AACZ,2DAA2D;AAC3D,MAAM,KAAW,mBAAmB,CAqFnC;AArFD,WAAiB,mBAAmB;IAClC;;;;OAIG;IACH,SAAgB,MAAM,CAAC,KAAqB,EAAE,IAAwB,EAAE,OAAgB,EAAE,YAAqB;QAC7G,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,SAAS,CAAC;YACf,KAAK,MAAM;gBACT,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,OAAO;wBACL,IAAI;wBACJ,YAAY;wBACZ,KAAK;qBACN,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,OAAO;wBACL,IAAI;wBACJ,OAAO;wBACP,YAAY;wBACZ,KAAK;qBACN,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,OAAO,KAAK,KAAK,SAAS,EAAE,CAAC;oBAC/B,OAAO;wBACL,IAAI;wBACJ,YAAY;wBACZ,KAAK;qBACN,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,KAAK,IAAI;gBACP,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpD,OAAO;wBACL,IAAI;wBACJ,YAAY;wBACZ,KAAK;qBACN,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,KAAK,QAAQ;gBACX,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC9B,OAAO;wBACL,IAAI;wBACJ,YAAY;wBACZ,KAAK;qBACN,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,KAAK,UAAU;gBACb,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;oBACpF,OAAO;wBACL,IAAI;wBACJ,YAAY;wBACZ,KAAK;qBACN,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpC,OAAO;wBACL,IAAI;wBACJ,YAAY;wBACZ,KAAK;qBACN,CAAC;gBACJ,CAAC;gBACD,MAAM;YACR,KAAK,SAAS;gBACZ,IAAI,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;oBACpC,OAAO;wBACL,IAAI;wBACJ,YAAY;wBACZ,KAAK;qBACN,CAAC;gBACJ,CAAC;gBACD,MAAM;QACV,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,gCAAgC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrG,CAAC;IA9Ee,0BAAM,SA8ErB,CAAA;AACH,CAAC,EArFgB,mBAAmB,KAAnB,mBAAmB,QAqFnC"}
@@ -0,0 +1,48 @@
1
+ import { ECSchemaProvider, RelationshipPath, RelationshipPathStep } from "../Metadata";
2
+ /**
3
+ * Describes a single JOIN step from source to target through a relationship.
4
+ */
5
+ interface JoinRelationshipPathStep extends RelationshipPathStep {
6
+ sourceAlias: string;
7
+ targetAlias: string;
8
+ relationshipAlias: string;
9
+ joinType?: "inner" | "outer";
10
+ }
11
+ /**
12
+ * Describes a path of JOINs from source to target.
13
+ */
14
+ type JoinRelationshipPath = RelationshipPath<JoinRelationshipPathStep>;
15
+ /**
16
+ * Props for `createRelationshipPathJoinClause`.
17
+ */
18
+ interface CreateRelationshipPathJoinClauseProps {
19
+ schemaProvider: ECSchemaProvider;
20
+ path: JoinRelationshipPath;
21
+ }
22
+ /**
23
+ * Creates an ECSQL JOIN snippet for given relationships' path.
24
+ *
25
+ * Possible results:
26
+ * - When the relationship is represented by a navigation property on either source or target:
27
+ * ```SQL
28
+ * INNER JOIN [target_schema_name].[target_class_name] [target_alias] ON [target_alias].[navigation_property_name].[Id] = [source_alias].[ECInstanceId]
29
+ * ```
30
+ * - When outer joining through a non-navigation-property relationship:
31
+ * ```SQL
32
+ * LEFT JOIN (
33
+ * SELECT [relationship_alias].*
34
+ * FROM [relationship_schema_name].[relationship_class_name] [relationship_alias]
35
+ * INNER JOIN [target_schema_name].[target_class_name] [target_alias] ON [target_alias].[ECInstanceId] = [relationship_alias].[TargetECInstanceId]
36
+ * ) [relationship_alias]
37
+ * LEFT JOIN [target_schema_name].[target_class_name] [target_alias] ON [target_alias].[ECInstanceId] = [relationship_alias].[TargetECInstanceId]
38
+ * ```
39
+ * - When inner joining through a non-navigation-property relationship:
40
+ * ```SQL
41
+ * INNER JOIN [relationship_schema_name].[relationship_class_name] [relationship_alias] ON [relationship_alias].[SourceECInstanceId] = [source_alias].[ECInstanceId]
42
+ * INNER JOIN [target_schema_name].[target_class_name] [target_alias] ON [target_alias].[ECInstanceId] = [relationship_alias].[TargetECInstanceId]
43
+ * ```
44
+ * @beta
45
+ */
46
+ export declare function createRelationshipPathJoinClause(props: CreateRelationshipPathJoinClauseProps): Promise<string>;
47
+ export {};
48
+ //# sourceMappingURL=ECSqlJoinSnippets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ECSqlJoinSnippets.d.ts","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/ECSqlJoinSnippets.ts"],"names":[],"mappings":"AAKA,OAAO,EAAM,gBAAgB,EAAY,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGrG;;GAEG;AACH,UAAU,wBAAyB,SAAQ,oBAAoB;IAC7D,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,KAAK,oBAAoB,GAAG,gBAAgB,CAAC,wBAAwB,CAAC,CAAC;AAEvE;;GAEG;AACH,UAAU,qCAAqC;IAC7C,cAAc,EAAE,gBAAgB,CAAC;IACjC,IAAI,EAAE,oBAAoB,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,gCAAgC,CAAC,KAAK,EAAE,qCAAqC,mBAqElG"}
@@ -0,0 +1,135 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ import { getClass } from "../Metadata";
6
+ import { createRawPropertyValueSelector } from "./ECSqlValueSelectorSnippets";
7
+ /**
8
+ * Creates an ECSQL JOIN snippet for given relationships' path.
9
+ *
10
+ * Possible results:
11
+ * - When the relationship is represented by a navigation property on either source or target:
12
+ * ```SQL
13
+ * INNER JOIN [target_schema_name].[target_class_name] [target_alias] ON [target_alias].[navigation_property_name].[Id] = [source_alias].[ECInstanceId]
14
+ * ```
15
+ * - When outer joining through a non-navigation-property relationship:
16
+ * ```SQL
17
+ * LEFT JOIN (
18
+ * SELECT [relationship_alias].*
19
+ * FROM [relationship_schema_name].[relationship_class_name] [relationship_alias]
20
+ * INNER JOIN [target_schema_name].[target_class_name] [target_alias] ON [target_alias].[ECInstanceId] = [relationship_alias].[TargetECInstanceId]
21
+ * ) [relationship_alias]
22
+ * LEFT JOIN [target_schema_name].[target_class_name] [target_alias] ON [target_alias].[ECInstanceId] = [relationship_alias].[TargetECInstanceId]
23
+ * ```
24
+ * - When inner joining through a non-navigation-property relationship:
25
+ * ```SQL
26
+ * INNER JOIN [relationship_schema_name].[relationship_class_name] [relationship_alias] ON [relationship_alias].[SourceECInstanceId] = [source_alias].[ECInstanceId]
27
+ * INNER JOIN [target_schema_name].[target_class_name] [target_alias] ON [target_alias].[ECInstanceId] = [relationship_alias].[TargetECInstanceId]
28
+ * ```
29
+ * @beta
30
+ */
31
+ export async function createRelationshipPathJoinClause(props) {
32
+ if (props.path.length === 0) {
33
+ return "";
34
+ }
35
+ let prev = {
36
+ alias: props.path[0].sourceAlias,
37
+ joinPropertyName: "ECInstanceId",
38
+ className: props.path[0].sourceClassName,
39
+ };
40
+ let clause = "";
41
+ for (const stepDef of props.path) {
42
+ const step = await getRelationshipPathStepClasses(props.schemaProvider, stepDef);
43
+ const navigationProperty = await getNavigationProperty(step);
44
+ if (navigationProperty) {
45
+ const propertyDirectionMatchesRelationshipDirection = navigationProperty.direction === step.relationship.direction;
46
+ clause += `
47
+ ${getJoinClause(step.joinType)} ${getClassSelectClause(step.target, step.targetAlias)}
48
+ ON ${propertyDirectionMatchesRelationshipDirection
49
+ ? createRawPropertyValueSelector(step.targetAlias, "ECInstanceId")
50
+ : createRawPropertyValueSelector(step.targetAlias, navigationProperty.name, "Id")}
51
+ = ${propertyDirectionMatchesRelationshipDirection
52
+ ? createRawPropertyValueSelector(prev.alias, navigationProperty.name, "Id")
53
+ : createRawPropertyValueSelector(prev.alias, prev.joinPropertyName)}
54
+ `;
55
+ prev = {
56
+ alias: step.targetAlias,
57
+ className: step.target.fullName,
58
+ joinPropertyName: "ECInstanceId",
59
+ };
60
+ }
61
+ else {
62
+ const relationshipJoinPropertyNames = !step.relationshipReverse
63
+ ? { this: "SourceECInstanceId", next: "TargetECInstanceId" }
64
+ : { this: "TargetECInstanceId", next: "SourceECInstanceId" };
65
+ if (step.joinType === "outer") {
66
+ clause += `
67
+ ${getJoinClause("outer")} (
68
+ SELECT [${step.relationshipAlias}].*
69
+ FROM ${getClassSelectClause(step.relationship, step.relationshipAlias)}
70
+ ${getJoinClause("inner")} ${getClassSelectClause(step.target, step.targetAlias)}
71
+ ON ${createRawPropertyValueSelector(step.targetAlias, "ECInstanceId")}
72
+ = ${createRawPropertyValueSelector(step.relationshipAlias, relationshipJoinPropertyNames.next)}
73
+ ) [${step.relationshipAlias}]
74
+ ON ${createRawPropertyValueSelector(step.relationshipAlias, relationshipJoinPropertyNames.this)}
75
+ = ${createRawPropertyValueSelector(prev.alias, prev.joinPropertyName)}
76
+ `;
77
+ }
78
+ else {
79
+ clause += `
80
+ ${getJoinClause("inner")} ${getClassSelectClause(step.relationship, step.relationshipAlias)}
81
+ ON ${createRawPropertyValueSelector(step.relationshipAlias, relationshipJoinPropertyNames.this)}
82
+ = ${createRawPropertyValueSelector(prev.alias, prev.joinPropertyName)}
83
+ `;
84
+ }
85
+ clause += `
86
+ ${getJoinClause(step.joinType)} ${getClassSelectClause(step.target, step.targetAlias)}
87
+ ON ${createRawPropertyValueSelector(step.targetAlias, "ECInstanceId")}
88
+ = ${createRawPropertyValueSelector(step.relationshipAlias, relationshipJoinPropertyNames.next)}
89
+ `;
90
+ prev = {
91
+ alias: step.targetAlias,
92
+ className: step.target.fullName,
93
+ joinPropertyName: "ECInstanceId",
94
+ };
95
+ }
96
+ }
97
+ return clause;
98
+ }
99
+ async function getRelationshipPathStepClasses(schemaProvider, step) {
100
+ const { sourceClassName, relationshipName, targetClassName, ...rest } = step;
101
+ return {
102
+ ...rest,
103
+ source: await getClass(schemaProvider, sourceClassName),
104
+ relationship: (await getClass(schemaProvider, relationshipName)),
105
+ target: await getClass(schemaProvider, targetClassName),
106
+ };
107
+ }
108
+ async function getNavigationProperty(step) {
109
+ const source = !step.relationshipReverse ? step.source : step.target;
110
+ const target = !step.relationshipReverse ? step.target : step.source;
111
+ for (const prop of await source.getProperties()) {
112
+ // istanbul ignore else
113
+ if (prop.isNavigation() && prop.direction === "Forward" && (await prop.relationshipClass).fullName === step.relationship.fullName) {
114
+ return prop;
115
+ }
116
+ }
117
+ for (const prop of await target.getProperties()) {
118
+ // istanbul ignore else
119
+ if (prop.isNavigation() && prop.direction === "Backward" && (await prop.relationshipClass).fullName === step.relationship.fullName) {
120
+ return prop;
121
+ }
122
+ }
123
+ return undefined;
124
+ }
125
+ function getJoinClause(type) {
126
+ if (type === "outer") {
127
+ return "OUTER JOIN";
128
+ }
129
+ return "INNER JOIN";
130
+ }
131
+ function getClassSelectClause(ecClass, alias) {
132
+ const classSelector = `[${ecClass.schema.name}].[${ecClass.name}]`;
133
+ return `${classSelector} [${alias}]`;
134
+ }
135
+ //# sourceMappingURL=ECSqlJoinSnippets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ECSqlJoinSnippets.js","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/ECSqlJoinSnippets.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,116 @@
1
+ import { PrimitiveValueType } from "../Metadata";
2
+ import { PrimitiveValue, TypedPrimitiveValue } from "../Values";
3
+ /**
4
+ * A union of property types that need special handling when creating a property value selector.
5
+ * For example, Guid values are stored as binary and need to be selected with `GuidToStr` function to
6
+ * get a meaningful value.
7
+ */
8
+ type SpecialPropertyType = "Navigation" | "Guid" | "Point2d" | "Point3d";
9
+ /**
10
+ * Props for selecting property value along with its metadata.
11
+ *
12
+ * It's recommended to only select properties with metadata only when they need additional formatting and
13
+ * otherwise use `createPropertyValueSelector` to select their value.
14
+ */
15
+ interface PropertyValueSelectClauseProps {
16
+ /** Full class name of the property. Format: `SchemaName.ClassName`. */
17
+ propertyClassName: string;
18
+ /** Query alias of the class that contains the property. */
19
+ propertyClassAlias: string;
20
+ /** Name of the property. */
21
+ propertyName: string;
22
+ /** Special type of the property if it matches any. */
23
+ specialType?: SpecialPropertyType;
24
+ }
25
+ /**
26
+ * Props for selecting a primitive value using given ECSQL selector.
27
+ */
28
+ interface PrimitiveValueSelectorProps {
29
+ /** ECSQL selector to query the value */
30
+ selector: string;
31
+ /** Type of the value. Defaults to `String`. */
32
+ type?: PrimitiveValueType;
33
+ }
34
+ /**
35
+ * A union of prop types for selecting a value and its metadata in ECSQL query.
36
+ * @internal This is an internal type used in public API.
37
+ */
38
+ export type TypedValueSelectClauseProps = PropertyValueSelectClauseProps | TypedPrimitiveValue | PrimitiveValueSelectorProps;
39
+ /** @internal */
40
+ export declare namespace TypedValueSelectClauseProps {
41
+ /** @internal */
42
+ function isPropertySelector(props: TypedValueSelectClauseProps): props is PropertyValueSelectClauseProps;
43
+ /** @internal */
44
+ function isPrimitiveValue(props: TypedValueSelectClauseProps): props is TypedPrimitiveValue;
45
+ /** @internal */
46
+ function isPrimitiveValueSelector(props: TypedValueSelectClauseProps): props is PrimitiveValueSelectorProps;
47
+ }
48
+ /**
49
+ * Creates an ECSQL selector for raw property value, or, optionally - it's component. Example result:
50
+ * `[classAlias].[propertyName].[componentName]`.
51
+ *
52
+ * @beta
53
+ */
54
+ export declare function createRawPropertyValueSelector(classAlias: string, propertyName: string, componentName?: string): string;
55
+ /**
56
+ * Creates an ECSQL selector for a raw primitive value.
57
+ * - `undefined` is selected as `NULL`.
58
+ * - `Date` values are selected in julian day format.
59
+ * - `Point2d` and `Point3d` values are selected as serialized JSON objects, e.g. `{ x: 1, y: 2, z: 3 }`.
60
+ * - Other kinds of values are selected as-is.
61
+ *
62
+ * @beta
63
+ */
64
+ export declare function createRawPrimitiveValueSelector(value: PrimitiveValue | undefined): string;
65
+ /**
66
+ * Creates a clause for returning `NULL` when `checkSelector` returns a falsy value, or result of `valueSelector`
67
+ * otherwise. Example result: `IIF(CHECK_SELECTOR, VALUE_SELECTOR, NULL)`.
68
+ *
69
+ * @note In SQL `NULL` is not considered falsy, so when checking for `NULL` values, the `checkSelector` should
70
+ * be like `{selector} IS NOT NULL` rather than just `${selector}`.
71
+ *
72
+ * @beta
73
+ */
74
+ export declare function createNullableSelector(props: {
75
+ checkSelector: string;
76
+ valueSelector: string;
77
+ }): string;
78
+ /**
79
+ * Create an ECSQL selector combined of multiple typed value selectors in a form of a JSON array. This allows handling results
80
+ * of each value selector individually when parsing query result.
81
+ *
82
+ * Example result: `json_array(VALUE_SELECTOR_1, VALUE_SELECTOR_2, ...)`.
83
+ *
84
+ * Optionally, the function also accepts a `checkSelector` argument, which can be used to make the selector return
85
+ * `NULL` result when the argument selector results in `NULL`. Example result with `checkSelector`:
86
+ * `IIF(CHECK_SELECTOR, json_array(VALUE_SELECTOR_1, VALUE_SELECTOR_2, ...), NULL)`.
87
+ *
88
+ * @note The resulting JSON is of `ConcatenatedValue` type and it's recommended to use `ConcatenatedValue.serialize` to
89
+ * handle each individual part.
90
+ *
91
+ * @see `ConcatenatedValue`
92
+ *
93
+ * @beta
94
+ */
95
+ export declare function createConcatenatedValueJsonSelector(selectors: TypedValueSelectClauseProps[], checkSelector?: string): string;
96
+ /**
97
+ * Create an ECSQL selector combined of multiple typed value selectors in a form of a string.
98
+ *
99
+ * Example result: `VALUE_SELECTOR_1 || VALUE_SELECTOR_2 || ...`.
100
+ *
101
+ * Optionally, the function also accepts a `checkSelector` argument, which can be used to make the selector return
102
+ * `NULL` result when `checkSelector` results in a falsy value. Example result with `checkSelector`:
103
+ * `IIF(CHECK_SELECTOR, VALUE_SELECTOR_1 || VALUE_SELECTOR_2 || ..., NULL)`.
104
+ *
105
+ * @note Not all types of `TypedValueSelectClauseProps` can be serialized to a user-friendly string, e.g. when
106
+ * selecting a numeric value with units, this function is going to select the raw value. To create properly formatted
107
+ * concatenated values:
108
+ * 1. They should be selected with `createConcatenatedValueJsonSelector`, which returns a serialized JSON object.
109
+ * 2. The JSON should be parsed from resulting string and passed to `ConcatenatedValue.serialize`, which additionally
110
+ * takes a formatter. One can be created using `createDefaultValueFormatter`.
111
+ *
112
+ * @beta
113
+ */
114
+ export declare function createConcatenatedValueStringSelector(selectors: TypedValueSelectClauseProps[], checkSelector?: string): string;
115
+ export {};
116
+ //# sourceMappingURL=ECSqlValueSelectorSnippets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ECSqlValueSelectorSnippets.d.ts","sourceRoot":"","sources":["../../../../src/shared/ecsql-snippets/ECSqlValueSelectorSnippets.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEhE;;;;GAIG;AACH,KAAK,mBAAmB,GAAG,YAAY,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAEzE;;;;;GAKG;AACH,UAAU,8BAA8B;IACtC,uEAAuE;IACvE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2DAA2D;IAC3D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,4BAA4B;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED;;GAEG;AACH,UAAU,2BAA2B;IACnC,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,kBAAkB,CAAC;CAC3B;AAED;;;GAGG;AACH,MAAM,MAAM,2BAA2B,GAAG,8BAA8B,GAAG,mBAAmB,GAAG,2BAA2B,CAAC;AAE7H,gBAAgB;AAEhB,yBAAiB,2BAA2B,CAAC;IAC3C,gBAAgB;IAChB,SAAgB,kBAAkB,CAAC,KAAK,EAAE,2BAA2B,GAAG,KAAK,IAAI,8BAA8B,CAE9G;IACD,gBAAgB;IAChB,SAAgB,gBAAgB,CAAC,KAAK,EAAE,2BAA2B,GAAG,KAAK,IAAI,mBAAmB,CAEjG;IACD,gBAAgB;IAChB,SAAgB,wBAAwB,CAAC,KAAK,EAAE,2BAA2B,GAAG,KAAK,IAAI,2BAA2B,CAEjH;CACF;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAMvH;AAED;;;;;;;;GAQG;AACH,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,cAAc,GAAG,SAAS,UAqBhF;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAEtG;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,mCAAmC,CAAC,SAAS,EAAE,2BAA2B,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,UAMnH;AAmED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qCAAqC,CAAC,SAAS,EAAE,2BAA2B,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,UAMrH"}