velocious 1.0.563 → 1.0.564

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 (211) hide show
  1. package/README.md +2 -0
  2. package/build/background-jobs/cron-expression.js +12 -13
  3. package/build/background-jobs/main.js +6 -6
  4. package/build/background-jobs/runner-graceful-shutdown.js +2 -3
  5. package/build/background-jobs/scheduler.js +3 -3
  6. package/build/background-jobs/worker.js +8 -9
  7. package/build/beacon/client.js +3 -4
  8. package/build/database/drivers/sqlite/web-persistence.js +2 -5
  9. package/build/database/pool/async-tracked-multi-connection.js +65 -15
  10. package/build/database/pool/base.js +23 -7
  11. package/build/database/query/index.js +21 -22
  12. package/build/database/query/model-class-query.js +5 -6
  13. package/build/database/record/attachments/normalize-input.js +9 -10
  14. package/build/database/record/attachments/store.js +2 -2
  15. package/build/database/record/auditing.js +7 -8
  16. package/build/database/record/index.js +4 -5
  17. package/build/environment-handlers/node/cli/commands/generate/frontend-models.js +1 -2
  18. package/build/frontend-model-controller.js +49 -56
  19. package/build/frontend-models/base.js +17 -19
  20. package/build/frontend-models/outgoing-event-buffer.js +3 -4
  21. package/build/frontend-models/query.js +40 -44
  22. package/build/frontend-models/resource-definition.js +7 -8
  23. package/build/frontend-models/transport-serialization.js +10 -12
  24. package/build/frontend-models/websocket-channel.js +12 -13
  25. package/build/http-server/client/websocket-session.js +4 -5
  26. package/build/http-server/client-delivery-queue.js +7 -8
  27. package/build/http-server/websocket-event-log-store.js +4 -6
  28. package/build/plugins/sqljs-wasm-route.js +3 -5
  29. package/build/src/background-jobs/cron-expression.d.ts +0 -12
  30. package/build/src/background-jobs/cron-expression.d.ts.map +1 -1
  31. package/build/src/background-jobs/cron-expression.js +13 -13
  32. package/build/src/background-jobs/main.d.ts.map +1 -1
  33. package/build/src/background-jobs/main.js +7 -7
  34. package/build/src/background-jobs/runner-graceful-shutdown.d.ts +0 -6
  35. package/build/src/background-jobs/runner-graceful-shutdown.d.ts.map +1 -1
  36. package/build/src/background-jobs/runner-graceful-shutdown.js +3 -3
  37. package/build/src/background-jobs/scheduler.d.ts +0 -3
  38. package/build/src/background-jobs/scheduler.d.ts.map +1 -1
  39. package/build/src/background-jobs/scheduler.js +4 -4
  40. package/build/src/background-jobs/worker.d.ts +0 -8
  41. package/build/src/background-jobs/worker.d.ts.map +1 -1
  42. package/build/src/background-jobs/worker.js +9 -9
  43. package/build/src/beacon/client.d.ts +0 -4
  44. package/build/src/beacon/client.d.ts.map +1 -1
  45. package/build/src/beacon/client.js +4 -4
  46. package/build/src/database/drivers/sqlite/web-persistence.d.ts +0 -14
  47. package/build/src/database/drivers/sqlite/web-persistence.d.ts.map +1 -1
  48. package/build/src/database/drivers/sqlite/web-persistence.js +3 -3
  49. package/build/src/database/pool/async-tracked-multi-connection.d.ts +29 -1
  50. package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
  51. package/build/src/database/pool/async-tracked-multi-connection.js +57 -15
  52. package/build/src/database/pool/base.d.ts +53 -4
  53. package/build/src/database/pool/base.d.ts.map +1 -1
  54. package/build/src/database/pool/base.js +23 -6
  55. package/build/src/database/query/index.d.ts +18 -39
  56. package/build/src/database/query/index.d.ts.map +1 -1
  57. package/build/src/database/query/index.js +22 -22
  58. package/build/src/database/query/model-class-query.d.ts +0 -5
  59. package/build/src/database/query/model-class-query.d.ts.map +1 -1
  60. package/build/src/database/query/model-class-query.js +6 -6
  61. package/build/src/database/record/attachments/normalize-input.d.ts +0 -9
  62. package/build/src/database/record/attachments/normalize-input.d.ts.map +1 -1
  63. package/build/src/database/record/attachments/normalize-input.js +10 -10
  64. package/build/src/database/record/attachments/store.d.ts.map +1 -1
  65. package/build/src/database/record/attachments/store.js +2 -2
  66. package/build/src/database/record/auditing.d.ts +17 -24
  67. package/build/src/database/record/auditing.d.ts.map +1 -1
  68. package/build/src/database/record/auditing.js +8 -8
  69. package/build/src/database/record/index.d.ts +4 -4
  70. package/build/src/database/record/index.d.ts.map +1 -1
  71. package/build/src/database/record/index.js +5 -5
  72. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +0 -39
  73. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
  74. package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +2 -2
  75. package/build/src/frontend-model-controller.d.ts +1 -1
  76. package/build/src/frontend-model-controller.d.ts.map +1 -1
  77. package/build/src/frontend-model-controller.js +50 -50
  78. package/build/src/frontend-models/base.d.ts.map +1 -1
  79. package/build/src/frontend-models/base.js +18 -18
  80. package/build/src/frontend-models/outgoing-event-buffer.d.ts.map +1 -1
  81. package/build/src/frontend-models/outgoing-event-buffer.js +3 -3
  82. package/build/src/frontend-models/query.d.ts +56 -37
  83. package/build/src/frontend-models/query.d.ts.map +1 -1
  84. package/build/src/frontend-models/query.js +39 -39
  85. package/build/src/frontend-models/resource-definition.d.ts +0 -7
  86. package/build/src/frontend-models/resource-definition.d.ts.map +1 -1
  87. package/build/src/frontend-models/resource-definition.js +8 -8
  88. package/build/src/frontend-models/transport-serialization.d.ts +0 -10
  89. package/build/src/frontend-models/transport-serialization.d.ts.map +1 -1
  90. package/build/src/frontend-models/transport-serialization.js +11 -11
  91. package/build/src/frontend-models/websocket-channel.d.ts +0 -12
  92. package/build/src/frontend-models/websocket-channel.d.ts.map +1 -1
  93. package/build/src/frontend-models/websocket-channel.js +13 -13
  94. package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
  95. package/build/src/http-server/client/websocket-session.js +5 -5
  96. package/build/src/http-server/client-delivery-queue.d.ts +7 -7
  97. package/build/src/http-server/client-delivery-queue.d.ts.map +1 -1
  98. package/build/src/http-server/client-delivery-queue.js +8 -8
  99. package/build/src/http-server/websocket-event-log-store.d.ts +0 -14
  100. package/build/src/http-server/websocket-event-log-store.d.ts.map +1 -1
  101. package/build/src/http-server/websocket-event-log-store.js +5 -5
  102. package/build/src/plugins/sqljs-wasm-route.d.ts.map +1 -1
  103. package/build/src/plugins/sqljs-wasm-route.js +4 -4
  104. package/build/src/sync/conflict-strategy.d.ts +0 -15
  105. package/build/src/sync/conflict-strategy.d.ts.map +1 -1
  106. package/build/src/sync/conflict-strategy.js +3 -3
  107. package/build/src/sync/device-identity.d.ts +0 -45
  108. package/build/src/sync/device-identity.d.ts.map +1 -1
  109. package/build/src/sync/device-identity.js +4 -4
  110. package/build/src/sync/local-mutation-log.d.ts +0 -41
  111. package/build/src/sync/local-mutation-log.d.ts.map +1 -1
  112. package/build/src/sync/local-mutation-log.js +9 -9
  113. package/build/src/sync/offline-grant.d.ts +0 -26
  114. package/build/src/sync/offline-grant.d.ts.map +1 -1
  115. package/build/src/sync/offline-grant.js +4 -4
  116. package/build/src/sync/peer-mutation-bundle.d.ts +0 -14
  117. package/build/src/sync/peer-mutation-bundle.d.ts.map +1 -1
  118. package/build/src/sync/peer-mutation-bundle.js +3 -3
  119. package/build/src/sync/server-change-feed.d.ts.map +1 -1
  120. package/build/src/sync/server-change-feed.js +33 -33
  121. package/build/src/sync/sync-api-client.d.ts +0 -9
  122. package/build/src/sync/sync-api-client.d.ts.map +1 -1
  123. package/build/src/sync/sync-api-client.js +2 -2
  124. package/build/src/sync/sync-envelope-replay-service.d.ts +38 -21
  125. package/build/src/sync/sync-envelope-replay-service.d.ts.map +1 -1
  126. package/build/src/sync/sync-envelope-replay-service.js +18 -18
  127. package/build/src/sync/sync-resource-base.d.ts +0 -7
  128. package/build/src/sync/sync-resource-base.d.ts.map +1 -1
  129. package/build/src/sync/sync-resource-base.js +2 -2
  130. package/build/src/sync/sync-scope-store.d.ts +0 -9
  131. package/build/src/sync/sync-scope-store.d.ts.map +1 -1
  132. package/build/src/sync/sync-scope-store.js +10 -10
  133. package/build/src/testing/test-filter-parser.d.ts +0 -10
  134. package/build/src/testing/test-filter-parser.d.ts.map +1 -1
  135. package/build/src/testing/test-filter-parser.js +11 -11
  136. package/build/src/testing/test-runner.d.ts +25 -91
  137. package/build/src/testing/test-runner.d.ts.map +1 -1
  138. package/build/src/testing/test-runner.js +113 -98
  139. package/build/src/testing/test.d.ts +8 -0
  140. package/build/src/testing/test.d.ts.map +1 -1
  141. package/build/src/testing/test.js +9 -9
  142. package/build/src/utils/backtrace-cleaner.d.ts.map +1 -1
  143. package/build/src/utils/backtrace-cleaner.js +9 -9
  144. package/build/src/utils/model-scope.d.ts +0 -8
  145. package/build/src/utils/model-scope.d.ts.map +1 -1
  146. package/build/src/utils/model-scope.js +3 -3
  147. package/build/src/utils/ransack.d.ts +52 -19
  148. package/build/src/utils/ransack.d.ts.map +1 -1
  149. package/build/src/utils/ransack.js +26 -26
  150. package/build/sync/conflict-strategy.js +3 -6
  151. package/build/sync/device-identity.js +4 -9
  152. package/build/sync/local-mutation-log.js +9 -14
  153. package/build/sync/offline-grant.js +4 -7
  154. package/build/sync/peer-mutation-bundle.js +2 -4
  155. package/build/sync/server-change-feed.js +32 -34
  156. package/build/sync/sync-api-client.js +1 -2
  157. package/build/sync/sync-envelope-replay-service.js +17 -19
  158. package/build/sync/sync-resource-base.js +1 -2
  159. package/build/sync/sync-scope-store.js +9 -10
  160. package/build/testing/test-filter-parser.js +10 -11
  161. package/build/testing/test-runner.js +116 -108
  162. package/build/testing/test.js +8 -9
  163. package/build/utils/backtrace-cleaner.js +8 -9
  164. package/build/utils/model-scope.js +3 -4
  165. package/build/utils/ransack.js +27 -34
  166. package/package.json +2 -1
  167. package/scripts/eslint-rules/typedefs-first.js +67 -0
  168. package/scripts/prewarm-chromedriver.js +26 -0
  169. package/src/background-jobs/cron-expression.js +12 -13
  170. package/src/background-jobs/main.js +6 -6
  171. package/src/background-jobs/runner-graceful-shutdown.js +2 -3
  172. package/src/background-jobs/scheduler.js +3 -3
  173. package/src/background-jobs/worker.js +8 -9
  174. package/src/beacon/client.js +3 -4
  175. package/src/database/drivers/sqlite/web-persistence.js +2 -5
  176. package/src/database/pool/async-tracked-multi-connection.js +65 -15
  177. package/src/database/pool/base.js +23 -7
  178. package/src/database/query/index.js +21 -22
  179. package/src/database/query/model-class-query.js +5 -6
  180. package/src/database/record/attachments/normalize-input.js +9 -10
  181. package/src/database/record/attachments/store.js +2 -2
  182. package/src/database/record/auditing.js +7 -8
  183. package/src/database/record/index.js +4 -5
  184. package/src/environment-handlers/node/cli/commands/generate/frontend-models.js +1 -2
  185. package/src/frontend-model-controller.js +49 -56
  186. package/src/frontend-models/base.js +17 -19
  187. package/src/frontend-models/outgoing-event-buffer.js +3 -4
  188. package/src/frontend-models/query.js +40 -44
  189. package/src/frontend-models/resource-definition.js +7 -8
  190. package/src/frontend-models/transport-serialization.js +10 -12
  191. package/src/frontend-models/websocket-channel.js +12 -13
  192. package/src/http-server/client/websocket-session.js +4 -5
  193. package/src/http-server/client-delivery-queue.js +7 -8
  194. package/src/http-server/websocket-event-log-store.js +4 -6
  195. package/src/plugins/sqljs-wasm-route.js +3 -5
  196. package/src/sync/conflict-strategy.js +3 -6
  197. package/src/sync/device-identity.js +4 -9
  198. package/src/sync/local-mutation-log.js +9 -14
  199. package/src/sync/offline-grant.js +4 -7
  200. package/src/sync/peer-mutation-bundle.js +2 -4
  201. package/src/sync/server-change-feed.js +32 -34
  202. package/src/sync/sync-api-client.js +1 -2
  203. package/src/sync/sync-envelope-replay-service.js +17 -19
  204. package/src/sync/sync-resource-base.js +1 -2
  205. package/src/sync/sync-scope-store.js +9 -10
  206. package/src/testing/test-filter-parser.js +10 -11
  207. package/src/testing/test-runner.js +116 -108
  208. package/src/testing/test.js +8 -9
  209. package/src/utils/backtrace-cleaner.js +8 -9
  210. package/src/utils/model-scope.js +3 -4
  211. package/src/utils/ransack.js +27 -34
