neoorm 0.8.1 → 0.8.2

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 (318) hide show
  1. package/README.md +10 -5
  2. package/dist/bin/neoorm.d.ts +1 -1
  3. package/dist/bin/neoorm.d.ts.map +1 -1
  4. package/dist/bin/neoorm.js +131 -57
  5. package/dist/bin/neoorm.js.map +1 -1
  6. package/dist/codegen/diff-manifest.d.ts.map +1 -1
  7. package/dist/codegen/diff-manifest.js +106 -4
  8. package/dist/codegen/diff-manifest.js.map +1 -1
  9. package/dist/codegen/generate-summary.d.ts +1 -0
  10. package/dist/codegen/generate-summary.d.ts.map +1 -1
  11. package/dist/codegen/generate-summary.js +3 -0
  12. package/dist/codegen/generate-summary.js.map +1 -1
  13. package/dist/codegen/generate.d.ts +7 -1
  14. package/dist/codegen/generate.d.ts.map +1 -1
  15. package/dist/codegen/generate.js +53 -20
  16. package/dist/codegen/generate.js.map +1 -1
  17. package/dist/codegen/schema-to-manifest.d.ts.map +1 -1
  18. package/dist/codegen/schema-to-manifest.js +302 -22
  19. package/dist/codegen/schema-to-manifest.js.map +1 -1
  20. package/dist/codegen/validation/emit-elysia.d.ts +4 -0
  21. package/dist/codegen/validation/emit-elysia.d.ts.map +1 -0
  22. package/dist/codegen/validation/emit-elysia.js +304 -0
  23. package/dist/codegen/validation/emit-elysia.js.map +1 -0
  24. package/dist/codegen/validation/types.d.ts +1 -1
  25. package/dist/codegen/validation/types.js +1 -1
  26. package/dist/config.d.ts +2 -0
  27. package/dist/config.d.ts.map +1 -1
  28. package/dist/config.js +3 -1
  29. package/dist/config.js.map +1 -1
  30. package/dist/datasource-provider.d.ts +5 -1
  31. package/dist/datasource-provider.d.ts.map +1 -1
  32. package/dist/datasource-provider.js +21 -2
  33. package/dist/datasource-provider.js.map +1 -1
  34. package/dist/dialect/column-kind-support.d.ts +9 -0
  35. package/dist/dialect/column-kind-support.d.ts.map +1 -0
  36. package/dist/dialect/column-kind-support.js +25 -0
  37. package/dist/dialect/column-kind-support.js.map +1 -0
  38. package/dist/dialect/fk.d.ts +30 -1
  39. package/dist/dialect/fk.d.ts.map +1 -1
  40. package/dist/dialect/fk.js +113 -0
  41. package/dist/dialect/fk.js.map +1 -1
  42. package/dist/dialect/index.d.ts +5 -1
  43. package/dist/dialect/index.d.ts.map +1 -1
  44. package/dist/dialect/index.js +4 -0
  45. package/dist/dialect/index.js.map +1 -1
  46. package/dist/dialect/mariadb.d.ts +4 -0
  47. package/dist/dialect/mariadb.d.ts.map +1 -0
  48. package/dist/dialect/mariadb.js +15 -0
  49. package/dist/dialect/mariadb.js.map +1 -0
  50. package/dist/dialect/mariadb.test.d.ts +2 -0
  51. package/dist/dialect/mariadb.test.d.ts.map +1 -0
  52. package/dist/dialect/mariadb.test.js +151 -0
  53. package/dist/dialect/mariadb.test.js.map +1 -0
  54. package/dist/dialect/mysql-family.d.ts +14 -0
  55. package/dist/dialect/mysql-family.d.ts.map +1 -0
  56. package/dist/dialect/mysql-family.js +453 -0
  57. package/dist/dialect/mysql-family.js.map +1 -0
  58. package/dist/dialect/mysql.d.ts +6 -0
  59. package/dist/dialect/mysql.d.ts.map +1 -0
  60. package/dist/dialect/mysql.js +16 -0
  61. package/dist/dialect/mysql.js.map +1 -0
  62. package/dist/dialect/mysql.test.d.ts +2 -0
  63. package/dist/dialect/mysql.test.d.ts.map +1 -0
  64. package/dist/dialect/mysql.test.js +211 -0
  65. package/dist/dialect/mysql.test.js.map +1 -0
  66. package/dist/dialect/placeholders.d.ts +7 -0
  67. package/dist/dialect/placeholders.d.ts.map +1 -0
  68. package/dist/dialect/placeholders.js +18 -0
  69. package/dist/dialect/placeholders.js.map +1 -0
  70. package/dist/dialect/postgres.d.ts.map +1 -1
  71. package/dist/dialect/postgres.js +55 -27
  72. package/dist/dialect/postgres.js.map +1 -1
  73. package/dist/dialect/resolve.d.ts +13 -0
  74. package/dist/dialect/resolve.d.ts.map +1 -0
  75. package/dist/dialect/resolve.js +66 -0
  76. package/dist/dialect/resolve.js.map +1 -0
  77. package/dist/dialect/shared.d.ts +8 -1
  78. package/dist/dialect/shared.d.ts.map +1 -1
  79. package/dist/dialect/shared.js +37 -0
  80. package/dist/dialect/shared.js.map +1 -1
  81. package/dist/dialect/sqlite.d.ts.map +1 -1
  82. package/dist/dialect/sqlite.js +50 -18
  83. package/dist/dialect/sqlite.js.map +1 -1
  84. package/dist/dialect/sqlite.test.js +43 -1
  85. package/dist/dialect/sqlite.test.js.map +1 -1
  86. package/dist/dialect/types.d.ts +46 -3
  87. package/dist/dialect/types.d.ts.map +1 -1
  88. package/dist/docs/pages.d.ts.map +1 -1
  89. package/dist/docs/pages.js +3 -0
  90. package/dist/docs/pages.js.map +1 -1
  91. package/dist/docs/render.js +1 -1
  92. package/dist/index.d.ts +5 -3
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +4 -2
  95. package/dist/index.js.map +1 -1
  96. package/dist/init/scaffold.d.ts +2 -1
  97. package/dist/init/scaffold.d.ts.map +1 -1
  98. package/dist/init/scaffold.js.map +1 -1
  99. package/dist/init/templates.d.ts +3 -2
  100. package/dist/init/templates.d.ts.map +1 -1
  101. package/dist/init/templates.js +19 -10
  102. package/dist/init/templates.js.map +1 -1
  103. package/dist/introspect/group-fks.d.ts +24 -0
  104. package/dist/introspect/group-fks.d.ts.map +1 -0
  105. package/dist/introspect/group-fks.js +48 -0
  106. package/dist/introspect/group-fks.js.map +1 -0
  107. package/dist/introspect/mysql/to-manifest.d.ts +4 -0
  108. package/dist/introspect/mysql/to-manifest.d.ts.map +1 -0
  109. package/dist/introspect/mysql/to-manifest.js +317 -0
  110. package/dist/introspect/mysql/to-manifest.js.map +1 -0
  111. package/dist/introspect/pull.d.ts +1 -0
  112. package/dist/introspect/pull.d.ts.map +1 -1
  113. package/dist/introspect/pull.js +179 -6
  114. package/dist/introspect/pull.js.map +1 -1
  115. package/dist/introspect/queries.d.ts +10 -1
  116. package/dist/introspect/queries.d.ts.map +1 -1
  117. package/dist/introspect/queries.js +41 -11
  118. package/dist/introspect/queries.js.map +1 -1
  119. package/dist/introspect/sqlite/to-manifest.d.ts.map +1 -1
  120. package/dist/introspect/sqlite/to-manifest.js +99 -26
  121. package/dist/introspect/sqlite/to-manifest.js.map +1 -1
  122. package/dist/introspect/to-manifest.d.ts.map +1 -1
  123. package/dist/introspect/to-manifest.js +145 -26
  124. package/dist/introspect/to-manifest.js.map +1 -1
  125. package/dist/migrate/dev-lock.d.ts +15 -0
  126. package/dist/migrate/dev-lock.d.ts.map +1 -0
  127. package/dist/migrate/dev-lock.js +101 -0
  128. package/dist/migrate/dev-lock.js.map +1 -0
  129. package/dist/migrate/runner.d.ts.map +1 -1
  130. package/dist/migrate/runner.js +143 -51
  131. package/dist/migrate/runner.js.map +1 -1
  132. package/dist/plugins/builtin.d.ts +42 -0
  133. package/dist/plugins/builtin.d.ts.map +1 -1
  134. package/dist/plugins/builtin.js +276 -8
  135. package/dist/plugins/builtin.js.map +1 -1
  136. package/dist/plugins/json/operators.d.ts.map +1 -1
  137. package/dist/plugins/json/operators.js +69 -3
  138. package/dist/plugins/json/operators.js.map +1 -1
  139. package/dist/plugins/postgis/operators.d.ts.map +1 -1
  140. package/dist/plugins/postgis/operators.js +15 -3
  141. package/dist/plugins/postgis/operators.js.map +1 -1
  142. package/dist/runtime/client.d.ts +31 -4
  143. package/dist/runtime/client.d.ts.map +1 -1
  144. package/dist/runtime/client.js +129 -4
  145. package/dist/runtime/client.js.map +1 -1
  146. package/dist/runtime/driver.d.ts +2 -0
  147. package/dist/runtime/driver.d.ts.map +1 -1
  148. package/dist/runtime/driver.js +12 -0
  149. package/dist/runtime/driver.js.map +1 -1
  150. package/dist/runtime/executor.d.ts +1 -0
  151. package/dist/runtime/executor.d.ts.map +1 -1
  152. package/dist/runtime/executor.js +7 -1
  153. package/dist/runtime/executor.js.map +1 -1
  154. package/dist/runtime/mariadb-driver.d.ts +25 -0
  155. package/dist/runtime/mariadb-driver.d.ts.map +1 -0
  156. package/dist/runtime/mariadb-driver.js +103 -0
  157. package/dist/runtime/mariadb-driver.js.map +1 -0
  158. package/dist/runtime/mysql-driver.d.ts +25 -0
  159. package/dist/runtime/mysql-driver.d.ts.map +1 -0
  160. package/dist/runtime/mysql-driver.js +101 -0
  161. package/dist/runtime/mysql-driver.js.map +1 -0
  162. package/dist/runtime/mysql-error.d.ts +15 -0
  163. package/dist/runtime/mysql-error.d.ts.map +1 -0
  164. package/dist/runtime/mysql-error.js +119 -0
  165. package/dist/runtime/mysql-error.js.map +1 -0
  166. package/dist/runtime/mysql-family-pool.d.ts +50 -0
  167. package/dist/runtime/mysql-family-pool.d.ts.map +1 -0
  168. package/dist/runtime/mysql-family-pool.js +52 -0
  169. package/dist/runtime/mysql-family-pool.js.map +1 -0
  170. package/dist/runtime/mysql-family-pool.test.d.ts +2 -0
  171. package/dist/runtime/mysql-family-pool.test.d.ts.map +1 -0
  172. package/dist/runtime/mysql-family-pool.test.js +169 -0
  173. package/dist/runtime/mysql-family-pool.test.js.map +1 -0
  174. package/dist/runtime/mysql-placeholders.d.ts +18 -0
  175. package/dist/runtime/mysql-placeholders.d.ts.map +1 -0
  176. package/dist/runtime/mysql-placeholders.js +133 -0
  177. package/dist/runtime/mysql-placeholders.js.map +1 -0
  178. package/dist/runtime/mysql-placeholders.test.d.ts +2 -0
  179. package/dist/runtime/mysql-placeholders.test.d.ts.map +1 -0
  180. package/dist/runtime/mysql-placeholders.test.js +33 -0
  181. package/dist/runtime/mysql-placeholders.test.js.map +1 -0
  182. package/dist/runtime/query/compile-aggregate.d.ts +1 -1
  183. package/dist/runtime/query/compile-aggregate.d.ts.map +1 -1
  184. package/dist/runtime/query/compile-aggregate.js +25 -22
  185. package/dist/runtime/query/compile-aggregate.js.map +1 -1
  186. package/dist/runtime/query/compile-where.d.ts +9 -9
  187. package/dist/runtime/query/compile-where.d.ts.map +1 -1
  188. package/dist/runtime/query/compile-where.js +87 -66
  189. package/dist/runtime/query/compile-where.js.map +1 -1
  190. package/dist/runtime/query/compile-write.d.ts +9 -9
  191. package/dist/runtime/query/compile-write.d.ts.map +1 -1
  192. package/dist/runtime/query/compile-write.js +77 -63
  193. package/dist/runtime/query/compile-write.js.map +1 -1
  194. package/dist/runtime/query/count.d.ts.map +1 -1
  195. package/dist/runtime/query/count.js +4 -1
  196. package/dist/runtime/query/count.js.map +1 -1
  197. package/dist/runtime/query/create.d.ts.map +1 -1
  198. package/dist/runtime/query/create.js +38 -12
  199. package/dist/runtime/query/create.js.map +1 -1
  200. package/dist/runtime/query/cursor.d.ts +1 -1
  201. package/dist/runtime/query/cursor.d.ts.map +1 -1
  202. package/dist/runtime/query/cursor.js +6 -7
  203. package/dist/runtime/query/cursor.js.map +1 -1
  204. package/dist/runtime/query/delete.d.ts.map +1 -1
  205. package/dist/runtime/query/delete.js +41 -15
  206. package/dist/runtime/query/delete.js.map +1 -1
  207. package/dist/runtime/query/execute.d.ts +1 -0
  208. package/dist/runtime/query/execute.d.ts.map +1 -1
  209. package/dist/runtime/query/execute.js +23 -8
  210. package/dist/runtime/query/execute.js.map +1 -1
  211. package/dist/runtime/query/find-or-create.d.ts +1 -1
  212. package/dist/runtime/query/find-or-create.d.ts.map +1 -1
  213. package/dist/runtime/query/find-or-create.js +16 -8
  214. package/dist/runtime/query/find-or-create.js.map +1 -1
  215. package/dist/runtime/query/find.d.ts +2 -0
  216. package/dist/runtime/query/find.d.ts.map +1 -1
  217. package/dist/runtime/query/find.js +108 -62
  218. package/dist/runtime/query/find.js.map +1 -1
  219. package/dist/runtime/query/mutation-returning.d.ts +10 -0
  220. package/dist/runtime/query/mutation-returning.d.ts.map +1 -0
  221. package/dist/runtime/query/mutation-returning.js +85 -0
  222. package/dist/runtime/query/mutation-returning.js.map +1 -0
  223. package/dist/runtime/query/paginate.d.ts.map +1 -1
  224. package/dist/runtime/query/paginate.js +3 -3
  225. package/dist/runtime/query/paginate.js.map +1 -1
  226. package/dist/runtime/query/relation-join.d.ts +5 -0
  227. package/dist/runtime/query/relation-join.d.ts.map +1 -0
  228. package/dist/runtime/query/relation-join.js +26 -0
  229. package/dist/runtime/query/relation-join.js.map +1 -0
  230. package/dist/runtime/query/relation-planner.d.ts +1 -1
  231. package/dist/runtime/query/relation-planner.d.ts.map +1 -1
  232. package/dist/runtime/query/relation-planner.js +69 -55
  233. package/dist/runtime/query/relation-planner.js.map +1 -1
  234. package/dist/runtime/query/relation-writes.d.ts +2 -2
  235. package/dist/runtime/query/relation-writes.d.ts.map +1 -1
  236. package/dist/runtime/query/relation-writes.js +257 -98
  237. package/dist/runtime/query/relation-writes.js.map +1 -1
  238. package/dist/runtime/query/table-index.d.ts.map +1 -1
  239. package/dist/runtime/query/table-index.js +16 -9
  240. package/dist/runtime/query/table-index.js.map +1 -1
  241. package/dist/runtime/query/unique.d.ts +3 -0
  242. package/dist/runtime/query/unique.d.ts.map +1 -1
  243. package/dist/runtime/query/unique.js +26 -6
  244. package/dist/runtime/query/unique.js.map +1 -1
  245. package/dist/runtime/query/unique.test.js +110 -7
  246. package/dist/runtime/query/unique.test.js.map +1 -1
  247. package/dist/runtime/query/update.d.ts.map +1 -1
  248. package/dist/runtime/query/update.js +89 -23
  249. package/dist/runtime/query/update.js.map +1 -1
  250. package/dist/runtime/query/updated-at.js +2 -2
  251. package/dist/runtime/query/updated-at.js.map +1 -1
  252. package/dist/runtime/query/upsert.d.ts.map +1 -1
  253. package/dist/runtime/query/upsert.js +29 -5
  254. package/dist/runtime/query/upsert.js.map +1 -1
  255. package/dist/runtime/transaction.d.ts +1 -0
  256. package/dist/runtime/transaction.d.ts.map +1 -1
  257. package/dist/runtime/transaction.js +8 -0
  258. package/dist/runtime/transaction.js.map +1 -1
  259. package/dist/runtime/types.d.ts +10 -2
  260. package/dist/runtime/types.d.ts.map +1 -1
  261. package/dist/schema/column-constraints.d.ts +1 -1
  262. package/dist/schema/column-constraints.d.ts.map +1 -1
  263. package/dist/schema/column-constraints.js +6 -3
  264. package/dist/schema/column-constraints.js.map +1 -1
  265. package/dist/schema/column.d.ts +2 -2
  266. package/dist/schema/column.d.ts.map +1 -1
  267. package/dist/schema/column.js +1 -1
  268. package/dist/schema/column.js.map +1 -1
  269. package/dist/schema/index.d.ts +4 -4
  270. package/dist/schema/index.d.ts.map +1 -1
  271. package/dist/schema/index.js +2 -2
  272. package/dist/schema/index.js.map +1 -1
  273. package/dist/schema/nested-relation-types.d.ts +10 -9
  274. package/dist/schema/nested-relation-types.d.ts.map +1 -1
  275. package/dist/schema/relation-types.d.ts +73 -12
  276. package/dist/schema/relation-types.d.ts.map +1 -1
  277. package/dist/schema/relation.d.ts +11 -1
  278. package/dist/schema/relation.d.ts.map +1 -1
  279. package/dist/schema/relation.js +6 -0
  280. package/dist/schema/relation.js.map +1 -1
  281. package/dist/schema/table.d.ts +74 -11
  282. package/dist/schema/table.d.ts.map +1 -1
  283. package/dist/schema/table.js +93 -7
  284. package/dist/schema/table.js.map +1 -1
  285. package/dist/schema/types.d.ts +1 -1
  286. package/dist/schema/types.d.ts.map +1 -1
  287. package/dist/sql/builder.d.ts +13 -3
  288. package/dist/sql/builder.d.ts.map +1 -1
  289. package/dist/sql/builder.js +155 -5
  290. package/dist/sql/builder.js.map +1 -1
  291. package/dist/sql/index.d.ts +1 -0
  292. package/dist/sql/index.d.ts.map +1 -1
  293. package/dist/sql/index.js.map +1 -1
  294. package/dist/sql/qualify-tables.d.ts +15 -0
  295. package/dist/sql/qualify-tables.d.ts.map +1 -0
  296. package/dist/sql/qualify-tables.js +206 -0
  297. package/dist/sql/qualify-tables.js.map +1 -0
  298. package/dist/sql/template.d.ts +5 -0
  299. package/dist/sql/template.d.ts.map +1 -1
  300. package/dist/sql/template.js +23 -3
  301. package/dist/sql/template.js.map +1 -1
  302. package/docs/cli.md +4 -4
  303. package/docs/configuration.md +7 -6
  304. package/docs/elysia.md +131 -0
  305. package/docs/errors.md +1 -1
  306. package/docs/examples.md +4 -2
  307. package/docs/getting-started.md +6 -4
  308. package/docs/mariadb.md +149 -0
  309. package/docs/migrations.md +5 -3
  310. package/docs/mysql.md +134 -0
  311. package/docs/plugins.md +1 -1
  312. package/docs/queries.md +14 -11
  313. package/docs/relations.md +19 -4
  314. package/docs/schema.md +73 -10
  315. package/docs/sqlite.md +6 -2
  316. package/docs/typebox.md +4 -4
  317. package/docs/zod.md +2 -2
  318. package/package.json +18 -2
