@ketvietlab/ketjs 0.1.2 → 0.1.5

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 (307) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +8 -2
  3. package/dist/agent/capabilities.d.ts +1 -3
  4. package/dist/agent/capabilities.d.ts.map +1 -1
  5. package/dist/agent/capabilities.js +10 -1
  6. package/dist/agent/capabilities.js.map +1 -1
  7. package/dist/agent/permissions.d.ts +43 -1
  8. package/dist/agent/permissions.d.ts.map +1 -1
  9. package/dist/agent/permissions.js +50 -2
  10. package/dist/agent/permissions.js.map +1 -1
  11. package/dist/cli.js +246 -97
  12. package/dist/cli.js.map +1 -1
  13. package/dist/codegen/dts.d.ts.map +1 -1
  14. package/dist/codegen/dts.js +1 -0
  15. package/dist/codegen/dts.js.map +1 -1
  16. package/dist/data/changeset.d.ts +12 -0
  17. package/dist/data/changeset.d.ts.map +1 -1
  18. package/dist/data/changeset.js +73 -17
  19. package/dist/data/changeset.js.map +1 -1
  20. package/dist/data/expr.d.ts +25 -1
  21. package/dist/data/expr.d.ts.map +1 -1
  22. package/dist/data/expr.js +47 -6
  23. package/dist/data/expr.js.map +1 -1
  24. package/dist/data/fleet.d.ts +41 -1
  25. package/dist/data/fleet.d.ts.map +1 -1
  26. package/dist/data/fleet.js +100 -11
  27. package/dist/data/fleet.js.map +1 -1
  28. package/dist/data/migrate.d.ts +20 -0
  29. package/dist/data/migrate.d.ts.map +1 -1
  30. package/dist/data/migrate.js +86 -3
  31. package/dist/data/migrate.js.map +1 -1
  32. package/dist/data/physical.d.ts +5 -0
  33. package/dist/data/physical.d.ts.map +1 -0
  34. package/dist/data/physical.js +196 -0
  35. package/dist/data/physical.js.map +1 -0
  36. package/dist/data/pool.d.ts +2 -1
  37. package/dist/data/pool.d.ts.map +1 -1
  38. package/dist/data/pool.js +159 -31
  39. package/dist/data/pool.js.map +1 -1
  40. package/dist/data/query.d.ts +10 -1
  41. package/dist/data/query.d.ts.map +1 -1
  42. package/dist/data/query.js +136 -27
  43. package/dist/data/query.js.map +1 -1
  44. package/dist/data/sqlite.d.ts.map +1 -1
  45. package/dist/data/sqlite.js +350 -52
  46. package/dist/data/sqlite.js.map +1 -1
  47. package/dist/data/time.d.ts +13 -0
  48. package/dist/data/time.d.ts.map +1 -1
  49. package/dist/data/time.js +61 -17
  50. package/dist/data/time.js.map +1 -1
  51. package/dist/index.d.ts +45 -24
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +34 -18
  54. package/dist/index.js.map +1 -1
  55. package/dist/kernel/audit.d.ts +27 -0
  56. package/dist/kernel/audit.d.ts.map +1 -0
  57. package/dist/kernel/audit.js +67 -0
  58. package/dist/kernel/audit.js.map +1 -0
  59. package/dist/kernel/classification.d.ts +26 -0
  60. package/dist/kernel/classification.d.ts.map +1 -0
  61. package/dist/kernel/classification.js +73 -0
  62. package/dist/kernel/classification.js.map +1 -0
  63. package/dist/kernel/compose.d.ts +6 -2
  64. package/dist/kernel/compose.d.ts.map +1 -1
  65. package/dist/kernel/compose.js +269 -15
  66. package/dist/kernel/compose.js.map +1 -1
  67. package/dist/kernel/define.d.ts +2 -3
  68. package/dist/kernel/define.d.ts.map +1 -1
  69. package/dist/kernel/define.js +22 -12
  70. package/dist/kernel/define.js.map +1 -1
  71. package/dist/kernel/diff.d.ts.map +1 -1
  72. package/dist/kernel/diff.js +28 -4
  73. package/dist/kernel/diff.js.map +1 -1
  74. package/dist/kernel/graph.js +1 -1
  75. package/dist/kernel/graph.js.map +1 -1
  76. package/dist/kernel/i18n.d.ts +10 -1
  77. package/dist/kernel/i18n.d.ts.map +1 -1
  78. package/dist/kernel/i18n.js +34 -1
  79. package/dist/kernel/i18n.js.map +1 -1
  80. package/dist/kernel/layout.d.ts +97 -0
  81. package/dist/kernel/layout.d.ts.map +1 -1
  82. package/dist/kernel/layout.js +294 -12
  83. package/dist/kernel/layout.js.map +1 -1
  84. package/dist/kernel/menu.d.ts +33 -2
  85. package/dist/kernel/menu.d.ts.map +1 -1
  86. package/dist/kernel/menu.js +99 -7
  87. package/dist/kernel/menu.js.map +1 -1
  88. package/dist/kernel/modules.d.ts +3 -3
  89. package/dist/kernel/modules.d.ts.map +1 -1
  90. package/dist/kernel/modules.js +21 -21
  91. package/dist/kernel/modules.js.map +1 -1
  92. package/dist/kernel/permissions.d.ts +10 -0
  93. package/dist/kernel/permissions.d.ts.map +1 -0
  94. package/dist/kernel/permissions.js +365 -0
  95. package/dist/kernel/permissions.js.map +1 -0
  96. package/dist/kernel/schedule.d.ts +23 -0
  97. package/dist/kernel/schedule.d.ts.map +1 -0
  98. package/dist/kernel/schedule.js +83 -0
  99. package/dist/kernel/schedule.js.map +1 -0
  100. package/dist/kernel/types.d.ts.map +1 -1
  101. package/dist/kernel/types.js +5 -4
  102. package/dist/kernel/types.js.map +1 -1
  103. package/dist/kernel/workspace.d.ts +92 -14
  104. package/dist/kernel/workspace.d.ts.map +1 -1
  105. package/dist/kernel/workspace.js +128 -49
  106. package/dist/kernel/workspace.js.map +1 -1
  107. package/dist/pdf/assets/Inter-Bold.ttf +0 -0
  108. package/dist/pdf/assets/Inter-Regular.ttf +0 -0
  109. package/dist/pdf/assets/Inter-SemiBold.ttf +0 -0
  110. package/dist/pdf/assets/LICENSE.txt +92 -0
  111. package/dist/pdf/font.d.ts +10 -0
  112. package/dist/pdf/font.d.ts.map +1 -0
  113. package/dist/pdf/font.js +83 -0
  114. package/dist/pdf/font.js.map +1 -0
  115. package/dist/pdf/image.d.ts +8 -0
  116. package/dist/pdf/image.d.ts.map +1 -0
  117. package/dist/pdf/image.js +94 -0
  118. package/dist/pdf/image.js.map +1 -0
  119. package/dist/pdf/index.d.ts +15 -0
  120. package/dist/pdf/index.d.ts.map +1 -0
  121. package/dist/pdf/index.js +17 -0
  122. package/dist/pdf/index.js.map +1 -0
  123. package/dist/pdf/markup.d.ts +19 -0
  124. package/dist/pdf/markup.d.ts.map +1 -0
  125. package/dist/pdf/markup.js +146 -0
  126. package/dist/pdf/markup.js.map +1 -0
  127. package/dist/pdf/render.d.ts +14 -0
  128. package/dist/pdf/render.d.ts.map +1 -0
  129. package/dist/pdf/render.js +387 -0
  130. package/dist/pdf/render.js.map +1 -0
  131. package/dist/scaffold/index.js +6 -6
  132. package/dist/scaffold/index.js.map +1 -1
  133. package/dist/scaffold/templates/{app.test.ts.tmpl → deployment.test.ts.tmpl} +3 -3
  134. package/dist/scaffold/templates/ket.workspace.ts.tmpl +4 -6
  135. package/dist/scaffold/templates/module.ts.tmpl +1 -4
  136. package/dist/server/assets.d.ts +23 -0
  137. package/dist/server/assets.d.ts.map +1 -0
  138. package/dist/server/assets.js +97 -0
  139. package/dist/server/assets.js.map +1 -0
  140. package/dist/server/boot.d.ts +174 -38
  141. package/dist/server/boot.d.ts.map +1 -1
  142. package/dist/server/boot.js +399 -140
  143. package/dist/server/boot.js.map +1 -1
  144. package/dist/server/config.d.ts +30 -10
  145. package/dist/server/config.d.ts.map +1 -1
  146. package/dist/server/config.js +73 -17
  147. package/dist/server/config.js.map +1 -1
  148. package/dist/server/ctx.d.ts +10 -0
  149. package/dist/server/ctx.d.ts.map +1 -1
  150. package/dist/server/ctx.js +284 -48
  151. package/dist/server/ctx.js.map +1 -1
  152. package/dist/server/development.d.ts +10 -0
  153. package/dist/server/development.d.ts.map +1 -0
  154. package/dist/server/development.js +15 -0
  155. package/dist/server/development.js.map +1 -0
  156. package/dist/server/fn.d.ts +22 -3
  157. package/dist/server/fn.d.ts.map +1 -1
  158. package/dist/server/fn.js +116 -32
  159. package/dist/server/fn.js.map +1 -1
  160. package/dist/server/form.d.ts +33 -0
  161. package/dist/server/form.d.ts.map +1 -0
  162. package/dist/server/form.js +47 -0
  163. package/dist/server/form.js.map +1 -0
  164. package/dist/server/http.d.ts +82 -3
  165. package/dist/server/http.d.ts.map +1 -1
  166. package/dist/server/http.js +373 -37
  167. package/dist/server/http.js.map +1 -1
  168. package/dist/server/idem.d.ts +3 -2
  169. package/dist/server/idem.d.ts.map +1 -1
  170. package/dist/server/idem.js +12 -4
  171. package/dist/server/idem.js.map +1 -1
  172. package/dist/server/jobs.js +1 -1
  173. package/dist/server/jobs.js.map +1 -1
  174. package/dist/server/log/combinators.d.ts +42 -0
  175. package/dist/server/log/combinators.d.ts.map +1 -0
  176. package/dist/server/log/combinators.js +270 -0
  177. package/dist/server/log/combinators.js.map +1 -0
  178. package/dist/server/log/console.d.ts +12 -0
  179. package/dist/server/log/console.d.ts.map +1 -0
  180. package/dist/server/log/console.js +96 -0
  181. package/dist/server/log/console.js.map +1 -0
  182. package/dist/server/log/file.d.ts +11 -0
  183. package/dist/server/log/file.d.ts.map +1 -0
  184. package/dist/server/log/file.js +61 -0
  185. package/dist/server/log/file.js.map +1 -0
  186. package/dist/server/log/index.d.ts +23 -0
  187. package/dist/server/log/index.d.ts.map +1 -0
  188. package/dist/server/log/index.js +45 -0
  189. package/dist/server/log/index.js.map +1 -0
  190. package/dist/server/log/logger.d.ts +53 -0
  191. package/dist/server/log/logger.d.ts.map +1 -0
  192. package/dist/server/log/logger.js +94 -0
  193. package/dist/server/log/logger.js.map +1 -0
  194. package/dist/server/log/memory.d.ts +11 -0
  195. package/dist/server/log/memory.d.ts.map +1 -0
  196. package/dist/server/log/memory.js +25 -0
  197. package/dist/server/log/memory.js.map +1 -0
  198. package/dist/server/log/types.d.ts +112 -0
  199. package/dist/server/log/types.d.ts.map +1 -0
  200. package/dist/server/log/types.js +58 -0
  201. package/dist/server/log/types.js.map +1 -0
  202. package/dist/server/policy.d.ts +29 -0
  203. package/dist/server/policy.d.ts.map +1 -0
  204. package/dist/server/policy.js +29 -0
  205. package/dist/server/policy.js.map +1 -0
  206. package/dist/server/queue.d.ts +1 -1
  207. package/dist/server/queue.d.ts.map +1 -1
  208. package/dist/server/queue.js.map +1 -1
  209. package/dist/server/ratelimit.d.ts +48 -0
  210. package/dist/server/ratelimit.d.ts.map +1 -0
  211. package/dist/server/ratelimit.js +102 -0
  212. package/dist/server/ratelimit.js.map +1 -0
  213. package/dist/server/respond.d.ts.map +1 -1
  214. package/dist/server/respond.js +16 -1
  215. package/dist/server/respond.js.map +1 -1
  216. package/dist/server/runtime.d.ts +18 -3
  217. package/dist/server/runtime.d.ts.map +1 -1
  218. package/dist/server/runtime.js +32 -2
  219. package/dist/server/runtime.js.map +1 -1
  220. package/dist/server/schedule.d.ts +18 -0
  221. package/dist/server/schedule.d.ts.map +1 -0
  222. package/dist/server/schedule.js +70 -0
  223. package/dist/server/schedule.js.map +1 -0
  224. package/dist/server/sequence.d.ts +42 -0
  225. package/dist/server/sequence.d.ts.map +1 -0
  226. package/dist/server/sequence.js +97 -0
  227. package/dist/server/sequence.js.map +1 -0
  228. package/dist/server/session.d.ts +21 -0
  229. package/dist/server/session.d.ts.map +1 -1
  230. package/dist/server/session.js +84 -10
  231. package/dist/server/session.js.map +1 -1
  232. package/dist/server/sessionstore.d.ts +3 -1
  233. package/dist/server/sessionstore.d.ts.map +1 -1
  234. package/dist/server/sessionstore.js +7 -3
  235. package/dist/server/sessionstore.js.map +1 -1
  236. package/dist/server/storage/index.d.ts +1 -1
  237. package/dist/server/storage/index.d.ts.map +1 -1
  238. package/dist/server/storage/index.js +61 -1
  239. package/dist/server/storage/index.js.map +1 -1
  240. package/dist/server/storage/types.d.ts +8 -0
  241. package/dist/server/storage/types.d.ts.map +1 -1
  242. package/dist/server/storage/types.js +58 -0
  243. package/dist/server/storage/types.js.map +1 -1
  244. package/dist/server/stream.d.ts +8 -2
  245. package/dist/server/stream.d.ts.map +1 -1
  246. package/dist/server/stream.js +44 -4
  247. package/dist/server/stream.js.map +1 -1
  248. package/dist/server/streamstore.d.ts +10 -0
  249. package/dist/server/streamstore.d.ts.map +1 -1
  250. package/dist/server/streamstore.js +72 -6
  251. package/dist/server/streamstore.js.map +1 -1
  252. package/dist/server/tenants.d.ts +20 -18
  253. package/dist/server/tenants.d.ts.map +1 -1
  254. package/dist/server/tenants.js +133 -84
  255. package/dist/server/tenants.js.map +1 -1
  256. package/dist/server/transport/types.js +2 -2
  257. package/dist/server/transport/types.js.map +1 -1
  258. package/dist/server/worker.d.ts +19 -3
  259. package/dist/server/worker.d.ts.map +1 -1
  260. package/dist/server/worker.js +168 -21
  261. package/dist/server/worker.js.map +1 -1
  262. package/dist/testing.d.ts +26 -10
  263. package/dist/testing.d.ts.map +1 -1
  264. package/dist/testing.js +41 -14
  265. package/dist/testing.js.map +1 -1
  266. package/dist/theme/contracts.d.ts +14 -1
  267. package/dist/theme/contracts.d.ts.map +1 -1
  268. package/dist/theme/contracts.js +35 -6
  269. package/dist/theme/contracts.js.map +1 -1
  270. package/dist/theme/index.d.ts +1 -1
  271. package/dist/theme/index.d.ts.map +1 -1
  272. package/dist/theme/index.js +1 -1
  273. package/dist/theme/index.js.map +1 -1
  274. package/dist/theme/joint-runtime.d.ts +33 -0
  275. package/dist/theme/joint-runtime.d.ts.map +1 -0
  276. package/dist/theme/joint-runtime.js +121 -0
  277. package/dist/theme/joint-runtime.js.map +1 -0
  278. package/dist/theme/joints.d.ts.map +1 -1
  279. package/dist/theme/joints.js +15 -97
  280. package/dist/theme/joints.js.map +1 -1
  281. package/dist/theme/ktl/compile.d.ts +4 -0
  282. package/dist/theme/ktl/compile.d.ts.map +1 -1
  283. package/dist/theme/ktl/compile.js +54 -1
  284. package/dist/theme/ktl/compile.js.map +1 -1
  285. package/dist/theme/ktl/parser.d.ts +4 -0
  286. package/dist/theme/ktl/parser.d.ts.map +1 -1
  287. package/dist/theme/ktl/parser.js +8 -0
  288. package/dist/theme/ktl/parser.js.map +1 -1
  289. package/dist/theme/render.d.ts +8 -0
  290. package/dist/theme/render.d.ts.map +1 -1
  291. package/dist/theme/render.js +88 -118
  292. package/dist/theme/render.js.map +1 -1
  293. package/dist/theme/tokens.d.ts +18 -0
  294. package/dist/theme/tokens.d.ts.map +1 -1
  295. package/dist/theme/tokens.js +33 -0
  296. package/dist/theme/tokens.js.map +1 -1
  297. package/dist/theme/viewmodel.d.ts +24 -0
  298. package/dist/theme/viewmodel.d.ts.map +1 -1
  299. package/dist/theme/viewmodel.js +75 -6
  300. package/dist/theme/viewmodel.js.map +1 -1
  301. package/dist/types.d.ts +320 -56
  302. package/dist/types.d.ts.map +1 -1
  303. package/package.json +6 -2
  304. package/dist/kernel/apps.d.ts +0 -43
  305. package/dist/kernel/apps.d.ts.map +0 -1
  306. package/dist/kernel/apps.js +0 -234
  307. package/dist/kernel/apps.js.map +0 -1