@@ -7,6 +7,14 @@ import Expect from "./expect.js"
7
7
  import waitForEvent from "./wait-for-event.js"
8
8
  import {arrayContaining, objectContaining} from "./expect-utils.js"
9
9
 
10
+ /**
11
+ * VelociousTestConfig type.
12
+ * @typedef {object} VelociousTestConfig
13
+ * @property {"failure" | "live"} consoleOutput - Console output mode.
14
+ * @property {string[]} excludeTags - Tags excluded by default.
15
+ * @property {number} defaultTimeoutSeconds - Default timeout in seconds.
16
+ * @property {number} failedConsoleOutputMaxLines - Maximum failed console lines to print inline.
17
+ */
10
18
  /**
11
19
  * Tests.
12
20
  * @type {import("./test-runner.js").TestsArgument} */
@@ -202,7 +210,6 @@ function afterAll(callback) {
202
210
  currentTest.afterAlls.push({callback})
203
211
  }
204
212
 
205
-
206
213
  /**
207
214
  * Runs describe.
208
215
  * @param {string} description - Description.
@@ -353,11 +360,3 @@ globalThis.testEvents = testEvents
353
360
  globalThis.configureTests = configureTests
354
361
 
355
362
  export {afterAll, afterEach, beforeAll, beforeEach, configureTests, describe, expect, fit, it, arrayContaining, objectContaining, testConfig, testEvents, tests, waitForEvent}
356
- /**
357
- * VelociousTestConfig type.
358
- * @typedef {object} VelociousTestConfig
359
- * @property {"failure" | "live"} consoleOutput - Console output mode.
360
- * @property {string[]} excludeTags - Tags excluded by default.
361
- * @property {number} defaultTimeoutSeconds - Default timeout in seconds.
362
- * @property {number} failedConsoleOutputMaxLines - Maximum failed console lines to print inline.
363
- */
@@ -1,3 +1,11 @@
1
+ /**
2
+ * ParsedStackFrame type.
3
+ * @typedef {object} ParsedStackFrame
4
+ * @property {string | undefined} methodName - Method/function name from the stack frame.
5
+ * @property {string} sourcePath - File or URL path from the stack frame.
6
+ * @property {number} lineNumber - Source line number.
7
+ * @property {number | undefined} columnNumber - Source column number.
8
+ */
1
9
  // @ts-check
