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
|
@@ -28,9 +28,9 @@ const PRELOADED_RELATIONSHIPS_KEY = "__preloadedRelationships";
|
|
|
28
28
|
* own data properties instead of mutating the object's prototype chain. This
|
|
29
29
|
* lets callers receive a regular `{}` object (with `Object.prototype` and a
|
|
30
30
|
* normal `constructor.name`) while still preventing prototype pollution.
|
|
31
|
-
* @param {Record<string,
|
|
31
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>>} target - Target object.
|
|
32
32
|
* @param {string} key - Property key.
|
|
33
|
-
* @param {
|
|
33
|
+
* @param {ReturnType<typeof JSON.parse>} value - Property value.
|
|
34
34
|
* @returns {void}
|
|
35
35
|
*/
|
|
36
36
|
export function assignSafeProperty(target, key, value) {
|
|
@@ -43,7 +43,7 @@ export function assignSafeProperty(target, key, value) {
|
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
45
|
* Runs is undefined marker.
|
|
46
|
-
* @param {
|
|
46
|
+
* @param {ReturnType<typeof JSON.parse>} value - Candidate value.
|
|
47
47
|
* @returns {boolean} - Whether value is encoded undefined marker.
|
|
48
48
|
*/
|
|
49
49
|
function isUndefinedMarker(value) {
|
|
@@ -54,7 +54,7 @@ function isUndefinedMarker(value) {
|
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
56
56
|
* Check whether a value is a typed marker object with a string `value` field.
|
|
57
|
-
* @param {
|
|
57
|
+
* @param {ReturnType<typeof JSON.parse>} value - Candidate marker.
|
|
58
58
|
* @param {string} markerType - Expected marker type value.
|
|
59
59
|
* @param {(stringValue: string) => boolean} valueMatches - Additional string value predicate.
|
|
60
60
|
* @returns {boolean} - Whether value matches the marker shape.
|
|
@@ -72,7 +72,7 @@ function isStringValueMarker(value, markerType, valueMatches) {
|
|
|
72
72
|
}
|
|
73
73
|
/**
|
|
74
74
|
* Runs is date marker.
|
|
75
|
-
* @param {
|
|
75
|
+
* @param {ReturnType<typeof JSON.parse>} value - Candidate value.
|
|
76
76
|
* @returns {boolean} - Whether value is encoded date marker.
|
|
77
77
|
*/
|
|
78
78
|
function isDateMarker(value) {
|
|
@@ -80,7 +80,7 @@ function isDateMarker(value) {
|
|
|
80
80
|
}
|
|
81
81
|
/**
|
|
82
82
|
* Runs is big int marker.
|
|
83
|
-
* @param {
|
|
83
|
+
* @param {ReturnType<typeof JSON.parse>} value - Candidate value.
|
|
84
84
|
* @returns {boolean} - Whether value is encoded bigint marker.
|
|
85
85
|
*/
|
|
86
86
|
function isBigIntMarker(value) {
|
|
@@ -88,7 +88,7 @@ function isBigIntMarker(value) {
|
|
|
88
88
|
}
|
|
89
89
|
/**
|
|
90
90
|
* Runs is non finite number marker.
|
|
91
|
-
* @param {
|
|
91
|
+
* @param {ReturnType<typeof JSON.parse>} value - Candidate value.
|
|
92
92
|
* @returns {boolean} - Whether value is encoded non-finite number marker.
|
|
93
93
|
*/
|
|
94
94
|
function isNonFiniteNumberMarker(value) {
|
|
@@ -104,8 +104,8 @@ function isNonFiniteNumberMarker(value) {
|
|
|
104
104
|
}
|
|
105
105
|
/**
|
|
106
106
|
* Runs is frontend model marker.
|
|
107
|
-
* @param {
|
|
108
|
-
* @returns {value is {__velocious_type: "frontend_model", attributes: Record<string,
|
|
107
|
+
* @param {ReturnType<typeof JSON.parse>} value - Candidate value.
|
|
108
|
+
* @returns {value is {__velocious_type: "frontend_model", attributes: Record<string, ReturnType<typeof JSON.parse>>, modelName: string, preloadedRelationships?: Record<string, ReturnType<typeof JSON.parse>>}} - Whether value is encoded frontend-model marker.
|
|
109
109
|
*/
|
|
110
110
|
function isFrontendModelMarker(value) {
|
|
111
111
|
if (!isPlainObject(value))
|
|
@@ -122,23 +122,23 @@ function isFrontendModelMarker(value) {
|
|
|
122
122
|
}
|
|
123
123
|
/**
|
|
124
124
|
* Runs the isBackendModelInstance helper.
|
|
125
|
-
* @param {
|
|
126
|
-
* @returns {value is {attributes: () => Record<string,
|
|
125
|
+
* @param {ReturnType<typeof JSON.parse>} value - Candidate value.
|
|
126
|
+
* @returns {value is {attributes: () => Record<string, ReturnType<typeof JSON.parse>>, constructor: {getModelName?: () => string, name?: string}, getModelClass: () => typeof import("../database/record/index.js").default, getRelationshipByName: (relationshipName: string) => {getPreloaded: () => boolean, loaded: () => ReturnType<typeof JSON.parse>}}} - Whether value looks like a backend model instance.
|
|
127
127
|
*/
|
|
128
128
|
export function isBackendModelInstance(value) {
|
|
129
129
|
if (!value || typeof value !== "object")
|
|
130
130
|
return false;
|
|
131
|
-
const candidate = /** @type {Record<string,
|
|
131
|
+
const candidate = /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (value);
|
|
132
132
|
return (typeof candidate.attributes === "function"
|
|
133
133
|
&& typeof candidate.getModelClass === "function"
|
|
134
134
|
&& typeof candidate.getRelationshipByName === "function");
|
|
135
135
|
}
|
|
136
136
|
/**
|
|
137
137
|
* Runs serialize frontend model transport value internal.
|
|
138
|
-
* @param {
|
|
138
|
+
* @param {ReturnType<typeof JSON.parse>} value - Value to serialize.
|
|
139
139
|
* @param {WeakSet<object>} seenModels - Models already visited in the current recursion path.
|
|
140
140
|
* @param {NormalizedFrontendModelTransportSerializationOptions} options - Serialization options.
|
|
141
|
-
* @returns {
|
|
141
|
+
* @returns {ReturnType<typeof JSON.parse>} - Serialized value with transport markers.
|
|
142
142
|
*/
|
|
143
143
|
function serializeFrontendModelTransportValueInternal(value, seenModels, options) {
|
|
144
144
|
if (value === undefined) {
|
|
@@ -173,10 +173,10 @@ function serializeFrontendModelTransportValueInternal(value, seenModels, options
|
|
|
173
173
|
const modelName = value.getModelClass().getModelName();
|
|
174
174
|
/**
|
|
175
175
|
* Serialized model.
|
|
176
|
-
* @type {Record<string,
|
|
176
|
+
* @type {Record<string, ReturnType<typeof JSON.parse>>} */
|
|
177
177
|
const serializedModel = {
|
|
178
178
|
[TYPE_KEY]: TYPE_FRONTEND_MODEL,
|
|
179
|
-
attributes: /** @type {Record<string,
|
|
179
|
+
attributes: /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (serializeFrontendModelTransportValueInternal(modelAttributes, seenModels, options)),
|
|
180
180
|
modelName
|
|
181
181
|
};
|
|
182
182
|
if (seenModels.has(value)) {
|
|
@@ -185,7 +185,7 @@ function serializeFrontendModelTransportValueInternal(value, seenModels, options
|
|
|
185
185
|
seenModels.add(value);
|
|
186
186
|
/**
|
|
187
187
|
* Preloaded relationships.
|
|
188
|
-
* @type {Record<string,
|
|
188
|
+
* @type {Record<string, ReturnType<typeof JSON.parse>>} */
|
|
189
189
|
const preloadedRelationships = {};
|
|
190
190
|
const relationshipsMap = value.getModelClass().getRelationshipsMap();
|
|
191
191
|
for (const relationshipName of Object.keys(relationshipsMap)) {
|
|
@@ -204,7 +204,7 @@ function serializeFrontendModelTransportValueInternal(value, seenModels, options
|
|
|
204
204
|
if (isPlainObject(value)) {
|
|
205
205
|
/**
|
|
206
206
|
* Serialized.
|
|
207
|
-
* @type {Record<string,
|
|
207
|
+
* @type {Record<string, ReturnType<typeof JSON.parse>>} */
|
|
208
208
|
const serialized = {};
|
|
209
209
|
for (const [key, nestedValue] of Object.entries(value)) {
|
|
210
210
|
assignSafeProperty(serialized, key, serializeFrontendModelTransportValueInternal(nestedValue, seenModels, options));
|
|
@@ -227,13 +227,13 @@ function normalizeFrontendModelTransportSerializationOptions(options) {
|
|
|
227
227
|
}
|
|
228
228
|
/**
|
|
229
229
|
* Runs deserialize frontend model marker.
|
|
230
|
-
* @param {{attributes: Record<string,
|
|
231
|
-
* @returns {
|
|
230
|
+
* @param {{attributes: Record<string, ReturnType<typeof JSON.parse>>, modelName: string, preloadedRelationships?: Record<string, ReturnType<typeof JSON.parse>>}} marker - Encoded frontend-model marker.
|
|
231
|
+
* @returns {ReturnType<typeof JSON.parse>} - Hydrated frontend model or plain object fallback.
|
|
232
232
|
*/
|
|
233
233
|
function deserializeFrontendModelMarker(marker) {
|
|
234
|
-
const attributes = /** @type {Record<string,
|
|
234
|
+
const attributes = /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (deserializeFrontendModelTransportValue(marker.attributes));
|
|
235
235
|
const preloadedRelationships = isPlainObject(marker.preloadedRelationships)
|
|
236
|
-
? /** @type {Record<string,
|
|
236
|
+
? /** @type {Record<string, ReturnType<typeof JSON.parse>>} */ (deserializeFrontendModelTransportValue(marker.preloadedRelationships))
|
|
237
237
|
: {};
|
|
238
238
|
const modelClass = resolveFrontendModelClass(marker.modelName);
|
|
239
239
|
if (!modelClass || typeof modelClass.instantiateFromResponse !== "function") {
|
|
@@ -262,17 +262,17 @@ function deserializeFrontendModelMarker(marker) {
|
|
|
262
262
|
}
|
|
263
263
|
/**
|
|
264
264
|
* Runs the serializeFrontendModelTransportValue helper.
|
|
265
|
-
* @param {
|
|
265
|
+
* @param {ReturnType<typeof JSON.parse>} value - Value to serialize.
|
|
266
266
|
* @param {FrontendModelTransportSerializationOptions} [options] - Serialization options.
|
|
267
|
-
* @returns {
|
|
267
|
+
* @returns {ReturnType<typeof JSON.parse>} - Serialized value with transport markers.
|
|
268
268
|
*/
|
|
269
269
|
export function serializeFrontendModelTransportValue(value, options = {}) {
|
|
270
270
|
return serializeFrontendModelTransportValueInternal(value, new WeakSet(), normalizeFrontendModelTransportSerializationOptions(options));
|
|
271
271
|
}
|
|
272
272
|
/**
|
|
273
273
|
* Runs the deserializeFrontendModelTransportValue helper.
|
|
274
|
-
* @param {
|
|
275
|
-
* @returns {
|
|
274
|
+
* @param {ReturnType<typeof JSON.parse>} value - Value to deserialize.
|
|
275
|
+
* @returns {ReturnType<typeof JSON.parse>} - Deserialized value with transport markers restored.
|
|
276
276
|
*/
|
|
277
277
|
export function deserializeFrontendModelTransportValue(value) {
|
|
278
278
|
if (isUndefinedMarker(value)) {
|
|
@@ -303,7 +303,7 @@ export function deserializeFrontendModelTransportValue(value) {
|
|
|
303
303
|
if (isPlainObject(value)) {
|
|
304
304
|
/**
|
|
305
305
|
* Deserialized.
|
|
306
|
-
* @type {Record<string,
|
|
306
|
+
* @type {Record<string, ReturnType<typeof JSON.parse>>} */
|
|
307
307
|
const deserialized = {};
|
|
308
308
|
for (const [key, nestedValue] of Object.entries(value)) {
|
|
309
309
|
assignSafeProperty(deserialized, key, deserializeFrontendModelTransportValue(nestedValue));
|
|
@@ -312,4 +312,4 @@ export function deserializeFrontendModelTransportValue(value) {
|
|
|
312
312
|
}
|
|
313
313
|
return value;
|
|
314
314
|
}
|
|
315
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNwb3J0LXNlcmlhbGl6YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZnJvbnRlbmQtbW9kZWxzL3RyYW5zcG9ydC1zZXJpYWxpemF0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQTtBQUM3RCxPQUFPLGFBQWEsTUFBTSwwQkFBMEIsQ0FBQTtBQUNwRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQTtBQUV0RTs7OztHQUlHO0FBQ0g7Ozs7R0FJRztBQUNILE1BQU0sUUFBUSxHQUFHLGtCQUFrQixDQUFBO0FBQ25DLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQTtBQUN4QixNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUE7QUFDbEMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFBO0FBQzVCLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQTtBQUM1QixNQUFNLG1CQUFtQixHQUFHLGdCQUFnQixDQUFBO0FBQzVDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQTtBQUN4QixNQUFNLHdCQUF3QixHQUFHLFVBQVUsQ0FBQTtBQUMzQyxNQUFNLHdCQUF3QixHQUFHLFdBQVcsQ0FBQTtBQUM1QyxNQUFNLDJCQUEyQixHQUFHLDBCQUEwQixDQUFBO0FBRTlEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLO0lBQ25ELE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtRQUNqQyxLQUFLO1FBQ0wsUUFBUSxFQUFFLElBQUk7UUFDZCxVQUFVLEVBQUUsSUFBSTtRQUNoQixZQUFZLEVBQUUsSUFBSTtLQUNuQixDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsaUJBQWlCLENB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QUUsc0NBQXNDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQTtRQUM1RixDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUE7SUFDckIsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQge3Jlc29sdmVGcm9udGVuZE1vZGVsQ2xhc3N9IGZyb20gXCIuL21vZGVsLXJlZ2lzdHJ5LmpzXCJcbmltcG9ydCBpc1BsYWluT2JqZWN0IGZyb20gXCIuLi91dGlscy9wbGFpbi1vYmplY3QuanNcIlxuaW1wb3J0IHtmb3JtYXREYXRlSW5UaW1lWm9uZSwgdmFsaWRhdGVUaW1lWm9uZX0gZnJvbSBcIi4uL3RpbWUtem9uZS5qc1wiXG5cbi8qKlxuICogRnJvbnRlbmQgbW9kZWwgdHJhbnNwb3J0IHNlcmlhbGl6YXRpb24gb3B0aW9ucy5cbiAqIEB0eXBlZGVmIHtvYmplY3R9IEZyb250ZW5kTW9kZWxUcmFuc3BvcnRTZXJpYWxpemF0aW9uT3B0aW9uc1xuICogQHByb3BlcnR5IHtzdHJpbmcgfCB1bmRlZmluZWR9IFt0aW1lWm9uZV0gLSBJQU5BIHRpbWV6b25lIHVzZWQgd2hlbiBzZXJpYWxpemluZyBEYXRlIGluc3RhbnRzLlxuICovXG4vKipcbiAqIE5vcm1hbGl6ZWQgZnJvbnRlbmQgbW9kZWwgdHJhbnNwb3J0IHNlcmlhbGl6YXRpb24gb3B0aW9ucy5cbiAqIEB0eXBlZGVmIHtvYmplY3R9IE5vcm1hbGl6ZWRGcm9udGVuZE1vZGVsVHJhbnNwb3J0U2VyaWFsaXphdGlvbk9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nIHwgdW5kZWZpbmVkfSB0aW1lWm9uZSAtIFZhbGlkYXRlZCBJQU5BIHRpbWV6b25lIHVzZWQgd2hlbiBzZXJpYWxpemluZyBEYXRlIGluc3RhbnRzLlxuICovXG5jb25zdCBUWVBFX0tFWSA9IFwiX192ZWxvY2lvdXNfdHlwZVwiXG5jb25zdCBUWVBFX0RBVEUgPSBcImRhdGVcIlxuY29uc3QgVFlQRV9VTkRFRklORUQgPSBcInVuZGVmaW5lZFwiXG5jb25zdCBUWVBFX0JJR0lOVCA9IFwiYmlnaW50XCJcbmNvbnN0IFRZUEVfTlVNQkVSID0gXCJudW1iZXJcIlxuY29uc3QgVFlQRV9GUk9OVEVORF9NT0RFTCA9IFwiZnJvbnRlbmRfbW9kZWxcIlxuY29uc3QgTlVNQkVSX05BTiA9IFwiTmFOXCJcbmNvbnN0IE5VTUJFUl9QT1NJVElWRV9JTkZJTklUWSA9IFwiSW5maW5pdHlcIlxuY29uc3QgTlVNQkVSX05FR0FUSVZFX0lORklOSVRZID0gXCItSW5maW5pdHlcIlxuY29uc3QgUFJFTE9BREVEX1JFTEFUSU9OU0hJUFNfS0VZID0gXCJfX3ByZWxvYWRlZFJlbGF0aW9uc2hpcHNcIlxuXG4vKipcbiAqIEFzc2lnbiBhIGtleSB0byBhIHBsYWluIG9iamVjdCB3aXRob3V0IHRyaWdnZXJpbmcgdGhlIGBfX3Byb3RvX19gIHNldHRlci5cbiAqIFVzZXMgYE9iamVjdC5kZWZpbmVQcm9wZXJ0eWAgc28gdGhhdCBrZXlzIGxpa2UgYF9fcHJvdG9fX2AgYXJlIHN0b3JlZCBhc1xuICogb3duIGRhdGEgcHJvcGVydGllcyBpbnN0ZWFkIG9mIG11dGF0aW5nIHRoZSBvYmplY3QncyBwcm90b3R5cGUgY2hhaW4uIFRoaXNcbiAqIGxldHMgY2FsbGVycyByZWNlaXZlIGEgcmVndWxhciBge31gIG9iamVjdCAod2l0aCBgT2JqZWN0LnByb3RvdHlwZWAgYW5kIGFcbiAqIG5vcm1hbCBgY29uc3RydWN0b3IubmFtZWApIHdoaWxlIHN0aWxsIHByZXZlbnRpbmcgcHJvdG90eXBlIHBvbGx1dGlvbi5cbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgPz59IHRhcmdldCAtIFRhcmdldCBvYmplY3QuXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IC0gUHJvcGVydHkga2V5LlxuICogQHBhcmFtIHs/fSB2YWx1ZSAtIFByb3BlcnR5IHZhbHVlLlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NpZ25TYWZlUHJvcGVydHkodGFyZ2V0LCBrZXksIHZhbHVlKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwge1xuICAgIHZhbHVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0pXG59XG5cbi8qKlxuICogUnVucyBpcyB1bmRlZmluZWQgbWFya2VyLlxuICogQHBhcmFtIHs/fSB2YWx1ZSAtIENhbmRpZGF0ZSB2YWx1ZS5cbiAqIEByZXR1cm5zIHtib29sZWFufSAtIFdoZXRoZXIgdmFsdWUgaXMgZW5jb2RlZCB1bmRlZmluZWQgbWFya2VyLlxuICovXG5mdW5jdGlvbiBpc1VuZGVmaW5lZE1hcmtlcih2YWx1ZSkge1xuICBpZiAoIWlzUGxhaW5PYmplY3QodmFsdWUpKSByZXR1cm4gZmFsc2VcblxuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModmFsdWUpXG5cbiAgcmV0dXJuIGtleXMubGVuZ3RoID09PSAxICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwgVFlQRV9LRVkpICYmIHZhbHVlW1RZUEVfS0VZXSA9PT0gVFlQRV9VTkRFRklORURcbn1cblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIGEgdmFsdWUgaXMgYSB0eXBlZCBtYXJrZXIgb2JqZWN0IHdpdGggYSBzdHJpbmcgYHZhbHVlYCBmaWVsZC5cbiAqIEBwYXJhbSB7P30gdmFsdWUgLSBDYW5kaWRhdGUgbWFya2VyLlxuICogQHBhcmFtIHtzdHJpbmd9IG1hcmtlclR5cGUgLSBFeHBlY3RlZCBtYXJrZXIgdHlwZSB2YWx1ZS5cbiAqIEBwYXJhbSB7KHN0cmluZ1ZhbHVlOiBzdHJpbmcpID0+IGJvb2xlYW59IHZhbHVlTWF0Y2hlcyAtIEFkZGl0aW9uYWwgc3RyaW5nIHZhbHVlIHByZWRpY2F0ZS5cbiAqIEByZXR1cm5zIHtib29sZWFufSAtIFdoZXRoZXIgdmFsdWUgbWF0Y2hlcyB0aGUgbWFya2VyIHNoYXBlLlxuICovXG5mdW5jdGlvbiBpc1N0cmluZ1ZhbHVlTWFya2VyKHZhbHVlLCBtYXJrZXJUeXBlLCB2YWx1ZU1hdGNoZXMpIHtcbiAgaWYgKCFpc1BsYWluT2JqZWN0KHZhbHVlKSkgcmV0dXJuIGZhbHNlXG5cbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHZhbHVlKVxuXG4gIHJldHVybiAoXG4gICAga2V5cy5sZW5ndGggPT09IDJcbiAgICAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIFRZUEVfS0VZKVxuICAgICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwgXCJ2YWx1ZVwiKVxuICAgICYmIHZhbHVlW1RZUEVfS0VZXSA9PT0gbWFya2VyVHlwZVxuICAgICYmIHR5cGVvZiB2YWx1ZS52YWx1ZSA9PT0gXCJzdHJpbmdcIlxuICAgICYmIHZhbHVlTWF0Y2hlcyh2YWx1ZS52YWx1ZSlcbiAgKVxufVxuXG4vKipcbiAqIFJ1bnMgaXMgZGF0ZSBtYXJrZXIuXG4gKiBAcGFyYW0gez99IHZhbHVlIC0gQ2FuZGlkYXRlIHZhbHVlLlxuICogQHJldHVybnMge2Jvb2xlYW59IC0gV2hldGhlciB2YWx1ZSBpcyBlbmNvZGVkIGRhdGUgbWFya2VyLlxuICovXG5mdW5jdGlvbiBpc0RhdGVNYXJrZXIodmFsdWUpIHtcbiAgcmV0dXJuIGlzU3RyaW5nVmFsdWVNYXJrZXIodmFsdWUsIFRZUEVfREFURSwgKCkgPT4gdHJ1ZSlcbn1cblxuLyoqXG4gKiBSdW5zIGlzIGJpZyBpbnQgbWFya2VyLlxuICogQHBhcmFtIHs/fSB2YWx1ZSAtIENhbmRpZGF0ZSB2YWx1ZS5cbiAqIEByZXR1cm5zIHtib29sZWFufSAtIFdoZXRoZXIgdmFsdWUgaXMgZW5jb2RlZCBiaWdpbnQgbWFya2VyLlxuICovXG5mdW5jdGlvbiBpc0JpZ0ludE1hcmtlcih2YWx1ZSkge1xuICByZXR1cm4gaXNTdHJpbmdWYWx1ZU1hcmtlcih2YWx1ZSwgVFlQRV9CSUdJTlQsIChzdHJpbmdWYWx1ZSkgPT4gL14tP1xcZCskLy50ZXN0KHN0cmluZ1ZhbHVlKSlcbn1cblxuLyoqXG4gKiBSdW5zIGlzIG5vbiBmaW5pdGUgbnVtYmVyIG1hcmtlci5cbiAqIEBwYXJhbSB7P30gdmFsdWUgLSBDYW5kaWRhdGUgdmFsdWUuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIHZhbHVlIGlzIGVuY29kZWQgbm9uLWZpbml0ZSBudW1iZXIgbWFya2VyLlxuICovXG5mdW5jdGlvbiBpc05vbkZpbml0ZU51bWJlck1hcmtlcih2YWx1ZSkge1xuICBpZiAoIWlzUGxhaW5PYmplY3QodmFsdWUpKSByZXR1cm4gZmFsc2VcblxuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModmFsdWUpXG4gIGNvbnN0IG1hcmtlclZhbHVlID0gdmFsdWUudmFsdWVcblxuICByZXR1cm4gKFxuICAgIGtleXMubGVuZ3RoID09PSAyXG4gICAgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBUWVBFX0tFWSlcbiAgICAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIFwidmFsdWVcIilcbiAgICAmJiB2YWx1ZVtUWVBFX0tFWV0gPT09IFRZUEVfTlVNQkVSXG4gICAgJiYgKG1hcmtlclZhbHVlID09PSBOVU1CRVJfTkFOIHx8IG1hcmtlclZhbHVlID09PSBOVU1CRVJfUE9TSVRJVkVfSU5GSU5JVFkgfHwgbWFya2VyVmFsdWUgPT09IE5VTUJFUl9ORUdBVElWRV9JTkZJTklUWSlcbiAgKVxufVxuXG4vKipcbiAqIFJ1bnMgaXMgZnJvbnRlbmQgbW9kZWwgbWFya2VyLlxuICogQHBhcmFtIHs/fSB2YWx1ZSAtIENhbmRpZGF0ZSB2YWx1ZS5cbiAqIEByZXR1cm5zIHt2YWx1ZSBpcyB7X192ZWxvY2lvdXNfdHlwZTogXCJmcm9udGVuZF9tb2RlbFwiLCBhdHRyaWJ1dGVzOiBSZWNvcmQ8c3RyaW5nLCA/PiwgbW9kZWxOYW1lOiBzdHJpbmcsIHByZWxvYWRlZFJlbGF0aW9uc2hpcHM/OiBSZWNvcmQ8c3RyaW5nLCA/Pn19IC0gV2hldGhlciB2YWx1ZSBpcyBlbmNvZGVkIGZyb250ZW5kLW1vZGVsIG1hcmtlci5cbiAqL1xuZnVuY3Rpb24gaXNGcm9udGVuZE1vZGVsTWFya2VyKHZhbHVlKSB7XG4gIGlmICghaXNQbGFpbk9iamVjdCh2YWx1ZSkpIHJldHVybiBmYWxzZVxuXG4gIGNvbnN0IG1vZGVsTmFtZSA9IHZhbHVlLm1vZGVsTmFtZVxuICBjb25zdCBhdHRyaWJ1dGVzID0gdmFsdWUuYXR0cmlidXRlc1xuICBjb25zdCBwcmVsb2FkZWRSZWxhdGlvbnNoaXBzID0gdmFsdWUucHJlbG9hZGVkUmVsYXRpb25zaGlwc1xuXG4gIHJldHVybiAoXG4gICAgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBUWVBFX0tFWSlcbiAgICAmJiB2YWx1ZVtUWVBFX0tFWV0gPT09IFRZUEVfRlJPTlRFTkRfTU9ERUxcbiAgICAmJiB0eXBlb2YgbW9kZWxOYW1lID09PSBcInN0cmluZ1wiXG4gICAgJiYgbW9kZWxOYW1lLmxlbmd0aCA+IDBcbiAgICAmJiBpc1BsYWluT2JqZWN0KGF0dHJpYnV0ZXMpXG4gICAgJiYgKHByZWxvYWRlZFJlbGF0aW9uc2hpcHMgPT09IHVuZGVmaW5lZCB8fCBpc1BsYWluT2JqZWN0KHByZWxvYWRlZFJlbGF0aW9uc2hpcHMpKVxuICApXG59XG5cbi8qKlxuICogUnVucyB0aGUgaXNCYWNrZW5kTW9kZWxJbnN0YW5jZSBoZWxwZXIuXG4gKiBAcGFyYW0gez99IHZhbHVlIC0gQ2FuZGlkYXRlIHZhbHVlLlxuICogQHJldHVybnMge3ZhbHVlIGlzIHthdHRyaWJ1dGVzOiAoKSA9PiBSZWNvcmQ8c3RyaW5nLCA/PiwgY29uc3RydWN0b3I6IHtnZXRNb2RlbE5hbWU/OiAoKSA9PiBzdHJpbmcsIG5hbWU/OiBzdHJpbmd9LCBnZXRNb2RlbENsYXNzOiAoKSA9PiB0eXBlb2YgaW1wb3J0KFwiLi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHQsIGdldFJlbGF0aW9uc2hpcEJ5TmFtZTogKHJlbGF0aW9uc2hpcE5hbWU6IHN0cmluZykgPT4ge2dldFByZWxvYWRlZDogKCkgPT4gYm9vbGVhbiwgbG9hZGVkOiAoKSA9PiA/fX19IC0gV2hldGhlciB2YWx1ZSBsb29rcyBsaWtlIGEgYmFja2VuZCBtb2RlbCBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzQmFja2VuZE1vZGVsSW5zdGFuY2UodmFsdWUpIHtcbiAgaWYgKCF2YWx1ZSB8fCB0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIpIHJldHVybiBmYWxzZVxuXG4gIGNvbnN0IGNhbmRpZGF0ZSA9IC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgPz59ICovICh2YWx1ZSlcblxuICByZXR1cm4gKFxuICAgIHR5cGVvZiBjYW5kaWRhdGUuYXR0cmlidXRlcyA9PT0gXCJmdW5jdGlvblwiXG4gICAgJiYgdHlwZW9mIGNhbmRpZGF0ZS5nZXRNb2RlbENsYXNzID09PSBcImZ1bmN0aW9uXCJcbiAgICAmJiB0eXBlb2YgY2FuZGlkYXRlLmdldFJlbGF0aW9uc2hpcEJ5TmFtZSA9PT0gXCJmdW5jdGlvblwiXG4gIClcbn1cblxuLyoqXG4gKiBSdW5zIHNlcmlhbGl6ZSBmcm9udGVuZCBtb2RlbCB0cmFuc3BvcnQgdmFsdWUgaW50ZXJuYWwuXG4gKiBAcGFyYW0gez99IHZhbHVlIC0gVmFsdWUgdG8gc2VyaWFsaXplLlxuICogQHBhcmFtIHtXZWFrU2V0PG9iamVjdD59IHNlZW5Nb2RlbHMgLSBNb2RlbHMgYWxyZWFkeSB2aXNpdGVkIGluIHRoZSBjdXJyZW50IHJlY3Vyc2lvbiBwYXRoLlxuICogQHBhcmFtIHtOb3JtYWxpemVkRnJvbnRlbmRNb2RlbFRyYW5zcG9ydFNlcmlhbGl6YXRpb25PcHRpb25zfSBvcHRpb25zIC0gU2VyaWFsaXphdGlvbiBvcHRpb25zLlxuICogQHJldHVybnMgez99IC0gU2VyaWFsaXplZCB2YWx1ZSB3aXRoIHRyYW5zcG9ydCBtYXJrZXJzLlxuICovXG5mdW5jdGlvbiBzZXJpYWxpemVGcm9udGVuZE1vZGVsVHJhbnNwb3J0VmFsdWVJbnRlcm5hbCh2YWx1ZSwgc2Vlbk1vZGVscywgb3B0aW9ucykge1xuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB7W1RZUEVfS0VZXTogVFlQRV9VTkRFRklORUR9XG4gIH1cblxuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFtUWVBFX0tFWV06IFRZUEVfREFURSxcbiAgICAgIHZhbHVlOiBvcHRpb25zLnRpbWVab25lID8gZm9ybWF0RGF0ZUluVGltZVpvbmUodmFsdWUsIG9wdGlvbnMudGltZVpvbmUpIDogdmFsdWUudG9JU09TdHJpbmcoKVxuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiYmlnaW50XCIpIHtcbiAgICByZXR1cm4ge1xuICAgICAgW1RZUEVfS0VZXTogVFlQRV9CSUdJTlQsXG4gICAgICB2YWx1ZTogdmFsdWUudG9TdHJpbmcoKVxuICAgIH1cbiAgfVxuXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCIgJiYgIU51bWJlci5pc0Zpbml0ZSh2YWx1ZSkpIHtcbiAgICBjb25zdCBtYXJrZXJWYWx1ZSA9IE51bWJlci5pc05hTih2YWx1ZSlcbiAgICAgID8gTlVNQkVSX05BTlxuICAgICAgOiAodmFsdWUgPiAwID8gTlVNQkVSX1BPU0lUSVZFX0lORklOSVRZIDogTlVNQkVSX05FR0FUSVZFX0lORklOSVRZKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIFtUWVBFX0tFWV06IFRZUEVfTlVNQkVSLFxuICAgICAgdmFsdWU6IG1hcmtlclZhbHVlXG4gICAgfVxuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlLm1hcCgoZW50cnkpID0+IHNlcmlhbGl6ZUZyb250ZW5kTW9kZWxUcmFuc3BvcnRWYWx1ZUludGVybmFsKGVudHJ5LCBzZWVuTW9kZWxzLCBvcHRpb25zKSlcbiAgfVxuXG4gIGlmIChpc0JhY2tlbmRNb2RlbEluc3RhbmNlKHZhbHVlKSkge1xuICAgIGNvbnN0IG1vZGVsQXR0cmlidXRlcyA9IHZhbHVlLmF0dHJpYnV0ZXMoKVxuICAgIGNvbnN0IG1vZGVsTmFtZSA9IHZhbHVlLmdldE1vZGVsQ2xhc3MoKS5nZXRNb2RlbE5hbWUoKVxuXG4gICAgLyoqXG4gICAgICogU2VyaWFsaXplZCBtb2RlbC5cbiAgICAgKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgPz59ICovXG4gICAgY29uc3Qgc2VyaWFsaXplZE1vZGVsID0ge1xuICAgICAgW1RZUEVfS0VZXTogVFlQRV9GUk9OVEVORF9NT0RFTCxcbiAgICAgIGF0dHJpYnV0ZXM6IC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgPz59ICovIChzZXJpYWxpemVGcm9udGVuZE1vZGVsVHJhbnNwb3J0VmFsdWVJbnRlcm5hbChtb2RlbEF0dHJpYnV0ZXMsIHNlZW5Nb2RlbHMsIG9wdGlvbnMpKSxcbiAgICAgIG1vZGVsTmFtZVxuICAgIH1cblxuICAgIGlmIChzZWVuTW9kZWxzLmhhcyh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBzZXJpYWxpemVkTW9kZWxcbiAgICB9XG5cbiAgICBzZWVuTW9kZWxzLmFkZCh2YWx1ZSlcblxuICAgIC8qKlxuICAgICAqIFByZWxvYWRlZCByZWxhdGlvbnNoaXBzLlxuICAgICAqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCA/Pn0gKi9cbiAgICBjb25zdCBwcmVsb2FkZWRSZWxhdGlvbnNoaXBzID0ge31cbiAgICBjb25zdCByZWxhdGlvbnNoaXBzTWFwID0gdmFsdWUuZ2V0TW9kZWxDbGFzcygpLmdldFJlbGF0aW9uc2hpcHNNYXAoKVxuXG4gICAgZm9yIChjb25zdCByZWxhdGlvbnNoaXBOYW1lIG9mIE9iamVjdC5rZXlzKHJlbGF0aW9uc2hpcHNNYXApKSB7XG4gICAgICBjb25zdCByZWxhdGlvbnNoaXAgPSB2YWx1ZS5nZXRSZWxhdGlvbnNoaXBCeU5hbWUocmVsYXRpb25zaGlwTmFtZSlcblxuICAgICAgaWYgKCFyZWxhdGlvbnNoaXAuZ2V0UHJlbG9hZGVkKCkpIGNvbnRpbnVlXG5cbiAgICAgIGNvbnN0IGxvYWRlZFJlbGF0aW9uc2hpcCA9IHJlbGF0aW9uc2hpcC5sb2FkZWQoKVxuXG4gICAgICBhc3NpZ25TYWZlUHJvcGVydHkocHJlbG9hZGVkUmVsYXRpb25zaGlwcywgcmVsYXRpb25zaGlwTmFtZSwgc2VyaWFsaXplRnJvbnRlbmRNb2RlbFRyYW5zcG9ydFZhbHVlSW50ZXJuYWwoXG4gICAgICAgIGxvYWRlZFJlbGF0aW9uc2hpcCA9PSB1bmRlZmluZWQgPyBudWxsIDogbG9hZGVkUmVsYXRpb25zaGlwLFxuICAgICAgICBzZWVuTW9kZWxzLFxuICAgICAgICBvcHRpb25zXG4gICAgICApKVxuICAgIH1cblxuICAgIHNlZW5Nb2RlbHMuZGVsZXRlKHZhbHVlKVxuXG4gICAgaWYgKE9iamVjdC5rZXlzKHByZWxvYWRlZFJlbGF0aW9uc2hpcHMpLmxlbmd0aCA+IDApIHtcbiAgICAgIHNlcmlhbGl6ZWRNb2RlbC5wcmVsb2FkZWRSZWxhdGlvbnNoaXBzID0gcHJlbG9hZGVkUmVsYXRpb25zaGlwc1xuICAgIH1cblxuICAgIHJldHVybiBzZXJpYWxpemVkTW9kZWxcbiAgfVxuXG4gIGlmIChpc1BsYWluT2JqZWN0KHZhbHVlKSkge1xuICAgIC8qKlxuICAgICAqIFNlcmlhbGl6ZWQuXG4gICAgICogQHR5cGUge1JlY29yZDxzdHJpbmcsID8+fSAqL1xuICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSB7fVxuXG4gICAgZm9yIChjb25zdCBba2V5LCBuZXN0ZWRWYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModmFsdWUpKSB7XG4gICAgICBhc3NpZ25TYWZlUHJvcGVydHkoc2VyaWFsaXplZCwga2V5LCBzZXJpYWxpemVGcm9udGVuZE1vZGVsVHJhbnNwb3J0VmFsdWVJbnRlcm5hbChuZXN0ZWRWYWx1ZSwgc2Vlbk1vZGVscywgb3B0aW9ucykpXG4gICAgfVxuXG4gICAgcmV0dXJuIHNlcmlhbGl6ZWRcbiAgfVxuXG4gIHJldHVybiB2YWx1ZVxufVxuXG4vKipcbiAqIE5vcm1hbGl6ZXMgc2VyaWFsaXplciBvcHRpb25zIG9uY2UgcGVyIHRvcC1sZXZlbCBzZXJpYWxpemF0aW9uLlxuICogQHBhcmFtIHtGcm9udGVuZE1vZGVsVHJhbnNwb3J0U2VyaWFsaXphdGlvbk9wdGlvbnN9IG9wdGlvbnMgLSBTZXJpYWxpemF0aW9uIG9wdGlvbnMuXG4gKiBAcmV0dXJucyB7Tm9ybWFsaXplZEZyb250ZW5kTW9kZWxUcmFuc3BvcnRTZXJpYWxpemF0aW9uT3B0aW9uc30gLSBOb3JtYWxpemVkIG9wdGlvbnMuXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZUZyb250ZW5kTW9kZWxUcmFuc3BvcnRTZXJpYWxpemF0aW9uT3B0aW9ucyhvcHRpb25zKSB7XG4gIHJldHVybiB7XG4gICAgdGltZVpvbmU6IG9wdGlvbnMudGltZVpvbmUgPT09IHVuZGVmaW5lZFxuICAgICAgPyB1bmRlZmluZWRcbiAgICAgIDogdmFsaWRhdGVUaW1lWm9uZShvcHRpb25zLnRpbWVab25lLCBcInRyYW5zcG9ydCBzZXJpYWxpemF0aW9uIHRpbWVab25lXCIpXG4gIH1cbn1cblxuLyoqXG4gKiBSdW5zIGRlc2VyaWFsaXplIGZyb250ZW5kIG1vZGVsIG1hcmtlci5cbiAqIEBwYXJhbSB7e2F0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsID8+LCBtb2RlbE5hbWU6IHN0cmluZywgcHJlbG9hZGVkUmVsYXRpb25zaGlwcz86IFJlY29yZDxzdHJpbmcsID8+fX0gbWFya2VyIC0gRW5jb2RlZCBmcm9udGVuZC1tb2RlbCBtYXJrZXIuXG4gKiBAcmV0dXJucyB7P30gLSBIeWRyYXRlZCBmcm9udGVuZCBtb2RlbCBvciBwbGFpbiBvYmplY3QgZmFsbGJhY2suXG4gKi9cbmZ1bmN0aW9uIGRlc2VyaWFsaXplRnJvbnRlbmRNb2RlbE1hcmtlcihtYXJrZXIpIHtcbiAgY29uc3QgYXR0cmlidXRlcyA9IC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgPz59ICovIChkZXNlcmlhbGl6ZUZyb250ZW5kTW9kZWxUcmFuc3BvcnRWYWx1ZShtYXJrZXIuYXR0cmlidXRlcykpXG4gIGNvbnN0IHByZWxvYWRlZFJlbGF0aW9uc2hpcHMgPSBpc1BsYWluT2JqZWN0KG1hcmtlci5wcmVsb2FkZWRSZWxhdGlvbnNoaXBzKVxuICAgID8gLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCA/Pn0gKi8gKGRlc2VyaWFsaXplRnJvbnRlbmRNb2RlbFRyYW5zcG9ydFZhbHVlKG1hcmtlci5wcmVsb2FkZWRSZWxhdGlvbnNoaXBzKSlcbiAgICA6IHt9XG4gIGNvbnN0IG1vZGVsQ2xhc3MgPSByZXNvbHZlRnJvbnRlbmRNb2RlbENsYXNzKG1hcmtlci5tb2RlbE5hbWUpXG5cbiAgaWYgKCFtb2RlbENsYXNzIHx8IHR5cGVvZiBtb2RlbENsYXNzLmluc3RhbnRpYXRlRnJvbVJlc3BvbnNlICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBpZiAoT2JqZWN0LmtleXMocHJlbG9hZGVkUmVsYXRpb25zaGlwcykubGVuZ3RoIDwgMSkge1xuICAgICAgcmV0dXJuIGF0dHJpYnV0ZXNcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uYXR0cmlidXRlcyxcbiAgICAgIFtQUkVMT0FERURfUkVMQVRJT05TSElQU19LRVldOiBwcmVsb2FkZWRSZWxhdGlvbnNoaXBzXG4gICAgfVxuICB9XG5cbiAgLy8gUm91dGUgaHlkcmF0aW9uIHRocm91Z2ggYGluc3RhbnRpYXRlRnJvbVJlc3BvbnNlYCBzb1xuICAvLyBgX19hYmlsaXRpZXNgIC8gYF9fcXVlcnlEYXRhYCAvIGBfX2Fzc29jaWF0aW9uQ291bnRzYCAvXG4gIC8vIGBfX3ByZWxvYWRlZFJlbGF0aW9uc2hpcHNgIGJha2VkIGludG8gdGhlIG1hcmtlcidzIGF0dHJpYnV0ZXMgYmxvYiAoZS5nLlxuICAvLyBieSBgcmVzb3VyY2Uuc2VyaWFsaXplYCBpbiBjdXN0b20tY29tbWFuZCBhdXRvLXNlcmlhbGl6YXRpb24pIGdldFxuICAvLyBleHRyYWN0ZWQgYW5kIGFwcGxpZWQuIExlZ2FjeSBtYXJrZXJzIHRoYXQgdXNlZCBhIHNlcGFyYXRlIHRvcC1sZXZlbFxuICAvLyBgcHJlbG9hZGVkUmVsYXRpb25zaGlwc2AgZmllbGQgbWVyZ2UgdGhlbSB1bmRlciB0aGUgc3RhbmRhcmQga2V5IGZpcnN0XG4gIC8vIHNvIGBtb2RlbERhdGFGcm9tUmVzcG9uc2VgIHBpY2tzIHRoZW0gdXAuXG4gIGNvbnN0IHJlc3BvbnNlQXR0cmlidXRlcyA9IE9iamVjdC5rZXlzKHByZWxvYWRlZFJlbGF0aW9uc2hpcHMpLmxlbmd0aCA+IDBcbiAgICA/IHtcbiAgICAgIC4uLmF0dHJpYnV0ZXMsXG4gICAgICBbUFJFTE9BREVEX1JFTEFUSU9OU0hJUFNfS0VZXTogcHJlbG9hZGVkUmVsYXRpb25zaGlwc1xuICAgIH1cbiAgICA6IGF0dHJpYnV0ZXNcblxuICByZXR1cm4gbW9kZWxDbGFzcy5pbnN0YW50aWF0ZUZyb21SZXNwb25zZShyZXNwb25zZUF0dHJpYnV0ZXMpXG59XG5cbi8qKlxuICogUnVucyB0aGUgc2VyaWFsaXplRnJvbnRlbmRNb2RlbFRyYW5zcG9ydFZhbHVlIGhlbHBlci5cbiAqIEBwYXJhbSB7P30gdmFsdWUgLSBWYWx1ZSB0byBzZXJpYWxpemUuXG4gKiBAcGFyYW0ge0Zyb250ZW5kTW9kZWxUcmFuc3BvcnRTZXJpYWxpemF0aW9uT3B0aW9uc30gW29wdGlvbnNdIC0gU2VyaWFsaXphdGlvbiBvcHRpb25zLlxuICogQHJldHVybnMgez99IC0gU2VyaWFsaXplZCB2YWx1ZSB3aXRoIHRyYW5zcG9ydCBtYXJrZXJzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplRnJvbnRlbmRNb2RlbFRyYW5zcG9ydFZhbHVlKHZhbHVlLCBvcHRpb25zID0ge30pIHtcbiAgcmV0dXJuIHNlcmlhbGl6ZUZyb250ZW5kTW9kZWxUcmFuc3BvcnRWYWx1ZUludGVybmFsKFxuICAgIHZhbHVlLFxuICAgIG5ldyBXZWFrU2V0KCksXG4gICAgbm9ybWFsaXplRnJvbnRlbmRNb2RlbFRyYW5zcG9ydFNlcmlhbGl6YXRpb25PcHRpb25zKG9wdGlvbnMpXG4gIClcbn1cblxuLyoqXG4gKiBSdW5zIHRoZSBkZXNlcmlhbGl6ZUZyb250ZW5kTW9kZWxUcmFuc3BvcnRWYWx1ZSBoZWxwZXIuXG4gKiBAcGFyYW0gez99IHZhbHVlIC0gVmFsdWUgdG8gZGVzZXJpYWxpemUuXG4gKiBAcmV0dXJucyB7P30gLSBEZXNlcmlhbGl6ZWQgdmFsdWUgd2l0aCB0cmFuc3BvcnQgbWFya2VycyByZXN0b3JlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlc2VyaWFsaXplRnJvbnRlbmRNb2RlbFRyYW5zcG9ydFZhbHVlKHZhbHVlKSB7XG4gIGlmIChpc1VuZGVmaW5lZE1hcmtlcih2YWx1ZSkpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICBpZiAoaXNEYXRlTWFya2VyKHZhbHVlKSkge1xuICAgIGNvbnN0IGRhdGVWYWx1ZSA9IC8qKiBAdHlwZSB7e3ZhbHVlOiBzdHJpbmd9fSAqLyAodmFsdWUpLnZhbHVlXG5cbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZVZhbHVlKVxuICB9XG5cbiAgaWYgKGlzQmlnSW50TWFya2VyKHZhbHVlKSkge1xuICAgIGNvbnN0IGJpZ2ludFZhbHVlID0gLyoqIEB0eXBlIHt7dmFsdWU6IHN0cmluZ319ICovICh2YWx1ZSkudmFsdWVcblxuICAgIHJldHVybiBCaWdJbnQoYmlnaW50VmFsdWUpXG4gIH1cblxuICBpZiAoaXNOb25GaW5pdGVOdW1iZXJNYXJrZXIodmFsdWUpKSB7XG4gICAgY29uc3QgbnVtYmVyVmFsdWUgPSAvKiogQHR5cGUge3t2YWx1ZTogc3RyaW5nfX0gKi8gKHZhbHVlKS52YWx1ZVxuXG4gICAgaWYgKG51bWJlclZhbHVlID09PSBOVU1CRVJfTkFOKSByZXR1cm4gTnVtYmVyLk5hTlxuICAgIGlmIChudW1iZXJWYWx1ZSA9PT0gTlVNQkVSX1BPU0lUSVZFX0lORklOSVRZKSByZXR1cm4gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZXG5cbiAgICByZXR1cm4gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZXG4gIH1cblxuICBpZiAoaXNGcm9udGVuZE1vZGVsTWFya2VyKHZhbHVlKSkge1xuICAgIHJldHVybiBkZXNlcmlhbGl6ZUZyb250ZW5kTW9kZWxNYXJrZXIodmFsdWUpXG4gIH1cblxuICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICByZXR1cm4gdmFsdWUubWFwKChlbnRyeSkgPT4gZGVzZXJpYWxpemVGcm9udGVuZE1vZGVsVHJhbnNwb3J0VmFsdWUoZW50cnkpKVxuICB9XG5cbiAgaWYgKGlzUGxhaW5PYmplY3QodmFsdWUpKSB7XG4gICAgLyoqXG4gICAgICogRGVzZXJpYWxpemVkLlxuICAgICAqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCA/Pn0gKi9cbiAgICBjb25zdCBkZXNlcmlhbGl6ZWQgPSB7fVxuXG4gICAgZm9yIChjb25zdCBba2V5LCBuZXN0ZWRWYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModmFsdWUpKSB7XG4gICAgICBhc3NpZ25TYWZlUHJvcGVydHkoZGVzZXJpYWxpemVkLCBrZXksIGRlc2VyaWFsaXplRnJvbnRlbmRNb2RlbFRyYW5zcG9ydFZhbHVlKG5lc3RlZFZhbHVlKSlcbiAgICB9XG5cbiAgICByZXR1cm4gZGVzZXJpYWxpemVkXG4gIH1cblxuICByZXR1cm4gdmFsdWVcbn1cbiJdfQ==
|
|
315
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNwb3J0LXNlcmlhbGl6YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvZnJvbnRlbmQtbW9kZWxzL3RyYW5zcG9ydC1zZXJpYWxpemF0aW9uLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQTtBQUM3RCxPQUFPLGFBQWEsTUFBTSwwQkFBMEIsQ0FBQTtBQUNwRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQTtBQUV0RTs7OztHQUlHO0FBQ0g7Ozs7R0FJRztBQUNILE1BQU0sUUFBUSxHQUFHLGtCQUFrQixDQUFBO0FBQ25DLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQTtBQUN4QixNQUFNLGNBQWMsR0FBRyxXQUFXLENBQUE7QUFDbEMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFBO0FBQzVCLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQTtBQUM1QixNQUFNLG1CQUFtQixHQUFHLGdCQUFnQixDQUFBO0FBQzVDLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQTtBQUN4QixNQUFNLHdCQUF3QixHQUFHLFVBQVUsQ0FBQTtBQUMzQyxNQUFNLHdCQUF3QixHQUFHLFdBQVcsQ0FBQTtBQUM1QyxNQUFNLDJCQUEyQixHQUFHLDBCQUEwQixDQUFBO0FBRTlEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxLQUFLO0lBQ25ELE1BQU0sQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtRQUNqQyxLQUFLO1FBQ0wsUUFBUSxFQUFFLElBQUk7UUFDZCxVQUFVLEVBQUUsSUFBSTtRQUNoQixZQUFZLEVBQUUsSUFBSTtLQUNuQixDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsaUJBQWlCLENB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QUUsc0NBQXNDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQTtRQUM1RixDQUFDO1FBRUQsT0FBTyxZQUFZLENBQUE7SUFDckIsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFBO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQge3Jlc29sdmVGcm9udGVuZE1vZGVsQ2xhc3N9IGZyb20gXCIuL21vZGVsLXJlZ2lzdHJ5LmpzXCJcbmltcG9ydCBpc1BsYWluT2JqZWN0IGZyb20gXCIuLi91dGlscy9wbGFpbi1vYmplY3QuanNcIlxuaW1wb3J0IHtmb3JtYXREYXRlSW5UaW1lWm9uZSwgdmFsaWRhdGVUaW1lWm9uZX0gZnJvbSBcIi4uL3RpbWUtem9uZS5qc1wiXG5cbi8qKlxuICogRnJvbnRlbmQgbW9kZWwgdHJhbnNwb3J0IHNlcmlhbGl6YXRpb24gb3B0aW9ucy5cbiAqIEB0eXBlZGVmIHtvYmplY3R9IEZyb250ZW5kTW9kZWxUcmFuc3BvcnRTZXJpYWxpemF0aW9uT3B0aW9uc1xuICogQHByb3BlcnR5IHtzdHJpbmcgfCB1bmRlZmluZWR9IFt0aW1lWm9uZV0gLSBJQU5BIHRpbWV6b25lIHVzZWQgd2hlbiBzZXJpYWxpemluZyBEYXRlIGluc3RhbnRzLlxuICovXG4vKipcbiAqIE5vcm1hbGl6ZWQgZnJvbnRlbmQgbW9kZWwgdHJhbnNwb3J0IHNlcmlhbGl6YXRpb24gb3B0aW9ucy5cbiAqIEB0eXBlZGVmIHtvYmplY3R9IE5vcm1hbGl6ZWRGcm9udGVuZE1vZGVsVHJhbnNwb3J0U2VyaWFsaXphdGlvbk9wdGlvbnNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nIHwgdW5kZWZpbmVkfSB0aW1lWm9uZSAtIFZhbGlkYXRlZCBJQU5BIHRpbWV6b25lIHVzZWQgd2hlbiBzZXJpYWxpemluZyBEYXRlIGluc3RhbnRzLlxuICovXG5jb25zdCBUWVBFX0tFWSA9IFwiX192ZWxvY2lvdXNfdHlwZVwiXG5jb25zdCBUWVBFX0RBVEUgPSBcImRhdGVcIlxuY29uc3QgVFlQRV9VTkRFRklORUQgPSBcInVuZGVmaW5lZFwiXG5jb25zdCBUWVBFX0JJR0lOVCA9IFwiYmlnaW50XCJcbmNvbnN0IFRZUEVfTlVNQkVSID0gXCJudW1iZXJcIlxuY29uc3QgVFlQRV9GUk9OVEVORF9NT0RFTCA9IFwiZnJvbnRlbmRfbW9kZWxcIlxuY29uc3QgTlVNQkVSX05BTiA9IFwiTmFOXCJcbmNvbnN0IE5VTUJFUl9QT1NJVElWRV9JTkZJTklUWSA9IFwiSW5maW5pdHlcIlxuY29uc3QgTlVNQkVSX05FR0FUSVZFX0lORklOSVRZID0gXCItSW5maW5pdHlcIlxuY29uc3QgUFJFTE9BREVEX1JFTEFUSU9OU0hJUFNfS0VZID0gXCJfX3ByZWxvYWRlZFJlbGF0aW9uc2hpcHNcIlxuXG4vKipcbiAqIEFzc2lnbiBhIGtleSB0byBhIHBsYWluIG9iamVjdCB3aXRob3V0IHRyaWdnZXJpbmcgdGhlIGBfX3Byb3RvX19gIHNldHRlci5cbiAqIFVzZXMgYE9iamVjdC5kZWZpbmVQcm9wZXJ0eWAgc28gdGhhdCBrZXlzIGxpa2UgYF9fcHJvdG9fX2AgYXJlIHN0b3JlZCBhc1xuICogb3duIGRhdGEgcHJvcGVydGllcyBpbnN0ZWFkIG9mIG11dGF0aW5nIHRoZSBvYmplY3QncyBwcm90b3R5cGUgY2hhaW4uIFRoaXNcbiAqIGxldHMgY2FsbGVycyByZWNlaXZlIGEgcmVndWxhciBge31gIG9iamVjdCAod2l0aCBgT2JqZWN0LnByb3RvdHlwZWAgYW5kIGFcbiAqIG5vcm1hbCBgY29uc3RydWN0b3IubmFtZWApIHdoaWxlIHN0aWxsIHByZXZlbnRpbmcgcHJvdG90eXBlIHBvbGx1dGlvbi5cbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSB0YXJnZXQgLSBUYXJnZXQgb2JqZWN0LlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSAtIFByb3BlcnR5IGtleS5cbiAqIEBwYXJhbSB7UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59IHZhbHVlIC0gUHJvcGVydHkgdmFsdWUuXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2lnblNhZmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgdmFsdWUpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCB7XG4gICAgdmFsdWUsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBjb25maWd1cmFibGU6IHRydWVcbiAgfSlcbn1cblxuLyoqXG4gKiBSdW5zIGlzIHVuZGVmaW5lZCBtYXJrZXIuXG4gKiBAcGFyYW0ge1JldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+fSB2YWx1ZSAtIENhbmRpZGF0ZSB2YWx1ZS5cbiAqIEByZXR1cm5zIHtib29sZWFufSAtIFdoZXRoZXIgdmFsdWUgaXMgZW5jb2RlZCB1bmRlZmluZWQgbWFya2VyLlxuICovXG5mdW5jdGlvbiBpc1VuZGVmaW5lZE1hcmtlcih2YWx1ZSkge1xuICBpZiAoIWlzUGxhaW5PYmplY3QodmFsdWUpKSByZXR1cm4gZmFsc2VcblxuICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModmFsdWUpXG5cbiAgcmV0dXJuIGtleXMubGVuZ3RoID09PSAxICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwgVFlQRV9LRVkpICYmIHZhbHVlW1RZUEVfS0VZXSA9PT0gVFlQRV9VTkRFRklORURcbn1cblxuLyoqXG4gKiBDaGVjayB3aGV0aGVyIGEgdmFsdWUgaXMgYSB0eXBlZCBtYXJrZXIgb2JqZWN0IHdpdGggYSBzdHJpbmcgYHZhbHVlYCBmaWVsZC5cbiAqIEBwYXJhbSB7UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59IHZhbHVlIC0gQ2FuZGlkYXRlIG1hcmtlci5cbiAqIEBwYXJhbSB7c3RyaW5nfSBtYXJrZXJUeXBlIC0gRXhwZWN0ZWQgbWFya2VyIHR5cGUgdmFsdWUuXG4gKiBAcGFyYW0geyhzdHJpbmdWYWx1ZTogc3RyaW5nKSA9PiBib29sZWFufSB2YWx1ZU1hdGNoZXMgLSBBZGRpdGlvbmFsIHN0cmluZyB2YWx1ZSBwcmVkaWNhdGUuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIHZhbHVlIG1hdGNoZXMgdGhlIG1hcmtlciBzaGFwZS5cbiAqL1xuZnVuY3Rpb24gaXNTdHJpbmdWYWx1ZU1hcmtlcih2YWx1ZSwgbWFya2VyVHlwZSwgdmFsdWVNYXRjaGVzKSB7XG4gIGlmICghaXNQbGFpbk9iamVjdCh2YWx1ZSkpIHJldHVybiBmYWxzZVxuXG4gIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyh2YWx1ZSlcblxuICByZXR1cm4gKFxuICAgIGtleXMubGVuZ3RoID09PSAyXG4gICAgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBUWVBFX0tFWSlcbiAgICAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodmFsdWUsIFwidmFsdWVcIilcbiAgICAmJiB2YWx1ZVtUWVBFX0tFWV0gPT09IG1hcmtlclR5cGVcbiAgICAmJiB0eXBlb2YgdmFsdWUudmFsdWUgPT09IFwic3RyaW5nXCJcbiAgICAmJiB2YWx1ZU1hdGNoZXModmFsdWUudmFsdWUpXG4gIClcbn1cblxuLyoqXG4gKiBSdW5zIGlzIGRhdGUgbWFya2VyLlxuICogQHBhcmFtIHtSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPn0gdmFsdWUgLSBDYW5kaWRhdGUgdmFsdWUuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIHZhbHVlIGlzIGVuY29kZWQgZGF0ZSBtYXJrZXIuXG4gKi9cbmZ1bmN0aW9uIGlzRGF0ZU1hcmtlcih2YWx1ZSkge1xuICByZXR1cm4gaXNTdHJpbmdWYWx1ZU1hcmtlcih2YWx1ZSwgVFlQRV9EQVRFLCAoKSA9PiB0cnVlKVxufVxuXG4vKipcbiAqIFJ1bnMgaXMgYmlnIGludCBtYXJrZXIuXG4gKiBAcGFyYW0ge1JldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+fSB2YWx1ZSAtIENhbmRpZGF0ZSB2YWx1ZS5cbiAqIEByZXR1cm5zIHtib29sZWFufSAtIFdoZXRoZXIgdmFsdWUgaXMgZW5jb2RlZCBiaWdpbnQgbWFya2VyLlxuICovXG5mdW5jdGlvbiBpc0JpZ0ludE1hcmtlcih2YWx1ZSkge1xuICByZXR1cm4gaXNTdHJpbmdWYWx1ZU1hcmtlcih2YWx1ZSwgVFlQRV9CSUdJTlQsIChzdHJpbmdWYWx1ZSkgPT4gL14tP1xcZCskLy50ZXN0KHN0cmluZ1ZhbHVlKSlcbn1cblxuLyoqXG4gKiBSdW5zIGlzIG5vbiBmaW5pdGUgbnVtYmVyIG1hcmtlci5cbiAqIEBwYXJhbSB7UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59IHZhbHVlIC0gQ2FuZGlkYXRlIHZhbHVlLlxuICogQHJldHVybnMge2Jvb2xlYW59IC0gV2hldGhlciB2YWx1ZSBpcyBlbmNvZGVkIG5vbi1maW5pdGUgbnVtYmVyIG1hcmtlci5cbiAqL1xuZnVuY3Rpb24gaXNOb25GaW5pdGVOdW1iZXJNYXJrZXIodmFsdWUpIHtcbiAgaWYgKCFpc1BsYWluT2JqZWN0KHZhbHVlKSkgcmV0dXJuIGZhbHNlXG5cbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHZhbHVlKVxuICBjb25zdCBtYXJrZXJWYWx1ZSA9IHZhbHVlLnZhbHVlXG5cbiAgcmV0dXJuIChcbiAgICBrZXlzLmxlbmd0aCA9PT0gMlxuICAgICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwgVFlQRV9LRVkpXG4gICAgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHZhbHVlLCBcInZhbHVlXCIpXG4gICAgJiYgdmFsdWVbVFlQRV9LRVldID09PSBUWVBFX05VTUJFUlxuICAgICYmIChtYXJrZXJWYWx1ZSA9PT0gTlVNQkVSX05BTiB8fCBtYXJrZXJWYWx1ZSA9PT0gTlVNQkVSX1BPU0lUSVZFX0lORklOSVRZIHx8IG1hcmtlclZhbHVlID09PSBOVU1CRVJfTkVHQVRJVkVfSU5GSU5JVFkpXG4gIClcbn1cblxuLyoqXG4gKiBSdW5zIGlzIGZyb250ZW5kIG1vZGVsIG1hcmtlci5cbiAqIEBwYXJhbSB7UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59IHZhbHVlIC0gQ2FuZGlkYXRlIHZhbHVlLlxuICogQHJldHVybnMge3ZhbHVlIGlzIHtfX3ZlbG9jaW91c190eXBlOiBcImZyb250ZW5kX21vZGVsXCIsIGF0dHJpYnV0ZXM6IFJlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+PiwgbW9kZWxOYW1lOiBzdHJpbmcsIHByZWxvYWRlZFJlbGF0aW9uc2hpcHM/OiBSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59fSAtIFdoZXRoZXIgdmFsdWUgaXMgZW5jb2RlZCBmcm9udGVuZC1tb2RlbCBtYXJrZXIuXG4gKi9cbmZ1bmN0aW9uIGlzRnJvbnRlbmRNb2RlbE1hcmtlcih2YWx1ZSkge1xuICBpZiAoIWlzUGxhaW5PYmplY3QodmFsdWUpKSByZXR1cm4gZmFsc2VcblxuICBjb25zdCBtb2RlbE5hbWUgPSB2YWx1ZS5tb2RlbE5hbWVcbiAgY29uc3QgYXR0cmlidXRlcyA9IHZhbHVlLmF0dHJpYnV0ZXNcbiAgY29uc3QgcHJlbG9hZGVkUmVsYXRpb25zaGlwcyA9IHZhbHVlLnByZWxvYWRlZFJlbGF0aW9uc2hpcHNcblxuICByZXR1cm4gKFxuICAgIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2YWx1ZSwgVFlQRV9LRVkpXG4gICAgJiYgdmFsdWVbVFlQRV9LRVldID09PSBUWVBFX0ZST05URU5EX01PREVMXG4gICAgJiYgdHlwZW9mIG1vZGVsTmFtZSA9PT0gXCJzdHJpbmdcIlxuICAgICYmIG1vZGVsTmFtZS5sZW5ndGggPiAwXG4gICAgJiYgaXNQbGFpbk9iamVjdChhdHRyaWJ1dGVzKVxuICAgICYmIChwcmVsb2FkZWRSZWxhdGlvbnNoaXBzID09PSB1bmRlZmluZWQgfHwgaXNQbGFpbk9iamVjdChwcmVsb2FkZWRSZWxhdGlvbnNoaXBzKSlcbiAgKVxufVxuXG4vKipcbiAqIFJ1bnMgdGhlIGlzQmFja2VuZE1vZGVsSW5zdGFuY2UgaGVscGVyLlxuICogQHBhcmFtIHtSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPn0gdmFsdWUgLSBDYW5kaWRhdGUgdmFsdWUuXG4gKiBAcmV0dXJucyB7dmFsdWUgaXMge2F0dHJpYnV0ZXM6ICgpID0+IFJlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+PiwgY29uc3RydWN0b3I6IHtnZXRNb2RlbE5hbWU/OiAoKSA9PiBzdHJpbmcsIG5hbWU/OiBzdHJpbmd9LCBnZXRNb2RlbENsYXNzOiAoKSA9PiB0eXBlb2YgaW1wb3J0KFwiLi4vZGF0YWJhc2UvcmVjb3JkL2luZGV4LmpzXCIpLmRlZmF1bHQsIGdldFJlbGF0aW9uc2hpcEJ5TmFtZTogKHJlbGF0aW9uc2hpcE5hbWU6IHN0cmluZykgPT4ge2dldFByZWxvYWRlZDogKCkgPT4gYm9vbGVhbiwgbG9hZGVkOiAoKSA9PiBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPn19fSAtIFdoZXRoZXIgdmFsdWUgbG9va3MgbGlrZSBhIGJhY2tlbmQgbW9kZWwgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0JhY2tlbmRNb2RlbEluc3RhbmNlKHZhbHVlKSB7XG4gIGlmICghdmFsdWUgfHwgdHlwZW9mIHZhbHVlICE9PSBcIm9iamVjdFwiKSByZXR1cm4gZmFsc2VcblxuICBjb25zdCBjYW5kaWRhdGUgPSAvKiogQHR5cGUge1JlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gKi8gKHZhbHVlKVxuXG4gIHJldHVybiAoXG4gICAgdHlwZW9mIGNhbmRpZGF0ZS5hdHRyaWJ1dGVzID09PSBcImZ1bmN0aW9uXCJcbiAgICAmJiB0eXBlb2YgY2FuZGlkYXRlLmdldE1vZGVsQ2xhc3MgPT09IFwiZnVuY3Rpb25cIlxuICAgICYmIHR5cGVvZiBjYW5kaWRhdGUuZ2V0UmVsYXRpb25zaGlwQnlOYW1lID09PSBcImZ1bmN0aW9uXCJcbiAgKVxufVxuXG4vKipcbiAqIFJ1bnMgc2VyaWFsaXplIGZyb250ZW5kIG1vZGVsIHRyYW5zcG9ydCB2YWx1ZSBpbnRlcm5hbC5cbiAqIEBwYXJhbSB7UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59IHZhbHVlIC0gVmFsdWUgdG8gc2VyaWFsaXplLlxuICogQHBhcmFtIHtXZWFrU2V0PG9iamVjdD59IHNlZW5Nb2RlbHMgLSBNb2RlbHMgYWxyZWFkeSB2aXNpdGVkIGluIHRoZSBjdXJyZW50IHJlY3Vyc2lvbiBwYXRoLlxuICogQHBhcmFtIHtOb3JtYWxpemVkRnJvbnRlbmRNb2RlbFRyYW5zcG9ydFNlcmlhbGl6YXRpb25PcHRpb25zfSBvcHRpb25zIC0gU2VyaWFsaXphdGlvbiBvcHRpb25zLlxuICogQHJldHVybnMge1JldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+fSAtIFNlcmlhbGl6ZWQgdmFsdWUgd2l0aCB0cmFuc3BvcnQgbWFya2Vycy5cbiAqL1xuZnVuY3Rpb24gc2VyaWFsaXplRnJvbnRlbmRNb2RlbFRyYW5zcG9ydFZhbHVlSW50ZXJuYWwodmFsdWUsIHNlZW5Nb2RlbHMsIG9wdGlvbnMpIHtcbiAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4ge1tUWVBFX0tFWV06IFRZUEVfVU5ERUZJTkVEfVxuICB9XG5cbiAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgIHJldHVybiB7XG4gICAgICBbVFlQRV9LRVldOiBUWVBFX0RBVEUsXG4gICAgICB2YWx1ZTogb3B0aW9ucy50aW1lWm9uZSA/IGZvcm1hdERhdGVJblRpbWVab25lKHZhbHVlLCBvcHRpb25zLnRpbWVab25lKSA6IHZhbHVlLnRvSVNPU3RyaW5nKClcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIHZhbHVlID09PSBcImJpZ2ludFwiKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIFtUWVBFX0tFWV06IFRZUEVfQklHSU5ULFxuICAgICAgdmFsdWU6IHZhbHVlLnRvU3RyaW5nKClcbiAgICB9XG4gIH1cblxuICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiICYmICFOdW1iZXIuaXNGaW5pdGUodmFsdWUpKSB7XG4gICAgY29uc3QgbWFya2VyVmFsdWUgPSBOdW1iZXIuaXNOYU4odmFsdWUpXG4gICAgICA/IE5VTUJFUl9OQU5cbiAgICAgIDogKHZhbHVlID4gMCA/IE5VTUJFUl9QT1NJVElWRV9JTkZJTklUWSA6IE5VTUJFUl9ORUdBVElWRV9JTkZJTklUWSlcblxuICAgIHJldHVybiB7XG4gICAgICBbVFlQRV9LRVldOiBUWVBFX05VTUJFUixcbiAgICAgIHZhbHVlOiBtYXJrZXJWYWx1ZVxuICAgIH1cbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5tYXAoKGVudHJ5KSA9PiBzZXJpYWxpemVGcm9udGVuZE1vZGVsVHJhbnNwb3J0VmFsdWVJbnRlcm5hbChlbnRyeSwgc2Vlbk1vZGVscywgb3B0aW9ucykpXG4gIH1cblxuICBpZiAoaXNCYWNrZW5kTW9kZWxJbnN0YW5jZSh2YWx1ZSkpIHtcbiAgICBjb25zdCBtb2RlbEF0dHJpYnV0ZXMgPSB2YWx1ZS5hdHRyaWJ1dGVzKClcbiAgICBjb25zdCBtb2RlbE5hbWUgPSB2YWx1ZS5nZXRNb2RlbENsYXNzKCkuZ2V0TW9kZWxOYW1lKClcblxuICAgIC8qKlxuICAgICAqIFNlcmlhbGl6ZWQgbW9kZWwuXG4gICAgICogQHR5cGUge1JlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gKi9cbiAgICBjb25zdCBzZXJpYWxpemVkTW9kZWwgPSB7XG4gICAgICBbVFlQRV9LRVldOiBUWVBFX0ZST05URU5EX01PREVMLFxuICAgICAgYXR0cmlidXRlczogLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59ICovIChzZXJpYWxpemVGcm9udGVuZE1vZGVsVHJhbnNwb3J0VmFsdWVJbnRlcm5hbChtb2RlbEF0dHJpYnV0ZXMsIHNlZW5Nb2RlbHMsIG9wdGlvbnMpKSxcbiAgICAgIG1vZGVsTmFtZVxuICAgIH1cblxuICAgIGlmIChzZWVuTW9kZWxzLmhhcyh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBzZXJpYWxpemVkTW9kZWxcbiAgICB9XG5cbiAgICBzZWVuTW9kZWxzLmFkZCh2YWx1ZSlcblxuICAgIC8qKlxuICAgICAqIFByZWxvYWRlZCByZWxhdGlvbnNoaXBzLlxuICAgICAqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59ICovXG4gICAgY29uc3QgcHJlbG9hZGVkUmVsYXRpb25zaGlwcyA9IHt9XG4gICAgY29uc3QgcmVsYXRpb25zaGlwc01hcCA9IHZhbHVlLmdldE1vZGVsQ2xhc3MoKS5nZXRSZWxhdGlvbnNoaXBzTWFwKClcblxuICAgIGZvciAoY29uc3QgcmVsYXRpb25zaGlwTmFtZSBvZiBPYmplY3Qua2V5cyhyZWxhdGlvbnNoaXBzTWFwKSkge1xuICAgICAgY29uc3QgcmVsYXRpb25zaGlwID0gdmFsdWUuZ2V0UmVsYXRpb25zaGlwQnlOYW1lKHJlbGF0aW9uc2hpcE5hbWUpXG5cbiAgICAgIGlmICghcmVsYXRpb25zaGlwLmdldFByZWxvYWRlZCgpKSBjb250aW51ZVxuXG4gICAgICBjb25zdCBsb2FkZWRSZWxhdGlvbnNoaXAgPSByZWxhdGlvbnNoaXAubG9hZGVkKClcblxuICAgICAgYXNzaWduU2FmZVByb3BlcnR5KHByZWxvYWRlZFJlbGF0aW9uc2hpcHMsIHJlbGF0aW9uc2hpcE5hbWUsIHNlcmlhbGl6ZUZyb250ZW5kTW9kZWxUcmFuc3BvcnRWYWx1ZUludGVybmFsKFxuICAgICAgICBsb2FkZWRSZWxhdGlvbnNoaXAgPT0gdW5kZWZpbmVkID8gbnVsbCA6IGxvYWRlZFJlbGF0aW9uc2hpcCxcbiAgICAgICAgc2Vlbk1vZGVscyxcbiAgICAgICAgb3B0aW9uc1xuICAgICAgKSlcbiAgICB9XG5cbiAgICBzZWVuTW9kZWxzLmRlbGV0ZSh2YWx1ZSlcblxuICAgIGlmIChPYmplY3Qua2V5cyhwcmVsb2FkZWRSZWxhdGlvbnNoaXBzKS5sZW5ndGggPiAwKSB7XG4gICAgICBzZXJpYWxpemVkTW9kZWwucHJlbG9hZGVkUmVsYXRpb25zaGlwcyA9IHByZWxvYWRlZFJlbGF0aW9uc2hpcHNcbiAgICB9XG5cbiAgICByZXR1cm4gc2VyaWFsaXplZE1vZGVsXG4gIH1cblxuICBpZiAoaXNQbGFpbk9iamVjdCh2YWx1ZSkpIHtcbiAgICAvKipcbiAgICAgKiBTZXJpYWxpemVkLlxuICAgICAqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59ICovXG4gICAgY29uc3Qgc2VyaWFsaXplZCA9IHt9XG5cbiAgICBmb3IgKGNvbnN0IFtrZXksIG5lc3RlZFZhbHVlXSBvZiBPYmplY3QuZW50cmllcyh2YWx1ZSkpIHtcbiAgICAgIGFzc2lnblNhZmVQcm9wZXJ0eShzZXJpYWxpemVkLCBrZXksIHNlcmlhbGl6ZUZyb250ZW5kTW9kZWxUcmFuc3BvcnRWYWx1ZUludGVybmFsKG5lc3RlZFZhbHVlLCBzZWVuTW9kZWxzLCBvcHRpb25zKSlcbiAgICB9XG5cbiAgICByZXR1cm4gc2VyaWFsaXplZFxuICB9XG5cbiAgcmV0dXJuIHZhbHVlXG59XG5cbi8qKlxuICogTm9ybWFsaXplcyBzZXJpYWxpemVyIG9wdGlvbnMgb25jZSBwZXIgdG9wLWxldmVsIHNlcmlhbGl6YXRpb24uXG4gKiBAcGFyYW0ge0Zyb250ZW5kTW9kZWxUcmFuc3BvcnRTZXJpYWxpemF0aW9uT3B0aW9uc30gb3B0aW9ucyAtIFNlcmlhbGl6YXRpb24gb3B0aW9ucy5cbiAqIEByZXR1cm5zIHtOb3JtYWxpemVkRnJvbnRlbmRNb2RlbFRyYW5zcG9ydFNlcmlhbGl6YXRpb25PcHRpb25zfSAtIE5vcm1hbGl6ZWQgb3B0aW9ucy5cbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplRnJvbnRlbmRNb2RlbFRyYW5zcG9ydFNlcmlhbGl6YXRpb25PcHRpb25zKG9wdGlvbnMpIHtcbiAgcmV0dXJuIHtcbiAgICB0aW1lWm9uZTogb3B0aW9ucy50aW1lWm9uZSA9PT0gdW5kZWZpbmVkXG4gICAgICA/IHVuZGVmaW5lZFxuICAgICAgOiB2YWxpZGF0ZVRpbWVab25lKG9wdGlvbnMudGltZVpvbmUsIFwidHJhbnNwb3J0IHNlcmlhbGl6YXRpb24gdGltZVpvbmVcIilcbiAgfVxufVxuXG4vKipcbiAqIFJ1bnMgZGVzZXJpYWxpemUgZnJvbnRlbmQgbW9kZWwgbWFya2VyLlxuICogQHBhcmFtIHt7YXR0cmlidXRlczogUmVjb3JkPHN0cmluZywgUmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+LCBtb2RlbE5hbWU6IHN0cmluZywgcHJlbG9hZGVkUmVsYXRpb25zaGlwcz86IFJlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn19IG1hcmtlciAtIEVuY29kZWQgZnJvbnRlbmQtbW9kZWwgbWFya2VyLlxuICogQHJldHVybnMge1JldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+fSAtIEh5ZHJhdGVkIGZyb250ZW5kIG1vZGVsIG9yIHBsYWluIG9iamVjdCBmYWxsYmFjay5cbiAqL1xuZnVuY3Rpb24gZGVzZXJpYWxpemVGcm9udGVuZE1vZGVsTWFya2VyKG1hcmtlcikge1xuICBjb25zdCBhdHRyaWJ1dGVzID0gLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59ICovIChkZXNlcmlhbGl6ZUZyb250ZW5kTW9kZWxUcmFuc3BvcnRWYWx1ZShtYXJrZXIuYXR0cmlidXRlcykpXG4gIGNvbnN0IHByZWxvYWRlZFJlbGF0aW9uc2hpcHMgPSBpc1BsYWluT2JqZWN0KG1hcmtlci5wcmVsb2FkZWRSZWxhdGlvbnNoaXBzKVxuICAgID8gLyoqIEB0eXBlIHtSZWNvcmQ8c3RyaW5nLCBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59ICovIChkZXNlcmlhbGl6ZUZyb250ZW5kTW9kZWxUcmFuc3BvcnRWYWx1ZShtYXJrZXIucHJlbG9hZGVkUmVsYXRpb25zaGlwcykpXG4gICAgOiB7fVxuICBjb25zdCBtb2RlbENsYXNzID0gcmVzb2x2ZUZyb250ZW5kTW9kZWxDbGFzcyhtYXJrZXIubW9kZWxOYW1lKVxuXG4gIGlmICghbW9kZWxDbGFzcyB8fCB0eXBlb2YgbW9kZWxDbGFzcy5pbnN0YW50aWF0ZUZyb21SZXNwb25zZSAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgaWYgKE9iamVjdC5rZXlzKHByZWxvYWRlZFJlbGF0aW9uc2hpcHMpLmxlbmd0aCA8IDEpIHtcbiAgICAgIHJldHVybiBhdHRyaWJ1dGVzXG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmF0dHJpYnV0ZXMsXG4gICAgICBbUFJFTE9BREVEX1JFTEFUSU9OU0hJUFNfS0VZXTogcHJlbG9hZGVkUmVsYXRpb25zaGlwc1xuICAgIH1cbiAgfVxuXG4gIC8vIFJvdXRlIGh5ZHJhdGlvbiB0aHJvdWdoIGBpbnN0YW50aWF0ZUZyb21SZXNwb25zZWAgc29cbiAgLy8gYF9fYWJpbGl0aWVzYCAvIGBfX3F1ZXJ5RGF0YWAgLyBgX19hc3NvY2lhdGlvbkNvdW50c2AgL1xuICAvLyBgX19wcmVsb2FkZWRSZWxhdGlvbnNoaXBzYCBiYWtlZCBpbnRvIHRoZSBtYXJrZXIncyBhdHRyaWJ1dGVzIGJsb2IgKGUuZy5cbiAgLy8gYnkgYHJlc291cmNlLnNlcmlhbGl6ZWAgaW4gY3VzdG9tLWNvbW1hbmQgYXV0by1zZXJpYWxpemF0aW9uKSBnZXRcbiAgLy8gZXh0cmFjdGVkIGFuZCBhcHBsaWVkLiBMZWdhY3kgbWFya2VycyB0aGF0IHVzZWQgYSBzZXBhcmF0ZSB0b3AtbGV2ZWxcbiAgLy8gYHByZWxvYWRlZFJlbGF0aW9uc2hpcHNgIGZpZWxkIG1lcmdlIHRoZW0gdW5kZXIgdGhlIHN0YW5kYXJkIGtleSBmaXJzdFxuICAvLyBzbyBgbW9kZWxEYXRhRnJvbVJlc3BvbnNlYCBwaWNrcyB0aGVtIHVwLlxuICBjb25zdCByZXNwb25zZUF0dHJpYnV0ZXMgPSBPYmplY3Qua2V5cyhwcmVsb2FkZWRSZWxhdGlvbnNoaXBzKS5sZW5ndGggPiAwXG4gICAgPyB7XG4gICAgICAuLi5hdHRyaWJ1dGVzLFxuICAgICAgW1BSRUxPQURFRF9SRUxBVElPTlNISVBTX0tFWV06IHByZWxvYWRlZFJlbGF0aW9uc2hpcHNcbiAgICB9XG4gICAgOiBhdHRyaWJ1dGVzXG5cbiAgcmV0dXJuIG1vZGVsQ2xhc3MuaW5zdGFudGlhdGVGcm9tUmVzcG9uc2UocmVzcG9uc2VBdHRyaWJ1dGVzKVxufVxuXG4vKipcbiAqIFJ1bnMgdGhlIHNlcmlhbGl6ZUZyb250ZW5kTW9kZWxUcmFuc3BvcnRWYWx1ZSBoZWxwZXIuXG4gKiBAcGFyYW0ge1JldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+fSB2YWx1ZSAtIFZhbHVlIHRvIHNlcmlhbGl6ZS5cbiAqIEBwYXJhbSB7RnJvbnRlbmRNb2RlbFRyYW5zcG9ydFNlcmlhbGl6YXRpb25PcHRpb25zfSBbb3B0aW9uc10gLSBTZXJpYWxpemF0aW9uIG9wdGlvbnMuXG4gKiBAcmV0dXJucyB7UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59IC0gU2VyaWFsaXplZCB2YWx1ZSB3aXRoIHRyYW5zcG9ydCBtYXJrZXJzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2VyaWFsaXplRnJvbnRlbmRNb2RlbFRyYW5zcG9ydFZhbHVlKHZhbHVlLCBvcHRpb25zID0ge30pIHtcbiAgcmV0dXJuIHNlcmlhbGl6ZUZyb250ZW5kTW9kZWxUcmFuc3BvcnRWYWx1ZUludGVybmFsKFxuICAgIHZhbHVlLFxuICAgIG5ldyBXZWFrU2V0KCksXG4gICAgbm9ybWFsaXplRnJvbnRlbmRNb2RlbFRyYW5zcG9ydFNlcmlhbGl6YXRpb25PcHRpb25zKG9wdGlvbnMpXG4gIClcbn1cblxuLyoqXG4gKiBSdW5zIHRoZSBkZXNlcmlhbGl6ZUZyb250ZW5kTW9kZWxUcmFuc3BvcnRWYWx1ZSBoZWxwZXIuXG4gKiBAcGFyYW0ge1JldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+fSB2YWx1ZSAtIFZhbHVlIHRvIGRlc2VyaWFsaXplLlxuICogQHJldHVybnMge1JldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+fSAtIERlc2VyaWFsaXplZCB2YWx1ZSB3aXRoIHRyYW5zcG9ydCBtYXJrZXJzIHJlc3RvcmVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVzZXJpYWxpemVGcm9udGVuZE1vZGVsVHJhbnNwb3J0VmFsdWUodmFsdWUpIHtcbiAgaWYgKGlzVW5kZWZpbmVkTWFya2VyKHZhbHVlKSkge1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIGlmIChpc0RhdGVNYXJrZXIodmFsdWUpKSB7XG4gICAgY29uc3QgZGF0ZVZhbHVlID0gLyoqIEB0eXBlIHt7dmFsdWU6IHN0cmluZ319ICovICh2YWx1ZSkudmFsdWVcblxuICAgIHJldHVybiBuZXcgRGF0ZShkYXRlVmFsdWUpXG4gIH1cblxuICBpZiAoaXNCaWdJbnRNYXJrZXIodmFsdWUpKSB7XG4gICAgY29uc3QgYmlnaW50VmFsdWUgPSAvKiogQHR5cGUge3t2YWx1ZTogc3RyaW5nfX0gKi8gKHZhbHVlKS52YWx1ZVxuXG4gICAgcmV0dXJuIEJpZ0ludChiaWdpbnRWYWx1ZSlcbiAgfVxuXG4gIGlmIChpc05vbkZpbml0ZU51bWJlck1hcmtlcih2YWx1ZSkpIHtcbiAgICBjb25zdCBudW1iZXJWYWx1ZSA9IC8qKiBAdHlwZSB7e3ZhbHVlOiBzdHJpbmd9fSAqLyAodmFsdWUpLnZhbHVlXG5cbiAgICBpZiAobnVtYmVyVmFsdWUgPT09IE5VTUJFUl9OQU4pIHJldHVybiBOdW1iZXIuTmFOXG4gICAgaWYgKG51bWJlclZhbHVlID09PSBOVU1CRVJfUE9TSVRJVkVfSU5GSU5JVFkpIHJldHVybiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFlcblxuICAgIHJldHVybiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFlcbiAgfVxuXG4gIGlmIChpc0Zyb250ZW5kTW9kZWxNYXJrZXIodmFsdWUpKSB7XG4gICAgcmV0dXJuIGRlc2VyaWFsaXplRnJvbnRlbmRNb2RlbE1hcmtlcih2YWx1ZSlcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZS5tYXAoKGVudHJ5KSA9PiBkZXNlcmlhbGl6ZUZyb250ZW5kTW9kZWxUcmFuc3BvcnRWYWx1ZShlbnRyeSkpXG4gIH1cblxuICBpZiAoaXNQbGFpbk9iamVjdCh2YWx1ZSkpIHtcbiAgICAvKipcbiAgICAgKiBEZXNlcmlhbGl6ZWQuXG4gICAgICogQHR5cGUge1JlY29yZDxzdHJpbmcsIFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gKi9cbiAgICBjb25zdCBkZXNlcmlhbGl6ZWQgPSB7fVxuXG4gICAgZm9yIChjb25zdCBba2V5LCBuZXN0ZWRWYWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModmFsdWUpKSB7XG4gICAgICBhc3NpZ25TYWZlUHJvcGVydHkoZGVzZXJpYWxpemVkLCBrZXksIGRlc2VyaWFsaXplRnJvbnRlbmRNb2RlbFRyYW5zcG9ydFZhbHVlKG5lc3RlZFZhbHVlKSlcbiAgICB9XG5cbiAgICByZXR1cm4gZGVzZXJpYWxpemVkXG4gIH1cblxuICByZXR1cm4gdmFsdWVcbn1cbiJdfQ==
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
export type FrontendModelClass = import("./base.js").FrontendModelClass;
|
|
2
|
+
export type FrontendModelCreateEventPayload = import("./use-model-class-event.js").FrontendModelCreateUpdateEventPayload;
|
|
3
|
+
export type UseCreatedEventOptions = import("./use-model-class-event.js").UseModelClassEventOptions;
|
|
4
|
+
export type FrontendModelCreateEventCallback = (payload: FrontendModelCreateEventPayload) => void;
|
|
1
5
|
/** @typedef {import("./base.js").FrontendModelClass} FrontendModelClass */
|
|
2
6
|
/** @typedef {import("./use-model-class-event.js").FrontendModelCreateUpdateEventPayload} FrontendModelCreateEventPayload */
|
|
3
7
|
/** @typedef {import("./use-model-class-event.js").UseModelClassEventOptions} UseCreatedEventOptions */
|
|
@@ -10,8 +14,4 @@
|
|
|
10
14
|
* @returns {void}
|
|
11
15
|
*/
|
|
12
16
|
export default function useCreatedEvent(modelClass: FrontendModelClass | null | undefined, callback: FrontendModelCreateEventCallback, options?: UseCreatedEventOptions): void;
|
|
13
|
-
export type FrontendModelClass = import("./base.js").FrontendModelClass;
|
|
14
|
-
export type FrontendModelCreateEventPayload = import("./use-model-class-event.js").FrontendModelCreateUpdateEventPayload;
|
|
15
|
-
export type UseCreatedEventOptions = import("./use-model-class-event.js").UseModelClassEventOptions;
|
|
16
|
-
export type FrontendModelCreateEventCallback = (payload: FrontendModelCreateEventPayload) => void;
|
|
17
17
|
//# sourceMappingURL=use-created-event.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-created-event.d.ts","sourceRoot":"","sources":["../../../src/frontend-models/use-created-event.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-created-event.d.ts","sourceRoot":"","sources":["../../../src/frontend-models/use-created-event.js"],"names":[],"mappings":"AAII,YAAkD,kBAAkB,GAA1D,OAAO,WAAW,EAAE,kBAAkB,CAAoB;AACpE,YAAsF,+BAA+B,GAA3G,OAAO,4BAA4B,EAAE,qCAAqC,CAAiC;AACrH,YAA0E,sBAAsB,GAAtF,OAAO,4BAA4B,EAAE,yBAAyB,CAAwB;AAChG,YAA8D,gCAAgC,GAApF,CAAC,OAAO,EAAE,+BAA+B,KAAK,IAAI,CAAkC;AAHlG,2EAA2E;AAC3E,4HAA4H;AAC5H,uGAAuG;AACvG,qGAAqG;AAErG;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,UAAU,EALvC,kBAAkB,GAAG,IAAI,GAAG,SAKW,EAAE,QAAQ,EAJjD,gCAIiD,EAAE,OAAO,AAHlE,CACA,EADQ,sBAG+D,GAF7D,IAAI,CAMhB"}
|
|
@@ -1,40 +1,19 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* React hook for frontend-model destroy events. Pass a model class for class-level
|
|
3
|
-
* destroy events, or a model / model array for instance-level destroy events.
|
|
4
|
-
* @param {FrontendModelClass | FrontendModelInstance | FrontendModelInstance[] | null | undefined} modelClassOrModels - Model class, model, or models.
|
|
5
|
-
* @param {FrontendModelDestroyEventCallback} callback - Event callback.
|
|
6
|
-
* @param {UseDestroyedEventOptions} [options] - Hook options.
|
|
7
|
-
* @returns {void}
|
|
8
|
-
*/
|
|
9
|
-
export default function useDestroyedEvent(modelClassOrModels: FrontendModelClass | FrontendModelInstance | FrontendModelInstance[] | null | undefined, callback: FrontendModelDestroyEventCallback, options?: UseDestroyedEventOptions): void;
|
|
10
|
-
/**
|
|
11
|
-
* FrontendModelClass type.
|
|
12
|
-
*/
|
|
13
1
|
export type FrontendModelClass = import("./base.js").FrontendModelClass;
|
|
14
|
-
/**
|
|
15
|
-
* FrontendModelInstance type.
|
|
16
|
-
*/
|
|
17
2
|
export type FrontendModelInstance = import("./base.js").default;
|
|
18
|
-
/**
|
|
19
|
-
* FrontendModelClassDestroyEventPayload type.
|
|
20
|
-
*/
|
|
21
3
|
export type FrontendModelClassDestroyEventPayload = import("./use-model-class-event.js").FrontendModelDestroyEventPayload;
|
|
22
|
-
/**
|
|
23
|
-
* Defines this typedef.
|
|
24
|
-
*/
|
|
25
4
|
export type FrontendModelInstanceDestroyEventPayload = {
|
|
26
5
|
id: string;
|
|
27
6
|
};
|
|
28
|
-
/**
|
|
29
|
-
* FrontendModelDestroyEventPayload type.
|
|
30
|
-
*/
|
|
31
7
|
export type FrontendModelDestroyEventPayload = FrontendModelClassDestroyEventPayload | FrontendModelInstanceDestroyEventPayload;
|
|
32
|
-
/**
|
|
33
|
-
* UseDestroyedEventOptions type.
|
|
34
|
-
*/
|
|
35
8
|
export type UseDestroyedEventOptions = import("./use-model-class-event.js").UseModelClassEventOptions;
|
|
9
|
+
export type FrontendModelDestroyEventCallback = (payload: FrontendModelDestroyEventPayload) => void;
|
|
36
10
|
/**
|
|
37
|
-
*
|
|
11
|
+
* React hook for frontend-model destroy events. Pass a model class for class-level
|
|
12
|
+
* destroy events, or a model / model array for instance-level destroy events.
|
|
13
|
+
* @param {FrontendModelClass | FrontendModelInstance | FrontendModelInstance[] | null | undefined} modelClassOrModels - Model class, model, or models.
|
|
14
|
+
* @param {FrontendModelDestroyEventCallback} callback - Event callback.
|
|
15
|
+
* @param {UseDestroyedEventOptions} [options] - Hook options.
|
|
16
|
+
* @returns {void}
|
|
38
17
|
*/
|
|
39
|
-
export
|
|
18
|
+
export default function useDestroyedEvent(modelClassOrModels: FrontendModelClass | FrontendModelInstance | FrontendModelInstance[] | null | undefined, callback: FrontendModelDestroyEventCallback, options?: UseDestroyedEventOptions): void;
|
|
40
19
|
//# sourceMappingURL=use-destroyed-event.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-destroyed-event.d.ts","sourceRoot":"","sources":["../../../src/frontend-models/use-destroyed-event.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-destroyed-event.d.ts","sourceRoot":"","sources":["../../../src/frontend-models/use-destroyed-event.js"],"names":[],"mappings":"AAWG,YAAkD,kBAAkB,GAA1D,OAAO,WAAW,EAAE,kBAAkB,CAAoB;AAGpE,YAAuC,qBAAqB,GAAlD,OAAO,WAAW,EAAE,OAAO,CAAuB;AAG5D,YAAiF,qCAAqC,GAA5G,OAAO,4BAA4B,EAAE,gCAAgC,CAAuC;AAGtH,YAAwB,wCAAwC,GAAtD;IAAC,EAAE,EAAE,MAAM,CAAA;CAAC,CAA0C;AAGhE,YAA4F,gCAAgC,GAAlH,qCAAqC,GAAG,wCAAwC,CAAkC;AAG5H,YAA0E,wBAAwB,GAAxF,OAAO,4BAA4B,EAAE,yBAAyB,CAA0B;AAGlG,YAA+D,iCAAiC,GAAtF,CAAC,OAAO,EAAE,gCAAgC,KAAK,IAAI,CAAmC;AA0BnG;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,kBAAkB,EALjD,kBAAkB,GAAG,qBAAqB,GAAG,qBAAqB,EAAE,GAAG,IAAI,GAAG,SAK7B,EAAE,QAAQ,EAJ3D,iCAI2D,EAAE,OAAO,AAH5E,CACA,EADQ,wBAGyE,GAFvE,IAAI,CAYhB"}
|
|
@@ -1,51 +1,27 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* React hook for frontend-model class lifecycle events.
|
|
3
|
-
* @param {FrontendModelClass | null | undefined} modelClass - Frontend model class.
|
|
4
|
-
* @param {FrontendModelClassEventName | FrontendModelClassEventName[]} eventOrEvents - Event name or names.
|
|
5
|
-
* @param {FrontendModelClassEventCallback} callback - Event callback.
|
|
6
|
-
* @param {UseModelClassEventOptions} [options] - Hook options.
|
|
7
|
-
* @returns {void}
|
|
8
|
-
*/
|
|
9
|
-
export default function useModelClassEvent(modelClass: FrontendModelClass | null | undefined, eventOrEvents: FrontendModelClassEventName | FrontendModelClassEventName[], callback: FrontendModelClassEventCallback, options?: UseModelClassEventOptions): void;
|
|
10
|
-
/**
|
|
11
|
-
* FrontendModelClass type.
|
|
12
|
-
*/
|
|
13
1
|
export type FrontendModelClass = import("./base.js").FrontendModelClass;
|
|
14
|
-
/**
|
|
15
|
-
* FrontendModelInstance type.
|
|
16
|
-
*/
|
|
17
2
|
export type FrontendModelInstance = InstanceType<FrontendModelClass>;
|
|
18
|
-
/**
|
|
19
|
-
* FrontendModelClassEventName type.
|
|
20
|
-
*/
|
|
21
3
|
export type FrontendModelClassEventName = "create" | "update" | "destroy";
|
|
22
|
-
/**
|
|
23
|
-
* Defines this typedef.
|
|
24
|
-
*/
|
|
25
4
|
export type FrontendModelCreateUpdateEventPayload = {
|
|
26
5
|
id: string;
|
|
27
6
|
model: FrontendModelInstance;
|
|
28
7
|
};
|
|
29
|
-
/**
|
|
30
|
-
* Defines this typedef.
|
|
31
|
-
*/
|
|
32
8
|
export type FrontendModelDestroyEventPayload = {
|
|
33
9
|
id: string;
|
|
34
10
|
};
|
|
35
|
-
/**
|
|
36
|
-
* FrontendModelClassEventPayload type.
|
|
37
|
-
*/
|
|
38
11
|
export type FrontendModelClassEventPayload = FrontendModelCreateUpdateEventPayload | FrontendModelDestroyEventPayload;
|
|
39
|
-
/**
|
|
40
|
-
* FrontendModelClassEventCallback type.
|
|
41
|
-
*/
|
|
42
12
|
export type FrontendModelClassEventCallback = (payload: FrontendModelClassEventPayload) => void;
|
|
43
|
-
/**
|
|
44
|
-
* Defines this typedef.
|
|
45
|
-
*/
|
|
46
13
|
export type UseModelClassEventOptions = {
|
|
47
14
|
active?: boolean;
|
|
48
15
|
debounce?: boolean | number;
|
|
49
16
|
onConnected?: () => void;
|
|
50
17
|
} & import("./query.js").FrontendModelEventOptionsObject;
|
|
18
|
+
/**
|
|
19
|
+
* React hook for frontend-model class lifecycle events.
|
|
20
|
+
* @param {FrontendModelClass | null | undefined} modelClass - Frontend model class.
|
|
21
|
+
* @param {FrontendModelClassEventName | FrontendModelClassEventName[]} eventOrEvents - Event name or names.
|
|
22
|
+
* @param {FrontendModelClassEventCallback} callback - Event callback.
|
|
23
|
+
* @param {UseModelClassEventOptions} [options] - Hook options.
|
|
24
|
+
* @returns {void}
|
|
25
|
+
*/
|
|
26
|
+
export default function useModelClassEvent(modelClass: FrontendModelClass | null | undefined, eventOrEvents: FrontendModelClassEventName | FrontendModelClassEventName[], callback: FrontendModelClassEventCallback, options?: UseModelClassEventOptions): void;
|
|
51
27
|
//# sourceMappingURL=use-model-class-event.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-model-class-event.d.ts","sourceRoot":"","sources":["../../../src/frontend-models/use-model-class-event.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-model-class-event.d.ts","sourceRoot":"","sources":["../../../src/frontend-models/use-model-class-event.js"],"names":[],"mappings":"AASG,YAAkD,kBAAkB,GAA1D,OAAO,WAAW,EAAE,kBAAkB,CAAoB;AAGpE,YAA4C,qBAAqB,GAAvD,YAAY,CAAC,kBAAkB,CAAC,CAAuB;AAGjE,YAA2C,2BAA2B,GAA5D,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAA6B;AAGtE,YAAsD,qCAAqC,GAAjF;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,qBAAqB,CAAA;CAAC,CAAuC;AAG3F,YAAwB,gCAAgC,GAA9C;IAAC,EAAE,EAAE,MAAM,CAAA;CAAC,CAAkC;AAGxD,YAAoF,8BAA8B,GAAxG,qCAAqC,GAAG,gCAAgC,CAAgC;AAGlH,YAA6D,+BAA+B,GAAlF,CAAC,OAAO,EAAE,8BAA8B,KAAK,IAAI,CAAiC;AAG5F,YAA4I,yBAAyB,GAA3J;IAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAA;CAAC,GAAG,OAAO,YAAY,EAAE,+BAA+B,CAA2B;AA4DxK;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,UAAU,EAN1C,kBAAkB,GAAG,IAAI,GAAG,SAMc,EAAE,aAAa,EALzD,2BAA2B,GAAG,2BAA2B,EAKA,EAAE,QAAQ,EAJnE,+BAImE,EAAE,OAAO,AAHpF,CACA,EADQ,yBAGiF,GAF/E,IAAI,CA+DhB"}
|
|
@@ -1,41 +1,20 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* React hook for frontend-model update events. Pass a model class for class-level
|
|
3
|
-
* update events, or a model / model array for instance-level update events.
|
|
4
|
-
* @param {FrontendModelClass | FrontendModelInstance | FrontendModelInstance[] | null | undefined} modelClassOrModels - Model class, model, or models.
|
|
5
|
-
* @param {FrontendModelUpdateEventCallback} callback - Event callback.
|
|
6
|
-
* @param {UseUpdatedEventOptions} [options] - Hook options.
|
|
7
|
-
* @returns {void}
|
|
8
|
-
*/
|
|
9
|
-
export default function useUpdatedEvent(modelClassOrModels: FrontendModelClass | FrontendModelInstance | FrontendModelInstance[] | null | undefined, callback: FrontendModelUpdateEventCallback, options?: UseUpdatedEventOptions): void;
|
|
10
|
-
/**
|
|
11
|
-
* FrontendModelClass type.
|
|
12
|
-
*/
|
|
13
1
|
export type FrontendModelClass = import("./base.js").FrontendModelClass;
|
|
14
|
-
/**
|
|
15
|
-
* FrontendModelInstance type.
|
|
16
|
-
*/
|
|
17
2
|
export type FrontendModelInstance = import("./base.js").default;
|
|
18
|
-
/**
|
|
19
|
-
* FrontendModelClassUpdateEventPayload type.
|
|
20
|
-
*/
|
|
21
3
|
export type FrontendModelClassUpdateEventPayload = import("./use-model-class-event.js").FrontendModelCreateUpdateEventPayload;
|
|
22
|
-
/**
|
|
23
|
-
* Defines this typedef.
|
|
24
|
-
*/
|
|
25
4
|
export type FrontendModelInstanceUpdateEventPayload = {
|
|
26
5
|
id: string;
|
|
27
6
|
model: FrontendModelInstance;
|
|
28
7
|
};
|
|
29
|
-
/**
|
|
30
|
-
* FrontendModelUpdateEventPayload type.
|
|
31
|
-
*/
|
|
32
8
|
export type FrontendModelUpdateEventPayload = FrontendModelClassUpdateEventPayload | FrontendModelInstanceUpdateEventPayload;
|
|
33
|
-
/**
|
|
34
|
-
* UseUpdatedEventOptions type.
|
|
35
|
-
*/
|
|
36
9
|
export type UseUpdatedEventOptions = import("./use-model-class-event.js").UseModelClassEventOptions;
|
|
10
|
+
export type FrontendModelUpdateEventCallback = (payload: FrontendModelUpdateEventPayload) => void;
|
|
37
11
|
/**
|
|
38
|
-
*
|
|
12
|
+
* React hook for frontend-model update events. Pass a model class for class-level
|
|
13
|
+
* update events, or a model / model array for instance-level update events.
|
|
14
|
+
* @param {FrontendModelClass | FrontendModelInstance | FrontendModelInstance[] | null | undefined} modelClassOrModels - Model class, model, or models.
|
|
15
|
+
* @param {FrontendModelUpdateEventCallback} callback - Event callback.
|
|
16
|
+
* @param {UseUpdatedEventOptions} [options] - Hook options.
|
|
17
|
+
* @returns {void}
|
|
39
18
|
*/
|
|
40
|
-
export
|
|
19
|
+
export default function useUpdatedEvent(modelClassOrModels: FrontendModelClass | FrontendModelInstance | FrontendModelInstance[] | null | undefined, callback: FrontendModelUpdateEventCallback, options?: UseUpdatedEventOptions): void;
|
|
41
20
|
//# sourceMappingURL=use-updated-event.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-updated-event.d.ts","sourceRoot":"","sources":["../../../src/frontend-models/use-updated-event.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-updated-event.d.ts","sourceRoot":"","sources":["../../../src/frontend-models/use-updated-event.js"],"names":[],"mappings":"AAWG,YAAkD,kBAAkB,GAA1D,OAAO,WAAW,EAAE,kBAAkB,CAAoB;AAGpE,YAAuC,qBAAqB,GAAlD,OAAO,WAAW,EAAE,OAAO,CAAuB;AAG5D,YAAsF,oCAAoC,GAAhH,OAAO,4BAA4B,EAAE,qCAAqC,CAAsC;AAG1H,YAAsD,uCAAuC,GAAnF;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,qBAAqB,CAAA;CAAC,CAAyC;AAG7F,YAA0F,+BAA+B,GAA/G,oCAAoC,GAAG,uCAAuC,CAAiC;AAGzH,YAA0E,sBAAsB,GAAtF,OAAO,4BAA4B,EAAE,yBAAyB,CAAwB;AAGhG,YAA8D,gCAAgC,GAApF,CAAC,OAAO,EAAE,+BAA+B,KAAK,IAAI,CAAkC;AA0BjG;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,kBAAkB,EAL/C,kBAAkB,GAAG,qBAAqB,GAAG,qBAAqB,EAAE,GAAG,IAAI,GAAG,SAK/B,EAAE,QAAQ,EAJzD,gCAIyD,EAAE,OAAO,AAH1E,CACA,EADQ,sBAGuE,GAFrE,IAAI,CAchB"}
|
|
@@ -1,3 +1,24 @@
|
|
|
1
|
+
import VelociousWebsocketChannel from "../http-server/websocket-channel.js";
|
|
2
|
+
export type FrontendModelLifecycleBroadcastBody = {
|
|
3
|
+
action?: string;
|
|
4
|
+
id?: string | number;
|
|
5
|
+
matchedEventFilterKeys?: string[];
|
|
6
|
+
record?: import("./query.js").FrontendModelTransportValue;
|
|
7
|
+
[key: string]: import("./query.js").FrontendModelTransportValue | string[] | undefined;
|
|
8
|
+
};
|
|
9
|
+
export type FrontendModelWebsocketUpgradeRequest = {
|
|
10
|
+
headers?: () => Record<string, string | string[] | undefined>;
|
|
11
|
+
remoteAddress?: () => string | undefined;
|
|
12
|
+
};
|
|
13
|
+
export type FrontendModelWebsocketSyntheticRequest = {
|
|
14
|
+
headers: () => Record<string, string | string[] | undefined>;
|
|
15
|
+
header: (name: string) => string | string[] | undefined;
|
|
16
|
+
metadata: (key?: string) => Record<string, import("./query.js").FrontendModelTransportValue> | import("./query.js").FrontendModelTransportValue | undefined;
|
|
17
|
+
path: () => string;
|
|
18
|
+
httpMethod: () => string;
|
|
19
|
+
remoteAddress: () => string | undefined;
|
|
20
|
+
origin: () => string | string[] | undefined;
|
|
21
|
+
};
|
|
1
22
|
/**
|
|
2
23
|
* Per-session channel subscription for frontend-model lifecycle events.
|
|
3
24
|
* Replaces the legacy `FrontendModelWebsocketChannel` (Phase 3).
|
|
@@ -51,6 +72,11 @@ export default class FrontendModelWebsocketChannel extends VelociousWebsocketCha
|
|
|
51
72
|
* @returns {boolean} Whether the broadcast matches this subscriber's model.
|
|
52
73
|
*/
|
|
53
74
|
matches(broadcastParams: Record<string, import("./query.js").FrontendModelTransportValue>): boolean;
|
|
75
|
+
/**
|
|
76
|
+
* Runs debug snapshot.
|
|
77
|
+
* @returns {Record<string, ReturnType<typeof JSON.parse>>} Debug-safe subscription details.
|
|
78
|
+
*/
|
|
79
|
+
debugSnapshot(): Record<string, ReturnType<typeof JSON.parse>>;
|
|
54
80
|
/**
|
|
55
81
|
* Runs model name.
|
|
56
82
|
* @returns {string | null} - Requested frontend-model name or null.
|
|
@@ -89,16 +115,16 @@ export default class FrontendModelWebsocketChannel extends VelociousWebsocketCha
|
|
|
89
115
|
/**
|
|
90
116
|
* Runs frontend model controller.
|
|
91
117
|
* @param {typeof import("../frontend-model-controller.js").default} FrontendModelController - Server-side frontend-model controller class.
|
|
92
|
-
* @param {Record<string,
|
|
118
|
+
* @param {Record<string, ReturnType<typeof JSON.parse>>} [params] - Optional params override.
|
|
93
119
|
* @returns {import("../frontend-model-controller.js").default} - Synthetic controller used for resource serialization.
|
|
94
120
|
*/
|
|
95
|
-
_frontendModelController(FrontendModelController: typeof import("../frontend-model-controller.js").default, params?: Record<string,
|
|
121
|
+
_frontendModelController(FrontendModelController: typeof import("../frontend-model-controller.js").default, params?: Record<string, ReturnType<typeof JSON.parse>>): import("../frontend-model-controller.js").default;
|
|
96
122
|
/**
|
|
97
123
|
* Resolves tenant for event.
|
|
98
124
|
* @param {string | number} id - Event record id.
|
|
99
|
-
* @returns {Promise
|
|
125
|
+
* @returns {Promise<ReturnType<typeof JSON.parse>>} - Resolved tenant.
|
|
100
126
|
*/
|
|
101
|
-
_resolveEventTenant(id: string | number): Promise<
|
|
127
|
+
_resolveEventTenant(id: string | number): Promise<ReturnType<typeof JSON.parse>>;
|
|
102
128
|
/**
|
|
103
129
|
* Resolves the subscriber's tenant for the broadcast record and runs `callback` inside that tenant
|
|
104
130
|
* context. Broadcast delivery runs in whatever ambient tenant context the publisher left behind. For
|
|
@@ -163,34 +189,4 @@ export default class FrontendModelWebsocketChannel extends VelociousWebsocketCha
|
|
|
163
189
|
*/
|
|
164
190
|
_syntheticRequest(): FrontendModelWebsocketSyntheticRequest;
|
|
165
191
|
}
|
|
166
|
-
/**
|
|
167
|
-
* Defines this typedef.
|
|
168
|
-
*/
|
|
169
|
-
export type FrontendModelLifecycleBroadcastBody = {
|
|
170
|
-
action?: string;
|
|
171
|
-
id?: string | number;
|
|
172
|
-
matchedEventFilterKeys?: string[];
|
|
173
|
-
record?: import("./query.js").FrontendModelTransportValue;
|
|
174
|
-
[key: string]: import("./query.js").FrontendModelTransportValue | string[] | undefined;
|
|
175
|
-
};
|
|
176
|
-
/**
|
|
177
|
-
* Defines this typedef.
|
|
178
|
-
*/
|
|
179
|
-
export type FrontendModelWebsocketUpgradeRequest = {
|
|
180
|
-
headers?: () => Record<string, string | string[] | undefined>;
|
|
181
|
-
remoteAddress?: () => string | undefined;
|
|
182
|
-
};
|
|
183
|
-
/**
|
|
184
|
-
* Defines this typedef.
|
|
185
|
-
*/
|
|
186
|
-
export type FrontendModelWebsocketSyntheticRequest = {
|
|
187
|
-
headers: () => Record<string, string | string[] | undefined>;
|
|
188
|
-
header: (name: string) => string | string[] | undefined;
|
|
189
|
-
metadata: (key?: string) => Record<string, import("./query.js").FrontendModelTransportValue> | import("./query.js").FrontendModelTransportValue | undefined;
|
|
190
|
-
path: () => string;
|
|
191
|
-
httpMethod: () => string;
|
|
192
|
-
remoteAddress: () => string | undefined;
|
|
193
|
-
origin: () => string | string[] | undefined;
|
|
194
|
-
};
|
|
195
|
-
import VelociousWebsocketChannel from "../http-server/websocket-channel.js";
|
|
196
192
|
//# sourceMappingURL=websocket-channel.d.ts.map
|