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.
- package/README.md +2 -0
- package/build/background-jobs/cron-expression.js +12 -13
- package/build/background-jobs/main.js +6 -6
- package/build/background-jobs/runner-graceful-shutdown.js +2 -3
- package/build/background-jobs/scheduler.js +3 -3
- package/build/background-jobs/worker.js +8 -9
- package/build/beacon/client.js +3 -4
- package/build/database/drivers/sqlite/web-persistence.js +2 -5
- package/build/database/pool/async-tracked-multi-connection.js +65 -15
- package/build/database/pool/base.js +23 -7
- package/build/database/query/index.js +21 -22
- package/build/database/query/model-class-query.js +5 -6
- package/build/database/record/attachments/normalize-input.js +9 -10
- package/build/database/record/attachments/store.js +2 -2
- package/build/database/record/auditing.js +7 -8
- package/build/database/record/index.js +4 -5
- package/build/environment-handlers/node/cli/commands/generate/frontend-models.js +1 -2
- package/build/frontend-model-controller.js +49 -56
- package/build/frontend-models/base.js +17 -19
- package/build/frontend-models/outgoing-event-buffer.js +3 -4
- package/build/frontend-models/query.js +40 -44
- package/build/frontend-models/resource-definition.js +7 -8
- package/build/frontend-models/transport-serialization.js +10 -12
- package/build/frontend-models/websocket-channel.js +12 -13
- package/build/http-server/client/websocket-session.js +4 -5
- package/build/http-server/client-delivery-queue.js +7 -8
- package/build/http-server/websocket-event-log-store.js +4 -6
- package/build/plugins/sqljs-wasm-route.js +3 -5
- package/build/src/background-jobs/cron-expression.d.ts +0 -12
- package/build/src/background-jobs/cron-expression.d.ts.map +1 -1
- package/build/src/background-jobs/cron-expression.js +13 -13
- package/build/src/background-jobs/main.d.ts.map +1 -1
- package/build/src/background-jobs/main.js +7 -7
- package/build/src/background-jobs/runner-graceful-shutdown.d.ts +0 -6
- package/build/src/background-jobs/runner-graceful-shutdown.d.ts.map +1 -1
- package/build/src/background-jobs/runner-graceful-shutdown.js +3 -3
- package/build/src/background-jobs/scheduler.d.ts +0 -3
- package/build/src/background-jobs/scheduler.d.ts.map +1 -1
- package/build/src/background-jobs/scheduler.js +4 -4
- package/build/src/background-jobs/worker.d.ts +0 -8
- package/build/src/background-jobs/worker.d.ts.map +1 -1
- package/build/src/background-jobs/worker.js +9 -9
- package/build/src/beacon/client.d.ts +0 -4
- package/build/src/beacon/client.d.ts.map +1 -1
- package/build/src/beacon/client.js +4 -4
- package/build/src/database/drivers/sqlite/web-persistence.d.ts +0 -14
- package/build/src/database/drivers/sqlite/web-persistence.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/web-persistence.js +3 -3
- package/build/src/database/pool/async-tracked-multi-connection.d.ts +29 -1
- package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
- package/build/src/database/pool/async-tracked-multi-connection.js +57 -15
- package/build/src/database/pool/base.d.ts +53 -4
- package/build/src/database/pool/base.d.ts.map +1 -1
- package/build/src/database/pool/base.js +23 -6
- package/build/src/database/query/index.d.ts +18 -39
- package/build/src/database/query/index.d.ts.map +1 -1
- package/build/src/database/query/index.js +22 -22
- package/build/src/database/query/model-class-query.d.ts +0 -5
- package/build/src/database/query/model-class-query.d.ts.map +1 -1
- package/build/src/database/query/model-class-query.js +6 -6
- package/build/src/database/record/attachments/normalize-input.d.ts +0 -9
- package/build/src/database/record/attachments/normalize-input.d.ts.map +1 -1
- package/build/src/database/record/attachments/normalize-input.js +10 -10
- package/build/src/database/record/attachments/store.d.ts.map +1 -1
- package/build/src/database/record/attachments/store.js +2 -2
- package/build/src/database/record/auditing.d.ts +17 -24
- package/build/src/database/record/auditing.d.ts.map +1 -1
- package/build/src/database/record/auditing.js +8 -8
- package/build/src/database/record/index.d.ts +4 -4
- package/build/src/database/record/index.d.ts.map +1 -1
- package/build/src/database/record/index.js +5 -5
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +0 -39
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +2 -2
- package/build/src/frontend-model-controller.d.ts +1 -1
- package/build/src/frontend-model-controller.d.ts.map +1 -1
- package/build/src/frontend-model-controller.js +50 -50
- package/build/src/frontend-models/base.d.ts.map +1 -1
- package/build/src/frontend-models/base.js +18 -18
- package/build/src/frontend-models/outgoing-event-buffer.d.ts.map +1 -1
- package/build/src/frontend-models/outgoing-event-buffer.js +3 -3
- package/build/src/frontend-models/query.d.ts +56 -37
- package/build/src/frontend-models/query.d.ts.map +1 -1
- package/build/src/frontend-models/query.js +39 -39
- package/build/src/frontend-models/resource-definition.d.ts +0 -7
- package/build/src/frontend-models/resource-definition.d.ts.map +1 -1
- package/build/src/frontend-models/resource-definition.js +8 -8
- package/build/src/frontend-models/transport-serialization.d.ts +0 -10
- package/build/src/frontend-models/transport-serialization.d.ts.map +1 -1
- package/build/src/frontend-models/transport-serialization.js +11 -11
- package/build/src/frontend-models/websocket-channel.d.ts +0 -12
- package/build/src/frontend-models/websocket-channel.d.ts.map +1 -1
- package/build/src/frontend-models/websocket-channel.js +13 -13
- package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-session.js +5 -5
- package/build/src/http-server/client-delivery-queue.d.ts +7 -7
- package/build/src/http-server/client-delivery-queue.d.ts.map +1 -1
- package/build/src/http-server/client-delivery-queue.js +8 -8
- package/build/src/http-server/websocket-event-log-store.d.ts +0 -14
- package/build/src/http-server/websocket-event-log-store.d.ts.map +1 -1
- package/build/src/http-server/websocket-event-log-store.js +5 -5
- package/build/src/plugins/sqljs-wasm-route.d.ts.map +1 -1
- package/build/src/plugins/sqljs-wasm-route.js +4 -4
- package/build/src/sync/conflict-strategy.d.ts +0 -15
- package/build/src/sync/conflict-strategy.d.ts.map +1 -1
- package/build/src/sync/conflict-strategy.js +3 -3
- package/build/src/sync/device-identity.d.ts +0 -45
- package/build/src/sync/device-identity.d.ts.map +1 -1
- package/build/src/sync/device-identity.js +4 -4
- package/build/src/sync/local-mutation-log.d.ts +0 -41
- package/build/src/sync/local-mutation-log.d.ts.map +1 -1
- package/build/src/sync/local-mutation-log.js +9 -9
- package/build/src/sync/offline-grant.d.ts +0 -26
- package/build/src/sync/offline-grant.d.ts.map +1 -1
- package/build/src/sync/offline-grant.js +4 -4
- package/build/src/sync/peer-mutation-bundle.d.ts +0 -14
- package/build/src/sync/peer-mutation-bundle.d.ts.map +1 -1
- package/build/src/sync/peer-mutation-bundle.js +3 -3
- package/build/src/sync/server-change-feed.d.ts.map +1 -1
- package/build/src/sync/server-change-feed.js +33 -33
- package/build/src/sync/sync-api-client.d.ts +0 -9
- package/build/src/sync/sync-api-client.d.ts.map +1 -1
- package/build/src/sync/sync-api-client.js +2 -2
- package/build/src/sync/sync-envelope-replay-service.d.ts +38 -21
- package/build/src/sync/sync-envelope-replay-service.d.ts.map +1 -1
- package/build/src/sync/sync-envelope-replay-service.js +18 -18
- package/build/src/sync/sync-resource-base.d.ts +0 -7
- package/build/src/sync/sync-resource-base.d.ts.map +1 -1
- package/build/src/sync/sync-resource-base.js +2 -2
- package/build/src/sync/sync-scope-store.d.ts +0 -9
- package/build/src/sync/sync-scope-store.d.ts.map +1 -1
- package/build/src/sync/sync-scope-store.js +10 -10
- package/build/src/testing/test-filter-parser.d.ts +0 -10
- package/build/src/testing/test-filter-parser.d.ts.map +1 -1
- package/build/src/testing/test-filter-parser.js +11 -11
- package/build/src/testing/test-runner.d.ts +25 -91
- package/build/src/testing/test-runner.d.ts.map +1 -1
- package/build/src/testing/test-runner.js +113 -98
- package/build/src/testing/test.d.ts +8 -0
- package/build/src/testing/test.d.ts.map +1 -1
- package/build/src/testing/test.js +9 -9
- package/build/src/utils/backtrace-cleaner.d.ts.map +1 -1
- package/build/src/utils/backtrace-cleaner.js +9 -9
- package/build/src/utils/model-scope.d.ts +0 -8
- package/build/src/utils/model-scope.d.ts.map +1 -1
- package/build/src/utils/model-scope.js +3 -3
- package/build/src/utils/ransack.d.ts +52 -19
- package/build/src/utils/ransack.d.ts.map +1 -1
- package/build/src/utils/ransack.js +26 -26
- package/build/sync/conflict-strategy.js +3 -6
- package/build/sync/device-identity.js +4 -9
- package/build/sync/local-mutation-log.js +9 -14
- package/build/sync/offline-grant.js +4 -7
- package/build/sync/peer-mutation-bundle.js +2 -4
- package/build/sync/server-change-feed.js +32 -34
- package/build/sync/sync-api-client.js +1 -2
- package/build/sync/sync-envelope-replay-service.js +17 -19
- package/build/sync/sync-resource-base.js +1 -2
- package/build/sync/sync-scope-store.js +9 -10
- package/build/testing/test-filter-parser.js +10 -11
- package/build/testing/test-runner.js +116 -108
- package/build/testing/test.js +8 -9
- package/build/utils/backtrace-cleaner.js +8 -9
- package/build/utils/model-scope.js +3 -4
- package/build/utils/ransack.js +27 -34
- package/package.json +2 -1
- package/scripts/eslint-rules/typedefs-first.js +67 -0
- package/scripts/prewarm-chromedriver.js +26 -0
- package/src/background-jobs/cron-expression.js +12 -13
- package/src/background-jobs/main.js +6 -6
- package/src/background-jobs/runner-graceful-shutdown.js +2 -3
- package/src/background-jobs/scheduler.js +3 -3
- package/src/background-jobs/worker.js +8 -9
- package/src/beacon/client.js +3 -4
- package/src/database/drivers/sqlite/web-persistence.js +2 -5
- package/src/database/pool/async-tracked-multi-connection.js +65 -15
- package/src/database/pool/base.js +23 -7
- package/src/database/query/index.js +21 -22
- package/src/database/query/model-class-query.js +5 -6
- package/src/database/record/attachments/normalize-input.js +9 -10
- package/src/database/record/attachments/store.js +2 -2
- package/src/database/record/auditing.js +7 -8
- package/src/database/record/index.js +4 -5
- package/src/environment-handlers/node/cli/commands/generate/frontend-models.js +1 -2
- package/src/frontend-model-controller.js +49 -56
- package/src/frontend-models/base.js +17 -19
- package/src/frontend-models/outgoing-event-buffer.js +3 -4
- package/src/frontend-models/query.js +40 -44
- package/src/frontend-models/resource-definition.js +7 -8
- package/src/frontend-models/transport-serialization.js +10 -12
- package/src/frontend-models/websocket-channel.js +12 -13
- package/src/http-server/client/websocket-session.js +4 -5
- package/src/http-server/client-delivery-queue.js +7 -8
- package/src/http-server/websocket-event-log-store.js +4 -6
- package/src/plugins/sqljs-wasm-route.js +3 -5
- package/src/sync/conflict-strategy.js +3 -6
- package/src/sync/device-identity.js +4 -9
- package/src/sync/local-mutation-log.js +9 -14
- package/src/sync/offline-grant.js +4 -7
- package/src/sync/peer-mutation-bundle.js +2 -4
- package/src/sync/server-change-feed.js +32 -34
- package/src/sync/sync-api-client.js +1 -2
- package/src/sync/sync-envelope-replay-service.js +17 -19
- package/src/sync/sync-resource-base.js +1 -2
- package/src/sync/sync-scope-store.js +9 -10
- package/src/testing/test-filter-parser.js +10 -11
- package/src/testing/test-runner.js +116 -108
- package/src/testing/test.js +8 -9
- package/src/utils/backtrace-cleaner.js +8 -9
- package/src/utils/model-scope.js +3 -4
- package/src/utils/ransack.js +27 -34
package/src/testing/test.js
CHANGED
|
@@ -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.
|
package/src/utils/model-scope.js
CHANGED
|
@@ -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.
|
package/src/utils/ransack.js
CHANGED
|
@@ -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.
|