2
10
 
3
11
  /**
@@ -9,15 +17,6 @@ function escapeRegExp(value) {
9
17
  return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
10
18
  }
11
19
 
12
- /**
13
- * ParsedStackFrame type.
14
- * @typedef {object} ParsedStackFrame
15
- * @property {string | undefined} methodName - Method/function name from the stack frame.
16
- * @property {string} sourcePath - File or URL path from the stack frame.
17
- * @property {number} lineNumber - Source line number.
18
- * @property {number | undefined} columnNumber - Source column number.
19
- */
20
-
21
20
  /**
22
21
  * Runs normalize path.
23
22
  * @param {string | undefined} value - Path or file URL.
@@ -1,7 +1,3 @@
1
- // @ts-check
2
-
3
- const MODEL_SCOPE_DESCRIPTOR_MARKER = "velociousModelScopeDescriptor"
4
-
5
1
  /**
6
2
  * ModelScopeDescriptor type.
7
3
  * @typedef {object} ModelScopeDescriptor
@@ -10,6 +6,9 @@ const MODEL_SCOPE_DESCRIPTOR_MARKER = "velociousModelScopeDescriptor"
10
6
  * @property {typeof import("../database/record/index.js").default | import("../frontend-models/base.js").FrontendModelClass} modelClass - Owning model class.
11
7
  * @property {Array<?>} scopeArgs - Scope arguments.
12
8
  */
