@venizia/ignis-connectors 0.2.0 → 0.2.1-1

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 (203) hide show
  1. package/dist/cjs/common/internal/echo.d.ts +5 -0
  2. package/dist/cjs/common/internal/echo.d.ts.map +1 -0
  3. package/dist/cjs/common/internal/echo.js +22 -0
  4. package/dist/cjs/common/internal/echo.js.map +1 -0
  5. package/dist/cjs/common/internal/index.d.ts +2 -0
  6. package/dist/cjs/common/internal/index.d.ts.map +1 -0
  7. package/dist/cjs/common/internal/index.js +18 -0
  8. package/dist/cjs/common/internal/index.js.map +1 -0
  9. package/dist/cjs/http/common/types.d.ts +11 -0
  10. package/dist/cjs/http/common/types.d.ts.map +1 -1
  11. package/dist/cjs/http/datasource.d.ts +26 -2
  12. package/dist/cjs/http/datasource.d.ts.map +1 -1
  13. package/dist/cjs/http/datasource.js +125 -13
  14. package/dist/cjs/http/datasource.js.map +1 -1
  15. package/dist/cjs/http/repository.d.ts +165 -4
  16. package/dist/cjs/http/repository.d.ts.map +1 -1
  17. package/dist/cjs/http/repository.js +87 -3
  18. package/dist/cjs/http/repository.js.map +1 -1
  19. package/dist/cjs/relational/core/datasources/base.d.ts.map +1 -1
  20. package/dist/cjs/relational/core/datasources/base.js +32 -36
  21. package/dist/cjs/relational/core/datasources/base.js.map +1 -1
  22. package/dist/cjs/relational/core/datasources/transaction-lifecycle.d.ts +48 -0
  23. package/dist/cjs/relational/core/datasources/transaction-lifecycle.d.ts.map +1 -0
  24. package/dist/cjs/relational/core/datasources/transaction-lifecycle.js +85 -0
  25. package/dist/cjs/relational/core/datasources/transaction-lifecycle.js.map +1 -0
  26. package/dist/cjs/relational/core/datasources/transaction-state.d.ts +5 -0
  27. package/dist/cjs/relational/core/datasources/transaction-state.d.ts.map +1 -0
  28. package/dist/cjs/relational/core/datasources/transaction-state.js +12 -0
  29. package/dist/cjs/relational/core/datasources/transaction-state.js.map +1 -0
  30. package/dist/cjs/relational/core/repositories/common/types.d.ts +3 -1
  31. package/dist/cjs/relational/core/repositories/common/types.d.ts.map +1 -1
  32. package/dist/cjs/relational/core/repositories/core/base.d.ts +17 -0
  33. package/dist/cjs/relational/core/repositories/core/base.d.ts.map +1 -1
  34. package/dist/cjs/relational/core/repositories/core/base.js +69 -0
  35. package/dist/cjs/relational/core/repositories/core/base.js.map +1 -1
  36. package/dist/cjs/relational/core/repositories/dialect/filter.d.ts +14 -7
  37. package/dist/cjs/relational/core/repositories/dialect/filter.d.ts.map +1 -1
  38. package/dist/cjs/relational/core/repositories/dialect/filter.js +61 -48
  39. package/dist/cjs/relational/core/repositories/dialect/filter.js.map +1 -1
  40. package/dist/cjs/relational/core/repositories/dialect/internal/index.d.ts +1 -0
  41. package/dist/cjs/relational/core/repositories/dialect/internal/index.d.ts.map +1 -1
  42. package/dist/cjs/relational/core/repositories/dialect/internal/index.js +1 -0
  43. package/dist/cjs/relational/core/repositories/dialect/internal/index.js.map +1 -1
  44. package/dist/cjs/relational/core/repositories/dialect/internal/json-utils.d.ts.map +1 -1
  45. package/dist/cjs/relational/core/repositories/dialect/internal/json-utils.js +2 -1
  46. package/dist/cjs/relational/core/repositories/dialect/internal/json-utils.js.map +1 -1
  47. package/dist/cjs/relational/core/repositories/dialect/internal/subquery.d.ts +13 -0
  48. package/dist/cjs/relational/core/repositories/dialect/internal/subquery.d.ts.map +1 -0
  49. package/dist/cjs/relational/core/repositories/dialect/internal/subquery.js +22 -0
  50. package/dist/cjs/relational/core/repositories/dialect/internal/subquery.js.map +1 -0
  51. package/dist/cjs/relational/core/repositories/dialect/update.d.ts.map +1 -1
  52. package/dist/cjs/relational/core/repositories/dialect/update.js +8 -7
  53. package/dist/cjs/relational/core/repositories/dialect/update.js.map +1 -1
  54. package/dist/cjs/relational/postgres/repositories/dialect/filter.d.ts +4 -1
  55. package/dist/cjs/relational/postgres/repositories/dialect/filter.d.ts.map +1 -1
  56. package/dist/cjs/relational/postgres/repositories/dialect/filter.js +36 -9
  57. package/dist/cjs/relational/postgres/repositories/dialect/filter.js.map +1 -1
  58. package/dist/cjs/relational/postgres/repositories/dialect/internal/index.d.ts +2 -0
  59. package/dist/cjs/relational/postgres/repositories/dialect/internal/index.d.ts.map +1 -0
  60. package/dist/cjs/relational/postgres/repositories/dialect/internal/index.js +18 -0
  61. package/dist/cjs/relational/postgres/repositories/dialect/internal/index.js.map +1 -0
  62. package/dist/cjs/relational/postgres/repositories/dialect/internal/json-path.d.ts +9 -0
  63. package/dist/cjs/relational/postgres/repositories/dialect/internal/json-path.d.ts.map +1 -0
  64. package/dist/cjs/relational/postgres/repositories/dialect/internal/json-path.js +14 -0
  65. package/dist/cjs/relational/postgres/repositories/dialect/internal/json-path.js.map +1 -0
  66. package/dist/cjs/relational/postgres/repositories/dialect/query.d.ts +2 -0
  67. package/dist/cjs/relational/postgres/repositories/dialect/query.d.ts.map +1 -1
  68. package/dist/cjs/relational/postgres/repositories/dialect/query.js +3 -0
  69. package/dist/cjs/relational/postgres/repositories/dialect/query.js.map +1 -1
  70. package/dist/cjs/relational/postgres/repositories/dialect/update.d.ts.map +1 -1
  71. package/dist/cjs/relational/postgres/repositories/dialect/update.js +2 -1
  72. package/dist/cjs/relational/postgres/repositories/dialect/update.js.map +1 -1
  73. package/dist/cjs/relational/sqlite/repositories/dialect/filter.d.ts +2 -1
  74. package/dist/cjs/relational/sqlite/repositories/dialect/filter.d.ts.map +1 -1
  75. package/dist/cjs/relational/sqlite/repositories/dialect/filter.js +10 -4
  76. package/dist/cjs/relational/sqlite/repositories/dialect/filter.js.map +1 -1
  77. package/dist/cjs/relational/sqlite/repositories/dialect/internal/json-path.d.ts +9 -6
  78. package/dist/cjs/relational/sqlite/repositories/dialect/internal/json-path.d.ts.map +1 -1
  79. package/dist/cjs/relational/sqlite/repositories/dialect/internal/json-path.js +21 -9
  80. package/dist/cjs/relational/sqlite/repositories/dialect/internal/json-path.js.map +1 -1
  81. package/dist/cjs/relational/sqlite/repositories/dialect/query.d.ts +2 -0
  82. package/dist/cjs/relational/sqlite/repositories/dialect/query.d.ts.map +1 -1
  83. package/dist/cjs/relational/sqlite/repositories/dialect/query.js +3 -0
  84. package/dist/cjs/relational/sqlite/repositories/dialect/query.js.map +1 -1
  85. package/dist/cjs/search/core/repositories/common/dialect-helpers.d.ts.map +1 -1
  86. package/dist/cjs/search/core/repositories/common/dialect-helpers.js +2 -1
  87. package/dist/cjs/search/core/repositories/common/dialect-helpers.js.map +1 -1
  88. package/dist/cjs/search/meilisearch/repositories/dialect/query-dialect.d.ts.map +1 -1
  89. package/dist/cjs/search/meilisearch/repositories/dialect/query-dialect.js +5 -8
  90. package/dist/cjs/search/meilisearch/repositories/dialect/query-dialect.js.map +1 -1
  91. package/dist/cjs/search/typesense/repositories/dialect/query-dialect.d.ts.map +1 -1
  92. package/dist/cjs/search/typesense/repositories/dialect/query-dialect.js +5 -8
  93. package/dist/cjs/search/typesense/repositories/dialect/query-dialect.js.map +1 -1
  94. package/dist/cjs/testing/index.d.ts +5 -0
  95. package/dist/cjs/testing/index.d.ts.map +1 -0
  96. package/dist/cjs/testing/index.js +22 -0
  97. package/dist/cjs/testing/index.js.map +1 -0
  98. package/dist/cjs/testing/transaction-double.d.ts +44 -0
  99. package/dist/cjs/testing/transaction-double.d.ts.map +1 -0
  100. package/dist/cjs/testing/transaction-double.js +68 -0
  101. package/dist/cjs/testing/transaction-double.js.map +1 -0
  102. package/dist/esm/common/internal/echo.d.ts +5 -0
  103. package/dist/esm/common/internal/echo.d.ts.map +1 -0
  104. package/dist/esm/common/internal/echo.js +18 -0
  105. package/dist/esm/common/internal/echo.js.map +1 -0
  106. package/dist/esm/common/internal/index.d.ts +2 -0
  107. package/dist/esm/common/internal/index.d.ts.map +1 -0
  108. package/dist/esm/common/internal/index.js +2 -0
  109. package/dist/esm/common/internal/index.js.map +1 -0
  110. package/dist/esm/http/common/types.d.ts +11 -0
  111. package/dist/esm/http/common/types.d.ts.map +1 -1
  112. package/dist/esm/http/datasource.d.ts +26 -2
  113. package/dist/esm/http/datasource.d.ts.map +1 -1
  114. package/dist/esm/http/datasource.js +125 -13
  115. package/dist/esm/http/datasource.js.map +1 -1
  116. package/dist/esm/http/repository.d.ts +165 -4
  117. package/dist/esm/http/repository.d.ts.map +1 -1
  118. package/dist/esm/http/repository.js +87 -3
  119. package/dist/esm/http/repository.js.map +1 -1
  120. package/dist/esm/relational/core/datasources/base.d.ts.map +1 -1
  121. package/dist/esm/relational/core/datasources/base.js +32 -36
  122. package/dist/esm/relational/core/datasources/base.js.map +1 -1
  123. package/dist/esm/relational/core/datasources/transaction-lifecycle.d.ts +48 -0
  124. package/dist/esm/relational/core/datasources/transaction-lifecycle.d.ts.map +1 -0
  125. package/dist/esm/relational/core/datasources/transaction-lifecycle.js +80 -0
  126. package/dist/esm/relational/core/datasources/transaction-lifecycle.js.map +1 -0
  127. package/dist/esm/relational/core/datasources/transaction-state.d.ts +5 -0
  128. package/dist/esm/relational/core/datasources/transaction-state.d.ts.map +1 -0
  129. package/dist/esm/relational/core/datasources/transaction-state.js +8 -0
  130. package/dist/esm/relational/core/datasources/transaction-state.js.map +1 -0
  131. package/dist/esm/relational/core/repositories/common/types.d.ts +3 -1
  132. package/dist/esm/relational/core/repositories/common/types.d.ts.map +1 -1
  133. package/dist/esm/relational/core/repositories/core/base.d.ts +17 -0
  134. package/dist/esm/relational/core/repositories/core/base.d.ts.map +1 -1
  135. package/dist/esm/relational/core/repositories/core/base.js +69 -0
  136. package/dist/esm/relational/core/repositories/core/base.js.map +1 -1
  137. package/dist/esm/relational/core/repositories/dialect/filter.d.ts +14 -7
  138. package/dist/esm/relational/core/repositories/dialect/filter.d.ts.map +1 -1
  139. package/dist/esm/relational/core/repositories/dialect/filter.js +56 -43
  140. package/dist/esm/relational/core/repositories/dialect/filter.js.map +1 -1
  141. package/dist/esm/relational/core/repositories/dialect/internal/index.d.ts +1 -0
  142. package/dist/esm/relational/core/repositories/dialect/internal/index.d.ts.map +1 -1
  143. package/dist/esm/relational/core/repositories/dialect/internal/index.js +1 -0
  144. package/dist/esm/relational/core/repositories/dialect/internal/index.js.map +1 -1
  145. package/dist/esm/relational/core/repositories/dialect/internal/json-utils.d.ts.map +1 -1
  146. package/dist/esm/relational/core/repositories/dialect/internal/json-utils.js +2 -1
  147. package/dist/esm/relational/core/repositories/dialect/internal/json-utils.js.map +1 -1
  148. package/dist/esm/relational/core/repositories/dialect/internal/subquery.d.ts +13 -0
  149. package/dist/esm/relational/core/repositories/dialect/internal/subquery.d.ts.map +1 -0
  150. package/dist/esm/relational/core/repositories/dialect/internal/subquery.js +18 -0
  151. package/dist/esm/relational/core/repositories/dialect/internal/subquery.js.map +1 -0
  152. package/dist/esm/relational/core/repositories/dialect/update.d.ts.map +1 -1
  153. package/dist/esm/relational/core/repositories/dialect/update.js +3 -2
  154. package/dist/esm/relational/core/repositories/dialect/update.js.map +1 -1
  155. package/dist/esm/relational/postgres/repositories/dialect/filter.d.ts +4 -1
  156. package/dist/esm/relational/postgres/repositories/dialect/filter.d.ts.map +1 -1
  157. package/dist/esm/relational/postgres/repositories/dialect/filter.js +37 -10
  158. package/dist/esm/relational/postgres/repositories/dialect/filter.js.map +1 -1
  159. package/dist/esm/relational/postgres/repositories/dialect/internal/index.d.ts +2 -0
  160. package/dist/esm/relational/postgres/repositories/dialect/internal/index.d.ts.map +1 -0
  161. package/dist/esm/relational/postgres/repositories/dialect/internal/index.js +2 -0
  162. package/dist/esm/relational/postgres/repositories/dialect/internal/index.js.map +1 -0
  163. package/dist/esm/relational/postgres/repositories/dialect/internal/json-path.d.ts +9 -0
  164. package/dist/esm/relational/postgres/repositories/dialect/internal/json-path.d.ts.map +1 -0
  165. package/dist/esm/relational/postgres/repositories/dialect/internal/json-path.js +10 -0
  166. package/dist/esm/relational/postgres/repositories/dialect/internal/json-path.js.map +1 -0
  167. package/dist/esm/relational/postgres/repositories/dialect/query.d.ts +2 -0
  168. package/dist/esm/relational/postgres/repositories/dialect/query.d.ts.map +1 -1
  169. package/dist/esm/relational/postgres/repositories/dialect/query.js +3 -0
  170. package/dist/esm/relational/postgres/repositories/dialect/query.js.map +1 -1
  171. package/dist/esm/relational/postgres/repositories/dialect/update.d.ts.map +1 -1
  172. package/dist/esm/relational/postgres/repositories/dialect/update.js +2 -1
  173. package/dist/esm/relational/postgres/repositories/dialect/update.js.map +1 -1
  174. package/dist/esm/relational/sqlite/repositories/dialect/filter.d.ts +2 -1
  175. package/dist/esm/relational/sqlite/repositories/dialect/filter.d.ts.map +1 -1
  176. package/dist/esm/relational/sqlite/repositories/dialect/filter.js +12 -6
  177. package/dist/esm/relational/sqlite/repositories/dialect/filter.js.map +1 -1
  178. package/dist/esm/relational/sqlite/repositories/dialect/internal/json-path.d.ts +9 -6
  179. package/dist/esm/relational/sqlite/repositories/dialect/internal/json-path.d.ts.map +1 -1
  180. package/dist/esm/relational/sqlite/repositories/dialect/internal/json-path.js +19 -7
  181. package/dist/esm/relational/sqlite/repositories/dialect/internal/json-path.js.map +1 -1
  182. package/dist/esm/relational/sqlite/repositories/dialect/query.d.ts +2 -0
  183. package/dist/esm/relational/sqlite/repositories/dialect/query.d.ts.map +1 -1
  184. package/dist/esm/relational/sqlite/repositories/dialect/query.js +3 -0
  185. package/dist/esm/relational/sqlite/repositories/dialect/query.js.map +1 -1
  186. package/dist/esm/search/core/repositories/common/dialect-helpers.d.ts.map +1 -1
  187. package/dist/esm/search/core/repositories/common/dialect-helpers.js +2 -1
  188. package/dist/esm/search/core/repositories/common/dialect-helpers.js.map +1 -1
  189. package/dist/esm/search/meilisearch/repositories/dialect/query-dialect.d.ts.map +1 -1
  190. package/dist/esm/search/meilisearch/repositories/dialect/query-dialect.js +6 -9
  191. package/dist/esm/search/meilisearch/repositories/dialect/query-dialect.js.map +1 -1
  192. package/dist/esm/search/typesense/repositories/dialect/query-dialect.d.ts.map +1 -1
  193. package/dist/esm/search/typesense/repositories/dialect/query-dialect.js +6 -9
  194. package/dist/esm/search/typesense/repositories/dialect/query-dialect.js.map +1 -1
  195. package/dist/esm/testing/index.d.ts +5 -0
  196. package/dist/esm/testing/index.d.ts.map +1 -0
  197. package/dist/esm/testing/index.js +4 -0
  198. package/dist/esm/testing/index.js.map +1 -0
  199. package/dist/esm/testing/transaction-double.d.ts +44 -0
  200. package/dist/esm/testing/transaction-double.d.ts.map +1 -0
  201. package/dist/esm/testing/transaction-double.js +62 -0
  202. package/dist/esm/testing/transaction-double.js.map +1 -0
  203. package/package.json +10 -4