@@ -2,10 +2,11 @@
2
2
  // mutating one, so a query can be passed through several modules and refined by
3
3
  // each without any of them stepping on the others — Ecto's composability with a
4
4
  // chainable surface.
5
- import { exprTouches, and } from './expr.js';
5
+ import { assertCol, exprTouches, and, makeCol } from './expr.js';
6
6
  import { tableNameFor } from './migrate.js';
7
7
  import { KetError } from '../kernel/errors.js';
8
- import { assertTimezone } from './time.js';
8
+ import { assertGroupInterval, assertTimezone } from './time.js';
9
+ import { DECIMAL_MAX_CHARS, parseDecimal } from './changeset.js';
9
10
  // Column handles are built once from the manifest. No proxies, no magic: a column
10
11
  // that does not exist simply is not there, and the expression helpers reject it.
11
12
  export function table(manifest, model) {
@@ -18,8 +19,8 @@ export function table(manifest, model) {
18
19
  });
19
20
  }
20
21
  const t = Object.create(null);
21
- for (const name of Object.keys(def.fields))
22
- t[name] = Object.freeze({ model, name });
22
+ for (const [name, field] of Object.entries(def.fields))
23
+ t[name] = makeCol(model, name, field.base);
23
24
  t['$model'] = model;
24
25
  t['$columns'] = Object.keys(def.fields);