9
+ // @ts-check
10
+
11
+ const MODEL_SCOPE_DESCRIPTOR_MARKER = "velociousModelScopeDescriptor"
13
12
 
14
13
  /**
15
14
  * Runs the defineModelScope helper.
@@ -4,50 +4,24 @@ import * as inflection from "inflection"
4
4
  import {isPlainObject} from "is-plain-object"
5
5
  import {resolveFrontendModelClass} from "../frontend-models/model-registry.js"
6
6
 
7
- /** Error raised when a Ransack descriptor is malformed. */
8
- export class RansackQueryError extends Error {
9
- /**
10
- * Creates a Ransack query error.
11
- * @param {string} message - Error message.
12
- */
13
- constructor(message) {
14
- super(message)
15
-
16
- this.name = "RansackQueryError"
17
- }
18
- }
19
-
20
- /**
21
- * Builds a Ransack query error.
22
- * @param {string} message - Error message.
23
- * @returns {RansackQueryError} - Ransack query error.
24
- */
25
- function ransackQueryError(message) {
26
- return new RansackQueryError(message)
27
- }
28
-
29
7
  /**
30
8
  * RansackPredicate type.
31
9
  * @typedef {"cont" | "end" | "eq" | "gt" | "gteq" | "in" | "lt" | "lteq" | "not_eq" | "not_in" | "null" | "start"} RansackPredicate
32
10
  */