@@ -16,10 +16,15 @@ function scalarTsType(col, base) {
16
16
  function jsonCastKind(kind) {
17
17
  return kind === "json" ? "json" : "jsonb";
18
18
  }
19
+ function isSqliteOrMysqlFamily(dialect) {
20
+ return (dialect?.name === "sqlite" ||
21
+ dialect?.name === "mysql" ||
22
+ dialect?.name === "mariadb");
23
+ }
19
24
  function formatJsonDefault(col, value, dialect) {
20
25
  const cast = jsonCastKind(col.kind);
21
26
  const json = JSON.stringify(value).replace(/'/g, "''");
22
- if (dialect?.name === "sqlite") {
27
+ if (isSqliteOrMysqlFamily(dialect)) {
23
28
  return `'${json}'`;
24
29
  }
25
30
  return `'${json}'::${cast}`;
@@ -127,7 +132,7 @@ const boolType = {
127
132
  serializeValue(_col, value, dialect) {
128
133
  if (value === null || value === undefined)
129
134
  return value;
130
- if (dialect?.name === "sqlite")
135
+ if (isSqliteOrMysqlFamily(dialect))
131
136
  return value ? 1 : 0;
132
137
  return value;
133
138
  },
@@ -231,12 +236,10 @@ const timestampType = {
231
236
  return new Date(dbValue);
232
237
  },
233
238
  introspect(pgDataType) {
234
- return (pgDataType.includes("timestamp") ||
235
- pgDataType === "date" ||
236
- pgDataType === "time without time zone");
239
+ return pgDataType.includes("timestamp");
237
240
  },
238
241
  updatedAtExpression(_col, dialect) {
239
- return dialect?.name === "sqlite" ? "CURRENT_TIMESTAMP" : "NOW()";
242
+ return dialect?.defaultNowExpression() ?? "NOW()";
240
243
  },
241
244
  };
242
245
  const uuidType = {
@@ -485,7 +488,7 @@ const textArrayType = {
485
488
  serializeValue(_col, value, dialect) {
486
489
  if (value === null || value === undefined)
487
490
  return value;
488
- if (dialect?.name === "sqlite")
491
+ if (isSqliteOrMysqlFamily(dialect))
489
492
  return JSON.stringify(value);
490
493
  return value;
491
494
  },
@@ -523,7 +526,7 @@ const intArrayType = {
523
526
  serializeValue(_col, value, dialect) {
524
527
  if (value === null || value === undefined)
525
528
  return value;
526
- if (dialect?.name === "sqlite")
529
+ if (isSqliteOrMysqlFamily(dialect))
527
530
  return JSON.stringify(value);
528
531
  return value;
529
532
  },
@@ -538,6 +541,179 @@ const intArrayType = {
538
541
  return pgDataType === "ARRAY" && udtName === "_int4";
539
542
  },
540
543
  };
544
+ function createNumericFloatPlugin(kind, sqlType, introspect) {
545
+ return {
546
+ kind,
547
+ createBuilder() {
548
+ return createColumnBuilder({
549
+ kind,
550
+ nullable: true,
551
+ unique: false,
552
+ primary: false,
553
+ defaultNow: false,
554
+ }, (rebuild, meta) => createNumericConstraintExtras(meta, rebuild));
555
+ },
556
+ columnType() {
557
+ return sqlType;
558
+ },
559
+ columnTsType(col) {
560
+ return scalarTsType(col, "number");
561
+ },
562
+ columnValidation() {
563
+ return { kind: "number" };
564
+ },
565
+ introspect,
566
+ };
567
+ }
568
+ function createStringScalarPlugin(kind, sqlType, introspect) {
569
+ return {
570
+ kind,
571
+ createBuilder() {
572
+ return createColumnBuilder({
573
+ kind,
574
+ nullable: true,
575
+ unique: false,
576
+ primary: false,
577
+ defaultNow: false,
578
+ });
579
+ },
580
+ columnType() {
581
+ return sqlType;
582
+ },
583
+ columnTsType(col) {
584
+ return scalarTsType(col, "string");
585
+ },
586
+ columnValidation() {
587
+ return { kind: "string" };
588
+ },
589
+ introspect,
590
+ };
591
+ }
592
+ const realType = createNumericFloatPlugin("real", "REAL", (pgDataType, udtName) => pgDataType === "real" || udtName === "float4");
593
+ const doubleType = createNumericFloatPlugin("double", "DOUBLE PRECISION", (pgDataType, udtName) => pgDataType === "double precision" || udtName === "float8");
594
+ const dateType = createStringScalarPlugin("date", "DATE", (pgDataType) => pgDataType === "date");
595
+ const timeType = createStringScalarPlugin("time", "TIME", (pgDataType) => pgDataType === "time without time zone" ||
596
+ pgDataType === "time with time zone" ||
597
+ pgDataType === "time");
598
+ const intervalType = createStringScalarPlugin("interval", "INTERVAL", (pgDataType) => pgDataType === "interval");
599
+ const inetType = createStringScalarPlugin("inet", "INET", (pgDataType, udtName) => pgDataType === "inet" || udtName === "inet");
600
+ const cidrType = createStringScalarPlugin("cidr", "CIDR", (pgDataType, udtName) => pgDataType === "cidr" || udtName === "cidr");
601
+ const xmlType = createStringScalarPlugin("xml", "XML", (pgDataType, udtName) => pgDataType === "xml" || udtName === "xml");
602
+ const moneyType = createStringScalarPlugin("money", "MONEY", (pgDataType, udtName) => pgDataType === "money" || udtName === "money");
603
+ const int4RangeType = createStringScalarPlugin("int4Range", "INT4RANGE", (_pg, udtName) => udtName === "int4range");
604
+ const int8RangeType = createStringScalarPlugin("int8Range", "INT8RANGE", (_pg, udtName) => udtName === "int8range");
605
+ const numRangeType = createStringScalarPlugin("numRange", "NUMRANGE", (_pg, udtName) => udtName === "numrange");
606
+ const tsRangeType = createStringScalarPlugin("tsRange", "TSRANGE", (_pg, udtName) => udtName === "tsrange");
607
+ const tstzRangeType = createStringScalarPlugin("tstzRange", "TSTZRANGE", (_pg, udtName) => udtName === "tstzrange");
608
+ const dateRangeType = createStringScalarPlugin("dateRange", "DATERANGE", (_pg, udtName) => udtName === "daterange");
609
+ const uuidArrayType = {
610
+ kind: "uuidArray",
611
+ createBuilder() {
612
+ return createColumnBuilder({
613
+ kind: "uuidArray",
614
+ nullable: true,
615
+ unique: false,
616
+ primary: false,
617
+ defaultNow: false,
618
+ });
619
+ },
620
+ columnType() {
621
+ return "UUID[]";
622
+ },
623
+ columnTsType(col) {
624
+ return col.nullable ? "string[] | null" : "string[]";
625
+ },
626
+ columnValidation() {
627
+ return { kind: "array", element: { kind: "string", format: "uuid" } };
628
+ },
629
+ serializeValue(_col, value, dialect) {
630
+ if (value === null || value === undefined)
631
+ return value;
632
+ if (isSqliteOrMysqlFamily(dialect))
633
+ return JSON.stringify(value);
634
+ return value;
635
+ },
636
+ deserializeValue(col, dbValue) {
637
+ if (dbValue === null || dbValue === undefined)
638
+ return dbValue;
639
+ if (Array.isArray(dbValue))
640
+ return dbValue;
641
+ return parseJsonValue(dbValue, col);
642
+ },
643
+ introspect(pgDataType, udtName) {
644
+ return pgDataType === "ARRAY" && udtName === "_uuid";
645
+ },
646
+ };
647
+ function enumArrayTsType(col) {
648
+ const values = col.typeOptions?.values;
649
+ if (!values || values.length === 0) {
650
+ return col.nullable ? "string[] | null" : "string[]";
651
+ }
652
+ const union = values.map((value) => JSON.stringify(value)).join(" | ");
653
+ return col.nullable ? `(${union})[] | null` : `(${union})[]`;
654
+ }
655
+ function enumArraySqlType(col) {
656
+ const nativeTypeName = col.typeOptions?.nativeTypeName;
657
+ if (nativeTypeName) {
658
+ return `${nativeTypeName}[]`;
659
+ }
660
+ return "TEXT[]";
661
+ }
662
+ const enumArrayType = {
663
+ kind: "enumArray",
664
+ createBuilder(options) {
665
+ const values = options?.values;
666
+ const name = options?.name;
667
+ const typeOptions = { values };
668
+ if (name !== undefined) {
669
+ typeOptions.name = name;
670
+ }
671
+ return createColumnBuilder({
672
+ kind: "enumArray",
673
+ nullable: true,
674
+ unique: false,
675
+ primary: false,
676
+ defaultNow: false,
677
+ typeOptions,
678
+ });
679
+ },
680
+ columnType(col) {
681
+ return enumArraySqlType(col);
682
+ },
683
+ columnTsType(col) {
684
+ return enumArrayTsType(col);
685
+ },
686
+ columnValidation(col) {
687
+ const values = col.typeOptions?.values;
688
+ const first = values?.[0];
689
+ if (first === undefined || !values) {
690
+ return { kind: "array", element: { kind: "string" } };
691
+ }
692
+ const name = col.typeOptions?.name;
693
+ return {
694
+ kind: "array",
695
+ element: {
696
+ kind: "enum",
697
+ values: [first, ...values.slice(1)],
698
+ ...(typeof name === "string" ? { name } : {}),
699
+ },
700
+ };
701
+ },
702
+ serializeValue(_col, value, dialect) {
703
+ if (value === null || value === undefined)
704
+ return value;
705
+ if (isSqliteOrMysqlFamily(dialect))
706
+ return JSON.stringify(value);
707
+ return value;
708
+ },
709
+ deserializeValue(col, dbValue) {
710
+ if (dbValue === null || dbValue === undefined)
711
+ return dbValue;
712
+ if (Array.isArray(dbValue))
713
+ return dbValue;
714
+ return parseJsonValue(dbValue, col);
715
+ },
716
+ };
541
717
  const citextType = {
542
718
  kind: "citext",
543
719
  createBuilder() {
@@ -580,6 +756,23 @@ export const builtinPlugin = {
580
756
  byteaType,
581
757
  textArrayType,
582
758
  intArrayType,
759
+ realType,
760
+ doubleType,
761
+ dateType,
762
+ timeType,
763
+ intervalType,
764
+ inetType,
765
+ cidrType,
766
+ xmlType,
767
+ moneyType,
768
+ int4RangeType,
769
+ int8RangeType,
770
+ numRangeType,
771
+ tsRangeType,
772
+ tstzRangeType,
773
+ dateRangeType,
774
+ uuidArrayType,
775
+ enumArrayType,
583
776
  ],
584
777
  };
585
778
  export const citextPlugin = {
@@ -658,6 +851,81 @@ export function textArray() {
658
851
  export function intArray() {
659
852
  return intArrayType.createBuilder();
660
853
  }
854
+ /** `REAL` / `float4` column. Maps to `FLOAT` on MySQL. Prisma `Float` is {@link double}. */
855
+ export function real() {
856
+ return realType.createBuilder();
857
+ }
858
+ /** Alias for {@link real}. */
859
+ export function float() {
860
+ return real();
861
+ }
862
+ /** `DOUBLE PRECISION` / `float8` column. Maps to `DOUBLE` on MySQL. Closest to Prisma `Float`. */
863
+ export function double() {
864
+ return doubleType.createBuilder();
865
+ }
866
+ /** `DATE` column (`YYYY-MM-DD` string, not `Date`). */
867
+ export function date() {
868
+ return dateType.createBuilder();
869
+ }
870
+ /** `TIME` column (string). */
871
+ export function time() {
872
+ return timeType.createBuilder();
873
+ }
874
+ /** `INTERVAL` column (string). PostgreSQL native; SQLite `TEXT`; rejected on MySQL/MariaDB. */
875
+ export function interval() {
876
+ return intervalType.createBuilder();
877
+ }
878
+ /** `INET` column (string). PostgreSQL native; SQLite `TEXT`; rejected on MySQL/MariaDB. */
879
+ export function inet() {
880
+ return inetType.createBuilder();
881
+ }
882
+ /** `CIDR` column (string). PostgreSQL native; SQLite `TEXT`; rejected on MySQL/MariaDB. */
883
+ export function cidr() {
884
+ return cidrType.createBuilder();
885
+ }
886
+ /** `XML` column. Maps to `LONGTEXT` on MySQL and `TEXT` on SQLite. */
887
+ export function xml() {
888
+ return xmlType.createBuilder();
889
+ }
890
+ /** `MONEY` column (string). Maps to `DECIMAL(19,4)` on MySQL and `TEXT` on SQLite. */
891
+ export function money() {
892
+ return moneyType.createBuilder();
893
+ }
894
+ /** PostgreSQL `int4range` (string). Rejected on SQLite and MySQL/MariaDB. */
895
+ export function int4Range() {
896
+ return int4RangeType.createBuilder();
897
+ }
898
+ /** PostgreSQL `int8range` (string). Rejected on SQLite and MySQL/MariaDB. */
899
+ export function int8Range() {
900
+ return int8RangeType.createBuilder();
901
+ }
902
+ /** PostgreSQL `numrange` (string). Rejected on SQLite and MySQL/MariaDB. */
903
+ export function numRange() {
904
+ return numRangeType.createBuilder();
905
+ }
906
+ /** PostgreSQL `tsrange` (string). Rejected on SQLite and MySQL/MariaDB. */
907
+ export function tsRange() {
908
+ return tsRangeType.createBuilder();
909
+ }
910
+ /** PostgreSQL `tstzrange` (string). Rejected on SQLite and MySQL/MariaDB. */
911
+ export function tstzRange() {
912
+ return tstzRangeType.createBuilder();
913
+ }
914
+ /** PostgreSQL `daterange` (string). Rejected on SQLite and MySQL/MariaDB. */
915
+ export function dateRange() {
916
+ return dateRangeType.createBuilder();
917
+ }
918
+ /** `UUID[]` array column. JSON on SQLite/MySQL. */
919
+ export function uuidArray() {
920
+ return uuidArrayType.createBuilder();
921
+ }
922
+ /** Enum array column. Native `name[]` or `TEXT[]` on Postgres; JSON on SQLite/MySQL. */
923
+ export function enumArray(values, options) {
924
+ return enumArrayType.createBuilder({
925
+ values,
926
+ ...(options?.name !== undefined ? { name: options.name } : {}),
927
+ });
928
+ }
661
929
  /** `CITEXT` case-insensitive text (requires `citext` extension). */
662
930
  export function citext() {
663
931
  return citextType.createBuilder();
@@ -1 +1 @@
1
- {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../src/plugins/builtin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builtin.js","sourceRoot":"","sources":["../../src/plugins/builtin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../../src/plugins/json/operators.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AA+KvD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAMlE,CAAC"}
1
+ {"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../../src/plugins/json/operators.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AA8PvD,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAMlE,CAAC"}
@@ -127,13 +127,79 @@ function compileSqlite(op, sqlCol, value, startParamIndex) {
127
127
  }
128
128
  }
129
129
  }
130
+ function mysqlJsonPath(segments) {
131
+ let path = "$";
132
+ for (const segment of segments) {
133
+ if (/^\d+$/.test(segment)) {
134
+ path += `[${segment}]`;
135
+ continue;
136
+ }
137
+ if (/^[A-Za-z_][A-Za-z0-9_]*$/.test(segment)) {
138
+ path += `.${segment}`;
139
+ continue;
140
+ }
141
+ path += `."${segment.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`;
142
+ }
143
+ return path;
144
+ }
145
+ function compileMysql(op, sqlCol, value, _startParamIndex) {
146
+ switch (op) {
147
+ case "jsonContains":
148
+ return {
149
+ sql: `JSON_CONTAINS(${sqlCol}, CAST(? AS JSON))`,
150
+ params: [jsonParam(value)],
151
+ };
152
+ case "hasKey":
153
+ return {
154
+ sql: `JSON_CONTAINS_PATH(${sqlCol}, 'one', CONCAT('$.', ?))`,
155
+ params: [value],
156
+ };
157
+ case "hasAnyKeys":
158
+ return {
159
+ sql: `EXISTS (SELECT 1 FROM JSON_TABLE(?, '$[*]' COLUMNS (k VARCHAR(512) PATH '$')) AS jk WHERE JSON_CONTAINS_PATH(${sqlCol}, 'one', CONCAT('$.', jk.k)))`,
160
+ params: [jsonParam(value)],
161
+ };
162
+ case "hasAllKeys":
163
+ return {
164
+ sql: `NOT EXISTS (SELECT 1 FROM JSON_TABLE(?, '$[*]' COLUMNS (k VARCHAR(512) PATH '$')) AS jk WHERE NOT JSON_CONTAINS_PATH(${sqlCol}, 'one', CONCAT('$.', jk.k)))`,
165
+ params: [jsonParam(value)],
166
+ };
167
+ case "path": {
168
+ const spec = value;
169
+ const pathLit = mysqlJsonPath(spec.segments);
170
+ if (spec.jsonContains !== undefined) {
171
+ return {
172
+ sql: `JSON_CONTAINS(JSON_EXTRACT(${sqlCol}, ?), CAST(? AS JSON))`,
173
+ params: [pathLit, jsonParam(spec.jsonContains)],
174
+ };
175
+ }
176
+ return {
177
+ sql: `JSON_UNQUOTE(JSON_EXTRACT(${sqlCol}, ?)) = ?`,
178
+ params: [pathLit, spec.equals],
179
+ };
180
+ }
181
+ default: {
182
+ const _exhaustive = op;
183
+ return _exhaustive;
184
+ }
185
+ }
186
+ }
130
187
  function jsonOperator(op) {
131
188
  return {
132
189
  compile(sqlCol, value, col, startParamIndex, dialect) {
133
- if (dialect.name === "sqlite") {
134
- return compileSqlite(op, sqlCol, value, startParamIndex);
190
+ switch (dialect.name) {
191
+ case "sqlite":
192
+ return compileSqlite(op, sqlCol, value, startParamIndex);
193
+ case "mysql":
194
+ case "mariadb":
195
+ return compileMysql(op, sqlCol, value, startParamIndex);
196
+ case "postgresql":
197
+ return compilePostgres(op, sqlCol, value, col, startParamIndex);
198
+ default: {
199
+ const _never = dialect.name;
200
+ return _never;
201
+ }
135
202
  }
136
- return compilePostgres(op, sqlCol, value, col, startParamIndex);
137
203
  },
138
204
  };
139
205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"operators.js","sourceRoot":"","sources":["../../../src/plugins/json/operators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operators.js","sourceRoot":"","sources":["../../../src/plugins/json/operators.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../../src/plugins/postgis/operators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAOvD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CA0BrE,CAAC;AAEF,wBAAgB,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAM5D"}
1
+ {"version":3,"file":"operators.d.ts","sourceRoot":"","sources":["../../../src/plugins/postgis/operators.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAevD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CA6BrE,CAAC;AAEF,wBAAgB,eAAe,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAM5D"}
@@ -1,10 +1,20 @@
1
+ import { compileError } from "../../runtime/compile-error.js";
2
+ import { QueryErrorCode } from "../../runtime/error-codes.js";
1
3
  import { geoJsonToParam } from "./geojson.js";
2
4
  function geomFromGeoJson(paramIndex) {
3
5
  return `ST_GeomFromGeoJSON($${paramIndex}::json)`;
4
6
  }
7
+ function assertPostgres(dialectName) {
8
+ if (dialectName !== "postgresql") {
9
+ compileError(`PostGIS operators are not supported on ${dialectName}`, {
10
+ code: QueryErrorCode.unsupported_operation,
11
+ });
12
+ }
13
+ }
5
14
  export const postgisWhereOperators = {
6
15
  intersects: {
7
- compile(sqlCol, value, _col, startParamIndex) {
16
+ compile(sqlCol, value, _col, startParamIndex, dialect) {
17
+ assertPostgres(dialect.name);
8
18
  return {
9
19
  sql: `ST_Intersects(${sqlCol}, ${geomFromGeoJson(startParamIndex)})`,
10
20
  params: [geoJsonToParam(value)],
@@ -12,7 +22,8 @@ export const postgisWhereOperators = {
12
22
  },
13
23
  },
14
24
  within: {
15
- compile(sqlCol, value, _col, startParamIndex) {
25
+ compile(sqlCol, value, _col, startParamIndex, dialect) {
26
+ assertPostgres(dialect.name);
16
27
  return {
17
28
  sql: `ST_Within(${sqlCol}, ${geomFromGeoJson(startParamIndex)})`,
18
29
  params: [geoJsonToParam(value)],
@@ -20,7 +31,8 @@ export const postgisWhereOperators = {
20
31
  },
21
32
  },
22
33
  dWithin: {
23
- compile(sqlCol, value, _col, startParamIndex) {
34
+ compile(sqlCol, value, _col, startParamIndex, dialect) {
35
+ assertPostgres(dialect.name);
24
36
  const payload = value;
25
37
  return {
26
38
  sql: `ST_DWithin(${sqlCol}, ${geomFromGeoJson(startParamIndex)}, $${startParamIndex + 1})`,
@@ -1 +1 @@
1
- {"version":3,"file":"operators.js","sourceRoot":"","sources":["../../../src/plugins/postgis/operators.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,SAAS,eAAe,CAAC,UAAkB;IAC1C,OAAO,uBAAuB,UAAU,SAAS,CAAC;AACnD,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAwC;IACzE,UAAU,EAAE;QACX,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe;YAC3C,OAAO;gBACN,GAAG,EAAE,iBAAiB,MAAM,KAAK,eAAe,CAAC,eAAe,CAAC,GAAG;gBACpE,MAAM,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAC/B,CAAC;QACH,CAAC;KACD;IACD,MAAM,EAAE;QACP,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe;YAC3C,OAAO;gBACN,GAAG,EAAE,aAAa,MAAM,KAAK,eAAe,CAAC,eAAe,CAAC,GAAG;gBAChE,MAAM,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAC/B,CAAC;QACH,CAAC;KACD;IACD,OAAO,EAAE;QACR,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe;YAC3C,MAAM,OAAO,GAAG,KAAgD,CAAC;YACjE,OAAO;gBACN,GAAG,EAAE,cAAc,MAAM,KAAK,eAAe,CAAC,eAAe,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG;gBAC1F,MAAM,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;aAC5D,CAAC;QACH,CAAC;KACD;CACD,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,GAAmB;IAClD,OAAO,CACN,GAAG,CAAC,IAAI,KAAK,UAAU;QACvB,GAAG,CAAC,IAAI,KAAK,WAAW;QACxB,GAAG,CAAC,IAAI,KAAK,OAAO,CACpB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"operators.js","sourceRoot":"","sources":["../../../src/plugins/postgis/operators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,SAAS,eAAe,CAAC,UAAkB;IAC1C,OAAO,uBAAuB,UAAU,SAAS,CAAC;AACnD,CAAC;AAED,SAAS,cAAc,CAAC,WAAmB;IAC1C,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;QAClC,YAAY,CAAC,0CAA0C,WAAW,EAAE,EAAE;YACrE,IAAI,EAAE,cAAc,CAAC,qBAAqB;SAC1C,CAAC,CAAC;IACJ,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAwC;IACzE,UAAU,EAAE;QACX,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO;YACpD,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO;gBACN,GAAG,EAAE,iBAAiB,MAAM,KAAK,eAAe,CAAC,eAAe,CAAC,GAAG;gBACpE,MAAM,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAC/B,CAAC;QACH,CAAC;KACD;IACD,MAAM,EAAE;QACP,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO;YACpD,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,OAAO;gBACN,GAAG,EAAE,aAAa,MAAM,KAAK,eAAe,CAAC,eAAe,CAAC,GAAG;gBAChE,MAAM,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;aAC/B,CAAC;QACH,CAAC;KACD;IACD,OAAO,EAAE;QACR,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,OAAO;YACpD,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,OAAO,GAAG,KAAgD,CAAC;YACjE,OAAO;gBACN,GAAG,EAAE,cAAc,MAAM,KAAK,eAAe,CAAC,eAAe,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG;gBAC1F,MAAM,EAAE,CAAC,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC;aAC5D,CAAC;QACH,CAAC;KACD;CACD,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,GAAmB;IAClD,OAAO,CACN,GAAG,CAAC,IAAI,KAAK,UAAU;QACvB,GAAG,CAAC,IAAI,KAAK,WAAW;QACxB,GAAG,CAAC,IAAI,KAAK,OAAO,CACpB,CAAC;AACH,CAAC"}