@iapps/d2-web-sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (221) hide show
  1. package/README.md +11 -0
  2. package/package.json +11 -0
  3. package/src/index.d.ts +3 -0
  4. package/src/index.js +7 -0
  5. package/src/index.js.map +1 -0
  6. package/src/lib/d2-web-sdk.d.ts +16 -0
  7. package/src/lib/d2-web-sdk.js +49 -0
  8. package/src/lib/d2-web-sdk.js.map +1 -0
  9. package/src/lib/modules/data-element/data-element.module.d.ts +7 -0
  10. package/src/lib/modules/data-element/data-element.module.js +14 -0
  11. package/src/lib/modules/data-element/data-element.module.js.map +1 -0
  12. package/src/lib/modules/data-element/index.d.ts +3 -0
  13. package/src/lib/modules/data-element/index.js +10 -0
  14. package/src/lib/modules/data-element/index.js.map +1 -0
  15. package/src/lib/modules/data-element/models/data-element.model.d.ts +20 -0
  16. package/src/lib/modules/data-element/models/data-element.model.js +83 -0
  17. package/src/lib/modules/data-element/models/data-element.model.js.map +1 -0
  18. package/src/lib/modules/data-element/models/index.d.ts +1 -0
  19. package/src/lib/modules/data-element/models/index.js +8 -0
  20. package/src/lib/modules/data-element/models/index.js.map +1 -0
  21. package/src/lib/modules/data-element/queries/data-element.query.d.ts +5 -0
  22. package/src/lib/modules/data-element/queries/data-element.query.js +15 -0
  23. package/src/lib/modules/data-element/queries/data-element.query.js.map +1 -0
  24. package/src/lib/modules/data-element/queries/index.d.ts +1 -0
  25. package/src/lib/modules/data-element/queries/index.js +8 -0
  26. package/src/lib/modules/data-element/queries/index.js.map +1 -0
  27. package/src/lib/modules/index.d.ts +4 -0
  28. package/src/lib/modules/index.js +11 -0
  29. package/src/lib/modules/index.js.map +1 -0
  30. package/src/lib/modules/option-set/index.d.ts +3 -0
  31. package/src/lib/modules/option-set/index.js +10 -0
  32. package/src/lib/modules/option-set/index.js.map +1 -0
  33. package/src/lib/modules/option-set/models/index.d.ts +2 -0
  34. package/src/lib/modules/option-set/models/index.js +9 -0
  35. package/src/lib/modules/option-set/models/index.js.map +1 -0
  36. package/src/lib/modules/option-set/models/option-set.model.d.ts +11 -0
  37. package/src/lib/modules/option-set/models/option-set.model.js +23 -0
  38. package/src/lib/modules/option-set/models/option-set.model.js.map +1 -0
  39. package/src/lib/modules/option-set/models/option.model.d.ts +7 -0
  40. package/src/lib/modules/option-set/models/option.model.js +14 -0
  41. package/src/lib/modules/option-set/models/option.model.js.map +1 -0
  42. package/src/lib/modules/option-set/option-set.module.d.ts +8 -0
  43. package/src/lib/modules/option-set/option-set.module.js +17 -0
  44. package/src/lib/modules/option-set/option-set.module.js.map +1 -0
  45. package/src/lib/modules/option-set/queries/index.d.ts +2 -0
  46. package/src/lib/modules/option-set/queries/index.js +9 -0
  47. package/src/lib/modules/option-set/queries/index.js.map +1 -0
  48. package/src/lib/modules/option-set/queries/option-set.query.d.ts +5 -0
  49. package/src/lib/modules/option-set/queries/option-set.query.js +15 -0
  50. package/src/lib/modules/option-set/queries/option-set.query.js.map +1 -0
  51. package/src/lib/modules/option-set/queries/option.query.d.ts +5 -0
  52. package/src/lib/modules/option-set/queries/option.query.js +15 -0
  53. package/src/lib/modules/option-set/queries/option.query.js.map +1 -0
  54. package/src/lib/modules/organisation-unit/index.d.ts +3 -0
  55. package/src/lib/modules/organisation-unit/index.js +10 -0
  56. package/src/lib/modules/organisation-unit/index.js.map +1 -0
  57. package/src/lib/modules/organisation-unit/models/index.d.ts +3 -0
  58. package/src/lib/modules/organisation-unit/models/index.js +10 -0
  59. package/src/lib/modules/organisation-unit/models/index.js.map +1 -0
  60. package/src/lib/modules/organisation-unit/models/organisation-unit-group-set.model.d.ts +44 -0
  61. package/src/lib/modules/organisation-unit/models/organisation-unit-group-set.model.js +55 -0
  62. package/src/lib/modules/organisation-unit/models/organisation-unit-group-set.model.js.map +1 -0
  63. package/src/lib/modules/organisation-unit/models/organisation-unit-group.model.d.ts +39 -0
  64. package/src/lib/modules/organisation-unit/models/organisation-unit-group.model.js +50 -0
  65. package/src/lib/modules/organisation-unit/models/organisation-unit-group.model.js.map +1 -0
  66. package/src/lib/modules/organisation-unit/models/organisation-unit.model.d.ts +56 -0
  67. package/src/lib/modules/organisation-unit/models/organisation-unit.model.js +68 -0
  68. package/src/lib/modules/organisation-unit/models/organisation-unit.model.js.map +1 -0
  69. package/src/lib/modules/organisation-unit/organisation-unit.module.d.ts +9 -0
  70. package/src/lib/modules/organisation-unit/organisation-unit.module.js +20 -0
  71. package/src/lib/modules/organisation-unit/organisation-unit.module.js.map +1 -0
  72. package/src/lib/modules/organisation-unit/queries/index.d.ts +3 -0
  73. package/src/lib/modules/organisation-unit/queries/index.js +10 -0
  74. package/src/lib/modules/organisation-unit/queries/index.js.map +1 -0
  75. package/src/lib/modules/organisation-unit/queries/organisation-unit-group-set.query.d.ts +5 -0
  76. package/src/lib/modules/organisation-unit/queries/organisation-unit-group-set.query.js +15 -0
  77. package/src/lib/modules/organisation-unit/queries/organisation-unit-group-set.query.js.map +1 -0
  78. package/src/lib/modules/organisation-unit/queries/organisation-unit-group.query.d.ts +5 -0
  79. package/src/lib/modules/organisation-unit/queries/organisation-unit-group.query.js +15 -0
  80. package/src/lib/modules/organisation-unit/queries/organisation-unit-group.query.js.map +1 -0
  81. package/src/lib/modules/organisation-unit/queries/organisation-unit.query.d.ts +5 -0
  82. package/src/lib/modules/organisation-unit/queries/organisation-unit.query.js +15 -0
  83. package/src/lib/modules/organisation-unit/queries/organisation-unit.query.js.map +1 -0
  84. package/src/lib/modules/program/index.d.ts +3 -0
  85. package/src/lib/modules/program/index.js +10 -0
  86. package/src/lib/modules/program/index.js.map +1 -0
  87. package/src/lib/modules/program/models/index.d.ts +11 -0
  88. package/src/lib/modules/program/models/index.js +18 -0
  89. package/src/lib/modules/program/models/index.js.map +1 -0
  90. package/src/lib/modules/program/models/program-rule-action.model.d.ts +15 -0
  91. package/src/lib/modules/program/models/program-rule-action.model.js +25 -0
  92. package/src/lib/modules/program/models/program-rule-action.model.js.map +1 -0
  93. package/src/lib/modules/program/models/program-rule-variable.model.d.ts +11 -0
  94. package/src/lib/modules/program/models/program-rule-variable.model.js +21 -0
  95. package/src/lib/modules/program/models/program-rule-variable.model.js.map +1 -0
  96. package/src/lib/modules/program/models/program-rule.model.d.ts +12 -0
  97. package/src/lib/modules/program/models/program-rule.model.js +20 -0
  98. package/src/lib/modules/program/models/program-rule.model.js.map +1 -0
  99. package/src/lib/modules/program/models/program-section.model.d.ts +13 -0
  100. package/src/lib/modules/program/models/program-section.model.js +24 -0
  101. package/src/lib/modules/program/models/program-section.model.js.map +1 -0
  102. package/src/lib/modules/program/models/program-stage-data-element.model.d.ts +15 -0
  103. package/src/lib/modules/program/models/program-stage-data-element.model.js +28 -0
  104. package/src/lib/modules/program/models/program-stage-data-element.model.js.map +1 -0
  105. package/src/lib/modules/program/models/program-stage-section.model.d.ts +12 -0
  106. package/src/lib/modules/program/models/program-stage-section.model.js +25 -0
  107. package/src/lib/modules/program/models/program-stage-section.model.js.map +1 -0
  108. package/src/lib/modules/program/models/program-stage.model.d.ts +26 -0
  109. package/src/lib/modules/program/models/program-stage.model.js +37 -0
  110. package/src/lib/modules/program/models/program-stage.model.js.map +1 -0
  111. package/src/lib/modules/program/models/program-tracked-entity-attribute.model.d.ts +15 -0
  112. package/src/lib/modules/program/models/program-tracked-entity-attribute.model.js +28 -0
  113. package/src/lib/modules/program/models/program-tracked-entity-attribute.model.js.map +1 -0
  114. package/src/lib/modules/program/models/program.model.d.ts +40 -0
  115. package/src/lib/modules/program/models/program.model.js +85 -0
  116. package/src/lib/modules/program/models/program.model.js.map +1 -0
  117. package/src/lib/modules/program/models/tracked-entity-attribute.model.d.ts +17 -0
  118. package/src/lib/modules/program/models/tracked-entity-attribute.model.js +32 -0
  119. package/src/lib/modules/program/models/tracked-entity-attribute.model.js.map +1 -0
  120. package/src/lib/modules/program/program.module.d.ts +16 -0
  121. package/src/lib/modules/program/program.module.js +41 -0
  122. package/src/lib/modules/program/program.module.js.map +1 -0
  123. package/src/lib/modules/program/queries/index.d.ts +10 -0
  124. package/src/lib/modules/program/queries/index.js +17 -0
  125. package/src/lib/modules/program/queries/index.js.map +1 -0
  126. package/src/lib/modules/program/queries/program-rule-action.query.d.ts +5 -0
  127. package/src/lib/modules/program/queries/program-rule-action.query.js +15 -0
  128. package/src/lib/modules/program/queries/program-rule-action.query.js.map +1 -0
  129. package/src/lib/modules/program/queries/program-rule-variable.query.d.ts +5 -0
  130. package/src/lib/modules/program/queries/program-rule-variable.query.js +15 -0
  131. package/src/lib/modules/program/queries/program-rule-variable.query.js.map +1 -0
  132. package/src/lib/modules/program/queries/program-rule.query.d.ts +5 -0
  133. package/src/lib/modules/program/queries/program-rule.query.js +15 -0
  134. package/src/lib/modules/program/queries/program-rule.query.js.map +1 -0
  135. package/src/lib/modules/program/queries/program-section.query.d.ts +5 -0
  136. package/src/lib/modules/program/queries/program-section.query.js +15 -0
  137. package/src/lib/modules/program/queries/program-section.query.js.map +1 -0
  138. package/src/lib/modules/program/queries/program-stage-data-element.query.d.ts +5 -0
  139. package/src/lib/modules/program/queries/program-stage-data-element.query.js +15 -0
  140. package/src/lib/modules/program/queries/program-stage-data-element.query.js.map +1 -0
  141. package/src/lib/modules/program/queries/program-stage-section.query.d.ts +5 -0
  142. package/src/lib/modules/program/queries/program-stage-section.query.js +15 -0
  143. package/src/lib/modules/program/queries/program-stage-section.query.js.map +1 -0
  144. package/src/lib/modules/program/queries/program-stage.query.d.ts +5 -0
  145. package/src/lib/modules/program/queries/program-stage.query.js +15 -0
  146. package/src/lib/modules/program/queries/program-stage.query.js.map +1 -0
  147. package/src/lib/modules/program/queries/program-tracked-entity-attribute.query.d.ts +5 -0
  148. package/src/lib/modules/program/queries/program-tracked-entity-attribute.query.js +15 -0
  149. package/src/lib/modules/program/queries/program-tracked-entity-attribute.query.js.map +1 -0
  150. package/src/lib/modules/program/queries/program.query.d.ts +5 -0
  151. package/src/lib/modules/program/queries/program.query.js +15 -0
  152. package/src/lib/modules/program/queries/program.query.js.map +1 -0
  153. package/src/lib/modules/program/queries/tracked-entity-attribute.query.d.ts +5 -0
  154. package/src/lib/modules/program/queries/tracked-entity-attribute.query.js +15 -0
  155. package/src/lib/modules/program/queries/tracked-entity-attribute.query.js.map +1 -0
  156. package/src/lib/shared/decorators/d2-property.decorator.d.ts +2 -0
  157. package/src/lib/shared/decorators/d2-property.decorator.js +14 -0
  158. package/src/lib/shared/decorators/d2-property.decorator.js.map +1 -0
  159. package/src/lib/shared/decorators/index.d.ts +1 -0
  160. package/src/lib/shared/decorators/index.js +8 -0
  161. package/src/lib/shared/decorators/index.js.map +1 -0
  162. package/src/lib/shared/index.d.ts +3 -0
  163. package/src/lib/shared/index.js +10 -0
  164. package/src/lib/shared/index.js.map +1 -0
  165. package/src/lib/shared/models/base.model.d.ts +8 -0
  166. package/src/lib/shared/models/base.model.js +22 -0
  167. package/src/lib/shared/models/base.model.js.map +1 -0
  168. package/src/lib/shared/models/d2-response.model.d.ts +11 -0
  169. package/src/lib/shared/models/d2-response.model.js +34 -0
  170. package/src/lib/shared/models/d2-response.model.js.map +1 -0
  171. package/src/lib/shared/models/d2-web-config.model.d.ts +7 -0
  172. package/src/lib/shared/models/d2-web-config.model.js +14 -0
  173. package/src/lib/shared/models/d2-web-config.model.js.map +1 -0
  174. package/src/lib/shared/models/http-client-config.model.d.ts +3 -0
  175. package/src/lib/shared/models/http-client-config.model.js +7 -0
  176. package/src/lib/shared/models/http-client-config.model.js.map +1 -0
  177. package/src/lib/shared/models/http-client.model.d.ts +7 -0
  178. package/src/lib/shared/models/http-client.model.js +30 -0
  179. package/src/lib/shared/models/http-client.model.js.map +1 -0
  180. package/src/lib/shared/models/http-response.model.d.ts +11 -0
  181. package/src/lib/shared/models/http-response.model.js +32 -0
  182. package/src/lib/shared/models/http-response.model.js.map +1 -0
  183. package/src/lib/shared/models/identifiable-object.model.d.ts +23 -0
  184. package/src/lib/shared/models/identifiable-object.model.js +24 -0
  185. package/src/lib/shared/models/identifiable-object.model.js.map +1 -0
  186. package/src/lib/shared/models/index.d.ts +11 -0
  187. package/src/lib/shared/models/index.js +18 -0
  188. package/src/lib/shared/models/index.js.map +1 -0
  189. package/src/lib/shared/models/junction-operator.model.d.ts +1 -0
  190. package/src/lib/shared/models/junction-operator.model.js +6 -0
  191. package/src/lib/shared/models/junction-operator.model.js.map +1 -0
  192. package/src/lib/shared/models/pager.model.d.ts +12 -0
  193. package/src/lib/shared/models/pager.model.js +30 -0
  194. package/src/lib/shared/models/pager.model.js.map +1 -0
  195. package/src/lib/shared/models/query-condition.model.d.ts +10 -0
  196. package/src/lib/shared/models/query-condition.model.js +18 -0
  197. package/src/lib/shared/models/query-condition.model.js.map +1 -0
  198. package/src/lib/shared/models/query-filter.model.d.ts +7 -0
  199. package/src/lib/shared/models/query-filter.model.js +11 -0
  200. package/src/lib/shared/models/query-filter.model.js.map +1 -0
  201. package/src/lib/shared/models/query.model.d.ts +12 -0
  202. package/src/lib/shared/models/query.model.js +11 -0
  203. package/src/lib/shared/models/query.model.js.map +1 -0
  204. package/src/lib/shared/models/relationship-direction.model.d.ts +1 -0
  205. package/src/lib/shared/models/relationship-direction.model.js +3 -0
  206. package/src/lib/shared/models/relationship-direction.model.js.map +1 -0
  207. package/src/lib/shared/queries/base-query.d.ts +14 -0
  208. package/src/lib/shared/queries/base-query.js +70 -0
  209. package/src/lib/shared/queries/base-query.js.map +1 -0
  210. package/src/lib/shared/queries/index.d.ts +1 -0
  211. package/src/lib/shared/queries/index.js +8 -0
  212. package/src/lib/shared/queries/index.js.map +1 -0
  213. package/src/lib/shared/utils/dhis-url-generator.util.d.ts +4 -0
  214. package/src/lib/shared/utils/dhis-url-generator.util.js +31 -0
  215. package/src/lib/shared/utils/dhis-url-generator.util.js.map +1 -0
  216. package/src/lib/shared/utils/index.d.ts +2 -0
  217. package/src/lib/shared/utils/index.js +9 -0
  218. package/src/lib/shared/utils/index.js.map +1 -0
  219. package/src/lib/shared/utils/query-filter.util.d.ts +4 -0
  220. package/src/lib/shared/utils/query-filter.util.js +56 -0
  221. package/src/lib/shared/utils/query-filter.util.js.map +1 -0
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ // Copyright 2024 UDSM DHIS2 Lab. All rights reserved.
3
+ // Use of this source code is governed by a BSD-style
4
+ // license that can be found in the LICENSE file.
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=junction-operator.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"junction-operator.model.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/junction-operator.model.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD"}
@@ -0,0 +1,12 @@
1
+ export declare class Pager {
2
+ #private;
3
+ pageSize: number;
4
+ pageCount?: number;
5
+ page: number;
6
+ paging: boolean;
7
+ total?: number;
8
+ index?: number;
9
+ pageOffset?: number;
10
+ constructor(pager?: Partial<Pager>);
11
+ getPagingQueryParams(): string;
12
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ var _Pager_instances, _Pager_getIndex, _Pager_getOffset;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.Pager = void 0;
5
+ const tslib_1 = require("tslib");
6
+ class Pager {
7
+ constructor(pager) {
8
+ _Pager_instances.add(this);
9
+ this.pageSize = (pager === null || pager === void 0 ? void 0 : pager.pageSize) || 50;
10
+ this.page = (pager === null || pager === void 0 ? void 0 : pager.page) || 1;
11
+ this.paging = (pager === null || pager === void 0 ? void 0 : pager.paging) || true;
12
+ this.total = pager === null || pager === void 0 ? void 0 : pager.total;
13
+ this.index = tslib_1.__classPrivateFieldGet(this, _Pager_instances, "m", _Pager_getIndex).call(this);
14
+ this.pageCount = pager === null || pager === void 0 ? void 0 : pager.pageCount;
15
+ this.pageOffset = tslib_1.__classPrivateFieldGet(this, _Pager_instances, "m", _Pager_getOffset).call(this);
16
+ }
17
+ getPagingQueryParams() {
18
+ if (!this.paging) {
19
+ return 'paging=false';
20
+ }
21
+ return `page=${this.page || 1}&pageSize=${this.pageSize || 50}&skipPaging=false&totalPages=true`;
22
+ }
23
+ }
24
+ exports.Pager = Pager;
25
+ _Pager_instances = new WeakSet(), _Pager_getIndex = function _Pager_getIndex() {
26
+ return this.page, this.pageSize * (this.page - 1);
27
+ }, _Pager_getOffset = function _Pager_getOffset() {
28
+ return (this.page - 1) * this.pageSize;
29
+ };
30
+ //# sourceMappingURL=pager.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pager.model.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/pager.model.ts"],"names":[],"mappings":";;;;;AAAA,MAAa,KAAK;IAShB,YAAY,KAAsB;;QAChC,IAAI,CAAC,QAAQ,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,KAAI,EAAE,CAAC;QACtC,IAAI,CAAC,IAAI,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,KAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,KAAI,IAAI,CAAC;QACpC,IAAI,CAAC,KAAK,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,+BAAA,IAAI,yCAAU,MAAd,IAAI,CAAY,CAAC;QAC9B,IAAI,CAAC,SAAS,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,CAAC;QAClC,IAAI,CAAC,UAAU,GAAG,+BAAA,IAAI,0CAAW,MAAf,IAAI,CAAa,CAAC;IACtC,CAAC;IAUD,oBAAoB;QAClB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,OAAO,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,aAC3B,IAAI,CAAC,QAAQ,IAAI,EACnB,mCAAmC,CAAC;IACtC,CAAC;CACF;AApCD,sBAoCC;;IAhBG,OAAO,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;AACpD,CAAC;IAGC,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC;AACzC,CAAC"}
@@ -0,0 +1,10 @@
1
+ export declare enum QueryCondition {
2
+ In = 0,
3
+ Equal = 1,
4
+ Like = 2,
5
+ Ilike = 3,
6
+ LessThan = 4,
7
+ LessThanOrEqualTo = 5,
8
+ GreaterThan = 6,
9
+ GreaterThanOrEqualTo = 7
10
+ }
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ // Copyright 2024 UDSM DHIS2 Lab. All rights reserved.
3
+ // Use of this source code is governed by a BSD-style
4
+ // license that can be found in the LICENSE file.
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.QueryCondition = void 0;
7
+ var QueryCondition;
8
+ (function (QueryCondition) {
9
+ QueryCondition[QueryCondition["In"] = 0] = "In";
10
+ QueryCondition[QueryCondition["Equal"] = 1] = "Equal";
11
+ QueryCondition[QueryCondition["Like"] = 2] = "Like";
12
+ QueryCondition[QueryCondition["Ilike"] = 3] = "Ilike";
13
+ QueryCondition[QueryCondition["LessThan"] = 4] = "LessThan";
14
+ QueryCondition[QueryCondition["LessThanOrEqualTo"] = 5] = "LessThanOrEqualTo";
15
+ QueryCondition[QueryCondition["GreaterThan"] = 6] = "GreaterThan";
16
+ QueryCondition[QueryCondition["GreaterThanOrEqualTo"] = 7] = "GreaterThanOrEqualTo";
17
+ })(QueryCondition || (exports.QueryCondition = QueryCondition = {}));
18
+ //# sourceMappingURL=query-condition.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-condition.model.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/query-condition.model.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;;;AAEjD,IAAY,cASX;AATD,WAAY,cAAc;IACxB,+CAAE,CAAA;IACF,qDAAK,CAAA;IACL,mDAAI,CAAA;IACJ,qDAAK,CAAA;IACL,2DAAQ,CAAA;IACR,6EAAiB,CAAA;IACjB,iEAAW,CAAA;IACX,mFAAoB,CAAA;AACtB,CAAC,EATW,cAAc,8BAAd,cAAc,QASzB"}
@@ -0,0 +1,7 @@
1
+ import { BaseSDKModel } from './base.model';
2
+ import { QueryCondition } from './query-condition.model';
3
+ export declare class QueryFilter extends BaseSDKModel<QueryFilter> {
4
+ attribute: string;
5
+ condition: QueryCondition;
6
+ value: unknown;
7
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QueryFilter = void 0;
4
+ // Copyright 2024 UDSM DHIS2 Lab. All rights reserved.
5
+ // Use of this source code is governed by a BSD-style
6
+ // license that can be found in the LICENSE file.
7
+ const base_model_1 = require("./base.model");
8
+ class QueryFilter extends base_model_1.BaseSDKModel {
9
+ }
10
+ exports.QueryFilter = QueryFilter;
11
+ //# sourceMappingURL=query-filter.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-filter.model.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/query-filter.model.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;AACjD,6CAA4C;AAE5C,MAAa,WAAY,SAAQ,yBAAyB;CAIzD;AAJD,kCAIC"}
@@ -0,0 +1,12 @@
1
+ import { BaseSDKModel } from './base.model';
2
+ import { QueryFilter } from './query-filter.model';
3
+ import { Pager } from './pager.model';
4
+ export declare class QueryModel<U> extends BaseSDKModel<QueryModel<U>> {
5
+ resourceName: string;
6
+ id?: string;
7
+ fields: U[];
8
+ filters?: QueryFilter[];
9
+ pagination?: Pager;
10
+ relations: any;
11
+ junctionOperator?: 'AND' | 'OR';
12
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QueryModel = void 0;
4
+ // Copyright 2024 UDSM DHIS2 Lab. All rights reserved.
5
+ // Use of this source code is governed by a BSD-style
6
+ // license that can be found in the LICENSE file.
7
+ const base_model_1 = require("./base.model");
8
+ class QueryModel extends base_model_1.BaseSDKModel {
9
+ }
10
+ exports.QueryModel = QueryModel;
11
+ //# sourceMappingURL=query.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.model.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/query.model.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;AACjD,6CAA4C;AAI5C,MAAa,UAAc,SAAQ,yBAA2B;CAQ7D;AARD,gCAQC"}
@@ -0,0 +1 @@
1
+ export type RelationshipDirection = 'ToMany' | 'ToOne';
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=relationship-direction.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relationship-direction.model.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/models/relationship-direction.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ import { BaseIdentifiable, D2HttpClient, D2Response, IBaseIdentifiable, Pager, QueryFilter, RelationshipDirection } from '../models';
2
+ export declare class BaseQuery<T extends BaseIdentifiable, U> {
3
+ #private;
4
+ protected identifiable: IBaseIdentifiable;
5
+ protected httpClient: D2HttpClient;
6
+ filters: QueryFilter[];
7
+ fields: U[];
8
+ constructor(identifiable: IBaseIdentifiable, httpClient: D2HttpClient);
9
+ select(fields: U[]): BaseQuery<T, U>;
10
+ paginate(pagination: Pager): BaseQuery<T, U>;
11
+ byId(id: string): BaseQuery<T, U>;
12
+ with(modelQuery: BaseQuery<any, any>, relationshipDirection?: RelationshipDirection): this;
13
+ get(): Promise<D2Response<T>>;
14
+ }
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ // Copyright 2024 UDSM DHIS2 Lab. All rights reserved.
3
+ // Use of this source code is governed by a BSD-style
4
+ // license that can be found in the LICENSE file.
5
+ var _BaseQuery_instances, _BaseQuery_id, _BaseQuery_resourceName, _BaseQuery_singularResourceName, _BaseQuery_pagination, _BaseQuery_junctionOperator, _BaseQuery_query, _BaseQuery_dhisUrl;
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.BaseQuery = void 0;
8
+ const tslib_1 = require("tslib");
9
+ const models_1 = require("../models");
10
+ const utils_1 = require("../utils");
11
+ class BaseQuery {
12
+ constructor(identifiable, httpClient) {
13
+ _BaseQuery_instances.add(this);
14
+ this.identifiable = identifiable;
15
+ this.httpClient = httpClient;
16
+ this.filters = [];
17
+ _BaseQuery_id.set(this, void 0);
18
+ _BaseQuery_resourceName.set(this, void 0);
19
+ _BaseQuery_singularResourceName.set(this, void 0);
20
+ _BaseQuery_pagination.set(this, new models_1.Pager());
21
+ _BaseQuery_junctionOperator.set(this, void 0);
22
+ this.fields = identifiable.fields;
23
+ tslib_1.__classPrivateFieldSet(this, _BaseQuery_resourceName, identifiable.resourceName, "f");
24
+ tslib_1.__classPrivateFieldSet(this, _BaseQuery_singularResourceName, identifiable.singularResourceName, "f");
25
+ }
26
+ select(fields) {
27
+ this.fields = fields;
28
+ return this;
29
+ }
30
+ paginate(pagination) {
31
+ tslib_1.__classPrivateFieldSet(this, _BaseQuery_pagination, pagination, "f");
32
+ return this;
33
+ }
34
+ byId(id) {
35
+ tslib_1.__classPrivateFieldSet(this, _BaseQuery_id, id, "f");
36
+ this.filters = [];
37
+ return this;
38
+ }
39
+ with(modelQuery, relationshipDirection = 'ToMany') {
40
+ var _a;
41
+ // TODO: This currently suport one to many, find ways to support man to one
42
+ this.fields = [
43
+ ...this.fields,
44
+ `${relationshipDirection === 'ToMany'
45
+ ? tslib_1.__classPrivateFieldGet(modelQuery, _BaseQuery_resourceName, "f")
46
+ : tslib_1.__classPrivateFieldGet(modelQuery, _BaseQuery_singularResourceName, "f")}[${(_a = modelQuery.fields) === null || _a === void 0 ? void 0 : _a.join(',')}]`,
47
+ ];
48
+ return this;
49
+ }
50
+ get() {
51
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
52
+ const response = yield this.httpClient.get(tslib_1.__classPrivateFieldGet(this, _BaseQuery_instances, "m", _BaseQuery_dhisUrl).call(this));
53
+ return new models_1.D2Response(response, this.identifiable);
54
+ });
55
+ }
56
+ }
57
+ exports.BaseQuery = BaseQuery;
58
+ _BaseQuery_id = new WeakMap(), _BaseQuery_resourceName = new WeakMap(), _BaseQuery_singularResourceName = new WeakMap(), _BaseQuery_pagination = new WeakMap(), _BaseQuery_junctionOperator = new WeakMap(), _BaseQuery_instances = new WeakSet(), _BaseQuery_query = function _BaseQuery_query() {
59
+ return new models_1.QueryModel({
60
+ resourceName: this.identifiable.resourceName,
61
+ id: tslib_1.__classPrivateFieldGet(this, _BaseQuery_id, "f"),
62
+ fields: this.fields,
63
+ filters: this.filters,
64
+ pagination: tslib_1.__classPrivateFieldGet(this, _BaseQuery_pagination, "f"),
65
+ junctionOperator: tslib_1.__classPrivateFieldGet(this, _BaseQuery_junctionOperator, "f"),
66
+ });
67
+ }, _BaseQuery_dhisUrl = function _BaseQuery_dhisUrl() {
68
+ return utils_1.DhisUrlGenerator.generate(tslib_1.__classPrivateFieldGet(this, _BaseQuery_instances, "m", _BaseQuery_query).call(this));
69
+ };
70
+ //# sourceMappingURL=base-query.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base-query.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/queries/base-query.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;;;;;AAEjD,sCAUmB;AACnB,oCAA4C;AAE5C,MAAa,SAAS;IASpB,YACY,YAA+B,EAC/B,UAAwB;;QADxB,iBAAY,GAAZ,YAAY,CAAmB;QAC/B,eAAU,GAAV,UAAU,CAAc;QAVpC,YAAO,GAAkB,EAAE,CAAC;QAC5B,gCAAa;QAEb,0CAAuB;QACvB,kDAA+B;QAC/B,gCAAqB,IAAI,cAAK,EAAE,EAAC;QACjC,8CAAqC;QAMnC,IAAI,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;QAClC,+BAAA,IAAI,2BAAiB,YAAY,CAAC,YAAY,MAAA,CAAC;QAC/C,+BAAA,IAAI,mCAAyB,YAAY,CAAC,oBAAoB,MAAA,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,MAAW;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ,CAAC,UAAiB;QACxB,+BAAA,IAAI,yBAAe,UAAU,MAAA,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,EAAU;QACb,+BAAA,IAAI,iBAAO,EAAE,MAAA,CAAC;QACd,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CACF,UAA+B,EAC/B,wBAA+C,QAAQ;;QAEvD,2EAA2E;QAC3E,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,IAAI,CAAC,MAAM;YACd,GACE,qBAAqB,KAAK,QAAQ;gBAChC,CAAC,CAAC,+BAAA,UAAU,+BAAc;gBAC1B,CAAC,CAAC,+BAAA,UAAU,uCAChB,IAAI,MAAA,UAAU,CAAC,MAAM,0CAAE,IAAI,CAAC,GAAG,CAAC,GAAU;SAC3C,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAiBK,GAAG;;YACP,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,+BAAA,IAAI,gDAAS,MAAb,IAAI,CAAW,CAAC,CAAC;YAC5D,OAAO,IAAI,mBAAU,CAAI,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC;KAAA;CACF;AArED,8BAqEC;;IAlBG,OAAO,IAAI,mBAAU,CAAC;QACpB,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,YAAY;QAC5C,EAAE,EAAE,+BAAA,IAAI,qBAAI;QACZ,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,UAAU,EAAE,+BAAA,IAAI,6BAAY;QAC5B,gBAAgB,EAAE,+BAAA,IAAI,mCAAkB;KACzC,CAAC,CAAC;AACL,CAAC;IAGC,OAAO,wBAAgB,CAAC,QAAQ,CAAI,+BAAA,IAAI,8CAAO,MAAX,IAAI,CAAS,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './base-query';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ // Copyright 2024 UDSM DHIS2 Lab. All rights reserved.
5
+ // Use of this source code is governed by a BSD-style
6
+ // license that can be found in the LICENSE file.
7
+ tslib_1.__exportStar(require("./base-query"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/queries/index.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;AACjD,uDAA6B"}
@@ -0,0 +1,4 @@
1
+ import { QueryModel } from '../models';
2
+ export declare class DhisUrlGenerator {
3
+ static generate<T>(query: QueryModel<T>): string;
4
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ // Copyright 2024 UDSM DHIS2 Lab. All rights reserved.
3
+ // Use of this source code is governed by a BSD-style
4
+ // license that can be found in the LICENSE file.
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DhisUrlGenerator = void 0;
7
+ const query_filter_util_1 = require("./query-filter.util");
8
+ class DhisUrlGenerator {
9
+ static generate(query) {
10
+ var _a;
11
+ if (query == null) {
12
+ return '';
13
+ }
14
+ let url = query.resourceName;
15
+ const fieldParams = query.fields.join(',');
16
+ if (query.id) {
17
+ return `${url}/${query.id}.json?fields=${fieldParams}`;
18
+ }
19
+ const apiFilter = query.filters != null
20
+ ? query_filter_util_1.QueiryFilterUtil.getApiFilters(query.filters)
21
+ : null;
22
+ const filterParams = apiFilter
23
+ ? `&${apiFilter}&${query.junctionOperator != null
24
+ ? `rootJunction=${query.junctionOperator}&`
25
+ : ''}`
26
+ : '';
27
+ return `${url}.json?fields=${fieldParams}${filterParams}&${(_a = query.pagination) === null || _a === void 0 ? void 0 : _a.getPagingQueryParams()}`;
28
+ }
29
+ }
30
+ exports.DhisUrlGenerator = DhisUrlGenerator;
31
+ //# sourceMappingURL=dhis-url-generator.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dhis-url-generator.util.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/utils/dhis-url-generator.util.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;;;AAEjD,2DAAuD;AAEvD,MAAa,gBAAgB;IAC3B,MAAM,CAAC,QAAQ,CAAI,KAAoB;;QACrC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,GAAG,GAAG,KAAK,CAAC,YAAY,CAAC;QAC7B,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE3C,IAAI,KAAK,CAAC,EAAE,EAAE,CAAC;YACb,OAAO,GAAG,GAAG,IAAI,KAAK,CAAC,EAAE,gBAAgB,WAAW,EAAE,CAAC;QACzD,CAAC;QAED,MAAM,SAAS,GACb,KAAK,CAAC,OAAO,IAAI,IAAI;YACnB,CAAC,CAAC,oCAAgB,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC;QAEX,MAAM,YAAY,GAAG,SAAS;YAC5B,CAAC,CAAC,IAAI,SAAS,IACX,KAAK,CAAC,gBAAgB,IAAI,IAAI;gBAC5B,CAAC,CAAC,gBAAgB,KAAK,CAAC,gBAAgB,GAAG;gBAC3C,CAAC,CAAC,EACN,EAAE;YACJ,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO,GAAG,GAAG,gBAAgB,WAAW,GAAG,YAAY,IAAI,MAAA,KAAK,CAAC,UAAU,0CAAE,oBAAoB,EAAE,EAAE,CAAC;IACxG,CAAC;CACF;AA5BD,4CA4BC"}
@@ -0,0 +1,2 @@
1
+ export * from './query-filter.util';
2
+ export * from './dhis-url-generator.util';
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ // Copyright 2024 UDSM DHIS2 Lab. All rights reserved.
5
+ // Use of this source code is governed by a BSD-style
6
+ // license that can be found in the LICENSE file.
7
+ tslib_1.__exportStar(require("./query-filter.util"), exports);
8
+ tslib_1.__exportStar(require("./dhis-url-generator.util"), exports);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/utils/index.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;AACjD,8DAAoC;AACpC,oEAA0C"}
@@ -0,0 +1,4 @@
1
+ import { QueryFilter } from '../models';
2
+ export declare class QueiryFilterUtil {
3
+ static getApiFilters(filters: QueryFilter[]): string | null;
4
+ }
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QueiryFilterUtil = void 0;
4
+ // Copyright 2024 UDSM DHIS2 Lab. All rights reserved.
5
+ // Use of this source code is governed by a BSD-style
6
+ // license that can be found in the LICENSE file.
7
+ const lodash_1 = require("lodash");
8
+ const models_1 = require("../models");
9
+ class QueiryFilterUtil {
10
+ static getApiFilters(filters) {
11
+ if (!filters) {
12
+ return null;
13
+ }
14
+ const whereParams = filters
15
+ .map((filter) => {
16
+ switch (filter.condition) {
17
+ case models_1.QueryCondition.In: {
18
+ const values = (0, lodash_1.isArray)(filter.value)
19
+ ? filter.value
20
+ : [filter.value];
21
+ return `filter=${filter.attribute}:in:[${values.join(',')}]`;
22
+ }
23
+ case models_1.QueryCondition.Equal:
24
+ return `filter=${filter.attribute}:eq:${filter.value}`;
25
+ case models_1.QueryCondition.Like: {
26
+ const values = (0, lodash_1.isArray)(filter.value)
27
+ ? filter.value
28
+ : [filter.value];
29
+ const ilikeFilters = values.map((valueItem) => `filter=${filter.attribute}:like:${valueItem}`);
30
+ return ilikeFilters.join('&');
31
+ }
32
+ case models_1.QueryCondition.Ilike: {
33
+ const values = (0, lodash_1.isArray)(filter.value)
34
+ ? filter.value
35
+ : [filter.value];
36
+ const ilikeFilters = values.map((valueItem) => `filter=${filter.attribute}:ilike:${valueItem}`);
37
+ return ilikeFilters.join('&');
38
+ }
39
+ case models_1.QueryCondition.LessThan:
40
+ return `filter=${filter.attribute}:lt:${filter.value}`;
41
+ case models_1.QueryCondition.LessThanOrEqualTo:
42
+ return `filter=${filter.attribute}:lte:${filter.value}`;
43
+ case models_1.QueryCondition.GreaterThan:
44
+ return `filter=${filter.attribute}:gt:${filter.value}`;
45
+ case models_1.QueryCondition.GreaterThanOrEqualTo:
46
+ return `filter=${filter.attribute}:gte:${filter.value}`;
47
+ default:
48
+ return null;
49
+ }
50
+ })
51
+ .filter((filter) => filter != null);
52
+ return (whereParams === null || whereParams === void 0 ? void 0 : whereParams.length) > 0 ? whereParams === null || whereParams === void 0 ? void 0 : whereParams.join('&') : null;
53
+ }
54
+ }
55
+ exports.QueiryFilterUtil = QueiryFilterUtil;
56
+ //# sourceMappingURL=query-filter.util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query-filter.util.js","sourceRoot":"","sources":["../../../../../../../packages/dhis2-web-sdk/src/lib/shared/utils/query-filter.util.ts"],"names":[],"mappings":";;;AAAA,sDAAsD;AACtD,qDAAqD;AACrD,iDAAiD;AACjD,mCAAiC;AACjC,sCAAwD;AACxD,MAAa,gBAAgB;IAC3B,MAAM,CAAC,aAAa,CAAC,OAAsB;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,WAAW,GAAG,OAAO;aACxB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACd,QAAQ,MAAM,CAAC,SAAS,EAAE,CAAC;gBACzB,KAAK,uBAAc,CAAC,EAAE,CAAC,CAAC,CAAC;oBACvB,MAAM,MAAM,GAAG,IAAA,gBAAO,EAAC,MAAM,CAAC,KAAK,CAAC;wBAClC,CAAC,CAAC,MAAM,CAAC,KAAK;wBACd,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACnB,OAAO,UAAU,MAAM,CAAC,SAAS,QAAQ,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;gBAC/D,CAAC;gBAED,KAAK,uBAAc,CAAC,KAAK;oBACvB,OAAO,UAAU,MAAM,CAAC,SAAS,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;gBAEzD,KAAK,uBAAc,CAAC,IAAI,CAAC,CAAC,CAAC;oBACzB,MAAM,MAAM,GAAG,IAAA,gBAAO,EAAC,MAAM,CAAC,KAAK,CAAC;wBAClC,CAAC,CAAC,MAAM,CAAC,KAAK;wBACd,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACnB,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAC7B,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,MAAM,CAAC,SAAS,SAAS,SAAS,EAAE,CAC9D,CAAC;oBAEF,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC;gBAED,KAAK,uBAAc,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC1B,MAAM,MAAM,GAAG,IAAA,gBAAO,EAAC,MAAM,CAAC,KAAK,CAAC;wBAClC,CAAC,CAAC,MAAM,CAAC,KAAK;wBACd,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACnB,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAC7B,CAAC,SAAS,EAAE,EAAE,CAAC,UAAU,MAAM,CAAC,SAAS,UAAU,SAAS,EAAE,CAC/D,CAAC;oBAEF,OAAO,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC;gBAED,KAAK,uBAAc,CAAC,QAAQ;oBAC1B,OAAO,UAAU,MAAM,CAAC,SAAS,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;gBAEzD,KAAK,uBAAc,CAAC,iBAAiB;oBACnC,OAAO,UAAU,MAAM,CAAC,SAAS,QAAQ,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC1D,KAAK,uBAAc,CAAC,WAAW;oBAC7B,OAAO,UAAU,MAAM,CAAC,SAAS,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC;gBAEzD,KAAK,uBAAc,CAAC,oBAAoB;oBACtC,OAAO,UAAU,MAAM,CAAC,SAAS,QAAQ,MAAM,CAAC,KAAK,EAAE,CAAC;gBAC1D;oBACE,OAAO,IAAI,CAAC;YAChB,CAAC;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;QAEtC,OAAO,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,IAAG,CAAC,CAAC,CAAC,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,CAAC;CACF;AA3DD,4CA2DC"}