33
-
34
11
  /**
35
12
  * RansackCombinator type.
36
13
  * @typedef {"and" | "or"} RansackCombinator
37
14
  */
38
-
39
15
  /**
40
16
  * RansackModelClass type.
41
17
  * @typedef {typeof import("../database/record/index.js").default | import("../frontend-models/base.js").FrontendModelClass} RansackModelClass
42
18
  */
43
-
44
19
  /**
45
20
  * RansackAttribute type.
46
21
  * @typedef {object} RansackAttribute
47
22
  * @property {string} attributeName - Resolved attribute name.
48
23
  * @property {string[]} path - Resolved relationship path.
49
24
  */
50
-
51
25
  /**
52
26
  * RansackCondition type.
53
27
  * @typedef {object} RansackCondition
@@ -56,7 +30,6 @@ function ransackQueryError(message) {
56
30
  * @property {RansackPredicate} predicate - Parsed Ransack predicate.
57
31
  * @property {?} value - Normalized value.
58
32
  */
59
-
60
33
  /**
61
34
  * RansackGroup type.
62
35
  * @typedef {object} RansackGroup
@@ -64,6 +37,33 @@ function ransackQueryError(message) {
64
37
  * @property {RansackCondition[]} conditions - Conditions in this group.
65
38
  * @property {RansackGroup[]} groupings - Nested groups.
66
39
  */
40
+ /**
41
+ * RansackSort type.
42
+ * @typedef {object} RansackSort
43
+ * @property {string} attribute - Resolved attribute name.
44
+ * @property {"asc" | "desc"} direction - Sort direction.
45
+ */
46
+ /** Error raised when a Ransack descriptor is malformed. */
47
+ export class RansackQueryError extends Error {
48
+ /**
49
+ * Creates a Ransack query error.
50
+ * @param {string} message - Error message.
51
+ */
52
+ constructor(message) {
53
+ super(message)
54
+
55
+ this.name = "RansackQueryError"
56
+ }
57
+ }
58
+
59
+ /**
60
+ * Builds a Ransack query error.
61
+ * @param {string} message - Error message.
62
+ * @returns {RansackQueryError} - Ransack query error.
63
+ */
64
+ function ransackQueryError(message) {
65
+ return new RansackQueryError(message)
66
+ }
67
67
 
68
68
  const supportedPredicates = [
69
69
  "not_in",
@@ -803,13 +803,6 @@ function normalizeRansackArray(value) {
803
803
  return [value]
804
804
  }
805
805
 
806
- /**
807
- * RansackSort type.
808
- * @typedef {object} RansackSort
809
- * @property {string} attribute - Resolved attribute name.
810
- * @property {"asc" | "desc"} direction - Sort direction.
811
- */
812
-
813
806
  /**
814
807
  * Parses a ransack `s` sort string against model attributes.
815
808
  * @param {RansackModelClass} modelClass - Model class for attribute lookup.