semola 0.5.2 → 0.5.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 (262) hide show
  1. package/README.md +88 -13
  2. package/dist/cron/builder/index.cjs +166 -0
  3. package/dist/cron/builder/index.d.cts +28 -0
  4. package/dist/cron/builder/index.d.cts.map +1 -0
  5. package/dist/cron/builder/index.d.mts +28 -0
  6. package/dist/cron/builder/index.d.mts.map +1 -0
  7. package/dist/cron/builder/index.mjs +163 -0
  8. package/dist/cron/builder/index.mjs.map +1 -0
  9. package/dist/cron/builder/types.cjs +27 -0
  10. package/dist/cron/builder/types.d.cts +79 -0
  11. package/dist/cron/builder/types.d.cts.map +1 -0
  12. package/dist/cron/builder/types.d.mts +79 -0
  13. package/dist/cron/builder/types.d.mts.map +1 -0
  14. package/dist/cron/builder/types.mjs +28 -0
  15. package/dist/cron/builder/types.mjs.map +1 -0
  16. package/dist/cron/core/index.cjs +308 -0
  17. package/dist/cron/core/index.d.cts +39 -0
  18. package/dist/cron/core/index.d.cts.map +1 -0
  19. package/dist/cron/core/index.d.mts +39 -0
  20. package/dist/cron/core/index.d.mts.map +1 -0
  21. package/dist/cron/core/index.mjs +310 -0
  22. package/dist/cron/core/index.mjs.map +1 -0
  23. package/dist/cron/{scanner.cjs → core/scanner.cjs} +2 -2
  24. package/dist/cron/{scanner.mjs → core/scanner.mjs} +2 -2
  25. package/dist/cron/core/scanner.mjs.map +1 -0
  26. package/dist/cron/{types.d.cts → core/types.d.cts} +1 -1
  27. package/dist/cron/core/types.d.cts.map +1 -0
  28. package/dist/cron/{types.d.mts → core/types.d.mts} +1 -1
  29. package/dist/cron/core/types.d.mts.map +1 -0
  30. package/dist/errors/types.d.cts +1 -1
  31. package/dist/errors/types.d.mts +1 -1
  32. package/dist/lib/cache/index.d.cts +3 -3
  33. package/dist/lib/cache/index.d.mts +3 -3
  34. package/dist/lib/cron/index.cjs +12 -275
  35. package/dist/lib/cron/index.d.cts +4 -39
  36. package/dist/lib/cron/index.d.mts +4 -39
  37. package/dist/lib/cron/index.mjs +4 -277
  38. package/dist/lib/errors/index.d.cts +2 -2
  39. package/dist/lib/errors/index.d.cts.map +1 -1
  40. package/dist/lib/errors/index.d.mts +2 -2
  41. package/dist/lib/errors/index.d.mts.map +1 -1
  42. package/dist/lib/errors/index.mjs.map +1 -1
  43. package/dist/lib/i18n/index.cjs +6 -1
  44. package/dist/lib/i18n/index.d.cts.map +1 -1
  45. package/dist/lib/i18n/index.d.mts.map +1 -1
  46. package/dist/lib/i18n/index.mjs +6 -1
  47. package/dist/lib/i18n/index.mjs.map +1 -1
  48. package/dist/lib/logging/index.cjs +18 -0
  49. package/dist/lib/logging/index.d.cts +7 -0
  50. package/dist/lib/logging/index.d.mts +7 -0
  51. package/dist/lib/logging/index.mjs +5 -0
  52. package/dist/lib/orm/index.cjs +20 -0
  53. package/dist/lib/orm/index.d.cts +7 -0
  54. package/dist/lib/orm/index.d.mts +7 -0
  55. package/dist/lib/orm/index.mjs +6 -0
  56. package/dist/lib/prompts/index.d.cts +8 -8
  57. package/dist/lib/prompts/index.d.mts +8 -8
  58. package/dist/lib/pubsub/index.cjs +82 -13
  59. package/dist/lib/pubsub/index.d.cts +14 -5
  60. package/dist/lib/pubsub/index.d.cts.map +1 -1
  61. package/dist/lib/pubsub/index.d.mts +14 -5
  62. package/dist/lib/pubsub/index.d.mts.map +1 -1
  63. package/dist/lib/pubsub/index.mjs +82 -13
  64. package/dist/lib/pubsub/index.mjs.map +1 -1
  65. package/dist/lib/queue/index.d.cts +2 -2
  66. package/dist/lib/queue/index.d.mts +2 -2
  67. package/dist/lib/workflow/index.cjs +534 -0
  68. package/dist/lib/workflow/index.d.cts +7 -0
  69. package/dist/lib/workflow/index.d.cts.map +1 -0
  70. package/dist/lib/workflow/index.d.mts +7 -0
  71. package/dist/lib/workflow/index.d.mts.map +1 -0
  72. package/dist/lib/workflow/index.mjs +535 -0
  73. package/dist/lib/workflow/index.mjs.map +1 -0
  74. package/dist/logging/core/index.cjs +99 -0
  75. package/dist/logging/core/index.d.cts +26 -0
  76. package/dist/logging/core/index.d.cts.map +1 -0
  77. package/dist/logging/core/index.d.mts +26 -0
  78. package/dist/logging/core/index.d.mts.map +1 -0
  79. package/dist/logging/core/index.mjs +99 -0
  80. package/dist/logging/core/index.mjs.map +1 -0
  81. package/dist/logging/core/types.cjs +10 -0
  82. package/dist/logging/core/types.d.cts +22 -0
  83. package/dist/logging/core/types.d.cts.map +1 -0
  84. package/dist/logging/core/types.d.mts +22 -0
  85. package/dist/logging/core/types.d.mts.map +1 -0
  86. package/dist/logging/core/types.mjs +12 -0
  87. package/dist/logging/core/types.mjs.map +1 -0
  88. package/dist/logging/formatter/index.cjs +119 -0
  89. package/dist/logging/formatter/index.d.cts +27 -0
  90. package/dist/logging/formatter/index.d.cts.map +1 -0
  91. package/dist/logging/formatter/index.d.mts +27 -0
  92. package/dist/logging/formatter/index.d.mts.map +1 -0
  93. package/dist/logging/formatter/index.mjs +115 -0
  94. package/dist/logging/formatter/index.mjs.map +1 -0
  95. package/dist/logging/formatter/types.d.cts +5 -0
  96. package/dist/logging/formatter/types.d.cts.map +1 -0
  97. package/dist/logging/formatter/types.d.mts +5 -0
  98. package/dist/logging/formatter/types.d.mts.map +1 -0
  99. package/dist/logging/provider/index.cjs +165 -0
  100. package/dist/logging/provider/index.d.cts +28 -0
  101. package/dist/logging/provider/index.d.cts.map +1 -0
  102. package/dist/logging/provider/index.d.mts +28 -0
  103. package/dist/logging/provider/index.d.mts.map +1 -0
  104. package/dist/logging/provider/index.mjs +165 -0
  105. package/dist/logging/provider/index.mjs.map +1 -0
  106. package/dist/logging/provider/types.d.cts +23 -0
  107. package/dist/logging/provider/types.d.cts.map +1 -0
  108. package/dist/logging/provider/types.d.mts +23 -0
  109. package/dist/logging/provider/types.d.mts.map +1 -0
  110. package/dist/orm/column.cjs +137 -0
  111. package/dist/orm/column.d.cts +121 -0
  112. package/dist/orm/column.d.cts.map +1 -0
  113. package/dist/orm/column.d.mts +121 -0
  114. package/dist/orm/column.d.mts.map +1 -0
  115. package/dist/orm/column.mjs +132 -0
  116. package/dist/orm/column.mjs.map +1 -0
  117. package/dist/orm/dialect/index.cjs +14 -0
  118. package/dist/orm/dialect/index.mjs +16 -0
  119. package/dist/orm/dialect/index.mjs.map +1 -0
  120. package/dist/orm/dialect/mysql.cjs +31 -0
  121. package/dist/orm/dialect/mysql.mjs +33 -0
  122. package/dist/orm/dialect/mysql.mjs.map +1 -0
  123. package/dist/orm/dialect/postgres.cjs +23 -0
  124. package/dist/orm/dialect/postgres.mjs +25 -0
  125. package/dist/orm/dialect/postgres.mjs.map +1 -0
  126. package/dist/orm/dialect/sqlite.cjs +31 -0
  127. package/dist/orm/dialect/sqlite.mjs +33 -0
  128. package/dist/orm/dialect/sqlite.mjs.map +1 -0
  129. package/dist/orm/dialect/utils.cjs +8 -0
  130. package/dist/orm/dialect/utils.mjs +10 -0
  131. package/dist/orm/dialect/utils.mjs.map +1 -0
  132. package/dist/orm/internal/table-columns.cjs +31 -0
  133. package/dist/orm/internal/table-columns.mjs +32 -0
  134. package/dist/orm/internal/table-columns.mjs.map +1 -0
  135. package/dist/orm/internal/table-lookup.cjs +35 -0
  136. package/dist/orm/internal/table-lookup.mjs +35 -0
  137. package/dist/orm/internal/table-lookup.mjs.map +1 -0
  138. package/dist/orm/internal/table-relations.cjs +28 -0
  139. package/dist/orm/internal/table-relations.mjs +29 -0
  140. package/dist/orm/internal/table-relations.mjs.map +1 -0
  141. package/dist/orm/migration/config.cjs +7 -0
  142. package/dist/orm/migration/config.d.cts +7 -0
  143. package/dist/orm/migration/config.d.cts.map +1 -0
  144. package/dist/orm/migration/config.d.mts +7 -0
  145. package/dist/orm/migration/config.d.mts.map +1 -0
  146. package/dist/orm/migration/config.mjs +8 -0
  147. package/dist/orm/migration/config.mjs.map +1 -0
  148. package/dist/orm/migration/types.d.cts +20 -0
  149. package/dist/orm/migration/types.d.cts.map +1 -0
  150. package/dist/orm/migration/types.d.mts +20 -0
  151. package/dist/orm/migration/types.d.mts.map +1 -0
  152. package/dist/orm/orm.cjs +41 -0
  153. package/dist/orm/orm.d.cts +18 -0
  154. package/dist/orm/orm.d.cts.map +1 -0
  155. package/dist/orm/orm.d.mts +18 -0
  156. package/dist/orm/orm.d.mts.map +1 -0
  157. package/dist/orm/orm.mjs +43 -0
  158. package/dist/orm/orm.mjs.map +1 -0
  159. package/dist/orm/relation.cjs +18 -0
  160. package/dist/orm/relation.d.cts +8 -0
  161. package/dist/orm/relation.d.cts.map +1 -0
  162. package/dist/orm/relation.d.mts +8 -0
  163. package/dist/orm/relation.d.mts.map +1 -0
  164. package/dist/orm/relation.mjs +19 -0
  165. package/dist/orm/relation.mjs.map +1 -0
  166. package/dist/orm/runtime/builders/mutations.cjs +29 -0
  167. package/dist/orm/runtime/builders/mutations.mjs +28 -0
  168. package/dist/orm/runtime/builders/mutations.mjs.map +1 -0
  169. package/dist/orm/runtime/builders/select.cjs +18 -0
  170. package/dist/orm/runtime/builders/select.mjs +19 -0
  171. package/dist/orm/runtime/builders/select.mjs.map +1 -0
  172. package/dist/orm/runtime/client.cjs +90 -0
  173. package/dist/orm/runtime/client.mjs +92 -0
  174. package/dist/orm/runtime/client.mjs.map +1 -0
  175. package/dist/orm/runtime/context.cjs +49 -0
  176. package/dist/orm/runtime/context.mjs +51 -0
  177. package/dist/orm/runtime/context.mjs.map +1 -0
  178. package/dist/orm/runtime/dialect/index.cjs +11 -0
  179. package/dist/orm/runtime/dialect/index.mjs +13 -0
  180. package/dist/orm/runtime/dialect/index.mjs.map +1 -0
  181. package/dist/orm/runtime/dialect/mysql.cjs +95 -0
  182. package/dist/orm/runtime/dialect/mysql.mjs +97 -0
  183. package/dist/orm/runtime/dialect/mysql.mjs.map +1 -0
  184. package/dist/orm/runtime/dialect/postgres.cjs +51 -0
  185. package/dist/orm/runtime/dialect/postgres.mjs +53 -0
  186. package/dist/orm/runtime/dialect/postgres.mjs.map +1 -0
  187. package/dist/orm/runtime/dialect/sqlite.cjs +4 -0
  188. package/dist/orm/runtime/dialect/sqlite.mjs +7 -0
  189. package/dist/orm/runtime/dialect/sqlite.mjs.map +1 -0
  190. package/dist/orm/runtime/errors.cjs +19 -0
  191. package/dist/orm/runtime/errors.mjs +21 -0
  192. package/dist/orm/runtime/errors.mjs.map +1 -0
  193. package/dist/orm/runtime/hydrate/many.cjs +46 -0
  194. package/dist/orm/runtime/hydrate/many.mjs +48 -0
  195. package/dist/orm/runtime/hydrate/many.mjs.map +1 -0
  196. package/dist/orm/runtime/hydrate/one.cjs +38 -0
  197. package/dist/orm/runtime/hydrate/one.mjs +40 -0
  198. package/dist/orm/runtime/hydrate/one.mjs.map +1 -0
  199. package/dist/orm/runtime/hydrate.cjs +49 -0
  200. package/dist/orm/runtime/hydrate.mjs +51 -0
  201. package/dist/orm/runtime/hydrate.mjs.map +1 -0
  202. package/dist/orm/runtime/rows.cjs +30 -0
  203. package/dist/orm/runtime/rows.mjs +31 -0
  204. package/dist/orm/runtime/rows.mjs.map +1 -0
  205. package/dist/orm/runtime/utils.cjs +27 -0
  206. package/dist/orm/runtime/utils.mjs +27 -0
  207. package/dist/orm/runtime/utils.mjs.map +1 -0
  208. package/dist/orm/sql/parse-array.cjs +64 -0
  209. package/dist/orm/sql/parse-array.mjs +66 -0
  210. package/dist/orm/sql/parse-array.mjs.map +1 -0
  211. package/dist/orm/sql/plan/select.cjs +36 -0
  212. package/dist/orm/sql/plan/select.mjs +38 -0
  213. package/dist/orm/sql/plan/select.mjs.map +1 -0
  214. package/dist/orm/sql/plan/where/operators.cjs +95 -0
  215. package/dist/orm/sql/plan/where/operators.mjs +97 -0
  216. package/dist/orm/sql/plan/where/operators.mjs.map +1 -0
  217. package/dist/orm/sql/plan/where.cjs +59 -0
  218. package/dist/orm/sql/plan/where.mjs +61 -0
  219. package/dist/orm/sql/plan/where.mjs.map +1 -0
  220. package/dist/orm/sql/serialize/clauses.cjs +36 -0
  221. package/dist/orm/sql/serialize/clauses.mjs +37 -0
  222. package/dist/orm/sql/serialize/clauses.mjs.map +1 -0
  223. package/dist/orm/sql/serialize/joins.cjs +31 -0
  224. package/dist/orm/sql/serialize/joins.mjs +33 -0
  225. package/dist/orm/sql/serialize/joins.mjs.map +1 -0
  226. package/dist/orm/sql/serialize/values.cjs +30 -0
  227. package/dist/orm/sql/serialize/values.mjs +32 -0
  228. package/dist/orm/sql/serialize/values.mjs.map +1 -0
  229. package/dist/orm/sql/serialize/where/predicate.cjs +73 -0
  230. package/dist/orm/sql/serialize/where/predicate.mjs +75 -0
  231. package/dist/orm/sql/serialize/where/predicate.mjs.map +1 -0
  232. package/dist/orm/sql/serialize/where/tree.cjs +26 -0
  233. package/dist/orm/sql/serialize/where/tree.mjs +28 -0
  234. package/dist/orm/sql/serialize/where/tree.mjs.map +1 -0
  235. package/dist/orm/sql/serialize/where.cjs +10 -0
  236. package/dist/orm/sql/serialize/where.mjs +12 -0
  237. package/dist/orm/sql/serialize/where.mjs.map +1 -0
  238. package/dist/orm/sql/serialize.cjs +24 -0
  239. package/dist/orm/sql/serialize.mjs +25 -0
  240. package/dist/orm/sql/serialize.mjs.map +1 -0
  241. package/dist/orm/table.cjs +12 -0
  242. package/dist/orm/table.d.cts +12 -0
  243. package/dist/orm/table.d.cts.map +1 -0
  244. package/dist/orm/table.d.mts +12 -0
  245. package/dist/orm/table.d.mts.map +1 -0
  246. package/dist/orm/table.mjs +14 -0
  247. package/dist/orm/table.mjs.map +1 -0
  248. package/dist/orm/types.d.cts +183 -0
  249. package/dist/orm/types.d.cts.map +1 -0
  250. package/dist/orm/types.d.mts +183 -0
  251. package/dist/orm/types.d.mts.map +1 -0
  252. package/dist/workflow/types.d.cts +83 -0
  253. package/dist/workflow/types.d.cts.map +1 -0
  254. package/dist/workflow/types.d.mts +83 -0
  255. package/dist/workflow/types.d.mts.map +1 -0
  256. package/package.json +29 -3
  257. package/dist/cron/scanner.mjs.map +0 -1
  258. package/dist/cron/types.d.cts.map +0 -1
  259. package/dist/cron/types.d.mts.map +0 -1
  260. package/dist/lib/cron/index.d.cts.map +0 -1
  261. package/dist/lib/cron/index.d.mts.map +0 -1
  262. package/dist/lib/cron/index.mjs.map +0 -1
