@strapi/database 5.12.1 → 5.12.3

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 (321) hide show
  1. package/dist/connection.js +43 -0
  2. package/dist/connection.js.map +1 -0
  3. package/dist/connection.mjs +41 -0
  4. package/dist/connection.mjs.map +1 -0
  5. package/dist/dialects/dialect.js +54 -0
  6. package/dist/dialects/dialect.js.map +1 -0
  7. package/dist/dialects/dialect.mjs +52 -0
  8. package/dist/dialects/dialect.mjs.map +1 -0
  9. package/dist/dialects/index.js +44 -0
  10. package/dist/dialects/index.js.map +1 -0
  11. package/dist/dialects/index.mjs +42 -0
  12. package/dist/dialects/index.mjs.map +1 -0
  13. package/dist/dialects/mysql/constants.js +8 -0
  14. package/dist/dialects/mysql/constants.js.map +1 -0
  15. package/dist/dialects/mysql/constants.mjs +5 -0
  16. package/dist/dialects/mysql/constants.mjs.map +1 -0
  17. package/dist/dialects/mysql/database-inspector.js +35 -0
  18. package/dist/dialects/mysql/database-inspector.js.map +1 -0
  19. package/dist/dialects/mysql/database-inspector.mjs +33 -0
  20. package/dist/dialects/mysql/database-inspector.mjs.map +1 -0
  21. package/dist/dialects/mysql/index.js +75 -0
  22. package/dist/dialects/mysql/index.js.map +1 -0
  23. package/dist/dialects/mysql/index.mjs +73 -0
  24. package/dist/dialects/mysql/index.mjs.map +1 -0
  25. package/dist/dialects/mysql/schema-inspector.js +297 -0
  26. package/dist/dialects/mysql/schema-inspector.js.map +1 -0
  27. package/dist/dialects/mysql/schema-inspector.mjs +295 -0
  28. package/dist/dialects/mysql/schema-inspector.mjs.map +1 -0
  29. package/dist/dialects/postgresql/index.js +62 -0
  30. package/dist/dialects/postgresql/index.js.map +1 -0
  31. package/dist/dialects/postgresql/index.mjs +60 -0
  32. package/dist/dialects/postgresql/index.mjs.map +1 -0
  33. package/dist/dialects/postgresql/schema-inspector.js +316 -0
  34. package/dist/dialects/postgresql/schema-inspector.js.map +1 -0
  35. package/dist/dialects/postgresql/schema-inspector.mjs +314 -0
  36. package/dist/dialects/postgresql/schema-inspector.mjs.map +1 -0
  37. package/dist/dialects/sqlite/index.js +82 -0
  38. package/dist/dialects/sqlite/index.js.map +1 -0
  39. package/dist/dialects/sqlite/index.mjs +80 -0
  40. package/dist/dialects/sqlite/index.mjs.map +1 -0
  41. package/dist/dialects/sqlite/schema-inspector.js +211 -0
  42. package/dist/dialects/sqlite/schema-inspector.js.map +1 -0
  43. package/dist/dialects/sqlite/schema-inspector.mjs +209 -0
  44. package/dist/dialects/sqlite/schema-inspector.mjs.map +1 -0
  45. package/dist/entity-manager/entity-repository.js +139 -0
  46. package/dist/entity-manager/entity-repository.js.map +1 -0
  47. package/dist/entity-manager/entity-repository.mjs +137 -0
  48. package/dist/entity-manager/entity-repository.mjs.map +1 -0
  49. package/dist/entity-manager/index.js +1186 -0
  50. package/dist/entity-manager/index.js.map +1 -0
  51. package/dist/entity-manager/index.mjs +1184 -0
  52. package/dist/entity-manager/index.mjs.map +1 -0
  53. package/dist/entity-manager/morph-relations.js +73 -0
  54. package/dist/entity-manager/morph-relations.js.map +1 -0
  55. package/dist/entity-manager/morph-relations.mjs +69 -0
  56. package/dist/entity-manager/morph-relations.mjs.map +1 -0
  57. package/dist/entity-manager/regular-relations.js +247 -0
  58. package/dist/entity-manager/regular-relations.js.map +1 -0
  59. package/dist/entity-manager/regular-relations.mjs +242 -0
  60. package/dist/entity-manager/regular-relations.mjs.map +1 -0
  61. package/dist/entity-manager/relations-orderer.js +221 -0
  62. package/dist/entity-manager/relations-orderer.js.map +1 -0
  63. package/dist/entity-manager/relations-orderer.mjs +218 -0
  64. package/dist/entity-manager/relations-orderer.mjs.map +1 -0
  65. package/dist/errors/database.js +13 -0
  66. package/dist/errors/database.js.map +1 -0
  67. package/dist/errors/database.mjs +11 -0
  68. package/dist/errors/database.mjs.map +1 -0
  69. package/dist/errors/index.js +18 -0
  70. package/dist/errors/index.js.map +1 -0
  71. package/dist/errors/index.mjs +7 -0
  72. package/dist/errors/index.mjs.map +1 -0
  73. package/dist/errors/invalid-date.js +13 -0
  74. package/dist/errors/invalid-date.js.map +1 -0
  75. package/dist/errors/invalid-date.mjs +11 -0
  76. package/dist/errors/invalid-date.mjs.map +1 -0
  77. package/dist/errors/invalid-datetime.js +13 -0
  78. package/dist/errors/invalid-datetime.js.map +1 -0
  79. package/dist/errors/invalid-datetime.mjs +11 -0
  80. package/dist/errors/invalid-datetime.mjs.map +1 -0
  81. package/dist/errors/invalid-relation.js +13 -0
  82. package/dist/errors/invalid-relation.js.map +1 -0
  83. package/dist/errors/invalid-relation.mjs +11 -0
  84. package/dist/errors/invalid-relation.mjs.map +1 -0
  85. package/dist/errors/invalid-time.js +13 -0
  86. package/dist/errors/invalid-time.js.map +1 -0
  87. package/dist/errors/invalid-time.mjs +11 -0
  88. package/dist/errors/invalid-time.mjs.map +1 -0
  89. package/dist/errors/not-null.js +17 -0
  90. package/dist/errors/not-null.js.map +1 -0
  91. package/dist/errors/not-null.mjs +15 -0
  92. package/dist/errors/not-null.mjs.map +1 -0
  93. package/dist/fields/biginteger.js +9 -0
  94. package/dist/fields/biginteger.js.map +1 -0
  95. package/dist/fields/biginteger.mjs +7 -0
  96. package/dist/fields/biginteger.mjs.map +1 -0
  97. package/dist/fields/boolean.js +48 -0
  98. package/dist/fields/boolean.js.map +1 -0
  99. package/dist/fields/boolean.mjs +46 -0
  100. package/dist/fields/boolean.mjs.map +1 -0
  101. package/dist/fields/date.js +16 -0
  102. package/dist/fields/date.js.map +1 -0
  103. package/dist/fields/date.mjs +14 -0
  104. package/dist/fields/date.mjs.map +1 -0
  105. package/dist/fields/datetime.js +37 -0
  106. package/dist/fields/datetime.js.map +1 -0
  107. package/dist/fields/datetime.mjs +16 -0
  108. package/dist/fields/datetime.mjs.map +1 -0
  109. package/dist/fields/field.js +16 -0
  110. package/dist/fields/field.js.map +1 -0
  111. package/dist/fields/field.mjs +14 -0
  112. package/dist/fields/field.mjs.map +1 -0
  113. package/dist/fields/index.js +45 -0
  114. package/dist/fields/index.js.map +1 -0
  115. package/dist/fields/index.mjs +43 -0
  116. package/dist/fields/index.mjs.map +1 -0
  117. package/dist/fields/json.js +36 -0
  118. package/dist/fields/json.js.map +1 -0
  119. package/dist/fields/json.mjs +34 -0
  120. package/dist/fields/json.mjs.map +1 -0
  121. package/dist/fields/number.js +20 -0
  122. package/dist/fields/number.js.map +1 -0
  123. package/dist/fields/number.mjs +18 -0
  124. package/dist/fields/number.mjs.map +1 -0
  125. package/dist/fields/shared/parsers.js +91 -0
  126. package/dist/fields/shared/parsers.js.map +1 -0
  127. package/dist/fields/shared/parsers.mjs +68 -0
  128. package/dist/fields/shared/parsers.mjs.map +1 -0
  129. package/dist/fields/string.js +16 -0
  130. package/dist/fields/string.js.map +1 -0
  131. package/dist/fields/string.mjs +14 -0
  132. package/dist/fields/string.mjs.map +1 -0
  133. package/dist/fields/time.js +17 -0
  134. package/dist/fields/time.js.map +1 -0
  135. package/dist/fields/time.mjs +15 -0
  136. package/dist/fields/time.mjs.map +1 -0
  137. package/dist/fields/timestamp.js +37 -0
  138. package/dist/fields/timestamp.js.map +1 -0
  139. package/dist/fields/timestamp.mjs +16 -0
  140. package/dist/fields/timestamp.mjs.map +1 -0
  141. package/dist/index.js +33 -8569
  142. package/dist/index.js.map +1 -1
  143. package/dist/index.mjs +16 -8532
  144. package/dist/index.mjs.map +1 -1
  145. package/dist/lifecycles/index.js +73 -0
  146. package/dist/lifecycles/index.js.map +1 -0
  147. package/dist/lifecycles/index.mjs +71 -0
  148. package/dist/lifecycles/index.mjs.map +1 -0
  149. package/dist/lifecycles/subscribers/index.js +10 -0
  150. package/dist/lifecycles/subscribers/index.js.map +1 -0
  151. package/dist/lifecycles/subscribers/index.mjs +8 -0
  152. package/dist/lifecycles/subscribers/index.mjs.map +1 -0
  153. package/dist/lifecycles/subscribers/models-lifecycles.js +13 -0
  154. package/dist/lifecycles/subscribers/models-lifecycles.js.map +1 -0
  155. package/dist/lifecycles/subscribers/models-lifecycles.mjs +11 -0
  156. package/dist/lifecycles/subscribers/models-lifecycles.mjs.map +1 -0
  157. package/dist/lifecycles/subscribers/timestamps.js +55 -0
  158. package/dist/lifecycles/subscribers/timestamps.js.map +1 -0
  159. package/dist/lifecycles/subscribers/timestamps.mjs +53 -0
  160. package/dist/lifecycles/subscribers/timestamps.mjs.map +1 -0
  161. package/dist/metadata/index.js +24 -0
  162. package/dist/metadata/index.js.map +1 -0
  163. package/dist/metadata/index.mjs +16 -0
  164. package/dist/metadata/index.mjs.map +1 -0
  165. package/dist/metadata/metadata.js +100 -0
  166. package/dist/metadata/metadata.js.map +1 -0
  167. package/dist/metadata/metadata.mjs +98 -0
  168. package/dist/metadata/metadata.mjs.map +1 -0
  169. package/dist/metadata/relations.js +545 -0
  170. package/dist/metadata/relations.js.map +1 -0
  171. package/dist/metadata/relations.mjs +536 -0
  172. package/dist/metadata/relations.mjs.map +1 -0
  173. package/dist/migrations/common.js +8 -0
  174. package/dist/migrations/common.js.map +1 -0
  175. package/dist/migrations/common.mjs +6 -0
  176. package/dist/migrations/common.mjs.map +1 -0
  177. package/dist/migrations/index.js +39 -0
  178. package/dist/migrations/index.js.map +1 -0
  179. package/dist/migrations/index.mjs +37 -0
  180. package/dist/migrations/index.mjs.map +1 -0
  181. package/dist/migrations/internal-migrations/5.0.0-01-convert-identifiers-long-than-max-length.js +179 -0
  182. package/dist/migrations/internal-migrations/5.0.0-01-convert-identifiers-long-than-max-length.js.map +1 -0
  183. package/dist/migrations/internal-migrations/5.0.0-01-convert-identifiers-long-than-max-length.mjs +177 -0
  184. package/dist/migrations/internal-migrations/5.0.0-01-convert-identifiers-long-than-max-length.mjs.map +1 -0
  185. package/dist/migrations/internal-migrations/5.0.0-02-document-id.js +125 -0
  186. package/dist/migrations/internal-migrations/5.0.0-02-document-id.js.map +1 -0
  187. package/dist/migrations/internal-migrations/5.0.0-02-document-id.mjs +123 -0
  188. package/dist/migrations/internal-migrations/5.0.0-02-document-id.mjs.map +1 -0
  189. package/dist/migrations/internal-migrations/5.0.0-03-locale.js +41 -0
  190. package/dist/migrations/internal-migrations/5.0.0-03-locale.js.map +1 -0
  191. package/dist/migrations/internal-migrations/5.0.0-03-locale.mjs +39 -0
  192. package/dist/migrations/internal-migrations/5.0.0-03-locale.mjs.map +1 -0
  193. package/dist/migrations/internal-migrations/5.0.0-04-published-at.js +45 -0
  194. package/dist/migrations/internal-migrations/5.0.0-04-published-at.js.map +1 -0
  195. package/dist/migrations/internal-migrations/5.0.0-04-published-at.mjs +43 -0
  196. package/dist/migrations/internal-migrations/5.0.0-04-published-at.mjs.map +1 -0
  197. package/dist/migrations/internal-migrations/5.0.0-05-drop-slug-unique-index.js +43 -0
  198. package/dist/migrations/internal-migrations/5.0.0-05-drop-slug-unique-index.js.map +1 -0
  199. package/dist/migrations/internal-migrations/5.0.0-05-drop-slug-unique-index.mjs +41 -0
  200. package/dist/migrations/internal-migrations/5.0.0-05-drop-slug-unique-index.mjs.map +1 -0
  201. package/dist/migrations/internal-migrations/index.js +26 -0
  202. package/dist/migrations/internal-migrations/index.js.map +1 -0
  203. package/dist/migrations/internal-migrations/index.mjs +24 -0
  204. package/dist/migrations/internal-migrations/index.mjs.map +1 -0
  205. package/dist/migrations/internal.js +63 -0
  206. package/dist/migrations/internal.js.map +1 -0
  207. package/dist/migrations/internal.mjs +61 -0
  208. package/dist/migrations/internal.mjs.map +1 -0
  209. package/dist/migrations/logger.js +24 -0
  210. package/dist/migrations/logger.js.map +1 -0
  211. package/dist/migrations/logger.mjs +22 -0
  212. package/dist/migrations/logger.mjs.map +1 -0
  213. package/dist/migrations/storage.js +39 -0
  214. package/dist/migrations/storage.js.map +1 -0
  215. package/dist/migrations/storage.mjs +37 -0
  216. package/dist/migrations/storage.mjs.map +1 -0
  217. package/dist/migrations/users.js +87 -0
  218. package/dist/migrations/users.js.map +1 -0
  219. package/dist/migrations/users.mjs +85 -0
  220. package/dist/migrations/users.mjs.map +1 -0
  221. package/dist/query/helpers/join.js +127 -0
  222. package/dist/query/helpers/join.js.map +1 -0
  223. package/dist/query/helpers/join.mjs +122 -0
  224. package/dist/query/helpers/join.mjs.map +1 -0
  225. package/dist/query/helpers/order-by.js +167 -0
  226. package/dist/query/helpers/order-by.js.map +1 -0
  227. package/dist/query/helpers/order-by.mjs +163 -0
  228. package/dist/query/helpers/order-by.mjs.map +1 -0
  229. package/dist/query/helpers/populate/apply.js +592 -0
  230. package/dist/query/helpers/populate/apply.js.map +1 -0
  231. package/dist/query/helpers/populate/apply.mjs +590 -0
  232. package/dist/query/helpers/populate/apply.mjs.map +1 -0
  233. package/dist/query/helpers/populate/process.js +92 -0
  234. package/dist/query/helpers/populate/process.js.map +1 -0
  235. package/dist/query/helpers/populate/process.mjs +90 -0
  236. package/dist/query/helpers/populate/process.mjs.map +1 -0
  237. package/dist/query/helpers/search.js +67 -0
  238. package/dist/query/helpers/search.js.map +1 -0
  239. package/dist/query/helpers/search.mjs +65 -0
  240. package/dist/query/helpers/search.mjs.map +1 -0
  241. package/dist/query/helpers/streams/readable.js +131 -0
  242. package/dist/query/helpers/streams/readable.js.map +1 -0
  243. package/dist/query/helpers/streams/readable.mjs +129 -0
  244. package/dist/query/helpers/streams/readable.mjs.map +1 -0
  245. package/dist/query/helpers/transform.js +77 -0
  246. package/dist/query/helpers/transform.js.map +1 -0
  247. package/dist/query/helpers/transform.mjs +73 -0
  248. package/dist/query/helpers/transform.mjs.map +1 -0
  249. package/dist/query/helpers/where.js +372 -0
  250. package/dist/query/helpers/where.js.map +1 -0
  251. package/dist/query/helpers/where.mjs +369 -0
  252. package/dist/query/helpers/where.mjs.map +1 -0
  253. package/dist/query/query-builder.js +507 -0
  254. package/dist/query/query-builder.js.map +1 -0
  255. package/dist/query/query-builder.mjs +505 -0
  256. package/dist/query/query-builder.mjs.map +1 -0
  257. package/dist/repairs/index.js +13 -0
  258. package/dist/repairs/index.js.map +1 -0
  259. package/dist/repairs/index.mjs +11 -0
  260. package/dist/repairs/index.mjs.map +1 -0
  261. package/dist/repairs/operations/remove-orphan-morph-types.js +54 -0
  262. package/dist/repairs/operations/remove-orphan-morph-types.js.map +1 -0
  263. package/dist/repairs/operations/remove-orphan-morph-types.mjs +52 -0
  264. package/dist/repairs/operations/remove-orphan-morph-types.mjs.map +1 -0
  265. package/dist/schema/builder.js +354 -0
  266. package/dist/schema/builder.js.map +1 -0
  267. package/dist/schema/builder.mjs +352 -0
  268. package/dist/schema/builder.mjs.map +1 -0
  269. package/dist/schema/diff.js +379 -0
  270. package/dist/schema/diff.js.map +1 -0
  271. package/dist/schema/diff.mjs +377 -0
  272. package/dist/schema/diff.mjs.map +1 -0
  273. package/dist/schema/index.js +93 -0
  274. package/dist/schema/index.js.map +1 -0
  275. package/dist/schema/index.mjs +91 -0
  276. package/dist/schema/index.mjs.map +1 -0
  277. package/dist/schema/schema.js +266 -0
  278. package/dist/schema/schema.js.map +1 -0
  279. package/dist/schema/schema.mjs +264 -0
  280. package/dist/schema/schema.mjs.map +1 -0
  281. package/dist/schema/storage.js +58 -0
  282. package/dist/schema/storage.js.map +1 -0
  283. package/dist/schema/storage.mjs +56 -0
  284. package/dist/schema/storage.mjs.map +1 -0
  285. package/dist/transaction-context.js +65 -0
  286. package/dist/transaction-context.js.map +1 -0
  287. package/dist/transaction-context.mjs +63 -0
  288. package/dist/transaction-context.mjs.map +1 -0
  289. package/dist/utils/async-curry.js +19 -0
  290. package/dist/utils/async-curry.js.map +1 -0
  291. package/dist/utils/async-curry.mjs +17 -0
  292. package/dist/utils/async-curry.mjs.map +1 -0
  293. package/dist/utils/identifiers/hash.js +30 -0
  294. package/dist/utils/identifiers/hash.js.map +1 -0
  295. package/dist/utils/identifiers/hash.mjs +28 -0
  296. package/dist/utils/identifiers/hash.mjs.map +1 -0
  297. package/dist/utils/identifiers/index.js +414 -0
  298. package/dist/utils/identifiers/index.js.map +1 -0
  299. package/dist/utils/identifiers/index.mjs +411 -0
  300. package/dist/utils/identifiers/index.mjs.map +1 -0
  301. package/dist/utils/knex.js +21 -0
  302. package/dist/utils/knex.js.map +1 -0
  303. package/dist/utils/knex.mjs +18 -0
  304. package/dist/utils/knex.mjs.map +1 -0
  305. package/dist/utils/types.js +51 -0
  306. package/dist/utils/types.js.map +1 -0
  307. package/dist/utils/types.mjs +44 -0
  308. package/dist/utils/types.mjs.map +1 -0
  309. package/dist/validations/index.js +12 -0
  310. package/dist/validations/index.js.map +1 -0
  311. package/dist/validations/index.mjs +10 -0
  312. package/dist/validations/index.mjs.map +1 -0
  313. package/dist/validations/relations/bidirectional.js +64 -0
  314. package/dist/validations/relations/bidirectional.js.map +1 -0
  315. package/dist/validations/relations/bidirectional.mjs +62 -0
  316. package/dist/validations/relations/bidirectional.mjs.map +1 -0
  317. package/dist/validations/relations/index.js +13 -0
  318. package/dist/validations/relations/index.js.map +1 -0
  319. package/dist/validations/relations/index.mjs +11 -0
  320. package/dist/validations/relations/index.mjs.map +1 -0
  321. package/package.json +4 -4