@@ -0,0 +1,5 @@
1
+ /** A caller-supplied value made safe to quote in an error message: one line, every unsafe character escaped. */
2
+ export declare const toSafeEcho: (opts: {
3
+ value: string;
4
+ }) => string;
5
+ //# sourceMappingURL=echo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"echo.d.ts","sourceRoot":"","sources":["../../../../src/common/internal/echo.ts"],"names":[],"mappings":"AAIA,gHAAgH;AAChH,eAAO,MAAM,UAAU,GAAI,MAAM;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,KAAG,MAgBpD,CAAC"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toSafeEcho = void 0;
4
+ /** C0 controls, DEL, C1 controls and the two Unicode line terminators - anything that can break a log line. */
5
+ const isUnsafeEchoCode = (code) => code < 0x20 || (code >= 0x7f && code <= 0x9f) || code === 0x2028 || code === 0x2029;
6
+ /** A caller-supplied value made safe to quote in an error message: one line, every unsafe character escaped. */
7
+ const toSafeEcho = (opts) => {
8
+ const { value } = opts;
9
+ let safe = '';
10
+ let copiedUpTo = 0;
11
+ for (let index = 0; index < value.length; index++) {
12
+ const code = value.charCodeAt(index);
13
+ if (!isUnsafeEchoCode(code)) {
14
+ continue;
15
+ }
16
+ safe += `${value.slice(copiedUpTo, index)}\\u${code.toString(16).padStart(4, '0')}`;
17
+ copiedUpTo = index + 1;
18
+ }
19
+ return copiedUpTo === 0 ? value : safe + value.slice(copiedUpTo);
20
+ };
21
+ exports.toSafeEcho = toSafeEcho;
22
+ //# sourceMappingURL=echo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"echo.js","sourceRoot":"","sources":["../../../../src/common/internal/echo.ts"],"names":[],"mappings":";;;AAAA,+GAA+G;AAC/G,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAW,EAAE,CACjD,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,CAAC;AAEtF,gHAAgH;AACzG,MAAM,UAAU,GAAG,CAAC,IAAuB,EAAU,EAAE;IAC5D,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACvB,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,SAAS;QACX,CAAC;QAED,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QACpF,UAAU,GAAG,KAAK,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;AACnE,CAAC,CAAC;AAhBW,QAAA,UAAU,cAgBrB"}
@@ -0,0 +1,2 @@
1
+ export * from './echo';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/common/internal/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./echo"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/common/internal/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB"}
@@ -8,6 +8,12 @@ export interface IAuthToken {
8
8
  export type TAuthTokenResolver = () => IAuthToken | undefined;
9
9
  /** Not `Record` alone: header names are case-insensitive, and an object merge appends two spellings. */
10
10
  export type THttpHeaders = Headers | Array<[string, string]> | Record<string, string>;
11
+ /**
12
+ * A request body. A plain object or array goes out as JSON; a string, `Blob`, `FormData`,
13
+ * `URLSearchParams`, `ArrayBuffer` or typed array goes out as it is. Never a stream: the 401 retry
14
+ * sends the same body twice.
15
+ */
16
+ export type THttpBody = string | object;
11
17
  export interface IHttpDataSourceSettings {
12
18
  baseUrl: string;
13
19
  /** Sent on every request. `x-request-count` is refused - the connector owns it. */
@@ -28,6 +34,11 @@ export interface IHttpReadResult<R> {
28
34
  skip?: number;
29
35
  dataLength: number;
30
36
  }
37
+ /** What a write answers: the rows the server returned, and its `x-response-count`. */
38
+ export interface IHttpWriteResult<R> {
39
+ data: R;
40
+ count: number;
41
+ }
31
42
  export type THttpQuery<E extends object> = {
32
43
  filter?: TFilter<E>;
33
44
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/http/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kCAAkC;AAClC,MAAM,MAAM,kBAAkB,GAAG,MAAM,UAAU,GAAG,SAAS,CAAC;AAE9D,wGAAwG;AACxG,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACtF,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAEhB,mFAAmF;IACnF,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,qCAAqC;IACrC,SAAS,CAAC,EAAE,UAAU,CAAC;IAEvB,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IAEvC,+FAA+F;IAC/F,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CACnD;AAED,wGAAwG;AACxG,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/http/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,kCAAkC;AAClC,MAAM,MAAM,kBAAkB,GAAG,MAAM,UAAU,GAAG,SAAS,CAAC;AAE9D,wGAAwG;AACxG,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEtF;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAExC,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAEhB,mFAAmF;IACnF,OAAO,CAAC,EAAE,YAAY,CAAC;IAEvB,qCAAqC;IACrC,SAAS,CAAC,EAAE,UAAU,CAAC;IAEvB,iBAAiB,CAAC,EAAE,kBAAkB,CAAC;IAEvC,+FAA+F;IAC/F,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;CACnD;AAED,wGAAwG;AACxG,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,OAAO,CAAC;IAClB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,sFAAsF;AACtF,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,IAAI;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAA;CAAE,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { AbstractDataSource } from '@venizia/ignis-kernel/repository';
2
2
  import { NodeFetchNetworkRequest } from '@venizia/ignis-helpers/core';
3
- import type { IAuthToken, IHttpDataSourceSettings, IHttpReadResult } from './common/types';
3
+ import type { IAuthToken, IHttpDataSourceSettings, IHttpReadResult, IHttpWriteResult, THttpBody, THttpHeaders } from './common/types';
4
4
  /** Reads an IGNIS REST server through the repository contract. Targets IGNIS, not any REST API. */
5
5
  export declare class HttpDataSource extends AbstractDataSource<IHttpDataSourceSettings> {
6
6
  name: string;
@@ -21,22 +21,46 @@ export declare class HttpDataSource extends AbstractDataSource<IHttpDataSourceSe
21
21
  protected resolveAuthToken(): IAuthToken | undefined;
22
22
  protected buildHeaders(opts: {
23
23
  token?: IAuthToken;
24
+ requestHeaders?: Array<[string, string]>;
25
+ isJsonBody?: boolean;
24
26
  }): Headers;
25
27
  buildUrl(opts: {
26
28
  paths: Array<string>;
27
29
  query?: Record<string, unknown>;
28
30
  }): string;
29
- /** The raw `Response` - for what is not rows, like an export. Auth and the 401 retry apply. */
31
+ /**
32
+ * The raw `Response`, on any method - for what the repository verbs do not cover, like an export
33
+ * or a PUT to a hand-written route. Auth and the 401 retry apply; the retry resends the same body.
34
+ */
30
35
  request(opts: {
31
36
  paths: Array<string>;
32
37
  query?: Record<string, unknown>;
33
38
  method?: string;
39
+ body?: THttpBody;
40
+ headers?: THttpHeaders;
34
41
  }): Promise<Response>;
42
+ /** A failed response as an error carrying the server's own status, message and message code. */
43
+ protected toResponseError(opts: {
44
+ response: Response;
45
+ url: string;
46
+ verb: string;
47
+ }): Promise<import("@venizia/ignis-helpers/core").ApplicationError>;
35
48
  /** Rows plus the total from `Content-Range`, reported absent when the header is. */
36
49
  read<R>(opts: {
37
50
  paths: Array<string>;
38
51
  query?: Record<string, unknown>;
39
52
  shape?: 'list' | 'one';
40
53
  }): Promise<IHttpReadResult<R>>;
54
+ /**
55
+ * A write, and what it answered: the body as the rows, the count from `x-response-count`. The
56
+ * connector asks for bare rows, so an IGNIS write answers the row or the rows, never the envelope.
57
+ */
58
+ write<R>(opts: {
59
+ paths: Array<string>;
60
+ query?: Record<string, unknown>;
61
+ method: string;
62
+ body?: THttpBody;
63
+ headers?: THttpHeaders;
64
+ }): Promise<IHttpWriteResult<R>>;
41
65
  }
42
66
  //# sourceMappingURL=datasource.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"datasource.d.ts","sourceRoot":"","sources":["../../../src/http/datasource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,KAAK,EACV,UAAU,EACV,uBAAuB,EACvB,eAAe,EAEhB,MAAM,gBAAgB,CAAC;AAqGxB,mGAAmG;AACnG,qBAAa,cAAe,SAAQ,kBAAkB,CAAC,uBAAuB,CAAC;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,uBAAuB,CAAC;IAClC,MAAM,EAAS,KAAK,CAAC;IAE9B,SAAS,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAC3C,uFAAuF;IACvF,SAAS,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,sGAAsG;IACtG,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC;gBAEzB,IAAI,EAAE,uBAAuB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAuBvD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAEvB,eAAe;;;IAIxB,SAAS,CAAC,gBAAgB,IAAI,UAAU,GAAG,SAAS;IAIpD,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE;QAAE,KAAK,CAAC,EAAE,UAAU,CAAA;KAAE,GAAG,OAAO;IAqB7D,QAAQ,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,MAAM;IA2BjF,+FAA+F;IACzF,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAuBrB,oFAAoF;IAC9E,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE;QAClB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;KACxB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;CAwBhC"}
1
+ {"version":3,"file":"datasource.d.ts","sourceRoot":"","sources":["../../../src/http/datasource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAEtE,OAAO,KAAK,EACV,UAAU,EACV,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,SAAS,EACT,YAAY,EACb,MAAM,gBAAgB,CAAC;AAyLxB,mGAAmG;AACnG,qBAAa,cAAe,SAAQ,kBAAkB,CAAC,uBAAuB,CAAC;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,uBAAuB,CAAC;IAClC,MAAM,EAAS,KAAK,CAAC;IAE9B,SAAS,CAAC,OAAO,EAAE,uBAAuB,CAAC;IAC3C,uFAAuF;IACvF,SAAS,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,sGAAsG;IACtG,SAAS,CAAC,iBAAiB,EAAE,OAAO,CAAC;gBAEzB,IAAI,EAAE,uBAAuB,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;IAkBvD,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAEvB,eAAe;;;IAIxB,SAAS,CAAC,gBAAgB,IAAI,UAAU,GAAG,SAAS;IAIpD,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE;QAC3B,KAAK,CAAC,EAAE,UAAU,CAAC;QACnB,cAAc,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACzC,UAAU,CAAC,EAAE,OAAO,CAAC;KACtB,GAAG,OAAO;IA8BX,QAAQ,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,MAAM;IA2BjF;;;OAGG;IACG,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,OAAO,CAAC,EAAE,YAAY,CAAC;KACxB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgCrB,gGAAgG;cAChF,eAAe,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;IAevF,oFAAoF;IAC9E,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE;QAClB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;KACxB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAsB/B;;;OAGG;IACG,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE;QACnB,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChC,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,SAAS,CAAC;QACjB,OAAO,CAAC,EAAE,YAAY,CAAC;KACxB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAyBjC"}
@@ -80,6 +80,69 @@ const toHeaderEntries = (opts) => {
80
80
  }
81
81
  return [...merged.entries()];
82
82
  };
83
+ /**
84
+ * The body as `fetch` takes it. Anything `fetch` already sends as a body passes through untouched,
85
+ * so `FormData` keeps the multipart boundary its own content-type carries; any other object is JSON.
86
+ * Serialised ONCE, so the 401 retry sends the same bytes.
87
+ */
88
+ const toRequestBody = (opts) => {
89
+ const { body } = opts;
90
+ if (body === undefined) {
91
+ return { payload: undefined, isJson: false };
92
+ }
93
+ const isSentAsIs = typeof body === 'string' ||
94
+ body instanceof Blob ||
95
+ body instanceof FormData ||
96
+ body instanceof URLSearchParams ||
97
+ body instanceof ArrayBuffer;
98
+ if (isSentAsIs) {
99
+ return { payload: body, isJson: false };
100
+ }
101
+ // A typed array may sit on a SharedArrayBuffer, which `fetch` refuses; a Blob copy never does.
102
+ if (ArrayBuffer.isView(body)) {
103
+ return {
104
+ payload: new Blob([new Uint8Array(body.buffer, body.byteOffset, body.byteLength).slice()]),
105
+ isJson: false,
106
+ };
107
+ }
108
+ return { payload: JSON.stringify(body), isJson: true };
109
+ };
110
+ /**
111
+ * The IGNIS error envelope - `{ message, normalized: { code }, requestId }` - read off a failed
112
+ * response. A body that is not that envelope yields nothing, and the status alone still describes it.
113
+ */
114
+ const readServerError = async (opts) => {
115
+ const text = await opts.response.text().catch(() => '');
116
+ let parsed;
117
+ try {
118
+ parsed = text ? JSON.parse(text) : undefined;
119
+ }
120
+ catch {
121
+ return {};
122
+ }
123
+ if (!parsed || typeof parsed !== 'object') {
124
+ return {};
125
+ }
126
+ const message = Reflect.get(parsed, 'message');
127
+ const requestId = Reflect.get(parsed, 'requestId');
128
+ const normalized = Reflect.get(parsed, 'normalized');
129
+ const code = normalized && typeof normalized === 'object' ? Reflect.get(normalized, 'code') : undefined;
130
+ return {
131
+ message: typeof message === 'string' ? message : undefined,
132
+ code: typeof code === 'string' ? code : undefined,
133
+ requestId: typeof requestId === 'string' ? requestId : undefined,
134
+ };
135
+ };
136
+ /** The connector always sends `x-request-count: false`; a caller header carrying it would contradict that. */
137
+ const assertNoRequestCountHeader = (opts) => {
138
+ const { entries, name } = opts;
139
+ if (entries.some(([headerName]) => headerName === common_1.HTTP.Headers.REQUEST_COUNT_DATA)) {
140
+ throw (0, core_2.getError)({
141
+ statusCode: common_1.HTTP.ResultCodes.RS_5.InternalServerError,
142
+ message: `[${name}] ${common_1.HTTP.Headers.REQUEST_COUNT_DATA} is owned by HttpDataSource and always sent as false: rows come back bare, the total in Content-Range.`,
143
+ });
144
+ }
145
+ };
83
146
  /** Reads an IGNIS REST server through the repository contract. Targets IGNIS, not any REST API. */
84
147
  class HttpDataSource extends repository_1.AbstractDataSource {
85
148
  constructor(opts) {
@@ -87,12 +150,7 @@ class HttpDataSource extends repository_1.AbstractDataSource {
87
150
  this.schema = {};
88
151
  const { name = 'http', ...settings } = opts;
89
152
  const configured = toHeaderEntries({ headers: settings.headers });
90
- if (configured.some(([headerName]) => headerName === common_1.HTTP.Headers.REQUEST_COUNT_DATA)) {
91
- throw (0, core_2.getError)({
92
- statusCode: common_1.HTTP.ResultCodes.RS_5.InternalServerError,
93
- message: `[${name}] ${common_1.HTTP.Headers.REQUEST_COUNT_DATA} is owned by HttpDataSource and always sent as false: rows come back bare, the total in Content-Range.`,
94
- });
95
- }
153
+ assertNoRequestCountHeader({ entries: configured, name });
96
154
  this.configuredHeaders = configured;
97
155
  this.name = name;
98
156
  this.settings = settings;
@@ -110,8 +168,15 @@ class HttpDataSource extends repository_1.AbstractDataSource {
110
168
  return this.settings.authToken ?? this.settings.authTokenResolver?.();
111
169
  }
112
170
  buildHeaders(opts) {
113
- const { token } = opts;
171
+ const { token, requestHeaders, isJsonBody } = opts;
114
172
  const headers = new Headers(this.configuredHeaders);
173
+ // A request's own headers win over the configured ones; the connector's below win over both.
174
+ for (const [name, value] of requestHeaders ?? []) {
175
+ headers.set(name, value);
176
+ }
177
+ if (isJsonBody && !headers.has(common_1.HTTP.Headers.CONTENT_TYPE)) {
178
+ headers.set(common_1.HTTP.Headers.CONTENT_TYPE, 'application/json');
179
+ }
115
180
  // Set last: under the envelope a record read answers `{ count, data }`.
116
181
  headers.set(common_1.HTTP.Headers.REQUEST_COUNT_DATA, 'false');
117
182
  if (!token) {
@@ -145,13 +210,24 @@ class HttpDataSource extends repository_1.AbstractDataSource {
145
210
  }
146
211
  return url.toString();
147
212
  }
148
- /** The raw `Response` - for what is not rows, like an export. Auth and the 401 retry apply. */
213
+ /**
214
+ * The raw `Response`, on any method - for what the repository verbs do not cover, like an export
215
+ * or a PUT to a hand-written route. Auth and the 401 retry apply; the retry resends the same body.
216
+ */
149
217
  async request(opts) {
218
+ const requestHeaders = toHeaderEntries({ headers: opts.headers });
219
+ assertNoRequestCountHeader({ entries: requestHeaders, name: this.name });
150
220
  const url = this.buildUrl(opts);
221
+ const { payload, isJson } = toRequestBody({ body: opts.body });
151
222
  const send = () => this.network.getNetworkService().send({
152
223
  url,
153
224
  method: (opts.method ?? common_1.HTTP.Methods.GET),
154
- headers: this.buildHeaders({ token: this.resolveAuthToken() }),
225
+ body: payload,
226
+ headers: this.buildHeaders({
227
+ token: this.resolveAuthToken(),
228
+ requestHeaders,
229
+ isJsonBody: isJson,
230
+ }),
155
231
  });
156
232
  let response = await send();
157
233
  if (response.status === common_1.HTTP.ResultCodes.RS_4.Unauthorized && this.settings.onUnauthorized) {
@@ -162,14 +238,25 @@ class HttpDataSource extends repository_1.AbstractDataSource {
162
238
  }
163
239
  return response;
164
240
  }
241
+ /** A failed response as an error carrying the server's own status, message and message code. */
242
+ async toResponseError(opts) {
243
+ const { response, url, verb } = opts;
244
+ const server = await readServerError({ response });
245
+ const described = describeUrl({ url, status: response.status });
246
+ return (0, core_2.getError)({
247
+ statusCode: response.status,
248
+ message: server.message
249
+ ? `[${this.name}][${verb}] ${response.status} | ${described} | ${server.message}`
250
+ : `[${this.name}][${verb}] ${response.status} | ${described}`,
251
+ messageCode: server.code,
252
+ extra: server.requestId ? { requestId: server.requestId } : undefined,
253
+ });
254
+ }
165
255
  /** Rows plus the total from `Content-Range`, reported absent when the header is. */
166
256
  async read(opts) {
167
257
  const response = await this.request(opts);
168
258
  if (!response.ok) {
169
- throw (0, core_2.getError)({
170
- statusCode: response.status,
171
- message: `[${this.name}][read] ${response.status} | ${describeUrl({ url: this.buildUrl(opts), status: response.status })}`,
172
- });
259
+ throw await this.toResponseError({ response, url: this.buildUrl(opts), verb: 'read' });
173
260
  }
174
261
  const body = await response.json();
175
262
  const contentRange = response.headers.get(common_1.HTTP.Headers.CONTENT_RANGE) ?? undefined;
@@ -184,6 +271,31 @@ class HttpDataSource extends repository_1.AbstractDataSource {
184
271
  dataLength: Array.isArray(data) ? data.length : 1,
185
272
  };
186
273
  }
274
+ /**
275
+ * A write, and what it answered: the body as the rows, the count from `x-response-count`. The
276
+ * connector asks for bare rows, so an IGNIS write answers the row or the rows, never the envelope.
277
+ */
278
+ async write(opts) {
279
+ const response = await this.request(opts);
280
+ if (!response.ok) {
281
+ throw await this.toResponseError({ response, url: this.buildUrl(opts), verb: 'write' });
282
+ }
283
+ // A 204, or a route that answers nothing, has no body to parse.
284
+ const text = await response.text();
285
+ const data = text ? JSON.parse(text) : null;
286
+ const countHeader = response.headers.get(common_1.HTTP.Headers.RESPONSE_COUNT_DATA);
287
+ const counted = countHeader === null ? Number.NaN : Number(countHeader);
288
+ return {
289
+ data,
290
+ count: Number.isFinite(counted)
291
+ ? counted
292
+ : Array.isArray(data)
293
+ ? data.length
294
+ : data === null
295
+ ? 0
296
+ : 1,
297
+ };
298
+ }
187
299
  }
188
300
  exports.HttpDataSource = HttpDataSource;
189
301
  //# sourceMappingURL=datasource.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../../src/http/datasource.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../../src/http/datasource.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { AbstractEntity } from '@venizia/ignis-kernel/repository';
2
- import type { IReadableRepository, TCount, TDataWithRange, TFilter, TSchemaType, TWhere } from '@venizia/ignis-kernel/repository';
3
1
  import type { AnyType } from '@venizia/ignis-helpers/common';
2
+ import type { IDeletableRepository, IReadableRepository, IUpdatableRepository, TCount, TDataWithRange, TFilter, TSchemaType, TWhere } from '@venizia/ignis-kernel/repository';
3
+ import { AbstractEntity } from '@venizia/ignis-kernel/repository';
4
+ import type { IHttpWriteResult } from './common/types';
4
5
  import type { HttpDataSource } from './datasource';
5
6
  /** A remote resource has a name but no local schema. */
6
7
  export declare class HttpResourceEntity extends AbstractEntity {
@@ -8,8 +9,12 @@ export declare class HttpResourceEntity extends AbstractEntity {
8
9
  type: TSchemaType;
9
10
  }): T;
10
11
  }
11
- /** Read access to one remote resource, in the `@venizia/ignis-filter` vocabulary. */
12
- export declare class HttpRepository<E extends object = AnyType> implements IReadableRepository<E, {}> {
12
+ /**
13
+ * One remote resource, read and written through the IGNIS CRUD routes, in the `@venizia/ignis-filter`
14
+ * vocabulary. `P` is what a write sends - a partial row by default, since the server fills ids and
15
+ * defaults. There is no `createAll`: the IGNIS REST contract has no bulk-create route.
16
+ */
17
+ export declare class HttpRepository<E extends object = AnyType, P extends object = Partial<E>> implements IReadableRepository<E, {}>, IUpdatableRepository<E, P, {}>, IDeletableRepository<E, {}> {
13
18
  dataSource: HttpDataSource;
14
19
  entity: AbstractEntity;
15
20
  protected resource: string;
@@ -55,5 +60,161 @@ export declare class HttpRepository<E extends object = AnyType> implements IRead
55
60
  filter?: TFilter<E>;
56
61
  options?: {};
57
62
  }): Promise<R | null>;
63
+ /** `<resource>/<id>`, the id encoded: an id carrying `/` or `?` would otherwise name another route. */
64
+ protected getIdPaths(opts: {
65
+ id: string | number;
66
+ }): Array<string>;
67
+ /** The IGNIS bulk routes answer an empty `where` with a 400; refused here before a request is spent. */
68
+ protected assertBulkWhere(opts: {
69
+ method: string;
70
+ where?: TWhere<E>;
71
+ }): TWhere<E>;
72
+ /** The server always answers the rows; `shouldReturn: false` drops them here, as a database repository would not fetch them. */
73
+ protected toWriteResult<R>(opts: {
74
+ result: IHttpWriteResult<R>;
75
+ options?: {
76
+ shouldReturn?: boolean;
77
+ };
78
+ }): TCount & {
79
+ data: R | null;
80
+ };
81
+ /** POST `/<resource>`. */
82
+ create<R = E>(opts: {
83
+ data: P;
84
+ options?: {
85
+ shouldReturn?: true;
86
+ };
87
+ }): Promise<TCount & {
88
+ data: R;
89
+ }>;
90
+ updateById(opts: {
91
+ id: string | number;
92
+ data: Partial<P>;
93
+ options: {
94
+ shouldReturn: false;
95
+ };
96
+ }): Promise<TCount & {
97
+ data: undefined | null;
98
+ }>;
99
+ updateById<R = E>(opts: {
100
+ id: string | number;
101
+ data: Partial<P>;
102
+ options?: {
103
+ shouldReturn?: true;
104
+ };
105
+ }): Promise<TCount & {
106
+ data: R;
107
+ }>;
108
+ updateAll(opts: {
109
+ data: Partial<P>;
110
+ where: TWhere<E>;
111
+ options: {
112
+ shouldReturn: false;
113
+ force?: boolean;
114
+ };
115
+ }): Promise<TCount & {
116
+ data: undefined | null;
117
+ }>;
118
+ updateAll<R = E>(opts: {
119
+ data: Partial<P>;
120
+ where: TWhere<E>;
121
+ options?: {
122
+ shouldReturn?: true;
123
+ force?: boolean;
124
+ };
125
+ }): Promise<TCount & {
126
+ data: Array<R> | null;
127
+ }>;
128
+ updateBy(opts: {
129
+ data: Partial<P>;
130
+ where: TWhere<E>;
131
+ options: {
132
+ shouldReturn: false;
133
+ force?: boolean;
134
+ };
135
+ }): Promise<TCount & {
136
+ data: undefined | null;
137
+ }>;
138
+ updateBy<R = E>(opts: {
139
+ data: Partial<P>;
140
+ where: TWhere<E>;
141
+ options?: {
142
+ shouldReturn?: true;
143
+ force?: boolean;
144
+ };
145
+ }): Promise<TCount & {
146
+ data: Array<R> | null;
147
+ }>;
148
+ protected patchWhere(opts: {
149
+ method: string;
150
+ data: Partial<P>;
151
+ where: TWhere<E>;
152
+ options?: {
153
+ shouldReturn?: boolean;
154
+ };
155
+ }): Promise<TCount & {
156
+ data: AnyType;
157
+ }>;
158
+ deleteById(opts: {
159
+ id: string | number;
160
+ options: {
161
+ shouldReturn: false;
162
+ };
163
+ }): Promise<TCount & {
164
+ data: undefined | null;
165
+ }>;
166
+ deleteById<R = E>(opts: {
167
+ id: string | number;
168
+ options?: {
169
+ shouldReturn?: true;
170
+ };
171
+ }): Promise<TCount & {
172
+ data: R;
173
+ }>;
174
+ deleteAll(opts: {
175
+ where?: TWhere<E>;
176
+ options: {
177
+ shouldReturn: false;
178
+ force?: boolean;
179
+ };
180
+ }): Promise<TCount & {
181
+ data: undefined | null;
182
+ }>;
183
+ deleteAll<R = E>(opts: {
184
+ where?: TWhere<E>;
185
+ options?: {
186
+ shouldReturn?: true;
187
+ force?: boolean;
188
+ };
189
+ }): Promise<TCount & {
190
+ data: Array<R> | null;
191
+ }>;
192
+ deleteBy(opts: {
193
+ where?: TWhere<E>;
194
+ options: {
195
+ shouldReturn: false;
196
+ force?: boolean;
197
+ };
198
+ }): Promise<TCount & {
199
+ data: undefined | null;
200
+ }>;
201
+ deleteBy<R = E>(opts: {
202
+ where?: TWhere<E>;
203
+ options?: {
204
+ shouldReturn?: true;
205
+ force?: boolean;
206
+ };
207
+ }): Promise<TCount & {
208
+ data: Array<R> | null;
209
+ }>;
210
+ protected deleteWhere(opts: {
211
+ method: string;
212
+ where?: TWhere<E>;
213
+ options?: {
214
+ shouldReturn?: boolean;
215
+ };
216
+ }): Promise<TCount & {
217
+ data: AnyType;
218
+ }>;
58
219
  }
59
220
  //# sourceMappingURL=repository.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../src/http/repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAkB,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EACV,mBAAmB,EACnB,MAAM,EACN,cAAc,EACd,OAAO,EACP,WAAW,EACX,MAAM,EACP,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,wDAAwD;AACxD,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,GAAG,CAAC;CAGxD;AAED,qFAAqF;AACrF,qBAAa,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,CAAE,YAAW,mBAAmB,CAAC,CAAC,EAAE,EAAE,CAAC;IAC3F,UAAU,EAAE,cAAc,CAAC;IAC3B,MAAM,EAAE,cAAc,CAAC;IAEvB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,uFAAuF;IACvF,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEjB,IAAI,EAAE;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAOtF,SAAS,IAAI,cAAc;IAI3B,0FAA0F;IAC1F,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE;QACnC,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;KAClB;IAYD,iGAAiG;IAC3F,KAAK,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAmChE,UAAU,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAStE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QACtB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,EAAE;YAAE,gBAAgB,EAAE,IAAI,CAAA;SAAE,CAAC;KACrC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAoC3E,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAK9E,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAC1B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,EAAE,EAAE,CAAC;KACd,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;CAStB"}
1
+ {"version":3,"file":"repository.d.ts","sourceRoot":"","sources":["../../../src/http/repository.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAG7D,OAAO,KAAK,EACV,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,MAAM,EACN,cAAc,EACd,OAAO,EACP,WAAW,EACX,MAAM,EACP,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAkB,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,wDAAwD;AACxD,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE;QAAE,IAAI,EAAE,WAAW,CAAA;KAAE,GAAG,CAAC;CAGxD;AAED;;;;GAIG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,OAAO,EAAE,CAAC,SAAS,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CACnF,YAAW,mBAAmB,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC;IAElG,UAAU,EAAE,cAAc,CAAC;IAC3B,MAAM,EAAE,cAAc,CAAC;IAEvB,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,uFAAuF;IACvF,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;gBAEjB,IAAI,EAAE;QAAE,UAAU,EAAE,cAAc,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE;IAOtF,SAAS,IAAI,cAAc;IAI3B,0FAA0F;IAC1F,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE;QACnC,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,QAAQ,EAAE,MAAM,CAAC;KAClB;IAYD,iGAAiG;IAC3F,KAAK,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAmChE,UAAU,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAStE,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QACtB,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACnB,OAAO,EAAE;YAAE,gBAAgB,EAAE,IAAI,CAAA;SAAE,CAAC;KACrC,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACxB,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAoC3E,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAK9E,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAC1B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACpB,OAAO,CAAC,EAAE,EAAE,CAAC;KACd,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAUrB,uGAAuG;IACvG,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC,MAAM,CAAC;IAIlE,wGAAwG;IACxG,SAAS,CAAC,eAAe,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;KAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IAajF,gIAAgI;IAChI,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE;QAC/B,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,EAAE;YAAE,YAAY,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACtC,GAAG,MAAM,GAAG;QAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;KAAE;IAK/B,0BAA0B;IACpB,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QACxB,IAAI,EAAE,CAAC,CAAC;QACR,OAAO,CAAC,EAAE;YAAE,YAAY,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KACnC,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;IAU3B,UAAU,CAAC,IAAI,EAAE;QACrB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QACpB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,EAAE;YAAE,YAAY,EAAE,KAAK,CAAA;SAAE,CAAC;KAClC,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IAC1C,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAC5B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QACpB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,CAAC,EAAE;YAAE,YAAY,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KACnC,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;IAgB3B,SAAS,CAAC,IAAI,EAAE;QACpB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,EAAE;YAAE,YAAY,EAAE,KAAK,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACnD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IAC1C,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAC3B,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,CAAC,EAAE;YAAE,YAAY,CAAC,EAAE,IAAI,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACpD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;KAAE,CAAC;IAUzC,QAAQ,CAAC,IAAI,EAAE;QACnB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,EAAE;YAAE,YAAY,EAAE,KAAK,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACnD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IAC1C,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAC1B,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,CAAC,EAAE;YAAE,YAAY,CAAC,EAAE,IAAI,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACpD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;KAAE,CAAC;cAU/B,UAAU,CAAC,IAAI,EAAE;QAC/B,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QACjB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QACjB,OAAO,CAAC,EAAE;YAAE,YAAY,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACtC,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;IAYjC,UAAU,CAAC,IAAI,EAAE;QACrB,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QACpB,OAAO,EAAE;YAAE,YAAY,EAAE,KAAK,CAAA;SAAE,CAAC;KAClC,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IAC1C,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAC5B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE;YAAE,YAAY,CAAC,EAAE,IAAI,CAAA;SAAE,CAAC;KACnC,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,CAAC,CAAA;KAAE,CAAC;IAc3B,SAAS,CAAC,IAAI,EAAE;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAClB,OAAO,EAAE;YAAE,YAAY,EAAE,KAAK,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACnD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IAC1C,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAClB,OAAO,CAAC,EAAE;YAAE,YAAY,CAAC,EAAE,IAAI,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACpD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;KAAE,CAAC;IASzC,QAAQ,CAAC,IAAI,EAAE;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAClB,OAAO,EAAE;YAAE,YAAY,EAAE,KAAK,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACnD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAA;KAAE,CAAC;IAC1C,QAAQ,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE;QAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAClB,OAAO,CAAC,EAAE;YAAE,YAAY,CAAC,EAAE,IAAI,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACpD,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA;KAAE,CAAC;cAS/B,WAAW,CAAC,IAAI,EAAE;QAChC,MAAM,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAClB,OAAO,CAAC,EAAE;YAAE,YAAY,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC;KACtC,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,CAAC;CAWxC"}