@@ -0,0 +1,121 @@
1
+ import { ColumnKind, ColumnMetaBase, KindToType } from "./types.cjs";
2
+
3
+ //#region src/lib/orm/column.d.ts
4
+ declare class ColumnDef<K extends ColumnKind, TMeta extends ColumnMetaBase, TValue = KindToType<K>> {
5
+ readonly kind: K;
6
+ readonly meta: TMeta;
7
+ constructor(kind: K, meta: TMeta);
8
+ primaryKey(): ColumnDef<K, TMeta & {
9
+ isPrimaryKey: true;
10
+ isNotNull: true;
11
+ }, TValue>;
12
+ asArray(): ColumnDef<K, TMeta & {
13
+ isSqlArray: true;
14
+ }, [TValue] extends [unknown[]] ? TValue : TValue[]>;
15
+ notNull(): ColumnDef<K, TMeta & {
16
+ isNotNull: true;
17
+ }, TValue>;
18
+ unique(): ColumnDef<K, TMeta & {
19
+ isUnique: true;
20
+ }, TValue>;
21
+ references(fn: () => ColumnDef<ColumnKind, ColumnMetaBase, unknown>): ColumnDef<K, TMeta & {
22
+ references: () => ColumnDef<ColumnKind, ColumnMetaBase, unknown>;
23
+ }, TValue>;
24
+ onDelete(action: "CASCADE" | "RESTRICT" | "SET NULL"): ColumnDef<K, TMeta & {
25
+ onDeleteAction: "CASCADE" | "RESTRICT" | "SET NULL";
26
+ }, TValue>;
27
+ default(value: TValue): ColumnDef<K, TMeta & {
28
+ hasDefault: true;
29
+ defaultKind: "value";
30
+ }, TValue>;
31
+ defaultFn(fn: () => TValue): ColumnDef<K, TMeta & {
32
+ hasDefault: true;
33
+ defaultKind: "fn";
34
+ }, TValue>;
35
+ }
36
+ declare function uuid(sqlName: string): ColumnDef<"uuid", {
37
+ sqlName: string;
38
+ defaultValue: unknown;
39
+ isSqlArray: boolean;
40
+ isPrimaryKey: boolean;
41
+ isNotNull: boolean;
42
+ isUnique: boolean;
43
+ isEnum: boolean;
44
+ enumValues: string[] | null;
45
+ enumName: string | null;
46
+ hasDefault: boolean;
47
+ defaultKind: "value" | "fn" | null;
48
+ defaultFn: (() => unknown) | null;
49
+ references: (() => ColumnDef<ColumnKind, ColumnMetaBase, unknown>) | null;
50
+ onDeleteAction: "CASCADE" | "RESTRICT" | "SET NULL" | null;
51
+ }, string>;
52
+ declare function string(sqlName: string): ColumnDef<"string", {
53
+ sqlName: string;
54
+ defaultValue: unknown;
55
+ isSqlArray: boolean;
56
+ isPrimaryKey: boolean;
57
+ isNotNull: boolean;
58
+ isUnique: boolean;
59
+ isEnum: boolean;
60
+ enumValues: string[] | null;
61
+ enumName: string | null;
62
+ hasDefault: boolean;
63
+ defaultKind: "value" | "fn" | null;
64
+ defaultFn: (() => unknown) | null;
65
+ references: (() => ColumnDef<ColumnKind, ColumnMetaBase, unknown>) | null;
66
+ onDeleteAction: "CASCADE" | "RESTRICT" | "SET NULL" | null;
67
+ }, string>;
68
+ declare function enumeration<const TValues extends string[]>(sqlName: string, enumName: string, values: TValues): ColumnDef<"enum", ColumnMetaBase, TValues[number]>;
69
+ declare function number(sqlName: string): ColumnDef<"number", {
70
+ sqlName: string;
71
+ defaultValue: unknown;
72
+ isSqlArray: boolean;
73
+ isPrimaryKey: boolean;
74
+ isNotNull: boolean;
75
+ isUnique: boolean;
76
+ isEnum: boolean;
77
+ enumValues: string[] | null;
78
+ enumName: string | null;
79
+ hasDefault: boolean;
80
+ defaultKind: "value" | "fn" | null;
81
+ defaultFn: (() => unknown) | null;
82
+ references: (() => ColumnDef<ColumnKind, ColumnMetaBase, unknown>) | null;
83
+ onDeleteAction: "CASCADE" | "RESTRICT" | "SET NULL" | null;
84
+ }, number>;
85
+ declare function boolean(sqlName: string): ColumnDef<"boolean", {
86
+ sqlName: string;
87
+ defaultValue: unknown;
88
+ isSqlArray: boolean;
89
+ isPrimaryKey: boolean;
90
+ isNotNull: boolean;
91
+ isUnique: boolean;
92
+ isEnum: boolean;
93
+ enumValues: string[] | null;
94
+ enumName: string | null;
95
+ hasDefault: boolean;
96
+ defaultKind: "value" | "fn" | null;
97
+ defaultFn: (() => unknown) | null;
98
+ references: (() => ColumnDef<ColumnKind, ColumnMetaBase, unknown>) | null;
99
+ onDeleteAction: "CASCADE" | "RESTRICT" | "SET NULL" | null;
100
+ }, boolean>;
101
+ declare function date(sqlName: string): ColumnDef<"date", {
102
+ sqlName: string;
103
+ defaultValue: unknown;
104
+ isSqlArray: boolean;
105
+ isPrimaryKey: boolean;
106
+ isNotNull: boolean;
107
+ isUnique: boolean;
108
+ isEnum: boolean;
109
+ enumValues: string[] | null;
110
+ enumName: string | null;
111
+ hasDefault: boolean;
112
+ defaultKind: "value" | "fn" | null;
113
+ defaultFn: (() => unknown) | null;
114
+ references: (() => ColumnDef<ColumnKind, ColumnMetaBase, unknown>) | null;
115
+ onDeleteAction: "CASCADE" | "RESTRICT" | "SET NULL" | null;
116
+ }, Date>;
117
+ declare function json<const T>(sqlName: string): ColumnDef<"json", ColumnMetaBase, T>;
118
+ declare function jsonb<const T>(sqlName: string): ColumnDef<"jsonb", ColumnMetaBase, T>;
119
+ //#endregion
120
+ export { ColumnDef, boolean, date, enumeration, json, jsonb, number, string, uuid };
121
+ //# sourceMappingURL=column.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column.d.cts","names":[],"sources":["../../src/lib/orm/column.ts"],"mappings":";;;cAEa,SAAA,WACD,UAAA,gBACI,cAAA,WACL,UAAA,CAAW,CAAA;EAAA,SAGF,IAAA,EAAM,CAAA;EAAA,SACN,IAAA,EAAM,KAAA;cADN,IAAA,EAAM,CAAA,EACN,IAAA,EAAM,KAAA;EAGjB,UAAA,CAAA,GAAU,SAAA,CAAA,CAAA,EAAA,KAAA;;;;EAYV,OAAA,CAAA,GAAO,SAAA,CAAA,CAAA,EAAA,KAAA;;;EAWP,OAAA,CAAA,GAAO,SAAA,CAAA,CAAA,EAAA,KAAA;;;EAOP,MAAA,CAAA,GAAM,SAAA,CAAA,CAAA,EAAA,KAAA;;;EAON,UAAA,CAAW,EAAA,QAAU,SAAA,CAAU,UAAA,EAAY,cAAA,aAAwB,SAAA,CAAA,CAAA,EAAA,KAAA;sBAIlD,SAAA,CAAU,UAAA,EAAY,cAAA;EAAA;EAMvC,QAAA,CAAS,MAAA,wCAA2C,SAAA,CAAA,CAAA,EAAA,KAAA;;;EAQpD,OAAA,CAAQ,KAAA,EAAO,MAAA,GAAM,SAAA,CAAA,CAAA,EAAA,KAAA;;;;EAcrB,SAAA,CAAU,EAAA,QAAU,MAAA,GAAM,SAAA,CAAA,CAAA,EAAA,KAAA;;;;;iBAmCnB,IAAA,CAAK,OAAA,WAAe,SAAA;;;;;;;;;;;;;;;;iBAIpB,MAAA,CAAO,OAAA,WAAe,SAAA;;;;;;;;;;;;;;;;iBAItB,WAAA,gCAAA,CACd,OAAA,UACA,QAAA,UACA,MAAA,EAAQ,OAAA,GAAO,SAAA,SAAA,cAAA,EAAA,OAAA;AAAA,iBAaD,MAAA,CAAO,OAAA,WAAe,SAAA;;;;;;;;;;;;;;;;iBAItB,OAAA,CAAQ,OAAA,WAAe,SAAA;;;;;;;;;;;;;;;;iBAIvB,IAAA,CAAK,OAAA,WAAe,SAAA;;;;;;;;;;;;;;;;iBAIpB,IAAA,SAAA,CAAc,OAAA,WAAe,SAAA,SAAA,cAAA,EAAA,CAAA;AAAA,iBAO7B,KAAA,SAAA,CAAe,OAAA,WAAe,SAAA,UAAA,cAAA,EAAA,CAAA"}
@@ -0,0 +1,121 @@
1
+ import { ColumnKind, ColumnMetaBase, KindToType } from "./types.mjs";
2
+
3
+ //#region src/lib/orm/column.d.ts
4
+ declare class ColumnDef<K extends ColumnKind, TMeta extends ColumnMetaBase, TValue = KindToType<K>> {
5
+ readonly kind: K;
6
+ readonly meta: TMeta;
7
+ constructor(kind: K, meta: TMeta);
8
+ primaryKey(): ColumnDef<K, TMeta & {
9
+ isPrimaryKey: true;
10
+ isNotNull: true;
11
+ }, TValue>;
12
+ asArray(): ColumnDef<K, TMeta & {
13
+ isSqlArray: true;
14
+ }, [TValue] extends [unknown[]] ? TValue : TValue[]>;
15
+ notNull(): ColumnDef<K, TMeta & {
16
+ isNotNull: true;
17
+ }, TValue>;
18
+ unique(): ColumnDef<K, TMeta & {
19
+ isUnique: true;
20
+ }, TValue>;
21
+ references(fn: () => ColumnDef<ColumnKind, ColumnMetaBase, unknown>): ColumnDef<K, TMeta & {
22
+ references: () => ColumnDef<ColumnKind, ColumnMetaBase, unknown>;
23
+ }, TValue>;
24
+ onDelete(action: "CASCADE" | "RESTRICT" | "SET NULL"): ColumnDef<K, TMeta & {
25
+ onDeleteAction: "CASCADE" | "RESTRICT" | "SET NULL";
26
+ }, TValue>;
27
+ default(value: TValue): ColumnDef<K, TMeta & {
28
+ hasDefault: true;
29
+ defaultKind: "value";
30
+ }, TValue>;
31
+ defaultFn(fn: () => TValue): ColumnDef<K, TMeta & {
32
+ hasDefault: true;
33
+ defaultKind: "fn";
34
+ }, TValue>;
35
+ }
36
+ declare function uuid(sqlName: string): ColumnDef<"uuid", {
37
+ sqlName: string;
38
+ defaultValue: unknown;
39
+ isSqlArray: boolean;
40
+ isPrimaryKey: boolean;
41
+ isNotNull: boolean;
42
+ isUnique: boolean;
43
+ isEnum: boolean;
44
+ enumValues: string[] | null;
45
+ enumName: string | null;
46
+ hasDefault: boolean;
47
+ defaultKind: "value" | "fn" | null;
48
+ defaultFn: (() => unknown) | null;
49
+ references: (() => ColumnDef<ColumnKind, ColumnMetaBase, unknown>) | null;
50
+ onDeleteAction: "CASCADE" | "RESTRICT" | "SET NULL" | null;
51
+ }, string>;
52
+ declare function string(sqlName: string): ColumnDef<"string", {
53
+ sqlName: string;
54
+ defaultValue: unknown;
55
+ isSqlArray: boolean;
56
+ isPrimaryKey: boolean;
57
+ isNotNull: boolean;
58
+ isUnique: boolean;
59
+ isEnum: boolean;
60
+ enumValues: string[] | null;
61
+ enumName: string | null;
62
+ hasDefault: boolean;
63
+ defaultKind: "value" | "fn" | null;
64
+ defaultFn: (() => unknown) | null;
65
+ references: (() => ColumnDef<ColumnKind, ColumnMetaBase, unknown>) | null;
66
+ onDeleteAction: "CASCADE" | "RESTRICT" | "SET NULL" | null;
67
+ }, string>;
68
+ declare function enumeration<const TValues extends string[]>(sqlName: string, enumName: string, values: TValues): ColumnDef<"enum", ColumnMetaBase, TValues[number]>;
69
+ declare function number(sqlName: string): ColumnDef<"number", {
70
+ sqlName: string;
71
+ defaultValue: unknown;
72
+ isSqlArray: boolean;
73
+ isPrimaryKey: boolean;
74
+ isNotNull: boolean;
75
+ isUnique: boolean;
76
+ isEnum: boolean;
77
+ enumValues: string[] | null;
78
+ enumName: string | null;
79
+ hasDefault: boolean;
80
+ defaultKind: "value" | "fn" | null;
81
+ defaultFn: (() => unknown) | null;
82
+ references: (() => ColumnDef<ColumnKind, ColumnMetaBase, unknown>) | null;
83
+ onDeleteAction: "CASCADE" | "RESTRICT" | "SET NULL" | null;
84
+ }, number>;
85
+ declare function boolean(sqlName: string): ColumnDef<"boolean", {
86
+ sqlName: string;
87
+ defaultValue: unknown;
88
+ isSqlArray: boolean;
89
+ isPrimaryKey: boolean;
90
+ isNotNull: boolean;
91
+ isUnique: boolean;
92
+ isEnum: boolean;
93
+ enumValues: string[] | null;
94
+ enumName: string | null;
95
+ hasDefault: boolean;
96
+ defaultKind: "value" | "fn" | null;
97
+ defaultFn: (() => unknown) | null;
98
+ references: (() => ColumnDef<ColumnKind, ColumnMetaBase, unknown>) | null;
99
+ onDeleteAction: "CASCADE" | "RESTRICT" | "SET NULL" | null;
100
+ }, boolean>;
101
+ declare function date(sqlName: string): ColumnDef<"date", {
102
+ sqlName: string;
103
+ defaultValue: unknown;
104
+ isSqlArray: boolean;
105
+ isPrimaryKey: boolean;
106
+ isNotNull: boolean;
107
+ isUnique: boolean;
108
+ isEnum: boolean;
109
+ enumValues: string[] | null;
110
+ enumName: string | null;
111
+ hasDefault: boolean;
112
+ defaultKind: "value" | "fn" | null;
113
+ defaultFn: (() => unknown) | null;
114
+ references: (() => ColumnDef<ColumnKind, ColumnMetaBase, unknown>) | null;
115
+ onDeleteAction: "CASCADE" | "RESTRICT" | "SET NULL" | null;
116
+ }, Date>;
117
+ declare function json<const T>(sqlName: string): ColumnDef<"json", ColumnMetaBase, T>;
118
+ declare function jsonb<const T>(sqlName: string): ColumnDef<"jsonb", ColumnMetaBase, T>;
119
+ //#endregion
120
+ export { ColumnDef, boolean, date, enumeration, json, jsonb, number, string, uuid };
121
+ //# sourceMappingURL=column.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column.d.mts","names":[],"sources":["../../src/lib/orm/column.ts"],"mappings":";;;cAEa,SAAA,WACD,UAAA,gBACI,cAAA,WACL,UAAA,CAAW,CAAA;EAAA,SAGF,IAAA,EAAM,CAAA;EAAA,SACN,IAAA,EAAM,KAAA;cADN,IAAA,EAAM,CAAA,EACN,IAAA,EAAM,KAAA;EAGjB,UAAA,CAAA,GAAU,SAAA,CAAA,CAAA,EAAA,KAAA;;;;EAYV,OAAA,CAAA,GAAO,SAAA,CAAA,CAAA,EAAA,KAAA;;;EAWP,OAAA,CAAA,GAAO,SAAA,CAAA,CAAA,EAAA,KAAA;;;EAOP,MAAA,CAAA,GAAM,SAAA,CAAA,CAAA,EAAA,KAAA;;;EAON,UAAA,CAAW,EAAA,QAAU,SAAA,CAAU,UAAA,EAAY,cAAA,aAAwB,SAAA,CAAA,CAAA,EAAA,KAAA;sBAIlD,SAAA,CAAU,UAAA,EAAY,cAAA;EAAA;EAMvC,QAAA,CAAS,MAAA,wCAA2C,SAAA,CAAA,CAAA,EAAA,KAAA;;;EAQpD,OAAA,CAAQ,KAAA,EAAO,MAAA,GAAM,SAAA,CAAA,CAAA,EAAA,KAAA;;;;EAcrB,SAAA,CAAU,EAAA,QAAU,MAAA,GAAM,SAAA,CAAA,CAAA,EAAA,KAAA;;;;;iBAmCnB,IAAA,CAAK,OAAA,WAAe,SAAA;;;;;;;;;;;;;;;;iBAIpB,MAAA,CAAO,OAAA,WAAe,SAAA;;;;;;;;;;;;;;;;iBAItB,WAAA,gCAAA,CACd,OAAA,UACA,QAAA,UACA,MAAA,EAAQ,OAAA,GAAO,SAAA,SAAA,cAAA,EAAA,OAAA;AAAA,iBAaD,MAAA,CAAO,OAAA,WAAe,SAAA;;;;;;;;;;;;;;;;iBAItB,OAAA,CAAQ,OAAA,WAAe,SAAA;;;;;;;;;;;;;;;;iBAIvB,IAAA,CAAK,OAAA,WAAe,SAAA;;;;;;;;;;;;;;;;iBAIpB,IAAA,SAAA,CAAc,OAAA,WAAe,SAAA,SAAA,cAAA,EAAA,CAAA;AAAA,iBAO7B,KAAA,SAAA,CAAe,OAAA,WAAe,SAAA,UAAA,cAAA,EAAA,CAAA"}
@@ -0,0 +1,132 @@
1
+ //#region src/lib/orm/column.ts
2
+ var ColumnDef = class ColumnDef {
3
+ constructor(kind, meta) {
4
+ this.kind = kind;
5
+ this.meta = meta;
6
+ }
7
+ primaryKey() {
8
+ return new ColumnDef(this.kind, {
9
+ ...this.meta,
10
+ isPrimaryKey: true,
11
+ isNotNull: true
12
+ });
13
+ }
14
+ asArray() {
15
+ return new ColumnDef(this.kind, {
16
+ ...this.meta,
17
+ isSqlArray: true
18
+ });
19
+ }
20
+ notNull() {
21
+ return new ColumnDef(this.kind, {
22
+ ...this.meta,
23
+ isNotNull: true
24
+ });
25
+ }
26
+ unique() {
27
+ return new ColumnDef(this.kind, {
28
+ ...this.meta,
29
+ isUnique: true
30
+ });
31
+ }
32
+ references(fn) {
33
+ return new ColumnDef(this.kind, {
34
+ ...this.meta,
35
+ references: fn
36
+ });
37
+ }
38
+ onDelete(action) {
39
+ return new ColumnDef(this.kind, {
40
+ ...this.meta,
41
+ onDeleteAction: action
42
+ });
43
+ }
44
+ default(value) {
45
+ return new ColumnDef(this.kind, {
46
+ ...this.meta,
47
+ hasDefault: true,
48
+ defaultKind: "value",
49
+ defaultValue: value,
50
+ defaultFn: null
51
+ });
52
+ }
53
+ defaultFn(fn) {
54
+ return new ColumnDef(this.kind, {
55
+ ...this.meta,
56
+ hasDefault: true,
57
+ defaultKind: "fn",
58
+ defaultValue: void 0,
59
+ defaultFn: fn
60
+ });
61
+ }
62
+ };
63
+ const defaultMeta = {
64
+ isSqlArray: false,
65
+ isPrimaryKey: false,
66
+ isNotNull: false,
67
+ isUnique: false,
68
+ isEnum: false,
69
+ enumValues: null,
70
+ enumName: null,
71
+ hasDefault: false,
72
+ defaultKind: null,
73
+ defaultValue: void 0,
74
+ defaultFn: null,
75
+ references: null,
76
+ onDeleteAction: null
77
+ };
78
+ function uuid(sqlName) {
79
+ return new ColumnDef("uuid", {
80
+ ...defaultMeta,
81
+ sqlName
82
+ });
83
+ }
84
+ function string(sqlName) {
85
+ return new ColumnDef("string", {
86
+ ...defaultMeta,
87
+ sqlName
88
+ });
89
+ }
90
+ function enumeration(sqlName, enumName, values) {
91
+ return new ColumnDef("enum", {
92
+ ...defaultMeta,
93
+ isEnum: true,
94
+ enumValues: values,
95
+ enumName,
96
+ sqlName
97
+ });
98
+ }
99
+ function number(sqlName) {
100
+ return new ColumnDef("number", {
101
+ ...defaultMeta,
102
+ sqlName
103
+ });
104
+ }
105
+ function boolean(sqlName) {
106
+ return new ColumnDef("boolean", {
107
+ ...defaultMeta,
108
+ sqlName
109
+ });
110
+ }
111
+ function date(sqlName) {
112
+ return new ColumnDef("date", {
113
+ ...defaultMeta,
114
+ sqlName
115
+ });
116
+ }
117
+ function json(sqlName) {
118
+ return new ColumnDef("json", {
119
+ ...defaultMeta,
120
+ sqlName
121
+ });
122
+ }
123
+ function jsonb(sqlName) {
124
+ return new ColumnDef("jsonb", {
125
+ ...defaultMeta,
126
+ sqlName
127
+ });
128
+ }
129
+ //#endregion
130
+ export { boolean, date, enumeration, json, jsonb, number, string, uuid };
131
+
132
+ //# sourceMappingURL=column.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"column.mjs","names":[],"sources":["../../src/lib/orm/column.ts"],"sourcesContent":["import type { ColumnKind, ColumnMetaBase, KindToType } from \"./types.js\";\n\nexport class ColumnDef<\n K extends ColumnKind,\n TMeta extends ColumnMetaBase,\n TValue = KindToType<K>,\n> {\n public constructor(\n public readonly kind: K,\n public readonly meta: TMeta,\n ) {}\n\n public primaryKey() {\n return new ColumnDef<\n K,\n TMeta & { isPrimaryKey: true; isNotNull: true },\n TValue\n >(this.kind, {\n ...this.meta,\n isPrimaryKey: true as const,\n isNotNull: true as const,\n });\n }\n\n public asArray() {\n return new ColumnDef<\n K,\n TMeta & { isSqlArray: true },\n [TValue] extends [unknown[]] ? TValue : TValue[]\n >(this.kind, {\n ...this.meta,\n isSqlArray: true as const,\n });\n }\n\n public notNull() {\n return new ColumnDef<K, TMeta & { isNotNull: true }, TValue>(this.kind, {\n ...this.meta,\n isNotNull: true as const,\n });\n }\n\n public unique() {\n return new ColumnDef<K, TMeta & { isUnique: true }, TValue>(this.kind, {\n ...this.meta,\n isUnique: true as const,\n });\n }\n\n public references(fn: () => ColumnDef<ColumnKind, ColumnMetaBase, unknown>) {\n return new ColumnDef<\n K,\n TMeta & {\n references: () => ColumnDef<ColumnKind, ColumnMetaBase, unknown>;\n },\n TValue\n >(this.kind, { ...this.meta, references: fn });\n }\n\n public onDelete(action: \"CASCADE\" | \"RESTRICT\" | \"SET NULL\") {\n return new ColumnDef<\n K,\n TMeta & { onDeleteAction: \"CASCADE\" | \"RESTRICT\" | \"SET NULL\" },\n TValue\n >(this.kind, { ...this.meta, onDeleteAction: action });\n }\n\n public default(value: TValue) {\n return new ColumnDef<\n K,\n TMeta & { hasDefault: true; defaultKind: \"value\" },\n TValue\n >(this.kind, {\n ...this.meta,\n hasDefault: true as const,\n defaultKind: \"value\" as const,\n defaultValue: value,\n defaultFn: null,\n });\n }\n\n public defaultFn(fn: () => TValue) {\n return new ColumnDef<\n K,\n TMeta & { hasDefault: true; defaultKind: \"fn\" },\n TValue\n >(this.kind, {\n ...this.meta,\n hasDefault: true as const,\n defaultKind: \"fn\" as const,\n defaultValue: undefined,\n defaultFn: fn,\n });\n }\n}\n\n// Using explicit Omit<ColumnMetaBase, \"sqlName\"> annotation so boolean fields are typed\n// as `boolean` (not literal `false`). This is required for the chaining methods to work:\n// { isPrimaryKey: boolean } & { isPrimaryKey: true } = { isPrimaryKey: true }\n// vs { isPrimaryKey: false } & { isPrimaryKey: true } = { isPrimaryKey: never }\nconst defaultMeta: Omit<ColumnMetaBase, \"sqlName\"> = {\n isSqlArray: false,\n isPrimaryKey: false,\n isNotNull: false,\n isUnique: false,\n isEnum: false,\n enumValues: null,\n enumName: null,\n hasDefault: false,\n defaultKind: null,\n defaultValue: undefined,\n defaultFn: null,\n references: null,\n onDeleteAction: null,\n};\n\nexport function uuid(sqlName: string) {\n return new ColumnDef(\"uuid\", { ...defaultMeta, sqlName });\n}\n\nexport function string(sqlName: string) {\n return new ColumnDef(\"string\", { ...defaultMeta, sqlName });\n}\n\nexport function enumeration<const TValues extends string[]>(\n sqlName: string,\n enumName: string,\n values: TValues,\n) {\n return new ColumnDef<\"enum\", ColumnMetaBase, TValues[number]>(\"enum\", {\n ...defaultMeta,\n isEnum: true,\n enumValues: values,\n enumName,\n sqlName,\n });\n}\n\nexport { enumeration as enumColumn };\n\nexport function number(sqlName: string) {\n return new ColumnDef(\"number\", { ...defaultMeta, sqlName });\n}\n\nexport function boolean(sqlName: string) {\n return new ColumnDef(\"boolean\", { ...defaultMeta, sqlName });\n}\n\nexport function date(sqlName: string) {\n return new ColumnDef(\"date\", { ...defaultMeta, sqlName });\n}\n\nexport function json<const T>(sqlName: string) {\n return new ColumnDef<\"json\", ColumnMetaBase, T>(\"json\", {\n ...defaultMeta,\n sqlName,\n });\n}\n\nexport function jsonb<const T>(sqlName: string) {\n return new ColumnDef<\"jsonb\", ColumnMetaBase, T>(\"jsonb\", {\n ...defaultMeta,\n sqlName,\n });\n}\n"],"mappings":";AAEA,IAAa,YAAb,MAAa,UAIX;CACA,YACE,MACA,MACA;AAFgB,OAAA,OAAA;AACA,OAAA,OAAA;;CAGlB,aAAoB;AAClB,SAAO,IAAI,UAIT,KAAK,MAAM;GACX,GAAG,KAAK;GACR,cAAc;GACd,WAAW;GACZ,CAAC;;CAGJ,UAAiB;AACf,SAAO,IAAI,UAIT,KAAK,MAAM;GACX,GAAG,KAAK;GACR,YAAY;GACb,CAAC;;CAGJ,UAAiB;AACf,SAAO,IAAI,UAAkD,KAAK,MAAM;GACtE,GAAG,KAAK;GACR,WAAW;GACZ,CAAC;;CAGJ,SAAgB;AACd,SAAO,IAAI,UAAiD,KAAK,MAAM;GACrE,GAAG,KAAK;GACR,UAAU;GACX,CAAC;;CAGJ,WAAkB,IAA0D;AAC1E,SAAO,IAAI,UAMT,KAAK,MAAM;GAAE,GAAG,KAAK;GAAM,YAAY;GAAI,CAAC;;CAGhD,SAAgB,QAA6C;AAC3D,SAAO,IAAI,UAIT,KAAK,MAAM;GAAE,GAAG,KAAK;GAAM,gBAAgB;GAAQ,CAAC;;CAGxD,QAAe,OAAe;AAC5B,SAAO,IAAI,UAIT,KAAK,MAAM;GACX,GAAG,KAAK;GACR,YAAY;GACZ,aAAa;GACb,cAAc;GACd,WAAW;GACZ,CAAC;;CAGJ,UAAiB,IAAkB;AACjC,SAAO,IAAI,UAIT,KAAK,MAAM;GACX,GAAG,KAAK;GACR,YAAY;GACZ,aAAa;GACb,cAAc,KAAA;GACd,WAAW;GACZ,CAAC;;;AAQN,MAAM,cAA+C;CACnD,YAAY;CACZ,cAAc;CACd,WAAW;CACX,UAAU;CACV,QAAQ;CACR,YAAY;CACZ,UAAU;CACV,YAAY;CACZ,aAAa;CACb,cAAc,KAAA;CACd,WAAW;CACX,YAAY;CACZ,gBAAgB;CACjB;AAED,SAAgB,KAAK,SAAiB;AACpC,QAAO,IAAI,UAAU,QAAQ;EAAE,GAAG;EAAa;EAAS,CAAC;;AAG3D,SAAgB,OAAO,SAAiB;AACtC,QAAO,IAAI,UAAU,UAAU;EAAE,GAAG;EAAa;EAAS,CAAC;;AAG7D,SAAgB,YACd,SACA,UACA,QACA;AACA,QAAO,IAAI,UAAmD,QAAQ;EACpE,GAAG;EACH,QAAQ;EACR,YAAY;EACZ;EACA;EACD,CAAC;;AAKJ,SAAgB,OAAO,SAAiB;AACtC,QAAO,IAAI,UAAU,UAAU;EAAE,GAAG;EAAa;EAAS,CAAC;;AAG7D,SAAgB,QAAQ,SAAiB;AACvC,QAAO,IAAI,UAAU,WAAW;EAAE,GAAG;EAAa;EAAS,CAAC;;AAG9D,SAAgB,KAAK,SAAiB;AACpC,QAAO,IAAI,UAAU,QAAQ;EAAE,GAAG;EAAa;EAAS,CAAC;;AAG3D,SAAgB,KAAc,SAAiB;AAC7C,QAAO,IAAI,UAAqC,QAAQ;EACtD,GAAG;EACH;EACD,CAAC;;AAGJ,SAAgB,MAAe,SAAiB;AAC9C,QAAO,IAAI,UAAsC,SAAS;EACxD,GAAG;EACH;EACD,CAAC"}
@@ -0,0 +1,14 @@
1
+ const require_mysql = require("./mysql.cjs");
2
+ const require_postgres = require("./postgres.cjs");
3
+ const require_sqlite = require("./sqlite.cjs");
4
+ //#region src/lib/orm/dialect/index.ts
5
+ const dialectAdapters = {
6
+ postgres: require_postgres.postgresDialectAdapter,
7
+ mysql: require_mysql.mysqlDialectAdapter,
8
+ sqlite: require_sqlite.sqliteDialectAdapter
9
+ };
10
+ function getDialectAdapter(dialect) {
11
+ return dialectAdapters[dialect];
12
+ }
13
+ //#endregion
14
+ exports.getDialectAdapter = getDialectAdapter;
@@ -0,0 +1,16 @@
1
+ import { mysqlDialectAdapter } from "./mysql.mjs";
2
+ import { postgresDialectAdapter } from "./postgres.mjs";
3
+ import { sqliteDialectAdapter } from "./sqlite.mjs";
4
+ //#region src/lib/orm/dialect/index.ts
5
+ const dialectAdapters = {
6
+ postgres: postgresDialectAdapter,
7
+ mysql: mysqlDialectAdapter,
8
+ sqlite: sqliteDialectAdapter
9
+ };
10
+ function getDialectAdapter(dialect) {
11
+ return dialectAdapters[dialect];
12
+ }
13
+ //#endregion
14
+ export { getDialectAdapter };
15
+
16
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","names":[],"sources":["../../../src/lib/orm/dialect/index.ts"],"sourcesContent":["import type { Dialect, DialectAdapter } from \"../types.js\";\nimport { mysqlDialectAdapter } from \"./mysql.js\";\nimport { postgresDialectAdapter } from \"./postgres.js\";\nimport { sqliteDialectAdapter } from \"./sqlite.js\";\n\nconst dialectAdapters = {\n postgres: postgresDialectAdapter,\n mysql: mysqlDialectAdapter,\n sqlite: sqliteDialectAdapter,\n} satisfies Record<Dialect, DialectAdapter>;\n\nexport function getDialectAdapter(dialect: Dialect): DialectAdapter {\n return dialectAdapters[dialect];\n}\n"],"mappings":";;;;AAKA,MAAM,kBAAkB;CACtB,UAAU;CACV,OAAO;CACP,QAAQ;CACT;AAED,SAAgB,kBAAkB,SAAkC;AAClE,QAAO,gBAAgB"}
@@ -0,0 +1,31 @@
1
+ //#region src/lib/orm/dialect/mysql.ts
2
+ function escapeLike(s) {
3
+ return s.replaceAll("%", "\\%").replaceAll("_", "\\_");
4
+ }
5
+ const mysqlDialectAdapter = {
6
+ dialect: "mysql",
7
+ likeKeyword: "LIKE",
8
+ quoteIdentifier(identifier) {
9
+ return `\`${identifier.replaceAll("`", "``")}\``;
10
+ },
11
+ serializeValue(kind, value) {
12
+ if (kind === "date") {
13
+ if (value instanceof Date) return value.toISOString();
14
+ return value;
15
+ }
16
+ if (kind === "json" || kind === "jsonb") return JSON.stringify(value);
17
+ if (kind === "boolean") {
18
+ if (value === true) return 1;
19
+ if (value === false) return 0;
20
+ }
21
+ return value;
22
+ },
23
+ renderLikePattern(mode, value) {
24
+ const escaped = escapeLike(value);
25
+ if (mode === "startsWith") return `${escaped}%`;
26
+ if (mode === "endsWith") return `%${escaped}`;
27
+ return `%${escaped}%`;
28
+ }
29
+ };
30
+ //#endregion
31
+ exports.mysqlDialectAdapter = mysqlDialectAdapter;
@@ -0,0 +1,33 @@
1
+ //#region src/lib/orm/dialect/mysql.ts
2
+ function escapeLike(s) {
3
+ return s.replaceAll("%", "\\%").replaceAll("_", "\\_");
4
+ }
5
+ const mysqlDialectAdapter = {
6
+ dialect: "mysql",
7
+ likeKeyword: "LIKE",
8
+ quoteIdentifier(identifier) {
9
+ return `\`${identifier.replaceAll("`", "``")}\``;
10
+ },
11
+ serializeValue(kind, value) {
12
+ if (kind === "date") {
13
+ if (value instanceof Date) return value.toISOString();
14
+ return value;
15
+ }
16
+ if (kind === "json" || kind === "jsonb") return JSON.stringify(value);
17
+ if (kind === "boolean") {
18
+ if (value === true) return 1;
19
+ if (value === false) return 0;
20
+ }
21
+ return value;
22
+ },
23
+ renderLikePattern(mode, value) {
24
+ const escaped = escapeLike(value);
25
+ if (mode === "startsWith") return `${escaped}%`;
26
+ if (mode === "endsWith") return `%${escaped}`;
27
+ return `%${escaped}%`;
28
+ }
29
+ };
30
+ //#endregion
31
+ export { mysqlDialectAdapter };
32
+
33
+ //# sourceMappingURL=mysql.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mysql.mjs","names":[],"sources":["../../../src/lib/orm/dialect/mysql.ts"],"sourcesContent":["import type { DialectAdapter } from \"../types.js\";\n\nfunction escapeLike(s: string) {\n return s.replaceAll(\"%\", \"\\\\%\").replaceAll(\"_\", \"\\\\_\");\n}\n\nexport const mysqlDialectAdapter: DialectAdapter = {\n dialect: \"mysql\",\n likeKeyword: \"LIKE\",\n\n quoteIdentifier(identifier: string) {\n return `\\`${identifier.replaceAll(\"`\", \"``\")}\\``;\n },\n\n serializeValue(kind, value) {\n if (kind === \"date\") {\n if (value instanceof Date) {\n return value.toISOString();\n }\n\n return value;\n }\n\n if (kind === \"json\" || kind === \"jsonb\") {\n return JSON.stringify(value);\n }\n\n if (kind === \"boolean\") {\n if (value === true) return 1;\n if (value === false) return 0;\n }\n\n return value;\n },\n\n renderLikePattern(mode, value) {\n const escaped = escapeLike(value);\n\n if (mode === \"startsWith\") {\n return `${escaped}%`;\n }\n\n if (mode === \"endsWith\") {\n return `%${escaped}`;\n }\n\n return `%${escaped}%`;\n },\n};\n"],"mappings":";AAEA,SAAS,WAAW,GAAW;AAC7B,QAAO,EAAE,WAAW,KAAK,MAAM,CAAC,WAAW,KAAK,MAAM;;AAGxD,MAAa,sBAAsC;CACjD,SAAS;CACT,aAAa;CAEb,gBAAgB,YAAoB;AAClC,SAAO,KAAK,WAAW,WAAW,KAAK,KAAK,CAAC;;CAG/C,eAAe,MAAM,OAAO;AAC1B,MAAI,SAAS,QAAQ;AACnB,OAAI,iBAAiB,KACnB,QAAO,MAAM,aAAa;AAG5B,UAAO;;AAGT,MAAI,SAAS,UAAU,SAAS,QAC9B,QAAO,KAAK,UAAU,MAAM;AAG9B,MAAI,SAAS,WAAW;AACtB,OAAI,UAAU,KAAM,QAAO;AAC3B,OAAI,UAAU,MAAO,QAAO;;AAG9B,SAAO;;CAGT,kBAAkB,MAAM,OAAO;EAC7B,MAAM,UAAU,WAAW,MAAM;AAEjC,MAAI,SAAS,aACX,QAAO,GAAG,QAAQ;AAGpB,MAAI,SAAS,WACX,QAAO,IAAI;AAGb,SAAO,IAAI,QAAQ;;CAEtB"}
@@ -0,0 +1,23 @@
1
+ //#region src/lib/orm/dialect/postgres.ts
2
+ function escapeLike(s) {
3
+ return s.replaceAll("%", "\\%").replaceAll("_", "\\_");
4
+ }
5
+ const postgresDialectAdapter = {
6
+ dialect: "postgres",
7
+ likeKeyword: "ILIKE",
8
+ quoteIdentifier(identifier) {
9
+ return `"${identifier.replaceAll("\"", "\"\"")}"`;
10
+ },
11
+ serializeValue(_kind, value) {
12
+ if (value instanceof Date) return value.toISOString();
13
+ return value;
14
+ },
15
+ renderLikePattern(mode, value) {
16
+ const escaped = escapeLike(value);
17
+ if (mode === "startsWith") return `${escaped}%`;
18
+ if (mode === "endsWith") return `%${escaped}`;
19
+ return `%${escaped}%`;
20
+ }
21
+ };
22
+ //#endregion
23
+ exports.postgresDialectAdapter = postgresDialectAdapter;
@@ -0,0 +1,25 @@
1
+ //#region src/lib/orm/dialect/postgres.ts
2
+ function escapeLike(s) {
3
+ return s.replaceAll("%", "\\%").replaceAll("_", "\\_");
4
+ }
5
+ const postgresDialectAdapter = {
6
+ dialect: "postgres",
7
+ likeKeyword: "ILIKE",
8
+ quoteIdentifier(identifier) {
9
+ return `"${identifier.replaceAll("\"", "\"\"")}"`;
10
+ },
11
+ serializeValue(_kind, value) {
12
+ if (value instanceof Date) return value.toISOString();
13
+ return value;
14
+ },
15
+ renderLikePattern(mode, value) {
16
+ const escaped = escapeLike(value);
17
+ if (mode === "startsWith") return `${escaped}%`;
18
+ if (mode === "endsWith") return `%${escaped}`;
19
+ return `%${escaped}%`;
20
+ }
21
+ };
22
+ //#endregion
23
+ export { postgresDialectAdapter };
24
+
25
+ //# sourceMappingURL=postgres.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postgres.mjs","names":[],"sources":["../../../src/lib/orm/dialect/postgres.ts"],"sourcesContent":["import type { DialectAdapter } from \"../types.js\";\n\nfunction escapeLike(s: string) {\n return s.replaceAll(\"%\", \"\\\\%\").replaceAll(\"_\", \"\\\\_\");\n}\n\nexport const postgresDialectAdapter: DialectAdapter = {\n dialect: \"postgres\",\n likeKeyword: \"ILIKE\",\n\n quoteIdentifier(identifier: string) {\n return `\"${identifier.replaceAll('\"', '\"\"')}\"`;\n },\n\n serializeValue(_kind, value) {\n if (value instanceof Date) {\n return value.toISOString();\n }\n\n return value;\n },\n\n renderLikePattern(mode, value) {\n const escaped = escapeLike(value);\n\n if (mode === \"startsWith\") {\n return `${escaped}%`;\n }\n\n if (mode === \"endsWith\") {\n return `%${escaped}`;\n }\n\n return `%${escaped}%`;\n },\n};\n"],"mappings":";AAEA,SAAS,WAAW,GAAW;AAC7B,QAAO,EAAE,WAAW,KAAK,MAAM,CAAC,WAAW,KAAK,MAAM;;AAGxD,MAAa,yBAAyC;CACpD,SAAS;CACT,aAAa;CAEb,gBAAgB,YAAoB;AAClC,SAAO,IAAI,WAAW,WAAW,MAAK,OAAK,CAAC;;CAG9C,eAAe,OAAO,OAAO;AAC3B,MAAI,iBAAiB,KACnB,QAAO,MAAM,aAAa;AAG5B,SAAO;;CAGT,kBAAkB,MAAM,OAAO;EAC7B,MAAM,UAAU,WAAW,MAAM;AAEjC,MAAI,SAAS,aACX,QAAO,GAAG,QAAQ;AAGpB,MAAI,SAAS,WACX,QAAO,IAAI;AAGb,SAAO,IAAI,QAAQ;;CAEtB"}
@@ -0,0 +1,31 @@
1
+ //#region src/lib/orm/dialect/sqlite.ts
2
+ function escapeLike(s) {
3
+ return s.replaceAll("%", "\\%").replaceAll("_", "\\_");
4
+ }
5
+ const sqliteDialectAdapter = {
6
+ dialect: "sqlite",
7
+ likeKeyword: "LIKE",
8
+ quoteIdentifier(identifier) {
9
+ return `"${identifier.replaceAll("\"", "\"\"")}"`;
10
+ },
11
+ serializeValue(kind, value) {
12
+ if (kind === "date") {
13
+ if (value instanceof Date) return value.toISOString();
14
+ return value;
15
+ }
16
+ if (kind === "json" || kind === "jsonb") return JSON.stringify(value);
17
+ if (kind === "boolean") {
18
+ if (value === true) return 1;
19
+ if (value === false) return 0;
20
+ }
21
+ return value;
22
+ },
23
+ renderLikePattern(mode, value) {
24
+ const escaped = escapeLike(value);
25
+ if (mode === "startsWith") return `${escaped}%`;
26
+ if (mode === "endsWith") return `%${escaped}`;
27
+ return `%${escaped}%`;
28
+ }
29
+ };
30
+ //#endregion
31
+ exports.sqliteDialectAdapter = sqliteDialectAdapter;
@@ -0,0 +1,33 @@
1
+ //#region src/lib/orm/dialect/sqlite.ts
2
+ function escapeLike(s) {
3
+ return s.replaceAll("%", "\\%").replaceAll("_", "\\_");
4
+ }
5
+ const sqliteDialectAdapter = {
6
+ dialect: "sqlite",
7
+ likeKeyword: "LIKE",
8
+ quoteIdentifier(identifier) {
9
+ return `"${identifier.replaceAll("\"", "\"\"")}"`;
10
+ },
11
+ serializeValue(kind, value) {
12
+ if (kind === "date") {
13
+ if (value instanceof Date) return value.toISOString();
14
+ return value;
15
+ }
16
+ if (kind === "json" || kind === "jsonb") return JSON.stringify(value);
17
+ if (kind === "boolean") {
18
+ if (value === true) return 1;
19
+ if (value === false) return 0;
20
+ }
21
+ return value;
22
+ },
23
+ renderLikePattern(mode, value) {
24
+ const escaped = escapeLike(value);
25
+ if (mode === "startsWith") return `${escaped}%`;
26
+ if (mode === "endsWith") return `%${escaped}`;
27
+ return `%${escaped}%`;
28
+ }
29
+ };
30
+ //#endregion
31
+ export { sqliteDialectAdapter };
32
+
33
+ //# sourceMappingURL=sqlite.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sqlite.mjs","names":[],"sources":["../../../src/lib/orm/dialect/sqlite.ts"],"sourcesContent":["import type { DialectAdapter } from \"../types.js\";\n\nfunction escapeLike(s: string) {\n return s.replaceAll(\"%\", \"\\\\%\").replaceAll(\"_\", \"\\\\_\");\n}\n\nexport const sqliteDialectAdapter: DialectAdapter = {\n dialect: \"sqlite\",\n likeKeyword: \"LIKE\",\n\n quoteIdentifier(identifier: string) {\n return `\"${identifier.replaceAll('\"', '\"\"')}\"`;\n },\n\n serializeValue(kind, value) {\n if (kind === \"date\") {\n if (value instanceof Date) {\n return value.toISOString();\n }\n\n return value;\n }\n\n if (kind === \"json\" || kind === \"jsonb\") {\n return JSON.stringify(value);\n }\n\n if (kind === \"boolean\") {\n if (value === true) return 1;\n if (value === false) return 0;\n }\n\n return value;\n },\n\n renderLikePattern(mode, value) {\n const escaped = escapeLike(value);\n\n if (mode === \"startsWith\") {\n return `${escaped}%`;\n }\n\n if (mode === \"endsWith\") {\n return `%${escaped}`;\n }\n\n return `%${escaped}%`;\n },\n};\n"],"mappings":";AAEA,SAAS,WAAW,GAAW;AAC7B,QAAO,EAAE,WAAW,KAAK,MAAM,CAAC,WAAW,KAAK,MAAM;;AAGxD,MAAa,uBAAuC;CAClD,SAAS;CACT,aAAa;CAEb,gBAAgB,YAAoB;AAClC,SAAO,IAAI,WAAW,WAAW,MAAK,OAAK,CAAC;;CAG9C,eAAe,MAAM,OAAO;AAC1B,MAAI,SAAS,QAAQ;AACnB,OAAI,iBAAiB,KACnB,QAAO,MAAM,aAAa;AAG5B,UAAO;;AAGT,MAAI,SAAS,UAAU,SAAS,QAC9B,QAAO,KAAK,UAAU,MAAM;AAG9B,MAAI,SAAS,WAAW;AACtB,OAAI,UAAU,KAAM,QAAO;AAC3B,OAAI,UAAU,MAAO,QAAO;;AAG9B,SAAO;;CAGT,kBAAkB,MAAM,OAAO;EAC7B,MAAM,UAAU,WAAW,MAAM;AAEjC,MAAI,SAAS,aACX,QAAO,GAAG,QAAQ;AAGpB,MAAI,SAAS,WACX,QAAO,IAAI;AAGb,SAAO,IAAI,QAAQ;;CAEtB"}
@@ -0,0 +1,8 @@
1
+ //#region src/lib/orm/dialect/utils.ts
2
+ function inferDialectFromUrl(url) {
3
+ if (url.startsWith("postgres://") || url.startsWith("postgresql://")) return "postgres";
4
+ if (url.startsWith("mysql://") || url.startsWith("mysql2://")) return "mysql";
5
+ return "sqlite";
6
+ }
7
+ //#endregion
8
+ exports.inferDialectFromUrl = inferDialectFromUrl;
@@ -0,0 +1,10 @@
1
+ //#region src/lib/orm/dialect/utils.ts
2
+ function inferDialectFromUrl(url) {
3
+ if (url.startsWith("postgres://") || url.startsWith("postgresql://")) return "postgres";
4
+ if (url.startsWith("mysql://") || url.startsWith("mysql2://")) return "mysql";
5
+ return "sqlite";
6
+ }
7
+ //#endregion
8
+ export { inferDialectFromUrl };
9
+
10
+ //# sourceMappingURL=utils.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.mjs","names":[],"sources":["../../../src/lib/orm/dialect/utils.ts"],"sourcesContent":["import type { Dialect } from \"../types.js\";\n\nexport function inferDialectFromUrl(url: string): Dialect {\n if (url.startsWith(\"postgres://\") || url.startsWith(\"postgresql://\")) {\n return \"postgres\";\n }\n\n if (url.startsWith(\"mysql://\") || url.startsWith(\"mysql2://\")) {\n return \"mysql\";\n }\n\n return \"sqlite\";\n}\n\nexport function isDialect(value: Dialect) {\n return value === \"postgres\" || value === \"mysql\" || value === \"sqlite\";\n}\n"],"mappings":";AAEA,SAAgB,oBAAoB,KAAsB;AACxD,KAAI,IAAI,WAAW,cAAc,IAAI,IAAI,WAAW,gBAAgB,CAClE,QAAO;AAGT,KAAI,IAAI,WAAW,WAAW,IAAI,IAAI,WAAW,YAAY,CAC3D,QAAO;AAGT,QAAO"}