velocious 1.0.577 → 1.0.579
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 +12 -6
- package/build/application.js +3 -3
- package/build/authorization/ability.js +6 -6
- package/build/authorization/base-resource.js +1 -1
- package/build/background-jobs/client.js +2 -2
- package/build/background-jobs/forked-runner-child.js +4 -4
- package/build/background-jobs/job-runner.js +2 -2
- package/build/background-jobs/job.js +6 -6
- package/build/background-jobs/json-socket.js +1 -1
- package/build/background-jobs/main.js +13 -13
- package/build/background-jobs/normalize-error.js +2 -2
- package/build/background-jobs/pooled-runner-child.js +3 -3
- package/build/background-jobs/scheduler.js +1 -1
- package/build/background-jobs/status-reporter.js +2 -2
- package/build/background-jobs/store.js +23 -23
- package/build/background-jobs/types.js +6 -6
- package/build/background-jobs/web/controller.js +6 -6
- package/build/background-jobs/web/counts-channel.js +1 -1
- package/build/background-jobs/worker.js +8 -8
- package/build/beacon/client.js +3 -3
- package/build/beacon/in-process-client.js +3 -3
- package/build/beacon/types.js +1 -1
- package/build/cli/base-command.js +1 -1
- package/build/cli/commands/console.js +1 -1
- package/build/cli/commands/db/schema/dump.js +1 -1
- package/build/cli/commands/db/schema/load.js +1 -1
- package/build/cli/commands/db/seed.js +1 -1
- package/build/cli/commands/generate/frontend-models.js +1 -1
- package/build/cli/commands/lint/relationships.js +1 -1
- package/build/cli/commands/run-script.js +1 -1
- package/build/cli/commands/runner.js +1 -1
- package/build/cli/index.js +2 -2
- package/build/cli/tenant-database-command-helper.js +2 -2
- package/build/configuration-types.js +48 -47
- package/build/configuration.js +150 -65
- package/build/controller.js +11 -8
- package/build/current.js +2 -2
- package/build/database/annotations-async-hooks.js +3 -3
- package/build/database/annotations.js +1 -1
- package/build/database/drivers/base-column.js +1 -1
- package/build/database/drivers/base-foreign-key.js +1 -1
- package/build/database/drivers/base-table.js +1 -1
- package/build/database/drivers/base.js +18 -18
- package/build/database/drivers/mssql/column.js +1 -1
- package/build/database/drivers/mssql/index.js +2 -2
- package/build/database/drivers/mssql/options.js +1 -1
- package/build/database/drivers/mssql/structure-sql.js +1 -1
- package/build/database/drivers/mssql/table.js +1 -1
- package/build/database/drivers/mysql/column.js +1 -1
- package/build/database/drivers/mysql/index.js +4 -4
- package/build/database/drivers/mysql/options.js +1 -1
- package/build/database/drivers/mysql/query.js +7 -7
- package/build/database/drivers/mysql/structure-sql.js +71 -10
- package/build/database/drivers/pgsql/column.js +1 -1
- package/build/database/drivers/pgsql/index.js +6 -6
- package/build/database/drivers/pgsql/structure-sql.js +1 -1
- package/build/database/drivers/sqlite/base.js +7 -7
- package/build/database/drivers/sqlite/column.js +1 -1
- package/build/database/drivers/sqlite/connection-sql-js.js +1 -1
- package/build/database/drivers/sqlite/foreign-key.js +1 -1
- package/build/database/drivers/sqlite/index.js +1 -1
- package/build/database/drivers/sqlite/index.native.js +2 -2
- package/build/database/drivers/sqlite/index.web.js +2 -2
- package/build/database/drivers/sqlite/query.js +2 -2
- package/build/database/drivers/sqlite/query.native.js +2 -2
- package/build/database/drivers/sqlite/query.web.js +2 -2
- package/build/database/drivers/sqlite/table-rebuilder.js +1 -1
- package/build/database/migration/index.js +2 -2
- package/build/database/migrator/types.js +2 -2
- package/build/database/operation.js +59 -6
- package/build/database/pool/async-tracked-multi-connection.js +75 -24
- package/build/database/pool/base-methods-forward.js +2 -2
- package/build/database/pool/base.js +48 -17
- package/build/database/pool/single-multi-use.js +501 -103
- package/build/database/query/delete-base.js +1 -1
- package/build/database/query/index.js +3 -3
- package/build/database/query/insert-base.js +4 -4
- package/build/database/query/model-class-query.js +39 -39
- package/build/database/query/preloader/belongs-to.js +2 -2
- package/build/database/query/preloader/ensure-model-class-initialized.js +3 -2
- package/build/database/query/preloader/has-many.js +3 -3
- package/build/database/query/preloader/has-one.js +1 -1
- package/build/database/query/preloader.js +9 -2
- package/build/database/query/query-data.js +7 -7
- package/build/database/query/update-base.js +3 -3
- package/build/database/query/upsert-base.js +2 -2
- package/build/database/query/where-model-class-hash.js +13 -13
- package/build/database/query/with-count.js +12 -12
- package/build/database/query-parser/options.js +2 -2
- package/build/database/query-parser/select-parser.js +1 -1
- package/build/database/record/acts-as-list.js +2 -2
- package/build/database/record/attachments/handle.js +6 -6
- package/build/database/record/attachments/normalize-input.js +11 -11
- package/build/database/record/attachments/storage-drivers/filesystem.js +1 -1
- package/build/database/record/attachments/storage-drivers/native.js +5 -5
- package/build/database/record/attachments/storage-drivers/s3.js +10 -10
- package/build/database/record/attachments/store.js +24 -20
- package/build/database/record/auditing.js +123 -29
- package/build/database/record/counter-cache-magnitude.js +11 -11
- package/build/database/record/index.js +227 -174
- package/build/database/record/instance-relationships/base.js +4 -4
- package/build/database/record/instance-relationships/belongs-to.js +1 -1
- package/build/database/record/instance-relationships/has-many.js +3 -3
- package/build/database/record/instance-relationships/has-one.js +1 -1
- package/build/database/record/record-not-found-error.js +1 -0
- package/build/database/record/relationships/base.js +22 -0
- package/build/database/record/state-machine.js +6 -6
- package/build/database/record/validators/base.js +1 -1
- package/build/database/structure-sql-loader.js +3 -3
- package/build/database/table-data/table-column.js +3 -3
- package/build/database/use-live-query.js +3 -3
- package/build/environment-handlers/base.js +56 -37
- package/build/environment-handlers/browser.js +1 -1
- package/build/environment-handlers/node/cli/commands/console.js +4 -4
- package/build/environment-handlers/node/cli/commands/db/seed.js +2 -2
- package/build/environment-handlers/node/cli/commands/generate/base-models.js +1 -1
- package/build/environment-handlers/node/cli/commands/run-script.js +2 -2
- package/build/environment-handlers/node/cli/commands/runner.js +2 -2
- package/build/environment-handlers/node/cli/commands/server.js +1 -1
- package/build/environment-handlers/node.js +36 -36
- package/build/error-logger.js +2 -2
- package/build/error-reporting/request-details.js +32 -32
- package/build/frontend-model-controller.js +215 -213
- package/build/frontend-model-resource/base-resource.js +44 -44
- package/build/frontend-model-resource/velocious-attachment-resource.js +1 -1
- package/build/frontend-models/base.js +146 -142
- package/build/frontend-models/clear-pending-debounced-callback.js +2 -2
- package/build/frontend-models/model-registry.js +4 -4
- package/build/frontend-models/outgoing-event-buffer.js +1 -1
- package/build/frontend-models/preloader.js +1 -1
- package/build/frontend-models/query.js +60 -60
- package/build/frontend-models/resource-definition.js +9 -9
- package/build/frontend-models/transport-serialization.js +27 -27
- package/build/frontend-models/websocket-channel.js +4 -4
- package/build/frontend-models/websocket-publishers.js +1 -1
- package/build/http-client/request.js +1 -1
- package/build/http-client/response.js +1 -1
- package/build/http-server/client/index.js +4 -4
- package/build/http-server/client/params-to-object.js +16 -16
- package/build/http-server/client/request-buffer/index.js +5 -2
- package/build/http-server/client/request-parser.js +2 -2
- package/build/http-server/client/request-runner.js +2 -2
- package/build/http-server/client/request.js +2 -2
- package/build/http-server/client/websocket-request.js +6 -6
- package/build/http-server/client/websocket-session.js +28 -28
- package/build/http-server/cookie.js +2 -2
- package/build/http-server/development-reloader.js +1 -1
- package/build/http-server/index.js +5 -5
- package/build/http-server/remote-address.js +1 -1
- package/build/http-server/server-lock.js +4 -4
- package/build/http-server/websocket-channel-subscribers.js +4 -4
- package/build/http-server/websocket-channel.js +1 -1
- package/build/http-server/websocket-connection.js +3 -3
- package/build/http-server/websocket-event-log-store.js +9 -9
- package/build/http-server/websocket-events-host.js +7 -7
- package/build/http-server/websocket-events.js +4 -4
- package/build/http-server/worker-handler/channel-subscriber-dispatch.js +1 -1
- package/build/http-server/worker-handler/in-process.js +5 -5
- package/build/http-server/worker-handler/index.js +10 -10
- package/build/http-server/worker-handler/worker-thread.js +8 -8
- package/build/index.d.ts.map +1 -1
- package/build/logger/base-logger.js +1 -1
- package/build/logger.js +12 -12
- package/build/mailer/backends/smtp.js +3 -3
- package/build/mailer/base.js +14 -14
- package/build/mailer/delivery.js +3 -3
- package/build/mailer/index.js +1 -1
- package/build/mailer.js +1 -1
- package/build/plugins/sqljs-wasm-route-controller.js +1 -1
- package/build/record-payload-values.js +3 -3
- package/build/routes/base-route.js +5 -5
- package/build/routes/basic-route.js +4 -4
- package/build/routes/get-route.js +2 -2
- package/build/routes/hooks/frontend-model-command-route-hook.js +1 -1
- package/build/routes/index.js +3 -3
- package/build/routes/namespace-route.js +1 -1
- package/build/routes/plugin-routes.js +1 -1
- package/build/routes/post-route.js +2 -2
- package/build/routes/resolver.js +5 -5
- package/build/routes/resource-route.js +1 -1
- package/build/src/application.d.ts +26 -29
- package/build/src/application.d.ts.map +1 -1
- package/build/src/application.js +4 -4
- package/build/src/authorization/ability.d.ts +47 -53
- package/build/src/authorization/ability.d.ts.map +1 -1
- package/build/src/authorization/ability.js +7 -7
- package/build/src/authorization/base-resource.d.ts +13 -13
- package/build/src/authorization/base-resource.d.ts.map +1 -1
- package/build/src/authorization/base-resource.js +2 -2
- package/build/src/background-jobs/client.d.ts +9 -9
- package/build/src/background-jobs/client.d.ts.map +1 -1
- package/build/src/background-jobs/client.js +3 -3
- package/build/src/background-jobs/cron-expression.d.ts +25 -16
- package/build/src/background-jobs/cron-expression.d.ts.map +1 -1
- package/build/src/background-jobs/forked-runner-child.js +5 -5
- package/build/src/background-jobs/job-record.d.ts +4 -3
- package/build/src/background-jobs/job-record.d.ts.map +1 -1
- package/build/src/background-jobs/job-registry.d.ts +6 -6
- package/build/src/background-jobs/job-registry.d.ts.map +1 -1
- package/build/src/background-jobs/job-runner.d.ts +9 -9
- package/build/src/background-jobs/job-runner.d.ts.map +1 -1
- package/build/src/background-jobs/job-runner.js +3 -3
- package/build/src/background-jobs/job.d.ts +14 -14
- package/build/src/background-jobs/job.d.ts.map +1 -1
- package/build/src/background-jobs/job.js +7 -7
- package/build/src/background-jobs/json-socket.d.ts +9 -10
- package/build/src/background-jobs/json-socket.d.ts.map +1 -1
- package/build/src/background-jobs/json-socket.js +2 -2
- package/build/src/background-jobs/main.d.ts +56 -59
- package/build/src/background-jobs/main.d.ts.map +1 -1
- package/build/src/background-jobs/main.js +14 -14
- package/build/src/background-jobs/normalize-error.d.ts +2 -2
- package/build/src/background-jobs/normalize-error.d.ts.map +1 -1
- package/build/src/background-jobs/normalize-error.js +3 -3
- package/build/src/background-jobs/pooled-runner-child.js +4 -4
- package/build/src/background-jobs/runner-graceful-shutdown.d.ts +7 -12
- package/build/src/background-jobs/runner-graceful-shutdown.d.ts.map +1 -1
- package/build/src/background-jobs/runner-process-title.d.ts.map +1 -1
- package/build/src/background-jobs/scheduler.d.ts +41 -41
- package/build/src/background-jobs/scheduler.d.ts.map +1 -1
- package/build/src/background-jobs/scheduler.js +2 -2
- package/build/src/background-jobs/socket-request.d.ts +14 -14
- package/build/src/background-jobs/socket-request.d.ts.map +1 -1
- package/build/src/background-jobs/status-reporter.d.ts +28 -28
- package/build/src/background-jobs/status-reporter.d.ts.map +1 -1
- package/build/src/background-jobs/status-reporter.js +3 -3
- package/build/src/background-jobs/store.d.ts +100 -103
- package/build/src/background-jobs/store.d.ts.map +1 -1
- package/build/src/background-jobs/store.js +24 -24
- package/build/src/background-jobs/types.d.ts +124 -124
- package/build/src/background-jobs/types.d.ts.map +1 -1
- package/build/src/background-jobs/types.js +7 -7
- package/build/src/background-jobs/web/authorization.d.ts +2 -2
- package/build/src/background-jobs/web/authorization.d.ts.map +1 -1
- package/build/src/background-jobs/web/controller.d.ts +13 -13
- package/build/src/background-jobs/web/controller.d.ts.map +1 -1
- package/build/src/background-jobs/web/controller.js +7 -7
- package/build/src/background-jobs/web/counts-channel.d.ts +8 -8
- package/build/src/background-jobs/web/counts-channel.d.ts.map +1 -1
- package/build/src/background-jobs/web/counts-channel.js +2 -2
- package/build/src/background-jobs/web/index.d.ts +4 -4
- package/build/src/background-jobs/web/index.d.ts.map +1 -1
- package/build/src/background-jobs/web/path-matcher.d.ts +18 -13
- package/build/src/background-jobs/web/path-matcher.d.ts.map +1 -1
- package/build/src/background-jobs/web/registry.d.ts +21 -24
- package/build/src/background-jobs/web/registry.d.ts.map +1 -1
- package/build/src/background-jobs/worker.d.ts +74 -77
- 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 +30 -34
- package/build/src/beacon/client.d.ts.map +1 -1
- package/build/src/beacon/client.js +4 -4
- package/build/src/beacon/in-process-broker.d.ts +6 -9
- package/build/src/beacon/in-process-broker.d.ts.map +1 -1
- package/build/src/beacon/in-process-client.d.ts +17 -21
- package/build/src/beacon/in-process-client.d.ts.map +1 -1
- package/build/src/beacon/in-process-client.js +4 -4
- package/build/src/beacon/server.d.ts +15 -15
- package/build/src/beacon/server.d.ts.map +1 -1
- package/build/src/beacon/types.d.ts +21 -46
- package/build/src/beacon/types.d.ts.map +1 -1
- package/build/src/beacon/types.js +2 -2
- package/build/src/cli/base-command.d.ts +25 -28
- package/build/src/cli/base-command.d.ts.map +1 -1
- package/build/src/cli/base-command.js +2 -2
- package/build/src/cli/browser-cli.d.ts +1 -1
- package/build/src/cli/browser-cli.d.ts.map +1 -1
- package/build/src/cli/commands/background-jobs-main.d.ts +2 -1
- package/build/src/cli/commands/background-jobs-main.d.ts.map +1 -1
- package/build/src/cli/commands/background-jobs-runner.d.ts +2 -1
- package/build/src/cli/commands/background-jobs-runner.d.ts.map +1 -1
- package/build/src/cli/commands/background-jobs-worker.d.ts +2 -1
- package/build/src/cli/commands/background-jobs-worker.d.ts.map +1 -1
- package/build/src/cli/commands/beacon.d.ts +2 -1
- package/build/src/cli/commands/beacon.d.ts.map +1 -1
- package/build/src/cli/commands/console.d.ts +6 -1
- package/build/src/cli/commands/console.d.ts.map +1 -1
- package/build/src/cli/commands/console.js +2 -2
- package/build/src/cli/commands/db/base-command.d.ts +1 -1
- package/build/src/cli/commands/db/base-command.d.ts.map +1 -1
- package/build/src/cli/commands/db/create.d.ts +1 -1
- package/build/src/cli/commands/db/create.d.ts.map +1 -1
- package/build/src/cli/commands/db/drop.d.ts +1 -1
- package/build/src/cli/commands/db/drop.d.ts.map +1 -1
- package/build/src/cli/commands/db/migrate.d.ts +1 -1
- package/build/src/cli/commands/db/migrate.d.ts.map +1 -1
- package/build/src/cli/commands/db/reset.d.ts +1 -1
- package/build/src/cli/commands/db/reset.d.ts.map +1 -1
- package/build/src/cli/commands/db/rollback.d.ts +1 -1
- package/build/src/cli/commands/db/rollback.d.ts.map +1 -1
- package/build/src/cli/commands/db/schema/dump.d.ts +6 -1
- package/build/src/cli/commands/db/schema/dump.d.ts.map +1 -1
- package/build/src/cli/commands/db/schema/dump.js +2 -2
- package/build/src/cli/commands/db/schema/load.d.ts +6 -1
- package/build/src/cli/commands/db/schema/load.d.ts.map +1 -1
- package/build/src/cli/commands/db/schema/load.js +2 -2
- package/build/src/cli/commands/db/seed.d.ts +6 -1
- package/build/src/cli/commands/db/seed.d.ts.map +1 -1
- package/build/src/cli/commands/db/seed.js +2 -2
- package/build/src/cli/commands/db/tenants/check.d.ts +1 -1
- package/build/src/cli/commands/db/tenants/check.d.ts.map +1 -1
- package/build/src/cli/commands/db/tenants/create.d.ts +1 -1
- package/build/src/cli/commands/db/tenants/create.d.ts.map +1 -1
- package/build/src/cli/commands/db/tenants/drop.d.ts +1 -1
- package/build/src/cli/commands/db/tenants/drop.d.ts.map +1 -1
- package/build/src/cli/commands/db/tenants/migrate.d.ts +1 -1
- package/build/src/cli/commands/db/tenants/migrate.d.ts.map +1 -1
- package/build/src/cli/commands/destroy/migration.d.ts +2 -1
- package/build/src/cli/commands/destroy/migration.d.ts.map +1 -1
- package/build/src/cli/commands/generate/base-models.d.ts +2 -1
- package/build/src/cli/commands/generate/base-models.d.ts.map +1 -1
- package/build/src/cli/commands/generate/frontend-models.d.ts +6 -1
- package/build/src/cli/commands/generate/frontend-models.d.ts.map +1 -1
- package/build/src/cli/commands/generate/frontend-models.js +2 -2
- package/build/src/cli/commands/generate/migration.d.ts +2 -1
- package/build/src/cli/commands/generate/migration.d.ts.map +1 -1
- package/build/src/cli/commands/generate/model.d.ts +2 -1
- package/build/src/cli/commands/generate/model.d.ts.map +1 -1
- package/build/src/cli/commands/init.d.ts +4 -2
- package/build/src/cli/commands/init.d.ts.map +1 -1
- package/build/src/cli/commands/lint/relationships.d.ts +6 -1
- package/build/src/cli/commands/lint/relationships.d.ts.map +1 -1
- package/build/src/cli/commands/lint/relationships.js +2 -2
- package/build/src/cli/commands/routes.d.ts +2 -1
- package/build/src/cli/commands/routes.d.ts.map +1 -1
- package/build/src/cli/commands/run-script.d.ts +6 -1
- package/build/src/cli/commands/run-script.d.ts.map +1 -1
- package/build/src/cli/commands/run-script.js +2 -2
- package/build/src/cli/commands/runner.d.ts +6 -1
- package/build/src/cli/commands/runner.d.ts.map +1 -1
- package/build/src/cli/commands/runner.js +2 -2
- package/build/src/cli/commands/server.d.ts +2 -1
- package/build/src/cli/commands/server.d.ts.map +1 -1
- package/build/src/cli/commands/test.d.ts +2 -1
- package/build/src/cli/commands/test.d.ts.map +1 -1
- package/build/src/cli/index.d.ts +20 -20
- package/build/src/cli/index.d.ts.map +1 -1
- package/build/src/cli/index.js +3 -3
- package/build/src/cli/tenant-database-command-helper.d.ts +13 -13
- package/build/src/cli/tenant-database-command-helper.d.ts.map +1 -1
- package/build/src/cli/tenant-database-command-helper.js +3 -3
- package/build/src/cli/use-browser-cli.d.ts +1 -1
- package/build/src/cli/use-browser-cli.d.ts.map +1 -1
- package/build/src/configuration-resolver.d.ts +1 -1
- package/build/src/configuration-resolver.d.ts.map +1 -1
- package/build/src/configuration-types.d.ts +947 -1038
- package/build/src/configuration-types.d.ts.map +1 -1
- package/build/src/configuration-types.js +49 -48
- package/build/src/configuration.d.ts +145 -139
- package/build/src/configuration.d.ts.map +1 -1
- package/build/src/configuration.js +149 -66
- package/build/src/controller.d.ts +37 -35
- package/build/src/controller.d.ts.map +1 -1
- package/build/src/controller.js +11 -9
- package/build/src/current-configuration.d.ts +5 -4
- package/build/src/current-configuration.d.ts.map +1 -1
- package/build/src/current.d.ts +3 -3
- package/build/src/current.d.ts.map +1 -1
- package/build/src/current.js +3 -3
- package/build/src/database/advisory-lock-runner.d.ts +61 -60
- package/build/src/database/advisory-lock-runner.d.ts.map +1 -1
- package/build/src/database/annotations-async-hooks.js +4 -4
- package/build/src/database/annotations.d.ts +4 -6
- package/build/src/database/annotations.d.ts.map +1 -1
- package/build/src/database/annotations.js +2 -2
- package/build/src/database/column-types.d.ts +1 -1
- package/build/src/database/column-types.d.ts.map +1 -1
- package/build/src/database/datetime-storage.d.ts +6 -6
- package/build/src/database/datetime-storage.d.ts.map +1 -1
- package/build/src/database/drivers/base-column.d.ts +3 -3
- package/build/src/database/drivers/base-column.d.ts.map +1 -1
- package/build/src/database/drivers/base-column.js +2 -2
- package/build/src/database/drivers/base-columns-index.d.ts +2 -2
- package/build/src/database/drivers/base-columns-index.d.ts.map +1 -1
- package/build/src/database/drivers/base-foreign-key.d.ts +7 -7
- package/build/src/database/drivers/base-foreign-key.d.ts.map +1 -1
- package/build/src/database/drivers/base-foreign-key.js +2 -2
- package/build/src/database/drivers/base-table.d.ts +3 -3
- package/build/src/database/drivers/base-table.d.ts.map +1 -1
- package/build/src/database/drivers/base-table.js +2 -2
- package/build/src/database/drivers/base.d.ts +297 -342
- package/build/src/database/drivers/base.d.ts.map +1 -1
- package/build/src/database/drivers/base.js +19 -19
- package/build/src/database/drivers/index-metadata.d.ts +15 -18
- package/build/src/database/drivers/index-metadata.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/column.d.ts +10 -5
- package/build/src/database/drivers/mssql/column.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/column.js +2 -2
- package/build/src/database/drivers/mssql/columns-index.d.ts +30 -22
- package/build/src/database/drivers/mssql/columns-index.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/connect-connection.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/foreign-key.d.ts +1 -1
- package/build/src/database/drivers/mssql/foreign-key.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/index.d.ts +250 -9
- package/build/src/database/drivers/mssql/index.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/index.js +3 -3
- package/build/src/database/drivers/mssql/options.d.ts +31 -1
- package/build/src/database/drivers/mssql/options.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/options.js +2 -2
- package/build/src/database/drivers/mssql/query-parser.d.ts +1 -1
- package/build/src/database/drivers/mssql/query-parser.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/alter-table.d.ts +1 -1
- package/build/src/database/drivers/mssql/sql/alter-table.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/create-database.d.ts +3 -2
- package/build/src/database/drivers/mssql/sql/create-database.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/create-index.d.ts +1 -1
- package/build/src/database/drivers/mssql/sql/create-index.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/create-table.d.ts +1 -1
- package/build/src/database/drivers/mssql/sql/create-table.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/delete.d.ts +1 -1
- package/build/src/database/drivers/mssql/sql/delete.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/drop-database.d.ts +14 -1
- package/build/src/database/drivers/mssql/sql/drop-database.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/drop-table.d.ts +1 -1
- package/build/src/database/drivers/mssql/sql/drop-table.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/insert.d.ts +1 -1
- package/build/src/database/drivers/mssql/sql/insert.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/remove-index.d.ts +1 -1
- package/build/src/database/drivers/mssql/sql/remove-index.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/update.d.ts +1 -1
- package/build/src/database/drivers/mssql/sql/update.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/upsert.d.ts +1 -1
- package/build/src/database/drivers/mssql/sql/upsert.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/structure-sql.d.ts +3 -3
- package/build/src/database/drivers/mssql/structure-sql.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/structure-sql.js +2 -2
- package/build/src/database/drivers/mssql/table.d.ts +39 -29
- package/build/src/database/drivers/mssql/table.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/table.js +2 -2
- package/build/src/database/drivers/mysql/column.d.ts +10 -6
- package/build/src/database/drivers/mysql/column.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/column.js +2 -2
- package/build/src/database/drivers/mysql/columns-index.d.ts +3 -1
- package/build/src/database/drivers/mysql/columns-index.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/foreign-key.d.ts +1 -1
- package/build/src/database/drivers/mysql/foreign-key.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/index.d.ts +225 -6
- package/build/src/database/drivers/mysql/index.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/index.js +5 -5
- package/build/src/database/drivers/mysql/options.d.ts +7 -1
- package/build/src/database/drivers/mysql/options.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/options.js +2 -2
- package/build/src/database/drivers/mysql/query-parser.d.ts +1 -1
- package/build/src/database/drivers/mysql/query-parser.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/query-stream.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/query.d.ts +2 -2
- package/build/src/database/drivers/mysql/query.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/query.js +8 -8
- package/build/src/database/drivers/mysql/sql/alter-table.d.ts +12 -1
- package/build/src/database/drivers/mysql/sql/alter-table.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/create-database.d.ts +6 -1
- package/build/src/database/drivers/mysql/sql/create-database.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/create-index.d.ts +1 -1
- package/build/src/database/drivers/mysql/sql/create-index.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/create-table.d.ts +1 -1
- package/build/src/database/drivers/mysql/sql/create-table.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/delete.d.ts +1 -1
- package/build/src/database/drivers/mysql/sql/delete.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/drop-database.d.ts +1 -1
- package/build/src/database/drivers/mysql/sql/drop-database.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/drop-table.d.ts +1 -1
- package/build/src/database/drivers/mysql/sql/drop-table.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/insert.d.ts +1 -1
- package/build/src/database/drivers/mysql/sql/insert.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/remove-index.d.ts +1 -1
- package/build/src/database/drivers/mysql/sql/remove-index.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/update.d.ts +1 -1
- package/build/src/database/drivers/mysql/sql/update.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/upsert.d.ts +1 -1
- package/build/src/database/drivers/mysql/sql/upsert.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/structure-sql.d.ts +14 -3
- package/build/src/database/drivers/mysql/structure-sql.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/structure-sql.js +62 -11
- package/build/src/database/drivers/mysql/table.d.ts +11 -6
- package/build/src/database/drivers/mysql/table.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/column.d.ts +10 -5
- package/build/src/database/drivers/pgsql/column.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/column.js +2 -2
- package/build/src/database/drivers/pgsql/columns-index.d.ts +30 -22
- package/build/src/database/drivers/pgsql/columns-index.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/foreign-key.d.ts +1 -1
- package/build/src/database/drivers/pgsql/foreign-key.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/index.d.ts +157 -6
- package/build/src/database/drivers/pgsql/index.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/index.js +7 -7
- package/build/src/database/drivers/pgsql/options.d.ts +1 -1
- package/build/src/database/drivers/pgsql/options.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/query-parser.d.ts +1 -1
- package/build/src/database/drivers/pgsql/query-parser.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/alter-table.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/alter-table.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/create-database.d.ts +2 -1
- package/build/src/database/drivers/pgsql/sql/create-database.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/create-index.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/create-index.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/create-table.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/create-table.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/delete.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/delete.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/drop-database.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/drop-database.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/drop-table.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/drop-table.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/insert.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/insert.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/remove-index.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/remove-index.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/update.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/update.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/upsert.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/upsert.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/structure-sql.d.ts +3 -3
- package/build/src/database/drivers/pgsql/structure-sql.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/structure-sql.js +2 -2
- package/build/src/database/drivers/pgsql/table.d.ts +33 -31
- package/build/src/database/drivers/pgsql/table.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/base.d.ts +162 -12
- package/build/src/database/drivers/sqlite/base.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/base.js +8 -8
- package/build/src/database/drivers/sqlite/column.d.ts +12 -6
- package/build/src/database/drivers/sqlite/column.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/column.js +2 -2
- package/build/src/database/drivers/sqlite/columns-index.d.ts +5 -1
- package/build/src/database/drivers/sqlite/columns-index.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/connection-sql-js.d.ts +9 -9
- package/build/src/database/drivers/sqlite/connection-sql-js.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/connection-sql-js.js +2 -2
- package/build/src/database/drivers/sqlite/foreign-key.d.ts +5 -4
- package/build/src/database/drivers/sqlite/foreign-key.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/foreign-key.js +2 -2
- package/build/src/database/drivers/sqlite/index.d.ts +53 -3
- package/build/src/database/drivers/sqlite/index.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/index.js +2 -2
- package/build/src/database/drivers/sqlite/index.native.d.ts +13 -5
- package/build/src/database/drivers/sqlite/index.native.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/index.native.js +3 -3
- package/build/src/database/drivers/sqlite/index.web.d.ts +48 -14
- package/build/src/database/drivers/sqlite/index.web.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/index.web.js +3 -3
- package/build/src/database/drivers/sqlite/options.d.ts +1 -1
- package/build/src/database/drivers/sqlite/options.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/query-parser.d.ts +1 -1
- package/build/src/database/drivers/sqlite/query-parser.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/query.d.ts +2 -2
- package/build/src/database/drivers/sqlite/query.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/query.js +3 -3
- package/build/src/database/drivers/sqlite/query.native.d.ts +4 -4
- package/build/src/database/drivers/sqlite/query.native.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/query.native.js +3 -3
- package/build/src/database/drivers/sqlite/query.web.d.ts +2 -2
- package/build/src/database/drivers/sqlite/query.web.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/query.web.js +3 -3
- package/build/src/database/drivers/sqlite/sql/alter-table.d.ts +19 -4
- package/build/src/database/drivers/sqlite/sql/alter-table.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/sql/create-index.d.ts +1 -1
- package/build/src/database/drivers/sqlite/sql/create-index.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/sql/create-table.d.ts +1 -1
- package/build/src/database/drivers/sqlite/sql/create-table.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/sql/delete.d.ts +1 -1
- package/build/src/database/drivers/sqlite/sql/delete.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/sql/drop-table.d.ts +1 -1
- package/build/src/database/drivers/sqlite/sql/drop-table.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/sql/insert.d.ts +1 -1
- package/build/src/database/drivers/sqlite/sql/insert.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/sql/remove-index.d.ts +1 -1
- package/build/src/database/drivers/sqlite/sql/remove-index.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/sql/update.d.ts +1 -1
- package/build/src/database/drivers/sqlite/sql/update.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/sql/upsert.d.ts +1 -1
- package/build/src/database/drivers/sqlite/sql/upsert.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/structure-sql.d.ts +1 -1
- package/build/src/database/drivers/sqlite/structure-sql.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/table-rebuilder.d.ts +5 -5
- package/build/src/database/drivers/sqlite/table-rebuilder.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/table-rebuilder.js +2 -2
- package/build/src/database/drivers/sqlite/table.d.ts +15 -5
- package/build/src/database/drivers/sqlite/table.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/web-persistence.d.ts +28 -34
- package/build/src/database/drivers/sqlite/web-persistence.d.ts.map +1 -1
- package/build/src/database/drivers/structure-sql/utils.d.ts +2 -2
- package/build/src/database/drivers/structure-sql/utils.d.ts.map +1 -1
- package/build/src/database/handler.d.ts.map +1 -1
- package/build/src/database/initializer-from-require-context.d.ts +18 -16
- package/build/src/database/initializer-from-require-context.d.ts.map +1 -1
- package/build/src/database/live-query.d.ts +13 -24
- package/build/src/database/live-query.d.ts.map +1 -1
- package/build/src/database/migration/index.d.ts +146 -169
- package/build/src/database/migration/index.d.ts.map +1 -1
- package/build/src/database/migration/index.js +3 -3
- package/build/src/database/migrations-ledger.d.ts.map +1 -1
- package/build/src/database/migrator/files-finder.d.ts +1 -1
- package/build/src/database/migrator/files-finder.d.ts.map +1 -1
- package/build/src/database/migrator/types.d.ts +26 -2
- package/build/src/database/migrator/types.d.ts.map +1 -1
- package/build/src/database/migrator/types.js +24 -1
- package/build/src/database/migrator.d.ts +10 -10
- package/build/src/database/migrator.d.ts.map +1 -1
- package/build/src/database/operation-connection.d.ts +3 -3
- package/build/src/database/operation-connection.d.ts.map +1 -1
- package/build/src/database/operation-lease.d.ts +4 -4
- package/build/src/database/operation-lease.d.ts.map +1 -1
- package/build/src/database/operation.d.ts +38 -7
- package/build/src/database/operation.d.ts.map +1 -1
- package/build/src/database/operation.js +55 -8
- package/build/src/database/pool/async-tracked-multi-connection.d.ts +174 -79
- package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
- package/build/src/database/pool/async-tracked-multi-connection.js +70 -25
- package/build/src/database/pool/base-methods-forward.d.ts.map +1 -1
- package/build/src/database/pool/base-methods-forward.js +3 -3
- package/build/src/database/pool/base.d.ts +93 -71
- package/build/src/database/pool/base.d.ts.map +1 -1
- package/build/src/database/pool/base.js +47 -17
- package/build/src/database/pool/single-multi-use.d.ts +243 -10
- package/build/src/database/pool/single-multi-use.d.ts.map +1 -1
- package/build/src/database/pool/single-multi-use.js +467 -103
- package/build/src/database/query/alter-table-base.d.ts +8 -3
- package/build/src/database/query/alter-table-base.d.ts.map +1 -1
- package/build/src/database/query/base.d.ts +3 -3
- package/build/src/database/query/base.d.ts.map +1 -1
- package/build/src/database/query/create-database-base.d.ts +28 -22
- package/build/src/database/query/create-database-base.d.ts.map +1 -1
- package/build/src/database/query/create-index-base.d.ts +32 -30
- package/build/src/database/query/create-index-base.d.ts.map +1 -1
- package/build/src/database/query/create-table-base.d.ts +7 -7
- package/build/src/database/query/create-table-base.d.ts.map +1 -1
- package/build/src/database/query/delete-base.d.ts +5 -5
- package/build/src/database/query/delete-base.d.ts.map +1 -1
- package/build/src/database/query/delete-base.js +2 -2
- package/build/src/database/query/drop-database-base.d.ts +22 -18
- package/build/src/database/query/drop-database-base.d.ts.map +1 -1
- package/build/src/database/query/drop-table-base.d.ts +11 -6
- package/build/src/database/query/drop-table-base.d.ts.map +1 -1
- package/build/src/database/query/from-base.d.ts.map +1 -1
- package/build/src/database/query/from-plain.d.ts +3 -2
- package/build/src/database/query/from-plain.d.ts.map +1 -1
- package/build/src/database/query/from-table.d.ts +3 -2
- package/build/src/database/query/from-table.d.ts.map +1 -1
- package/build/src/database/query/index.d.ts +92 -107
- package/build/src/database/query/index.d.ts.map +1 -1
- package/build/src/database/query/index.js +4 -4
- package/build/src/database/query/insert-base.d.ts +18 -18
- package/build/src/database/query/insert-base.d.ts.map +1 -1
- package/build/src/database/query/insert-base.js +5 -5
- package/build/src/database/query/join-base.d.ts +1 -1
- package/build/src/database/query/join-base.d.ts.map +1 -1
- package/build/src/database/query/join-object.d.ts +9 -15
- package/build/src/database/query/join-object.d.ts.map +1 -1
- package/build/src/database/query/join-plain.d.ts +2 -2
- package/build/src/database/query/join-plain.d.ts.map +1 -1
- package/build/src/database/query/join-tracker.d.ts +3 -3
- package/build/src/database/query/join-tracker.d.ts.map +1 -1
- package/build/src/database/query/model-class-query.d.ts +39 -36
- package/build/src/database/query/model-class-query.d.ts.map +1 -1
- package/build/src/database/query/model-class-query.js +40 -40
- package/build/src/database/query/order-base.d.ts +1 -1
- package/build/src/database/query/order-base.d.ts.map +1 -1
- package/build/src/database/query/order-column.d.ts +19 -22
- package/build/src/database/query/order-column.d.ts.map +1 -1
- package/build/src/database/query/order-plain.d.ts +3 -3
- package/build/src/database/query/order-plain.d.ts.map +1 -1
- package/build/src/database/query/preloader/belongs-to.d.ts +5 -5
- package/build/src/database/query/preloader/belongs-to.d.ts.map +1 -1
- package/build/src/database/query/preloader/belongs-to.js +3 -3
- package/build/src/database/query/preloader/ensure-model-class-initialized.d.ts +2 -1
- package/build/src/database/query/preloader/ensure-model-class-initialized.d.ts.map +1 -1
- package/build/src/database/query/preloader/ensure-model-class-initialized.js +4 -3
- package/build/src/database/query/preloader/has-many.d.ts +6 -6
- package/build/src/database/query/preloader/has-many.d.ts.map +1 -1
- package/build/src/database/query/preloader/has-many.js +4 -4
- package/build/src/database/query/preloader/has-one.d.ts +5 -5
- package/build/src/database/query/preloader/has-one.d.ts.map +1 -1
- package/build/src/database/query/preloader/has-one.js +2 -2
- package/build/src/database/query/preloader/query-for-model.d.ts.map +1 -1
- package/build/src/database/query/preloader/selection.d.ts +6 -6
- package/build/src/database/query/preloader/selection.d.ts.map +1 -1
- package/build/src/database/query/preloader.d.ts +8 -8
- package/build/src/database/query/preloader.d.ts.map +1 -1
- package/build/src/database/query/preloader.js +9 -3
- package/build/src/database/query/query-data.d.ts +43 -55
- package/build/src/database/query/query-data.d.ts.map +1 -1
- package/build/src/database/query/query-data.js +8 -8
- package/build/src/database/query/remove-index-base.d.ts +21 -19
- package/build/src/database/query/remove-index-base.d.ts.map +1 -1
- package/build/src/database/query/select-base.d.ts +1 -1
- package/build/src/database/query/select-base.d.ts.map +1 -1
- package/build/src/database/query/select-plain.d.ts +3 -2
- package/build/src/database/query/select-plain.d.ts.map +1 -1
- package/build/src/database/query/select-table-and-column.d.ts +4 -3
- package/build/src/database/query/select-table-and-column.d.ts.map +1 -1
- package/build/src/database/query/update-base.d.ts +10 -10
- package/build/src/database/query/update-base.d.ts.map +1 -1
- package/build/src/database/query/update-base.js +4 -4
- package/build/src/database/query/upsert-base.d.ts +9 -9
- package/build/src/database/query/upsert-base.d.ts.map +1 -1
- package/build/src/database/query/upsert-base.js +3 -3
- package/build/src/database/query/where-base.d.ts +1 -1
- package/build/src/database/query/where-base.d.ts.map +1 -1
- package/build/src/database/query/where-combinator.d.ts +9 -4
- package/build/src/database/query/where-combinator.d.ts.map +1 -1
- package/build/src/database/query/where-hash.d.ts +11 -9
- package/build/src/database/query/where-hash.d.ts.map +1 -1
- package/build/src/database/query/where-model-class-hash.d.ts +28 -26
- package/build/src/database/query/where-model-class-hash.d.ts.map +1 -1
- package/build/src/database/query/where-model-class-hash.js +14 -14
- package/build/src/database/query/where-not.d.ts +8 -3
- package/build/src/database/query/where-not.d.ts.map +1 -1
- package/build/src/database/query/where-plain.d.ts +4 -3
- package/build/src/database/query/where-plain.d.ts.map +1 -1
- package/build/src/database/query/with-count.d.ts +22 -28
- package/build/src/database/query/with-count.d.ts.map +1 -1
- package/build/src/database/query/with-count.js +12 -12
- package/build/src/database/query-aborted-error.d.ts +5 -5
- package/build/src/database/query-aborted-error.d.ts.map +1 -1
- package/build/src/database/query-parser/base-query-parser.d.ts +3 -3
- package/build/src/database/query-parser/base-query-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/from-parser.d.ts +2 -2
- package/build/src/database/query-parser/from-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/group-parser.d.ts +2 -2
- package/build/src/database/query-parser/group-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/joins-parser.d.ts +3 -3
- package/build/src/database/query-parser/joins-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/limit-parser.d.ts +2 -2
- package/build/src/database/query-parser/limit-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/options.d.ts +31 -34
- package/build/src/database/query-parser/options.d.ts.map +1 -1
- package/build/src/database/query-parser/options.js +3 -3
- package/build/src/database/query-parser/order-parser.d.ts +2 -2
- package/build/src/database/query-parser/order-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/select-parser.d.ts +2 -2
- package/build/src/database/query-parser/select-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/select-parser.js +2 -2
- package/build/src/database/query-parser/where-parser.d.ts +2 -2
- package/build/src/database/query-parser/where-parser.d.ts.map +1 -1
- package/build/src/database/record/acts-as-list.d.ts.map +1 -1
- package/build/src/database/record/acts-as-list.js +3 -3
- package/build/src/database/record/attachments/attachment-record.d.ts +7 -3
- package/build/src/database/record/attachments/attachment-record.d.ts.map +1 -1
- package/build/src/database/record/attachments/download.d.ts +9 -9
- package/build/src/database/record/attachments/download.d.ts.map +1 -1
- package/build/src/database/record/attachments/handle.d.ts +12 -12
- package/build/src/database/record/attachments/handle.d.ts.map +1 -1
- package/build/src/database/record/attachments/handle.js +7 -7
- package/build/src/database/record/attachments/normalize-input.d.ts +16 -22
- package/build/src/database/record/attachments/normalize-input.d.ts.map +1 -1
- package/build/src/database/record/attachments/normalize-input.js +12 -12
- package/build/src/database/record/attachments/storage-drivers/filesystem.d.ts +4 -4
- package/build/src/database/record/attachments/storage-drivers/filesystem.d.ts.map +1 -1
- package/build/src/database/record/attachments/storage-drivers/filesystem.js +2 -2
- package/build/src/database/record/attachments/storage-drivers/native.d.ts +12 -12
- package/build/src/database/record/attachments/storage-drivers/native.d.ts.map +1 -1
- package/build/src/database/record/attachments/storage-drivers/native.js +6 -6
- package/build/src/database/record/attachments/storage-drivers/s3.d.ts +17 -17
- package/build/src/database/record/attachments/storage-drivers/s3.d.ts.map +1 -1
- package/build/src/database/record/attachments/storage-drivers/s3.js +11 -11
- package/build/src/database/record/attachments/store.d.ts +38 -41
- package/build/src/database/record/attachments/store.d.ts.map +1 -1
- package/build/src/database/record/attachments/store.js +24 -21
- package/build/src/database/record/auditing.d.ts +67 -87
- package/build/src/database/record/auditing.d.ts.map +1 -1
- package/build/src/database/record/auditing.js +109 -30
- package/build/src/database/record/counter-cache-magnitude.d.ts +15 -35
- package/build/src/database/record/counter-cache-magnitude.d.ts.map +1 -1
- package/build/src/database/record/counter-cache-magnitude.js +12 -12
- package/build/src/database/record/index.d.ts +2390 -488
- package/build/src/database/record/index.d.ts.map +1 -1
- package/build/src/database/record/index.js +222 -172
- package/build/src/database/record/instance-relationships/base.d.ts +20 -23
- package/build/src/database/record/instance-relationships/base.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/base.js +5 -5
- package/build/src/database/record/instance-relationships/belongs-to.d.ts +9 -1
- package/build/src/database/record/instance-relationships/belongs-to.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/belongs-to.js +2 -2
- package/build/src/database/record/instance-relationships/has-many.d.ts +15 -3
- package/build/src/database/record/instance-relationships/has-many.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/has-many.js +4 -4
- package/build/src/database/record/instance-relationships/has-one.d.ts +19 -1
- package/build/src/database/record/instance-relationships/has-one.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/has-one.js +2 -2
- package/build/src/database/record/record-not-found-error.d.ts +1 -0
- package/build/src/database/record/record-not-found-error.d.ts.map +1 -1
- package/build/src/database/record/record-not-found-error.js +2 -1
- package/build/src/database/record/relationships/base.d.ts +83 -71
- package/build/src/database/record/relationships/base.d.ts.map +1 -1
- package/build/src/database/record/relationships/base.js +21 -1
- package/build/src/database/record/relationships/belongs-to.d.ts +11 -1
- package/build/src/database/record/relationships/belongs-to.d.ts.map +1 -1
- package/build/src/database/record/relationships/has-many.d.ts +11 -1
- package/build/src/database/record/relationships/has-many.d.ts.map +1 -1
- package/build/src/database/record/relationships/has-one.d.ts +11 -1
- package/build/src/database/record/relationships/has-one.d.ts.map +1 -1
- package/build/src/database/record/state-machine.d.ts +20 -29
- package/build/src/database/record/state-machine.d.ts.map +1 -1
- package/build/src/database/record/state-machine.js +7 -7
- package/build/src/database/record/user-module.d.ts +1 -1
- package/build/src/database/record/user-module.d.ts.map +1 -1
- package/build/src/database/record/validation-messages.d.ts +19 -22
- package/build/src/database/record/validation-messages.d.ts.map +1 -1
- package/build/src/database/record/validators/base.d.ts +4 -4
- package/build/src/database/record/validators/base.d.ts.map +1 -1
- package/build/src/database/record/validators/base.js +2 -2
- package/build/src/database/record/validators/format.d.ts +12 -1
- package/build/src/database/record/validators/format.d.ts.map +1 -1
- package/build/src/database/record/validators/length.d.ts +14 -1
- package/build/src/database/record/validators/length.d.ts.map +1 -1
- package/build/src/database/record/validators/presence.d.ts +11 -1
- package/build/src/database/record/validators/presence.d.ts.map +1 -1
- package/build/src/database/record/validators/uniqueness.d.ts +12 -1
- package/build/src/database/record/validators/uniqueness.d.ts.map +1 -1
- package/build/src/database/record-changes.d.ts +7 -18
- package/build/src/database/record-changes.d.ts.map +1 -1
- package/build/src/database/structure-sql-loader.d.ts +2 -2
- package/build/src/database/structure-sql-loader.d.ts.map +1 -1
- package/build/src/database/structure-sql-loader.js +4 -4
- package/build/src/database/table-data/index.d.ts +21 -24
- package/build/src/database/table-data/index.d.ts.map +1 -1
- package/build/src/database/table-data/table-column.d.ts +74 -80
- package/build/src/database/table-data/table-column.d.ts.map +1 -1
- package/build/src/database/table-data/table-column.js +4 -4
- package/build/src/database/table-data/table-foreign-key.d.ts +10 -10
- package/build/src/database/table-data/table-foreign-key.d.ts.map +1 -1
- package/build/src/database/table-data/table-index.d.ts +12 -15
- package/build/src/database/table-data/table-index.d.ts.map +1 -1
- package/build/src/database/table-data/table-reference.d.ts +2 -2
- package/build/src/database/table-data/table-reference.d.ts.map +1 -1
- package/build/src/database/tenants/data-copier.d.ts +7 -7
- package/build/src/database/tenants/data-copier.d.ts.map +1 -1
- package/build/src/database/tenants/schema-cloner.d.ts +3 -3
- package/build/src/database/tenants/schema-cloner.d.ts.map +1 -1
- package/build/src/database/tenants/tenant-table-plan.d.ts +20 -14
- package/build/src/database/tenants/tenant-table-plan.d.ts.map +1 -1
- package/build/src/database/tenants/tenant-table-plan.js +17 -1
- package/build/src/database/use-database.d.ts.map +1 -1
- package/build/src/database/use-live-query.d.ts +17 -29
- package/build/src/database/use-live-query.d.ts.map +1 -1
- package/build/src/database/use-live-query.js +4 -4
- package/build/src/environment-handlers/base.d.ts +112 -103
- package/build/src/environment-handlers/base.d.ts.map +1 -1
- package/build/src/environment-handlers/base.js +54 -38
- package/build/src/environment-handlers/browser.d.ts +63 -56
- package/build/src/environment-handlers/browser.d.ts.map +1 -1
- package/build/src/environment-handlers/browser.js +2 -2
- package/build/src/environment-handlers/node/attachment-path-source.d.ts +9 -9
- package/build/src/environment-handlers/node/attachment-path-source.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/background-jobs-main.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/background-jobs-main.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/background-jobs-runner.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/background-jobs-runner.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/background-jobs-worker.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/background-jobs-worker.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/beacon.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/beacon.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/cli-command-context.d.ts +7 -10
- package/build/src/environment-handlers/node/cli/commands/cli-command-context.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/console.d.ts +9 -7
- package/build/src/environment-handlers/node/cli/commands/console.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/console.js +5 -5
- package/build/src/environment-handlers/node/cli/commands/db/schema/dump.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/db/schema/dump.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/db/seed.d.ts +7 -5
- package/build/src/environment-handlers/node/cli/commands/db/seed.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/db/seed.js +3 -3
- package/build/src/environment-handlers/node/cli/commands/destroy/migration.d.ts +4 -7
- package/build/src/environment-handlers/node/cli/commands/destroy/migration.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/base-models.js +2 -2
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +93 -108
- 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/generated-file-banner.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/migration.d.ts +9 -12
- package/build/src/environment-handlers/node/cli/commands/generate/migration.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/model.d.ts +8 -11
- package/build/src/environment-handlers/node/cli/commands/generate/model.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/init.d.ts +7 -9
- package/build/src/environment-handlers/node/cli/commands/init.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/lint/relationships.d.ts +7 -7
- package/build/src/environment-handlers/node/cli/commands/lint/relationships.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/routes.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/routes.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/run-script.d.ts +7 -5
- package/build/src/environment-handlers/node/cli/commands/run-script.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/run-script.js +3 -3
- package/build/src/environment-handlers/node/cli/commands/runner.d.ts +9 -7
- package/build/src/environment-handlers/node/cli/commands/runner.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/runner.js +3 -3
- package/build/src/environment-handlers/node/cli/commands/server.d.ts +24 -30
- package/build/src/environment-handlers/node/cli/commands/server.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/server.js +2 -2
- package/build/src/environment-handlers/node/cli/commands/test.d.ts +5 -5
- package/build/src/environment-handlers/node/cli/commands/test.d.ts.map +1 -1
- package/build/src/environment-handlers/node/source-peer-package.d.ts +5 -7
- package/build/src/environment-handlers/node/source-peer-package.d.ts.map +1 -1
- package/build/src/environment-handlers/node/source-peer-package.js +1 -1
- package/build/src/environment-handlers/node.d.ts +362 -13
- package/build/src/environment-handlers/node.d.ts.map +1 -1
- package/build/src/environment-handlers/node.js +37 -37
- package/build/src/error-logger.d.ts +3 -3
- package/build/src/error-logger.d.ts.map +1 -1
- package/build/src/error-logger.js +3 -3
- package/build/src/error-reporting/request-details.d.ts +1 -1
- package/build/src/error-reporting/request-details.d.ts.map +1 -1
- package/build/src/error-reporting/request-details.js +33 -33
- package/build/src/frontend-model-controller.d.ts +216 -230
- package/build/src/frontend-model-controller.d.ts.map +1 -1
- package/build/src/frontend-model-controller.js +217 -211
- package/build/src/frontend-model-resource/base-resource.d.ts +315 -365
- package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -1
- package/build/src/frontend-model-resource/base-resource.js +45 -45
- package/build/src/frontend-model-resource/velocious-attachment-resource.d.ts +11 -5
- package/build/src/frontend-model-resource/velocious-attachment-resource.d.ts.map +1 -1
- package/build/src/frontend-model-resource/velocious-attachment-resource.js +2 -2
- package/build/src/frontend-models/base.d.ts +632 -726
- package/build/src/frontend-models/base.d.ts.map +1 -1
- package/build/src/frontend-models/base.js +147 -143
- package/build/src/frontend-models/built-in-resources.d.ts +2 -2
- package/build/src/frontend-models/built-in-resources.d.ts.map +1 -1
- package/build/src/frontend-models/clear-pending-debounced-callback.d.ts +2 -2
- package/build/src/frontend-models/clear-pending-debounced-callback.d.ts.map +1 -1
- package/build/src/frontend-models/clear-pending-debounced-callback.js +3 -3
- package/build/src/frontend-models/event-hook-models.d.ts +3 -6
- package/build/src/frontend-models/event-hook-models.d.ts.map +1 -1
- package/build/src/frontend-models/model-registry.d.ts +5 -5
- package/build/src/frontend-models/model-registry.d.ts.map +1 -1
- package/build/src/frontend-models/model-registry.js +5 -5
- package/build/src/frontend-models/outgoing-event-buffer.d.ts +20 -17
- package/build/src/frontend-models/outgoing-event-buffer.d.ts.map +1 -1
- package/build/src/frontend-models/outgoing-event-buffer.js +2 -2
- package/build/src/frontend-models/preloader.d.ts.map +1 -1
- package/build/src/frontend-models/preloader.js +2 -2
- package/build/src/frontend-models/query.d.ts +286 -331
- package/build/src/frontend-models/query.d.ts.map +1 -1
- package/build/src/frontend-models/query.js +61 -61
- package/build/src/frontend-models/resource-config-validation.d.ts +2 -2
- package/build/src/frontend-models/resource-config-validation.d.ts.map +1 -1
- package/build/src/frontend-models/resource-definition.d.ts +30 -33
- package/build/src/frontend-models/resource-definition.d.ts.map +1 -1
- package/build/src/frontend-models/resource-definition.js +10 -10
- package/build/src/frontend-models/transport-deadline.d.ts.map +1 -1
- package/build/src/frontend-models/transport-serialization.d.ts +26 -32
- package/build/src/frontend-models/transport-serialization.d.ts.map +1 -1
- package/build/src/frontend-models/transport-serialization.js +28 -28
- package/build/src/frontend-models/use-created-event.d.ts +4 -4
- package/build/src/frontend-models/use-created-event.d.ts.map +1 -1
- package/build/src/frontend-models/use-destroyed-event.d.ts +8 -29
- package/build/src/frontend-models/use-destroyed-event.d.ts.map +1 -1
- package/build/src/frontend-models/use-model-class-event.d.ts +9 -33
- package/build/src/frontend-models/use-model-class-event.d.ts.map +1 -1
- package/build/src/frontend-models/use-updated-event.d.ts +8 -29
- package/build/src/frontend-models/use-updated-event.d.ts.map +1 -1
- package/build/src/frontend-models/websocket-channel.d.ts +30 -34
- package/build/src/frontend-models/websocket-channel.d.ts.map +1 -1
- package/build/src/frontend-models/websocket-channel.js +5 -5
- package/build/src/frontend-models/websocket-publishers.d.ts +4 -4
- package/build/src/frontend-models/websocket-publishers.d.ts.map +1 -1
- package/build/src/frontend-models/websocket-publishers.js +2 -2
- package/build/src/http-client/header.d.ts +2 -2
- package/build/src/http-client/header.d.ts.map +1 -1
- package/build/src/http-client/index.d.ts +23 -23
- package/build/src/http-client/index.d.ts.map +1 -1
- package/build/src/http-client/request.d.ts +9 -9
- package/build/src/http-client/request.d.ts.map +1 -1
- package/build/src/http-client/request.js +2 -2
- package/build/src/http-client/response.d.ts +12 -12
- package/build/src/http-client/response.d.ts.map +1 -1
- package/build/src/http-client/response.js +2 -2
- package/build/src/http-client/websocket-client.d.ts +20 -4
- package/build/src/http-client/websocket-client.d.ts.map +1 -1
- package/build/src/http-server/client/index.d.ts +26 -26
- package/build/src/http-server/client/index.d.ts.map +1 -1
- package/build/src/http-server/client/index.js +5 -5
- package/build/src/http-server/client/params-to-object.d.ts +11 -11
- package/build/src/http-server/client/params-to-object.d.ts.map +1 -1
- package/build/src/http-server/client/params-to-object.js +17 -17
- package/build/src/http-server/client/request-buffer/form-data-part.d.ts +9 -9
- package/build/src/http-server/client/request-buffer/form-data-part.d.ts.map +1 -1
- package/build/src/http-server/client/request-buffer/header.d.ts +3 -3
- package/build/src/http-server/client/request-buffer/header.d.ts.map +1 -1
- package/build/src/http-server/client/request-buffer/index.d.ts +28 -30
- package/build/src/http-server/client/request-buffer/index.d.ts.map +1 -1
- package/build/src/http-server/client/request-buffer/index.js +5 -3
- package/build/src/http-server/client/request-parser.d.ts +11 -11
- package/build/src/http-server/client/request-parser.d.ts.map +1 -1
- package/build/src/http-server/client/request-parser.js +3 -3
- package/build/src/http-server/client/request-runner.d.ts +11 -11
- package/build/src/http-server/client/request-runner.d.ts.map +1 -1
- package/build/src/http-server/client/request-runner.js +3 -3
- package/build/src/http-server/client/request-timing.d.ts +5 -11
- package/build/src/http-server/client/request-timing.d.ts.map +1 -1
- package/build/src/http-server/client/request.d.ts +10 -10
- package/build/src/http-server/client/request.d.ts.map +1 -1
- package/build/src/http-server/client/request.js +3 -3
- package/build/src/http-server/client/response-compression.d.ts +5 -5
- package/build/src/http-server/client/response-compression.d.ts.map +1 -1
- package/build/src/http-server/client/response.d.ts +13 -13
- package/build/src/http-server/client/response.d.ts.map +1 -1
- package/build/src/http-server/client/uploaded-file/memory-uploaded-file.d.ts +8 -2
- package/build/src/http-server/client/uploaded-file/memory-uploaded-file.d.ts.map +1 -1
- package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.d.ts +8 -2
- package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.d.ts.map +1 -1
- package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts +4 -4
- package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-request.d.ts +26 -26
- package/build/src/http-server/client/websocket-request.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-request.js +7 -7
- package/build/src/http-server/client/websocket-session.d.ts +105 -108
- package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-session.js +29 -29
- package/build/src/http-server/client-delivery-queue.d.ts +30 -30
- package/build/src/http-server/client-delivery-queue.d.ts.map +1 -1
- package/build/src/http-server/cookie.d.ts +80 -108
- package/build/src/http-server/cookie.d.ts.map +1 -1
- package/build/src/http-server/cookie.js +3 -3
- package/build/src/http-server/development-reloader.d.ts +24 -24
- package/build/src/http-server/development-reloader.d.ts.map +1 -1
- package/build/src/http-server/development-reloader.js +2 -2
- package/build/src/http-server/index.d.ts +66 -72
- package/build/src/http-server/index.d.ts.map +1 -1
- package/build/src/http-server/index.js +6 -6
- package/build/src/http-server/remote-address.d.ts.map +1 -1
- package/build/src/http-server/remote-address.js +2 -2
- package/build/src/http-server/server-client.d.ts +9 -9
- package/build/src/http-server/server-client.d.ts.map +1 -1
- package/build/src/http-server/server-lock.d.ts +11 -11
- package/build/src/http-server/server-lock.d.ts.map +1 -1
- package/build/src/http-server/server-lock.js +5 -5
- package/build/src/http-server/websocket-channel-subscribers.d.ts +11 -10
- package/build/src/http-server/websocket-channel-subscribers.d.ts.map +1 -1
- package/build/src/http-server/websocket-channel-subscribers.js +6 -6
- package/build/src/http-server/websocket-channel.d.ts +8 -14
- package/build/src/http-server/websocket-channel.d.ts.map +1 -1
- package/build/src/http-server/websocket-channel.js +2 -2
- package/build/src/http-server/websocket-connection.d.ts +10 -10
- package/build/src/http-server/websocket-connection.d.ts.map +1 -1
- package/build/src/http-server/websocket-connection.js +4 -4
- package/build/src/http-server/websocket-event-log-store.d.ts +58 -64
- package/build/src/http-server/websocket-event-log-store.d.ts.map +1 -1
- package/build/src/http-server/websocket-event-log-store.js +10 -10
- package/build/src/http-server/websocket-events-host.d.ts +17 -16
- package/build/src/http-server/websocket-events-host.d.ts.map +1 -1
- package/build/src/http-server/websocket-events-host.js +8 -8
- package/build/src/http-server/websocket-events.d.ts +9 -9
- package/build/src/http-server/websocket-events.d.ts.map +1 -1
- package/build/src/http-server/websocket-events.js +5 -5
- package/build/src/http-server/worker-handler/channel-subscriber-dispatch.d.ts +2 -2
- package/build/src/http-server/worker-handler/channel-subscriber-dispatch.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/channel-subscriber-dispatch.js +2 -2
- package/build/src/http-server/worker-handler/in-process.d.ts +22 -22
- package/build/src/http-server/worker-handler/in-process.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/in-process.js +6 -6
- package/build/src/http-server/worker-handler/index.d.ts +50 -50
- package/build/src/http-server/worker-handler/index.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/index.js +11 -11
- package/build/src/http-server/worker-handler/worker-thread.d.ts +61 -61
- package/build/src/http-server/worker-handler/worker-thread.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/worker-thread.js +9 -9
- package/build/src/initializer.d.ts +2 -2
- package/build/src/initializer.d.ts.map +1 -1
- package/build/src/jobs/mail-delivery.d.ts +7 -2
- package/build/src/jobs/mail-delivery.d.ts.map +1 -1
- package/build/src/jobs/prune-terminal-background-jobs.d.ts +15 -2
- package/build/src/jobs/prune-terminal-background-jobs.d.ts.map +1 -1
- package/build/src/jobs/prune-terminal-background-jobs.js +1 -1
- package/build/src/logger/base-logger.d.ts.map +1 -1
- package/build/src/logger/base-logger.js +2 -2
- package/build/src/logger/console-logger.d.ts +3 -3
- package/build/src/logger/console-logger.d.ts.map +1 -1
- package/build/src/logger/file-logger.d.ts +4 -4
- package/build/src/logger/file-logger.d.ts.map +1 -1
- package/build/src/logger/outputs/array-output.d.ts +9 -12
- package/build/src/logger/outputs/array-output.d.ts.map +1 -1
- package/build/src/logger/outputs/console-output.d.ts +1 -4
- package/build/src/logger/outputs/console-output.d.ts.map +1 -1
- package/build/src/logger/outputs/file-output.d.ts +13 -16
- package/build/src/logger/outputs/file-output.d.ts.map +1 -1
- package/build/src/logger/outputs/stdout-output.d.ts +1 -4
- package/build/src/logger/outputs/stdout-output.d.ts.map +1 -1
- package/build/src/logger.d.ts +30 -29
- package/build/src/logger.d.ts.map +1 -1
- package/build/src/logger.js +13 -13
- package/build/src/mailer/backends/smtp.d.ts +8 -11
- package/build/src/mailer/backends/smtp.d.ts.map +1 -1
- package/build/src/mailer/backends/smtp.js +4 -4
- package/build/src/mailer/base.d.ts +61 -61
- package/build/src/mailer/base.d.ts.map +1 -1
- package/build/src/mailer/base.js +15 -15
- package/build/src/mailer/delivery.d.ts +16 -16
- package/build/src/mailer/delivery.d.ts.map +1 -1
- package/build/src/mailer/delivery.js +4 -4
- package/build/src/mailer/index.d.ts +8 -13
- package/build/src/mailer/index.d.ts.map +1 -1
- package/build/src/mailer/index.js +2 -2
- package/build/src/mailer.d.ts +9 -7
- package/build/src/mailer.d.ts.map +1 -1
- package/build/src/mailer.js +2 -2
- package/build/src/packages/velocious-package.d.ts +5 -5
- package/build/src/packages/velocious-package.d.ts.map +1 -1
- package/build/src/plugins/sqljs-wasm-route-controller.d.ts +1 -1
- package/build/src/plugins/sqljs-wasm-route-controller.d.ts.map +1 -1
- package/build/src/plugins/sqljs-wasm-route-controller.js +2 -2
- package/build/src/plugins/sqljs-wasm-route.d.ts +14 -20
- package/build/src/plugins/sqljs-wasm-route.d.ts.map +1 -1
- package/build/src/plugins/sqljs-wasm-route.js +1 -1
- package/build/src/record-payload-values.d.ts +14 -14
- package/build/src/record-payload-values.d.ts.map +1 -1
- package/build/src/record-payload-values.js +4 -4
- package/build/src/routes/app-routes.d.ts.map +1 -1
- package/build/src/routes/base-route.d.ts +11 -10
- package/build/src/routes/base-route.d.ts.map +1 -1
- package/build/src/routes/base-route.js +6 -6
- package/build/src/routes/basic-route.d.ts +36 -3
- package/build/src/routes/basic-route.d.ts.map +1 -1
- package/build/src/routes/basic-route.js +5 -5
- package/build/src/routes/built-in/api-manifest/controller.d.ts +1 -1
- package/build/src/routes/built-in/api-manifest/controller.d.ts.map +1 -1
- package/build/src/routes/built-in/debug/controller.d.ts +1 -1
- package/build/src/routes/built-in/debug/controller.d.ts.map +1 -1
- package/build/src/routes/built-in/errors/controller.d.ts +1 -1
- package/build/src/routes/built-in/errors/controller.d.ts.map +1 -1
- package/build/src/routes/get-route.d.ts +19 -4
- package/build/src/routes/get-route.d.ts.map +1 -1
- package/build/src/routes/get-route.js +3 -3
- package/build/src/routes/hooks/frontend-model-command-route-hook.d.ts +1 -1
- package/build/src/routes/hooks/frontend-model-command-route-hook.d.ts.map +1 -1
- package/build/src/routes/hooks/frontend-model-command-route-hook.js +2 -2
- package/build/src/routes/index.d.ts +5 -5
- package/build/src/routes/index.d.ts.map +1 -1
- package/build/src/routes/index.js +4 -4
- package/build/src/routes/namespace-route.d.ts +19 -4
- package/build/src/routes/namespace-route.d.ts.map +1 -1
- package/build/src/routes/namespace-route.js +2 -2
- package/build/src/routes/plugin-routes.d.ts +16 -19
- package/build/src/routes/plugin-routes.d.ts.map +1 -1
- package/build/src/routes/plugin-routes.js +2 -2
- package/build/src/routes/post-route.d.ts +19 -4
- package/build/src/routes/post-route.d.ts.map +1 -1
- package/build/src/routes/post-route.js +3 -3
- package/build/src/routes/resolver.d.ts +16 -16
- package/build/src/routes/resolver.d.ts.map +1 -1
- package/build/src/routes/resolver.js +6 -6
- package/build/src/routes/resource-route.d.ts +23 -8
- package/build/src/routes/resource-route.d.ts.map +1 -1
- package/build/src/routes/resource-route.js +2 -2
- package/build/src/routes/root-route.d.ts +1 -1
- package/build/src/routes/root-route.d.ts.map +1 -1
- package/build/src/sync/conflict-strategy.d.ts +50 -35
- package/build/src/sync/conflict-strategy.d.ts.map +1 -1
- package/build/src/sync/conflict-strategy.js +2 -2
- package/build/src/sync/device-identity.d.ts +109 -79
- package/build/src/sync/device-identity.d.ts.map +1 -1
- package/build/src/sync/local-mutation-log.d.ts +115 -92
- package/build/src/sync/local-mutation-log.d.ts.map +1 -1
- package/build/src/sync/offline-grant.d.ts +80 -63
- package/build/src/sync/offline-grant.d.ts.map +1 -1
- package/build/src/sync/peer-mutation-bundle.d.ts +33 -39
- package/build/src/sync/peer-mutation-bundle.d.ts.map +1 -1
- package/build/src/sync/query-scope.d.ts +3 -3
- package/build/src/sync/query-scope.d.ts.map +1 -1
- package/build/src/sync/query-scope.js +8 -8
- package/build/src/sync/server-change-feed.d.ts +129 -129
- package/build/src/sync/server-change-feed.d.ts.map +1 -1
- package/build/src/sync/server-change-feed.js +14 -14
- package/build/src/sync/server-sequence-allocator.d.ts +36 -36
- package/build/src/sync/server-sequence-allocator.d.ts.map +1 -1
- package/build/src/sync/server-sequence-allocator.js +6 -6
- package/build/src/sync/signed-sync-envelope-replay-service.d.ts +60 -48
- package/build/src/sync/signed-sync-envelope-replay-service.d.ts.map +1 -1
- package/build/src/sync/signed-sync-envelope-replay-service.js +21 -21
- package/build/src/sync/stable-json.d.ts +2 -2
- package/build/src/sync/stable-json.d.ts.map +1 -1
- package/build/src/sync/stable-json.js +5 -5
- package/build/src/sync/sync-api-client-types.d.ts +98 -25
- package/build/src/sync/sync-api-client-types.d.ts.map +1 -1
- package/build/src/sync/sync-api-client-types.js +73 -1
- package/build/src/sync/sync-api-client.d.ts +71 -71
- package/build/src/sync/sync-api-client.d.ts.map +1 -1
- package/build/src/sync/sync-api-client.js +30 -30
- package/build/src/sync/sync-api-controller.d.ts +23 -23
- package/build/src/sync/sync-api-controller.d.ts.map +1 -1
- package/build/src/sync/sync-change-fanout.d.ts +32 -38
- package/build/src/sync/sync-change-fanout.d.ts.map +1 -1
- package/build/src/sync/sync-change-fanout.js +7 -7
- package/build/src/sync/sync-channel-name.d.ts +1 -1
- package/build/src/sync/sync-channel-name.d.ts.map +1 -1
- package/build/src/sync/sync-client-registry.d.ts +4 -4
- package/build/src/sync/sync-client-registry.d.ts.map +1 -1
- package/build/src/sync/sync-client-registry.js +4 -4
- package/build/src/sync/sync-client-types.d.ts +130 -82
- package/build/src/sync/sync-client-types.d.ts.map +1 -1
- package/build/src/sync/sync-client-types.js +89 -1
- package/build/src/sync/sync-client.d.ts +76 -76
- package/build/src/sync/sync-client.d.ts.map +1 -1
- package/build/src/sync/sync-client.js +19 -19
- package/build/src/sync/sync-envelope-replay-service.d.ts +266 -298
- package/build/src/sync/sync-envelope-replay-service.d.ts.map +1 -1
- package/build/src/sync/sync-envelope-replay-service.js +77 -77
- package/build/src/sync/sync-model-change-feed-service.d.ts +23 -23
- package/build/src/sync/sync-model-change-feed-service.d.ts.map +1 -1
- package/build/src/sync/sync-model-change-feed-service.js +8 -8
- package/build/src/sync/sync-publish-suppression.d.ts +5 -5
- package/build/src/sync/sync-publish-suppression.d.ts.map +1 -1
- package/build/src/sync/sync-publish-suppression.js +3 -3
- package/build/src/sync/sync-publisher-types.d.ts +98 -55
- package/build/src/sync/sync-publisher-types.d.ts.map +1 -1
- package/build/src/sync/sync-publisher-types.js +75 -1
- package/build/src/sync/sync-publisher.d.ts +43 -43
- package/build/src/sync/sync-publisher.d.ts.map +1 -1
- package/build/src/sync/sync-publisher.js +20 -20
- package/build/src/sync/sync-realtime-bridge.d.ts +23 -23
- package/build/src/sync/sync-realtime-bridge.d.ts.map +1 -1
- package/build/src/sync/sync-realtime-bridge.js +9 -9
- package/build/src/sync/sync-replay-upsert-applier.d.ts +70 -70
- package/build/src/sync/sync-replay-upsert-applier.d.ts.map +1 -1
- package/build/src/sync/sync-replay-upsert-applier.js +17 -17
- package/build/src/sync/sync-resource-base.d.ts +52 -51
- package/build/src/sync/sync-resource-base.d.ts.map +1 -1
- package/build/src/sync/sync-resource-base.js +15 -15
- package/build/src/sync/sync-scope-attributes.d.ts +2 -2
- package/build/src/sync/sync-scope-attributes.d.ts.map +1 -1
- package/build/src/sync/sync-scope-attributes.js +2 -2
- package/build/src/sync/sync-scope-store.d.ts +36 -36
- package/build/src/sync/sync-scope-store.d.ts.map +1 -1
- package/build/src/sync/sync-scope-store.js +6 -6
- package/build/src/sync/sync-websocket-channel.d.ts +11 -6
- package/build/src/sync/sync-websocket-channel.d.ts.map +1 -1
- package/build/src/sync/sync-websocket-channel.js +6 -6
- package/build/src/tenants/default-tenant-database-provisioning.d.ts +4 -4
- package/build/src/tenants/default-tenant-database-provisioning.d.ts.map +1 -1
- package/build/src/tenants/default-tenant-database-provisioning.js +2 -2
- package/build/src/tenants/tenant-aggregator.d.ts +81 -81
- package/build/src/tenants/tenant-aggregator.d.ts.map +1 -1
- package/build/src/tenants/tenant-aggregator.js +13 -13
- package/build/src/tenants/tenant-handle.d.ts +64 -0
- package/build/src/tenants/tenant-handle.d.ts.map +1 -0
- package/build/src/tenants/tenant-handle.js +221 -0
- package/build/src/tenants/tenant-iterator.d.ts +17 -17
- package/build/src/tenants/tenant-iterator.d.ts.map +1 -1
- package/build/src/tenants/tenant-iterator.js +7 -7
- package/build/src/tenants/tenant-model-scope.d.ts +73 -0
- package/build/src/tenants/tenant-model-scope.d.ts.map +1 -0
- package/build/src/tenants/tenant-model-scope.js +115 -0
- package/build/src/tenants/tenant.d.ts +16 -6
- package/build/src/tenants/tenant.d.ts.map +1 -1
- package/build/src/tenants/tenant.js +15 -3
- package/build/src/testing/base-expect.d.ts.map +1 -1
- package/build/src/testing/browser-frontend-model-event-hook-scenarios.d.ts +19 -31
- package/build/src/testing/browser-frontend-model-event-hook-scenarios.d.ts.map +1 -1
- package/build/src/testing/browser-test-app.js +6 -6
- package/build/src/testing/expect-to-change.d.ts +9 -7
- package/build/src/testing/expect-to-change.d.ts.map +1 -1
- package/build/src/testing/expect-to-change.js +2 -2
- package/build/src/testing/expect-utils.d.ts +30 -29
- package/build/src/testing/expect-utils.d.ts.map +1 -1
- package/build/src/testing/expect-utils.js +30 -30
- package/build/src/testing/expect.d.ts +30 -30
- package/build/src/testing/expect.d.ts.map +1 -1
- package/build/src/testing/expect.js +19 -19
- package/build/src/testing/factory/association-declaration.d.ts +16 -16
- package/build/src/testing/factory/association-declaration.d.ts.map +1 -1
- package/build/src/testing/factory/association-declaration.js +3 -3
- package/build/src/testing/factory/declarations.d.ts +90 -115
- package/build/src/testing/factory/declarations.d.ts.map +1 -1
- package/build/src/testing/factory/declarations.js +6 -6
- package/build/src/testing/factory/definition-builder.d.ts +72 -70
- package/build/src/testing/factory/definition-builder.d.ts.map +1 -1
- package/build/src/testing/factory/definition-builder.js +40 -40
- package/build/src/testing/factory/errors.d.ts +30 -29
- package/build/src/testing/factory/errors.d.ts.map +1 -1
- package/build/src/testing/factory/evaluation-context.d.ts +29 -29
- package/build/src/testing/factory/evaluation-context.d.ts.map +1 -1
- package/build/src/testing/factory/evaluation-context.js +17 -17
- package/build/src/testing/factory/events.d.ts +4 -5
- package/build/src/testing/factory/events.d.ts.map +1 -1
- package/build/src/testing/factory/factory-definition.d.ts +14 -14
- package/build/src/testing/factory/factory-definition.d.ts.map +1 -1
- package/build/src/testing/factory/factory-definition.js +3 -3
- package/build/src/testing/factory/factory-registry.d.ts +56 -54
- package/build/src/testing/factory/factory-registry.d.ts.map +1 -1
- package/build/src/testing/factory/factory-registry.js +35 -35
- package/build/src/testing/factory/factory-runner.d.ts +67 -73
- package/build/src/testing/factory/factory-runner.d.ts.map +1 -1
- package/build/src/testing/factory/factory-runner.js +9 -9
- package/build/src/testing/factory/index.d.ts +7 -7
- package/build/src/testing/factory/index.d.ts.map +1 -1
- package/build/src/testing/factory/linter.d.ts +7 -7
- package/build/src/testing/factory/linter.d.ts.map +1 -1
- package/build/src/testing/factory/linter.js +3 -3
- package/build/src/testing/factory/model-contract.d.ts +3 -3
- package/build/src/testing/factory/model-contract.d.ts.map +1 -1
- package/build/src/testing/factory/model-contract.js +4 -4
- package/build/src/testing/factory/node/load-definitions.d.ts +2 -2
- package/build/src/testing/factory/node/load-definitions.d.ts.map +1 -1
- package/build/src/testing/factory/sequence.d.ts +19 -23
- package/build/src/testing/factory/sequence.d.ts.map +1 -1
- package/build/src/testing/factory/sequence.js +3 -3
- package/build/src/testing/factory/strategies/attributes-for.d.ts +3 -3
- package/build/src/testing/factory/strategies/attributes-for.d.ts.map +1 -1
- package/build/src/testing/factory/strategies/attributes-for.js +2 -2
- package/build/src/testing/factory/strategies/base.d.ts +32 -32
- package/build/src/testing/factory/strategies/base.d.ts.map +1 -1
- package/build/src/testing/factory/strategies/base.js +25 -25
- package/build/src/testing/factory/strategies/build.d.ts +3 -3
- package/build/src/testing/factory/strategies/build.d.ts.map +1 -1
- package/build/src/testing/factory/strategies/build.js +3 -3
- package/build/src/testing/factory/strategies/create.d.ts +6 -6
- package/build/src/testing/factory/strategies/create.d.ts.map +1 -1
- package/build/src/testing/factory/strategies/create.js +5 -5
- package/build/src/testing/factory/trait-definition.d.ts +4 -4
- package/build/src/testing/factory/trait-definition.d.ts.map +1 -1
- package/build/src/testing/request-client.d.ts +19 -19
- package/build/src/testing/request-client.d.ts.map +1 -1
- package/build/src/testing/test-files-finder.d.ts +15 -15
- package/build/src/testing/test-files-finder.d.ts.map +1 -1
- package/build/src/testing/test-files-finder.js +2 -2
- package/build/src/testing/test-filter-parser.d.ts +19 -12
- package/build/src/testing/test-filter-parser.d.ts.map +1 -1
- package/build/src/testing/test-runner.d.ts +204 -251
- package/build/src/testing/test-runner.d.ts.map +1 -1
- package/build/src/testing/test-runner.js +15 -15
- package/build/src/testing/test-suite-splitter.d.ts +25 -31
- package/build/src/testing/test-suite-splitter.d.ts.map +1 -1
- package/build/src/testing/test.d.ts +51 -55
- package/build/src/testing/test.d.ts.map +1 -1
- package/build/src/testing/test.js +20 -18
- package/build/src/testing/wait-for-event.d.ts +25 -25
- package/build/src/testing/wait-for-event.d.ts.map +1 -1
- package/build/src/testing/wait-for-event.js +6 -6
- package/build/src/time-zone.d.ts +3 -3
- package/build/src/time-zone.d.ts.map +1 -1
- package/build/src/utils/backtrace-cleaner-node.d.ts +35 -2
- package/build/src/utils/backtrace-cleaner-node.d.ts.map +1 -1
- package/build/src/utils/backtrace-cleaner-node.js +1 -1
- package/build/src/utils/backtrace-cleaner.d.ts +33 -28
- package/build/src/utils/backtrace-cleaner.d.ts.map +1 -1
- package/build/src/utils/bearer-token.d.ts +2 -2
- package/build/src/utils/bearer-token.d.ts.map +1 -1
- package/build/src/utils/deburr-column-name.d.ts.map +1 -1
- package/build/src/utils/event-emitter.d.ts +1 -1
- package/build/src/utils/event-emitter.d.ts.map +1 -1
- package/build/src/utils/event-emitter.js +2 -2
- package/build/src/utils/file-exists.d.ts.map +1 -1
- package/build/src/utils/format-value.d.ts +9 -8
- package/build/src/utils/format-value.d.ts.map +1 -1
- package/build/src/utils/format-value.js +7 -7
- package/build/src/utils/is-date.d.ts +2 -2
- package/build/src/utils/is-date.d.ts.map +1 -1
- package/build/src/utils/is-date.js +2 -2
- package/build/src/utils/model-scope.d.ts +29 -24
- package/build/src/utils/model-scope.d.ts.map +1 -1
- package/build/src/utils/model-scope.js +11 -11
- package/build/src/utils/mount-prefix.d.ts +2 -2
- package/build/src/utils/mount-prefix.d.ts.map +1 -1
- package/build/src/utils/nest-callbacks.d.ts.map +1 -1
- package/build/src/utils/plain-object.d.ts +3 -3
- package/build/src/utils/plain-object.d.ts.map +1 -1
- package/build/src/utils/plain-object.js +3 -3
- package/build/src/utils/ransack.d.ts +69 -90
- package/build/src/utils/ransack.d.ts.map +1 -1
- package/build/src/utils/ransack.js +36 -36
- package/build/src/utils/rest-args-error.d.ts.map +1 -1
- package/build/src/utils/sha256-hex.d.ts.map +1 -1
- package/build/src/utils/shutdown-lifecycle.d.ts +1 -1
- package/build/src/utils/shutdown-lifecycle.d.ts.map +1 -1
- package/build/src/utils/singularize-model-name.d.ts.map +1 -1
- package/build/src/utils/split-sql-statements.d.ts.map +1 -1
- package/build/src/utils/to-import-specifier.d.ts.map +1 -1
- package/build/src/utils/with-tracked-stack-async-hooks.d.ts +6 -5
- package/build/src/utils/with-tracked-stack-async-hooks.d.ts.map +1 -1
- package/build/src/utils/with-tracked-stack-async-hooks.js +9 -9
- package/build/src/utils/with-tracked-stack.d.ts +6 -5
- package/build/src/utils/with-tracked-stack.d.ts.map +1 -1
- package/build/src/utils/with-tracked-stack.js +7 -7
- package/build/src/velocious-error.d.ts +27 -17
- package/build/src/velocious-error.d.ts.map +1 -1
- package/build/src/velocious-error.js +10 -4
- package/build/sync/conflict-strategy.js +1 -1
- package/build/sync/query-scope.js +7 -7
- package/build/sync/server-change-feed.js +13 -13
- package/build/sync/server-sequence-allocator.js +5 -5
- package/build/sync/signed-sync-envelope-replay-service.js +20 -20
- package/build/sync/stable-json.js +4 -4
- package/build/sync/sync-api-client-types.js +7 -7
- package/build/sync/sync-api-client.js +26 -26
- package/build/sync/sync-change-fanout.js +6 -6
- package/build/sync/sync-client-registry.js +3 -3
- package/build/sync/sync-client-types.js +10 -10
- package/build/sync/sync-client.js +18 -18
- package/build/sync/sync-envelope-replay-service.js +76 -76
- package/build/sync/sync-model-change-feed-service.js +7 -7
- package/build/sync/sync-publish-suppression.js +2 -2
- package/build/sync/sync-publisher-types.js +11 -11
- package/build/sync/sync-publisher.js +19 -19
- package/build/sync/sync-realtime-bridge.js +8 -8
- package/build/sync/sync-replay-upsert-applier.js +16 -16
- package/build/sync/sync-resource-base.js +14 -14
- package/build/sync/sync-scope-attributes.js +1 -1
- package/build/sync/sync-scope-store.js +5 -5
- package/build/sync/sync-websocket-channel.js +5 -5
- package/build/tenants/default-tenant-database-provisioning.js +1 -1
- package/build/tenants/tenant-aggregator.js +13 -13
- package/build/tenants/tenant-handle.js +252 -0
- package/build/tenants/tenant-iterator.js +6 -6
- package/build/tenants/tenant-model-scope.js +132 -0
- package/build/tenants/tenant.js +15 -2
- package/build/testing/browser-test-app.js +2 -2
- package/build/testing/expect-to-change.js +1 -1
- package/build/testing/expect-utils.js +29 -29
- package/build/testing/expect.js +18 -18
- package/build/testing/factory/association-declaration.js +2 -2
- package/build/testing/factory/declarations.js +5 -5
- package/build/testing/factory/definition-builder.js +39 -39
- package/build/testing/factory/evaluation-context.js +16 -16
- package/build/testing/factory/factory-definition.js +2 -2
- package/build/testing/factory/factory-registry.js +34 -34
- package/build/testing/factory/factory-runner.js +8 -8
- package/build/testing/factory/linter.js +2 -2
- package/build/testing/factory/model-contract.js +3 -3
- package/build/testing/factory/sequence.js +2 -2
- package/build/testing/factory/strategies/attributes-for.js +1 -1
- package/build/testing/factory/strategies/base.js +24 -24
- package/build/testing/factory/strategies/build.js +2 -2
- package/build/testing/factory/strategies/create.js +4 -4
- package/build/testing/test-files-finder.js +1 -1
- package/build/testing/test-runner.js +14 -14
- package/build/testing/test.js +19 -17
- package/build/testing/wait-for-event.js +5 -5
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/utils/event-emitter.js +1 -1
- package/build/utils/format-value.js +6 -6
- package/build/utils/is-date.js +1 -1
- package/build/utils/model-scope.js +10 -10
- package/build/utils/plain-object.js +2 -2
- package/build/utils/ransack.js +35 -35
- package/build/utils/with-tracked-stack-async-hooks.js +8 -8
- package/build/utils/with-tracked-stack.js +6 -6
- package/build/velocious-error.js +9 -3
- package/package.json +3 -3
- package/src/application.js +3 -3
- package/src/authorization/ability.js +6 -6
- package/src/authorization/base-resource.js +1 -1
- package/src/background-jobs/client.js +2 -2
- package/src/background-jobs/forked-runner-child.js +4 -4
- package/src/background-jobs/job-runner.js +2 -2
- package/src/background-jobs/job.js +6 -6
- package/src/background-jobs/json-socket.js +1 -1
- package/src/background-jobs/main.js +13 -13
- package/src/background-jobs/normalize-error.js +2 -2
- package/src/background-jobs/pooled-runner-child.js +3 -3
- package/src/background-jobs/scheduler.js +1 -1
- package/src/background-jobs/status-reporter.js +2 -2
- package/src/background-jobs/store.js +23 -23
- package/src/background-jobs/types.js +6 -6
- package/src/background-jobs/web/controller.js +6 -6
- package/src/background-jobs/web/counts-channel.js +1 -1
- package/src/background-jobs/worker.js +8 -8
- package/src/beacon/client.js +3 -3
- package/src/beacon/in-process-client.js +3 -3
- package/src/beacon/types.js +1 -1
- package/src/cli/base-command.js +1 -1
- package/src/cli/commands/console.js +1 -1
- package/src/cli/commands/db/schema/dump.js +1 -1
- package/src/cli/commands/db/schema/load.js +1 -1
- package/src/cli/commands/db/seed.js +1 -1
- package/src/cli/commands/generate/frontend-models.js +1 -1
- package/src/cli/commands/lint/relationships.js +1 -1
- package/src/cli/commands/run-script.js +1 -1
- package/src/cli/commands/runner.js +1 -1
- package/src/cli/index.js +2 -2
- package/src/cli/tenant-database-command-helper.js +2 -2
- package/src/configuration-types.js +48 -47
- package/src/configuration.js +150 -65
- package/src/controller.js +11 -8
- package/src/current.js +2 -2
- package/src/database/annotations-async-hooks.js +3 -3
- package/src/database/annotations.js +1 -1
- package/src/database/drivers/base-column.js +1 -1
- package/src/database/drivers/base-foreign-key.js +1 -1
- package/src/database/drivers/base-table.js +1 -1
- package/src/database/drivers/base.js +18 -18
- package/src/database/drivers/mssql/column.js +1 -1
- package/src/database/drivers/mssql/index.js +2 -2
- package/src/database/drivers/mssql/options.js +1 -1
- package/src/database/drivers/mssql/structure-sql.js +1 -1
- package/src/database/drivers/mssql/table.js +1 -1
- package/src/database/drivers/mysql/column.js +1 -1
- package/src/database/drivers/mysql/index.js +4 -4
- package/src/database/drivers/mysql/options.js +1 -1
- package/src/database/drivers/mysql/query.js +7 -7
- package/src/database/drivers/mysql/structure-sql.js +71 -10
- package/src/database/drivers/pgsql/column.js +1 -1
- package/src/database/drivers/pgsql/index.js +6 -6
- package/src/database/drivers/pgsql/structure-sql.js +1 -1
- package/src/database/drivers/sqlite/base.js +7 -7
- package/src/database/drivers/sqlite/column.js +1 -1
- package/src/database/drivers/sqlite/connection-sql-js.js +1 -1
- package/src/database/drivers/sqlite/foreign-key.js +1 -1
- package/src/database/drivers/sqlite/index.js +1 -1
- package/src/database/drivers/sqlite/index.native.js +2 -2
- package/src/database/drivers/sqlite/index.web.js +2 -2
- package/src/database/drivers/sqlite/query.js +2 -2
- package/src/database/drivers/sqlite/query.native.js +2 -2
- package/src/database/drivers/sqlite/query.web.js +2 -2
- package/src/database/drivers/sqlite/table-rebuilder.js +1 -1
- package/src/database/migration/index.js +2 -2
- package/src/database/migrator/types.js +2 -2
- package/src/database/operation.js +59 -6
- package/src/database/pool/async-tracked-multi-connection.js +75 -24
- package/src/database/pool/base-methods-forward.js +2 -2
- package/src/database/pool/base.js +48 -17
- package/src/database/pool/single-multi-use.js +501 -103
- package/src/database/query/delete-base.js +1 -1
- package/src/database/query/index.js +3 -3
- package/src/database/query/insert-base.js +4 -4
- package/src/database/query/model-class-query.js +39 -39
- package/src/database/query/preloader/belongs-to.js +2 -2
- package/src/database/query/preloader/ensure-model-class-initialized.js +3 -2
- package/src/database/query/preloader/has-many.js +3 -3
- package/src/database/query/preloader/has-one.js +1 -1
- package/src/database/query/preloader.js +9 -2
- package/src/database/query/query-data.js +7 -7
- package/src/database/query/update-base.js +3 -3
- package/src/database/query/upsert-base.js +2 -2
- package/src/database/query/where-model-class-hash.js +13 -13
- package/src/database/query/with-count.js +12 -12
- package/src/database/query-parser/options.js +2 -2
- package/src/database/query-parser/select-parser.js +1 -1
- package/src/database/record/acts-as-list.js +2 -2
- package/src/database/record/attachments/handle.js +6 -6
- package/src/database/record/attachments/normalize-input.js +11 -11
- package/src/database/record/attachments/storage-drivers/filesystem.js +1 -1
- package/src/database/record/attachments/storage-drivers/native.js +5 -5
- package/src/database/record/attachments/storage-drivers/s3.js +10 -10
- package/src/database/record/attachments/store.js +24 -20
- package/src/database/record/auditing.js +123 -29
- package/src/database/record/counter-cache-magnitude.js +11 -11
- package/src/database/record/index.js +227 -174
- package/src/database/record/instance-relationships/base.js +4 -4
- package/src/database/record/instance-relationships/belongs-to.js +1 -1
- package/src/database/record/instance-relationships/has-many.js +3 -3
- package/src/database/record/instance-relationships/has-one.js +1 -1
- package/src/database/record/record-not-found-error.js +1 -0
- package/src/database/record/relationships/base.js +22 -0
- package/src/database/record/state-machine.js +6 -6
- package/src/database/record/validators/base.js +1 -1
- package/src/database/structure-sql-loader.js +3 -3
- package/src/database/table-data/table-column.js +3 -3
- package/src/database/use-live-query.js +3 -3
- package/src/environment-handlers/base.js +56 -37
- package/src/environment-handlers/browser.js +1 -1
- package/src/environment-handlers/node/cli/commands/console.js +4 -4
- package/src/environment-handlers/node/cli/commands/db/seed.js +2 -2
- package/src/environment-handlers/node/cli/commands/generate/base-models.js +1 -1
- package/src/environment-handlers/node/cli/commands/run-script.js +2 -2
- package/src/environment-handlers/node/cli/commands/runner.js +2 -2
- package/src/environment-handlers/node/cli/commands/server.js +1 -1
- package/src/environment-handlers/node.js +36 -36
- package/src/error-logger.js +2 -2
- package/src/error-reporting/request-details.js +32 -32
- package/src/frontend-model-controller.js +215 -213
- package/src/frontend-model-resource/base-resource.js +44 -44
- package/src/frontend-model-resource/velocious-attachment-resource.js +1 -1
- package/src/frontend-models/base.js +146 -142
- package/src/frontend-models/clear-pending-debounced-callback.js +2 -2
- package/src/frontend-models/model-registry.js +4 -4
- package/src/frontend-models/outgoing-event-buffer.js +1 -1
- package/src/frontend-models/preloader.js +1 -1
- package/src/frontend-models/query.js +60 -60
- package/src/frontend-models/resource-definition.js +9 -9
- package/src/frontend-models/transport-serialization.js +27 -27
- package/src/frontend-models/websocket-channel.js +4 -4
- package/src/frontend-models/websocket-publishers.js +1 -1
- package/src/http-client/request.js +1 -1
- package/src/http-client/response.js +1 -1
- package/src/http-server/client/index.js +4 -4
- package/src/http-server/client/params-to-object.js +16 -16
- package/src/http-server/client/request-buffer/index.js +5 -2
- package/src/http-server/client/request-parser.js +2 -2
- package/src/http-server/client/request-runner.js +2 -2
- package/src/http-server/client/request.js +2 -2
- package/src/http-server/client/websocket-request.js +6 -6
- package/src/http-server/client/websocket-session.js +28 -28
- package/src/http-server/cookie.js +2 -2
- package/src/http-server/development-reloader.js +1 -1
- package/src/http-server/index.js +5 -5
- package/src/http-server/remote-address.js +1 -1
- package/src/http-server/server-lock.js +4 -4
- package/src/http-server/websocket-channel-subscribers.js +4 -4
- package/src/http-server/websocket-channel.js +1 -1
- package/src/http-server/websocket-connection.js +3 -3
- package/src/http-server/websocket-event-log-store.js +9 -9
- package/src/http-server/websocket-events-host.js +7 -7
- package/src/http-server/websocket-events.js +4 -4
- package/src/http-server/worker-handler/channel-subscriber-dispatch.js +1 -1
- package/src/http-server/worker-handler/in-process.js +5 -5
- package/src/http-server/worker-handler/index.js +10 -10
- package/src/http-server/worker-handler/worker-thread.js +8 -8
- package/src/logger/base-logger.js +1 -1
- package/src/logger.js +12 -12
- package/src/mailer/backends/smtp.js +3 -3
- package/src/mailer/base.js +14 -14
- package/src/mailer/delivery.js +3 -3
- package/src/mailer/index.js +1 -1
- package/src/mailer.js +1 -1
- package/src/plugins/sqljs-wasm-route-controller.js +1 -1
- package/src/record-payload-values.js +3 -3
- package/src/routes/base-route.js +5 -5
- package/src/routes/basic-route.js +4 -4
- package/src/routes/get-route.js +2 -2
- package/src/routes/hooks/frontend-model-command-route-hook.js +1 -1
- package/src/routes/index.js +3 -3
- package/src/routes/namespace-route.js +1 -1
- package/src/routes/plugin-routes.js +1 -1
- package/src/routes/post-route.js +2 -2
- package/src/routes/resolver.js +5 -5
- package/src/routes/resource-route.js +1 -1
- package/src/sync/conflict-strategy.js +1 -1
- package/src/sync/query-scope.js +7 -7
- package/src/sync/server-change-feed.js +13 -13
- package/src/sync/server-sequence-allocator.js +5 -5
- package/src/sync/signed-sync-envelope-replay-service.js +20 -20
- package/src/sync/stable-json.js +4 -4
- package/src/sync/sync-api-client-types.js +7 -7
- package/src/sync/sync-api-client.js +26 -26
- package/src/sync/sync-change-fanout.js +6 -6
- package/src/sync/sync-client-registry.js +3 -3
- package/src/sync/sync-client-types.js +10 -10
- package/src/sync/sync-client.js +18 -18
- package/src/sync/sync-envelope-replay-service.js +76 -76
- package/src/sync/sync-model-change-feed-service.js +7 -7
- package/src/sync/sync-publish-suppression.js +2 -2
- package/src/sync/sync-publisher-types.js +11 -11
- package/src/sync/sync-publisher.js +19 -19
- package/src/sync/sync-realtime-bridge.js +8 -8
- package/src/sync/sync-replay-upsert-applier.js +16 -16
- package/src/sync/sync-resource-base.js +14 -14
- package/src/sync/sync-scope-attributes.js +1 -1
- package/src/sync/sync-scope-store.js +5 -5
- package/src/sync/sync-websocket-channel.js +5 -5
- package/src/tenants/default-tenant-database-provisioning.js +1 -1
- package/src/tenants/tenant-aggregator.js +13 -13
- package/src/tenants/tenant-handle.js +252 -0
- package/src/tenants/tenant-iterator.js +6 -6
- package/src/tenants/tenant-model-scope.js +132 -0
- package/src/tenants/tenant.js +15 -2
- package/src/testing/browser-test-app.js +2 -2
- package/src/testing/expect-to-change.js +1 -1
- package/src/testing/expect-utils.js +29 -29
- package/src/testing/expect.js +18 -18
- package/src/testing/factory/association-declaration.js +2 -2
- package/src/testing/factory/declarations.js +5 -5
- package/src/testing/factory/definition-builder.js +39 -39
- package/src/testing/factory/evaluation-context.js +16 -16
- package/src/testing/factory/factory-definition.js +2 -2
- package/src/testing/factory/factory-registry.js +34 -34
- package/src/testing/factory/factory-runner.js +8 -8
- package/src/testing/factory/linter.js +2 -2
- package/src/testing/factory/model-contract.js +3 -3
- package/src/testing/factory/sequence.js +2 -2
- package/src/testing/factory/strategies/attributes-for.js +1 -1
- package/src/testing/factory/strategies/base.js +24 -24
- package/src/testing/factory/strategies/build.js +2 -2
- package/src/testing/factory/strategies/create.js +4 -4
- package/src/testing/test-files-finder.js +1 -1
- package/src/testing/test-runner.js +14 -14
- package/src/testing/test.js +19 -17
- package/src/testing/wait-for-event.js +5 -5
- package/src/utils/event-emitter.js +1 -1
- package/src/utils/format-value.js +6 -6
- package/src/utils/is-date.js +1 -1
- package/src/utils/model-scope.js +10 -10
- package/src/utils/plain-object.js +2 -2
- package/src/utils/ransack.js +35 -35
- package/src/utils/with-tracked-stack-async-hooks.js +8 -8
- package/src/utils/with-tracked-stack.js +6 -6
- package/src/velocious-error.js +9 -3
|
@@ -72,7 +72,7 @@ import {readPayloadAssociationCount, readPayloadComputedAbility, readPayloadQuer
|
|
|
72
72
|
*/
|
|
73
73
|
/**
|
|
74
74
|
* Attachment input accepted by frontend-model attachment helpers before normalization.
|
|
75
|
-
* @typedef {Record<string,
|
|
75
|
+
* @typedef {Record<string, ReturnType<typeof JSON.parse>> | {arrayBuffer: () => Promise<ArrayBuffer>, type?: string, name?: string} | null | undefined} FrontendModelAttachmentInput
|
|
76
76
|
*/
|
|
77
77
|
/**
|
|
78
78
|
* Defines this typedef.
|
|
@@ -130,7 +130,7 @@ import {readPayloadAssociationCount, readPayloadComputedAbility, readPayloadQuer
|
|
|
130
130
|
* @property {string | (() => string | undefined | null)} [url] - Optional frontend-model URL. This should be the shared endpoint (for example `"/frontend-models"` or `"https://example.com/frontend-models"`).
|
|
131
131
|
* @property {boolean} [shared] - Deprecated shared-endpoint flag retained for compatibility. Frontend-model CRUD/custom commands use the shared frontend-model API envelope by default.
|
|
132
132
|
* @property {string | (() => string | undefined | null)} [websocketUrl] - Optional websocket URL. When set, Velocious creates and manages its own websocket client internally. Subscriptions use the websocket; CRUD uses HTTP and falls back gracefully. Example: `"ws://localhost:3006/websocket"`.
|
|
133
|
-
* @property {{post: (path: string, body?:
|
|
133
|
+
* @property {{post: (path: string, body?: ReturnType<typeof JSON.parse>, options?: {headers?: Record<string, string>, signal?: AbortSignal}) => Promise<{json: () => ReturnType<typeof JSON.parse>}>, subscribe: (channel: string, options: {params?: Record<string, ReturnType<typeof JSON.parse>>}, callback: (payload: ReturnType<typeof JSON.parse>) => void) => (() => void), subscribeAndWait?: (channel: string, options: {params?: Record<string, ReturnType<typeof JSON.parse>>}, callback: (payload: ReturnType<typeof JSON.parse>) => void) => Promise<(() => void)>}} [websocketClient] - Optional websocket client for shared frontend-model API requests and subscriptions. Its `post` receives the bounded-deadline `signal` and should forward it into the underlying transport so the deadline can abort the live request and its response-body read.
|
|
134
134
|
* @property {Record<string, string> | (() => Record<string, string>)} [requestHeaders] - Extra HTTP/WS headers to attach to every frontend-model API request. Pass a function to compute them at request time (for example to include the current locale).
|
|
135
135
|
* @property {number | (() => number | undefined | null)} [timeout] - Bounded deadline in milliseconds covering connection, response headers, and response-body consumption for each frontend-model API request. On expiry the live fetch/adapter request is aborted (built on awaitery's `timeout`) and awaitery's `TimeoutError` is thrown, so callers can classify a timeout via `error instanceof TimeoutError`. Pass a function to resolve it per request. Falsy/absent means no deadline.
|
|
136
136
|
* @property {AbortSignal | (() => AbortSignal | undefined | null)} [signal] - Optional caller/session AbortSignal composed with the deadline. Aborting it cancels the live request (for example on session shutdown or offline transition); the resulting abort error stays distinguishable from a timeout. Pass a function to resolve the current signal per request.
|
|
@@ -157,7 +157,7 @@ const QUERY_DATA_KEY = "__queryData"
|
|
|
157
157
|
const ABILITIES_KEY = "__abilities"
|
|
158
158
|
/**
|
|
159
159
|
* Pending shared frontend model requests.
|
|
160
|
-
* @type {Array<{commandName?: string, commandType: FrontendModelRequestCommandType, customPath?: string, modelClass: FrontendModelClass, payload: Record<string,
|
|
160
|
+
* @type {Array<{commandName?: string, commandType: FrontendModelRequestCommandType, customPath?: string, modelClass: FrontendModelClass, payload: Record<string, ReturnType<typeof JSON.parse>>, requestId: string, resolve: (response: Record<string, ReturnType<typeof JSON.parse>>) => void, reject: (error: ReturnType<typeof JSON.parse>) => void, resourcePath?: string | null}>} */
|
|
161
161
|
let pendingSharedFrontendModelRequests = []
|
|
162
162
|
let sharedFrontendModelRequestId = 0
|
|
163
163
|
let sharedFrontendModelFlushScheduled = false
|
|
@@ -754,12 +754,12 @@ export class FrontendModelAttachmentDownload {
|
|
|
754
754
|
* Runs frontend model attachment command payload.
|
|
755
755
|
* @param {FrontendModelAttachmentHandle} attachment - Attachment wrapper.
|
|
756
756
|
* @param {string} [attachmentId] - Optional has-many attachment id.
|
|
757
|
-
* @returns {Record<string,
|
|
757
|
+
* @returns {Record<string, ReturnType<typeof JSON.parse>>} - Command payload.
|
|
758
758
|
*/
|
|
759
759
|
function frontendModelAttachmentCommandPayload(attachment, attachmentId) {
|
|
760
760
|
/**
|
|
761
761
|
* Payload.
|
|
762
|
-
* @type {Record<string,
|
|
762
|
+
* @type {Record<string, ReturnType<typeof JSON.parse>>} */
|
|
763
763
|
const payload = {
|
|
764
764
|
attachmentName: attachment.attachmentName,
|
|
765
765
|
id: attachment.model.primaryKeyValue()
|
|
@@ -772,7 +772,7 @@ function frontendModelAttachmentCommandPayload(attachment, attachmentId) {
|
|
|
772
772
|
|
|
773
773
|
/**
|
|
774
774
|
* Runs frontend attachment value is bytes.
|
|
775
|
-
* @param {
|
|
775
|
+
* @param {ReturnType<typeof JSON.parse>} value - Candidate value.
|
|
776
776
|
* @returns {boolean} - Whether value looks like byte data.
|
|
777
777
|
*/
|
|
778
778
|
function frontendAttachmentValueIsBytes(value) {
|
|
@@ -781,11 +781,11 @@ function frontendAttachmentValueIsBytes(value) {
|
|
|
781
781
|
|
|
782
782
|
/**
|
|
783
783
|
* Runs frontend attachment value supports array buffer.
|
|
784
|
-
* @param {
|
|
784
|
+
* @param {ReturnType<typeof JSON.parse>} value - Candidate value.
|
|
785
785
|
* @returns {value is {arrayBuffer: () => Promise<ArrayBuffer>}} - Whether candidate supports arrayBuffer().
|
|
786
786
|
*/
|
|
787
787
|
function frontendAttachmentValueSupportsArrayBuffer(value) {
|
|
788
|
-
return Boolean(value && typeof value === "object" && typeof /** @type {
|
|
788
|
+
return Boolean(value && typeof value === "object" && typeof /** @type {ReturnType<typeof JSON.parse>} */ (value).arrayBuffer === "function")
|
|
789
789
|
}
|
|
790
790
|
|
|
791
791
|
/**
|
|
@@ -796,7 +796,7 @@ function frontendAttachmentValueSupportsArrayBuffer(value) {
|
|
|
796
796
|
function frontendAttachmentNormalizeBytes(value) {
|
|
797
797
|
if (value instanceof Uint8Array) return value
|
|
798
798
|
if (value instanceof ArrayBuffer) return new Uint8Array(value)
|
|
799
|
-
if (typeof Buffer !== "undefined" && Buffer.isBuffer(/** @type {
|
|
799
|
+
if (typeof Buffer !== "undefined" && Buffer.isBuffer(/** @type {ReturnType<typeof JSON.parse>} */ (value))) {
|
|
800
800
|
return new Uint8Array(/** @type {Buffer} */ (value))
|
|
801
801
|
}
|
|
802
802
|
|
|
@@ -848,8 +848,8 @@ function frontendAttachmentBase64ToBytes(value) {
|
|
|
848
848
|
|
|
849
849
|
/**
|
|
850
850
|
* Runs frontend attachment value is plain object.
|
|
851
|
-
* @param {
|
|
852
|
-
* @returns {value is Record<string,
|
|
851
|
+
* @param {ReturnType<typeof JSON.parse>} value - Candidate value.
|
|
852
|
+
* @returns {value is Record<string, ReturnType<typeof JSON.parse>>} - Whether value is plain object.
|
|
853
853
|
*/
|
|
854
854
|
function frontendAttachmentValueIsPlainObject(value) {
|
|
855
855
|
if (!value || typeof value !== "object" || Array.isArray(value)) return false
|
|
@@ -861,7 +861,7 @@ function frontendAttachmentValueIsPlainObject(value) {
|
|
|
861
861
|
|
|
862
862
|
/**
|
|
863
863
|
* Runs frontend model payload contains attachment upload.
|
|
864
|
-
* @param {
|
|
864
|
+
* @param {ReturnType<typeof JSON.parse>} value - Payload candidate.
|
|
865
865
|
* @returns {boolean} - Whether payload contains an attachment upload body.
|
|
866
866
|
*/
|
|
867
867
|
function frontendModelPayloadContainsAttachmentUpload(value) {
|
|
@@ -976,8 +976,8 @@ function frontendModelSyncJsonObject(attributes) {
|
|
|
976
976
|
|
|
977
977
|
/**
|
|
978
978
|
* Runs normalize frontend attachment input.
|
|
979
|
-
* @param {
|
|
980
|
-
* @returns {Promise<Record<string,
|
|
979
|
+
* @param {ReturnType<typeof JSON.parse>} input - Attachment input.
|
|
980
|
+
* @returns {Promise<Record<string, ReturnType<typeof JSON.parse>>>} - Transport-safe attachment payload.
|
|
981
981
|
*/
|
|
982
982
|
async function normalizeFrontendAttachmentInput(input) {
|
|
983
983
|
if (frontendAttachmentValueIsPlainObject(input) && "file" in input) {
|
|
@@ -1011,11 +1011,11 @@ async function normalizeFrontendAttachmentInput(input) {
|
|
|
1011
1011
|
|
|
1012
1012
|
return {
|
|
1013
1013
|
contentBase64: frontendAttachmentBytesToBase64(bytes),
|
|
1014
|
-
contentType: typeof /** @type {
|
|
1015
|
-
? /** @type {
|
|
1014
|
+
contentType: typeof /** @type {ReturnType<typeof JSON.parse>} */ (input).type === "string" && /** @type {ReturnType<typeof JSON.parse>} */ (input).type.length > 0
|
|
1015
|
+
? /** @type {ReturnType<typeof JSON.parse>} */ (input).type
|
|
1016
1016
|
: null,
|
|
1017
|
-
filename: typeof /** @type {
|
|
1018
|
-
? /** @type {
|
|
1017
|
+
filename: typeof /** @type {ReturnType<typeof JSON.parse>} */ (input).name === "string" && /** @type {ReturnType<typeof JSON.parse>} */ (input).name.length > 0
|
|
1018
|
+
? /** @type {ReturnType<typeof JSON.parse>} */ (input).name
|
|
1019
1019
|
: "attachment.bin"
|
|
1020
1020
|
}
|
|
1021
1021
|
}
|
|
@@ -1091,7 +1091,7 @@ export class FrontendModelAttachmentHandle {
|
|
|
1091
1091
|
|
|
1092
1092
|
/**
|
|
1093
1093
|
* Builds the save payload for queued attachment inputs.
|
|
1094
|
-
* @returns {Promise<Record<string,
|
|
1094
|
+
* @returns {Promise<Record<string, ReturnType<typeof JSON.parse>> | Record<string, ReturnType<typeof JSON.parse>>[] | undefined>} Normalized attachment payload.
|
|
1095
1095
|
*/
|
|
1096
1096
|
async pendingAttachmentsPayload() {
|
|
1097
1097
|
if (this.pendingInputs.length === 0) return undefined
|
|
@@ -1113,7 +1113,7 @@ export class FrontendModelAttachmentHandle {
|
|
|
1113
1113
|
|
|
1114
1114
|
/**
|
|
1115
1115
|
* Runs attach.
|
|
1116
|
-
* @param {
|
|
1116
|
+
* @param {ReturnType<typeof JSON.parse>} input - Attachment input.
|
|
1117
1117
|
* @returns {Promise<void>} - Resolves when attached.
|
|
1118
1118
|
*/
|
|
1119
1119
|
async attach(input) {
|
|
@@ -1273,11 +1273,11 @@ function frontendModelTransportUrl() {
|
|
|
1273
1273
|
|
|
1274
1274
|
/**
|
|
1275
1275
|
* Runs clone frontend model attributes.
|
|
1276
|
-
* @param {Record<string,
|
|
1277
|
-
* @returns {Record<string,
|
|
1276
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>>} value - Attributes hash.
|
|
1277
|
+
* @returns {Record<string, ReturnType<typeof JSON.parse>>} - Cloned attributes hash.
|
|
1278
1278
|
*/
|
|
1279
1279
|
function cloneFrontendModelAttributes(value) {
|
|
1280
|
-
return /** @type {Record<string,
|
|
1280
|
+
return /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (deserializeFrontendModelTransportValue(serializeFrontendModelTransportValue(value)))
|
|
1281
1281
|
}
|
|
1282
1282
|
|
|
1283
1283
|
/**
|
|
@@ -1396,13 +1396,13 @@ function mergeFrontendModelEventProjectionPayload(target, source) {
|
|
|
1396
1396
|
|
|
1397
1397
|
/**
|
|
1398
1398
|
* Runs frontend model matched event filter keys.
|
|
1399
|
-
* @param {
|
|
1399
|
+
* @param {ReturnType<typeof JSON.parse>} body - Raw websocket event body.
|
|
1400
1400
|
* @returns {Set<string>} - Matched event filter keys delivered by the backend.
|
|
1401
1401
|
*/
|
|
1402
1402
|
function frontendModelMatchedEventFilterKeys(body) {
|
|
1403
1403
|
if (!body || typeof body !== "object") return new Set()
|
|
1404
1404
|
|
|
1405
|
-
const keys = /** @type {{matchedEventFilterKeys?:
|
|
1405
|
+
const keys = /** @type {{matchedEventFilterKeys?: ReturnType<typeof JSON.parse>}} */ (body).matchedEventFilterKeys
|
|
1406
1406
|
|
|
1407
1407
|
if (!Array.isArray(keys)) return new Set()
|
|
1408
1408
|
|
|
@@ -1471,7 +1471,7 @@ class FrontendModelEventSubscription {
|
|
|
1471
1471
|
this.instanceListeners = new Map()
|
|
1472
1472
|
/**
|
|
1473
1473
|
* Narrows the runtime value to the documented type.
|
|
1474
|
-
* @type {
|
|
1474
|
+
* @type {ReturnType<typeof JSON.parse>} */
|
|
1475
1475
|
this.channelHandle = null
|
|
1476
1476
|
/**
|
|
1477
1477
|
* Narrows the runtime value to the documented type.
|
|
@@ -1570,7 +1570,7 @@ class FrontendModelEventSubscription {
|
|
|
1570
1570
|
return
|
|
1571
1571
|
}
|
|
1572
1572
|
|
|
1573
|
-
const client = /** @type {
|
|
1573
|
+
const client = /** @type {ReturnType<typeof JSON.parse>} */ (frontendModelTransportConfig.websocketClient || resolveInternalWebsocketClient())
|
|
1574
1574
|
|
|
1575
1575
|
if (!client || typeof client.subscribeChannel !== "function") {
|
|
1576
1576
|
throw new Error("Frontend model event subscriptions require configureTransport({websocketUrl}) or configureTransport({websocketClient})")
|
|
@@ -1584,7 +1584,7 @@ class FrontendModelEventSubscription {
|
|
|
1584
1584
|
this.subscriptionParamsKey = JSON.stringify(params)
|
|
1585
1585
|
this.channelHandle = client.subscribeChannel(FRONTEND_MODELS_CHANNEL_NAME, {
|
|
1586
1586
|
params,
|
|
1587
|
-
onMessage: (/** @type {
|
|
1587
|
+
onMessage: (/** @type {ReturnType<typeof JSON.parse>} */ body) => this._dispatchEvent(body),
|
|
1588
1588
|
onClose: () => {
|
|
1589
1589
|
this.channelHandle = null
|
|
1590
1590
|
this.readyPromise = null
|
|
@@ -1608,7 +1608,7 @@ class FrontendModelEventSubscription {
|
|
|
1608
1608
|
|
|
1609
1609
|
/**
|
|
1610
1610
|
* Runs dispatch event.
|
|
1611
|
-
* @param {
|
|
1611
|
+
* @param {ReturnType<typeof JSON.parse>} body - WebSocket event payload.
|
|
1612
1612
|
*/
|
|
1613
1613
|
_dispatchEvent(body) {
|
|
1614
1614
|
if (!body || typeof body !== "object") return
|
|
@@ -1639,8 +1639,8 @@ class FrontendModelEventSubscription {
|
|
|
1639
1639
|
|
|
1640
1640
|
if (!body.record || typeof body.record !== "object") return
|
|
1641
1641
|
|
|
1642
|
-
const deserializedRecord = /** @type {Record<string,
|
|
1643
|
-
const freshModel = /** @type {
|
|
1642
|
+
const deserializedRecord = /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (deserializeFrontendModelTransportValue(body.record))
|
|
1643
|
+
const freshModel = /** @type {ReturnType<typeof JSON.parse>} */ (this.ModelClass).instantiateFromResponse(deserializedRecord)
|
|
1644
1644
|
const listener = this.instanceListeners.get(id)
|
|
1645
1645
|
|
|
1646
1646
|
if (action === "update" && listener) {
|
|
@@ -1651,7 +1651,7 @@ class FrontendModelEventSubscription {
|
|
|
1651
1651
|
if (matchingUpdateCallbacks.length > 0) {
|
|
1652
1652
|
// Auto-merge into the registered instance so callers reading
|
|
1653
1653
|
// through the same handle see fresh attributes.
|
|
1654
|
-
const instanceAny = /** @type {
|
|
1654
|
+
const instanceAny = /** @type {ReturnType<typeof JSON.parse>} */ (listener.instance)
|
|
1655
1655
|
|
|
1656
1656
|
instanceAny.assignAttributes(freshModel.attributes())
|
|
1657
1657
|
instanceAny._persistedAttributes = cloneFrontendModelAttributes(listener.instance.attributes())
|
|
@@ -1898,8 +1898,8 @@ function frontendModelWebsocketStartupControls(controls) {
|
|
|
1898
1898
|
|
|
1899
1899
|
/**
|
|
1900
1900
|
* Runs perform shared frontend model api request.
|
|
1901
|
-
* @param {Record<string,
|
|
1902
|
-
* @returns {Promise<Record<string,
|
|
1901
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>>} requestPayload - Shared request payload.
|
|
1902
|
+
* @returns {Promise<Record<string, ReturnType<typeof JSON.parse>>>} - Decoded shared frontend-model API response.
|
|
1903
1903
|
*/
|
|
1904
1904
|
async function performSharedFrontendModelApiRequest(requestPayload) {
|
|
1905
1905
|
const timeZone = frontendModelTransportTimeZone()
|
|
@@ -1922,7 +1922,7 @@ async function performSharedFrontendModelApiRequest(requestPayload) {
|
|
|
1922
1922
|
})
|
|
1923
1923
|
const responseJson = response.json()
|
|
1924
1924
|
|
|
1925
|
-
return /** @type {Record<string,
|
|
1925
|
+
return /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (deserializeFrontendModelTransportValue(responseJson))
|
|
1926
1926
|
}
|
|
1927
1927
|
|
|
1928
1928
|
const response = await fetch(url, {
|
|
@@ -1945,7 +1945,7 @@ async function performSharedFrontendModelApiRequest(requestPayload) {
|
|
|
1945
1945
|
|
|
1946
1946
|
const json = responseText.length > 0 ? JSON.parse(responseText) : {}
|
|
1947
1947
|
|
|
1948
|
-
return /** @type {Record<string,
|
|
1948
|
+
return /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (deserializeFrontendModelTransportValue(json))
|
|
1949
1949
|
}
|
|
1950
1950
|
)
|
|
1951
1951
|
}
|
|
@@ -1966,7 +1966,7 @@ function throwFrontendModelHttpError({commandLabel, response, responseText}) {
|
|
|
1966
1966
|
if (responseContentType && responseContentType.includes("application/json") && responseText.length > 0) {
|
|
1967
1967
|
/**
|
|
1968
1968
|
* Defines errorBody.
|
|
1969
|
-
* @type {Record<string,
|
|
1969
|
+
* @type {Record<string, ReturnType<typeof JSON.parse>> | null} */
|
|
1970
1970
|
let errorBody
|
|
1971
1971
|
|
|
1972
1972
|
try {
|
|
@@ -2035,7 +2035,7 @@ async function flushPendingSharedFrontendModelRequests() {
|
|
|
2035
2035
|
continue
|
|
2036
2036
|
}
|
|
2037
2037
|
|
|
2038
|
-
request.resolve(/** @type {Record<string,
|
|
2038
|
+
request.resolve(/** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (responsePayload))
|
|
2039
2039
|
}
|
|
2040
2040
|
} catch (error) {
|
|
2041
2041
|
for (const request of batchedRequests) {
|
|
@@ -2079,7 +2079,7 @@ function frontendModelCustomCommandPath({commandName, memberId, modelName, resou
|
|
|
2079
2079
|
|
|
2080
2080
|
/**
|
|
2081
2081
|
* Runs assert find by conditions shape.
|
|
2082
|
-
* @param {
|
|
2082
|
+
* @param {ReturnType<typeof JSON.parse>} conditions - findBy conditions.
|
|
2083
2083
|
* @returns {void}
|
|
2084
2084
|
*/
|
|
2085
2085
|
function assertFindByConditionsShape(conditions) {
|
|
@@ -2102,7 +2102,7 @@ function assertFindByConditionsShape(conditions) {
|
|
|
2102
2102
|
|
|
2103
2103
|
/**
|
|
2104
2104
|
* Runs assert defined find by condition value.
|
|
2105
|
-
* @param {
|
|
2105
|
+
* @param {ReturnType<typeof JSON.parse>} value - Condition value to validate.
|
|
2106
2106
|
* @param {string} keyPath - Key path for error output.
|
|
2107
2107
|
* @returns {void}
|
|
2108
2108
|
*/
|
|
@@ -2139,7 +2139,7 @@ function assertDefinedFindByConditionValue(value, keyPath) {
|
|
|
2139
2139
|
return
|
|
2140
2140
|
}
|
|
2141
2141
|
|
|
2142
|
-
const objectValue = /** @type {Record<string,
|
|
2142
|
+
const objectValue = /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (value)
|
|
2143
2143
|
const prototype = Object.getPrototypeOf(objectValue)
|
|
2144
2144
|
|
|
2145
2145
|
if (prototype !== Object.prototype && prototype !== null) {
|
|
@@ -2152,7 +2152,7 @@ function assertDefinedFindByConditionValue(value, keyPath) {
|
|
|
2152
2152
|
throw new Error(`findBy does not support symbol condition keys (key: ${keyPath})`)
|
|
2153
2153
|
}
|
|
2154
2154
|
|
|
2155
|
-
const valueObject = /** @type {Record<string,
|
|
2155
|
+
const valueObject = /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (value)
|
|
2156
2156
|
|
|
2157
2157
|
Object.keys(valueObject).forEach((nestedKey) => {
|
|
2158
2158
|
assertDefinedFindByConditionValue(valueObject[nestedKey], `${keyPath}.${nestedKey}`)
|
|
@@ -2212,7 +2212,7 @@ export default class FrontendModelBase {
|
|
|
2212
2212
|
_attachments
|
|
2213
2213
|
/**
|
|
2214
2214
|
* Rails-style nested attribute payloads queued for the next save.
|
|
2215
|
-
* @type {Record<string,
|
|
2215
|
+
* @type {Record<string, ReturnType<typeof JSON.parse>>}
|
|
2216
2216
|
*/
|
|
2217
2217
|
_pendingNestedAttributes
|
|
2218
2218
|
/**
|
|
@@ -2265,7 +2265,7 @@ export default class FrontendModelBase {
|
|
|
2265
2265
|
if (this._generatedAttachmentMethods) return
|
|
2266
2266
|
|
|
2267
2267
|
const attachments = this.attachmentDefinitions()
|
|
2268
|
-
const prototype = /** @type {Record<string,
|
|
2268
|
+
const prototype = /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (this.prototype)
|
|
2269
2269
|
|
|
2270
2270
|
for (const attachmentName of Object.keys(attachments)) {
|
|
2271
2271
|
if (!(attachmentName in prototype)) {
|
|
@@ -2308,8 +2308,8 @@ export default class FrontendModelBase {
|
|
|
2308
2308
|
|
|
2309
2309
|
/**
|
|
2310
2310
|
* Runs define scope.
|
|
2311
|
-
* @param {(...args: Array
|
|
2312
|
-
* @returns {((...args: Array
|
|
2311
|
+
* @param {(...args: Array<ReturnType<typeof JSON.parse>>) => ReturnType<typeof JSON.parse>} callback - Scope callback.
|
|
2312
|
+
* @returns {((...args: Array<ReturnType<typeof JSON.parse>>) => import("./query.js").default<FrontendModelClass>) & {scope: (...args: Array<ReturnType<typeof JSON.parse>>) => import("../utils/model-scope.js").ModelScopeDescriptor}} - Scope helper.
|
|
2313
2313
|
*/
|
|
2314
2314
|
static defineScope(callback) {
|
|
2315
2315
|
return defineModelScope({
|
|
@@ -2451,12 +2451,12 @@ export default class FrontendModelBase {
|
|
|
2451
2451
|
|
|
2452
2452
|
/**
|
|
2453
2453
|
* Runs changes.
|
|
2454
|
-
* @returns {Record<string, Array
|
|
2454
|
+
* @returns {Record<string, Array<ReturnType<typeof JSON.parse>>>} - Changed attributes as `[oldValue, newValue]`.
|
|
2455
2455
|
*/
|
|
2456
2456
|
changes() {
|
|
2457
2457
|
/**
|
|
2458
2458
|
* Changed attributes.
|
|
2459
|
-
* @type {Record<string, Array
|
|
2459
|
+
* @type {Record<string, Array<ReturnType<typeof JSON.parse>>>} */
|
|
2460
2460
|
const changedAttributes = {}
|
|
2461
2461
|
const attributeNames = new Set([
|
|
2462
2462
|
...Object.keys(this._persistedAttributes),
|
|
@@ -2736,7 +2736,7 @@ export default class FrontendModelBase {
|
|
|
2736
2736
|
/**
|
|
2737
2737
|
* Runs read attribute.
|
|
2738
2738
|
* @param {string} attributeName - Attribute name.
|
|
2739
|
-
* @returns {
|
|
2739
|
+
* @returns {ReturnType<typeof JSON.parse>} - Attribute value.
|
|
2740
2740
|
*/
|
|
2741
2741
|
readAttribute(attributeName) {
|
|
2742
2742
|
if (this._selectedAttributes && !this._selectedAttributes.has(attributeName)) {
|
|
@@ -2769,7 +2769,7 @@ export default class FrontendModelBase {
|
|
|
2769
2769
|
* @returns {number} - Attached association count, or zero when absent.
|
|
2770
2770
|
*/
|
|
2771
2771
|
readCount(attributeName) {
|
|
2772
|
-
return readPayloadAssociationCount(/** @type {import("../record-payload-values.js").RecordPayloadValuesTarget} */ (/** @type {
|
|
2772
|
+
return readPayloadAssociationCount(/** @type {import("../record-payload-values.js").RecordPayloadValuesTarget} */ (/** @type {ReturnType<typeof JSON.parse>} */ (this)), attributeName)
|
|
2773
2773
|
}
|
|
2774
2774
|
|
|
2775
2775
|
/**
|
|
@@ -2780,7 +2780,7 @@ export default class FrontendModelBase {
|
|
|
2780
2780
|
* @returns {void}
|
|
2781
2781
|
*/
|
|
2782
2782
|
_setAssociationCount(attributeName, value) {
|
|
2783
|
-
setPayloadAssociationCount(/** @type {import("../record-payload-values.js").RecordPayloadValuesTarget} */ (/** @type {
|
|
2783
|
+
setPayloadAssociationCount(/** @type {import("../record-payload-values.js").RecordPayloadValuesTarget} */ (/** @type {ReturnType<typeof JSON.parse>} */ (this)), attributeName, value)
|
|
2784
2784
|
}
|
|
2785
2785
|
|
|
2786
2786
|
/**
|
|
@@ -2795,7 +2795,7 @@ export default class FrontendModelBase {
|
|
|
2795
2795
|
* @returns {boolean} - Whether the requested ability is allowed.
|
|
2796
2796
|
*/
|
|
2797
2797
|
can(action) {
|
|
2798
|
-
return readPayloadComputedAbility(/** @type {import("../record-payload-values.js").RecordPayloadValuesTarget} */ (/** @type {
|
|
2798
|
+
return readPayloadComputedAbility(/** @type {import("../record-payload-values.js").RecordPayloadValuesTarget} */ (/** @type {ReturnType<typeof JSON.parse>} */ (this)), action)
|
|
2799
2799
|
}
|
|
2800
2800
|
|
|
2801
2801
|
/**
|
|
@@ -2807,7 +2807,7 @@ export default class FrontendModelBase {
|
|
|
2807
2807
|
* @returns {void}
|
|
2808
2808
|
*/
|
|
2809
2809
|
_setComputedAbility(action, value) {
|
|
2810
|
-
setPayloadComputedAbility(/** @type {import("../record-payload-values.js").RecordPayloadValuesTarget} */ (/** @type {
|
|
2810
|
+
setPayloadComputedAbility(/** @type {import("../record-payload-values.js").RecordPayloadValuesTarget} */ (/** @type {ReturnType<typeof JSON.parse>} */ (this)), action, value)
|
|
2811
2811
|
}
|
|
2812
2812
|
|
|
2813
2813
|
/**
|
|
@@ -2817,28 +2817,28 @@ export default class FrontendModelBase {
|
|
|
2817
2817
|
* name. Returns `null` when no registered fn produced that alias for
|
|
2818
2818
|
* this record (e.g. no child rows matched the aggregate).
|
|
2819
2819
|
* @param {string} name - queryData alias name.
|
|
2820
|
-
* @returns {
|
|
2820
|
+
* @returns {ReturnType<typeof JSON.parse>} - Attached query-data value.
|
|
2821
2821
|
*/
|
|
2822
2822
|
queryData(name) {
|
|
2823
|
-
return readPayloadQueryData(/** @type {import("../record-payload-values.js").RecordPayloadValuesTarget} */ (/** @type {
|
|
2823
|
+
return readPayloadQueryData(/** @type {import("../record-payload-values.js").RecordPayloadValuesTarget} */ (/** @type {ReturnType<typeof JSON.parse>} */ (this)), name)
|
|
2824
2824
|
}
|
|
2825
2825
|
|
|
2826
2826
|
/**
|
|
2827
2827
|
* Internal setter used by `instantiateFromResponse` when hydrating
|
|
2828
2828
|
* queryData values that rode along with the record payload.
|
|
2829
2829
|
* @param {string} name - queryData alias name.
|
|
2830
|
-
* @param {
|
|
2830
|
+
* @param {ReturnType<typeof JSON.parse>} value - Attached value.
|
|
2831
2831
|
* @returns {void}
|
|
2832
2832
|
*/
|
|
2833
2833
|
_setQueryData(name, value) {
|
|
2834
|
-
setPayloadQueryData(/** @type {import("../record-payload-values.js").RecordPayloadValuesTarget} */ (/** @type {
|
|
2834
|
+
setPayloadQueryData(/** @type {import("../record-payload-values.js").RecordPayloadValuesTarget} */ (/** @type {ReturnType<typeof JSON.parse>} */ (this)), name, value)
|
|
2835
2835
|
}
|
|
2836
2836
|
|
|
2837
2837
|
/**
|
|
2838
2838
|
* Runs set attribute.
|
|
2839
2839
|
* @param {string} attributeName - Attribute name.
|
|
2840
|
-
* @param {
|
|
2841
|
-
* @returns {
|
|
2840
|
+
* @param {ReturnType<typeof JSON.parse>} newValue - New value.
|
|
2841
|
+
* @returns {ReturnType<typeof JSON.parse>} - Assigned value.
|
|
2842
2842
|
*/
|
|
2843
2843
|
setAttribute(attributeName, newValue) {
|
|
2844
2844
|
const ModelClass = frontendModelClassFor(this)
|
|
@@ -2892,7 +2892,7 @@ export default class FrontendModelBase {
|
|
|
2892
2892
|
const definitions = ModelClass.relationshipDefinitions()
|
|
2893
2893
|
|
|
2894
2894
|
for (const relationshipName of Object.keys(this._relationships)) {
|
|
2895
|
-
const definition = /** @type {
|
|
2895
|
+
const definition = /** @type {ReturnType<typeof JSON.parse>} */ (definitions[relationshipName])
|
|
2896
2896
|
|
|
2897
2897
|
if (!definition || definition.type !== "belongsTo") continue
|
|
2898
2898
|
|
|
@@ -2940,8 +2940,8 @@ export default class FrontendModelBase {
|
|
|
2940
2940
|
/**
|
|
2941
2941
|
* Runs normalize custom command payload arguments.
|
|
2942
2942
|
* @this {FrontendModelClass}
|
|
2943
|
-
* @param {Array
|
|
2944
|
-
* @returns {Record<string,
|
|
2943
|
+
* @param {Array<ReturnType<typeof JSON.parse>>} args - Command arguments.
|
|
2944
|
+
* @returns {Record<string, ReturnType<typeof JSON.parse>>} - Command payload.
|
|
2945
2945
|
*/
|
|
2946
2946
|
static normalizeCustomCommandPayloadArguments(args) {
|
|
2947
2947
|
if (args.length === 0) return {}
|
|
@@ -2955,12 +2955,12 @@ export default class FrontendModelBase {
|
|
|
2955
2955
|
return {arg1: payload}
|
|
2956
2956
|
}
|
|
2957
2957
|
|
|
2958
|
-
return /** @type {Record<string,
|
|
2958
|
+
return /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (payload)
|
|
2959
2959
|
}
|
|
2960
2960
|
|
|
2961
2961
|
/**
|
|
2962
2962
|
* Payload.
|
|
2963
|
-
* @type {Record<string, number | string | Array
|
|
2963
|
+
* @type {Record<string, number | string | Array<ReturnType<typeof JSON.parse>>>} */
|
|
2964
2964
|
const payload = {}
|
|
2965
2965
|
|
|
2966
2966
|
for (let index = 0; index < args.length; index += 1) {
|
|
@@ -3127,11 +3127,11 @@ export default class FrontendModelBase {
|
|
|
3127
3127
|
* Sets global metadata on the WebSocket connection. Sent to the server immediately
|
|
3128
3128
|
* over WebSocket and exposed to WebSocket-borne requests as request metadata.
|
|
3129
3129
|
* @param {string} key - Metadata key.
|
|
3130
|
-
* @param {
|
|
3130
|
+
* @param {ReturnType<typeof JSON.parse>} value - Metadata value (null to clear).
|
|
3131
3131
|
* @returns {void}
|
|
3132
3132
|
*/
|
|
3133
3133
|
static setWebsocketMetadata(key, value) {
|
|
3134
|
-
const client = /** @type {
|
|
3134
|
+
const client = /** @type {ReturnType<typeof JSON.parse>} */ (frontendModelTransportConfig.websocketClient || resolveInternalWebsocketClient())
|
|
3135
3135
|
|
|
3136
3136
|
if (!client || typeof client.setMetadata !== "function") return
|
|
3137
3137
|
|
|
@@ -3145,13 +3145,13 @@ export default class FrontendModelBase {
|
|
|
3145
3145
|
* functions change (e.g. current-user sign-in/out). The handle
|
|
3146
3146
|
* retries when the WS client isn't ready and reopens on close.
|
|
3147
3147
|
* @param {string} connectionType - Connection class name registered on the server.
|
|
3148
|
-
* @param {{shouldConnect: () => boolean, params: () => Record<string,
|
|
3148
|
+
* @param {{shouldConnect: () => boolean, params: () => Record<string, ReturnType<typeof JSON.parse>>, signal?: AbortSignal, onMessage?: (body: ReturnType<typeof JSON.parse>) => void}} options - Connection lifecycle, cancellation, and payload callbacks.
|
|
3149
3149
|
* @returns {{sync: () => void, close: () => void}} - Handle used to resync or close the managed connection.
|
|
3150
3150
|
*/
|
|
3151
3151
|
static openManagedConnection(connectionType, options) {
|
|
3152
3152
|
/**
|
|
3153
3153
|
* Connection.
|
|
3154
|
-
* @type {
|
|
3154
|
+
* @type {ReturnType<typeof JSON.parse>} */
|
|
3155
3155
|
let connection = null
|
|
3156
3156
|
let closed = false
|
|
3157
3157
|
/**
|
|
@@ -3211,7 +3211,7 @@ export default class FrontendModelBase {
|
|
|
3211
3211
|
// WS client not ready — retry. Check the actual client (which
|
|
3212
3212
|
// may be an injected websocketClient) instead of websocketState()
|
|
3213
3213
|
// which only reflects the internal client.
|
|
3214
|
-
const client = /** @type {
|
|
3214
|
+
const client = /** @type {ReturnType<typeof JSON.parse>} */ (frontendModelTransportConfig.websocketClient || resolveInternalWebsocketClient())
|
|
3215
3215
|
|
|
3216
3216
|
if (!client || !client.isOpen()) {
|
|
3217
3217
|
if (retryTimer === null) {
|
|
@@ -3254,11 +3254,11 @@ export default class FrontendModelBase {
|
|
|
3254
3254
|
* `openConnection`. Apps use this for per-session state/messaging
|
|
3255
3255
|
* that doesn't fit the pub/sub Channel model (locale, presence).
|
|
3256
3256
|
* @param {string} connectionType - Name the server registered the class under.
|
|
3257
|
-
* @param {{params?: Record<string,
|
|
3257
|
+
* @param {{params?: Record<string, ReturnType<typeof JSON.parse>>, timeoutMs?: number, signal?: AbortSignal, onConnect?: () => void, onMessage?: (body: Record<string, unknown>) => void, onDisconnect?: () => void, onResume?: () => void, onClose?: (reason: string) => void}} [options] - Connection options, readiness controls, and event handlers. Connect the client first; the timeout covers server-confirmed readiness and the signal cancels readiness without entering the wire payload.
|
|
3258
3258
|
* @returns {{ready: Promise<void>, close: () => void}} - Websocket connection handle.
|
|
3259
3259
|
*/
|
|
3260
3260
|
static openWebsocketConnection(connectionType, options = {}) {
|
|
3261
|
-
const client = /** @type {
|
|
3261
|
+
const client = /** @type {ReturnType<typeof JSON.parse>} */ (frontendModelTransportConfig.websocketClient || resolveInternalWebsocketClient())
|
|
3262
3262
|
|
|
3263
3263
|
if (!client || typeof client.openConnection !== "function") {
|
|
3264
3264
|
throw new Error("openWebsocketConnection requires configureTransport({websocketUrl})")
|
|
@@ -3276,11 +3276,11 @@ export default class FrontendModelBase {
|
|
|
3276
3276
|
* Subscribes to a pub/sub `WebsocketChannel`. Thin wrapper around
|
|
3277
3277
|
* the internal client's `subscribeChannel`.
|
|
3278
3278
|
* @param {string} channelType - Channel class name registered on the server.
|
|
3279
|
-
* @param {{params?: Record<string,
|
|
3279
|
+
* @param {{params?: Record<string, ReturnType<typeof JSON.parse>>, timeoutMs?: number, signal?: AbortSignal, onMessage?: (body: Record<string, unknown>) => void, onDisconnect?: () => void, onResume?: () => void, onClose?: (reason: string) => void}} [options] - Channel options, startup controls, and event handlers. The timeout covers connect and server-confirmed readiness only; the signal cancels startup without entering the wire payload.
|
|
3280
3280
|
* @returns {{ready: Promise<void>, close: () => void}} - Websocket channel handle from the configured client.
|
|
3281
3281
|
*/
|
|
3282
3282
|
static subscribeWebsocketChannel(channelType, options = {}) {
|
|
3283
|
-
const client = /** @type {
|
|
3283
|
+
const client = /** @type {ReturnType<typeof JSON.parse>} */ (frontendModelTransportConfig.websocketClient || resolveInternalWebsocketClient())
|
|
3284
3284
|
|
|
3285
3285
|
if (!client || typeof client.subscribeChannel !== "function") {
|
|
3286
3286
|
throw new Error("subscribeWebsocketChannel requires configureTransport({websocketUrl})")
|
|
@@ -3305,7 +3305,7 @@ export default class FrontendModelBase {
|
|
|
3305
3305
|
static installWebsocketTestHooks() {
|
|
3306
3306
|
if (typeof globalThis === "undefined") return
|
|
3307
3307
|
|
|
3308
|
-
/** @type {
|
|
3308
|
+
/** @type {ReturnType<typeof JSON.parse>} */ (globalThis).__velocious_websocket_hooks = {
|
|
3309
3309
|
connect: () => this.connectWebsocket(),
|
|
3310
3310
|
disconnect: () => this.disconnectWebsocket(),
|
|
3311
3311
|
drop: () => this.dropWebsocket(),
|
|
@@ -3386,7 +3386,7 @@ export default class FrontendModelBase {
|
|
|
3386
3386
|
* Runs apply preloaded relationships.
|
|
3387
3387
|
* @this {FrontendModelClass}
|
|
3388
3388
|
* @param {FrontendModelBase} model - Model instance.
|
|
3389
|
-
* @param {Record<string,
|
|
3389
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>>} preloadedRelationships - Preloaded relationship payload.
|
|
3390
3390
|
* @returns {void}
|
|
3391
3391
|
*/
|
|
3392
3392
|
static applyPreloadedRelationships(model, preloadedRelationships) {
|
|
@@ -3433,9 +3433,9 @@ export default class FrontendModelBase {
|
|
|
3433
3433
|
/**
|
|
3434
3434
|
* Runs instantiate relationship value.
|
|
3435
3435
|
* @this {FrontendModelClass}
|
|
3436
|
-
* @param {
|
|
3436
|
+
* @param {ReturnType<typeof JSON.parse>} relationshipPayload - Relationship payload value.
|
|
3437
3437
|
* @param {FrontendModelClass | null} targetModelClass - Target model class.
|
|
3438
|
-
* @returns {
|
|
3438
|
+
* @returns {ReturnType<typeof JSON.parse>} - Instantiated relationship value.
|
|
3439
3439
|
*/
|
|
3440
3440
|
static instantiateRelationshipValue(relationshipPayload, targetModelClass) {
|
|
3441
3441
|
if (!targetModelClass) return relationshipPayload
|
|
@@ -3449,7 +3449,7 @@ export default class FrontendModelBase {
|
|
|
3449
3449
|
* Runs instantiate from response.
|
|
3450
3450
|
* @template {FrontendModelClass} T
|
|
3451
3451
|
* @this {T}
|
|
3452
|
-
* @param {Record<string,
|
|
3452
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>> | InstanceType<T>} response - Response payload, or an already-hydrated instance of this class.
|
|
3453
3453
|
* @returns {InstanceType<T>} - New model instance, or the same instance unchanged if it was already hydrated.
|
|
3454
3454
|
*/
|
|
3455
3455
|
static instantiateFromResponse(response) {
|
|
@@ -3513,7 +3513,7 @@ export default class FrontendModelBase {
|
|
|
3513
3513
|
* Runs find by.
|
|
3514
3514
|
* @template {FrontendModelClass} T
|
|
3515
3515
|
* @this {T}
|
|
3516
|
-
* @param {Record<string,
|
|
3516
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>>} conditions - Attribute match conditions.
|
|
3517
3517
|
* @returns {Promise<InstanceType<T> | null>} - Found model or null.
|
|
3518
3518
|
*/
|
|
3519
3519
|
static async findBy(conditions) {
|
|
@@ -3524,7 +3524,7 @@ export default class FrontendModelBase {
|
|
|
3524
3524
|
* Runs find by or fail.
|
|
3525
3525
|
* @template {FrontendModelClass} T
|
|
3526
3526
|
* @this {T}
|
|
3527
|
-
* @param {Record<string,
|
|
3527
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>>} conditions - Attribute match conditions.
|
|
3528
3528
|
* @returns {Promise<InstanceType<T>>} - Found model.
|
|
3529
3529
|
*/
|
|
3530
3530
|
static async findByOrFail(conditions) {
|
|
@@ -3565,7 +3565,7 @@ export default class FrontendModelBase {
|
|
|
3565
3565
|
* Runs where.
|
|
3566
3566
|
* @template {FrontendModelClass} T
|
|
3567
3567
|
* @this {T}
|
|
3568
|
-
* @param {Record<string,
|
|
3568
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>>} conditions - Root-model where conditions.
|
|
3569
3569
|
* @returns {import("./query.js").default<T>} - Query with where conditions.
|
|
3570
3570
|
*/
|
|
3571
3571
|
static where(conditions) {
|
|
@@ -3576,7 +3576,7 @@ export default class FrontendModelBase {
|
|
|
3576
3576
|
* Runs joins.
|
|
3577
3577
|
* @template {FrontendModelClass} T
|
|
3578
3578
|
* @this {T}
|
|
3579
|
-
* @param {Record<string,
|
|
3579
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>> | Array<Record<string, ReturnType<typeof JSON.parse>>>} joins - Relationship descriptor joins.
|
|
3580
3580
|
* @returns {import("./query.js").default<T>} - Query with joins.
|
|
3581
3581
|
*/
|
|
3582
3582
|
static joins(joins) {
|
|
@@ -3713,7 +3713,7 @@ export default class FrontendModelBase {
|
|
|
3713
3713
|
* @returns {Promise<() => void>} - Unsubscribe callback.
|
|
3714
3714
|
*/
|
|
3715
3715
|
async onUpdate(callback, options = {}) {
|
|
3716
|
-
const self = /** @type {
|
|
3716
|
+
const self = /** @type {ReturnType<typeof JSON.parse>} */ (this)
|
|
3717
3717
|
const ModelClass = frontendModelClassFor(this)
|
|
3718
3718
|
const sub = ensureFrontendModelEventSubscription(ModelClass)
|
|
3719
3719
|
const id = String(self.id())
|
|
@@ -3743,7 +3743,7 @@ export default class FrontendModelBase {
|
|
|
3743
3743
|
* @returns {Promise<() => void>} - Unsubscribe callback.
|
|
3744
3744
|
*/
|
|
3745
3745
|
async onDestroy(callback, options = {}) {
|
|
3746
|
-
const self = /** @type {
|
|
3746
|
+
const self = /** @type {ReturnType<typeof JSON.parse>} */ (this)
|
|
3747
3747
|
const ModelClass = frontendModelClassFor(this)
|
|
3748
3748
|
|
|
3749
3749
|
assertNoDestroyEventFilter(ModelClass, options)
|
|
@@ -3773,8 +3773,8 @@ export default class FrontendModelBase {
|
|
|
3773
3773
|
* Runs pluck.
|
|
3774
3774
|
* @template {FrontendModelClass} T
|
|
3775
3775
|
* @this {T}
|
|
3776
|
-
* @param {...(string | string[] | Record<string,
|
|
3777
|
-
* @returns {Promise<Array
|
|
3776
|
+
* @param {...(string | string[] | Record<string, ReturnType<typeof JSON.parse>> | Array<Record<string, ReturnType<typeof JSON.parse>>>)} columns - Pluck definition(s).
|
|
3777
|
+
* @returns {Promise<Array<ReturnType<typeof JSON.parse>>>} - Plucked values.
|
|
3778
3778
|
*/
|
|
3779
3779
|
static async pluck(...columns) {
|
|
3780
3780
|
return await this.query().pluck(...columns)
|
|
@@ -3787,7 +3787,7 @@ export default class FrontendModelBase {
|
|
|
3787
3787
|
* @param {string[]} path - Relationship path.
|
|
3788
3788
|
* @param {string} column - Column or attribute name.
|
|
3789
3789
|
* @param {"eq" | "like" | "notEq" | "gt" | "gteq" | "lt" | "lteq" | ">" | ">=" | "<" | "<="} operator - Search operator.
|
|
3790
|
-
* @param {
|
|
3790
|
+
* @param {ReturnType<typeof JSON.parse>} value - Search value.
|
|
3791
3791
|
* @returns {FrontendModelQuery<T>} - Query builder with search filter.
|
|
3792
3792
|
*/
|
|
3793
3793
|
static search(path, column, operator, value) {
|
|
@@ -3798,7 +3798,7 @@ export default class FrontendModelBase {
|
|
|
3798
3798
|
* Runs ransack.
|
|
3799
3799
|
* @template {FrontendModelClass} T
|
|
3800
3800
|
* @this {T}
|
|
3801
|
-
* @param {Record<string,
|
|
3801
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>>} params - Ransack-style params hash.
|
|
3802
3802
|
* @returns {FrontendModelQuery<T>} - Query builder with Ransack filters applied.
|
|
3803
3803
|
*/
|
|
3804
3804
|
static ransack(params) {
|
|
@@ -3809,7 +3809,7 @@ export default class FrontendModelBase {
|
|
|
3809
3809
|
* Runs sort.
|
|
3810
3810
|
* @template {FrontendModelClass} T
|
|
3811
3811
|
* @this {T}
|
|
3812
|
-
* @param {string | string[] | string[][] | [string, string] | Array<[string, string]> | Record<string,
|
|
3812
|
+
* @param {string | string[] | string[][] | [string, string] | Array<[string, string]> | Record<string, ReturnType<typeof JSON.parse>> | Array<Record<string, ReturnType<typeof JSON.parse>>>} sort - Sort definition(s).
|
|
3813
3813
|
* @returns {FrontendModelQuery<T>} - Query builder with sort definitions.
|
|
3814
3814
|
*/
|
|
3815
3815
|
static sort(sort) {
|
|
@@ -3820,7 +3820,7 @@ export default class FrontendModelBase {
|
|
|
3820
3820
|
* Runs order.
|
|
3821
3821
|
* @template {FrontendModelClass} T
|
|
3822
3822
|
* @this {T}
|
|
3823
|
-
* @param {string | string[] | string[][] | [string, string] | Array<[string, string]> | Record<string,
|
|
3823
|
+
* @param {string | string[] | string[][] | [string, string] | Array<[string, string]> | Record<string, ReturnType<typeof JSON.parse>> | Array<Record<string, ReturnType<typeof JSON.parse>>>} sort - Sort definition(s).
|
|
3824
3824
|
* @returns {FrontendModelQuery<T>} - Query builder with sort definitions.
|
|
3825
3825
|
*/
|
|
3826
3826
|
static order(sort) {
|
|
@@ -3831,7 +3831,7 @@ export default class FrontendModelBase {
|
|
|
3831
3831
|
* Runs group.
|
|
3832
3832
|
* @template {FrontendModelClass} T
|
|
3833
3833
|
* @this {T}
|
|
3834
|
-
* @param {string | string[] | Record<string,
|
|
3834
|
+
* @param {string | string[] | Record<string, ReturnType<typeof JSON.parse>> | Array<Record<string, ReturnType<typeof JSON.parse>>>} group - Group definition(s).
|
|
3835
3835
|
* @returns {FrontendModelQuery<T>} - Query builder with group definitions.
|
|
3836
3836
|
*/
|
|
3837
3837
|
static group(group) {
|
|
@@ -3916,7 +3916,7 @@ export default class FrontendModelBase {
|
|
|
3916
3916
|
* Runs find or initialize by.
|
|
3917
3917
|
* @template {FrontendModelClass} T
|
|
3918
3918
|
* @this {T}
|
|
3919
|
-
* @param {Record<string,
|
|
3919
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>>} conditions - Attribute match conditions.
|
|
3920
3920
|
* @returns {Promise<InstanceType<T>>} - Existing or initialized model.
|
|
3921
3921
|
*/
|
|
3922
3922
|
static async findOrInitializeBy(conditions) {
|
|
@@ -3927,7 +3927,7 @@ export default class FrontendModelBase {
|
|
|
3927
3927
|
* Runs find or create by.
|
|
3928
3928
|
* @template {FrontendModelClass} T
|
|
3929
3929
|
* @this {T}
|
|
3930
|
-
* @param {Record<string,
|
|
3930
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>>} conditions - Attribute match conditions.
|
|
3931
3931
|
* @param {(model: InstanceType<T>) => Promise<void> | void} [callback] - Optional callback before save when created.
|
|
3932
3932
|
* @returns {Promise<InstanceType<T>>} - Existing or newly created model.
|
|
3933
3933
|
*/
|
|
@@ -3955,7 +3955,7 @@ export default class FrontendModelBase {
|
|
|
3955
3955
|
/**
|
|
3956
3956
|
* Runs assert find by conditions.
|
|
3957
3957
|
* @this {FrontendModelClass}
|
|
3958
|
-
* @param {Record<string,
|
|
3958
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>>} conditions - findBy conditions.
|
|
3959
3959
|
* @returns {void}
|
|
3960
3960
|
*/
|
|
3961
3961
|
static assertFindByConditions(conditions) {
|
|
@@ -3970,7 +3970,7 @@ export default class FrontendModelBase {
|
|
|
3970
3970
|
* Runs matches find by conditions.
|
|
3971
3971
|
* @this {FrontendModelClass}
|
|
3972
3972
|
* @param {FrontendModelBase} model - Candidate model.
|
|
3973
|
-
* @param {Record<string,
|
|
3973
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>>} conditions - Match conditions.
|
|
3974
3974
|
* @returns {boolean} - Whether the model matches all conditions.
|
|
3975
3975
|
*/
|
|
3976
3976
|
static matchesFindByConditions(model, conditions) {
|
|
@@ -3999,8 +3999,8 @@ export default class FrontendModelBase {
|
|
|
3999
3999
|
/**
|
|
4000
4000
|
* Runs find by condition value matches.
|
|
4001
4001
|
* @this {FrontendModelClass}
|
|
4002
|
-
* @param {
|
|
4003
|
-
* @param {
|
|
4002
|
+
* @param {ReturnType<typeof JSON.parse>} actualValue - Actual model value.
|
|
4003
|
+
* @param {ReturnType<typeof JSON.parse>} expectedValue - Expected find condition value.
|
|
4004
4004
|
* @returns {boolean} - Whether values match.
|
|
4005
4005
|
*/
|
|
4006
4006
|
static findByConditionValueMatches(actualValue, expectedValue) {
|
|
@@ -4031,8 +4031,8 @@ export default class FrontendModelBase {
|
|
|
4031
4031
|
return false
|
|
4032
4032
|
}
|
|
4033
4033
|
|
|
4034
|
-
const actualObject = /** @type {Record<string,
|
|
4035
|
-
const expectedObject = /** @type {Record<string,
|
|
4034
|
+
const actualObject = /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (actualValue)
|
|
4035
|
+
const expectedObject = /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (expectedValue)
|
|
4036
4036
|
const actualKeys = Object.keys(actualObject)
|
|
4037
4037
|
const expectedKeys = Object.keys(expectedObject)
|
|
4038
4038
|
|
|
@@ -4063,8 +4063,8 @@ export default class FrontendModelBase {
|
|
|
4063
4063
|
/**
|
|
4064
4064
|
* Runs find by primitive values match.
|
|
4065
4065
|
* @this {FrontendModelClass}
|
|
4066
|
-
* @param {
|
|
4067
|
-
* @param {
|
|
4066
|
+
* @param {ReturnType<typeof JSON.parse>} actualValue - Actual model value.
|
|
4067
|
+
* @param {ReturnType<typeof JSON.parse>} expectedValue - Expected find condition value.
|
|
4068
4068
|
* @returns {boolean} - Whether primitive values match after safe coercion.
|
|
4069
4069
|
*/
|
|
4070
4070
|
static findByPrimitiveValuesMatch(actualValue, expectedValue) {
|
|
@@ -4129,7 +4129,7 @@ export default class FrontendModelBase {
|
|
|
4129
4129
|
|
|
4130
4130
|
/**
|
|
4131
4131
|
* Runs attach.
|
|
4132
|
-
* @param {
|
|
4132
|
+
* @param {ReturnType<typeof JSON.parse>} attachmentInput - Attachment input or named attachment payload.
|
|
4133
4133
|
* @returns {Promise<void>} - Resolves when attached.
|
|
4134
4134
|
*/
|
|
4135
4135
|
async attach(attachmentInput) {
|
|
@@ -4170,7 +4170,7 @@ export default class FrontendModelBase {
|
|
|
4170
4170
|
const commandType = isNew ? "create" : "update"
|
|
4171
4171
|
/**
|
|
4172
4172
|
* Payload.
|
|
4173
|
-
* @type {Record<string,
|
|
4173
|
+
* @type {Record<string, ReturnType<typeof JSON.parse>>} */
|
|
4174
4174
|
const payload = {
|
|
4175
4175
|
attributes: this._changedAttributesForSave()
|
|
4176
4176
|
}
|
|
@@ -4299,10 +4299,10 @@ export default class FrontendModelBase {
|
|
|
4299
4299
|
|
|
4300
4300
|
/**
|
|
4301
4301
|
* Builds the attachment payload queued on this model for the next save.
|
|
4302
|
-
* @returns {Promise<Record<string,
|
|
4302
|
+
* @returns {Promise<Record<string, ReturnType<typeof JSON.parse>>>} Attachment payload keyed by attachment name.
|
|
4303
4303
|
*/
|
|
4304
4304
|
async _buildAttachmentsPayload() {
|
|
4305
|
-
/** @type {Record<string,
|
|
4305
|
+
/** @type {Record<string, ReturnType<typeof JSON.parse>>} */
|
|
4306
4306
|
const payload = {}
|
|
4307
4307
|
|
|
4308
4308
|
for (const attachmentName of Object.keys(this._attachments)) {
|
|
@@ -4335,7 +4335,7 @@ export default class FrontendModelBase {
|
|
|
4335
4335
|
*
|
|
4336
4336
|
* Loaded but untouched records are omitted so nested save preserves Rails-style
|
|
4337
4337
|
* "children not referenced in payload are left alone" semantics.
|
|
4338
|
-
* @returns {Promise<Record<string, Array<Record<string,
|
|
4338
|
+
* @returns {Promise<Record<string, Array<Record<string, ReturnType<typeof JSON.parse>>>>>} - Per-relationship list of nested-attribute entries.
|
|
4339
4339
|
*/
|
|
4340
4340
|
async _buildNestedAttributesPayload() {
|
|
4341
4341
|
const ModelClass = frontendModelClassFor(this)
|
|
@@ -4346,11 +4346,11 @@ export default class FrontendModelBase {
|
|
|
4346
4346
|
|
|
4347
4347
|
/**
|
|
4348
4348
|
* Payload.
|
|
4349
|
-
* @type {Record<string, Array<Record<string,
|
|
4349
|
+
* @type {Record<string, Array<Record<string, ReturnType<typeof JSON.parse>>>>} */
|
|
4350
4350
|
const payload = {}
|
|
4351
4351
|
|
|
4352
4352
|
for (const relationshipName of Object.keys(nestedAttributesConfig)) {
|
|
4353
|
-
/** @type {Array<Record<string,
|
|
4353
|
+
/** @type {Array<Record<string, ReturnType<typeof JSON.parse>>>} */
|
|
4354
4354
|
const entries = []
|
|
4355
4355
|
const relationship = this._relationships[relationshipName]
|
|
4356
4356
|
|
|
@@ -4392,7 +4392,7 @@ export default class FrontendModelBase {
|
|
|
4392
4392
|
* Builds the payload entry for this child when walked by a parent's
|
|
4393
4393
|
* `_buildNestedAttributesPayload`. Returns `null` when the child has no
|
|
4394
4394
|
* dirty state and no dirty descendants, so the parent can omit it.
|
|
4395
|
-
* @returns {Promise<Record<string,
|
|
4395
|
+
* @returns {Promise<Record<string, ReturnType<typeof JSON.parse>> | null>} - Nested-attribute entry or null if clean.
|
|
4396
4396
|
*/
|
|
4397
4397
|
async _nestedAttributesEntryForParentSave() {
|
|
4398
4398
|
if (this.markedForDestruction()) {
|
|
@@ -4408,7 +4408,7 @@ export default class FrontendModelBase {
|
|
|
4408
4408
|
if (this.isNewRecord()) {
|
|
4409
4409
|
/**
|
|
4410
4410
|
* Entry.
|
|
4411
|
-
* @type {Record<string,
|
|
4411
|
+
* @type {Record<string, ReturnType<typeof JSON.parse>>} */
|
|
4412
4412
|
const entry = {}
|
|
4413
4413
|
const attributes = this._changedAttributesForSave()
|
|
4414
4414
|
|
|
@@ -4423,7 +4423,7 @@ export default class FrontendModelBase {
|
|
|
4423
4423
|
|
|
4424
4424
|
/**
|
|
4425
4425
|
* Entry.
|
|
4426
|
-
* @type {Record<string,
|
|
4426
|
+
* @type {Record<string, ReturnType<typeof JSON.parse>>} */
|
|
4427
4427
|
const entry = {id: this.primaryKeyValue()}
|
|
4428
4428
|
|
|
4429
4429
|
if (this.isChanged()) entry.attributes = this._changedAttributesForSave()
|
|
@@ -4437,8 +4437,8 @@ export default class FrontendModelBase {
|
|
|
4437
4437
|
* Builds nested entries from a Rails-style submitted `*Attributes` value.
|
|
4438
4438
|
* @param {FrontendModelClass} ModelClass - Parent model class.
|
|
4439
4439
|
* @param {string} relationshipName - Nested relationship name.
|
|
4440
|
-
* @param {
|
|
4441
|
-
* @returns {Promise<Array<Record<string,
|
|
4440
|
+
* @param {ReturnType<typeof JSON.parse>} value - Submitted nested attributes value.
|
|
4441
|
+
* @returns {Promise<Array<Record<string, ReturnType<typeof JSON.parse>>>>} Nested entries for the transport payload.
|
|
4442
4442
|
*/
|
|
4443
4443
|
async _nestedAttributesPayloadForSubmittedValue(ModelClass, relationshipName, value) {
|
|
4444
4444
|
const relationshipDefinition = ModelClass.relationshipDefinition(relationshipName)
|
|
@@ -4472,21 +4472,21 @@ export default class FrontendModelBase {
|
|
|
4472
4472
|
/**
|
|
4473
4473
|
* Converts one submitted Rails-style nested attributes object into transport payload shape.
|
|
4474
4474
|
* @param {FrontendModelClass} ModelClass - Nested child model class.
|
|
4475
|
-
* @param {
|
|
4476
|
-
* @returns {Promise<Record<string,
|
|
4475
|
+
* @param {ReturnType<typeof JSON.parse>} submittedEntry - Submitted nested attributes entry.
|
|
4476
|
+
* @returns {Promise<Record<string, ReturnType<typeof JSON.parse>>>} Transport nested-attributes entry.
|
|
4477
4477
|
*/
|
|
4478
4478
|
async _nestedAttributesEntryPayloadForSubmittedValue(ModelClass, submittedEntry) {
|
|
4479
4479
|
if (!frontendAttachmentValueIsPlainObject(submittedEntry)) {
|
|
4480
4480
|
throw new Error(`${ModelClass.name} nested attributes entries must be objects`)
|
|
4481
4481
|
}
|
|
4482
4482
|
|
|
4483
|
-
/** @type {Record<string,
|
|
4483
|
+
/** @type {Record<string, ReturnType<typeof JSON.parse>>} */
|
|
4484
4484
|
const entry = {}
|
|
4485
|
-
/** @type {Record<string,
|
|
4485
|
+
/** @type {Record<string, ReturnType<typeof JSON.parse>>} */
|
|
4486
4486
|
const attributes = {}
|
|
4487
|
-
/** @type {Record<string,
|
|
4487
|
+
/** @type {Record<string, ReturnType<typeof JSON.parse>>} */
|
|
4488
4488
|
const attachments = {}
|
|
4489
|
-
/** @type {Record<string, Array<Record<string,
|
|
4489
|
+
/** @type {Record<string, Array<Record<string, ReturnType<typeof JSON.parse>>>>} */
|
|
4490
4490
|
const nestedAttributes = {}
|
|
4491
4491
|
|
|
4492
4492
|
for (const [attributeName, value] of Object.entries(submittedEntry)) {
|
|
@@ -4525,8 +4525,8 @@ export default class FrontendModelBase {
|
|
|
4525
4525
|
* Normalizes a submitted attachment value for transport.
|
|
4526
4526
|
* @param {FrontendModelClass} ModelClass - Model class owning the attachment.
|
|
4527
4527
|
* @param {string} attachmentName - Attachment name.
|
|
4528
|
-
* @param {
|
|
4529
|
-
* @returns {Promise<Record<string,
|
|
4528
|
+
* @param {ReturnType<typeof JSON.parse>} value - Submitted attachment value.
|
|
4529
|
+
* @returns {Promise<Record<string, ReturnType<typeof JSON.parse>> | Record<string, ReturnType<typeof JSON.parse>>[]>} Normalized attachment payload.
|
|
4530
4530
|
*/
|
|
4531
4531
|
async _attachmentPayloadForSubmittedValue(ModelClass, attachmentName, value) {
|
|
4532
4532
|
const attachmentDefinition = ModelClass.attachmentDefinition(attachmentName)
|
|
@@ -4556,7 +4556,7 @@ export default class FrontendModelBase {
|
|
|
4556
4556
|
* `_loadedValue` for each nested-writable relationship with the server's
|
|
4557
4557
|
* authoritative set, so destroyed children are dropped and newly-created
|
|
4558
4558
|
* children get their server-assigned ids + persisted state.
|
|
4559
|
-
* @param {Record<string,
|
|
4559
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>>} response - Command response payload.
|
|
4560
4560
|
* @returns {void}
|
|
4561
4561
|
*/
|
|
4562
4562
|
_reconcileNestedAttributesFromResponse(response) {
|
|
@@ -4571,7 +4571,7 @@ export default class FrontendModelBase {
|
|
|
4571
4571
|
|
|
4572
4572
|
/**
|
|
4573
4573
|
* Relevant preloads.
|
|
4574
|
-
* @type {Record<string,
|
|
4574
|
+
* @type {Record<string, ReturnType<typeof JSON.parse>>} */
|
|
4575
4575
|
const relevantPreloads = {}
|
|
4576
4576
|
|
|
4577
4577
|
for (const relationshipName of Object.keys(nestedAttributesConfig)) {
|
|
@@ -4589,13 +4589,13 @@ export default class FrontendModelBase {
|
|
|
4589
4589
|
* Runs execute command.
|
|
4590
4590
|
* @this {FrontendModelClass}
|
|
4591
4591
|
* @param {FrontendModelCommandType} commandType - Command type.
|
|
4592
|
-
* @param {Record<string,
|
|
4593
|
-
* @returns {Promise<Record<string,
|
|
4592
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>>} payload - Command payload.
|
|
4593
|
+
* @returns {Promise<Record<string, ReturnType<typeof JSON.parse>>>} - Parsed JSON response.
|
|
4594
4594
|
*/
|
|
4595
4595
|
static async executeCommand(commandType, payload) {
|
|
4596
4596
|
const commandName = this.commandName(commandType)
|
|
4597
4597
|
const timeZone = frontendModelTransportTimeZone()
|
|
4598
|
-
const serializedPayload = /** @type {Record<string,
|
|
4598
|
+
const serializedPayload = /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (serializeFrontendModelTransportValue(payload, {timeZone}))
|
|
4599
4599
|
const resourcePath = this.resourcePath()
|
|
4600
4600
|
const containsAttachmentUpload = frontendModelPayloadContainsAttachmentUpload(serializedPayload)
|
|
4601
4601
|
const useSharedTransport = !containsAttachmentUpload
|
|
@@ -4617,7 +4617,7 @@ export default class FrontendModelBase {
|
|
|
4617
4617
|
scheduleSharedFrontendModelRequestFlush()
|
|
4618
4618
|
})
|
|
4619
4619
|
|
|
4620
|
-
const decodedBatchResponse = /** @type {Record<string,
|
|
4620
|
+
const decodedBatchResponse = /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (batchResponse)
|
|
4621
4621
|
|
|
4622
4622
|
this.throwOnErrorFrontendModelResponse({
|
|
4623
4623
|
commandType,
|
|
@@ -4653,7 +4653,7 @@ export default class FrontendModelBase {
|
|
|
4653
4653
|
}
|
|
4654
4654
|
|
|
4655
4655
|
const directJson = directResponseText.length > 0 ? JSON.parse(directResponseText) : {}
|
|
4656
|
-
const decodedDirectResponse = /** @type {Record<string,
|
|
4656
|
+
const decodedDirectResponse = /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (deserializeFrontendModelTransportValue(directJson))
|
|
4657
4657
|
|
|
4658
4658
|
this.throwOnErrorFrontendModelResponse({
|
|
4659
4659
|
commandType,
|
|
@@ -4668,17 +4668,13 @@ export default class FrontendModelBase {
|
|
|
4668
4668
|
/**
|
|
4669
4669
|
* Runs execute custom command.
|
|
4670
4670
|
* @this {FrontendModelClass}
|
|
4671
|
-
* @param {
|
|
4672
|
-
* @param {string} args.commandName - Raw command path segment.
|
|
4673
|
-
* @param {FrontendModelRequestCommandType} args.commandType - Logical command type for error handling.
|
|
4674
|
-
* @param {string | number | null} [args.memberId] - Optional member id for member-scoped commands.
|
|
4675
|
-
* @param {Record<string, ?>} args.payload - Request payload.
|
|
4676
|
-
* @param {string} args.resourcePath - Direct resource path.
|
|
4671
|
+
* @param {{commandName: string, commandType: FrontendModelRequestCommandType, memberId?: string | number | null, payload: Record<string, ReturnType<typeof JSON.parse>>, resourcePath: string}} args - Command arguments.
|
|
4677
4672
|
* @returns {Promise<Record<string, FrontendModelAttributeValue>>} - Decoded response payload.
|
|
4678
4673
|
*/
|
|
4679
|
-
static async executeCustomCommand(
|
|
4674
|
+
static async executeCustomCommand(args) {
|
|
4675
|
+
const {commandName, commandType, memberId = null, payload, resourcePath} = args
|
|
4680
4676
|
const timeZone = frontendModelTransportTimeZone()
|
|
4681
|
-
const serializedPayload = /** @type {Record<string,
|
|
4677
|
+
const serializedPayload = /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (serializeFrontendModelTransportValue(payload, {timeZone}))
|
|
4682
4678
|
const customPath = frontendModelCustomCommandPath({
|
|
4683
4679
|
commandName,
|
|
4684
4680
|
memberId,
|
|
@@ -4713,12 +4709,11 @@ export default class FrontendModelBase {
|
|
|
4713
4709
|
/**
|
|
4714
4710
|
* Runs throw on error frontend model response.
|
|
4715
4711
|
* @this {FrontendModelClass}
|
|
4716
|
-
* @param {
|
|
4717
|
-
* @param {FrontendModelRequestCommandType} args.commandType - Command type.
|
|
4718
|
-
* @param {Record<string, ?>} args.response - Decoded response.
|
|
4712
|
+
* @param {{commandType: FrontendModelRequestCommandType, response: Record<string, ReturnType<typeof JSON.parse>>}} args - Arguments.
|
|
4719
4713
|
* @returns {void}
|
|
4720
4714
|
*/
|
|
4721
|
-
static throwOnErrorFrontendModelResponse(
|
|
4715
|
+
static throwOnErrorFrontendModelResponse(args) {
|
|
4716
|
+
const {commandType, response} = args
|
|
4722
4717
|
if (response?.status !== "error") return
|
|
4723
4718
|
|
|
4724
4719
|
const responseKeys = Object.keys(response)
|
|
@@ -4744,7 +4739,10 @@ export default class FrontendModelBase {
|
|
|
4744
4739
|
? response.errorMessage
|
|
4745
4740
|
: `Request failed for ${this.name}#${commandType}`)
|
|
4746
4741
|
|
|
4747
|
-
const error = /** @type {Error & {velocious?: Record<string,
|
|
4742
|
+
const error = /** @type {Error & {correlationId?: string, details?: Record<string, ReturnType<typeof JSON.parse>>, errorMessage?: string, velocious?: Record<string, ReturnType<typeof JSON.parse>>, errorType?: string, validationErrors?: Record<string, ReturnType<typeof JSON.parse>>, debugErrorClass?: string, debugBacktrace?: string[]}} */ (new Error(errorMessage))
|
|
4743
|
+
if (hasErrorMessage) {
|
|
4744
|
+
error.errorMessage = response.errorMessage
|
|
4745
|
+
}
|
|
4748
4746
|
if (response.velocious && typeof response.velocious === "object") {
|
|
4749
4747
|
error.velocious = response.velocious
|
|
4750
4748
|
}
|
|
@@ -4754,6 +4752,12 @@ export default class FrontendModelBase {
|
|
|
4754
4752
|
if (response.validationErrors && typeof response.validationErrors === "object") {
|
|
4755
4753
|
error.validationErrors = response.validationErrors
|
|
4756
4754
|
}
|
|
4755
|
+
if (response.details && typeof response.details === "object") {
|
|
4756
|
+
error.details = response.details
|
|
4757
|
+
}
|
|
4758
|
+
if (typeof response.correlationId === "string") {
|
|
4759
|
+
error.correlationId = response.correlationId
|
|
4760
|
+
}
|
|
4757
4761
|
// Forward server-provided debug detail (included only when the backend
|
|
4758
4762
|
// deems the requester allowed to see it, e.g. an admin) so callers can
|
|
4759
4763
|
// render the real error class and stack trace instead of the generic
|
|
@@ -4773,7 +4777,7 @@ export default class FrontendModelBase {
|
|
|
4773
4777
|
* @returns {Set<string>} - Configured frontend model attribute names.
|
|
4774
4778
|
*/
|
|
4775
4779
|
static configuredFrontendModelAttributeNames() {
|
|
4776
|
-
const resourceConfig = /** @type {Record<string,
|
|
4780
|
+
const resourceConfig = /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (this.resourceConfig())
|
|
4777
4781
|
const attributes = resourceConfig.attributes
|
|
4778
4782
|
|
|
4779
4783
|
if (Array.isArray(attributes)) {
|