25
26
  return Object.freeze(t);
@@ -67,7 +68,7 @@ export class Query {
67
68
  });
68
69
  }
69
70
  select(...cols) {
70
- return this.with({ columns: cols.map((c) => c.name) });
71
+ return this.with({ columns: cols.map((c) => assertCol(c).name) });
71
72
  }
72
73
  /** Additional conditions are ANDed, so a query can be narrowed by several callers. */
73
74
  where(...parts) {
@@ -75,6 +76,8 @@ export class Query {
75
76
  return this.with({ condition: this.condition ? and(this.condition, next) : next });
76
77
  }
77
78
  orderBy(...order) {
79
+ for (const item of order)
80
+ assertCol(item.col);
78
81
  return this.with({ order: [...this.order, ...order] });
79
82
  }
80
83
  limit(n) {
@@ -90,11 +93,14 @@ export class Query {
90
93
  if (!groups.length)
91
94
  throw new KetError({ code: 'E_GROUP_EMPTY', message: 'groupBy requires a field' });
92
95
  for (const group of groups) {
96
+ assertCol(group.col);
93
97
  if (group.col.model !== this.model)
94
98
  throw new KetError({
95
99
  code: 'E_GROUP_MODEL',
96
100
  message: `cannot group ${this.model} by ${group.col.model}`,
97
101
  });
102
+ if (group.interval)
103
+ assertGroupInterval(group.interval);
98
104
  if (group.interval && group.timezone)
99
105
  assertTimezone(group.timezone);
100
106
  }
@@ -102,7 +108,9 @@ export class Query {
102
108
  }
103
109
  aggregate(...aggregates) {
104
110
  for (const aggregate of aggregates) {
105
- if (aggregate.fn !== 'count' && aggregate.col.model !== this.model)
111
+ if (aggregate.col)
112
+ assertCol(aggregate.col);
113
+ if (aggregate.col && aggregate.col.model !== this.model)
106
114
  throw new KetError({
107
115
  code: 'E_GROUP_MODEL',
108
116
  message: `cannot aggregate ${aggregate.col.model} on ${this.model}`,
@@ -133,7 +141,7 @@ export class Query {
133
141
  for (const group of this.groups)
134
142
  s.add(group.col.model);
135
143
  for (const aggregate of this.aggregates)
136
- if (aggregate.fn !== 'count')
144
+ if (aggregate.col)
137
145
  s.add(aggregate.col.model);
138
146
  return [...s].sort();
139
147
  }
@@ -148,7 +156,44 @@ export class Query {
148
156
  params.push(v);
149
157
  return ph();
150
158
  };
151
- const colSql = (c) => `${q(tableNameFor(c.model))}.${q(c.name)}`;
159
+ const colSql = (candidate) => {
160
+ const c = assertCol(candidate);
161
+ return `${q(tableNameFor(c.model))}.${q(c.name)}`;
162
+ };
163
+ const isDecimal = (c) => assertCol(c).base === 'decimal';
164
+ const isSqliteDecimal = (c) => dialect === 'sqlite' && isDecimal(c);
165
+ const nulls = (dir) => (dir === 'asc' ? 'LAST' : 'FIRST');
166
+ const orderTerm = (sql, dir) => `${sql} ${dir.toUpperCase()} NULLS ${nulls(dir)}`;
167
+ const bindDecimal = (c, value) => {
168
+ if (!isDecimal(c) || value === null)
169
+ return bind(value);
170
+ const parsed = parseDecimal(value);
171
+ if (!parsed.ok)
172
+ throw new KetError({
173
+ code: parsed.reason === 'size' ? 'E_DECIMAL_TOO_LONG' : 'E_INVALID_DECIMAL',
174
+ message: parsed.reason === 'size'
175
+ ? `${c.model}.${c.name} query value exceeds the ${DECIMAL_MAX_CHARS}-character decimal limit`
176
+ : `${c.model}.${c.name} query value must be a finite number or plain decimal string`,
177
+ });
178
+ return bind(parsed.value);
179
+ };
180
+ const decimalOrderSql = (column, dir) => {
181
+ const sign = `ket_decimal_sign(${column})`;
182
+ const exponent = `ket_decimal_exponent(${column})`;
183
+ const digits = `ket_decimal_digits(${column})`;
184
+ const reverse = dir === 'asc' ? 'desc' : 'asc';
185
+ // SQLite keeps decimal columns as TEXT for exact decoding. These components
186
+ // sort normalized scientific parts instead of coercing the value through
187
+ // REAL, including magnitudes beyond Number.MAX_SAFE_INTEGER.
188
+ return [
189
+ orderTerm(sign, dir),
190
+ orderTerm(`CASE WHEN ${sign} < 0 THEN ${exponent} END`, reverse),
191
+ orderTerm(`CASE WHEN ${sign} < 0 THEN ${digits} END`, reverse),
192
+ orderTerm(`CASE WHEN ${sign} > 0 THEN ${exponent} END`, dir),
193
+ orderTerm(`CASE WHEN ${sign} > 0 THEN ${digits} END`, dir),
194
+ ].join(', ');
195
+ };
196
+ const decimalOrder = (c, dir) => decimalOrderSql(colSql(c), dir);
152
197
  const render = (e) => {
153
198
  if (e.op === 'and' || e.op === 'or') {
154
199
  if (!e.parts.length)
@@ -161,27 +206,34 @@ export class Query {
161
206
  return `${colSql(e.col)} IS ${e.negated ? 'NOT ' : ''}NULL`;
162
207
  if (e.op === 'bucket') {
163
208
  const column = colSql(e.col);
209
+ // Interpolated into DATE_TRUNC below, so it must be a member of the closed
210
+ // set and nothing else — the value reaches here straight from JSON.
211
+ const interval = assertGroupInterval(e.interval);
164
212
  if (dialect === 'postgres') {
165
- const format = e.interval === 'quarter'
213
+ const format = interval === 'quarter'
166
214
  ? 'YYYY-"Q"Q'
167
- : e.interval === 'year'
215
+ : interval === 'year'
168
216
  ? 'YYYY'
169
- : e.interval === 'month'
217
+ : interval === 'month'
170
218
  ? 'YYYY-MM'
171
219
  : 'YYYY-MM-DD';
172
- return `TO_CHAR(DATE_TRUNC('${e.interval}', ${column} AT TIME ZONE ${bind(e.timezone)}), '${format}') = ${bind(e.value)}`;
220
+ return `TO_CHAR(DATE_TRUNC('${interval}', ${column} AT TIME ZONE ${bind(e.timezone)}), '${format}') = ${bind(e.value)}`;
173
221
  }
174
- return `ket_date_bucket(${column}, ${bind(e.interval)}, ${bind(e.timezone)}) = ${bind(e.value)}`;
222
+ return `ket_date_bucket(${column}, ${bind(interval)}, ${bind(e.timezone)}) = ${bind(e.value)}`;
175
223
  }
176
224
  if (e.op === 'like')
177
225
  return `${colSql(e.col)} ${e.insensitive && dialect === 'postgres' ? 'ILIKE' : 'LIKE'} ${bind(e.value)}${e.escape ? ` ESCAPE '\\'` : ''}`;
178
226
  if (e.op === 'in') {
179
227
  if (!e.values.length)
180
228
  return '1 = 0';
181
- return `${colSql(e.col)} IN (${e.values.map(bind).join(', ')})`;
229
+ if (isSqliteDecimal(e.col))
230
+ return `(${e.values.map((value) => `ket_decimal_cmp(${colSql(e.col)}, ${bindDecimal(e.col, value)}) = 0`).join(' OR ')})`;
231
+ return `${colSql(e.col)} IN (${e.values.map((value) => bindDecimal(e.col, value)).join(', ')})`;
182
232
  }
233
+ if (isSqliteDecimal(e.col))
234
+ return `ket_decimal_cmp(${colSql(e.col)}, ${bindDecimal(e.col, e.value)}) ${e.cmp} 0`;
183
235
  const compared = e.numeric && dialect === 'sqlite' ? `CAST(${colSql(e.col)} AS REAL)` : colSql(e.col);
184
- return `${compared} ${e.cmp} ${bind(e.value)}`;
236
+ return `${compared} ${e.cmp} ${bindDecimal(e.col, e.value)}`;
185
237
  };
186
238
  const t = q(tableNameFor(this.model));
187
239
  let text;
@@ -193,19 +245,66 @@ export class Query {
193
245
  const groupSql = this.groups.map((group) => {
194
246
  const column = colSql(group.col);
195
247
  if (!group.interval)
196
- return column;
248
+ return isSqliteDecimal(group.col) ? `ket_decimal_key(${column})` : column;
249
+ // Same boundary as the bucket expression: interpolated into DATE_TRUNC, so
250
+ // it is validated here rather than trusted from the caller.
251
+ const interval = assertGroupInterval(group.interval);
197
252
  const timezone = group.timezone ?? 'UTC';
198
253
  if (dialect === 'postgres') {
199
- if (group.interval === 'quarter')
254
+ if (interval === 'quarter')
200
255
  return `TO_CHAR(DATE_TRUNC('quarter', ${column} AT TIME ZONE ${bind(timezone)}), 'YYYY-"Q"Q')`;
201
- const format = group.interval === 'year' ? 'YYYY' : group.interval === 'month' ? 'YYYY-MM' : 'YYYY-MM-DD';
202
- return `TO_CHAR(DATE_TRUNC('${group.interval}', ${column} AT TIME ZONE ${bind(timezone)}), '${format}')`;
256
+ const format = interval === 'year' ? 'YYYY' : interval === 'month' ? 'YYYY-MM' : 'YYYY-MM-DD';
257
+ return `TO_CHAR(DATE_TRUNC('${interval}', ${column} AT TIME ZONE ${bind(timezone)}), '${format}')`;
203
258
  }
204
- return `ket_date_bucket(${column}, ${bind(group.interval)}, ${bind(timezone)})`;
259
+ return `ket_date_bucket(${column}, ${bind(interval)}, ${bind(timezone)})`;
205
260
  });
206
261
  const aggregateSql = this.aggregates.map((aggregate) => {
207
262
  if (aggregate.fn === 'count')
208
- return `COUNT(*) AS ${q(aggregate.as)}`;
263
+ return `COUNT(${aggregate.col ? colSql(aggregate.col) : '*'}) AS ${q(aggregate.as)}`;
264
+ if (aggregate.fn === 'avg' && isDecimal(aggregate.col)) {
265
+ if (aggregate.rounding !== 'half-away-from-zero' || aggregate.scale === undefined)
266
+ throw new KetError({
267
+ code: 'E_DECIMAL_AVG_ROUNDING_REQUIRED',
268
+ message: 'a decimal average requires an explicit finite scale and rounding rule',
269
+ hint: `add scale and rounding: 'half-away-from-zero', or request sum and count and divide in the domain`,
270
+ });
271
+ if (!Number.isSafeInteger(aggregate.scale) ||
272
+ aggregate.scale < 0 ||
273
+ aggregate.scale > DECIMAL_MAX_CHARS)
274
+ throw new KetError({
275
+ code: 'E_DECIMAL_AVG_SCALE',
276
+ message: `decimal average scale must be an integer from 0 to ${DECIMAL_MAX_CHARS}`,
277
+ });
278
+ const column = colSql(aggregate.col);
279
+ let average;
280
+ if (dialect === 'sqlite')
281
+ average = `ket_decimal_avg(${column}, ${bind(aggregate.scale)})`;
282
+ else {
283
+ // PostgreSQL's numeric AVG divides before ROUND and chooses a finite
284
+ // internal result scale, so high requested scales can no longer
285
+ // recover the discarded digits. Scale the exact SUM first, then use
286
+ // integer quotient/remainder arithmetic for half-away-from-zero.
287
+ const scale = bind(aggregate.scale);
288
+ const factor = `CAST(('1e' || CAST(${scale} AS TEXT)) AS NUMERIC)`;
289
+ const sum = `SUM(${column})`;
290
+ const count = `COUNT(${column})`;
291
+ const shifted = `ABS(${sum}) * ${factor}`;
292
+ const rounded = `DIV(${shifted}, ${count}) + CASE WHEN MOD(${shifted}, ${count}) * 2 >= ${count} THEN 1 ELSE 0 END`;
293
+ // Multiplication by an exact negative-power factor preserves the
294
+ // requested display scale. PostgreSQL numeric division derives a
295
+ // result scale from operand precision and can truncate this back
296
+ // to 20 digits before the client receives it.
297
+ const inverseFactor = `CAST(('1e-' || CAST(${scale} AS TEXT)) AS NUMERIC)`;
298
+ average = `CASE WHEN ${count} = 0 THEN NULL ELSE SIGN(${sum}) * (${rounded}) * ${inverseFactor} END`;
299
+ }
300
+ return `${average} AS ${q(aggregate.as)}`;
301
+ }
302
+ if (isSqliteDecimal(aggregate.col)) {
303
+ const column = colSql(aggregate.col);
304
+ if (aggregate.fn === 'countDistinct')
305
+ return `COUNT(DISTINCT ket_decimal_key(${column})) AS ${q(aggregate.as)}`;
306
+ return `ket_decimal_${aggregate.fn}(${column}) AS ${q(aggregate.as)}`;
307
+ }
209
308
  const fn = aggregate.fn === 'countDistinct' ? 'COUNT' : aggregate.fn.toUpperCase();
210
309
  const body = aggregate.fn === 'countDistinct' ? `DISTINCT ${colSql(aggregate.col)}` : colSql(aggregate.col);
211
310
  return `${fn}(${body}) AS ${q(aggregate.as)}`;
@@ -219,25 +318,35 @@ export class Query {
219
318
  if (this.kind === 'group') {
220
319
  text += ` GROUP BY ${this.groups.map((_, i) => String(i + 1)).join(', ')}`;
221
320
  if (this.groupOrder.length) {
222
- const aliases = new Set(this.aggregates.map((a) => a.as));
321
+ const aliases = new Map(this.aggregates.map((aggregate) => [aggregate.as, aggregate]));
223
322
  text += ` ORDER BY ${this.groupOrder
224
323
  .map((order) => {
324
+ const aggregate = aliases.get(order.by);
225
325
  const by = order.by === 'key'
226
326
  ? q('__group0')
227
327
  : order.by === 'count'
228
328
  ? q('__count')
229
- : aliases.has(order.by)
329
+ : aggregate
230
330
  ? q(order.by)
231
331
  : null;
232
332
  if (!by)
233
333
  throw new KetError({ code: 'E_GROUP_ORDER', message: `unknown group order "${order.by}"` });
234
- return `${by} ${order.dir.toUpperCase()}`;
334
+ const decimal = (order.by === 'key' && !this.groups[0].interval && isSqliteDecimal(this.groups[0].col)) ||
335
+ (aggregate !== undefined &&
336
+ aggregate.fn !== 'count' &&
337
+ aggregate.fn !== 'countDistinct' &&
338
+ isSqliteDecimal(aggregate.col));
339
+ if (decimal)
340
+ return decimalOrderSql(by, order.dir);
341
+ return orderTerm(by, order.dir);
235
342
  })
236
343
  .join(', ')}`;
237
344
  }
238
345
  }
239
346
  else if (this.order.length)
240
- text += ` ORDER BY ${this.order.map((o) => `${colSql(o.col)} ${o.dir.toUpperCase()}`).join(', ')}`;
347
+ text += ` ORDER BY ${this.order
348
+ .map((o) => (isSqliteDecimal(o.col) ? decimalOrder(o.col, o.dir) : orderTerm(colSql(o.col), o.dir)))
349
+ .join(', ')}`;
241
350
  if (this.limitN != null)
242
351
  text += ` LIMIT ${bind(this.limitN)}`;
243
352
  if (this.offsetN != null)
@@ -263,6 +372,6 @@ export class Query {
263
372
  }
264
373
  export const from = (t) => new Query({ kind: 'select', model: t.$model });
265
374
  export const deleteFrom = (t) => new Query({ kind: 'delete', model: t.$model });
266
- export const asc = (col) => ({ col, dir: 'asc' });
267
- export const desc = (col) => ({ col, dir: 'desc' });
375
+ export const asc = (col) => ({ col: assertCol(col), dir: 'asc' });
376
+ export const desc = (col) => ({ col: assertCol(col), dir: 'desc' });
268
377
  //# sourceMappingURL=query.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../../packages/ketjs/src/data/query.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../../../../packages/ketjs/src/data/query.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../../../packages/ketjs/src/data/sqlite.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,aAAa,CAAA;AA0B1D,wBAAgB,aAAa,CAAC,IAAI,SAAa,GAAG,OAAO,CA4ExD"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../../../../packages/ketjs/src/data/sqlite.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAkB,MAAM,aAAa,CAAA;AA+J1D,wBAAgB,aAAa,CAAC,IAAI,SAAa,GAAG,OAAO,CAgPxD"}