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
|
@@ -1,8 +1,32 @@
|
|
|
1
|
+
export type SplitterFileEntry = {
|
|
2
|
+
/**
|
|
3
|
+
* - Absolute file path.
|
|
4
|
+
*/
|
|
5
|
+
filePath: string;
|
|
6
|
+
/**
|
|
7
|
+
* - Computed weight for load balancing.
|
|
8
|
+
*/
|
|
9
|
+
weight: number;
|
|
10
|
+
};
|
|
11
|
+
export type GroupBucket = {
|
|
12
|
+
/**
|
|
13
|
+
* - Accumulated weight.
|
|
14
|
+
*/
|
|
15
|
+
totalWeight: number;
|
|
16
|
+
/**
|
|
17
|
+
* - Files assigned to this group.
|
|
18
|
+
*/
|
|
19
|
+
files: string[];
|
|
20
|
+
};
|
|
1
21
|
/**
|
|
2
22
|
* Splits a list of test files into balanced groups using a greedy load-balancing algorithm.
|
|
3
23
|
* Modeled after test_suite_splitter for RSpec.
|
|
4
24
|
*/
|
|
5
25
|
export default class TestSuiteSplitter {
|
|
26
|
+
_groups: number;
|
|
27
|
+
_groupNumber: number;
|
|
28
|
+
_testFiles: string[];
|
|
29
|
+
_baseDirectory: string;
|
|
6
30
|
/**
|
|
7
31
|
* Runs constructor.
|
|
8
32
|
* @param {object} args - Options.
|
|
@@ -15,12 +39,8 @@ export default class TestSuiteSplitter {
|
|
|
15
39
|
groups: number;
|
|
16
40
|
groupNumber: number;
|
|
17
41
|
testFiles: string[];
|
|
18
|
-
baseDirectory?: string
|
|
42
|
+
baseDirectory?: string;
|
|
19
43
|
});
|
|
20
|
-
_groups: number;
|
|
21
|
-
_groupNumber: number;
|
|
22
|
-
_testFiles: string[];
|
|
23
|
-
_baseDirectory: string;
|
|
24
44
|
/**
|
|
25
45
|
* Returns the test files assigned to this group.
|
|
26
46
|
* @returns {string[]} - File paths for the requested group.
|
|
@@ -58,30 +78,4 @@ export default class TestSuiteSplitter {
|
|
|
58
78
|
*/
|
|
59
79
|
findLightestBucket(buckets: GroupBucket[]): GroupBucket;
|
|
60
80
|
}
|
|
61
|
-
/**
|
|
62
|
-
* SplitterFileEntry type.
|
|
63
|
-
*/
|
|
64
|
-
export type SplitterFileEntry = {
|
|
65
|
-
/**
|
|
66
|
-
* - Absolute file path.
|
|
67
|
-
*/
|
|
68
|
-
filePath: string;
|
|
69
|
-
/**
|
|
70
|
-
* - Computed weight for load balancing.
|
|
71
|
-
*/
|
|
72
|
-
weight: number;
|
|
73
|
-
};
|
|
74
|
-
/**
|
|
75
|
-
* GroupBucket type.
|
|
76
|
-
*/
|
|
77
|
-
export type GroupBucket = {
|
|
78
|
-
/**
|
|
79
|
-
* - Accumulated weight.
|
|
80
|
-
*/
|
|
81
|
-
totalWeight: number;
|
|
82
|
-
/**
|
|
83
|
-
* - Files assigned to this group.
|
|
84
|
-
*/
|
|
85
|
-
files: string[];
|
|
86
|
-
};
|
|
87
81
|
//# sourceMappingURL=test-suite-splitter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-suite-splitter.d.ts","sourceRoot":"","sources":["../../../src/testing/test-suite-splitter.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test-suite-splitter.d.ts","sourceRoot":"","sources":["../../../src/testing/test-suite-splitter.js"],"names":[],"mappings":"AAOG,YAAkB,iBAAiB,GACnC;;;;IAAmB,QAAQ,EAAhB,MAAM,CACjB;;;;IAAmB,MAAM,EAAd,MAAM,CACnB;CAAA,CAAA;AAIE,YAAkB,WAAW,GAC7B;;;;IAAmB,WAAW,EAAnB,MAAM,CACjB;;;;IAAqB,KAAK,EAAf,MAAM,EAAE,CACrB;CAAA,CAAA;AAmBD;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,iBAAiB;IAoB7B,OAAO;IACP,YAAY;IACZ,UAAU;IACV,cAAc;IAtBrB;;;;;;;OAOG;IACH,YAAY,EAAC,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,QAAQ,EAAC,EALrE;QAAqB,MAAM,EAAnB,MAAM,CACd;QAAqB,WAAW,EAAxB,MAAM,CACd;QAAuB,SAAS,EAAxB,MAAM,EAAE,CAChB;QAAsB,aAAa,AAAnC,CACF,EADU,MAAM,CAChB;KACuE,EAevE;IAED;;;OAGG;IACH,aAAa,IAFA,MAAM,EAAE,CAQpB;IAED;;;OAGG;IACH,oBAAoB,IAFP,iBAAiB,EAAE,CAO/B;IAED;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAHX,MAGW,GAFT,MAAM,CAwBlB;IAED;;;;OAIG;IACH,sBAAsB,CAAC,KAAK,EAHjB,iBAAiB,EAGA,GAFf,iBAAiB,EAAE,CAU/B;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,WAAW,EAHnB,iBAAiB,EAGE,GAFjB,WAAW,EAAE,CAoBzB;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,EAHf,WAAW,EAGI,GAFb,WAAW,CAYvB;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import Expect from "./expect.js";
|
|
2
|
+
import waitForEvent from "./wait-for-event.js";
|
|
3
|
+
import { arrayContaining, objectContaining } from "./expect-utils.js";
|
|
4
4
|
export type VelociousTestConfig = {
|
|
5
5
|
/**
|
|
6
6
|
* - Console output mode.
|
|
@@ -20,44 +20,61 @@ export type VelociousTestConfig = {
|
|
|
20
20
|
failedConsoleOutputMaxLines: number;
|
|
21
21
|
};
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
24
|
-
* @
|
|
25
|
-
* @
|
|
23
|
+
* VelociousTestConfig type.
|
|
24
|
+
* @typedef {object} VelociousTestConfig
|
|
25
|
+
* @property {"failure" | "live"} consoleOutput - Console output mode.
|
|
26
|
+
* @property {string[]} excludeTags - Tags excluded by default.
|
|
27
|
+
* @property {number} defaultTimeoutSeconds - Default timeout in seconds.
|
|
28
|
+
* @property {number} failedConsoleOutputMaxLines - Maximum failed console lines to print inline.
|
|
26
29
|
*/
|
|
27
|
-
export function afterAll(callback: import("./test-runner.js").BeforeAfterAllCallbackType): void;
|
|
28
30
|
/**
|
|
29
|
-
*
|
|
31
|
+
* Tests.
|
|
32
|
+
* @type {import("./test-runner.js").TestsArgument} */
|
|
33
|
+
declare const tests: import("./test-runner.js").TestsArgument;
|
|
34
|
+
declare const testEvents: import("eventemitter3").EventEmitter<string | symbol, any>;
|
|
35
|
+
/**
|
|
36
|
+
* Test config.
|
|
37
|
+
* @type {VelociousTestConfig} */
|
|
38
|
+
declare const testConfig: VelociousTestConfig;
|
|
39
|
+
/**
|
|
40
|
+
* Runs configure tests.
|
|
41
|
+
* @param {object} args - Options.
|
|
42
|
+
* @param {"failure" | "live"} [args.consoleOutput] - Console output mode.
|
|
43
|
+
* @param {string[] | string} [args.excludeTags] - Tags to exclude.
|
|
44
|
+
* @param {number} [args.defaultTimeoutSeconds] - Default timeout in seconds.
|
|
45
|
+
* @param {number} [args.failedConsoleOutputMaxLines] - Maximum failed console lines to print inline.
|
|
46
|
+
* @returns {void}
|
|
47
|
+
*/
|
|
48
|
+
declare function configureTests({ consoleOutput, excludeTags, defaultTimeoutSeconds, failedConsoleOutputMaxLines }?: {
|
|
49
|
+
consoleOutput?: "failure" | "live";
|
|
50
|
+
excludeTags?: string[] | string;
|
|
51
|
+
defaultTimeoutSeconds?: number;
|
|
52
|
+
failedConsoleOutputMaxLines?: number;
|
|
53
|
+
}): void;
|
|
54
|
+
/**
|
|
55
|
+
* Runs before each.
|
|
30
56
|
* @param {import("./test-runner.js").AfterBeforeEachCallbackType} callback - Callback function.
|
|
31
57
|
* @returns {void} - No return value.
|
|
32
58
|
*/
|
|
33
|
-
|
|
59
|
+
declare function beforeEach(callback: import("./test-runner.js").AfterBeforeEachCallbackType): void;
|
|
34
60
|
/**
|
|
35
61
|
* Runs before all.
|
|
36
62
|
* @param {import("./test-runner.js").BeforeAfterAllCallbackType} callback - Callback function.
|
|
37
63
|
* @returns {void} - No return value.
|
|
38
64
|
*/
|
|
39
|
-
|
|
65
|
+
declare function beforeAll(callback: import("./test-runner.js").BeforeAfterAllCallbackType): void;
|
|
40
66
|
/**
|
|
41
|
-
* Runs
|
|
67
|
+
* Runs after each.
|
|
42
68
|
* @param {import("./test-runner.js").AfterBeforeEachCallbackType} callback - Callback function.
|
|
43
69
|
* @returns {void} - No return value.
|
|
44
70
|
*/
|
|
45
|
-
|
|
71
|
+
declare function afterEach(callback: import("./test-runner.js").AfterBeforeEachCallbackType): void;
|
|
46
72
|
/**
|
|
47
|
-
* Runs
|
|
48
|
-
* @param {
|
|
49
|
-
* @
|
|
50
|
-
* @param {string[] | string} [args.excludeTags] - Tags to exclude.
|
|
51
|
-
* @param {number} [args.defaultTimeoutSeconds] - Default timeout in seconds.
|
|
52
|
-
* @param {number} [args.failedConsoleOutputMaxLines] - Maximum failed console lines to print inline.
|
|
53
|
-
* @returns {void}
|
|
73
|
+
* Runs after all.
|
|
74
|
+
* @param {import("./test-runner.js").BeforeAfterAllCallbackType} callback - Callback function.
|
|
75
|
+
* @returns {void} - No return value.
|
|
54
76
|
*/
|
|
55
|
-
|
|
56
|
-
consoleOutput?: "failure" | "live" | undefined;
|
|
57
|
-
excludeTags?: string | string[] | undefined;
|
|
58
|
-
defaultTimeoutSeconds?: number | undefined;
|
|
59
|
-
failedConsoleOutputMaxLines?: number | undefined;
|
|
60
|
-
}): void;
|
|
77
|
+
declare function afterAll(callback: import("./test-runner.js").BeforeAfterAllCallbackType): void;
|
|
61
78
|
/**
|
|
62
79
|
* Runs describe.
|
|
63
80
|
* @param {string} description - Description.
|
|
@@ -65,53 +82,32 @@ export function configureTests({ consoleOutput, excludeTags, defaultTimeoutSecon
|
|
|
65
82
|
* @param {undefined|(() => (void|Promise<void>))} [arg2] - Arg2.
|
|
66
83
|
* @returns {Promise<void>} - Resolves when complete.
|
|
67
84
|
*/
|
|
68
|
-
|
|
85
|
+
declare function describe(description: string, arg1: object | (() => (void | Promise<void>)), arg2?: undefined | (() => (void | Promise<void>))): Promise<void>;
|
|
69
86
|
/**
|
|
70
87
|
* Runs expect.
|
|
71
|
-
* @param {
|
|
88
|
+
* @param {ReturnType<typeof JSON.parse>} arg - Arg.
|
|
72
89
|
* @returns {Expect} - The expect.
|
|
73
90
|
*/
|
|
74
|
-
|
|
75
|
-
|
|
91
|
+
declare function expect(arg: ReturnType<typeof JSON.parse>): Expect;
|
|
92
|
+
declare namespace expect {
|
|
76
93
|
export { objectContaining };
|
|
77
94
|
export { arrayContaining };
|
|
78
95
|
}
|
|
79
96
|
/**
|
|
80
|
-
* Runs
|
|
97
|
+
* Runs it.
|
|
81
98
|
* @param {string} description - Description.
|
|
82
99
|
* @param {object|(() => (void|Promise<void>))} arg1 - Arg1.
|
|
83
100
|
* @param {undefined|(() => (void|Promise<void>))} [arg2] - Arg2.
|
|
84
101
|
* @returns {void} - No return value.
|
|
85
102
|
*/
|
|
86
|
-
|
|
103
|
+
declare function it(description: string, arg1: object | (() => (void | Promise<void>)), arg2?: undefined | (() => (void | Promise<void>))): void;
|
|
87
104
|
/**
|
|
88
|
-
* Runs
|
|
105
|
+
* Runs fit.
|
|
89
106
|
* @param {string} description - Description.
|
|
90
107
|
* @param {object|(() => (void|Promise<void>))} arg1 - Arg1.
|
|
91
108
|
* @param {undefined|(() => (void|Promise<void>))} [arg2] - Arg2.
|
|
92
109
|
* @returns {void} - No return value.
|
|
93
110
|
*/
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
import { objectContaining } from "./expect-utils.js";
|
|
97
|
-
/**
|
|
98
|
-
* Test config.
|
|
99
|
-
* @type {VelociousTestConfig} */
|
|
100
|
-
export const testConfig: VelociousTestConfig;
|
|
101
|
-
export const testEvents: import("eventemitter3").EventEmitter<string | symbol, any>;
|
|
102
|
-
/**
|
|
103
|
-
* VelociousTestConfig type.
|
|
104
|
-
* @typedef {object} VelociousTestConfig
|
|
105
|
-
* @property {"failure" | "live"} consoleOutput - Console output mode.
|
|
106
|
-
* @property {string[]} excludeTags - Tags excluded by default.
|
|
107
|
-
* @property {number} defaultTimeoutSeconds - Default timeout in seconds.
|
|
108
|
-
* @property {number} failedConsoleOutputMaxLines - Maximum failed console lines to print inline.
|
|
109
|
-
*/
|
|
110
|
-
/**
|
|
111
|
-
* Tests.
|
|
112
|
-
* @type {import("./test-runner.js").TestsArgument} */
|
|
113
|
-
export const tests: import("./test-runner.js").TestsArgument;
|
|
114
|
-
import waitForEvent from "./wait-for-event.js";
|
|
115
|
-
import Expect from "./expect.js";
|
|
116
|
-
export { arrayContaining, objectContaining, waitForEvent };
|
|
111
|
+
declare function fit(description: string, arg1: object | (() => (void | Promise<void>)), arg2?: undefined | (() => (void | Promise<void>))): void;
|
|
112
|
+
export { afterAll, afterEach, beforeAll, beforeEach, configureTests, describe, expect, fit, it, arrayContaining, objectContaining, testConfig, testEvents, tests, waitForEvent };
|
|
117
113
|
//# sourceMappingURL=test.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/testing/test.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../../src/testing/test.js"],"names":[],"mappings":"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"}
|
|
@@ -128,9 +128,9 @@ function configureTests({ consoleOutput, excludeTags, defaultTimeoutSeconds, fai
|
|
|
128
128
|
}
|
|
129
129
|
/**
|
|
130
130
|
* Runs merge test args.
|
|
131
|
-
* @param {Record<string,
|
|
132
|
-
* @param {Record<string,
|
|
133
|
-
* @returns {Record<string,
|
|
131
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>>} baseArgs - Base args.
|
|
132
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>>} extraArgs - Extra args.
|
|
133
|
+
* @returns {Record<string, ReturnType<typeof JSON.parse>>} - Merged args.
|
|
134
134
|
*/
|
|
135
135
|
function mergeTestArgs(baseArgs, extraArgs) {
|
|
136
136
|
const merged = Object.assign({}, baseArgs, extraArgs);
|
|
@@ -189,7 +189,7 @@ function afterAll(callback) {
|
|
|
189
189
|
async function describe(description, arg1, arg2) {
|
|
190
190
|
/**
|
|
191
191
|
* Defines testArgs.
|
|
192
|
-
* @type {Record<string,
|
|
192
|
+
* @type {Record<string, ReturnType<typeof JSON.parse>>} */
|
|
193
193
|
let testArgs, testFunction;
|
|
194
194
|
if (typeof arg2 == "function") {
|
|
195
195
|
testFunction = arg2;
|
|
@@ -230,7 +230,7 @@ async function describe(description, arg1, arg2) {
|
|
|
230
230
|
}
|
|
231
231
|
/**
|
|
232
232
|
* Runs expect.
|
|
233
|
-
* @param {
|
|
233
|
+
* @param {ReturnType<typeof JSON.parse>} arg - Arg.
|
|
234
234
|
* @returns {Expect} - The expect.
|
|
235
235
|
*/
|
|
236
236
|
function expect(arg) {
|
|
@@ -249,7 +249,7 @@ function it(description, arg1, arg2) {
|
|
|
249
249
|
const currentTest = currentPath[currentPath.length - 1];
|
|
250
250
|
/**
|
|
251
251
|
* Defines testArgs.
|
|
252
|
-
* @type {Record<string,
|
|
252
|
+
* @type {Record<string, ReturnType<typeof JSON.parse>>} */
|
|
253
253
|
let testArgs;
|
|
254
254
|
/**
|
|
255
255
|
* Defines testFunction.
|
|
@@ -285,7 +285,7 @@ function it(description, arg1, arg2) {
|
|
|
285
285
|
function fit(description, arg1, arg2) {
|
|
286
286
|
/**
|
|
287
287
|
* Defines testArgs.
|
|
288
|
-
* @type {Record<string,
|
|
288
|
+
* @type {Record<string, ReturnType<typeof JSON.parse>>} */
|
|
289
289
|
let testArgs;
|
|
290
290
|
/**
|
|
291
291
|
* Defines testFunction.
|
|
@@ -305,15 +305,17 @@ function fit(description, arg1, arg2) {
|
|
|
305
305
|
return it(description, testArgs, testFunction);
|
|
306
306
|
}
|
|
307
307
|
// Make the methods global so they can be used in test files
|
|
308
|
-
globalThis
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
308
|
+
Object.assign(globalThis, {
|
|
309
|
+
afterAll,
|
|
310
|
+
afterEach,
|
|
311
|
+
beforeAll,
|
|
312
|
+
beforeEach,
|
|
313
|
+
configureTests,
|
|
314
|
+
describe,
|
|
315
|
+
expect,
|
|
316
|
+
fit,
|
|
317
|
+
it,
|
|
318
|
+
testEvents
|
|
319
|
+
});
|
|
318
320
|
export { afterAll, afterEach, beforeAll, beforeEach, configureTests, describe, expect, fit, it, arrayContaining, objectContaining, testConfig, testEvents, tests, waitForEvent };
|
|
319
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0aW5nL3Rlc3QuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sS0FBSyxDQUFBO0FBQ2pDLE9BQU8sWUFBWSxNQUFNLDJCQUEyQixDQUFBO0FBQ3BELE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLFlBQVksTUFBTSxxQkFBcUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFFbkU7Ozs7Ozs7R0FPRztBQUNIOztzREFFc0Q7QUFDdEQsTUFBTSxLQUFLLEdBQUc7SUFDWjs7Z0ZBRTRFO0lBQzVFLFdBQVcsRUFBRSxFQUFFO0lBQ2Y7OytFQUUyRTtJQUMzRSxTQUFTLEVBQUUsRUFBRTtJQUNiLElBQUksRUFBRSxFQUFFO0lBRVI7OytFQUUyRTtJQUMzRSxVQUFVLEVBQUUsRUFBRTtJQUNkOztnRkFFNEU7SUFDNUUsWUFBWSxFQUFFLEVBQUU7SUFDaEIsUUFBUSxFQUFFLFNBQVM7SUFDbkIsSUFBSSxFQUFFLFNBQVM7SUFDZixJQUFJLEVBQUUsRUFBRTtJQUNSLEtBQUssRUFBRSxFQUFFO0NBQ1YsQ0FBQTtBQUVELE1BQU0sVUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7QUFFckMsSUFBSSxXQUFXLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUV6Qjs7O0dBR0c7QUFDSCxTQUFTLGVBQWU7SUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQTtJQUN6QixNQUFNLEtBQUssR0FBRyxPQUFPLEtBQUssQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMs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YyxDQUFBO0FBRTFDLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuaW1wb3J0IHtmaWxlVVJMVG9QYXRofSBmcm9tIFwidXJsXCJcbmltcG9ydCBFdmVudEVtaXR0ZXIgZnJvbSBcIi4uL3V0aWxzL2V2ZW50LWVtaXR0ZXIuanNcIlxuaW1wb3J0IEV4cGVjdCBmcm9tIFwiLi9leHBlY3QuanNcIlxuaW1wb3J0IHdhaXRGb3JFdmVudCBmcm9tIFwiLi93YWl0LWZvci1ldmVudC5qc1wiXG5pbXBvcnQge2FycmF5Q29udGFpbmluZywgb2JqZWN0Q29udGFpbmluZ30gZnJvbSBcIi4vZXhwZWN0LXV0aWxzLmpzXCJcblxuLyoqXG4gKiBWZWxvY2lvdXNUZXN0Q29uZmlnIHR5cGUuXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBWZWxvY2lvdXNUZXN0Q29uZmlnXG4gKiBAcHJvcGVydHkge1wiZmFpbHVyZVwiIHwgXCJsaXZlXCJ9IGNvbnNvbGVPdXRwdXQgLSBDb25zb2xlIG91dHB1dCBtb2RlLlxuICogQHByb3BlcnR5IHtzdHJpbmdbXX0gZXhjbHVkZVRhZ3MgLSBUYWdzIGV4Y2x1ZGVkIGJ5IGRlZmF1bHQuXG4gKiBAcHJvcGVydHkge251bWJlcn0gZGVmYXVsdFRpbWVvdXRTZWNvbmRzIC0gRGVmYXVsdCB0aW1lb3V0IGluIHNlY29uZHMuXG4gKiBAcHJvcGVydHkge251bWJlcn0gZmFpbGVkQ29uc29sZU91dHB1dE1heExpbmVzIC0gTWF4aW11bSBmYWlsZWQgY29uc29sZSBsaW5lcyB0byBwcmludCBpbmxpbmUuXG4gKi9cbi8qKlxuICogVGVzdHMuXG4gKiBAdHlwZSB7aW1wb3J0KFwiLi90ZXN0LXJ1bm5lci5qc1wiKS5UZXN0c0FyZ3VtZW50fSAqL1xuY29uc3QgdGVzdHMgPSB7XG4gIC8qKlxuICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAqIEB0eXBlIHtpbXBvcnQoXCIuL3Rlc3QtcnVubmVyLmpzXCIpLkFmdGVyQmVmb3JlRWFjaENhbGxiYWNrT2JqZWN0VHlwZVtdfSAqL1xuICBhZnRlckVhY2hlczogW10sXG4gIC8qKlxuICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAqIEB0eXBlIHtpbXBvcnQoXCIuL3Rlc3QtcnVubmVyLmpzXCIpLkJlZm9yZUFmdGVyQWxsQ2FsbGJhY2tPYmplY3RUeXBlW119ICovXG4gIGFmdGVyQWxsczogW10sXG4gIGFyZ3M6IHt9LFxuXG4gIC8qKlxuICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAqIEB0eXBlIHtpbXBvcnQoXCIuL3Rlc3QtcnVubmVyLmpzXCIpLkJlZm9yZUFmdGVyQWxsQ2FsbGJhY2tPYmplY3RUeXBlW119ICovXG4gIGJlZm9yZUFsbHM6IFtdLFxuICAvKipcbiAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgKiBAdHlwZSB7aW1wb3J0KFwiLi90ZXN0LXJ1bm5lci5qc1wiKS5BZnRlckJlZm9yZUVhY2hDYWxsYmFja09iamVjdFR5cGVbXX0gKi9cbiAgYmVmb3JlRWFjaGVzOiBbXSxcbiAgZmlsZVBhdGg6IHVuZGVmaW5lZCxcbiAgbGluZTogdW5kZWZpbmVkLFxuICBzdWJzOiB7fSxcbiAgdGVzdHM6IHt9XG59XG5cbmNvbnN0IHRlc3RFdmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyKClcblxubGV0IGN1cnJlbnRQYXRoID0gW3Rlc3RzXVxuXG4vKipcbiAqIFJ1bnMgY2FwdHVyZSBsb2NhdGlvbi5cbiAqIEByZXR1cm5zIHt7ZmlsZVBhdGg/OiBzdHJpbmcsIGxpbmU/OiBudW1iZXJ9fSAtIExvY2F0aW9uLlxuICovXG5mdW5jdGlvbiBjYXB0dXJlTG9jYXRpb24oKSB7XG4gIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKClcbiAgY29uc3Qgc3RhY2sgPSB0eXBlb2YgZXJyb3Iuc3RhY2sgPT09IFwic3RyaW5nXCIgPyBlcnJvci5zdGFjay5zcGxpdChcIlxcblwiKSA6IFtdXG5cbiAgZm9yIChjb25zdCBsaW5lIG9mIHN0YWNrKSB7XG4gICAgY29uc3QgdHJpbW1lZCA9IGxpbmUudHJpbSgpXG5cbiAgICBpZiAoIXRyaW1tZWQuaW5jbHVkZXMoXCJhdFwiKSkgY29udGludWVcbiAgICBpZiAodHJpbW1lZC5pbmNsdWRlcyhcIi9zcmMvdGVzdGluZy90ZXN0LmpzXCIpKSBjb250aW51ZVxuXG4gICAgY29uc3QgbWF0Y2ggPSB0cmltbWVkLm1hdGNoKC8oPzpcXCh8XFxzKShmaWxlOlxcL1xcLy4qP3xcXC8uKj8pOihcXGQrKTooXFxkKylcXCk/JC8pXG5cbiAgICBpZiAoIW1hdGNoKSBjb250aW51ZVxuXG4gICAgY29uc3QgcmF3UGF0aCA9IG1hdGNoWzFdXG4gICAgY29uc3QgbGluZU51bWJlciA9IE51bWJlcihtYXRjaFsyXSlcbiAgICBjb25zdCBmaWxlUGF0aCA9IHJhd1BhdGguc3RhcnRzV2l0aChcImZpbGU6Ly9cIilcbiAgICAgID8gZmlsZVVSTFRvUGF0aChyYXdQYXRoKVxuICAgICAgOiByYXdQYXRoXG5cbiAgICByZXR1cm4ge1xuICAgICAgZmlsZVBhdGg6IHBhdGgucmVzb2x2ZShmaWxlUGF0aCksXG4gICAgICBsaW5lOiBOdW1iZXIuaXNGaW5pdGUobGluZU51bWJlcikgPyBsaW5lTnVtYmVyIDogdW5kZWZpbmVkXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHt9XG59XG5cbi8qKlxuICogUnVucyBub3JtYWxpemUgdGFncy5cbiAqIEBwYXJhbSB7c3RyaW5nW10gfCBzdHJpbmcgfCB1bmRlZmluZWR9IHRhZ3MgLSBUYWdzLlxuICogQHJldHVybnMge3N0cmluZ1tdfSAtIE5vcm1hbGl6ZWQgdGFncy5cbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplVGFncyh0YWdzKSB7XG4gIGlmICghdGFncykgcmV0dXJuIFtdXG5cbiAgY29uc3QgdmFsdWVzID0gW11cbiAgY29uc3QgcmF3VGFncyA9IEFycmF5LmlzQXJyYXkodGFncykgPyB0YWdzIDogW3RhZ3NdXG5cbiAgZm9yIChjb25zdCByYXdUYWcgb2YgcmF3VGFncykge1xuICAgIGlmIChyYXdUYWcgPT09IHVuZGVmaW5lZCB8fCByYXdUYWcgPT09IG51bGwpIGNvbnRpbnVlXG5cbiAgICBjb25zdCBwYXJ0cyA9IFN0cmluZyhyYXdUYWcpLnNwbGl0KFwiLFwiKVxuXG4gICAgZm9yIChjb25zdCBwYXJ0IG9mIHBhcnRzKSB7XG4gICAgICBjb25zdCB0cmltbWVkID0gcGFydC50cmltKClcblxuICAgICAgaWYgKHRyaW1tZWQpIHZhbHVlcy5wdXNoKHRyaW1tZWQpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIEFycmF5LmZyb20obmV3IFNldCh2YWx1ZXMpKVxufVxuXG4vKipcbiAqIFRlc3QgY29uZmlnLlxuICogQHR5cGUge1ZlbG9jaW91c1Rlc3RDb25maWd9ICovXG5jb25zdCB0ZXN0Q29uZmlnID0ge1xuICBjb25zb2xlT3V0cHV0OiBcImZhaWx1cmVcIixcbiAgZmFpbGVkQ29uc29sZU91dHB1dE1heExpbmVzOiAyMDAsXG4gIGV4Y2x1ZGVUYWdzOiBbXSxcbiAgZGVmYXVsdFRpbWVvdXRTZWNvbmRzOiA2MFxufVxuXG4vKipcbiAqIFJ1bnMgY29uZmlndXJlIHRlc3RzLlxuICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zLlxuICogQHBhcmFtIHtcImZhaWx1cmVcIiB8IFwibGl2ZVwifSBbYXJncy5jb25zb2xlT3V0cHV0XSAtIENvbnNvbGUgb3V0cHV0IG1vZGUuXG4gKiBAcGFyYW0ge3N0cmluZ1tdIHwgc3RyaW5nfSBbYXJncy5leGNsdWRlVGFnc10gLSBUYWdzIHRvIGV4Y2x1ZGUuXG4gKiBAcGFyYW0ge251bWJlcn0gW2FyZ3MuZGVmYXVsdFRpbWVvdXRTZWNvbmRzXSAtIERlZmF1bHQgdGltZW91dCBpbiBzZWNvbmRzLlxuICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLmZhaWxlZENvbnNvbGVPdXRwdXRNYXhMaW5lc10gLSBNYXhpbXVtIGZhaWxlZCBjb25zb2xlIGxpbmVzIHRvIHByaW50IGlubGluZS5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5mdW5jdGlvbiBjb25maWd1cmVUZXN0cyh7Y29uc29sZU91dHB1dCwgZXhjbHVkZVRhZ3MsIGRlZmF1bHRUaW1lb3V0U2Vjb25kcywgZmFpbGVkQ29uc29sZU91dHB1dE1heExpbmVzfSA9IHt9KSB7XG4gIGlmIChleGNsdWRlVGFncyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdGVzdENvbmZpZy5leGNsdWRlVGFncyA9IG5vcm1hbGl6ZVRhZ3MoZXhjbHVkZVRhZ3MpXG4gIH1cblxuICBpZiAoY29uc29sZU91dHB1dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaWYgKGNvbnNvbGVPdXRwdXQgIT09IFwiZmFpbHVyZVwiICYmIGNvbnNvbGVPdXRwdXQgIT09IFwibGl2ZVwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY29uc29sZU91dHB1dCBjb25maWc6ICR7Y29uc29sZU91dHB1dH1gKVxuICAgIH1cblxuICAgIHRlc3RDb25maWcuY29uc29sZU91dHB1dCA9IGNvbnNvbGVPdXRwdXRcbiAgfVxuXG4gIGlmICh0eXBlb2YgZGVmYXVsdFRpbWVvdXRTZWNvbmRzID09PSBcIm51bWJlclwiKSB7XG4gICAgdGVzdENvbmZpZy5kZWZhdWx0VGltZW91dFNlY29uZHMgPSBkZWZhdWx0VGltZW91dFNlY29uZHNcbiAgfVxuXG4gIGlmICh0eXBlb2YgZmFpbGVkQ29uc29sZU91dHB1dE1heExpbmVzID09PSBcIm51bWJlclwiKSB7XG4gICAgdGVzdENvbmZpZy5mYWlsZWRDb25zb2xlT3V0cHV0TWF4TGluZXMgPSBmYWlsZWRDb25zb2xlT3V0cHV0TWF4TGluZXNcbiAgfVxufVxuXG4vKipcbiAqIFJ1bnMgbWVyZ2UgdGVzdCBhcmdzLlxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCA/Pn0gYmFzZUFyZ3MgLSBCYXNlIGFyZ3MuXG4gKiBAcGFyYW0ge1JlY29yZDxzdHJpbmcsID8+fSBleHRyYUFyZ3MgLSBFeHRyYSBhcmdzLlxuICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsID8+fSAtIE1lcmdlZCBhcmdzLlxuICovXG5mdW5jdGlvbiBtZXJnZVRlc3RBcmdzKGJhc2VBcmdzLCBleHRyYUFyZ3MpIHtcbiAgY29uc3QgbWVyZ2VkID0gT2JqZWN0LmFzc2lnbih7fSwgYmFzZUFyZ3MsIGV4dHJhQXJncylcbiAgY29uc3QgbWVyZ2VkVGFncyA9IFsuLi5ub3JtYWxpemVUYWdzKGJhc2VBcmdzPy50YWdzKSwgLi4ubm9ybWFsaXplVGFncyhleHRyYUFyZ3M/LnRhZ3MpXVxuXG4gIGlmIChtZXJnZWRUYWdzLmxlbmd0aCA+IDApIHtcbiAgICBtZXJnZWQudGFncyA9IEFycmF5LmZyb20obmV3IFNldChtZXJnZWRUYWdzKSlcbiAgfSBlbHNlIGlmIChcInRhZ3NcIiBpbiBtZXJnZWQpIHtcbiAgICBkZWxldGUgbWVyZ2VkLnRhZ3NcbiAgfVxuXG4gIHJldHVybiBtZXJnZWRcbn1cblxuLyoqXG4gKiBSdW5zIGJlZm9yZSBlYWNoLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL3Rlc3QtcnVubmVyLmpzXCIpLkFmdGVyQmVmb3JlRWFjaENhbGxiYWNrVHlwZX0gY2FsbGJhY2sgLSBDYWxsYmFjayBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gYmVmb3JlRWFjaChjYWxsYmFjaykge1xuICBjb25zdCBjdXJyZW50VGVzdCA9IGN1cnJlbnRQYXRoW2N1cnJlbnRQYXRoLmxlbmd0aCAtIDFdXG5cbiAgY3VycmVudFRlc3QuYmVmb3JlRWFjaGVzLnB1c2goe2NhbGxiYWNrfSlcbn1cblxuLyoqXG4gKiBSdW5zIGJlZm9yZSBhbGwuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vdGVzdC1ydW5uZXIuanNcIikuQmVmb3JlQWZ0ZXJBbGxDYWxsYmFja1R5cGV9IGNhbGxiYWNrIC0gQ2FsbGJhY2sgZnVuY3Rpb24uXG4gKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGJlZm9yZUFsbChjYWxsYmFjaykge1xuICBjb25zdCBjdXJyZW50VGVzdCA9IGN1cnJlbnRQYXRoW2N1cnJlbnRQYXRoLmxlbmd0aCAtIDFdXG5cbiAgY3VycmVudFRlc3QuYmVmb3JlQWxscy5wdXNoKHtjYWxsYmFja30pXG59XG5cbi8qKlxuICogUnVucyBhZnRlciBlYWNoLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL3Rlc3QtcnVubmVyLmpzXCIpLkFmdGVyQmVmb3JlRWFjaENhbGxiYWNrVHlwZX0gY2FsbGJhY2sgLSBDYWxsYmFjayBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gYWZ0ZXJFYWNoKGNhbGxiYWNrKSB7XG4gIGNvbnN0IGN1cnJlbnRUZXN0ID0gY3VycmVudFBhdGhbY3VycmVudFBhdGgubGVuZ3RoIC0gMV1cblxuICBjdXJyZW50VGVzdC5hZnRlckVhY2hlcy5wdXNoKHtjYWxsYmFja30pXG59XG5cbi8qKlxuICogUnVucyBhZnRlciBhbGwuXG4gKiBAcGFyYW0ge2ltcG9ydChcIi4vdGVzdC1ydW5uZXIuanNcIikuQmVmb3JlQWZ0ZXJBbGxDYWxsYmFja1R5cGV9IGNhbGxiYWNrIC0gQ2FsbGJhY2sgZnVuY3Rpb24uXG4gKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGFmdGVyQWxsKGNhbGxiYWNrKSB7XG4gIGNvbnN0IGN1cnJlbnRUZXN0ID0gY3VycmVudFBhdGhbY3VycmVudFBhdGgubGVuZ3RoIC0gMV1cblxuICBjdXJyZW50VGVzdC5hZnRlckFsbHMucHVzaCh7Y2FsbGJhY2t9KVxufVxuXG4vKipcbiAqIFJ1bnMgZGVzY3JpYmUuXG4gKiBAcGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb24gLSBEZXNjcmlwdGlvbi5cbiAqIEBwYXJhbSB7b2JqZWN0fCgoKSA9PiAodm9pZHxQcm9taXNlPHZvaWQ+KSl9IGFyZzEgLSBBcmcxLlxuICogQHBhcmFtIHt1bmRlZmluZWR8KCgpID0+ICh2b2lkfFByb21pc2U8dm9pZD4pKX0gW2FyZzJdIC0gQXJnMi5cbiAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGRlc2NyaWJlKGRlc2NyaXB0aW9uLCBhcmcxLCBhcmcyKSB7XG4gIC8qKlxuICAgKiBEZWZpbmVzIHRlc3RBcmdzLlxuICAgKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgPz59ICovXG4gIGxldCB0ZXN0QXJncywgdGVzdEZ1bmN0aW9uXG5cbiAgaWYgKHR5cGVvZiBhcmcyID09IFwiZnVuY3Rpb25cIikge1xuICAgIHRlc3RGdW5jdGlvbiA9IGFyZzJcbiAgICB0ZXN0QXJncyA9IGFyZzFcbiAgfSBlbHNlIGlmICh0eXBlb2YgYXJnMSA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICB0ZXN0RnVuY3Rpb24gPSBhcmcxXG4gICAgdGVzdEFyZ3MgPSB7fVxuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcmd1bWVudHMgZm9yIGRlc2NyaWJlOiAke2FyZzF9LCAke2FyZzJ9YClcbiAgfVxuXG4gIGNvbnN0IGN1cnJlbnRUZXN0ID0gY3VycmVudFBhdGhbY3VycmVudFBhdGgubGVuZ3RoIC0gMV1cbiAgY29uc3QgbmV3VGVzdEFyZ3MgPSBtZXJnZVRlc3RBcmdzKGN1cnJlbnRUZXN0LmFyZ3MsIHRlc3RBcmdzKVxuXG4gIGlmIChkZXNjcmlwdGlvbiBpbiBjdXJyZW50VGVzdC5zdWJzKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBEdXBsaWNhdGUgdGVzdCBkZXNjcmlwdGlvbjogJHtkZXNjcmlwdGlvbn1gKVxuICB9XG5cbiAgY29uc3QgbG9jYXRpb24gPSBjYXB0dXJlTG9jYXRpb24oKVxuICBjb25zdCBuZXdUZXN0RGF0YSA9IHtcbiAgICBhZnRlckVhY2hlczogW10sXG4gICAgYWZ0ZXJBbGxzOiBbXSxcbiAgICBhcmdzOiBuZXdUZXN0QXJncyxcbiAgICBiZWZvcmVBbGxzOiBbXSxcbiAgICBiZWZvcmVFYWNoZXM6IFtdLFxuICAgIGZpbGVQYXRoOiBsb2NhdGlvbi5maWxlUGF0aCxcbiAgICBsaW5lOiBsb2NhdGlvbi5saW5lLFxuICAgIHN1YnM6IHt9LFxuICAgIHRlc3RzOiB7fVxuICB9XG5cbiAgY3VycmVudFRlc3Quc3Vic1tkZXNjcmlwdGlvbl0gPSBuZXdUZXN0RGF0YVxuICBjdXJyZW50UGF0aC5wdXNoKG5ld1Rlc3REYXRhKVxuXG4gIHRyeSB7XG4gICAgYXdhaXQgdGVzdEZ1bmN0aW9uKClcbiAgfSBmaW5hbGx5IHtcbiAgICBjdXJyZW50UGF0aC5wb3AoKVxuICB9XG59XG5cbi8qKlxuICogUnVucyBleHBlY3QuXG4gKiBAcGFyYW0gez99IGFyZyAtIEFyZy5cbiAqIEByZXR1cm5zIHtFeHBlY3R9IC0gVGhlIGV4cGVjdC5cbiAqL1xuZnVuY3Rpb24gZXhwZWN0KGFyZykge1xuICByZXR1cm4gbmV3IEV4cGVjdChhcmcpXG59XG5cbmV4cGVjdC5vYmplY3RDb250YWluaW5nID0gb2JqZWN0Q29udGFpbmluZ1xuZXhwZWN0LmFycmF5Q29udGFpbmluZyA9IGFycmF5Q29udGFpbmluZ1xuXG4vKipcbiAqIFJ1bnMgaXQuXG4gKiBAcGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb24gLSBEZXNjcmlwdGlvbi5cbiAqIEBwYXJhbSB7b2JqZWN0fCgoKSA9PiAodm9pZHxQcm9taXNlPHZvaWQ+KSl9IGFyZzEgLSBBcmcxLlxuICogQHBhcmFtIHt1bmRlZmluZWR8KCgpID0+ICh2b2lkfFByb21pc2U8dm9pZD4pKX0gW2FyZzJdIC0gQXJnMi5cbiAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gaXQoZGVzY3JpcHRpb24sIGFyZzEsIGFyZzIpIHtcbiAgY29uc3QgY3VycmVudFRlc3QgPSBjdXJyZW50UGF0aFtjdXJyZW50UGF0aC5sZW5ndGggLSAxXVxuICAvKipcbiAgICogRGVmaW5lcyB0ZXN0QXJncy5cbiAgICogQHR5cGUge1JlY29yZDxzdHJpbmcsID8+fSAqL1xuICBsZXQgdGVzdEFyZ3NcblxuICAvKipcbiAgICogRGVmaW5lcyB0ZXN0RnVuY3Rpb24uXG4gICAqIEB0eXBlIHsoKSA9PiAodm9pZHxQcm9taXNlPHZvaWQ+KX0gKi9cbiAgbGV0IHRlc3RGdW5jdGlvblxuXG4gIGlmICh0eXBlb2YgYXJnMSA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICB0ZXN0RnVuY3Rpb24gPSAvKiogQHR5cGUgeygpID0+ICh2b2lkfFByb21pc2U8dm9pZD4pfSAqLyAoYXJnMSlcbiAgICB0ZXN0QXJncyA9IHt9XG4gIH0gZWxzZSBpZiAodHlwZW9mIGFyZzIgPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgdGVzdEZ1bmN0aW9uID0gLyoqIEB0eXBlIHsoKSA9PiAodm9pZHxQcm9taXNlPHZvaWQ+KX0gKi8gKGFyZzIpXG4gICAgdGVzdEFyZ3MgPSBhcmcxXG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFyZ3VtZW50cyBmb3IgaXQ6ICR7ZGVzY3JpcHRpb259LCAke2FyZzF9YClcbiAgfVxuXG4gIGNvbnN0IG5ld1Rlc3RBcmdzID0gbWVyZ2VUZXN0QXJncyhjdXJyZW50VGVzdC5hcmdzLCB0ZXN0QXJncylcblxuICBjb25zdCBsb2NhdGlvbiA9IGNhcHR1cmVMb2NhdGlvbigpXG5cbiAgY3VycmVudFRlc3QudGVzdHNbZGVzY3JpcHRpb25dID0ge1xuICAgIGFyZ3M6IG5ld1Rlc3RBcmdzLFxuICAgIGZ1bmN0aW9uOiB0ZXN0RnVuY3Rpb24sXG4gICAgZmlsZVBhdGg6IGxvY2F0aW9uLmZpbGVQYXRoLFxuICAgIGxpbmU6IGxvY2F0aW9uLmxpbmVcbiAgfVxufVxuXG4vKipcbiAqIFJ1bnMgZml0LlxuICogQHBhcmFtIHtzdHJpbmd9IGRlc2NyaXB0aW9uIC0gRGVzY3JpcHRpb24uXG4gKiBAcGFyYW0ge29iamVjdHwoKCkgPT4gKHZvaWR8UHJvbWlzZTx2b2lkPikpfSBhcmcxIC0gQXJnMS5cbiAqIEBwYXJhbSB7dW5kZWZpbmVkfCgoKSA9PiAodm9pZHxQcm9taXNlPHZvaWQ+KSl9IFthcmcyXSAtIEFyZzIuXG4gKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGZpdChkZXNjcmlwdGlvbiwgYXJnMSwgYXJnMikge1xuICAvKipcbiAgICogRGVmaW5lcyB0ZXN0QXJncy5cbiAgICogQHR5cGUge1JlY29yZDxzdHJpbmcsID8+fSAqL1xuICBsZXQgdGVzdEFyZ3NcblxuICAvKipcbiAgICogRGVmaW5lcyB0ZXN0RnVuY3Rpb24uXG4gICAqIEB0eXBlIHsoKSA9PiAodm9pZHxQcm9taXNlPHZvaWQ+KX0gKi9cbiAgbGV0IHRlc3RGdW5jdGlvblxuXG4gIGlmICh0eXBlb2YgYXJnMSA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICB0ZXN0RnVuY3Rpb24gPSAvKiogQHR5cGUgeygpID0+ICh2b2lkfFByb21pc2U8dm9pZD4pfSAqLyAoYXJnMSlcbiAgICB0ZXN0QXJncyA9IHtmb2N1czogdHJ1ZX1cbiAgfSBlbHNlIGlmICh0eXBlb2YgYXJnMiA9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICB0ZXN0RnVuY3Rpb24gPSAvKiogQHR5cGUgeygpID0+ICh2b2lkfFByb21pc2U8dm9pZD4pfSAqLyAoYXJnMilcbiAgICB0ZXN0QXJncyA9IE9iamVjdC5hc3NpZ24oe2ZvY3VzOiB0cnVlfSwgYXJnMSlcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgYXJndW1lbnRzIGZvciBpdDogJHtkZXNjcmlwdGlvbn0sICR7YXJnMX1gKVxuICB9XG5cbiAgcmV0dXJuIGl0KGRlc2NyaXB0aW9uLCB0ZXN0QXJncywgdGVzdEZ1bmN0aW9uKVxufVxuXG4vLyBNYWtlIHRoZSBtZXRob2RzIGdsb2JhbCBzbyB0aGV5IGNhbiBiZSB1c2VkIGluIHRlc3QgZmlsZXNcbmdsb2JhbFRoaXMuYWZ0ZXJFYWNoID0gYWZ0ZXJFYWNoXG5nbG9iYWxUaGlzLmFmdGVyQWxsID0gYWZ0ZXJBbGxcbmdsb2JhbFRoaXMuYmVmb3JlRWFjaCA9IGJlZm9yZUVhY2hcbmdsb2JhbFRoaXMuYmVmb3JlQWxsID0gYmVmb3JlQWxsXG5nbG9iYWxUaGlzLmRlc2NyaWJlID0gZGVzY3JpYmVcbmdsb2JhbFRoaXMuZXhwZWN0ID0gZXhwZWN0XG5nbG9iYWxUaGlzLml0ID0gaXRcbmdsb2JhbFRoaXMuZml0ID0gZml0XG5nbG9iYWxUaGlzLnRlc3RFdmVudHMgPSB0ZXN0RXZlbnRzXG5nbG9iYWxUaGlzLmNvbmZpZ3VyZVRlc3RzID0gY29uZmlndXJlVGVzdHNcblxuZXhwb3J0IHthZnRlckFsbCwgYWZ0ZXJFYWNoLCBiZWZvcmVBbGwsIGJlZm9yZUVhY2gsIGNvbmZpZ3VyZVRlc3RzLCBkZXNjcmliZSwgZXhwZWN0LCBmaXQsIGl0LCBhcnJheUNvbnRhaW5pbmcsIG9iamVjdENvbnRhaW5pbmcsIHRlc3RDb25maWcsIHRlc3RFdmVudHMsIHRlc3RzLCB3YWl0Rm9yRXZlbnR9XG4iXX0=
|
|
321
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy90ZXN0aW5nL3Rlc3QuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUN2QixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sS0FBSyxDQUFBO0FBQ2pDLE9BQU8sWUFBWSxNQUFNLDJCQUEyQixDQUFBO0FBQ3BELE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLFlBQVksTUFBTSxxQkFBcUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUMsZUFBZSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sbUJBQW1CLENBQUE7QUFFbkU7Ozs7Ozs7R0FPRztBQUNIOztzREFFc0Q7QUFDdEQsTUFBTSxLQUFLLEdBQUc7SUFDWjs7Z0ZBRTRFO0lBQzVFLFdBQVcsRUFBRSxFQUFFO0lBQ2Y7OytFQUUyRTtJQUMzRSxTQUFTLEVBQUUsRUFBRTtJQUNiLElBQUksRUFBRSxFQUFFO0lBRVI7OytFQUUyRTtJQUMzRSxVQUFVLEVBQUUsRUFBRTtJQUNkOztnRkFFNEU7SUFDNUUsWUFBWSxFQUFFLEVBQUU7SUFDaEIsUUFBUSxFQUFFLFNBQVM7SUFDbkIsSUFBSSxFQUFFLFNBQVM7SUFDZixJQUFJLEVBQUUsRUFBRTtJQUNSLEtBQUssRUFBRSxFQUFFO0NBQ1YsQ0FBQTtBQUVELE1BQU0sVUFBVSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUE7QUFFckMsSUFBSSxXQUFXLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUV6Qjs7O0dBR0c7QUFDSCxTQUFTLGVBQWU7SUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQTtJQUN6QixNQUFNLEtBQUssR0FBRyxPQUFPLEtBQUssQ0FBQyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMs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ZWNrXG5cbmltcG9ydCBwYXRoIGZyb20gXCJwYXRoXCJcbmltcG9ydCB7ZmlsZVVSTFRvUGF0aH0gZnJvbSBcInVybFwiXG5pbXBvcnQgRXZlbnRFbWl0dGVyIGZyb20gXCIuLi91dGlscy9ldmVudC1lbWl0dGVyLmpzXCJcbmltcG9ydCBFeHBlY3QgZnJvbSBcIi4vZXhwZWN0LmpzXCJcbmltcG9ydCB3YWl0Rm9yRXZlbnQgZnJvbSBcIi4vd2FpdC1mb3ItZXZlbnQuanNcIlxuaW1wb3J0IHthcnJheUNvbnRhaW5pbmcsIG9iamVjdENvbnRhaW5pbmd9IGZyb20gXCIuL2V4cGVjdC11dGlscy5qc1wiXG5cbi8qKlxuICogVmVsb2Npb3VzVGVzdENvbmZpZyB0eXBlLlxuICogQHR5cGVkZWYge29iamVjdH0gVmVsb2Npb3VzVGVzdENvbmZpZ1xuICogQHByb3BlcnR5IHtcImZhaWx1cmVcIiB8IFwibGl2ZVwifSBjb25zb2xlT3V0cHV0IC0gQ29uc29sZSBvdXRwdXQgbW9kZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nW119IGV4Y2x1ZGVUYWdzIC0gVGFncyBleGNsdWRlZCBieSBkZWZhdWx0LlxuICogQHByb3BlcnR5IHtudW1iZXJ9IGRlZmF1bHRUaW1lb3V0U2Vjb25kcyAtIERlZmF1bHQgdGltZW91dCBpbiBzZWNvbmRzLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IGZhaWxlZENvbnNvbGVPdXRwdXRNYXhMaW5lcyAtIE1heGltdW0gZmFpbGVkIGNvbnNvbGUgbGluZXMgdG8gcHJpbnQgaW5saW5lLlxuICovXG4vKipcbiAqIFRlc3RzLlxuICogQHR5cGUge2ltcG9ydChcIi4vdGVzdC1ydW5uZXIuanNcIikuVGVzdHNBcmd1bWVudH0gKi9cbmNvbnN0IHRlc3RzID0ge1xuICAvKipcbiAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgKiBAdHlwZSB7aW1wb3J0KFwiLi90ZXN0LXJ1bm5lci5qc1wiKS5BZnRlckJlZm9yZUVhY2hDYWxsYmFja09iamVjdFR5cGVbXX0gKi9cbiAgYWZ0ZXJFYWNoZXM6IFtdLFxuICAvKipcbiAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgKiBAdHlwZSB7aW1wb3J0KFwiLi90ZXN0LXJ1bm5lci5qc1wiKS5CZWZvcmVBZnRlckFsbENhbGxiYWNrT2JqZWN0VHlwZVtdfSAqL1xuICBhZnRlckFsbHM6IFtdLFxuICBhcmdzOiB7fSxcblxuICAvKipcbiAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgKiBAdHlwZSB7aW1wb3J0KFwiLi90ZXN0LXJ1bm5lci5qc1wiKS5CZWZvcmVBZnRlckFsbENhbGxiYWNrT2JqZWN0VHlwZVtdfSAqL1xuICBiZWZvcmVBbGxzOiBbXSxcbiAgLyoqXG4gICAqIE5hcnJvd3MgdGhlIHJ1bnRpbWUgdmFsdWUgdG8gdGhlIGRvY3VtZW50ZWQgdHlwZS5cbiAgICogQHR5cGUge2ltcG9ydChcIi4vdGVzdC1ydW5uZXIuanNcIikuQWZ0ZXJCZWZvcmVFYWNoQ2FsbGJhY2tPYmplY3RUeXBlW119ICovXG4gIGJlZm9yZUVhY2hlczogW10sXG4gIGZpbGVQYXRoOiB1bmRlZmluZWQsXG4gIGxpbmU6IHVuZGVmaW5lZCxcbiAgc3Viczoge30sXG4gIHRlc3RzOiB7fVxufVxuXG5jb25zdCB0ZXN0RXZlbnRzID0gbmV3IEV2ZW50RW1pdHRlcigpXG5cbmxldCBjdXJyZW50UGF0aCA9IFt0ZXN0c11cblxuLyoqXG4gKiBSdW5zIGNhcHR1cmUgbG9jYXRpb24uXG4gKiBAcmV0dXJucyB7e2ZpbGVQYXRoPzogc3RyaW5nLCBsaW5lPzogbnVtYmVyfX0gLSBMb2NhdGlvbi5cbiAqL1xuZnVuY3Rpb24gY2FwdHVyZUxvY2F0aW9uKCkge1xuICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcigpXG4gIGNvbnN0IHN0YWNrID0gdHlwZW9mIGVycm9yLnN0YWNrID09PSBcInN0cmluZ1wiID8gZXJyb3Iuc3RhY2suc3BsaXQoXCJcXG5cIikgOiBbXVxuXG4gIGZvciAoY29uc3QgbGluZSBvZiBzdGFjaykge1xuICAgIGNvbnN0IHRyaW1tZWQgPSBsaW5lLnRyaW0oKVxuXG4gICAgaWYgKCF0cmltbWVkLmluY2x1ZGVzKFwiYXRcIikpIGNvbnRpbnVlXG4gICAgaWYgKHRyaW1tZWQuaW5jbHVkZXMoXCIvc3JjL3Rlc3RpbmcvdGVzdC5qc1wiKSkgY29udGludWVcblxuICAgIGNvbnN0IG1hdGNoID0gdHJpbW1lZC5tYXRjaCgvKD86XFwofFxccykoZmlsZTpcXC9cXC8uKj98XFwvLio/KTooXFxkKyk6KFxcZCspXFwpPyQvKVxuXG4gICAgaWYgKCFtYXRjaCkgY29udGludWVcblxuICAgIGNvbnN0IHJhd1BhdGggPSBtYXRjaFsxXVxuICAgIGNvbnN0IGxpbmVOdW1iZXIgPSBOdW1iZXIobWF0Y2hbMl0pXG4gICAgY29uc3QgZmlsZVBhdGggPSByYXdQYXRoLnN0YXJ0c1dpdGgoXCJmaWxlOi8vXCIpXG4gICAgICA/IGZpbGVVUkxUb1BhdGgocmF3UGF0aClcbiAgICAgIDogcmF3UGF0aFxuXG4gICAgcmV0dXJuIHtcbiAgICAgIGZpbGVQYXRoOiBwYXRoLnJlc29sdmUoZmlsZVBhdGgpLFxuICAgICAgbGluZTogTnVtYmVyLmlzRmluaXRlKGxpbmVOdW1iZXIpID8gbGluZU51bWJlciA6IHVuZGVmaW5lZFxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7fVxufVxuXG4vKipcbiAqIFJ1bnMgbm9ybWFsaXplIHRhZ3MuXG4gKiBAcGFyYW0ge3N0cmluZ1tdIHwgc3RyaW5nIHwgdW5kZWZpbmVkfSB0YWdzIC0gVGFncy5cbiAqIEByZXR1cm5zIHtzdHJpbmdbXX0gLSBOb3JtYWxpemVkIHRhZ3MuXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZVRhZ3ModGFncykge1xuICBpZiAoIXRhZ3MpIHJldHVybiBbXVxuXG4gIGNvbnN0IHZhbHVlcyA9IFtdXG4gIGNvbnN0IHJhd1RhZ3MgPSBBcnJheS5pc0FycmF5KHRhZ3MpID8gdGFncyA6IFt0YWdzXVxuXG4gIGZvciAoY29uc3QgcmF3VGFnIG9mIHJhd1RhZ3MpIHtcbiAgICBpZiAocmF3VGFnID09PSB1bmRlZmluZWQgfHwgcmF3VGFnID09PSBudWxsKSBjb250aW51ZVxuXG4gICAgY29uc3QgcGFydHMgPSBTdHJpbmcocmF3VGFnKS5zcGxpdChcIixcIilcblxuICAgIGZvciAoY29uc3QgcGFydCBvZiBwYXJ0cykge1xuICAgICAgY29uc3QgdHJpbW1lZCA9IHBhcnQudHJpbSgpXG5cbiAgICAgIGlmICh0cmltbWVkKSB2YWx1ZXMucHVzaCh0cmltbWVkKVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBBcnJheS5mcm9tKG5ldyBTZXQodmFsdWVzKSlcbn1cblxuLyoqXG4gKiBUZXN0IGNvbmZpZy5cbiAqIEB0eXBlIHtWZWxvY2lvdXNUZXN0Q29uZmlnfSAqL1xuY29uc3QgdGVzdENvbmZpZyA9IHtcbiAgY29uc29sZU91dHB1dDogXCJmYWlsdXJlXCIsXG4gIGZhaWxlZENvbnNvbGVPdXRwdXRNYXhMaW5lczogMjAwLFxuICBleGNsdWRlVGFnczogW10sXG4gIGRlZmF1bHRUaW1lb3V0U2Vjb25kczogNjBcbn1cblxuLyoqXG4gKiBSdW5zIGNvbmZpZ3VyZSB0ZXN0cy5cbiAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucy5cbiAqIEBwYXJhbSB7XCJmYWlsdXJlXCIgfCBcImxpdmVcIn0gW2FyZ3MuY29uc29sZU91dHB1dF0gLSBDb25zb2xlIG91dHB1dCBtb2RlLlxuICogQHBhcmFtIHtzdHJpbmdbXSB8IHN0cmluZ30gW2FyZ3MuZXhjbHVkZVRhZ3NdIC0gVGFncyB0byBleGNsdWRlLlxuICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLmRlZmF1bHRUaW1lb3V0U2Vjb25kc10gLSBEZWZhdWx0IHRpbWVvdXQgaW4gc2Vjb25kcy5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbYXJncy5mYWlsZWRDb25zb2xlT3V0cHV0TWF4TGluZXNdIC0gTWF4aW11bSBmYWlsZWQgY29uc29sZSBsaW5lcyB0byBwcmludCBpbmxpbmUuXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gY29uZmlndXJlVGVzdHMoe2NvbnNvbGVPdXRwdXQsIGV4Y2x1ZGVUYWdzLCBkZWZhdWx0VGltZW91dFNlY29uZHMsIGZhaWxlZENvbnNvbGVPdXRwdXRNYXhMaW5lc30gPSB7fSkge1xuICBpZiAoZXhjbHVkZVRhZ3MgIT09IHVuZGVmaW5lZCkge1xuICAgIHRlc3RDb25maWcuZXhjbHVkZVRhZ3MgPSBub3JtYWxpemVUYWdzKGV4Y2x1ZGVUYWdzKVxuICB9XG5cbiAgaWYgKGNvbnNvbGVPdXRwdXQgIT09IHVuZGVmaW5lZCkge1xuICAgIGlmIChjb25zb2xlT3V0cHV0ICE9PSBcImZhaWx1cmVcIiAmJiBjb25zb2xlT3V0cHV0ICE9PSBcImxpdmVcIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNvbnNvbGVPdXRwdXQgY29uZmlnOiAke2NvbnNvbGVPdXRwdXR9YClcbiAgICB9XG5cbiAgICB0ZXN0Q29uZmlnLmNvbnNvbGVPdXRwdXQgPSBjb25zb2xlT3V0cHV0XG4gIH1cblxuICBpZiAodHlwZW9mIGRlZmF1bHRUaW1lb3V0U2Vjb25kcyA9PT0gXCJudW1iZXJcIikge1xuICAgIHRlc3RDb25maWcuZGVmYXVsdFRpbWVvdXRTZWNvbmRzID0gZGVmYXVsdFRpbWVvdXRTZWNvbmRzXG4gIH1cblxuICBpZiAodHlwZW9mIGZhaWxlZENvbnNvbGVPdXRwdXRNYXhMaW5lcyA9PT0gXCJudW1iZXJcIikge1xuICAgIHRlc3RDb25maWcuZmFpbGVkQ29uc29sZU91dHB1dE1heExpbmVzID0gZmFpbGVkQ29uc29sZU91dHB1dE1heExpbmVzXG4gIH1cbn1cblxuLyoqXG4gKiBSdW5zIG1lcmdlIHRlc3QgYXJncy5cbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSBiYXNlQXJncyAtIEJhc2UgYXJncy5cbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSBleHRyYUFyZ3MgLSBFeHRyYSBhcmdzLlxuICogQHJldHVybnMge1JlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gLSBNZXJnZWQgYXJncy5cbiAqL1xuZnVuY3Rpb24gbWVyZ2VUZXN0QXJncyhiYXNlQXJncywgZXh0cmFBcmdzKSB7XG4gIGNvbnN0IG1lcmdlZCA9IE9iamVjdC5hc3NpZ24oe30sIGJhc2VBcmdzLCBleHRyYUFyZ3MpXG4gIGNvbnN0IG1lcmdlZFRhZ3MgPSBbLi4ubm9ybWFsaXplVGFncyhiYXNlQXJncz8udGFncyksIC4uLm5vcm1hbGl6ZVRhZ3MoZXh0cmFBcmdzPy50YWdzKV1cblxuICBpZiAobWVyZ2VkVGFncy5sZW5ndGggPiAwKSB7XG4gICAgbWVyZ2VkLnRhZ3MgPSBBcnJheS5mcm9tKG5ldyBTZXQobWVyZ2VkVGFncykpXG4gIH0gZWxzZSBpZiAoXCJ0YWdzXCIgaW4gbWVyZ2VkKSB7XG4gICAgZGVsZXRlIG1lcmdlZC50YWdzXG4gIH1cblxuICByZXR1cm4gbWVyZ2VkXG59XG5cbi8qKlxuICogUnVucyBiZWZvcmUgZWFjaC5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi90ZXN0LXJ1bm5lci5qc1wiKS5BZnRlckJlZm9yZUVhY2hDYWxsYmFja1R5cGV9IGNhbGxiYWNrIC0gQ2FsbGJhY2sgZnVuY3Rpb24uXG4gKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGJlZm9yZUVhY2goY2FsbGJhY2spIHtcbiAgY29uc3QgY3VycmVudFRlc3QgPSBjdXJyZW50UGF0aFtjdXJyZW50UGF0aC5sZW5ndGggLSAxXVxuXG4gIGN1cnJlbnRUZXN0LmJlZm9yZUVhY2hlcy5wdXNoKHtjYWxsYmFja30pXG59XG5cbi8qKlxuICogUnVucyBiZWZvcmUgYWxsLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL3Rlc3QtcnVubmVyLmpzXCIpLkJlZm9yZUFmdGVyQWxsQ2FsbGJhY2tUeXBlfSBjYWxsYmFjayAtIENhbGxiYWNrIGZ1bmN0aW9uLlxuICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICovXG5mdW5jdGlvbiBiZWZvcmVBbGwoY2FsbGJhY2spIHtcbiAgY29uc3QgY3VycmVudFRlc3QgPSBjdXJyZW50UGF0aFtjdXJyZW50UGF0aC5sZW5ndGggLSAxXVxuXG4gIGN1cnJlbnRUZXN0LmJlZm9yZUFsbHMucHVzaCh7Y2FsbGJhY2t9KVxufVxuXG4vKipcbiAqIFJ1bnMgYWZ0ZXIgZWFjaC5cbiAqIEBwYXJhbSB7aW1wb3J0KFwiLi90ZXN0LXJ1bm5lci5qc1wiKS5BZnRlckJlZm9yZUVhY2hDYWxsYmFja1R5cGV9IGNhbGxiYWNrIC0gQ2FsbGJhY2sgZnVuY3Rpb24uXG4gKiBAcmV0dXJucyB7dm9pZH0gLSBObyByZXR1cm4gdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGFmdGVyRWFjaChjYWxsYmFjaykge1xuICBjb25zdCBjdXJyZW50VGVzdCA9IGN1cnJlbnRQYXRoW2N1cnJlbnRQYXRoLmxlbmd0aCAtIDFdXG5cbiAgY3VycmVudFRlc3QuYWZ0ZXJFYWNoZXMucHVzaCh7Y2FsbGJhY2t9KVxufVxuXG4vKipcbiAqIFJ1bnMgYWZ0ZXIgYWxsLlxuICogQHBhcmFtIHtpbXBvcnQoXCIuL3Rlc3QtcnVubmVyLmpzXCIpLkJlZm9yZUFmdGVyQWxsQ2FsbGJhY2tUeXBlfSBjYWxsYmFjayAtIENhbGxiYWNrIGZ1bmN0aW9uLlxuICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICovXG5mdW5jdGlvbiBhZnRlckFsbChjYWxsYmFjaykge1xuICBjb25zdCBjdXJyZW50VGVzdCA9IGN1cnJlbnRQYXRoW2N1cnJlbnRQYXRoLmxlbmd0aCAtIDFdXG5cbiAgY3VycmVudFRlc3QuYWZ0ZXJBbGxzLnB1c2goe2NhbGxiYWNrfSlcbn1cblxuLyoqXG4gKiBSdW5zIGRlc2NyaWJlLlxuICogQHBhcmFtIHtzdHJpbmd9IGRlc2NyaXB0aW9uIC0gRGVzY3JpcHRpb24uXG4gKiBAcGFyYW0ge29iamVjdHwoKCkgPT4gKHZvaWR8UHJvbWlzZTx2b2lkPikpfSBhcmcxIC0gQXJnMS5cbiAqIEBwYXJhbSB7dW5kZWZpbmVkfCgoKSA9PiAodm9pZHxQcm9taXNlPHZvaWQ+KSl9IFthcmcyXSAtIEFyZzIuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICovXG5hc3luYyBmdW5jdGlvbiBkZXNjcmliZShkZXNjcmlwdGlvbiwgYXJnMSwgYXJnMikge1xuICAvKipcbiAgICogRGVmaW5lcyB0ZXN0QXJncy5cbiAgICogQHR5cGUge1JlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gKi9cbiAgbGV0IHRlc3RBcmdzLCB0ZXN0RnVuY3Rpb25cblxuICBpZiAodHlwZW9mIGFyZzIgPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgdGVzdEZ1bmN0aW9uID0gYXJnMlxuICAgIHRlc3RBcmdzID0gYXJnMVxuICB9IGVsc2UgaWYgKHR5cGVvZiBhcmcxID09IFwiZnVuY3Rpb25cIikge1xuICAgIHRlc3RGdW5jdGlvbiA9IGFyZzFcbiAgICB0ZXN0QXJncyA9IHt9XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGFyZ3VtZW50cyBmb3IgZGVzY3JpYmU6ICR7YXJnMX0sICR7YXJnMn1gKVxuICB9XG5cbiAgY29uc3QgY3VycmVudFRlc3QgPSBjdXJyZW50UGF0aFtjdXJyZW50UGF0aC5sZW5ndGggLSAxXVxuICBjb25zdCBuZXdUZXN0QXJncyA9IG1lcmdlVGVzdEFyZ3MoY3VycmVudFRlc3QuYXJncywgdGVzdEFyZ3MpXG5cbiAgaWYgKGRlc2NyaXB0aW9uIGluIGN1cnJlbnRUZXN0LnN1YnMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYER1cGxpY2F0ZSB0ZXN0IGRlc2NyaXB0aW9uOiAke2Rlc2NyaXB0aW9ufWApXG4gIH1cblxuICBjb25zdCBsb2NhdGlvbiA9IGNhcHR1cmVMb2NhdGlvbigpXG4gIGNvbnN0IG5ld1Rlc3REYXRhID0ge1xuICAgIGFmdGVyRWFjaGVzOiBbXSxcbiAgICBhZnRlckFsbHM6IFtdLFxuICAgIGFyZ3M6IG5ld1Rlc3RBcmdzLFxuICAgIGJlZm9yZUFsbHM6IFtdLFxuICAgIGJlZm9yZUVhY2hlczogW10sXG4gICAgZmlsZVBhdGg6IGxvY2F0aW9uLmZpbGVQYXRoLFxuICAgIGxpbmU6IGxvY2F0aW9uLmxpbmUsXG4gICAgc3Viczoge30sXG4gICAgdGVzdHM6IHt9XG4gIH1cblxuICBjdXJyZW50VGVzdC5zdWJzW2Rlc2NyaXB0aW9uXSA9IG5ld1Rlc3REYXRhXG4gIGN1cnJlbnRQYXRoLnB1c2gobmV3VGVzdERhdGEpXG5cbiAgdHJ5IHtcbiAgICBhd2FpdCB0ZXN0RnVuY3Rpb24oKVxuICB9IGZpbmFsbHkge1xuICAgIGN1cnJlbnRQYXRoLnBvcCgpXG4gIH1cbn1cblxuLyoqXG4gKiBSdW5zIGV4cGVjdC5cbiAqIEBwYXJhbSB7UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59IGFyZyAtIEFyZy5cbiAqIEByZXR1cm5zIHtFeHBlY3R9IC0gVGhlIGV4cGVjdC5cbiAqL1xuZnVuY3Rpb24gZXhwZWN0KGFyZykge1xuICByZXR1cm4gbmV3IEV4cGVjdChhcmcpXG59XG5cbmV4cGVjdC5vYmplY3RDb250YWluaW5nID0gb2JqZWN0Q29udGFpbmluZ1xuZXhwZWN0LmFycmF5Q29udGFpbmluZyA9IGFycmF5Q29udGFpbmluZ1xuXG4vKipcbiAqIFJ1bnMgaXQuXG4gKiBAcGFyYW0ge3N0cmluZ30gZGVzY3JpcHRpb24gLSBEZXNjcmlwdGlvbi5cbiAqIEBwYXJhbSB7b2JqZWN0fCgoKSA9PiAodm9pZHxQcm9taXNlPHZvaWQ+KSl9IGFyZzEgLSBBcmcxLlxuICogQHBhcmFtIHt1bmRlZmluZWR8KCgpID0+ICh2b2lkfFByb21pc2U8dm9pZD4pKX0gW2FyZzJdIC0gQXJnMi5cbiAqIEByZXR1cm5zIHt2b2lkfSAtIE5vIHJldHVybiB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gaXQoZGVzY3JpcHRpb24sIGFyZzEsIGFyZzIpIHtcbiAgY29uc3QgY3VycmVudFRlc3QgPSBjdXJyZW50UGF0aFtjdXJyZW50UGF0aC5sZW5ndGggLSAxXVxuICAvKipcbiAgICogRGVmaW5lcyB0ZXN0QXJncy5cbiAgICogQHR5cGUge1JlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gKi9cbiAgbGV0IHRlc3RBcmdzXG5cbiAgLyoqXG4gICAqIERlZmluZXMgdGVzdEZ1bmN0aW9uLlxuICAgKiBAdHlwZSB7KCkgPT4gKHZvaWR8UHJvbWlzZTx2b2lkPil9ICovXG4gIGxldCB0ZXN0RnVuY3Rpb25cblxuICBpZiAodHlwZW9mIGFyZzEgPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgdGVzdEZ1bmN0aW9uID0gLyoqIEB0eXBlIHsoKSA9PiAodm9pZHxQcm9taXNlPHZvaWQ+KX0gKi8gKGFyZzEpXG4gICAgdGVzdEFyZ3MgPSB7fVxuICB9IGVsc2UgaWYgKHR5cGVvZiBhcmcyID09IFwiZnVuY3Rpb25cIikge1xuICAgIHRlc3RGdW5jdGlvbiA9IC8qKiBAdHlwZSB7KCkgPT4gKHZvaWR8UHJvbWlzZTx2b2lkPil9ICovIChhcmcyKVxuICAgIHRlc3RBcmdzID0gYXJnMVxuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcmd1bWVudHMgZm9yIGl0OiAke2Rlc2NyaXB0aW9ufSwgJHthcmcxfWApXG4gIH1cblxuICBjb25zdCBuZXdUZXN0QXJncyA9IG1lcmdlVGVzdEFyZ3MoY3VycmVudFRlc3QuYXJncywgdGVzdEFyZ3MpXG5cbiAgY29uc3QgbG9jYXRpb24gPSBjYXB0dXJlTG9jYXRpb24oKVxuXG4gIGN1cnJlbnRUZXN0LnRlc3RzW2Rlc2NyaXB0aW9uXSA9IHtcbiAgICBhcmdzOiBuZXdUZXN0QXJncyxcbiAgICBmdW5jdGlvbjogdGVzdEZ1bmN0aW9uLFxuICAgIGZpbGVQYXRoOiBsb2NhdGlvbi5maWxlUGF0aCxcbiAgICBsaW5lOiBsb2NhdGlvbi5saW5lXG4gIH1cbn1cblxuLyoqXG4gKiBSdW5zIGZpdC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBkZXNjcmlwdGlvbiAtIERlc2NyaXB0aW9uLlxuICogQHBhcmFtIHtvYmplY3R8KCgpID0+ICh2b2lkfFByb21pc2U8dm9pZD4pKX0gYXJnMSAtIEFyZzEuXG4gKiBAcGFyYW0ge3VuZGVmaW5lZHwoKCkgPT4gKHZvaWR8UHJvbWlzZTx2b2lkPikpfSBbYXJnMl0gLSBBcmcyLlxuICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICovXG5mdW5jdGlvbiBmaXQoZGVzY3JpcHRpb24sIGFyZzEsIGFyZzIpIHtcbiAgLyoqXG4gICAqIERlZmluZXMgdGVzdEFyZ3MuXG4gICAqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59ICovXG4gIGxldCB0ZXN0QXJnc1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIHRlc3RGdW5jdGlvbi5cbiAgICogQHR5cGUgeygpID0+ICh2b2lkfFByb21pc2U8dm9pZD4pfSAqL1xuICBsZXQgdGVzdEZ1bmN0aW9uXG5cbiAgaWYgKHR5cGVvZiBhcmcxID09IFwiZnVuY3Rpb25cIikge1xuICAgIHRlc3RGdW5jdGlvbiA9IC8qKiBAdHlwZSB7KCkgPT4gKHZvaWR8UHJvbWlzZTx2b2lkPil9ICovIChhcmcxKVxuICAgIHRlc3RBcmdzID0ge2ZvY3VzOiB0cnVlfVxuICB9IGVsc2UgaWYgKHR5cGVvZiBhcmcyID09IFwiZnVuY3Rpb25cIikge1xuICAgIHRlc3RGdW5jdGlvbiA9IC8qKiBAdHlwZSB7KCkgPT4gKHZvaWR8UHJvbWlzZTx2b2lkPil9ICovIChhcmcyKVxuICAgIHRlc3RBcmdzID0gT2JqZWN0LmFzc2lnbih7Zm9jdXM6IHRydWV9LCBhcmcxKVxuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcmd1bWVudHMgZm9yIGl0OiAke2Rlc2NyaXB0aW9ufSwgJHthcmcxfWApXG4gIH1cblxuICByZXR1cm4gaXQoZGVzY3JpcHRpb24sIHRlc3RBcmdzLCB0ZXN0RnVuY3Rpb24pXG59XG5cbi8vIE1ha2UgdGhlIG1ldGhvZHMgZ2xvYmFsIHNvIHRoZXkgY2FuIGJlIHVzZWQgaW4gdGVzdCBmaWxlc1xuT2JqZWN0LmFzc2lnbihnbG9iYWxUaGlzLCB7XG4gIGFmdGVyQWxsLFxuICBhZnRlckVhY2gsXG4gIGJlZm9yZUFsbCxcbiAgYmVmb3JlRWFjaCxcbiAgY29uZmlndXJlVGVzdHMsXG4gIGRlc2NyaWJlLFxuICBleHBlY3QsXG4gIGZpdCxcbiAgaXQsXG4gIHRlc3RFdmVudHNcbn0pXG5cbmV4cG9ydCB7YWZ0ZXJBbGwsIGFmdGVyRWFjaCwgYmVmb3JlQWxsLCBiZWZvcmVFYWNoLCBjb25maWd1cmVUZXN0cywgZGVzY3JpYmUsIGV4cGVjdCwgZml0LCBpdCwgYXJyYXlDb250YWluaW5nLCBvYmplY3RDb250YWluaW5nLCB0ZXN0Q29uZmlnLCB0ZXN0RXZlbnRzLCB0ZXN0cywgd2FpdEZvckV2ZW50fVxuIl19
|
|
@@ -1,12 +1,32 @@
|
|
|
1
|
+
export type WaitForEventOptions = {
|
|
2
|
+
/**
|
|
3
|
+
* Timeout in milliseconds (default: 5000).
|
|
4
|
+
*/
|
|
5
|
+
timeoutMs?: number;
|
|
6
|
+
/**
|
|
7
|
+
* Only resolve when this predicate returns true for the emitted arguments.
|
|
8
|
+
*/
|
|
9
|
+
filter?: (...args: Array<ReturnType<typeof JSON.parse>>) => boolean;
|
|
10
|
+
};
|
|
11
|
+
export type EventEmitterLike = {
|
|
12
|
+
/**
|
|
13
|
+
* Registers a listener.
|
|
14
|
+
*/
|
|
15
|
+
on: (event: string, listener: (...args: Array<ReturnType<typeof JSON.parse>>) => void) => void;
|
|
16
|
+
/**
|
|
17
|
+
* Removes a listener.
|
|
18
|
+
*/
|
|
19
|
+
off: (event: string, listener: (...args: Array<ReturnType<typeof JSON.parse>>) => void) => void;
|
|
20
|
+
};
|
|
1
21
|
/**
|
|
2
22
|
* @typedef {object} WaitForEventOptions
|
|
3
23
|
* @property {number} [timeoutMs] Timeout in milliseconds (default: 5000).
|
|
4
|
-
* @property {(...args: Array
|
|
24
|
+
* @property {(...args: Array<ReturnType<typeof JSON.parse>>) => boolean} [filter] Only resolve when this predicate returns true for the emitted arguments.
|
|
5
25
|
*/
|
|
6
26
|
/**
|
|
7
27
|
* @typedef {object} EventEmitterLike
|
|
8
|
-
* @property {(event: string, listener: (...args: Array
|
|
9
|
-
* @property {(event: string, listener: (...args: Array
|
|
28
|
+
* @property {(event: string, listener: (...args: Array<ReturnType<typeof JSON.parse>>) => void) => void} on Registers a listener.
|
|
29
|
+
* @property {(event: string, listener: (...args: Array<ReturnType<typeof JSON.parse>>) => void) => void} off Removes a listener.
|
|
10
30
|
*/
|
|
11
31
|
/**
|
|
12
32
|
* Resolves the moment `eventName` fires on `emitter` — optionally only when `filter`
|
|
@@ -20,27 +40,7 @@
|
|
|
20
40
|
* @param {EventEmitterLike} emitter - Event emitter exposing `on`/`off` (Node EventEmitter, eventemitter3, velocious `testEvents`, ...).
|
|
21
41
|
* @param {string} eventName - The event to wait for.
|
|
22
42
|
* @param {WaitForEventOptions} [options] - Options.
|
|
23
|
-
* @returns {Promise
|
|
43
|
+
* @returns {Promise<ReturnType<typeof JSON.parse>>} - Resolves with the single emitted argument, an array when the event emits multiple, or undefined when it emits none.
|
|
24
44
|
*/
|
|
25
|
-
export default function waitForEvent(emitter: EventEmitterLike, eventName: string, options?: WaitForEventOptions): Promise<
|
|
26
|
-
export type WaitForEventOptions = {
|
|
27
|
-
/**
|
|
28
|
-
* Timeout in milliseconds (default: 5000).
|
|
29
|
-
*/
|
|
30
|
-
timeoutMs?: number | undefined;
|
|
31
|
-
/**
|
|
32
|
-
* Only resolve when this predicate returns true for the emitted arguments.
|
|
33
|
-
*/
|
|
34
|
-
filter?: ((...args: Array<unknown>) => boolean) | undefined;
|
|
35
|
-
};
|
|
36
|
-
export type EventEmitterLike = {
|
|
37
|
-
/**
|
|
38
|
-
* Registers a listener.
|
|
39
|
-
*/
|
|
40
|
-
on: (event: string, listener: (...args: Array<unknown>) => void) => void;
|
|
41
|
-
/**
|
|
42
|
-
* Removes a listener.
|
|
43
|
-
*/
|
|
44
|
-
off: (event: string, listener: (...args: Array<unknown>) => void) => void;
|
|
45
|
-
};
|
|
45
|
+
export default function waitForEvent(emitter: EventEmitterLike, eventName: string, options?: WaitForEventOptions): Promise<ReturnType<typeof JSON.parse>>;
|
|
46
46
|
//# sourceMappingURL=wait-for-event.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait-for-event.d.ts","sourceRoot":"","sources":["../../../src/testing/wait-for-event.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"wait-for-event.d.ts","sourceRoot":"","sources":["../../../src/testing/wait-for-event.js"],"names":[],"mappings":"AAGG,YAAkB,mBAAmB,GACrC;;;;IAAoB,SAAS,AAA7B,CACA,EADW,MAAM,CACjB;;;;IAAwE,MAAM,AAA9E,CACF,EADa,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,OAAO,CACvE;CAAA,CAAA;AAGE,YAAkB,gBAAgB,GAClC;;;;IAAuG,EAAE,EAA9F,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,KAAK,IAAI,CACrG;;;;IAAuG,GAAG,EAA/F,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,KAAK,IAAI,CACvG;CAAA,CAAA;AAVD;;;;GAIG;AAEH;;;;GAIG;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,OAAO,EALjC,gBAKiC,EAAE,SAAS,EAJ5C,MAI4C,EAAE,OAAO,AAH7D,CACA,EADQ,mBAG0D,GAFxD,OAAO,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CA6ClD"}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* @typedef {object} WaitForEventOptions
|
|
4
4
|
* @property {number} [timeoutMs] Timeout in milliseconds (default: 5000).
|
|
5
|
-
* @property {(...args: Array
|
|
5
|
+
* @property {(...args: Array<ReturnType<typeof JSON.parse>>) => boolean} [filter] Only resolve when this predicate returns true for the emitted arguments.
|
|
6
6
|
*/
|
|
7
7
|
/**
|
|
8
8
|
* @typedef {object} EventEmitterLike
|
|
9
|
-
* @property {(event: string, listener: (...args: Array
|
|
10
|
-
* @property {(event: string, listener: (...args: Array
|
|
9
|
+
* @property {(event: string, listener: (...args: Array<ReturnType<typeof JSON.parse>>) => void) => void} on Registers a listener.
|
|
10
|
+
* @property {(event: string, listener: (...args: Array<ReturnType<typeof JSON.parse>>) => void) => void} off Removes a listener.
|
|
11
11
|
*/
|
|
12
12
|
/**
|
|
13
13
|
* Resolves the moment `eventName` fires on `emitter` — optionally only when `filter`
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* @param {EventEmitterLike} emitter - Event emitter exposing `on`/`off` (Node EventEmitter, eventemitter3, velocious `testEvents`, ...).
|
|
22
22
|
* @param {string} eventName - The event to wait for.
|
|
23
23
|
* @param {WaitForEventOptions} [options] - Options.
|
|
24
|
-
* @returns {Promise
|
|
24
|
+
* @returns {Promise<ReturnType<typeof JSON.parse>>} - Resolves with the single emitted argument, an array when the event emits multiple, or undefined when it emits none.
|
|
25
25
|
*/
|
|
26
26
|
export default function waitForEvent(emitter, eventName, options = {}) {
|
|
27
27
|
const { timeoutMs = 5000, filter } = options;
|
|
@@ -32,7 +32,7 @@ export default function waitForEvent(emitter, eventName, options = {}) {
|
|
|
32
32
|
* Resolves the wait when a matching event fires, removing itself first. A filter
|
|
33
33
|
* that throws (e.g. it assumes an event shape an intermediate emission doesn't
|
|
34
34
|
* have) rejects immediately rather than leaving the waiter pending until timeout.
|
|
35
|
-
* @param {
|
|
35
|
+
* @param {...ReturnType<typeof JSON.parse>} args - Emitted arguments.
|
|
36
36
|
* @returns {void}
|
|
37
37
|
*/
|
|
38
38
|
const listener = (...args) => {
|
|
@@ -61,4 +61,4 @@ export default function waitForEvent(emitter, eventName, options = {}) {
|
|
|
61
61
|
emitter.on(eventName, listener);
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2FpdC1mb3ItZXZlbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdGVzdGluZy93YWl0LWZvci1ldmVudC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVo7Ozs7R0FJRztBQUVIOzs7O0dBSUc7QUFFSDs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxDQUFDLE9BQU8sVUFBVSxZQUFZLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEdBQUcsRUFBRTtJQUNuRSxNQUFNLEVBQUMsU0FBUyxHQUFHLElBQUksRUFBRSxNQUFNLEVBQUMsR0FBRyxPQUFPLENBQUE7SUFFMUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtRQUNyQyw0Q0FBNEM7UUFDNUMsSUFBSSxLQUFLLENBQUE7UUFFVDs7Ozs7O1dBTUc7UUFDSCxNQUFNLFFBQVEsR0FBRyxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUU7WUFDM0IsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxJQUFJLE9BQU8sQ0FBQTtnQkFFWCxJQUFJLENBQUM7b0JBQ0gsT0FBTyxHQUFHLE1BQU0sQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFBO2dCQUMzQixDQUFDO2dCQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7b0JBQ2YsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFBO29CQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQTtvQkFDaEMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO29CQUViLE9BQU07Z0JBQ1IsQ0FBQztnQkFFRCxJQUFJLENBQUMsT0FBTztvQkFBRSxPQUFNO1lBQ3RCLENBQUM7WUFFRCxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsUUFBUSxDQUFDLENBQUE7WUFDaEMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzNDLENBQUMsQ0FBQTtRQUVELEtBQUssR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ3RCLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFBO1lBQ2hDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxtQkFBbUIsU0FBUyx3QkFBd0IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtRQUNwRyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUE7UUFFYixPQUFPLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUNqQyxDQUFDLENBQUMsQ0FBQTtBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtY2hlY2tcblxuLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBXYWl0Rm9yRXZlbnRPcHRpb25zXG4gKiBAcHJvcGVydHkge251bWJlcn0gW3RpbWVvdXRNc10gVGltZW91dCBpbiBtaWxsaXNlY29uZHMgKGRlZmF1bHQ6IDUwMDApLlxuICogQHByb3BlcnR5IHsoLi4uYXJnczogQXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+KSA9PiBib29sZWFufSBbZmlsdGVyXSBPbmx5IHJlc29sdmUgd2hlbiB0aGlzIHByZWRpY2F0ZSByZXR1cm5zIHRydWUgZm9yIHRoZSBlbWl0dGVkIGFyZ3VtZW50cy5cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtvYmplY3R9IEV2ZW50RW1pdHRlckxpa2VcbiAqIEBwcm9wZXJ0eSB7KGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoLi4uYXJnczogQXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+KSA9PiB2b2lkKSA9PiB2b2lkfSBvbiBSZWdpc3RlcnMgYSBsaXN0ZW5lci5cbiAqIEBwcm9wZXJ0eSB7KGV2ZW50OiBzdHJpbmcsIGxpc3RlbmVyOiAoLi4uYXJnczogQXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+KSA9PiB2b2lkKSA9PiB2b2lkfSBvZmYgUmVtb3ZlcyBhIGxpc3RlbmVyLlxuICovXG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIG1vbWVudCBgZXZlbnROYW1lYCBmaXJlcyBvbiBgZW1pdHRlcmAg4oCUIG9wdGlvbmFsbHkgb25seSB3aGVuIGBmaWx0ZXJgXG4gKiBtYXRjaGVzIHRoZSBlbWl0dGVkIGFyZ3VtZW50cyDigJQgaW5zdGVhZCBvZiBzbGVlcGluZyBhIGZpeGVkIGR1cmF0aW9uLiBSZWplY3RzIHdpdGggYVxuICogdGltZW91dCBlcnJvciBpZiB0aGUgZXZlbnQgZG9lcyBub3QgZmlyZSB3aXRoaW4gYHRpbWVvdXRNc2AuIFRoZSBsaXN0ZW5lciBpcyBhbHdheXNcbiAqIHJlbW92ZWQgKG9uIHJlc29sdmUgYW5kIG9uIHRpbWVvdXQpLlxuICpcbiAqIFVzZSB0aGlzIHRvIGF3YWl0IGEgcmVhbCBzaWduYWwgKGEgYmFja2dyb3VuZCBqb2IgZmluaXNoaW5nLCBhIG1vZGVsIHVwZGF0ZSwgYVxuICogd2Vic29ja2V0IG1lc3NhZ2UpIHJhdGhlciB0aGFuIGd1ZXNzaW5nIGEgZGVsYXkuIFRvIHBvbGwgYW4gYXJiaXRyYXJ5IGNvbmRpdGlvblxuICogaW5zdGVhZCBvZiBhIGRpc2NyZXRlIGV2ZW50LCB1c2UgYXdhaXRlcnkncyBgd2FpdEZvcmAuXG4gKiBAcGFyYW0ge0V2ZW50RW1pdHRlckxpa2V9IGVtaXR0ZXIgLSBFdmVudCBlbWl0dGVyIGV4cG9zaW5nIGBvbmAvYG9mZmAgKE5vZGUgRXZlbnRFbWl0dGVyLCBldmVudGVtaXR0ZXIzLCB2ZWxvY2lvdXMgYHRlc3RFdmVudHNgLCAuLi4pLlxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSAtIFRoZSBldmVudCB0byB3YWl0IGZvci5cbiAqIEBwYXJhbSB7V2FpdEZvckV2ZW50T3B0aW9uc30gW29wdGlvbnNdIC0gT3B0aW9ucy5cbiAqIEByZXR1cm5zIHtQcm9taXNlPFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gLSBSZXNvbHZlcyB3aXRoIHRoZSBzaW5nbGUgZW1pdHRlZCBhcmd1bWVudCwgYW4gYXJyYXkgd2hlbiB0aGUgZXZlbnQgZW1pdHMgbXVsdGlwbGUsIG9yIHVuZGVmaW5lZCB3aGVuIGl0IGVtaXRzIG5vbmUuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHdhaXRGb3JFdmVudChlbWl0dGVyLCBldmVudE5hbWUsIG9wdGlvbnMgPSB7fSkge1xuICBjb25zdCB7dGltZW91dE1zID0gNTAwMCwgZmlsdGVyfSA9IG9wdGlvbnNcblxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIC8qKiBAdHlwZSB7UmV0dXJuVHlwZTx0eXBlb2Ygc2V0VGltZW91dD59ICovXG4gICAgbGV0IHRpbWVyXG5cbiAgICAvKipcbiAgICAgKiBSZXNvbHZlcyB0aGUgd2FpdCB3aGVuIGEgbWF0Y2hpbmcgZXZlbnQgZmlyZXMsIHJlbW92aW5nIGl0c2VsZiBmaXJzdC4gQSBmaWx0ZXJcbiAgICAgKiB0aGF0IHRocm93cyAoZS5nLiBpdCBhc3N1bWVzIGFuIGV2ZW50IHNoYXBlIGFuIGludGVybWVkaWF0ZSBlbWlzc2lvbiBkb2Vzbid0XG4gICAgICogaGF2ZSkgcmVqZWN0cyBpbW1lZGlhdGVseSByYXRoZXIgdGhhbiBsZWF2aW5nIHRoZSB3YWl0ZXIgcGVuZGluZyB1bnRpbCB0aW1lb3V0LlxuICAgICAqIEBwYXJhbSB7Li4uUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59IGFyZ3MgLSBFbWl0dGVkIGFyZ3VtZW50cy5cbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICAgKi9cbiAgICBjb25zdCBsaXN0ZW5lciA9ICguLi5hcmdzKSA9PiB7XG4gICAgICBpZiAoZmlsdGVyKSB7XG4gICAgICAgIGxldCBtYXRjaGVkXG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBtYXRjaGVkID0gZmlsdGVyKC4uLmFyZ3MpXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVyKVxuICAgICAgICAgIGVtaXR0ZXIub2ZmKGV2ZW50TmFtZSwgbGlzdGVuZXIpXG4gICAgICAgICAgcmVqZWN0KGVycm9yKVxuXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIW1hdGNoZWQpIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjbGVhclRpbWVvdXQodGltZXIpXG4gICAgICBlbWl0dGVyLm9mZihldmVudE5hbWUsIGxpc3RlbmVyKVxuICAgICAgcmVzb2x2ZShhcmdzLmxlbmd0aCA+IDEgPyBhcmdzIDogYXJnc1swXSlcbiAgICB9XG5cbiAgICB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgZW1pdHRlci5vZmYoZXZlbnROYW1lLCBsaXN0ZW5lcilcbiAgICAgIHJlamVjdChuZXcgRXJyb3IoYFRpbWVkIG91dCBhZnRlciAke3RpbWVvdXRNc31tcyB3YWl0aW5nIGZvciBldmVudCAke0pTT04uc3RyaW5naWZ5KGV2ZW50TmFtZSl9YCkpXG4gICAgfSwgdGltZW91dE1zKVxuXG4gICAgZW1pdHRlci5vbihldmVudE5hbWUsIGxpc3RlbmVyKVxuICB9KVxufVxuIl19
|
package/build/src/time-zone.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
|
+
export declare const REQUEST_TIME_ZONE_HEADER = "X-Velocious-Time-Zone";
|
|
1
2
|
/**
|
|
2
3
|
* Validates a configured or client-provided IANA timezone.
|
|
3
4
|
* @param {string} timeZone - Timezone identifier.
|
|
4
5
|
* @param {string} label - Error label.
|
|
5
6
|
* @returns {string} - Normalized timezone identifier.
|
|
6
7
|
*/
|
|
7
|
-
export function validateTimeZone(timeZone: string, label?: string): string;
|
|
8
|
+
export declare function validateTimeZone(timeZone: string, label?: string): string;
|
|
8
9
|
/**
|
|
9
10
|
* Formats a Date as an ISO timestamp in the given timezone.
|
|
10
11
|
* @param {Date} value - Date instant.
|
|
11
12
|
* @param {string} timeZone - IANA timezone identifier.
|
|
12
13
|
* @returns {string} - ISO timestamp carrying the timezone's offset for the instant.
|
|
13
14
|
*/
|
|
14
|
-
export function formatDateInTimeZone(value: Date, timeZone: string): string;
|
|
15
|
-
export const REQUEST_TIME_ZONE_HEADER: "X-Velocious-Time-Zone";
|
|
15
|
+
export declare function formatDateInTimeZone(value: Date, timeZone: string): string;
|
|
16
16
|
//# sourceMappingURL=time-zone.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time-zone.d.ts","sourceRoot":"","sources":["../../src/time-zone.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"time-zone.d.ts","sourceRoot":"","sources":["../../src/time-zone.js"],"names":[],"mappings":"AAIA,eAAO,MAAM,wBAAwB,0BAA0B,CAAA;AAI/D;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAJ9B,MAI8B,EAAE,KAAK,GAHrC,MAGkD,GAFhD,MAAM,CAmClB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAJ/B,IAI+B,EAAE,QAAQ,EAHzC,MAGyC,GAFvC,MAAM,CAWlB"}
|