@@ -0,0 +1,18 @@
1
+ import { toNumber } from 'lodash/fp';
2
+ import Field from './field.mjs';
3
+
4
+ class NumberField extends Field {
5
+ toDB(value) {
6
+ const numberValue = toNumber(value);
7
+ if (Number.isNaN(numberValue)) {
8
+ throw new Error(`Expected a valid Number, got ${value}`);
9
+ }
10
+ return numberValue;
11
+ }
12
+ fromDB(value) {
13
+ return toNumber(value);
14
+ }
15
+ }
16
+
17
+ export { NumberField as default };
18
+ //# sourceMappingURL=number.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.mjs","sources":["../../src/fields/number.ts"],"sourcesContent":["import { toNumber } from 'lodash/fp';\nimport Field from './field';\n\nexport default class NumberField extends Field {\n toDB(value: unknown) {\n const numberValue = toNumber(value);\n\n if (Number.isNaN(numberValue)) {\n throw new Error(`Expected a valid Number, got ${value}`);\n }\n\n return numberValue;\n }\n\n fromDB(value: unknown) {\n return toNumber(value);\n }\n}\n"],"names":["NumberField","Field","toDB","value","numberValue","toNumber","Number","isNaN","Error","fromDB"],"mappings":";;;AAGe,MAAMA,WAAoBC,SAAAA,KAAAA,CAAAA;AACvCC,IAAAA,IAAAA,CAAKC,KAAc,EAAE;AACnB,QAAA,MAAMC,cAAcC,QAASF,CAAAA,KAAAA,CAAAA;QAE7B,IAAIG,MAAAA,CAAOC,KAAK,CAACH,WAAc,CAAA,EAAA;AAC7B,YAAA,MAAM,IAAII,KAAM,CAAA,CAAC,6BAA6B,EAAEL,MAAM,CAAC,CAAA;AACzD;QAEA,OAAOC,WAAAA;AACT;AAEAK,IAAAA,MAAAA,CAAON,KAAc,EAAE;AACrB,QAAA,OAAOE,QAASF,CAAAA,KAAAA,CAAAA;AAClB;AACF;;;;"}
@@ -0,0 +1,91 @@
1
+ 'use strict';
2
+
3
+ var _ = require('lodash/fp');
4
+ var dateFns = require('date-fns');
5
+ var invalidTime = require('../../errors/invalid-time.js');
6
+ var invalidDate = require('../../errors/invalid-date.js');
7
+ var invalidDatetime = require('../../errors/invalid-datetime.js');
8
+
9
+ function _interopNamespaceDefault(e) {
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n.default = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var dateFns__namespace = /*#__PURE__*/_interopNamespaceDefault(dateFns);
27
+
28
+ const isDate = (value)=>{
29
+ return dateFns__namespace.isDate(value);
30
+ };
31
+ const DATE_REGEX = /^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/;
32
+ const PARTIAL_DATE_REGEX = /^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])/g;
33
+ const TIME_REGEX = /^(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]{1,3})?$/;
34
+ const parseDateTimeOrTimestamp = (value)=>{
35
+ if (isDate(value)) {
36
+ return value;
37
+ }
38
+ try {
39
+ const date = dateFns__namespace.parseISO(_.toString(value));
40
+ if (dateFns__namespace.isValid(date)) {
41
+ return date;
42
+ }
43
+ const milliUnixDate = dateFns__namespace.parse(_.toString(value), 'T', new Date());
44
+ if (dateFns__namespace.isValid(milliUnixDate)) {
45
+ return milliUnixDate;
46
+ }
47
+ throw new invalidDatetime(`Invalid format, expected a timestamp or an ISO date`);
48
+ } catch (error) {
49
+ throw new invalidDatetime(`Invalid format, expected a timestamp or an ISO date`);
50
+ }
51
+ };
52
+ const parseDate = (value)=>{
53
+ if (isDate(value)) {
54
+ return dateFns__namespace.format(value, 'yyyy-MM-dd');
55
+ }
56
+ const found = _.isString(value) ? value.match(PARTIAL_DATE_REGEX) || [] : [];
57
+ const extractedValue = found[0];
58
+ if (extractedValue && !DATE_REGEX.test(_.toString(value))) {
59
+ // TODO V5: throw an error when format yyyy-MM-dd is not respected
60
+ // throw new InvalidDateError(`Invalid format, expected yyyy-MM-dd`);
61
+ process.emitWarning(`[deprecated] Using a date format other than YYYY-MM-DD will be removed in future versions. Date received: ${value}. Date stored: ${extractedValue}.`);
62
+ }
63
+ if (!extractedValue) {
64
+ throw new invalidDate(`Invalid format, expected yyyy-MM-dd`);
65
+ }
66
+ const date = dateFns__namespace.parseISO(extractedValue);
67
+ if (!dateFns__namespace.isValid(date)) {
68
+ throw new invalidDate(`Invalid date`);
69
+ }
70
+ return extractedValue;
71
+ };
72
+ const parseTime = (value)=>{
73
+ if (isDate(value)) {
74
+ return dateFns__namespace.format(value, 'HH:mm:ss.SSS');
75
+ }
76
+ if (typeof value !== 'string') {
77
+ throw new invalidTime(`Expected a string, got a ${typeof value}`);
78
+ }
79
+ const result = value.match(TIME_REGEX);
80
+ if (result === null) {
81
+ throw new invalidTime('Invalid time format, expected HH:mm:ss.SSS');
82
+ }
83
+ const [, hours, minutes, seconds, fraction = '.000'] = result;
84
+ const fractionPart = _.padCharsEnd('0', 3, fraction.slice(1));
85
+ return `${hours}:${minutes}:${seconds}.${fractionPart}`;
86
+ };
87
+
88
+ exports.parseDate = parseDate;
89
+ exports.parseDateTimeOrTimestamp = parseDateTimeOrTimestamp;
90
+ exports.parseTime = parseTime;
91
+ //# sourceMappingURL=parsers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsers.js","sources":["../../../src/fields/shared/parsers.ts"],"sourcesContent":["import { padCharsEnd, isString, toString } from 'lodash/fp';\nimport * as dateFns from 'date-fns';\n\nimport { InvalidDateTimeError, InvalidDateError, InvalidTimeError } from '../../errors';\n\nconst isDate = (value: unknown): value is Date => {\n return dateFns.isDate(value);\n};\n\nconst DATE_REGEX = /^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/;\nconst PARTIAL_DATE_REGEX = /^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])/g;\nconst TIME_REGEX = /^(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]{1,3})?$/;\n\nexport const parseDateTimeOrTimestamp = (value: unknown): Date => {\n if (isDate(value)) {\n return value;\n }\n\n try {\n const date = dateFns.parseISO(toString(value));\n if (dateFns.isValid(date)) {\n return date;\n }\n\n const milliUnixDate = dateFns.parse(toString(value), 'T', new Date());\n if (dateFns.isValid(milliUnixDate)) {\n return milliUnixDate;\n }\n\n throw new InvalidDateTimeError(`Invalid format, expected a timestamp or an ISO date`);\n } catch (error) {\n throw new InvalidDateTimeError(`Invalid format, expected a timestamp or an ISO date`);\n }\n};\n\nexport const parseDate = (value: unknown) => {\n if (isDate(value)) {\n return dateFns.format(value, 'yyyy-MM-dd');\n }\n\n const found = isString(value) ? value.match(PARTIAL_DATE_REGEX) || [] : [];\n const extractedValue = found[0];\n\n if (extractedValue && !DATE_REGEX.test(toString(value))) {\n // TODO V5: throw an error when format yyyy-MM-dd is not respected\n // throw new InvalidDateError(`Invalid format, expected yyyy-MM-dd`);\n process.emitWarning(\n `[deprecated] Using a date format other than YYYY-MM-DD will be removed in future versions. Date received: ${value}. Date stored: ${extractedValue}.`\n );\n }\n\n if (!extractedValue) {\n throw new InvalidDateError(`Invalid format, expected yyyy-MM-dd`);\n }\n\n const date = dateFns.parseISO(extractedValue);\n if (!dateFns.isValid(date)) {\n throw new InvalidDateError(`Invalid date`);\n }\n\n return extractedValue;\n};\n\nexport const parseTime = (value: unknown) => {\n if (isDate(value)) {\n return dateFns.format(value, 'HH:mm:ss.SSS');\n }\n\n if (typeof value !== 'string') {\n throw new InvalidTimeError(`Expected a string, got a ${typeof value}`);\n }\n\n const result = value.match(TIME_REGEX);\n\n if (result === null) {\n throw new InvalidTimeError('Invalid time format, expected HH:mm:ss.SSS');\n }\n\n const [, hours, minutes, seconds, fraction = '.000'] = result;\n const fractionPart = padCharsEnd('0', 3, fraction.slice(1));\n\n return `${hours}:${minutes}:${seconds}.${fractionPart}`;\n};\n"],"names":["isDate","value","dateFns","DATE_REGEX","PARTIAL_DATE_REGEX","TIME_REGEX","parseDateTimeOrTimestamp","date","parseISO","toString","isValid","milliUnixDate","parse","Date","InvalidDateTimeError","error","parseDate","format","found","isString","match","extractedValue","test","process","emitWarning","InvalidDateError","parseTime","InvalidTimeError","result","hours","minutes","seconds","fraction","fractionPart","padCharsEnd","slice"],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import { toString, isString, padCharsEnd } from 'lodash/fp';
2
+ import * as dateFns from 'date-fns';
3
+ import InvalidTimeError from '../../errors/invalid-time.mjs';
4
+ import InvalidDateError from '../../errors/invalid-date.mjs';
5
+ import InvalidDateTimeError from '../../errors/invalid-datetime.mjs';
6
+
7
+ const isDate = (value)=>{
8
+ return dateFns.isDate(value);
9
+ };
10
+ const DATE_REGEX = /^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/;
11
+ const PARTIAL_DATE_REGEX = /^\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])/g;
12
+ const TIME_REGEX = /^(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]{1,3})?$/;
13
+ const parseDateTimeOrTimestamp = (value)=>{
14
+ if (isDate(value)) {
15
+ return value;
16
+ }
17
+ try {
18
+ const date = dateFns.parseISO(toString(value));
19
+ if (dateFns.isValid(date)) {
20
+ return date;
21
+ }
22
+ const milliUnixDate = dateFns.parse(toString(value), 'T', new Date());
23
+ if (dateFns.isValid(milliUnixDate)) {
24
+ return milliUnixDate;
25
+ }
26
+ throw new InvalidDateTimeError(`Invalid format, expected a timestamp or an ISO date`);
27
+ } catch (error) {
28
+ throw new InvalidDateTimeError(`Invalid format, expected a timestamp or an ISO date`);
29
+ }
30
+ };
31
+ const parseDate = (value)=>{
32
+ if (isDate(value)) {
33
+ return dateFns.format(value, 'yyyy-MM-dd');
34
+ }
35
+ const found = isString(value) ? value.match(PARTIAL_DATE_REGEX) || [] : [];
36
+ const extractedValue = found[0];
37
+ if (extractedValue && !DATE_REGEX.test(toString(value))) {
38
+ // TODO V5: throw an error when format yyyy-MM-dd is not respected
39
+ // throw new InvalidDateError(`Invalid format, expected yyyy-MM-dd`);
40
+ process.emitWarning(`[deprecated] Using a date format other than YYYY-MM-DD will be removed in future versions. Date received: ${value}. Date stored: ${extractedValue}.`);
41
+ }
42
+ if (!extractedValue) {
43
+ throw new InvalidDateError(`Invalid format, expected yyyy-MM-dd`);
44
+ }
45
+ const date = dateFns.parseISO(extractedValue);
46
+ if (!dateFns.isValid(date)) {
47
+ throw new InvalidDateError(`Invalid date`);
48
+ }
49
+ return extractedValue;
50
+ };
51
+ const parseTime = (value)=>{
52
+ if (isDate(value)) {
53
+ return dateFns.format(value, 'HH:mm:ss.SSS');
54
+ }
55
+ if (typeof value !== 'string') {
56
+ throw new InvalidTimeError(`Expected a string, got a ${typeof value}`);
57
+ }
58
+ const result = value.match(TIME_REGEX);
59
+ if (result === null) {
60
+ throw new InvalidTimeError('Invalid time format, expected HH:mm:ss.SSS');
61
+ }
62
+ const [, hours, minutes, seconds, fraction = '.000'] = result;
63
+ const fractionPart = padCharsEnd('0', 3, fraction.slice(1));
64
+ return `${hours}:${minutes}:${seconds}.${fractionPart}`;
65
+ };
66
+
67
+ export { parseDate, parseDateTimeOrTimestamp, parseTime };
68
+ //# sourceMappingURL=parsers.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parsers.mjs","sources":["../../../src/fields/shared/parsers.ts"],"sourcesContent":["import { padCharsEnd, isString, toString } from 'lodash/fp';\nimport * as dateFns from 'date-fns';\n\nimport { InvalidDateTimeError, InvalidDateError, InvalidTimeError } from '../../errors';\n\nconst isDate = (value: unknown): value is Date => {\n return dateFns.isDate(value);\n};\n\nconst DATE_REGEX = /^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$/;\nconst PARTIAL_DATE_REGEX = /^\\d{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])/g;\nconst TIME_REGEX = /^(2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]{1,3})?$/;\n\nexport const parseDateTimeOrTimestamp = (value: unknown): Date => {\n if (isDate(value)) {\n return value;\n }\n\n try {\n const date = dateFns.parseISO(toString(value));\n if (dateFns.isValid(date)) {\n return date;\n }\n\n const milliUnixDate = dateFns.parse(toString(value), 'T', new Date());\n if (dateFns.isValid(milliUnixDate)) {\n return milliUnixDate;\n }\n\n throw new InvalidDateTimeError(`Invalid format, expected a timestamp or an ISO date`);\n } catch (error) {\n throw new InvalidDateTimeError(`Invalid format, expected a timestamp or an ISO date`);\n }\n};\n\nexport const parseDate = (value: unknown) => {\n if (isDate(value)) {\n return dateFns.format(value, 'yyyy-MM-dd');\n }\n\n const found = isString(value) ? value.match(PARTIAL_DATE_REGEX) || [] : [];\n const extractedValue = found[0];\n\n if (extractedValue && !DATE_REGEX.test(toString(value))) {\n // TODO V5: throw an error when format yyyy-MM-dd is not respected\n // throw new InvalidDateError(`Invalid format, expected yyyy-MM-dd`);\n process.emitWarning(\n `[deprecated] Using a date format other than YYYY-MM-DD will be removed in future versions. Date received: ${value}. Date stored: ${extractedValue}.`\n );\n }\n\n if (!extractedValue) {\n throw new InvalidDateError(`Invalid format, expected yyyy-MM-dd`);\n }\n\n const date = dateFns.parseISO(extractedValue);\n if (!dateFns.isValid(date)) {\n throw new InvalidDateError(`Invalid date`);\n }\n\n return extractedValue;\n};\n\nexport const parseTime = (value: unknown) => {\n if (isDate(value)) {\n return dateFns.format(value, 'HH:mm:ss.SSS');\n }\n\n if (typeof value !== 'string') {\n throw new InvalidTimeError(`Expected a string, got a ${typeof value}`);\n }\n\n const result = value.match(TIME_REGEX);\n\n if (result === null) {\n throw new InvalidTimeError('Invalid time format, expected HH:mm:ss.SSS');\n }\n\n const [, hours, minutes, seconds, fraction = '.000'] = result;\n const fractionPart = padCharsEnd('0', 3, fraction.slice(1));\n\n return `${hours}:${minutes}:${seconds}.${fractionPart}`;\n};\n"],"names":["isDate","value","dateFns","DATE_REGEX","PARTIAL_DATE_REGEX","TIME_REGEX","parseDateTimeOrTimestamp","date","parseISO","toString","isValid","milliUnixDate","parse","Date","InvalidDateTimeError","error","parseDate","format","found","isString","match","extractedValue","test","process","emitWarning","InvalidDateError","parseTime","InvalidTimeError","result","hours","minutes","seconds","fraction","fractionPart","padCharsEnd","slice"],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ var _ = require('lodash/fp');
4
+ var field = require('./field.js');
5
+
6
+ class StringField extends field {
7
+ toDB(value) {
8
+ return _.toString(value);
9
+ }
10
+ fromDB(value) {
11
+ return _.toString(value);
12
+ }
13
+ }
14
+
15
+ module.exports = StringField;
16
+ //# sourceMappingURL=string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.js","sources":["../../src/fields/string.ts"],"sourcesContent":["import { toString } from 'lodash/fp';\nimport Field from './field';\n\nexport default class StringField extends Field {\n toDB(value: unknown) {\n return toString(value);\n }\n\n fromDB(value: unknown) {\n return toString(value);\n }\n}\n"],"names":["StringField","Field","toDB","value","toString","fromDB"],"mappings":";;;;;AAGe,MAAMA,WAAoBC,SAAAA,KAAAA,CAAAA;AACvCC,IAAAA,IAAAA,CAAKC,KAAc,EAAE;AACnB,QAAA,OAAOC,UAASD,CAAAA,KAAAA,CAAAA;AAClB;AAEAE,IAAAA,MAAAA,CAAOF,KAAc,EAAE;AACrB,QAAA,OAAOC,UAASD,CAAAA,KAAAA,CAAAA;AAClB;AACF;;;;"}
@@ -0,0 +1,14 @@
1
+ import { toString } from 'lodash/fp';
2
+ import Field from './field.mjs';
3
+
4
+ class StringField extends Field {
5
+ toDB(value) {
6
+ return toString(value);
7
+ }
8
+ fromDB(value) {
9
+ return toString(value);
10
+ }
11
+ }
12
+
13
+ export { StringField as default };
14
+ //# sourceMappingURL=string.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string.mjs","sources":["../../src/fields/string.ts"],"sourcesContent":["import { toString } from 'lodash/fp';\nimport Field from './field';\n\nexport default class StringField extends Field {\n toDB(value: unknown) {\n return toString(value);\n }\n\n fromDB(value: unknown) {\n return toString(value);\n }\n}\n"],"names":["StringField","Field","toDB","value","toString","fromDB"],"mappings":";;;AAGe,MAAMA,WAAoBC,SAAAA,KAAAA,CAAAA;AACvCC,IAAAA,IAAAA,CAAKC,KAAc,EAAE;AACnB,QAAA,OAAOC,QAASD,CAAAA,KAAAA,CAAAA;AAClB;AAEAE,IAAAA,MAAAA,CAAOF,KAAc,EAAE;AACrB,QAAA,OAAOC,QAASD,CAAAA,KAAAA,CAAAA;AAClB;AACF;;;;"}
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ var parsers = require('./shared/parsers.js');
4
+ var field = require('./field.js');
5
+
6
+ class TimeField extends field {
7
+ toDB(value) {
8
+ return parsers.parseTime(value);
9
+ }
10
+ fromDB(value) {
11
+ // make sure that's a string with valid format ?
12
+ return value;
13
+ }
14
+ }
15
+
16
+ module.exports = TimeField;
17
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","sources":["../../src/fields/time.ts"],"sourcesContent":["import { parseTime } from './shared/parsers';\nimport Field from './field';\n\nexport default class TimeField extends Field {\n toDB(value: unknown) {\n return parseTime(value);\n }\n\n fromDB(value: unknown) {\n // make sure that's a string with valid format ?\n return value;\n }\n}\n"],"names":["TimeField","Field","toDB","value","parseTime","fromDB"],"mappings":";;;;;AAGe,MAAMA,SAAkBC,SAAAA,KAAAA,CAAAA;AACrCC,IAAAA,IAAAA,CAAKC,KAAc,EAAE;AACnB,QAAA,OAAOC,iBAAUD,CAAAA,KAAAA,CAAAA;AACnB;AAEAE,IAAAA,MAAAA,CAAOF,KAAc,EAAE;;QAErB,OAAOA,KAAAA;AACT;AACF;;;;"}
@@ -0,0 +1,15 @@
1
+ import { parseTime } from './shared/parsers.mjs';
2
+ import Field from './field.mjs';
3
+
4
+ class TimeField extends Field {
5
+ toDB(value) {
6
+ return parseTime(value);
7
+ }
8
+ fromDB(value) {
9
+ // make sure that's a string with valid format ?
10
+ return value;
11
+ }
12
+ }
13
+
14
+ export { TimeField as default };
15
+ //# sourceMappingURL=time.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.mjs","sources":["../../src/fields/time.ts"],"sourcesContent":["import { parseTime } from './shared/parsers';\nimport Field from './field';\n\nexport default class TimeField extends Field {\n toDB(value: unknown) {\n return parseTime(value);\n }\n\n fromDB(value: unknown) {\n // make sure that's a string with valid format ?\n return value;\n }\n}\n"],"names":["TimeField","Field","toDB","value","parseTime","fromDB"],"mappings":";;;AAGe,MAAMA,SAAkBC,SAAAA,KAAAA,CAAAA;AACrCC,IAAAA,IAAAA,CAAKC,KAAc,EAAE;AACnB,QAAA,OAAOC,SAAUD,CAAAA,KAAAA,CAAAA;AACnB;AAEAE,IAAAA,MAAAA,CAAOF,KAAc,EAAE;;QAErB,OAAOA,KAAAA;AACT;AACF;;;;"}
@@ -0,0 +1,37 @@
1
+ 'use strict';
2
+
3
+ var dateFns = require('date-fns');
4
+ var parsers = require('./shared/parsers.js');
5
+ var field = require('./field.js');
6
+
7
+ function _interopNamespaceDefault(e) {
8
+ var n = Object.create(null);
9
+ if (e) {
10
+ Object.keys(e).forEach(function (k) {
11
+ if (k !== 'default') {
12
+ var d = Object.getOwnPropertyDescriptor(e, k);
13
+ Object.defineProperty(n, k, d.get ? d : {
14
+ enumerable: true,
15
+ get: function () { return e[k]; }
16
+ });
17
+ }
18
+ });
19
+ }
20
+ n.default = e;
21
+ return Object.freeze(n);
22
+ }
23
+
24
+ var dateFns__namespace = /*#__PURE__*/_interopNamespaceDefault(dateFns);
25
+
26
+ class TimestampField extends field {
27
+ toDB(value) {
28
+ return parsers.parseDateTimeOrTimestamp(value);
29
+ }
30
+ fromDB(value) {
31
+ const cast = new Date(value);
32
+ return dateFns__namespace.isValid(cast) ? dateFns__namespace.format(cast, 'T') : null;
33
+ }
34
+ }
35
+
36
+ module.exports = TimestampField;
37
+ //# sourceMappingURL=timestamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timestamp.js","sources":["../../src/fields/timestamp.ts"],"sourcesContent":["import * as dateFns from 'date-fns';\n\nimport { parseDateTimeOrTimestamp } from './shared/parsers';\nimport Field from './field';\n\nexport default class TimestampField extends Field {\n toDB(value: unknown) {\n return parseDateTimeOrTimestamp(value);\n }\n\n fromDB(value: unknown) {\n const cast = new Date(value as any);\n return dateFns.isValid(cast) ? dateFns.format(cast, 'T') : null;\n }\n}\n"],"names":["TimestampField","Field","toDB","value","parseDateTimeOrTimestamp","fromDB","cast","Date","dateFns","isValid","format"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAKe,MAAMA,cAAuBC,SAAAA,KAAAA,CAAAA;AAC1CC,IAAAA,IAAAA,CAAKC,KAAc,EAAE;AACnB,QAAA,OAAOC,gCAAyBD,CAAAA,KAAAA,CAAAA;AAClC;AAEAE,IAAAA,MAAAA,CAAOF,KAAc,EAAE;QACrB,MAAMG,IAAAA,GAAO,IAAIC,IAAKJ,CAAAA,KAAAA,CAAAA;QACtB,OAAOK,kBAAAA,CAAQC,OAAO,CAACH,IAAAA,CAAAA,GAAQE,mBAAQE,MAAM,CAACJ,MAAM,GAAO,CAAA,GAAA,IAAA;AAC7D;AACF;;;;"}
@@ -0,0 +1,16 @@
1
+ import * as dateFns from 'date-fns';
2
+ import { parseDateTimeOrTimestamp } from './shared/parsers.mjs';
3
+ import Field from './field.mjs';
4
+
5
+ class TimestampField extends Field {
6
+ toDB(value) {
7
+ return parseDateTimeOrTimestamp(value);
8
+ }
9
+ fromDB(value) {
10
+ const cast = new Date(value);
11
+ return dateFns.isValid(cast) ? dateFns.format(cast, 'T') : null;
12
+ }
13
+ }
14
+
15
+ export { TimestampField as default };
16
+ //# sourceMappingURL=timestamp.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timestamp.mjs","sources":["../../src/fields/timestamp.ts"],"sourcesContent":["import * as dateFns from 'date-fns';\n\nimport { parseDateTimeOrTimestamp } from './shared/parsers';\nimport Field from './field';\n\nexport default class TimestampField extends Field {\n toDB(value: unknown) {\n return parseDateTimeOrTimestamp(value);\n }\n\n fromDB(value: unknown) {\n const cast = new Date(value as any);\n return dateFns.isValid(cast) ? dateFns.format(cast, 'T') : null;\n }\n}\n"],"names":["TimestampField","Field","toDB","value","parseDateTimeOrTimestamp","fromDB","cast","Date","dateFns","isValid","format"],"mappings":";;;;AAKe,MAAMA,cAAuBC,SAAAA,KAAAA,CAAAA;AAC1CC,IAAAA,IAAAA,CAAKC,KAAc,EAAE;AACnB,QAAA,OAAOC,wBAAyBD,CAAAA,KAAAA,CAAAA;AAClC;AAEAE,IAAAA,MAAAA,CAAOF,KAAc,EAAE;QACrB,MAAMG,IAAAA,GAAO,IAAIC,IAAKJ,CAAAA,KAAAA,CAAAA;QACtB,OAAOK,OAAAA,CAAQC,OAAO,CAACH,IAAAA,CAAAA,GAAQE,QAAQE,MAAM,CAACJ,MAAM,GAAO,CAAA,GAAA,IAAA;AAC7D;AACF;;;;"}