velocious 1.0.577 → 1.0.579
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -6
- package/build/application.js +3 -3
- package/build/authorization/ability.js +6 -6
- package/build/authorization/base-resource.js +1 -1
- package/build/background-jobs/client.js +2 -2
- package/build/background-jobs/forked-runner-child.js +4 -4
- package/build/background-jobs/job-runner.js +2 -2
- package/build/background-jobs/job.js +6 -6
- package/build/background-jobs/json-socket.js +1 -1
- package/build/background-jobs/main.js +13 -13
- package/build/background-jobs/normalize-error.js +2 -2
- package/build/background-jobs/pooled-runner-child.js +3 -3
- package/build/background-jobs/scheduler.js +1 -1
- package/build/background-jobs/status-reporter.js +2 -2
- package/build/background-jobs/store.js +23 -23
- package/build/background-jobs/types.js +6 -6
- package/build/background-jobs/web/controller.js +6 -6
- package/build/background-jobs/web/counts-channel.js +1 -1
- package/build/background-jobs/worker.js +8 -8
- package/build/beacon/client.js +3 -3
- package/build/beacon/in-process-client.js +3 -3
- package/build/beacon/types.js +1 -1
- package/build/cli/base-command.js +1 -1
- package/build/cli/commands/console.js +1 -1
- package/build/cli/commands/db/schema/dump.js +1 -1
- package/build/cli/commands/db/schema/load.js +1 -1
- package/build/cli/commands/db/seed.js +1 -1
- package/build/cli/commands/generate/frontend-models.js +1 -1
- package/build/cli/commands/lint/relationships.js +1 -1
- package/build/cli/commands/run-script.js +1 -1
- package/build/cli/commands/runner.js +1 -1
- package/build/cli/index.js +2 -2
- package/build/cli/tenant-database-command-helper.js +2 -2
- package/build/configuration-types.js +48 -47
- package/build/configuration.js +150 -65
- package/build/controller.js +11 -8
- package/build/current.js +2 -2
- package/build/database/annotations-async-hooks.js +3 -3
- package/build/database/annotations.js +1 -1
- package/build/database/drivers/base-column.js +1 -1
- package/build/database/drivers/base-foreign-key.js +1 -1
- package/build/database/drivers/base-table.js +1 -1
- package/build/database/drivers/base.js +18 -18
- package/build/database/drivers/mssql/column.js +1 -1
- package/build/database/drivers/mssql/index.js +2 -2
- package/build/database/drivers/mssql/options.js +1 -1
- package/build/database/drivers/mssql/structure-sql.js +1 -1
- package/build/database/drivers/mssql/table.js +1 -1
- package/build/database/drivers/mysql/column.js +1 -1
- package/build/database/drivers/mysql/index.js +4 -4
- package/build/database/drivers/mysql/options.js +1 -1
- package/build/database/drivers/mysql/query.js +7 -7
- package/build/database/drivers/mysql/structure-sql.js +71 -10
- package/build/database/drivers/pgsql/column.js +1 -1
- package/build/database/drivers/pgsql/index.js +6 -6
- package/build/database/drivers/pgsql/structure-sql.js +1 -1
- package/build/database/drivers/sqlite/base.js +7 -7
- package/build/database/drivers/sqlite/column.js +1 -1
- package/build/database/drivers/sqlite/connection-sql-js.js +1 -1
- package/build/database/drivers/sqlite/foreign-key.js +1 -1
- package/build/database/drivers/sqlite/index.js +1 -1
- package/build/database/drivers/sqlite/index.native.js +2 -2
- package/build/database/drivers/sqlite/index.web.js +2 -2
- package/build/database/drivers/sqlite/query.js +2 -2
- package/build/database/drivers/sqlite/query.native.js +2 -2
- package/build/database/drivers/sqlite/query.web.js +2 -2
- package/build/database/drivers/sqlite/table-rebuilder.js +1 -1
- package/build/database/migration/index.js +2 -2
- package/build/database/migrator/types.js +2 -2
- package/build/database/operation.js +59 -6
- package/build/database/pool/async-tracked-multi-connection.js +75 -24
- package/build/database/pool/base-methods-forward.js +2 -2
- package/build/database/pool/base.js +48 -17
- package/build/database/pool/single-multi-use.js +501 -103
- package/build/database/query/delete-base.js +1 -1
- package/build/database/query/index.js +3 -3
- package/build/database/query/insert-base.js +4 -4
- package/build/database/query/model-class-query.js +39 -39
- package/build/database/query/preloader/belongs-to.js +2 -2
- package/build/database/query/preloader/ensure-model-class-initialized.js +3 -2
- package/build/database/query/preloader/has-many.js +3 -3
- package/build/database/query/preloader/has-one.js +1 -1
- package/build/database/query/preloader.js +9 -2
- package/build/database/query/query-data.js +7 -7
- package/build/database/query/update-base.js +3 -3
- package/build/database/query/upsert-base.js +2 -2
- package/build/database/query/where-model-class-hash.js +13 -13
- package/build/database/query/with-count.js +12 -12
- package/build/database/query-parser/options.js +2 -2
- package/build/database/query-parser/select-parser.js +1 -1
- package/build/database/record/acts-as-list.js +2 -2
- package/build/database/record/attachments/handle.js +6 -6
- package/build/database/record/attachments/normalize-input.js +11 -11
- package/build/database/record/attachments/storage-drivers/filesystem.js +1 -1
- package/build/database/record/attachments/storage-drivers/native.js +5 -5
- package/build/database/record/attachments/storage-drivers/s3.js +10 -10
- package/build/database/record/attachments/store.js +24 -20
- package/build/database/record/auditing.js +123 -29
- package/build/database/record/counter-cache-magnitude.js +11 -11
- package/build/database/record/index.js +227 -174
- package/build/database/record/instance-relationships/base.js +4 -4
- package/build/database/record/instance-relationships/belongs-to.js +1 -1
- package/build/database/record/instance-relationships/has-many.js +3 -3
- package/build/database/record/instance-relationships/has-one.js +1 -1
- package/build/database/record/record-not-found-error.js +1 -0
- package/build/database/record/relationships/base.js +22 -0
- package/build/database/record/state-machine.js +6 -6
- package/build/database/record/validators/base.js +1 -1
- package/build/database/structure-sql-loader.js +3 -3
- package/build/database/table-data/table-column.js +3 -3
- package/build/database/use-live-query.js +3 -3
- package/build/environment-handlers/base.js +56 -37
- package/build/environment-handlers/browser.js +1 -1
- package/build/environment-handlers/node/cli/commands/console.js +4 -4
- package/build/environment-handlers/node/cli/commands/db/seed.js +2 -2
- package/build/environment-handlers/node/cli/commands/generate/base-models.js +1 -1
- package/build/environment-handlers/node/cli/commands/run-script.js +2 -2
- package/build/environment-handlers/node/cli/commands/runner.js +2 -2
- package/build/environment-handlers/node/cli/commands/server.js +1 -1
- package/build/environment-handlers/node.js +36 -36
- package/build/error-logger.js +2 -2
- package/build/error-reporting/request-details.js +32 -32
- package/build/frontend-model-controller.js +215 -213
- package/build/frontend-model-resource/base-resource.js +44 -44
- package/build/frontend-model-resource/velocious-attachment-resource.js +1 -1
- package/build/frontend-models/base.js +146 -142
- package/build/frontend-models/clear-pending-debounced-callback.js +2 -2
- package/build/frontend-models/model-registry.js +4 -4
- package/build/frontend-models/outgoing-event-buffer.js +1 -1
- package/build/frontend-models/preloader.js +1 -1
- package/build/frontend-models/query.js +60 -60
- package/build/frontend-models/resource-definition.js +9 -9
- package/build/frontend-models/transport-serialization.js +27 -27
- package/build/frontend-models/websocket-channel.js +4 -4
- package/build/frontend-models/websocket-publishers.js +1 -1
- package/build/http-client/request.js +1 -1
- package/build/http-client/response.js +1 -1
- package/build/http-server/client/index.js +4 -4
- package/build/http-server/client/params-to-object.js +16 -16
- package/build/http-server/client/request-buffer/index.js +5 -2
- package/build/http-server/client/request-parser.js +2 -2
- package/build/http-server/client/request-runner.js +2 -2
- package/build/http-server/client/request.js +2 -2
- package/build/http-server/client/websocket-request.js +6 -6
- package/build/http-server/client/websocket-session.js +28 -28
- package/build/http-server/cookie.js +2 -2
- package/build/http-server/development-reloader.js +1 -1
- package/build/http-server/index.js +5 -5
- package/build/http-server/remote-address.js +1 -1
- package/build/http-server/server-lock.js +4 -4
- package/build/http-server/websocket-channel-subscribers.js +4 -4
- package/build/http-server/websocket-channel.js +1 -1
- package/build/http-server/websocket-connection.js +3 -3
- package/build/http-server/websocket-event-log-store.js +9 -9
- package/build/http-server/websocket-events-host.js +7 -7
- package/build/http-server/websocket-events.js +4 -4
- package/build/http-server/worker-handler/channel-subscriber-dispatch.js +1 -1
- package/build/http-server/worker-handler/in-process.js +5 -5
- package/build/http-server/worker-handler/index.js +10 -10
- package/build/http-server/worker-handler/worker-thread.js +8 -8
- package/build/index.d.ts.map +1 -1
- package/build/logger/base-logger.js +1 -1
- package/build/logger.js +12 -12
- package/build/mailer/backends/smtp.js +3 -3
- package/build/mailer/base.js +14 -14
- package/build/mailer/delivery.js +3 -3
- package/build/mailer/index.js +1 -1
- package/build/mailer.js +1 -1
- package/build/plugins/sqljs-wasm-route-controller.js +1 -1
- package/build/record-payload-values.js +3 -3
- package/build/routes/base-route.js +5 -5
- package/build/routes/basic-route.js +4 -4
- package/build/routes/get-route.js +2 -2
- package/build/routes/hooks/frontend-model-command-route-hook.js +1 -1
- package/build/routes/index.js +3 -3
- package/build/routes/namespace-route.js +1 -1
- package/build/routes/plugin-routes.js +1 -1
- package/build/routes/post-route.js +2 -2
- package/build/routes/resolver.js +5 -5
- package/build/routes/resource-route.js +1 -1
- package/build/src/application.d.ts +26 -29
- package/build/src/application.d.ts.map +1 -1
- package/build/src/application.js +4 -4
- package/build/src/authorization/ability.d.ts +47 -53
- package/build/src/authorization/ability.d.ts.map +1 -1
- package/build/src/authorization/ability.js +7 -7
- package/build/src/authorization/base-resource.d.ts +13 -13
- package/build/src/authorization/base-resource.d.ts.map +1 -1
- package/build/src/authorization/base-resource.js +2 -2
- package/build/src/background-jobs/client.d.ts +9 -9
- package/build/src/background-jobs/client.d.ts.map +1 -1
- package/build/src/background-jobs/client.js +3 -3
- package/build/src/background-jobs/cron-expression.d.ts +25 -16
- package/build/src/background-jobs/cron-expression.d.ts.map +1 -1
- package/build/src/background-jobs/forked-runner-child.js +5 -5
- package/build/src/background-jobs/job-record.d.ts +4 -3
- package/build/src/background-jobs/job-record.d.ts.map +1 -1
- package/build/src/background-jobs/job-registry.d.ts +6 -6
- package/build/src/background-jobs/job-registry.d.ts.map +1 -1
- package/build/src/background-jobs/job-runner.d.ts +9 -9
- package/build/src/background-jobs/job-runner.d.ts.map +1 -1
- package/build/src/background-jobs/job-runner.js +3 -3
- package/build/src/background-jobs/job.d.ts +14 -14
- package/build/src/background-jobs/job.d.ts.map +1 -1
- package/build/src/background-jobs/job.js +7 -7
- package/build/src/background-jobs/json-socket.d.ts +9 -10
- package/build/src/background-jobs/json-socket.d.ts.map +1 -1
- package/build/src/background-jobs/json-socket.js +2 -2
- package/build/src/background-jobs/main.d.ts +56 -59
- package/build/src/background-jobs/main.d.ts.map +1 -1
- package/build/src/background-jobs/main.js +14 -14
- package/build/src/background-jobs/normalize-error.d.ts +2 -2
- package/build/src/background-jobs/normalize-error.d.ts.map +1 -1
- package/build/src/background-jobs/normalize-error.js +3 -3
- package/build/src/background-jobs/pooled-runner-child.js +4 -4
- package/build/src/background-jobs/runner-graceful-shutdown.d.ts +7 -12
- package/build/src/background-jobs/runner-graceful-shutdown.d.ts.map +1 -1
- package/build/src/background-jobs/runner-process-title.d.ts.map +1 -1
- package/build/src/background-jobs/scheduler.d.ts +41 -41
- package/build/src/background-jobs/scheduler.d.ts.map +1 -1
- package/build/src/background-jobs/scheduler.js +2 -2
- package/build/src/background-jobs/socket-request.d.ts +14 -14
- package/build/src/background-jobs/socket-request.d.ts.map +1 -1
- package/build/src/background-jobs/status-reporter.d.ts +28 -28
- package/build/src/background-jobs/status-reporter.d.ts.map +1 -1
- package/build/src/background-jobs/status-reporter.js +3 -3
- package/build/src/background-jobs/store.d.ts +100 -103
- package/build/src/background-jobs/store.d.ts.map +1 -1
- package/build/src/background-jobs/store.js +24 -24
- package/build/src/background-jobs/types.d.ts +124 -124
- package/build/src/background-jobs/types.d.ts.map +1 -1
- package/build/src/background-jobs/types.js +7 -7
- package/build/src/background-jobs/web/authorization.d.ts +2 -2
- package/build/src/background-jobs/web/authorization.d.ts.map +1 -1
- package/build/src/background-jobs/web/controller.d.ts +13 -13
- package/build/src/background-jobs/web/controller.d.ts.map +1 -1
- package/build/src/background-jobs/web/controller.js +7 -7
- package/build/src/background-jobs/web/counts-channel.d.ts +8 -8
- package/build/src/background-jobs/web/counts-channel.d.ts.map +1 -1
- package/build/src/background-jobs/web/counts-channel.js +2 -2
- package/build/src/background-jobs/web/index.d.ts +4 -4
- package/build/src/background-jobs/web/index.d.ts.map +1 -1
- package/build/src/background-jobs/web/path-matcher.d.ts +18 -13
- package/build/src/background-jobs/web/path-matcher.d.ts.map +1 -1
- package/build/src/background-jobs/web/registry.d.ts +21 -24
- package/build/src/background-jobs/web/registry.d.ts.map +1 -1
- package/build/src/background-jobs/worker.d.ts +74 -77
- package/build/src/background-jobs/worker.d.ts.map +1 -1
- package/build/src/background-jobs/worker.js +9 -9
- package/build/src/beacon/client.d.ts +30 -34
- package/build/src/beacon/client.d.ts.map +1 -1
- package/build/src/beacon/client.js +4 -4
- package/build/src/beacon/in-process-broker.d.ts +6 -9
- package/build/src/beacon/in-process-broker.d.ts.map +1 -1
- package/build/src/beacon/in-process-client.d.ts +17 -21
- package/build/src/beacon/in-process-client.d.ts.map +1 -1
- package/build/src/beacon/in-process-client.js +4 -4
- package/build/src/beacon/server.d.ts +15 -15
- package/build/src/beacon/server.d.ts.map +1 -1
- package/build/src/beacon/types.d.ts +21 -46
- package/build/src/beacon/types.d.ts.map +1 -1
- package/build/src/beacon/types.js +2 -2
- package/build/src/cli/base-command.d.ts +25 -28
- package/build/src/cli/base-command.d.ts.map +1 -1
- package/build/src/cli/base-command.js +2 -2
- package/build/src/cli/browser-cli.d.ts +1 -1
- package/build/src/cli/browser-cli.d.ts.map +1 -1
- package/build/src/cli/commands/background-jobs-main.d.ts +2 -1
- package/build/src/cli/commands/background-jobs-main.d.ts.map +1 -1
- package/build/src/cli/commands/background-jobs-runner.d.ts +2 -1
- package/build/src/cli/commands/background-jobs-runner.d.ts.map +1 -1
- package/build/src/cli/commands/background-jobs-worker.d.ts +2 -1
- package/build/src/cli/commands/background-jobs-worker.d.ts.map +1 -1
- package/build/src/cli/commands/beacon.d.ts +2 -1
- package/build/src/cli/commands/beacon.d.ts.map +1 -1
- package/build/src/cli/commands/console.d.ts +6 -1
- package/build/src/cli/commands/console.d.ts.map +1 -1
- package/build/src/cli/commands/console.js +2 -2
- package/build/src/cli/commands/db/base-command.d.ts +1 -1
- package/build/src/cli/commands/db/base-command.d.ts.map +1 -1
- package/build/src/cli/commands/db/create.d.ts +1 -1
- package/build/src/cli/commands/db/create.d.ts.map +1 -1
- package/build/src/cli/commands/db/drop.d.ts +1 -1
- package/build/src/cli/commands/db/drop.d.ts.map +1 -1
- package/build/src/cli/commands/db/migrate.d.ts +1 -1
- package/build/src/cli/commands/db/migrate.d.ts.map +1 -1
- package/build/src/cli/commands/db/reset.d.ts +1 -1
- package/build/src/cli/commands/db/reset.d.ts.map +1 -1
- package/build/src/cli/commands/db/rollback.d.ts +1 -1
- package/build/src/cli/commands/db/rollback.d.ts.map +1 -1
- package/build/src/cli/commands/db/schema/dump.d.ts +6 -1
- package/build/src/cli/commands/db/schema/dump.d.ts.map +1 -1
- package/build/src/cli/commands/db/schema/dump.js +2 -2
- package/build/src/cli/commands/db/schema/load.d.ts +6 -1
- package/build/src/cli/commands/db/schema/load.d.ts.map +1 -1
- package/build/src/cli/commands/db/schema/load.js +2 -2
- package/build/src/cli/commands/db/seed.d.ts +6 -1
- package/build/src/cli/commands/db/seed.d.ts.map +1 -1
- package/build/src/cli/commands/db/seed.js +2 -2
- package/build/src/cli/commands/db/tenants/check.d.ts +1 -1
- package/build/src/cli/commands/db/tenants/check.d.ts.map +1 -1
- package/build/src/cli/commands/db/tenants/create.d.ts +1 -1
- package/build/src/cli/commands/db/tenants/create.d.ts.map +1 -1
- package/build/src/cli/commands/db/tenants/drop.d.ts +1 -1
- package/build/src/cli/commands/db/tenants/drop.d.ts.map +1 -1
- package/build/src/cli/commands/db/tenants/migrate.d.ts +1 -1
- package/build/src/cli/commands/db/tenants/migrate.d.ts.map +1 -1
- package/build/src/cli/commands/destroy/migration.d.ts +2 -1
- package/build/src/cli/commands/destroy/migration.d.ts.map +1 -1
- package/build/src/cli/commands/generate/base-models.d.ts +2 -1
- package/build/src/cli/commands/generate/base-models.d.ts.map +1 -1
- package/build/src/cli/commands/generate/frontend-models.d.ts +6 -1
- package/build/src/cli/commands/generate/frontend-models.d.ts.map +1 -1
- package/build/src/cli/commands/generate/frontend-models.js +2 -2
- package/build/src/cli/commands/generate/migration.d.ts +2 -1
- package/build/src/cli/commands/generate/migration.d.ts.map +1 -1
- package/build/src/cli/commands/generate/model.d.ts +2 -1
- package/build/src/cli/commands/generate/model.d.ts.map +1 -1
- package/build/src/cli/commands/init.d.ts +4 -2
- package/build/src/cli/commands/init.d.ts.map +1 -1
- package/build/src/cli/commands/lint/relationships.d.ts +6 -1
- package/build/src/cli/commands/lint/relationships.d.ts.map +1 -1
- package/build/src/cli/commands/lint/relationships.js +2 -2
- package/build/src/cli/commands/routes.d.ts +2 -1
- package/build/src/cli/commands/routes.d.ts.map +1 -1
- package/build/src/cli/commands/run-script.d.ts +6 -1
- package/build/src/cli/commands/run-script.d.ts.map +1 -1
- package/build/src/cli/commands/run-script.js +2 -2
- package/build/src/cli/commands/runner.d.ts +6 -1
- package/build/src/cli/commands/runner.d.ts.map +1 -1
- package/build/src/cli/commands/runner.js +2 -2
- package/build/src/cli/commands/server.d.ts +2 -1
- package/build/src/cli/commands/server.d.ts.map +1 -1
- package/build/src/cli/commands/test.d.ts +2 -1
- package/build/src/cli/commands/test.d.ts.map +1 -1
- package/build/src/cli/index.d.ts +20 -20
- package/build/src/cli/index.d.ts.map +1 -1
- package/build/src/cli/index.js +3 -3
- package/build/src/cli/tenant-database-command-helper.d.ts +13 -13
- package/build/src/cli/tenant-database-command-helper.d.ts.map +1 -1
- package/build/src/cli/tenant-database-command-helper.js +3 -3
- package/build/src/cli/use-browser-cli.d.ts +1 -1
- package/build/src/cli/use-browser-cli.d.ts.map +1 -1
- package/build/src/configuration-resolver.d.ts +1 -1
- package/build/src/configuration-resolver.d.ts.map +1 -1
- package/build/src/configuration-types.d.ts +947 -1038
- package/build/src/configuration-types.d.ts.map +1 -1
- package/build/src/configuration-types.js +49 -48
- package/build/src/configuration.d.ts +145 -139
- package/build/src/configuration.d.ts.map +1 -1
- package/build/src/configuration.js +149 -66
- package/build/src/controller.d.ts +37 -35
- package/build/src/controller.d.ts.map +1 -1
- package/build/src/controller.js +11 -9
- package/build/src/current-configuration.d.ts +5 -4
- package/build/src/current-configuration.d.ts.map +1 -1
- package/build/src/current.d.ts +3 -3
- package/build/src/current.d.ts.map +1 -1
- package/build/src/current.js +3 -3
- package/build/src/database/advisory-lock-runner.d.ts +61 -60
- package/build/src/database/advisory-lock-runner.d.ts.map +1 -1
- package/build/src/database/annotations-async-hooks.js +4 -4
- package/build/src/database/annotations.d.ts +4 -6
- package/build/src/database/annotations.d.ts.map +1 -1
- package/build/src/database/annotations.js +2 -2
- package/build/src/database/column-types.d.ts +1 -1
- package/build/src/database/column-types.d.ts.map +1 -1
- package/build/src/database/datetime-storage.d.ts +6 -6
- package/build/src/database/datetime-storage.d.ts.map +1 -1
- package/build/src/database/drivers/base-column.d.ts +3 -3
- package/build/src/database/drivers/base-column.d.ts.map +1 -1
- package/build/src/database/drivers/base-column.js +2 -2
- package/build/src/database/drivers/base-columns-index.d.ts +2 -2
- package/build/src/database/drivers/base-columns-index.d.ts.map +1 -1
- package/build/src/database/drivers/base-foreign-key.d.ts +7 -7
- package/build/src/database/drivers/base-foreign-key.d.ts.map +1 -1
- package/build/src/database/drivers/base-foreign-key.js +2 -2
- package/build/src/database/drivers/base-table.d.ts +3 -3
- package/build/src/database/drivers/base-table.d.ts.map +1 -1
- package/build/src/database/drivers/base-table.js +2 -2
- package/build/src/database/drivers/base.d.ts +297 -342
- package/build/src/database/drivers/base.d.ts.map +1 -1
- package/build/src/database/drivers/base.js +19 -19
- package/build/src/database/drivers/index-metadata.d.ts +15 -18
- package/build/src/database/drivers/index-metadata.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/column.d.ts +10 -5
- package/build/src/database/drivers/mssql/column.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/column.js +2 -2
- package/build/src/database/drivers/mssql/columns-index.d.ts +30 -22
- package/build/src/database/drivers/mssql/columns-index.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/connect-connection.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/foreign-key.d.ts +1 -1
- package/build/src/database/drivers/mssql/foreign-key.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/index.d.ts +250 -9
- package/build/src/database/drivers/mssql/index.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/index.js +3 -3
- package/build/src/database/drivers/mssql/options.d.ts +31 -1
- package/build/src/database/drivers/mssql/options.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/options.js +2 -2
- package/build/src/database/drivers/mssql/query-parser.d.ts +1 -1
- package/build/src/database/drivers/mssql/query-parser.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/alter-table.d.ts +1 -1
- package/build/src/database/drivers/mssql/sql/alter-table.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/create-database.d.ts +3 -2
- package/build/src/database/drivers/mssql/sql/create-database.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/create-index.d.ts +1 -1
- package/build/src/database/drivers/mssql/sql/create-index.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/create-table.d.ts +1 -1
- package/build/src/database/drivers/mssql/sql/create-table.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/delete.d.ts +1 -1
- package/build/src/database/drivers/mssql/sql/delete.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/drop-database.d.ts +14 -1
- package/build/src/database/drivers/mssql/sql/drop-database.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/drop-table.d.ts +1 -1
- package/build/src/database/drivers/mssql/sql/drop-table.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/insert.d.ts +1 -1
- package/build/src/database/drivers/mssql/sql/insert.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/remove-index.d.ts +1 -1
- package/build/src/database/drivers/mssql/sql/remove-index.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/update.d.ts +1 -1
- package/build/src/database/drivers/mssql/sql/update.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/sql/upsert.d.ts +1 -1
- package/build/src/database/drivers/mssql/sql/upsert.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/structure-sql.d.ts +3 -3
- package/build/src/database/drivers/mssql/structure-sql.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/structure-sql.js +2 -2
- package/build/src/database/drivers/mssql/table.d.ts +39 -29
- package/build/src/database/drivers/mssql/table.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/table.js +2 -2
- package/build/src/database/drivers/mysql/column.d.ts +10 -6
- package/build/src/database/drivers/mysql/column.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/column.js +2 -2
- package/build/src/database/drivers/mysql/columns-index.d.ts +3 -1
- package/build/src/database/drivers/mysql/columns-index.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/foreign-key.d.ts +1 -1
- package/build/src/database/drivers/mysql/foreign-key.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/index.d.ts +225 -6
- package/build/src/database/drivers/mysql/index.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/index.js +5 -5
- package/build/src/database/drivers/mysql/options.d.ts +7 -1
- package/build/src/database/drivers/mysql/options.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/options.js +2 -2
- package/build/src/database/drivers/mysql/query-parser.d.ts +1 -1
- package/build/src/database/drivers/mysql/query-parser.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/query-stream.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/query.d.ts +2 -2
- package/build/src/database/drivers/mysql/query.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/query.js +8 -8
- package/build/src/database/drivers/mysql/sql/alter-table.d.ts +12 -1
- package/build/src/database/drivers/mysql/sql/alter-table.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/create-database.d.ts +6 -1
- package/build/src/database/drivers/mysql/sql/create-database.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/create-index.d.ts +1 -1
- package/build/src/database/drivers/mysql/sql/create-index.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/create-table.d.ts +1 -1
- package/build/src/database/drivers/mysql/sql/create-table.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/delete.d.ts +1 -1
- package/build/src/database/drivers/mysql/sql/delete.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/drop-database.d.ts +1 -1
- package/build/src/database/drivers/mysql/sql/drop-database.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/drop-table.d.ts +1 -1
- package/build/src/database/drivers/mysql/sql/drop-table.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/insert.d.ts +1 -1
- package/build/src/database/drivers/mysql/sql/insert.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/remove-index.d.ts +1 -1
- package/build/src/database/drivers/mysql/sql/remove-index.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/update.d.ts +1 -1
- package/build/src/database/drivers/mysql/sql/update.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/sql/upsert.d.ts +1 -1
- package/build/src/database/drivers/mysql/sql/upsert.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/structure-sql.d.ts +14 -3
- package/build/src/database/drivers/mysql/structure-sql.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/structure-sql.js +62 -11
- package/build/src/database/drivers/mysql/table.d.ts +11 -6
- package/build/src/database/drivers/mysql/table.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/column.d.ts +10 -5
- package/build/src/database/drivers/pgsql/column.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/column.js +2 -2
- package/build/src/database/drivers/pgsql/columns-index.d.ts +30 -22
- package/build/src/database/drivers/pgsql/columns-index.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/foreign-key.d.ts +1 -1
- package/build/src/database/drivers/pgsql/foreign-key.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/index.d.ts +157 -6
- package/build/src/database/drivers/pgsql/index.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/index.js +7 -7
- package/build/src/database/drivers/pgsql/options.d.ts +1 -1
- package/build/src/database/drivers/pgsql/options.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/query-parser.d.ts +1 -1
- package/build/src/database/drivers/pgsql/query-parser.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/alter-table.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/alter-table.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/create-database.d.ts +2 -1
- package/build/src/database/drivers/pgsql/sql/create-database.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/create-index.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/create-index.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/create-table.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/create-table.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/delete.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/delete.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/drop-database.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/drop-database.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/drop-table.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/drop-table.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/insert.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/insert.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/remove-index.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/remove-index.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/update.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/update.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/sql/upsert.d.ts +1 -1
- package/build/src/database/drivers/pgsql/sql/upsert.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/structure-sql.d.ts +3 -3
- package/build/src/database/drivers/pgsql/structure-sql.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/structure-sql.js +2 -2
- package/build/src/database/drivers/pgsql/table.d.ts +33 -31
- package/build/src/database/drivers/pgsql/table.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/base.d.ts +162 -12
- package/build/src/database/drivers/sqlite/base.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/base.js +8 -8
- package/build/src/database/drivers/sqlite/column.d.ts +12 -6
- package/build/src/database/drivers/sqlite/column.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/column.js +2 -2
- package/build/src/database/drivers/sqlite/columns-index.d.ts +5 -1
- package/build/src/database/drivers/sqlite/columns-index.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/connection-sql-js.d.ts +9 -9
- package/build/src/database/drivers/sqlite/connection-sql-js.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/connection-sql-js.js +2 -2
- package/build/src/database/drivers/sqlite/foreign-key.d.ts +5 -4
- package/build/src/database/drivers/sqlite/foreign-key.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/foreign-key.js +2 -2
- package/build/src/database/drivers/sqlite/index.d.ts +53 -3
- package/build/src/database/drivers/sqlite/index.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/index.js +2 -2
- package/build/src/database/drivers/sqlite/index.native.d.ts +13 -5
- package/build/src/database/drivers/sqlite/index.native.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/index.native.js +3 -3
- package/build/src/database/drivers/sqlite/index.web.d.ts +48 -14
- package/build/src/database/drivers/sqlite/index.web.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/index.web.js +3 -3
- package/build/src/database/drivers/sqlite/options.d.ts +1 -1
- package/build/src/database/drivers/sqlite/options.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/query-parser.d.ts +1 -1
- package/build/src/database/drivers/sqlite/query-parser.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/query.d.ts +2 -2
- package/build/src/database/drivers/sqlite/query.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/query.js +3 -3
- package/build/src/database/drivers/sqlite/query.native.d.ts +4 -4
- package/build/src/database/drivers/sqlite/query.native.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/query.native.js +3 -3
- package/build/src/database/drivers/sqlite/query.web.d.ts +2 -2
- package/build/src/database/drivers/sqlite/query.web.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/query.web.js +3 -3
- package/build/src/database/drivers/sqlite/sql/alter-table.d.ts +19 -4
- package/build/src/database/drivers/sqlite/sql/alter-table.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/sql/create-index.d.ts +1 -1
- package/build/src/database/drivers/sqlite/sql/create-index.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/sql/create-table.d.ts +1 -1
- package/build/src/database/drivers/sqlite/sql/create-table.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/sql/delete.d.ts +1 -1
- package/build/src/database/drivers/sqlite/sql/delete.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/sql/drop-table.d.ts +1 -1
- package/build/src/database/drivers/sqlite/sql/drop-table.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/sql/insert.d.ts +1 -1
- package/build/src/database/drivers/sqlite/sql/insert.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/sql/remove-index.d.ts +1 -1
- package/build/src/database/drivers/sqlite/sql/remove-index.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/sql/update.d.ts +1 -1
- package/build/src/database/drivers/sqlite/sql/update.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/sql/upsert.d.ts +1 -1
- package/build/src/database/drivers/sqlite/sql/upsert.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/structure-sql.d.ts +1 -1
- package/build/src/database/drivers/sqlite/structure-sql.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/table-rebuilder.d.ts +5 -5
- package/build/src/database/drivers/sqlite/table-rebuilder.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/table-rebuilder.js +2 -2
- package/build/src/database/drivers/sqlite/table.d.ts +15 -5
- package/build/src/database/drivers/sqlite/table.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/web-persistence.d.ts +28 -34
- package/build/src/database/drivers/sqlite/web-persistence.d.ts.map +1 -1
- package/build/src/database/drivers/structure-sql/utils.d.ts +2 -2
- package/build/src/database/drivers/structure-sql/utils.d.ts.map +1 -1
- package/build/src/database/handler.d.ts.map +1 -1
- package/build/src/database/initializer-from-require-context.d.ts +18 -16
- package/build/src/database/initializer-from-require-context.d.ts.map +1 -1
- package/build/src/database/live-query.d.ts +13 -24
- package/build/src/database/live-query.d.ts.map +1 -1
- package/build/src/database/migration/index.d.ts +146 -169
- package/build/src/database/migration/index.d.ts.map +1 -1
- package/build/src/database/migration/index.js +3 -3
- package/build/src/database/migrations-ledger.d.ts.map +1 -1
- package/build/src/database/migrator/files-finder.d.ts +1 -1
- package/build/src/database/migrator/files-finder.d.ts.map +1 -1
- package/build/src/database/migrator/types.d.ts +26 -2
- package/build/src/database/migrator/types.d.ts.map +1 -1
- package/build/src/database/migrator/types.js +24 -1
- package/build/src/database/migrator.d.ts +10 -10
- package/build/src/database/migrator.d.ts.map +1 -1
- package/build/src/database/operation-connection.d.ts +3 -3
- package/build/src/database/operation-connection.d.ts.map +1 -1
- package/build/src/database/operation-lease.d.ts +4 -4
- package/build/src/database/operation-lease.d.ts.map +1 -1
- package/build/src/database/operation.d.ts +38 -7
- package/build/src/database/operation.d.ts.map +1 -1
- package/build/src/database/operation.js +55 -8
- package/build/src/database/pool/async-tracked-multi-connection.d.ts +174 -79
- package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
- package/build/src/database/pool/async-tracked-multi-connection.js +70 -25
- package/build/src/database/pool/base-methods-forward.d.ts.map +1 -1
- package/build/src/database/pool/base-methods-forward.js +3 -3
- package/build/src/database/pool/base.d.ts +93 -71
- package/build/src/database/pool/base.d.ts.map +1 -1
- package/build/src/database/pool/base.js +47 -17
- package/build/src/database/pool/single-multi-use.d.ts +243 -10
- package/build/src/database/pool/single-multi-use.d.ts.map +1 -1
- package/build/src/database/pool/single-multi-use.js +467 -103
- package/build/src/database/query/alter-table-base.d.ts +8 -3
- package/build/src/database/query/alter-table-base.d.ts.map +1 -1
- package/build/src/database/query/base.d.ts +3 -3
- package/build/src/database/query/base.d.ts.map +1 -1
- package/build/src/database/query/create-database-base.d.ts +28 -22
- package/build/src/database/query/create-database-base.d.ts.map +1 -1
- package/build/src/database/query/create-index-base.d.ts +32 -30
- package/build/src/database/query/create-index-base.d.ts.map +1 -1
- package/build/src/database/query/create-table-base.d.ts +7 -7
- package/build/src/database/query/create-table-base.d.ts.map +1 -1
- package/build/src/database/query/delete-base.d.ts +5 -5
- package/build/src/database/query/delete-base.d.ts.map +1 -1
- package/build/src/database/query/delete-base.js +2 -2
- package/build/src/database/query/drop-database-base.d.ts +22 -18
- package/build/src/database/query/drop-database-base.d.ts.map +1 -1
- package/build/src/database/query/drop-table-base.d.ts +11 -6
- package/build/src/database/query/drop-table-base.d.ts.map +1 -1
- package/build/src/database/query/from-base.d.ts.map +1 -1
- package/build/src/database/query/from-plain.d.ts +3 -2
- package/build/src/database/query/from-plain.d.ts.map +1 -1
- package/build/src/database/query/from-table.d.ts +3 -2
- package/build/src/database/query/from-table.d.ts.map +1 -1
- package/build/src/database/query/index.d.ts +92 -107
- package/build/src/database/query/index.d.ts.map +1 -1
- package/build/src/database/query/index.js +4 -4
- package/build/src/database/query/insert-base.d.ts +18 -18
- package/build/src/database/query/insert-base.d.ts.map +1 -1
- package/build/src/database/query/insert-base.js +5 -5
- package/build/src/database/query/join-base.d.ts +1 -1
- package/build/src/database/query/join-base.d.ts.map +1 -1
- package/build/src/database/query/join-object.d.ts +9 -15
- package/build/src/database/query/join-object.d.ts.map +1 -1
- package/build/src/database/query/join-plain.d.ts +2 -2
- package/build/src/database/query/join-plain.d.ts.map +1 -1
- package/build/src/database/query/join-tracker.d.ts +3 -3
- package/build/src/database/query/join-tracker.d.ts.map +1 -1
- package/build/src/database/query/model-class-query.d.ts +39 -36
- package/build/src/database/query/model-class-query.d.ts.map +1 -1
- package/build/src/database/query/model-class-query.js +40 -40
- package/build/src/database/query/order-base.d.ts +1 -1
- package/build/src/database/query/order-base.d.ts.map +1 -1
- package/build/src/database/query/order-column.d.ts +19 -22
- package/build/src/database/query/order-column.d.ts.map +1 -1
- package/build/src/database/query/order-plain.d.ts +3 -3
- package/build/src/database/query/order-plain.d.ts.map +1 -1
- package/build/src/database/query/preloader/belongs-to.d.ts +5 -5
- package/build/src/database/query/preloader/belongs-to.d.ts.map +1 -1
- package/build/src/database/query/preloader/belongs-to.js +3 -3
- package/build/src/database/query/preloader/ensure-model-class-initialized.d.ts +2 -1
- package/build/src/database/query/preloader/ensure-model-class-initialized.d.ts.map +1 -1
- package/build/src/database/query/preloader/ensure-model-class-initialized.js +4 -3
- package/build/src/database/query/preloader/has-many.d.ts +6 -6
- package/build/src/database/query/preloader/has-many.d.ts.map +1 -1
- package/build/src/database/query/preloader/has-many.js +4 -4
- package/build/src/database/query/preloader/has-one.d.ts +5 -5
- package/build/src/database/query/preloader/has-one.d.ts.map +1 -1
- package/build/src/database/query/preloader/has-one.js +2 -2
- package/build/src/database/query/preloader/query-for-model.d.ts.map +1 -1
- package/build/src/database/query/preloader/selection.d.ts +6 -6
- package/build/src/database/query/preloader/selection.d.ts.map +1 -1
- package/build/src/database/query/preloader.d.ts +8 -8
- package/build/src/database/query/preloader.d.ts.map +1 -1
- package/build/src/database/query/preloader.js +9 -3
- package/build/src/database/query/query-data.d.ts +43 -55
- package/build/src/database/query/query-data.d.ts.map +1 -1
- package/build/src/database/query/query-data.js +8 -8
- package/build/src/database/query/remove-index-base.d.ts +21 -19
- package/build/src/database/query/remove-index-base.d.ts.map +1 -1
- package/build/src/database/query/select-base.d.ts +1 -1
- package/build/src/database/query/select-base.d.ts.map +1 -1
- package/build/src/database/query/select-plain.d.ts +3 -2
- package/build/src/database/query/select-plain.d.ts.map +1 -1
- package/build/src/database/query/select-table-and-column.d.ts +4 -3
- package/build/src/database/query/select-table-and-column.d.ts.map +1 -1
- package/build/src/database/query/update-base.d.ts +10 -10
- package/build/src/database/query/update-base.d.ts.map +1 -1
- package/build/src/database/query/update-base.js +4 -4
- package/build/src/database/query/upsert-base.d.ts +9 -9
- package/build/src/database/query/upsert-base.d.ts.map +1 -1
- package/build/src/database/query/upsert-base.js +3 -3
- package/build/src/database/query/where-base.d.ts +1 -1
- package/build/src/database/query/where-base.d.ts.map +1 -1
- package/build/src/database/query/where-combinator.d.ts +9 -4
- package/build/src/database/query/where-combinator.d.ts.map +1 -1
- package/build/src/database/query/where-hash.d.ts +11 -9
- package/build/src/database/query/where-hash.d.ts.map +1 -1
- package/build/src/database/query/where-model-class-hash.d.ts +28 -26
- package/build/src/database/query/where-model-class-hash.d.ts.map +1 -1
- package/build/src/database/query/where-model-class-hash.js +14 -14
- package/build/src/database/query/where-not.d.ts +8 -3
- package/build/src/database/query/where-not.d.ts.map +1 -1
- package/build/src/database/query/where-plain.d.ts +4 -3
- package/build/src/database/query/where-plain.d.ts.map +1 -1
- package/build/src/database/query/with-count.d.ts +22 -28
- package/build/src/database/query/with-count.d.ts.map +1 -1
- package/build/src/database/query/with-count.js +12 -12
- package/build/src/database/query-aborted-error.d.ts +5 -5
- package/build/src/database/query-aborted-error.d.ts.map +1 -1
- package/build/src/database/query-parser/base-query-parser.d.ts +3 -3
- package/build/src/database/query-parser/base-query-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/from-parser.d.ts +2 -2
- package/build/src/database/query-parser/from-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/group-parser.d.ts +2 -2
- package/build/src/database/query-parser/group-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/joins-parser.d.ts +3 -3
- package/build/src/database/query-parser/joins-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/limit-parser.d.ts +2 -2
- package/build/src/database/query-parser/limit-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/options.d.ts +31 -34
- package/build/src/database/query-parser/options.d.ts.map +1 -1
- package/build/src/database/query-parser/options.js +3 -3
- package/build/src/database/query-parser/order-parser.d.ts +2 -2
- package/build/src/database/query-parser/order-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/select-parser.d.ts +2 -2
- package/build/src/database/query-parser/select-parser.d.ts.map +1 -1
- package/build/src/database/query-parser/select-parser.js +2 -2
- package/build/src/database/query-parser/where-parser.d.ts +2 -2
- package/build/src/database/query-parser/where-parser.d.ts.map +1 -1
- package/build/src/database/record/acts-as-list.d.ts.map +1 -1
- package/build/src/database/record/acts-as-list.js +3 -3
- package/build/src/database/record/attachments/attachment-record.d.ts +7 -3
- package/build/src/database/record/attachments/attachment-record.d.ts.map +1 -1
- package/build/src/database/record/attachments/download.d.ts +9 -9
- package/build/src/database/record/attachments/download.d.ts.map +1 -1
- package/build/src/database/record/attachments/handle.d.ts +12 -12
- package/build/src/database/record/attachments/handle.d.ts.map +1 -1
- package/build/src/database/record/attachments/handle.js +7 -7
- package/build/src/database/record/attachments/normalize-input.d.ts +16 -22
- package/build/src/database/record/attachments/normalize-input.d.ts.map +1 -1
- package/build/src/database/record/attachments/normalize-input.js +12 -12
- package/build/src/database/record/attachments/storage-drivers/filesystem.d.ts +4 -4
- package/build/src/database/record/attachments/storage-drivers/filesystem.d.ts.map +1 -1
- package/build/src/database/record/attachments/storage-drivers/filesystem.js +2 -2
- package/build/src/database/record/attachments/storage-drivers/native.d.ts +12 -12
- package/build/src/database/record/attachments/storage-drivers/native.d.ts.map +1 -1
- package/build/src/database/record/attachments/storage-drivers/native.js +6 -6
- package/build/src/database/record/attachments/storage-drivers/s3.d.ts +17 -17
- package/build/src/database/record/attachments/storage-drivers/s3.d.ts.map +1 -1
- package/build/src/database/record/attachments/storage-drivers/s3.js +11 -11
- package/build/src/database/record/attachments/store.d.ts +38 -41
- package/build/src/database/record/attachments/store.d.ts.map +1 -1
- package/build/src/database/record/attachments/store.js +24 -21
- package/build/src/database/record/auditing.d.ts +67 -87
- package/build/src/database/record/auditing.d.ts.map +1 -1
- package/build/src/database/record/auditing.js +109 -30
- package/build/src/database/record/counter-cache-magnitude.d.ts +15 -35
- package/build/src/database/record/counter-cache-magnitude.d.ts.map +1 -1
- package/build/src/database/record/counter-cache-magnitude.js +12 -12
- package/build/src/database/record/index.d.ts +2390 -488
- package/build/src/database/record/index.d.ts.map +1 -1
- package/build/src/database/record/index.js +222 -172
- package/build/src/database/record/instance-relationships/base.d.ts +20 -23
- package/build/src/database/record/instance-relationships/base.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/base.js +5 -5
- package/build/src/database/record/instance-relationships/belongs-to.d.ts +9 -1
- package/build/src/database/record/instance-relationships/belongs-to.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/belongs-to.js +2 -2
- package/build/src/database/record/instance-relationships/has-many.d.ts +15 -3
- package/build/src/database/record/instance-relationships/has-many.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/has-many.js +4 -4
- package/build/src/database/record/instance-relationships/has-one.d.ts +19 -1
- package/build/src/database/record/instance-relationships/has-one.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/has-one.js +2 -2
- package/build/src/database/record/record-not-found-error.d.ts +1 -0
- package/build/src/database/record/record-not-found-error.d.ts.map +1 -1
- package/build/src/database/record/record-not-found-error.js +2 -1
- package/build/src/database/record/relationships/base.d.ts +83 -71
- package/build/src/database/record/relationships/base.d.ts.map +1 -1
- package/build/src/database/record/relationships/base.js +21 -1
- package/build/src/database/record/relationships/belongs-to.d.ts +11 -1
- package/build/src/database/record/relationships/belongs-to.d.ts.map +1 -1
- package/build/src/database/record/relationships/has-many.d.ts +11 -1
- package/build/src/database/record/relationships/has-many.d.ts.map +1 -1
- package/build/src/database/record/relationships/has-one.d.ts +11 -1
- package/build/src/database/record/relationships/has-one.d.ts.map +1 -1
- package/build/src/database/record/state-machine.d.ts +20 -29
- package/build/src/database/record/state-machine.d.ts.map +1 -1
- package/build/src/database/record/state-machine.js +7 -7
- package/build/src/database/record/user-module.d.ts +1 -1
- package/build/src/database/record/user-module.d.ts.map +1 -1
- package/build/src/database/record/validation-messages.d.ts +19 -22
- package/build/src/database/record/validation-messages.d.ts.map +1 -1
- package/build/src/database/record/validators/base.d.ts +4 -4
- package/build/src/database/record/validators/base.d.ts.map +1 -1
- package/build/src/database/record/validators/base.js +2 -2
- package/build/src/database/record/validators/format.d.ts +12 -1
- package/build/src/database/record/validators/format.d.ts.map +1 -1
- package/build/src/database/record/validators/length.d.ts +14 -1
- package/build/src/database/record/validators/length.d.ts.map +1 -1
- package/build/src/database/record/validators/presence.d.ts +11 -1
- package/build/src/database/record/validators/presence.d.ts.map +1 -1
- package/build/src/database/record/validators/uniqueness.d.ts +12 -1
- package/build/src/database/record/validators/uniqueness.d.ts.map +1 -1
- package/build/src/database/record-changes.d.ts +7 -18
- package/build/src/database/record-changes.d.ts.map +1 -1
- package/build/src/database/structure-sql-loader.d.ts +2 -2
- package/build/src/database/structure-sql-loader.d.ts.map +1 -1
- package/build/src/database/structure-sql-loader.js +4 -4
- package/build/src/database/table-data/index.d.ts +21 -24
- package/build/src/database/table-data/index.d.ts.map +1 -1
- package/build/src/database/table-data/table-column.d.ts +74 -80
- package/build/src/database/table-data/table-column.d.ts.map +1 -1
- package/build/src/database/table-data/table-column.js +4 -4
- package/build/src/database/table-data/table-foreign-key.d.ts +10 -10
- package/build/src/database/table-data/table-foreign-key.d.ts.map +1 -1
- package/build/src/database/table-data/table-index.d.ts +12 -15
- package/build/src/database/table-data/table-index.d.ts.map +1 -1
- package/build/src/database/table-data/table-reference.d.ts +2 -2
- package/build/src/database/table-data/table-reference.d.ts.map +1 -1
- package/build/src/database/tenants/data-copier.d.ts +7 -7
- package/build/src/database/tenants/data-copier.d.ts.map +1 -1
- package/build/src/database/tenants/schema-cloner.d.ts +3 -3
- package/build/src/database/tenants/schema-cloner.d.ts.map +1 -1
- package/build/src/database/tenants/tenant-table-plan.d.ts +20 -14
- package/build/src/database/tenants/tenant-table-plan.d.ts.map +1 -1
- package/build/src/database/tenants/tenant-table-plan.js +17 -1
- package/build/src/database/use-database.d.ts.map +1 -1
- package/build/src/database/use-live-query.d.ts +17 -29
- package/build/src/database/use-live-query.d.ts.map +1 -1
- package/build/src/database/use-live-query.js +4 -4
- package/build/src/environment-handlers/base.d.ts +112 -103
- package/build/src/environment-handlers/base.d.ts.map +1 -1
- package/build/src/environment-handlers/base.js +54 -38
- package/build/src/environment-handlers/browser.d.ts +63 -56
- package/build/src/environment-handlers/browser.d.ts.map +1 -1
- package/build/src/environment-handlers/browser.js +2 -2
- package/build/src/environment-handlers/node/attachment-path-source.d.ts +9 -9
- package/build/src/environment-handlers/node/attachment-path-source.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/background-jobs-main.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/background-jobs-main.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/background-jobs-runner.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/background-jobs-runner.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/background-jobs-worker.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/background-jobs-worker.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/beacon.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/beacon.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/cli-command-context.d.ts +7 -10
- package/build/src/environment-handlers/node/cli/commands/cli-command-context.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/console.d.ts +9 -7
- package/build/src/environment-handlers/node/cli/commands/console.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/console.js +5 -5
- package/build/src/environment-handlers/node/cli/commands/db/schema/dump.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/db/schema/dump.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/db/schema/load.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/db/seed.d.ts +7 -5
- package/build/src/environment-handlers/node/cli/commands/db/seed.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/db/seed.js +3 -3
- package/build/src/environment-handlers/node/cli/commands/destroy/migration.d.ts +4 -7
- package/build/src/environment-handlers/node/cli/commands/destroy/migration.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/base-models.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/base-models.js +2 -2
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +93 -108
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/generated-file-banner.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/migration.d.ts +9 -12
- package/build/src/environment-handlers/node/cli/commands/generate/migration.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/model.d.ts +8 -11
- package/build/src/environment-handlers/node/cli/commands/generate/model.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/init.d.ts +7 -9
- package/build/src/environment-handlers/node/cli/commands/init.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/lint/relationships.d.ts +7 -7
- package/build/src/environment-handlers/node/cli/commands/lint/relationships.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/routes.d.ts +1 -1
- package/build/src/environment-handlers/node/cli/commands/routes.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/run-script.d.ts +7 -5
- package/build/src/environment-handlers/node/cli/commands/run-script.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/run-script.js +3 -3
- package/build/src/environment-handlers/node/cli/commands/runner.d.ts +9 -7
- package/build/src/environment-handlers/node/cli/commands/runner.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/runner.js +3 -3
- package/build/src/environment-handlers/node/cli/commands/server.d.ts +24 -30
- package/build/src/environment-handlers/node/cli/commands/server.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/server.js +2 -2
- package/build/src/environment-handlers/node/cli/commands/test.d.ts +5 -5
- package/build/src/environment-handlers/node/cli/commands/test.d.ts.map +1 -1
- package/build/src/environment-handlers/node/source-peer-package.d.ts +5 -7
- package/build/src/environment-handlers/node/source-peer-package.d.ts.map +1 -1
- package/build/src/environment-handlers/node/source-peer-package.js +1 -1
- package/build/src/environment-handlers/node.d.ts +362 -13
- package/build/src/environment-handlers/node.d.ts.map +1 -1
- package/build/src/environment-handlers/node.js +37 -37
- package/build/src/error-logger.d.ts +3 -3
- package/build/src/error-logger.d.ts.map +1 -1
- package/build/src/error-logger.js +3 -3
- package/build/src/error-reporting/request-details.d.ts +1 -1
- package/build/src/error-reporting/request-details.d.ts.map +1 -1
- package/build/src/error-reporting/request-details.js +33 -33
- package/build/src/frontend-model-controller.d.ts +216 -230
- package/build/src/frontend-model-controller.d.ts.map +1 -1
- package/build/src/frontend-model-controller.js +217 -211
- package/build/src/frontend-model-resource/base-resource.d.ts +315 -365
- package/build/src/frontend-model-resource/base-resource.d.ts.map +1 -1
- package/build/src/frontend-model-resource/base-resource.js +45 -45
- package/build/src/frontend-model-resource/velocious-attachment-resource.d.ts +11 -5
- package/build/src/frontend-model-resource/velocious-attachment-resource.d.ts.map +1 -1
- package/build/src/frontend-model-resource/velocious-attachment-resource.js +2 -2
- package/build/src/frontend-models/base.d.ts +632 -726
- package/build/src/frontend-models/base.d.ts.map +1 -1
- package/build/src/frontend-models/base.js +147 -143
- package/build/src/frontend-models/built-in-resources.d.ts +2 -2
- package/build/src/frontend-models/built-in-resources.d.ts.map +1 -1
- package/build/src/frontend-models/clear-pending-debounced-callback.d.ts +2 -2
- package/build/src/frontend-models/clear-pending-debounced-callback.d.ts.map +1 -1
- package/build/src/frontend-models/clear-pending-debounced-callback.js +3 -3
- package/build/src/frontend-models/event-hook-models.d.ts +3 -6
- package/build/src/frontend-models/event-hook-models.d.ts.map +1 -1
- package/build/src/frontend-models/model-registry.d.ts +5 -5
- package/build/src/frontend-models/model-registry.d.ts.map +1 -1
- package/build/src/frontend-models/model-registry.js +5 -5
- package/build/src/frontend-models/outgoing-event-buffer.d.ts +20 -17
- package/build/src/frontend-models/outgoing-event-buffer.d.ts.map +1 -1
- package/build/src/frontend-models/outgoing-event-buffer.js +2 -2
- package/build/src/frontend-models/preloader.d.ts.map +1 -1
- package/build/src/frontend-models/preloader.js +2 -2
- package/build/src/frontend-models/query.d.ts +286 -331
- package/build/src/frontend-models/query.d.ts.map +1 -1
- package/build/src/frontend-models/query.js +61 -61
- package/build/src/frontend-models/resource-config-validation.d.ts +2 -2
- package/build/src/frontend-models/resource-config-validation.d.ts.map +1 -1
- package/build/src/frontend-models/resource-definition.d.ts +30 -33
- package/build/src/frontend-models/resource-definition.d.ts.map +1 -1
- package/build/src/frontend-models/resource-definition.js +10 -10
- package/build/src/frontend-models/transport-deadline.d.ts.map +1 -1
- package/build/src/frontend-models/transport-serialization.d.ts +26 -32
- package/build/src/frontend-models/transport-serialization.d.ts.map +1 -1
- package/build/src/frontend-models/transport-serialization.js +28 -28
- package/build/src/frontend-models/use-created-event.d.ts +4 -4
- package/build/src/frontend-models/use-created-event.d.ts.map +1 -1
- package/build/src/frontend-models/use-destroyed-event.d.ts +8 -29
- package/build/src/frontend-models/use-destroyed-event.d.ts.map +1 -1
- package/build/src/frontend-models/use-model-class-event.d.ts +9 -33
- package/build/src/frontend-models/use-model-class-event.d.ts.map +1 -1
- package/build/src/frontend-models/use-updated-event.d.ts +8 -29
- package/build/src/frontend-models/use-updated-event.d.ts.map +1 -1
- package/build/src/frontend-models/websocket-channel.d.ts +30 -34
- package/build/src/frontend-models/websocket-channel.d.ts.map +1 -1
- package/build/src/frontend-models/websocket-channel.js +5 -5
- package/build/src/frontend-models/websocket-publishers.d.ts +4 -4
- package/build/src/frontend-models/websocket-publishers.d.ts.map +1 -1
- package/build/src/frontend-models/websocket-publishers.js +2 -2
- package/build/src/http-client/header.d.ts +2 -2
- package/build/src/http-client/header.d.ts.map +1 -1
- package/build/src/http-client/index.d.ts +23 -23
- package/build/src/http-client/index.d.ts.map +1 -1
- package/build/src/http-client/request.d.ts +9 -9
- package/build/src/http-client/request.d.ts.map +1 -1
- package/build/src/http-client/request.js +2 -2
- package/build/src/http-client/response.d.ts +12 -12
- package/build/src/http-client/response.d.ts.map +1 -1
- package/build/src/http-client/response.js +2 -2
- package/build/src/http-client/websocket-client.d.ts +20 -4
- package/build/src/http-client/websocket-client.d.ts.map +1 -1
- package/build/src/http-server/client/index.d.ts +26 -26
- package/build/src/http-server/client/index.d.ts.map +1 -1
- package/build/src/http-server/client/index.js +5 -5
- package/build/src/http-server/client/params-to-object.d.ts +11 -11
- package/build/src/http-server/client/params-to-object.d.ts.map +1 -1
- package/build/src/http-server/client/params-to-object.js +17 -17
- package/build/src/http-server/client/request-buffer/form-data-part.d.ts +9 -9
- package/build/src/http-server/client/request-buffer/form-data-part.d.ts.map +1 -1
- package/build/src/http-server/client/request-buffer/header.d.ts +3 -3
- package/build/src/http-server/client/request-buffer/header.d.ts.map +1 -1
- package/build/src/http-server/client/request-buffer/index.d.ts +28 -30
- package/build/src/http-server/client/request-buffer/index.d.ts.map +1 -1
- package/build/src/http-server/client/request-buffer/index.js +5 -3
- package/build/src/http-server/client/request-parser.d.ts +11 -11
- package/build/src/http-server/client/request-parser.d.ts.map +1 -1
- package/build/src/http-server/client/request-parser.js +3 -3
- package/build/src/http-server/client/request-runner.d.ts +11 -11
- package/build/src/http-server/client/request-runner.d.ts.map +1 -1
- package/build/src/http-server/client/request-runner.js +3 -3
- package/build/src/http-server/client/request-timing.d.ts +5 -11
- package/build/src/http-server/client/request-timing.d.ts.map +1 -1
- package/build/src/http-server/client/request.d.ts +10 -10
- package/build/src/http-server/client/request.d.ts.map +1 -1
- package/build/src/http-server/client/request.js +3 -3
- package/build/src/http-server/client/response-compression.d.ts +5 -5
- package/build/src/http-server/client/response-compression.d.ts.map +1 -1
- package/build/src/http-server/client/response.d.ts +13 -13
- package/build/src/http-server/client/response.d.ts.map +1 -1
- package/build/src/http-server/client/uploaded-file/memory-uploaded-file.d.ts +8 -2
- package/build/src/http-server/client/uploaded-file/memory-uploaded-file.d.ts.map +1 -1
- package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.d.ts +8 -2
- package/build/src/http-server/client/uploaded-file/temporary-uploaded-file.d.ts.map +1 -1
- package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts +4 -4
- package/build/src/http-server/client/uploaded-file/uploaded-file.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-request.d.ts +26 -26
- package/build/src/http-server/client/websocket-request.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-request.js +7 -7
- package/build/src/http-server/client/websocket-session.d.ts +105 -108
- package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-session.js +29 -29
- package/build/src/http-server/client-delivery-queue.d.ts +30 -30
- package/build/src/http-server/client-delivery-queue.d.ts.map +1 -1
- package/build/src/http-server/cookie.d.ts +80 -108
- package/build/src/http-server/cookie.d.ts.map +1 -1
- package/build/src/http-server/cookie.js +3 -3
- package/build/src/http-server/development-reloader.d.ts +24 -24
- package/build/src/http-server/development-reloader.d.ts.map +1 -1
- package/build/src/http-server/development-reloader.js +2 -2
- package/build/src/http-server/index.d.ts +66 -72
- package/build/src/http-server/index.d.ts.map +1 -1
- package/build/src/http-server/index.js +6 -6
- package/build/src/http-server/remote-address.d.ts.map +1 -1
- package/build/src/http-server/remote-address.js +2 -2
- package/build/src/http-server/server-client.d.ts +9 -9
- package/build/src/http-server/server-client.d.ts.map +1 -1
- package/build/src/http-server/server-lock.d.ts +11 -11
- package/build/src/http-server/server-lock.d.ts.map +1 -1
- package/build/src/http-server/server-lock.js +5 -5
- package/build/src/http-server/websocket-channel-subscribers.d.ts +11 -10
- package/build/src/http-server/websocket-channel-subscribers.d.ts.map +1 -1
- package/build/src/http-server/websocket-channel-subscribers.js +6 -6
- package/build/src/http-server/websocket-channel.d.ts +8 -14
- package/build/src/http-server/websocket-channel.d.ts.map +1 -1
- package/build/src/http-server/websocket-channel.js +2 -2
- package/build/src/http-server/websocket-connection.d.ts +10 -10
- package/build/src/http-server/websocket-connection.d.ts.map +1 -1
- package/build/src/http-server/websocket-connection.js +4 -4
- package/build/src/http-server/websocket-event-log-store.d.ts +58 -64
- package/build/src/http-server/websocket-event-log-store.d.ts.map +1 -1
- package/build/src/http-server/websocket-event-log-store.js +10 -10
- package/build/src/http-server/websocket-events-host.d.ts +17 -16
- package/build/src/http-server/websocket-events-host.d.ts.map +1 -1
- package/build/src/http-server/websocket-events-host.js +8 -8
- package/build/src/http-server/websocket-events.d.ts +9 -9
- package/build/src/http-server/websocket-events.d.ts.map +1 -1
- package/build/src/http-server/websocket-events.js +5 -5
- package/build/src/http-server/worker-handler/channel-subscriber-dispatch.d.ts +2 -2
- package/build/src/http-server/worker-handler/channel-subscriber-dispatch.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/channel-subscriber-dispatch.js +2 -2
- package/build/src/http-server/worker-handler/in-process.d.ts +22 -22
- package/build/src/http-server/worker-handler/in-process.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/in-process.js +6 -6
- package/build/src/http-server/worker-handler/index.d.ts +50 -50
- package/build/src/http-server/worker-handler/index.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/index.js +11 -11
- package/build/src/http-server/worker-handler/worker-thread.d.ts +61 -61
- package/build/src/http-server/worker-handler/worker-thread.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/worker-thread.js +9 -9
- package/build/src/initializer.d.ts +2 -2
- package/build/src/initializer.d.ts.map +1 -1
- package/build/src/jobs/mail-delivery.d.ts +7 -2
- package/build/src/jobs/mail-delivery.d.ts.map +1 -1
- package/build/src/jobs/prune-terminal-background-jobs.d.ts +15 -2
- package/build/src/jobs/prune-terminal-background-jobs.d.ts.map +1 -1
- package/build/src/jobs/prune-terminal-background-jobs.js +1 -1
- package/build/src/logger/base-logger.d.ts.map +1 -1
- package/build/src/logger/base-logger.js +2 -2
- package/build/src/logger/console-logger.d.ts +3 -3
- package/build/src/logger/console-logger.d.ts.map +1 -1
- package/build/src/logger/file-logger.d.ts +4 -4
- package/build/src/logger/file-logger.d.ts.map +1 -1
- package/build/src/logger/outputs/array-output.d.ts +9 -12
- package/build/src/logger/outputs/array-output.d.ts.map +1 -1
- package/build/src/logger/outputs/console-output.d.ts +1 -4
- package/build/src/logger/outputs/console-output.d.ts.map +1 -1
- package/build/src/logger/outputs/file-output.d.ts +13 -16
- package/build/src/logger/outputs/file-output.d.ts.map +1 -1
- package/build/src/logger/outputs/stdout-output.d.ts +1 -4
- package/build/src/logger/outputs/stdout-output.d.ts.map +1 -1
- package/build/src/logger.d.ts +30 -29
- package/build/src/logger.d.ts.map +1 -1
- package/build/src/logger.js +13 -13
- package/build/src/mailer/backends/smtp.d.ts +8 -11
- package/build/src/mailer/backends/smtp.d.ts.map +1 -1
- package/build/src/mailer/backends/smtp.js +4 -4
- package/build/src/mailer/base.d.ts +61 -61
- package/build/src/mailer/base.d.ts.map +1 -1
- package/build/src/mailer/base.js +15 -15
- package/build/src/mailer/delivery.d.ts +16 -16
- package/build/src/mailer/delivery.d.ts.map +1 -1
- package/build/src/mailer/delivery.js +4 -4
- package/build/src/mailer/index.d.ts +8 -13
- package/build/src/mailer/index.d.ts.map +1 -1
- package/build/src/mailer/index.js +2 -2
- package/build/src/mailer.d.ts +9 -7
- package/build/src/mailer.d.ts.map +1 -1
- package/build/src/mailer.js +2 -2
- package/build/src/packages/velocious-package.d.ts +5 -5
- package/build/src/packages/velocious-package.d.ts.map +1 -1
- package/build/src/plugins/sqljs-wasm-route-controller.d.ts +1 -1
- package/build/src/plugins/sqljs-wasm-route-controller.d.ts.map +1 -1
- package/build/src/plugins/sqljs-wasm-route-controller.js +2 -2
- package/build/src/plugins/sqljs-wasm-route.d.ts +14 -20
- package/build/src/plugins/sqljs-wasm-route.d.ts.map +1 -1
- package/build/src/plugins/sqljs-wasm-route.js +1 -1
- package/build/src/record-payload-values.d.ts +14 -14
- package/build/src/record-payload-values.d.ts.map +1 -1
- package/build/src/record-payload-values.js +4 -4
- package/build/src/routes/app-routes.d.ts.map +1 -1
- package/build/src/routes/base-route.d.ts +11 -10
- package/build/src/routes/base-route.d.ts.map +1 -1
- package/build/src/routes/base-route.js +6 -6
- package/build/src/routes/basic-route.d.ts +36 -3
- package/build/src/routes/basic-route.d.ts.map +1 -1
- package/build/src/routes/basic-route.js +5 -5
- package/build/src/routes/built-in/api-manifest/controller.d.ts +1 -1
- package/build/src/routes/built-in/api-manifest/controller.d.ts.map +1 -1
- package/build/src/routes/built-in/debug/controller.d.ts +1 -1
- package/build/src/routes/built-in/debug/controller.d.ts.map +1 -1
- package/build/src/routes/built-in/errors/controller.d.ts +1 -1
- package/build/src/routes/built-in/errors/controller.d.ts.map +1 -1
- package/build/src/routes/get-route.d.ts +19 -4
- package/build/src/routes/get-route.d.ts.map +1 -1
- package/build/src/routes/get-route.js +3 -3
- package/build/src/routes/hooks/frontend-model-command-route-hook.d.ts +1 -1
- package/build/src/routes/hooks/frontend-model-command-route-hook.d.ts.map +1 -1
- package/build/src/routes/hooks/frontend-model-command-route-hook.js +2 -2
- package/build/src/routes/index.d.ts +5 -5
- package/build/src/routes/index.d.ts.map +1 -1
- package/build/src/routes/index.js +4 -4
- package/build/src/routes/namespace-route.d.ts +19 -4
- package/build/src/routes/namespace-route.d.ts.map +1 -1
- package/build/src/routes/namespace-route.js +2 -2
- package/build/src/routes/plugin-routes.d.ts +16 -19
- package/build/src/routes/plugin-routes.d.ts.map +1 -1
- package/build/src/routes/plugin-routes.js +2 -2
- package/build/src/routes/post-route.d.ts +19 -4
- package/build/src/routes/post-route.d.ts.map +1 -1
- package/build/src/routes/post-route.js +3 -3
- package/build/src/routes/resolver.d.ts +16 -16
- package/build/src/routes/resolver.d.ts.map +1 -1
- package/build/src/routes/resolver.js +6 -6
- package/build/src/routes/resource-route.d.ts +23 -8
- package/build/src/routes/resource-route.d.ts.map +1 -1
- package/build/src/routes/resource-route.js +2 -2
- package/build/src/routes/root-route.d.ts +1 -1
- package/build/src/routes/root-route.d.ts.map +1 -1
- package/build/src/sync/conflict-strategy.d.ts +50 -35
- package/build/src/sync/conflict-strategy.d.ts.map +1 -1
- package/build/src/sync/conflict-strategy.js +2 -2
- package/build/src/sync/device-identity.d.ts +109 -79
- package/build/src/sync/device-identity.d.ts.map +1 -1
- package/build/src/sync/local-mutation-log.d.ts +115 -92
- package/build/src/sync/local-mutation-log.d.ts.map +1 -1
- package/build/src/sync/offline-grant.d.ts +80 -63
- package/build/src/sync/offline-grant.d.ts.map +1 -1
- package/build/src/sync/peer-mutation-bundle.d.ts +33 -39
- package/build/src/sync/peer-mutation-bundle.d.ts.map +1 -1
- package/build/src/sync/query-scope.d.ts +3 -3
- package/build/src/sync/query-scope.d.ts.map +1 -1
- package/build/src/sync/query-scope.js +8 -8
- package/build/src/sync/server-change-feed.d.ts +129 -129
- package/build/src/sync/server-change-feed.d.ts.map +1 -1
- package/build/src/sync/server-change-feed.js +14 -14
- package/build/src/sync/server-sequence-allocator.d.ts +36 -36
- package/build/src/sync/server-sequence-allocator.d.ts.map +1 -1
- package/build/src/sync/server-sequence-allocator.js +6 -6
- package/build/src/sync/signed-sync-envelope-replay-service.d.ts +60 -48
- package/build/src/sync/signed-sync-envelope-replay-service.d.ts.map +1 -1
- package/build/src/sync/signed-sync-envelope-replay-service.js +21 -21
- package/build/src/sync/stable-json.d.ts +2 -2
- package/build/src/sync/stable-json.d.ts.map +1 -1
- package/build/src/sync/stable-json.js +5 -5
- package/build/src/sync/sync-api-client-types.d.ts +98 -25
- package/build/src/sync/sync-api-client-types.d.ts.map +1 -1
- package/build/src/sync/sync-api-client-types.js +73 -1
- package/build/src/sync/sync-api-client.d.ts +71 -71
- package/build/src/sync/sync-api-client.d.ts.map +1 -1
- package/build/src/sync/sync-api-client.js +30 -30
- package/build/src/sync/sync-api-controller.d.ts +23 -23
- package/build/src/sync/sync-api-controller.d.ts.map +1 -1
- package/build/src/sync/sync-change-fanout.d.ts +32 -38
- package/build/src/sync/sync-change-fanout.d.ts.map +1 -1
- package/build/src/sync/sync-change-fanout.js +7 -7
- package/build/src/sync/sync-channel-name.d.ts +1 -1
- package/build/src/sync/sync-channel-name.d.ts.map +1 -1
- package/build/src/sync/sync-client-registry.d.ts +4 -4
- package/build/src/sync/sync-client-registry.d.ts.map +1 -1
- package/build/src/sync/sync-client-registry.js +4 -4
- package/build/src/sync/sync-client-types.d.ts +130 -82
- package/build/src/sync/sync-client-types.d.ts.map +1 -1
- package/build/src/sync/sync-client-types.js +89 -1
- package/build/src/sync/sync-client.d.ts +76 -76
- package/build/src/sync/sync-client.d.ts.map +1 -1
- package/build/src/sync/sync-client.js +19 -19
- package/build/src/sync/sync-envelope-replay-service.d.ts +266 -298
- package/build/src/sync/sync-envelope-replay-service.d.ts.map +1 -1
- package/build/src/sync/sync-envelope-replay-service.js +77 -77
- package/build/src/sync/sync-model-change-feed-service.d.ts +23 -23
- package/build/src/sync/sync-model-change-feed-service.d.ts.map +1 -1
- package/build/src/sync/sync-model-change-feed-service.js +8 -8
- package/build/src/sync/sync-publish-suppression.d.ts +5 -5
- package/build/src/sync/sync-publish-suppression.d.ts.map +1 -1
- package/build/src/sync/sync-publish-suppression.js +3 -3
- package/build/src/sync/sync-publisher-types.d.ts +98 -55
- package/build/src/sync/sync-publisher-types.d.ts.map +1 -1
- package/build/src/sync/sync-publisher-types.js +75 -1
- package/build/src/sync/sync-publisher.d.ts +43 -43
- package/build/src/sync/sync-publisher.d.ts.map +1 -1
- package/build/src/sync/sync-publisher.js +20 -20
- package/build/src/sync/sync-realtime-bridge.d.ts +23 -23
- package/build/src/sync/sync-realtime-bridge.d.ts.map +1 -1
- package/build/src/sync/sync-realtime-bridge.js +9 -9
- package/build/src/sync/sync-replay-upsert-applier.d.ts +70 -70
- package/build/src/sync/sync-replay-upsert-applier.d.ts.map +1 -1
- package/build/src/sync/sync-replay-upsert-applier.js +17 -17
- package/build/src/sync/sync-resource-base.d.ts +52 -51
- package/build/src/sync/sync-resource-base.d.ts.map +1 -1
- package/build/src/sync/sync-resource-base.js +15 -15
- package/build/src/sync/sync-scope-attributes.d.ts +2 -2
- package/build/src/sync/sync-scope-attributes.d.ts.map +1 -1
- package/build/src/sync/sync-scope-attributes.js +2 -2
- package/build/src/sync/sync-scope-store.d.ts +36 -36
- package/build/src/sync/sync-scope-store.d.ts.map +1 -1
- package/build/src/sync/sync-scope-store.js +6 -6
- package/build/src/sync/sync-websocket-channel.d.ts +11 -6
- package/build/src/sync/sync-websocket-channel.d.ts.map +1 -1
- package/build/src/sync/sync-websocket-channel.js +6 -6
- package/build/src/tenants/default-tenant-database-provisioning.d.ts +4 -4
- package/build/src/tenants/default-tenant-database-provisioning.d.ts.map +1 -1
- package/build/src/tenants/default-tenant-database-provisioning.js +2 -2
- package/build/src/tenants/tenant-aggregator.d.ts +81 -81
- package/build/src/tenants/tenant-aggregator.d.ts.map +1 -1
- package/build/src/tenants/tenant-aggregator.js +13 -13
- package/build/src/tenants/tenant-handle.d.ts +64 -0
- package/build/src/tenants/tenant-handle.d.ts.map +1 -0
- package/build/src/tenants/tenant-handle.js +221 -0
- package/build/src/tenants/tenant-iterator.d.ts +17 -17
- package/build/src/tenants/tenant-iterator.d.ts.map +1 -1
- package/build/src/tenants/tenant-iterator.js +7 -7
- package/build/src/tenants/tenant-model-scope.d.ts +73 -0
- package/build/src/tenants/tenant-model-scope.d.ts.map +1 -0
- package/build/src/tenants/tenant-model-scope.js +115 -0
- package/build/src/tenants/tenant.d.ts +16 -6
- package/build/src/tenants/tenant.d.ts.map +1 -1
- package/build/src/tenants/tenant.js +15 -3
- package/build/src/testing/base-expect.d.ts.map +1 -1
- package/build/src/testing/browser-frontend-model-event-hook-scenarios.d.ts +19 -31
- package/build/src/testing/browser-frontend-model-event-hook-scenarios.d.ts.map +1 -1
- package/build/src/testing/browser-test-app.js +6 -6
- package/build/src/testing/expect-to-change.d.ts +9 -7
- package/build/src/testing/expect-to-change.d.ts.map +1 -1
- package/build/src/testing/expect-to-change.js +2 -2
- package/build/src/testing/expect-utils.d.ts +30 -29
- package/build/src/testing/expect-utils.d.ts.map +1 -1
- package/build/src/testing/expect-utils.js +30 -30
- package/build/src/testing/expect.d.ts +30 -30
- package/build/src/testing/expect.d.ts.map +1 -1
- package/build/src/testing/expect.js +19 -19
- package/build/src/testing/factory/association-declaration.d.ts +16 -16
- package/build/src/testing/factory/association-declaration.d.ts.map +1 -1
- package/build/src/testing/factory/association-declaration.js +3 -3
- package/build/src/testing/factory/declarations.d.ts +90 -115
- package/build/src/testing/factory/declarations.d.ts.map +1 -1
- package/build/src/testing/factory/declarations.js +6 -6
- package/build/src/testing/factory/definition-builder.d.ts +72 -70
- package/build/src/testing/factory/definition-builder.d.ts.map +1 -1
- package/build/src/testing/factory/definition-builder.js +40 -40
- package/build/src/testing/factory/errors.d.ts +30 -29
- package/build/src/testing/factory/errors.d.ts.map +1 -1
- package/build/src/testing/factory/evaluation-context.d.ts +29 -29
- package/build/src/testing/factory/evaluation-context.d.ts.map +1 -1
- package/build/src/testing/factory/evaluation-context.js +17 -17
- package/build/src/testing/factory/events.d.ts +4 -5
- package/build/src/testing/factory/events.d.ts.map +1 -1
- package/build/src/testing/factory/factory-definition.d.ts +14 -14
- package/build/src/testing/factory/factory-definition.d.ts.map +1 -1
- package/build/src/testing/factory/factory-definition.js +3 -3
- package/build/src/testing/factory/factory-registry.d.ts +56 -54
- package/build/src/testing/factory/factory-registry.d.ts.map +1 -1
- package/build/src/testing/factory/factory-registry.js +35 -35
- package/build/src/testing/factory/factory-runner.d.ts +67 -73
- package/build/src/testing/factory/factory-runner.d.ts.map +1 -1
- package/build/src/testing/factory/factory-runner.js +9 -9
- package/build/src/testing/factory/index.d.ts +7 -7
- package/build/src/testing/factory/index.d.ts.map +1 -1
- package/build/src/testing/factory/linter.d.ts +7 -7
- package/build/src/testing/factory/linter.d.ts.map +1 -1
- package/build/src/testing/factory/linter.js +3 -3
- package/build/src/testing/factory/model-contract.d.ts +3 -3
- package/build/src/testing/factory/model-contract.d.ts.map +1 -1
- package/build/src/testing/factory/model-contract.js +4 -4
- package/build/src/testing/factory/node/load-definitions.d.ts +2 -2
- package/build/src/testing/factory/node/load-definitions.d.ts.map +1 -1
- package/build/src/testing/factory/sequence.d.ts +19 -23
- package/build/src/testing/factory/sequence.d.ts.map +1 -1
- package/build/src/testing/factory/sequence.js +3 -3
- package/build/src/testing/factory/strategies/attributes-for.d.ts +3 -3
- package/build/src/testing/factory/strategies/attributes-for.d.ts.map +1 -1
- package/build/src/testing/factory/strategies/attributes-for.js +2 -2
- package/build/src/testing/factory/strategies/base.d.ts +32 -32
- package/build/src/testing/factory/strategies/base.d.ts.map +1 -1
- package/build/src/testing/factory/strategies/base.js +25 -25
- package/build/src/testing/factory/strategies/build.d.ts +3 -3
- package/build/src/testing/factory/strategies/build.d.ts.map +1 -1
- package/build/src/testing/factory/strategies/build.js +3 -3
- package/build/src/testing/factory/strategies/create.d.ts +6 -6
- package/build/src/testing/factory/strategies/create.d.ts.map +1 -1
- package/build/src/testing/factory/strategies/create.js +5 -5
- package/build/src/testing/factory/trait-definition.d.ts +4 -4
- package/build/src/testing/factory/trait-definition.d.ts.map +1 -1
- package/build/src/testing/request-client.d.ts +19 -19
- package/build/src/testing/request-client.d.ts.map +1 -1
- package/build/src/testing/test-files-finder.d.ts +15 -15
- package/build/src/testing/test-files-finder.d.ts.map +1 -1
- package/build/src/testing/test-files-finder.js +2 -2
- package/build/src/testing/test-filter-parser.d.ts +19 -12
- package/build/src/testing/test-filter-parser.d.ts.map +1 -1
- package/build/src/testing/test-runner.d.ts +204 -251
- package/build/src/testing/test-runner.d.ts.map +1 -1
- package/build/src/testing/test-runner.js +15 -15
- package/build/src/testing/test-suite-splitter.d.ts +25 -31
- package/build/src/testing/test-suite-splitter.d.ts.map +1 -1
- package/build/src/testing/test.d.ts +51 -55
- package/build/src/testing/test.d.ts.map +1 -1
- package/build/src/testing/test.js +20 -18
- package/build/src/testing/wait-for-event.d.ts +25 -25
- package/build/src/testing/wait-for-event.d.ts.map +1 -1
- package/build/src/testing/wait-for-event.js +6 -6
- package/build/src/time-zone.d.ts +3 -3
- package/build/src/time-zone.d.ts.map +1 -1
- package/build/src/utils/backtrace-cleaner-node.d.ts +35 -2
- package/build/src/utils/backtrace-cleaner-node.d.ts.map +1 -1
- package/build/src/utils/backtrace-cleaner-node.js +1 -1
- package/build/src/utils/backtrace-cleaner.d.ts +33 -28
- package/build/src/utils/backtrace-cleaner.d.ts.map +1 -1
- package/build/src/utils/bearer-token.d.ts +2 -2
- package/build/src/utils/bearer-token.d.ts.map +1 -1
- package/build/src/utils/deburr-column-name.d.ts.map +1 -1
- package/build/src/utils/event-emitter.d.ts +1 -1
- package/build/src/utils/event-emitter.d.ts.map +1 -1
- package/build/src/utils/event-emitter.js +2 -2
- package/build/src/utils/file-exists.d.ts.map +1 -1
- package/build/src/utils/format-value.d.ts +9 -8
- package/build/src/utils/format-value.d.ts.map +1 -1
- package/build/src/utils/format-value.js +7 -7
- package/build/src/utils/is-date.d.ts +2 -2
- package/build/src/utils/is-date.d.ts.map +1 -1
- package/build/src/utils/is-date.js +2 -2
- package/build/src/utils/model-scope.d.ts +29 -24
- package/build/src/utils/model-scope.d.ts.map +1 -1
- package/build/src/utils/model-scope.js +11 -11
- package/build/src/utils/mount-prefix.d.ts +2 -2
- package/build/src/utils/mount-prefix.d.ts.map +1 -1
- package/build/src/utils/nest-callbacks.d.ts.map +1 -1
- package/build/src/utils/plain-object.d.ts +3 -3
- package/build/src/utils/plain-object.d.ts.map +1 -1
- package/build/src/utils/plain-object.js +3 -3
- package/build/src/utils/ransack.d.ts +69 -90
- package/build/src/utils/ransack.d.ts.map +1 -1
- package/build/src/utils/ransack.js +36 -36
- package/build/src/utils/rest-args-error.d.ts.map +1 -1
- package/build/src/utils/sha256-hex.d.ts.map +1 -1
- package/build/src/utils/shutdown-lifecycle.d.ts +1 -1
- package/build/src/utils/shutdown-lifecycle.d.ts.map +1 -1
- package/build/src/utils/singularize-model-name.d.ts.map +1 -1
- package/build/src/utils/split-sql-statements.d.ts.map +1 -1
- package/build/src/utils/to-import-specifier.d.ts.map +1 -1
- package/build/src/utils/with-tracked-stack-async-hooks.d.ts +6 -5
- package/build/src/utils/with-tracked-stack-async-hooks.d.ts.map +1 -1
- package/build/src/utils/with-tracked-stack-async-hooks.js +9 -9
- package/build/src/utils/with-tracked-stack.d.ts +6 -5
- package/build/src/utils/with-tracked-stack.d.ts.map +1 -1
- package/build/src/utils/with-tracked-stack.js +7 -7
- package/build/src/velocious-error.d.ts +27 -17
- package/build/src/velocious-error.d.ts.map +1 -1
- package/build/src/velocious-error.js +10 -4
- package/build/sync/conflict-strategy.js +1 -1
- package/build/sync/query-scope.js +7 -7
- package/build/sync/server-change-feed.js +13 -13
- package/build/sync/server-sequence-allocator.js +5 -5
- package/build/sync/signed-sync-envelope-replay-service.js +20 -20
- package/build/sync/stable-json.js +4 -4
- package/build/sync/sync-api-client-types.js +7 -7
- package/build/sync/sync-api-client.js +26 -26
- package/build/sync/sync-change-fanout.js +6 -6
- package/build/sync/sync-client-registry.js +3 -3
- package/build/sync/sync-client-types.js +10 -10
- package/build/sync/sync-client.js +18 -18
- package/build/sync/sync-envelope-replay-service.js +76 -76
- package/build/sync/sync-model-change-feed-service.js +7 -7
- package/build/sync/sync-publish-suppression.js +2 -2
- package/build/sync/sync-publisher-types.js +11 -11
- package/build/sync/sync-publisher.js +19 -19
- package/build/sync/sync-realtime-bridge.js +8 -8
- package/build/sync/sync-replay-upsert-applier.js +16 -16
- package/build/sync/sync-resource-base.js +14 -14
- package/build/sync/sync-scope-attributes.js +1 -1
- package/build/sync/sync-scope-store.js +5 -5
- package/build/sync/sync-websocket-channel.js +5 -5
- package/build/tenants/default-tenant-database-provisioning.js +1 -1
- package/build/tenants/tenant-aggregator.js +13 -13
- package/build/tenants/tenant-handle.js +252 -0
- package/build/tenants/tenant-iterator.js +6 -6
- package/build/tenants/tenant-model-scope.js +132 -0
- package/build/tenants/tenant.js +15 -2
- package/build/testing/browser-test-app.js +2 -2
- package/build/testing/expect-to-change.js +1 -1
- package/build/testing/expect-utils.js +29 -29
- package/build/testing/expect.js +18 -18
- package/build/testing/factory/association-declaration.js +2 -2
- package/build/testing/factory/declarations.js +5 -5
- package/build/testing/factory/definition-builder.js +39 -39
- package/build/testing/factory/evaluation-context.js +16 -16
- package/build/testing/factory/factory-definition.js +2 -2
- package/build/testing/factory/factory-registry.js +34 -34
- package/build/testing/factory/factory-runner.js +8 -8
- package/build/testing/factory/linter.js +2 -2
- package/build/testing/factory/model-contract.js +3 -3
- package/build/testing/factory/sequence.js +2 -2
- package/build/testing/factory/strategies/attributes-for.js +1 -1
- package/build/testing/factory/strategies/base.js +24 -24
- package/build/testing/factory/strategies/build.js +2 -2
- package/build/testing/factory/strategies/create.js +4 -4
- package/build/testing/test-files-finder.js +1 -1
- package/build/testing/test-runner.js +14 -14
- package/build/testing/test.js +19 -17
- package/build/testing/wait-for-event.js +5 -5
- package/build/tsconfig.tsbuildinfo +1 -1
- package/build/utils/event-emitter.js +1 -1
- package/build/utils/format-value.js +6 -6
- package/build/utils/is-date.js +1 -1
- package/build/utils/model-scope.js +10 -10
- package/build/utils/plain-object.js +2 -2
- package/build/utils/ransack.js +35 -35
- package/build/utils/with-tracked-stack-async-hooks.js +8 -8
- package/build/utils/with-tracked-stack.js +6 -6
- package/build/velocious-error.js +9 -3
- package/package.json +3 -3
- package/src/application.js +3 -3
- package/src/authorization/ability.js +6 -6
- package/src/authorization/base-resource.js +1 -1
- package/src/background-jobs/client.js +2 -2
- package/src/background-jobs/forked-runner-child.js +4 -4
- package/src/background-jobs/job-runner.js +2 -2
- package/src/background-jobs/job.js +6 -6
- package/src/background-jobs/json-socket.js +1 -1
- package/src/background-jobs/main.js +13 -13
- package/src/background-jobs/normalize-error.js +2 -2
- package/src/background-jobs/pooled-runner-child.js +3 -3
- package/src/background-jobs/scheduler.js +1 -1
- package/src/background-jobs/status-reporter.js +2 -2
- package/src/background-jobs/store.js +23 -23
- package/src/background-jobs/types.js +6 -6
- package/src/background-jobs/web/controller.js +6 -6
- package/src/background-jobs/web/counts-channel.js +1 -1
- package/src/background-jobs/worker.js +8 -8
- package/src/beacon/client.js +3 -3
- package/src/beacon/in-process-client.js +3 -3
- package/src/beacon/types.js +1 -1
- package/src/cli/base-command.js +1 -1
- package/src/cli/commands/console.js +1 -1
- package/src/cli/commands/db/schema/dump.js +1 -1
- package/src/cli/commands/db/schema/load.js +1 -1
- package/src/cli/commands/db/seed.js +1 -1
- package/src/cli/commands/generate/frontend-models.js +1 -1
- package/src/cli/commands/lint/relationships.js +1 -1
- package/src/cli/commands/run-script.js +1 -1
- package/src/cli/commands/runner.js +1 -1
- package/src/cli/index.js +2 -2
- package/src/cli/tenant-database-command-helper.js +2 -2
- package/src/configuration-types.js +48 -47
- package/src/configuration.js +150 -65
- package/src/controller.js +11 -8
- package/src/current.js +2 -2
- package/src/database/annotations-async-hooks.js +3 -3
- package/src/database/annotations.js +1 -1
- package/src/database/drivers/base-column.js +1 -1
- package/src/database/drivers/base-foreign-key.js +1 -1
- package/src/database/drivers/base-table.js +1 -1
- package/src/database/drivers/base.js +18 -18
- package/src/database/drivers/mssql/column.js +1 -1
- package/src/database/drivers/mssql/index.js +2 -2
- package/src/database/drivers/mssql/options.js +1 -1
- package/src/database/drivers/mssql/structure-sql.js +1 -1
- package/src/database/drivers/mssql/table.js +1 -1
- package/src/database/drivers/mysql/column.js +1 -1
- package/src/database/drivers/mysql/index.js +4 -4
- package/src/database/drivers/mysql/options.js +1 -1
- package/src/database/drivers/mysql/query.js +7 -7
- package/src/database/drivers/mysql/structure-sql.js +71 -10
- package/src/database/drivers/pgsql/column.js +1 -1
- package/src/database/drivers/pgsql/index.js +6 -6
- package/src/database/drivers/pgsql/structure-sql.js +1 -1
- package/src/database/drivers/sqlite/base.js +7 -7
- package/src/database/drivers/sqlite/column.js +1 -1
- package/src/database/drivers/sqlite/connection-sql-js.js +1 -1
- package/src/database/drivers/sqlite/foreign-key.js +1 -1
- package/src/database/drivers/sqlite/index.js +1 -1
- package/src/database/drivers/sqlite/index.native.js +2 -2
- package/src/database/drivers/sqlite/index.web.js +2 -2
- package/src/database/drivers/sqlite/query.js +2 -2
- package/src/database/drivers/sqlite/query.native.js +2 -2
- package/src/database/drivers/sqlite/query.web.js +2 -2
- package/src/database/drivers/sqlite/table-rebuilder.js +1 -1
- package/src/database/migration/index.js +2 -2
- package/src/database/migrator/types.js +2 -2
- package/src/database/operation.js +59 -6
- package/src/database/pool/async-tracked-multi-connection.js +75 -24
- package/src/database/pool/base-methods-forward.js +2 -2
- package/src/database/pool/base.js +48 -17
- package/src/database/pool/single-multi-use.js +501 -103
- package/src/database/query/delete-base.js +1 -1
- package/src/database/query/index.js +3 -3
- package/src/database/query/insert-base.js +4 -4
- package/src/database/query/model-class-query.js +39 -39
- package/src/database/query/preloader/belongs-to.js +2 -2
- package/src/database/query/preloader/ensure-model-class-initialized.js +3 -2
- package/src/database/query/preloader/has-many.js +3 -3
- package/src/database/query/preloader/has-one.js +1 -1
- package/src/database/query/preloader.js +9 -2
- package/src/database/query/query-data.js +7 -7
- package/src/database/query/update-base.js +3 -3
- package/src/database/query/upsert-base.js +2 -2
- package/src/database/query/where-model-class-hash.js +13 -13
- package/src/database/query/with-count.js +12 -12
- package/src/database/query-parser/options.js +2 -2
- package/src/database/query-parser/select-parser.js +1 -1
- package/src/database/record/acts-as-list.js +2 -2
- package/src/database/record/attachments/handle.js +6 -6
- package/src/database/record/attachments/normalize-input.js +11 -11
- package/src/database/record/attachments/storage-drivers/filesystem.js +1 -1
- package/src/database/record/attachments/storage-drivers/native.js +5 -5
- package/src/database/record/attachments/storage-drivers/s3.js +10 -10
- package/src/database/record/attachments/store.js +24 -20
- package/src/database/record/auditing.js +123 -29
- package/src/database/record/counter-cache-magnitude.js +11 -11
- package/src/database/record/index.js +227 -174
- package/src/database/record/instance-relationships/base.js +4 -4
- package/src/database/record/instance-relationships/belongs-to.js +1 -1
- package/src/database/record/instance-relationships/has-many.js +3 -3
- package/src/database/record/instance-relationships/has-one.js +1 -1
- package/src/database/record/record-not-found-error.js +1 -0
- package/src/database/record/relationships/base.js +22 -0
- package/src/database/record/state-machine.js +6 -6
- package/src/database/record/validators/base.js +1 -1
- package/src/database/structure-sql-loader.js +3 -3
- package/src/database/table-data/table-column.js +3 -3
- package/src/database/use-live-query.js +3 -3
- package/src/environment-handlers/base.js +56 -37
- package/src/environment-handlers/browser.js +1 -1
- package/src/environment-handlers/node/cli/commands/console.js +4 -4
- package/src/environment-handlers/node/cli/commands/db/seed.js +2 -2
- package/src/environment-handlers/node/cli/commands/generate/base-models.js +1 -1
- package/src/environment-handlers/node/cli/commands/run-script.js +2 -2
- package/src/environment-handlers/node/cli/commands/runner.js +2 -2
- package/src/environment-handlers/node/cli/commands/server.js +1 -1
- package/src/environment-handlers/node.js +36 -36
- package/src/error-logger.js +2 -2
- package/src/error-reporting/request-details.js +32 -32
- package/src/frontend-model-controller.js +215 -213
- package/src/frontend-model-resource/base-resource.js +44 -44
- package/src/frontend-model-resource/velocious-attachment-resource.js +1 -1
- package/src/frontend-models/base.js +146 -142
- package/src/frontend-models/clear-pending-debounced-callback.js +2 -2
- package/src/frontend-models/model-registry.js +4 -4
- package/src/frontend-models/outgoing-event-buffer.js +1 -1
- package/src/frontend-models/preloader.js +1 -1
- package/src/frontend-models/query.js +60 -60
- package/src/frontend-models/resource-definition.js +9 -9
- package/src/frontend-models/transport-serialization.js +27 -27
- package/src/frontend-models/websocket-channel.js +4 -4
- package/src/frontend-models/websocket-publishers.js +1 -1
- package/src/http-client/request.js +1 -1
- package/src/http-client/response.js +1 -1
- package/src/http-server/client/index.js +4 -4
- package/src/http-server/client/params-to-object.js +16 -16
- package/src/http-server/client/request-buffer/index.js +5 -2
- package/src/http-server/client/request-parser.js +2 -2
- package/src/http-server/client/request-runner.js +2 -2
- package/src/http-server/client/request.js +2 -2
- package/src/http-server/client/websocket-request.js +6 -6
- package/src/http-server/client/websocket-session.js +28 -28
- package/src/http-server/cookie.js +2 -2
- package/src/http-server/development-reloader.js +1 -1
- package/src/http-server/index.js +5 -5
- package/src/http-server/remote-address.js +1 -1
- package/src/http-server/server-lock.js +4 -4
- package/src/http-server/websocket-channel-subscribers.js +4 -4
- package/src/http-server/websocket-channel.js +1 -1
- package/src/http-server/websocket-connection.js +3 -3
- package/src/http-server/websocket-event-log-store.js +9 -9
- package/src/http-server/websocket-events-host.js +7 -7
- package/src/http-server/websocket-events.js +4 -4
- package/src/http-server/worker-handler/channel-subscriber-dispatch.js +1 -1
- package/src/http-server/worker-handler/in-process.js +5 -5
- package/src/http-server/worker-handler/index.js +10 -10
- package/src/http-server/worker-handler/worker-thread.js +8 -8
- package/src/logger/base-logger.js +1 -1
- package/src/logger.js +12 -12
- package/src/mailer/backends/smtp.js +3 -3
- package/src/mailer/base.js +14 -14
- package/src/mailer/delivery.js +3 -3
- package/src/mailer/index.js +1 -1
- package/src/mailer.js +1 -1
- package/src/plugins/sqljs-wasm-route-controller.js +1 -1
- package/src/record-payload-values.js +3 -3
- package/src/routes/base-route.js +5 -5
- package/src/routes/basic-route.js +4 -4
- package/src/routes/get-route.js +2 -2
- package/src/routes/hooks/frontend-model-command-route-hook.js +1 -1
- package/src/routes/index.js +3 -3
- package/src/routes/namespace-route.js +1 -1
- package/src/routes/plugin-routes.js +1 -1
- package/src/routes/post-route.js +2 -2
- package/src/routes/resolver.js +5 -5
- package/src/routes/resource-route.js +1 -1
- package/src/sync/conflict-strategy.js +1 -1
- package/src/sync/query-scope.js +7 -7
- package/src/sync/server-change-feed.js +13 -13
- package/src/sync/server-sequence-allocator.js +5 -5
- package/src/sync/signed-sync-envelope-replay-service.js +20 -20
- package/src/sync/stable-json.js +4 -4
- package/src/sync/sync-api-client-types.js +7 -7
- package/src/sync/sync-api-client.js +26 -26
- package/src/sync/sync-change-fanout.js +6 -6
- package/src/sync/sync-client-registry.js +3 -3
- package/src/sync/sync-client-types.js +10 -10
- package/src/sync/sync-client.js +18 -18
- package/src/sync/sync-envelope-replay-service.js +76 -76
- package/src/sync/sync-model-change-feed-service.js +7 -7
- package/src/sync/sync-publish-suppression.js +2 -2
- package/src/sync/sync-publisher-types.js +11 -11
- package/src/sync/sync-publisher.js +19 -19
- package/src/sync/sync-realtime-bridge.js +8 -8
- package/src/sync/sync-replay-upsert-applier.js +16 -16
- package/src/sync/sync-resource-base.js +14 -14
- package/src/sync/sync-scope-attributes.js +1 -1
- package/src/sync/sync-scope-store.js +5 -5
- package/src/sync/sync-websocket-channel.js +5 -5
- package/src/tenants/default-tenant-database-provisioning.js +1 -1
- package/src/tenants/tenant-aggregator.js +13 -13
- package/src/tenants/tenant-handle.js +252 -0
- package/src/tenants/tenant-iterator.js +6 -6
- package/src/tenants/tenant-model-scope.js +132 -0
- package/src/tenants/tenant.js +15 -2
- package/src/testing/browser-test-app.js +2 -2
- package/src/testing/expect-to-change.js +1 -1
- package/src/testing/expect-utils.js +29 -29
- package/src/testing/expect.js +18 -18
- package/src/testing/factory/association-declaration.js +2 -2
- package/src/testing/factory/declarations.js +5 -5
- package/src/testing/factory/definition-builder.js +39 -39
- package/src/testing/factory/evaluation-context.js +16 -16
- package/src/testing/factory/factory-definition.js +2 -2
- package/src/testing/factory/factory-registry.js +34 -34
- package/src/testing/factory/factory-runner.js +8 -8
- package/src/testing/factory/linter.js +2 -2
- package/src/testing/factory/model-contract.js +3 -3
- package/src/testing/factory/sequence.js +2 -2
- package/src/testing/factory/strategies/attributes-for.js +1 -1
- package/src/testing/factory/strategies/base.js +24 -24
- package/src/testing/factory/strategies/build.js +2 -2
- package/src/testing/factory/strategies/create.js +4 -4
- package/src/testing/test-files-finder.js +1 -1
- package/src/testing/test-runner.js +14 -14
- package/src/testing/test.js +19 -17
- package/src/testing/wait-for-event.js +5 -5
- package/src/utils/event-emitter.js +1 -1
- package/src/utils/format-value.js +6 -6
- package/src/utils/is-date.js +1 -1
- package/src/utils/model-scope.js +10 -10
- package/src/utils/plain-object.js +2 -2
- package/src/utils/ransack.js +35 -35
- package/src/utils/with-tracked-stack-async-hooks.js +8 -8
- package/src/utils/with-tracked-stack.js +6 -6
- package/src/velocious-error.js +9 -3
|
@@ -1,7 +1,71 @@
|
|
|
1
|
+
export type RelationshipScopeCallback = (query: import("../../query/model-class-query.js").default<typeof import("../index.js").default>) => (import("../../query/model-class-query.js").default<typeof import("../index.js").default> | void);
|
|
2
|
+
export type RelationshipRecordResolver = (record: import("../index.js").default) => VelociousDatabaseRecordBaseRelationship;
|
|
3
|
+
export type RelationshipBaseArgsType = {
|
|
4
|
+
/**
|
|
5
|
+
* - Whether to auto-batch-preload siblings when this relationship is lazy-loaded. Default true.
|
|
6
|
+
*/
|
|
7
|
+
autoload?: boolean;
|
|
8
|
+
/**
|
|
9
|
+
* - Name of the related model class.
|
|
10
|
+
*/
|
|
11
|
+
className?: string;
|
|
12
|
+
/**
|
|
13
|
+
* - Auto-sync parent count column on create/update/destroy.
|
|
14
|
+
*/
|
|
15
|
+
counterCache?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* - Dependent action when parent is destroyed.
|
|
18
|
+
*/
|
|
19
|
+
dependent?: string;
|
|
20
|
+
/**
|
|
21
|
+
* - Explicit foreign key column name.
|
|
22
|
+
*/
|
|
23
|
+
foreignKey?: string | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* - Inverse relationship name on the related model.
|
|
26
|
+
*/
|
|
27
|
+
inverseOf?: string;
|
|
28
|
+
/**
|
|
29
|
+
* - Related model class.
|
|
30
|
+
*/
|
|
31
|
+
klass?: typeof import("../index.js").default;
|
|
32
|
+
/**
|
|
33
|
+
* - Owning model class.
|
|
34
|
+
*/
|
|
35
|
+
modelClass: typeof import("../index.js").default;
|
|
36
|
+
/**
|
|
37
|
+
* - Primary key column on the owning model.
|
|
38
|
+
*/
|
|
39
|
+
primaryKey?: string;
|
|
40
|
+
/**
|
|
41
|
+
* - Whether the relationship is polymorphic.
|
|
42
|
+
*/
|
|
43
|
+
polymorphic?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* - Name of the relationship on the model.
|
|
46
|
+
*/
|
|
47
|
+
relationshipName: string;
|
|
48
|
+
/**
|
|
49
|
+
* - Optional scope callback for the relationship.
|
|
50
|
+
*/
|
|
51
|
+
scope?: RelationshipScopeCallback;
|
|
52
|
+
/**
|
|
53
|
+
* - Name of the through association.
|
|
54
|
+
*/
|
|
55
|
+
through?: string;
|
|
56
|
+
/**
|
|
57
|
+
* - Relationship type (e.g. "hasMany").
|
|
58
|
+
*/
|
|
59
|
+
type: string;
|
|
60
|
+
};
|
|
1
61
|
/**
|
|
2
62
|
* RelationshipScopeCallback type.
|
|
3
63
|
* @typedef {(query: import("../../query/model-class-query.js").default<typeof import("../index.js").default>) => (import("../../query/model-class-query.js").default<typeof import("../index.js").default> | void)} RelationshipScopeCallback
|
|
4
64
|
*/
|
|
65
|
+
/**
|
|
66
|
+
* RelationshipRecordResolver type.
|
|
67
|
+
* @typedef {(record: import("../index.js").default) => VelociousDatabaseRecordBaseRelationship} RelationshipRecordResolver
|
|
68
|
+
*/
|
|
5
69
|
/**
|
|
6
70
|
* RelationshipBaseArgsType type.
|
|
7
71
|
* @typedef {object} RelationshipBaseArgsType
|
|
@@ -21,11 +85,6 @@
|
|
|
21
85
|
* @property {string} type - Relationship type (e.g. "hasMany").
|
|
22
86
|
*/
|
|
23
87
|
export default class VelociousDatabaseRecordBaseRelationship {
|
|
24
|
-
/**
|
|
25
|
-
* Runs constructor.
|
|
26
|
-
* @param {RelationshipBaseArgsType} args - Relationship definition arguments.
|
|
27
|
-
*/
|
|
28
|
-
constructor({ autoload, className, counterCache, dependent, foreignKey, inverseOf, klass, modelClass, primaryKey, polymorphic, relationshipName, scope, through, type, ...restArgs }: RelationshipBaseArgsType);
|
|
29
88
|
_autoload: boolean;
|
|
30
89
|
className: string | undefined;
|
|
31
90
|
_counterCache: boolean;
|
|
@@ -41,6 +100,25 @@ export default class VelociousDatabaseRecordBaseRelationship {
|
|
|
41
100
|
_scope: RelationshipScopeCallback | undefined;
|
|
42
101
|
through: string | undefined;
|
|
43
102
|
type: string;
|
|
103
|
+
_recordResolver: RelationshipRecordResolver | undefined;
|
|
104
|
+
_polymorphicTypeColumn: string | undefined;
|
|
105
|
+
/**
|
|
106
|
+
* Runs constructor.
|
|
107
|
+
* @param {RelationshipBaseArgsType} args - Relationship definition arguments.
|
|
108
|
+
*/
|
|
109
|
+
constructor({ autoload, className, counterCache, dependent, foreignKey, inverseOf, klass, modelClass, primaryKey, polymorphic, relationshipName, scope, through, type, ...restArgs }: RelationshipBaseArgsType);
|
|
110
|
+
/**
|
|
111
|
+
* Installs metadata selection for relationships whose physical definition varies by record operation.
|
|
112
|
+
* @param {RelationshipRecordResolver} resolver - Record-owned relationship resolver.
|
|
113
|
+
* @returns {void}
|
|
114
|
+
*/
|
|
115
|
+
setRecordResolver(resolver: RelationshipRecordResolver): void;
|
|
116
|
+
/**
|
|
117
|
+
* Resolves this relationship for a record's captured physical database identity.
|
|
118
|
+
* @param {import("../index.js").default} record - Record owning the relationship access.
|
|
119
|
+
* @returns {VelociousDatabaseRecordBaseRelationship} - Physical relationship metadata.
|
|
120
|
+
*/
|
|
121
|
+
resolveForRecord(record: import("../index.js").default): VelociousDatabaseRecordBaseRelationship;
|
|
44
122
|
/**
|
|
45
123
|
* Runs get autoload.
|
|
46
124
|
* @returns {boolean} Whether this relationship auto-batch-preloads siblings on lazy access.
|
|
@@ -108,7 +186,6 @@ export default class VelociousDatabaseRecordBaseRelationship {
|
|
|
108
186
|
* @returns {string} - The polymorphic type column.
|
|
109
187
|
*/
|
|
110
188
|
getPolymorphicTypeColumn(): string;
|
|
111
|
-
_polymorphicTypeColumn: string | undefined;
|
|
112
189
|
/**
|
|
113
190
|
* Runs get primary key.
|
|
114
191
|
* @returns {string} The name of the foreign key, e.g. "id" etc.
|
|
@@ -125,69 +202,4 @@ export default class VelociousDatabaseRecordBaseRelationship {
|
|
|
125
202
|
*/
|
|
126
203
|
getTargetModelClass(): typeof import("../index.js").default | undefined;
|
|
127
204
|
}
|
|
128
|
-
/**
|
|
129
|
-
* RelationshipScopeCallback type.
|
|
130
|
-
*/
|
|
131
|
-
export type RelationshipScopeCallback = (query: import("../../query/model-class-query.js").default<typeof import("../index.js").default>) => (import("../../query/model-class-query.js").default<typeof import("../index.js").default> | void);
|
|
132
|
-
/**
|
|
133
|
-
* RelationshipBaseArgsType type.
|
|
134
|
-
*/
|
|
135
|
-
export type RelationshipBaseArgsType = {
|
|
136
|
-
/**
|
|
137
|
-
* - Whether to auto-batch-preload siblings when this relationship is lazy-loaded. Default true.
|
|
138
|
-
*/
|
|
139
|
-
autoload?: boolean | undefined;
|
|
140
|
-
/**
|
|
141
|
-
* - Name of the related model class.
|
|
142
|
-
*/
|
|
143
|
-
className?: string | undefined;
|
|
144
|
-
/**
|
|
145
|
-
* - Auto-sync parent count column on create/update/destroy.
|
|
146
|
-
*/
|
|
147
|
-
counterCache?: boolean | undefined;
|
|
148
|
-
/**
|
|
149
|
-
* - Dependent action when parent is destroyed.
|
|
150
|
-
*/
|
|
151
|
-
dependent?: string | undefined;
|
|
152
|
-
/**
|
|
153
|
-
* - Explicit foreign key column name.
|
|
154
|
-
*/
|
|
155
|
-
foreignKey?: string | undefined;
|
|
156
|
-
/**
|
|
157
|
-
* - Inverse relationship name on the related model.
|
|
158
|
-
*/
|
|
159
|
-
inverseOf?: string | undefined;
|
|
160
|
-
/**
|
|
161
|
-
* - Related model class.
|
|
162
|
-
*/
|
|
163
|
-
klass?: typeof import("../index.js").default | undefined;
|
|
164
|
-
/**
|
|
165
|
-
* - Owning model class.
|
|
166
|
-
*/
|
|
167
|
-
modelClass: typeof import("../index.js").default;
|
|
168
|
-
/**
|
|
169
|
-
* - Primary key column on the owning model.
|
|
170
|
-
*/
|
|
171
|
-
primaryKey?: string | undefined;
|
|
172
|
-
/**
|
|
173
|
-
* - Whether the relationship is polymorphic.
|
|
174
|
-
*/
|
|
175
|
-
polymorphic?: boolean | undefined;
|
|
176
|
-
/**
|
|
177
|
-
* - Name of the relationship on the model.
|
|
178
|
-
*/
|
|
179
|
-
relationshipName: string;
|
|
180
|
-
/**
|
|
181
|
-
* - Optional scope callback for the relationship.
|
|
182
|
-
*/
|
|
183
|
-
scope?: RelationshipScopeCallback | undefined;
|
|
184
|
-
/**
|
|
185
|
-
* - Name of the through association.
|
|
186
|
-
*/
|
|
187
|
-
through?: string | undefined;
|
|
188
|
-
/**
|
|
189
|
-
* - Relationship type (e.g. "hasMany").
|
|
190
|
-
*/
|
|
191
|
-
type: string;
|
|
192
|
-
};
|
|
193
205
|
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/database/record/relationships/base.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../../../src/database/record/relationships/base.js"],"names":[],"mappings":"AAOG,YAAkN,yBAAyB,GAAjO,CAAC,KAAK,EAAE,OAAO,kCAAkC,EAAE,OAAO,CAAC,cAAc,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,kCAAkC,EAAE,OAAO,CAAC,cAAc,aAAa,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAA2B;AAI3O,YAA8F,0BAA0B,GAA9G,CAAC,MAAM,EAAE,OAAO,aAAa,EAAE,OAAO,KAAK,uCAAuC,CAA4B;AAIxH,YAAkB,wBAAwB,GAC1C;;;;IAAqB,QAAQ,AAA7B,CACA,EADW,OAAO,CAClB;;;;IAAoB,SAAS,AAA7B,CACA,EADW,MAAM,CACjB;;;;IAAqB,YAAY,AAAjC,CACA,EADW,OAAO,CAClB;;;;IAAoB,SAAS,AAA7B,CACA,EADW,MAAM,CACjB;;;;IAAgC,UAAU,AAA1C,CACA,EADW,MAAM,GAAG,SAAS,CAC7B;;;;IAAoB,SAAS,AAA7B,CACA,EADW,MAAM,CACjB;;;;IAAkD,KAAK,AAAvD,CACA,EADW,cAAc,aAAa,EAAE,OAAO,CAC/C;;;;IAAiD,UAAU,EAAhD,cAAc,aAAa,EAAE,OAAO,CAC/C;;;;IAAoB,UAAU,AAA9B,CACA,EADW,MAAM,CACjB;;;;IAAqB,WAAW,AAAhC,CACA,EADW,OAAO,CAClB;;;;IAAmB,gBAAgB,EAAxB,MAAM,CACjB;;;;IAAuC,KAAK,AAA5C,CACA,EADW,yBAAyB,CACpC;;;;IAAoB,OAAO,AAA3B,CACA,EADW,MAAM,CACjB;;;;IAAmB,IAAI,EAAZ,MAAM,CACnB;CAAA,CAAA;AAzBD;;;GAGG;AACH;;;GAGG;AACH;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,CAAC,OAAO,OAAO,uCAAuC;IAenD,SAAS;IACT,SAAS;IACT,aAAa;IACb,UAAU;IACV,UAAU;IACV,mBAAmB;IACnB,UAAU;IACV,KAAK;IACL,UAAU;IACV,YAAY;IACZ,WAAW;IACX,gBAAgB;IAChB,MAAM;IACN,OAAO;IACP,IAAI;IASJ,eAAe;IAiHX,sBAAsB;IAtJjC;;;OAGG;IACH,YAAY,EAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,UAAiB,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAC,EAF9K,wBAE8K,EAyBxL;IAED;;;;OAIG;IACH,iBAAiB,CAAC,QAAQ,EAHf,0BAGe,GAFb,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAAgB,CAAC,MAAM,EAHZ,OAAO,aAAa,EAAE,OAGV,GAFV,uCAAuC,CAInD;IAED;;;OAGG;IACH,WAAW,IAFE,OAAO,CAEmB;IAEvC,gBAAgB,gDAAiD;IAEjE;;;OAGG;IACH,eAAe,IAFF,OAAO,CAE2B;IAE/C;;;OAGG;IACH,YAAY,IAFC,MAAM,GAAG,SAAS,CAEU;IAEzC;;;;;OAKG;IACH,qBAAqB,IAFR,MAAM,GAAG,SAAS,CAE4B;IAE3D;;;;OAIG;IACH,aAAa,IAFA,MAAM,CAIlB;IAED;;;;OAIG;IACH,YAAY,IAFC,MAAM,GAAG,SAAS,CAI9B;IAED;;;OAGG;IACH,aAAa,IAFA,cAAc,aAAa,EAAE,OAAO,CAEP;IAE1C;;;OAGG;IACH,mBAAmB,IAFN,MAAM,CAEmC;IAEtD;;;OAGG;IACH,QAAQ,IAFK,yBAAyB,GAAG,SAAS,CAEjB;IAEjC;;;;;OAKG;IACH,UAAU,CAJG,CAAC,EAIH,KAAK,EAHL,CAGK,GAFH,CAAC,CAUb;IAED;;;OAGG;IACH,cAAc,IAFD,OAAO,CAInB;IAED;;;OAGG;IACH,wBAAwB,IAFX,MAAM,CAoBlB;IAED;;;OAGG;IACH,aAAa,IAFA,MAAM,CAEwB;IAE3C;;;OAGG;IACH,OAAO,IAFM,MAAM,CAEW;IAE9B;;;OAGG;IACH,mBAAmB,IAFN,cAAc,aAAa,EAAE,OAAO,GAAG,SAAS,CAY5D;CACF"}
|
|
@@ -5,6 +5,10 @@ import * as inflection from "inflection";
|
|
|
5
5
|
* RelationshipScopeCallback type.
|
|
6
6
|
* @typedef {(query: import("../../query/model-class-query.js").default<typeof import("../index.js").default>) => (import("../../query/model-class-query.js").default<typeof import("../index.js").default> | void)} RelationshipScopeCallback
|
|
7
7
|
*/
|
|
8
|
+
/**
|
|
9
|
+
* RelationshipRecordResolver type.
|
|
10
|
+
* @typedef {(record: import("../index.js").default) => VelociousDatabaseRecordBaseRelationship} RelationshipRecordResolver
|
|
11
|
+
*/
|
|
8
12
|
/**
|
|
9
13
|
* RelationshipBaseArgsType type.
|
|
10
14
|
* @typedef {object} RelationshipBaseArgsType
|
|
@@ -53,6 +57,22 @@ export default class VelociousDatabaseRecordBaseRelationship {
|
|
|
53
57
|
this.through = through;
|
|
54
58
|
this.type = type;
|
|
55
59
|
}
|
|
60
|
+
/**
|
|
61
|
+
* Installs metadata selection for relationships whose physical definition varies by record operation.
|
|
62
|
+
* @param {RelationshipRecordResolver} resolver - Record-owned relationship resolver.
|
|
63
|
+
* @returns {void}
|
|
64
|
+
*/
|
|
65
|
+
setRecordResolver(resolver) {
|
|
66
|
+
this._recordResolver = resolver;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Resolves this relationship for a record's captured physical database identity.
|
|
70
|
+
* @param {import("../index.js").default} record - Record owning the relationship access.
|
|
71
|
+
* @returns {VelociousDatabaseRecordBaseRelationship} - Physical relationship metadata.
|
|
72
|
+
*/
|
|
73
|
+
resolveForRecord(record) {
|
|
74
|
+
return this._recordResolver ? this._recordResolver(record) : this;
|
|
75
|
+
}
|
|
56
76
|
/**
|
|
57
77
|
* Runs get autoload.
|
|
58
78
|
* @returns {boolean} Whether this relationship auto-batch-preloads siblings on lazy access.
|
|
@@ -174,4 +194,4 @@ export default class VelociousDatabaseRecordBaseRelationship {
|
|
|
174
194
|
throw new Error("Couldn't figure out the target model class");
|
|
175
195
|
}
|
|
176
196
|
}
|
|
177
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9yZWNvcmQvcmVsYXRpb25zaGlwcy9iYXNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLGFBQWEsTUFBTSxtQ0FBbUMsQ0FBQTtBQUM3RCxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUV4Qzs7O0dBR0c7QUFDSDs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFFSCxNQUFNLENBQUMsT0FBTyxPQUFPLHVDQUF1QztJQUMxRDs7O09BR0c7SUFDSCxZQUFZLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxVQUFVLEdBQUcsSUFBSSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLFFBQVEsRUFBQztRQUN2TCxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFdkIsSUFBSSxDQUFDLFVBQVU7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUE7UUFDckYsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFdBQVc7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxVQUFVLENBQUMsSUFBSSxJQUFJLGdCQUFnQixFQUFFLENBQUMsQ0FBQTtRQUVoSixJQUFJLFNBQVMsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBQ3JELENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsS0FBSyxLQUFLLENBQUE7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7UUFD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Q0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLHNCQUFzQixHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQ25FLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUE7Z0JBRXpFLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxHQUFHLGVBQWUsT0FBTyxDQUFBO1lBQ3pELENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsc0JBQXNCLENBQUE7SUFDcEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILGFBQWEsS0FBSyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUEsQ0FBQyxDQUFDO0lBRTNDOzs7T0FHRztJQUNILE9BQU8sS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUEsQ0FBQyxDQUFDO0lBRTlCOzs7T0FHRztJQUNILG1CQUFtQjtRQUNqQixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ3RELE9BQU8sU0FBUyxDQUFBO1FBQ2xCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUMxQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUE7UUFDOUQsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUNuQixDQUFDO1FBRUQsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFBO0lBQy9ELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgcmVzdEFyZ3NFcnJvciBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvcmVzdC1hcmdzLWVycm9yLmpzXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuXG4vKipcbiAqIFJlbGF0aW9uc2hpcFNjb3BlQ2FsbGJhY2sgdHlwZS5cbiAqIEB0eXBlZGVmIHsocXVlcnk6IGltcG9ydChcIi4uLy4uL3F1ZXJ5L21vZGVsLWNsYXNzLXF1ZXJ5LmpzXCIpLmRlZmF1bHQ8dHlwZW9mIGltcG9ydChcIi4uL2luZGV4LmpzXCIpLmRlZmF1bHQ+KSA9PiAoaW1wb3J0KFwiLi4vLi4vcXVlcnkvbW9kZWwtY2xhc3MtcXVlcnkuanNcIikuZGVmYXVsdDx0eXBlb2YgaW1wb3J0KFwiLi4vaW5kZXguanNcIikuZGVmYXVsdD4gfCB2b2lkKX0gUmVsYXRpb25zaGlwU2NvcGVDYWxsYmFja1xuICovXG4vKipcbiAqIFJlbGF0aW9uc2hpcEJhc2VBcmdzVHlwZSB0eXBlLlxuICogQHR5cGVkZWYge29iamVjdH0gUmVsYXRpb25zaGlwQmFzZUFyZ3NUeXBlXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFthdXRvbG9hZF0gLSBXaGV0aGVyIHRvIGF1dG8tYmF0Y2gtcHJlbG9hZCBzaWJsaW5ncyB3aGVuIHRoaXMgcmVsYXRpb25zaGlwIGlzIGxhenktbG9hZGVkLiBEZWZhdWx0IHRydWUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2NsYXNzTmFtZV0gLSBOYW1lIG9mIHRoZSByZWxhdGVkIG1vZGVsIGNsYXNzLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbY291bnRlckNhY2hlXSAtIEF1dG8tc3luYyBwYXJlbnQgY291bnQgY29sdW1uIG9uIGNyZWF0ZS91cGRhdGUvZGVzdHJveS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbZGVwZW5kZW50XSAtIERlcGVuZGVudCBhY3Rpb24gd2hlbiBwYXJlbnQgaXMgZGVzdHJveWVkLlxuICogQHByb3BlcnR5IHtzdHJpbmcgfCB1bmRlZmluZWR9IFtmb3JlaWduS2V5XSAtIEV4cGxpY2l0IGZvcmVpZ24ga2V5IGNvbHVtbiBuYW1lLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtpbnZlcnNlT2ZdIC0gSW52ZXJzZSByZWxhdGlvbnNoaXAgbmFtZSBvbiB0aGUgcmVsYXRlZCBtb2RlbC5cbiAqIEBwcm9wZXJ0eSB7dHlwZW9mIGltcG9ydChcIi4uL2luZGV4LmpzXCIpLmRlZmF1bHR9IFtrbGFzc10gLSBSZWxhdGVkIG1vZGVsIGNsYXNzLlxuICogQHByb3BlcnR5IHt0eXBlb2YgaW1wb3J0KFwiLi4vaW5kZXguanNcIikuZGVmYXVsdH0gbW9kZWxDbGFzcyAtIE93bmluZyBtb2RlbCBjbGFzcy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbcHJpbWFyeUtleV0gLSBQcmltYXJ5IGtleSBjb2x1bW4gb24gdGhlIG93bmluZyBtb2RlbC5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW3BvbHltb3JwaGljXSAtIFdoZXRoZXIgdGhlIHJlbGF0aW9uc2hpcCBpcyBwb2x5bW9ycGhpYy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSByZWxhdGlvbnNoaXBOYW1lIC0gTmFtZSBvZiB0aGUgcmVsYXRpb25zaGlwIG9uIHRoZSBtb2RlbC5cbiAqIEBwcm9wZXJ0eSB7UmVsYXRpb25zaGlwU2NvcGVDYWxsYmFja30gW3Njb3BlXSAtIE9wdGlvbmFsIHNjb3BlIGNhbGxiYWNrIGZvciB0aGUgcmVsYXRpb25zaGlwLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFt0aHJvdWdoXSAtIE5hbWUgb2YgdGhlIHRocm91Z2ggYXNzb2NpYXRpb24uXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdHlwZSAtIFJlbGF0aW9uc2hpcCB0eXBlIChlLmcuIFwiaGFzTWFueVwiKS5cbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNEYXRhYmFzZVJlY29yZEJhc2VSZWxhdGlvbnNoaXAge1xuICAvKipcbiAgICogUnVucyBjb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIHtSZWxhdGlvbnNoaXBCYXNlQXJnc1R5cGV9IGFyZ3MgLSBSZWxhdGlvbnNoaXAgZGVmaW5pdGlvbiBhcmd1bWVudHMuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7YXV0b2xvYWQsIGNsYXNzTmFtZSwgY291bnRlckNhY2hlLCBkZXBlbmRlbnQsIGZvcmVpZ25LZXksIGludmVyc2VPZiwga2xhc3MsIG1vZGVsQ2xhc3MsIHByaW1hcnlLZXkgPSBcImlkXCIsIHBvbHltb3JwaGljLCByZWxhdGlvbnNoaXBOYW1lLCBzY29wZSwgdGhyb3VnaCwgdHlwZSwgLi4ucmVzdEFyZ3N9KSB7XG4gICAgcmVzdEFyZ3NFcnJvcihyZXN0QXJncylcblxuICAgIGlmICghbW9kZWxDbGFzcykgdGhyb3cgbmV3IEVycm9yKGAnbW9kZWxDbGFzcycgd2Fzbid0IGdpdmVuIGZvciAke3JlbGF0aW9uc2hpcE5hbWV9YClcbiAgICBpZiAoIWNsYXNzTmFtZSAmJiAha2xhc3MgJiYgIXBvbHltb3JwaGljKSB0aHJvdyBuZXcgRXJyb3IoYE5laXRoZXIgJ2NsYXNzTmFtZScgb3IgJ2tsYXNzJyB3YXMgZ2l2ZW4gZm9yICR7bW9kZWxDbGFzcy5uYW1lfSMke3JlbGF0aW9uc2hpcE5hbWV9YClcblxuICAgIGlmIChjbGFzc05hbWUgPT0gXCJFdmVudFNlcnlcIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIG1vZGVsIG5hbWU6ICR7Y2xhc3NOYW1lfWApXG4gICAgfVxuXG4gICAgdGhpcy5fYXV0b2xvYWQgPSBhdXRvbG9hZCAhPT0gZmFsc2VcbiAgICB0aGlzLmNsYXNzTmFtZSA9IGNsYXNzTmFtZVxuICAgIHRoaXMuX2NvdW50ZXJDYWNoZSA9IGNvdW50ZXJDYWNoZSB8fCBmYWxzZVxuICAgIHRoaXMuX2RlcGVuZGVudCA9IGRlcGVuZGVudFxuICAgIHRoaXMuZm9yZWlnbktleSA9IGZvcmVpZ25LZXlcbiAgICB0aGlzLl9leHBsaWNpdEZvcmVpZ25LZXkgPSBmb3JlaWduS2V5XG4gICAgdGhpcy5faW52ZXJzZU9mID0gaW52ZXJzZU9mXG4gICAgdGhpcy5rbGFzcyA9IGtsYXNzXG4gICAgdGhpcy5tb2RlbENsYXNzID0gbW9kZWxDbGFzc1xuICAgIHRoaXMuX3BvbHltb3JwaGljID0gcG9seW1vcnBoaWNcbiAgICB0aGlzLl9wcmltYXJ5S2V5ID0gcHJpbWFyeUtleVxuICAgIHRoaXMucmVsYXRpb25zaGlwTmFtZSA9IHJlbGF0aW9uc2hpcE5hbWVcbiAgICB0aGlzLl9zY29wZSA9IHNjb3BlXG4gICAgdGhpcy50aHJvdWdoID0gdGhyb3VnaFxuICAgIHRoaXMudHlwZSA9IHR5cGVcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGdldCBhdXRvbG9hZC5cbiAgICogQHJldHVybnMge2Jvb2xlYW59IFdoZXRoZXIgdGhpcyByZWxhdGlvbnNoaXAgYXV0by1iYXRjaC1wcmVsb2FkcyBzaWJsaW5ncyBvbiBsYXp5IGFjY2Vzcy5cbiAgICovXG4gIGdldEF1dG9sb2FkKCkgeyByZXR1cm4gdGhpcy5fYXV0b2xvYWQgfVxuXG4gIGdldENvbmZpZ3VyYXRpb24oKSB7IHJldHVybiB0aGlzLm1vZGVsQ2xhc3MuX2dldENvbmZpZ3VyYXRpb24oKSB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZ2V0IGNvdW50ZXIgY2FjaGUuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIGEgY291bnRlciBjYWNoZSBjb2x1bW4gaXMgc3luY2VkIG9uIHRoZSBwYXJlbnQuXG4gICAqL1xuICBnZXRDb3VudGVyQ2FjaGUoKSB7IHJldHVybiB0aGlzLl9jb3VudGVyQ2FjaGUgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGdldCBkZXBlbmRlbnQuXG4gICAqIEByZXR1cm5zIHtzdHJpbmcgfCB1bmRlZmluZWR9IFdoYXQgd2lsbCBiZSBkb25lIHdoZW4gdGhlIHBhcmVudCByZWNvcmQgaXMgZGVzdHJveWVkLiBFLmcuIFwiZGVzdHJveVwiLCBcIm51bGxpZnlcIiwgXCJyZXN0cmljdFwiIGV0Yy5cbiAgICovXG4gIGdldERlcGVuZGVudCgpIHsgcmV0dXJuIHRoaXMuX2RlcGVuZGVudCB9XG5cbiAgLyoqXG4gICAqIFRoZSBmb3JlaWduIGtleSBleHBsaWNpdGx5IHBhc3NlZCB3aGVuIHRoZSByZWxhdGlvbnNoaXAgd2FzIGRlY2xhcmVkLCBpZiBhbnkuIFVubGlrZVxuICAgKiBgZ2V0Rm9yZWlnbktleSgpYCB0aGlzIG5ldmVyIGZhbGxzIGJhY2sgdG8gYSBjb21wdXRlZCBkZWZhdWx0LCBzbyBjYWxsZXJzIGNhbiB0ZWxsIHdoZXRoZXIgdGhlXG4gICAqIGRldmVsb3BlciBuYW1lZCBhIHNwZWNpZmljIGNvbHVtbiAoZS5nLiB0byBkaXNhbWJpZ3VhdGUgbXVsdGlwbGUgYmVsb25ncy10byBvbiBhIHRocm91Z2ggdGFyZ2V0KS5cbiAgICogQHJldHVybnMge3N0cmluZyB8IHVuZGVmaW5lZH0gLSBUaGUgZXhwbGljaXRseSBkZWNsYXJlZCBmb3JlaWduIGtleSwgb3IgdW5kZWZpbmVkLlxuICAgKi9cbiAgZ2V0RXhwbGljaXRGb3JlaWduS2V5KCkgeyByZXR1cm4gdGhpcy5fZXhwbGljaXRGb3JlaWduS2V5IH1cblxuICAvKipcbiAgICogUnVucyBnZXQgZm9yZWlnbiBrZXkuXG4gICAqIEBhYnN0cmFjdFxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgbmFtZSBvZiB0aGUgZm9yZWlnbiBrZXksIGUuZy4gXCJ1c2VyX2lkXCIsIFwicG9zdF9pZFwiIGV0Yy5cbiAgICovXG4gIGdldEZvcmVpZ25LZXkoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiZ2V0Rm9yZWlnbktleSBub3QgaW1wbGVtZW50ZWRcIilcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGdldCBpbnZlcnNlIG9mLlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHJldHVybnMge3N0cmluZyB8IHVuZGVmaW5lZH0gVGhlIG5hbWUgb2YgdGhlIGludmVyc2UgcmVsYXRpb25zaGlwLCBlLmcuIFwicG9zdHNcIiwgXCJjb21tZW50c1wiIGV0Yy5cbiAgICovXG4gIGdldEludmVyc2VPZigpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJnZXRJbnZlcnNlT2Ygbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgbW9kZWwgY2xhc3MuXG4gICAqIEByZXR1cm5zIHt0eXBlb2YgaW1wb3J0KFwiLi4vaW5kZXguanNcIikuZGVmYXVsdH0gLSBUaGUgbW9kZWwgY2xhc3MuXG4gICAqL1xuICBnZXRNb2RlbENsYXNzKCkgeyByZXR1cm4gdGhpcy5tb2RlbENsYXNzIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgcmVsYXRpb25zaGlwIG5hbWUuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBuYW1lIG9mIHRoZSByZWxhdGlvbnNoaXAsIGUuZy4gXCJwb3N0c1wiLCBcInVzZXJcIiwgXCJjb21tZW50c1wiIGV0Yy5cbiAgICovXG4gIGdldFJlbGF0aW9uc2hpcE5hbWUoKSB7IHJldHVybiB0aGlzLnJlbGF0aW9uc2hpcE5hbWUgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGdldCBzY29wZS5cbiAgICogQHJldHVybnMge1JlbGF0aW9uc2hpcFNjb3BlQ2FsbGJhY2sgfCB1bmRlZmluZWR9IC0gVGhlIHNjb3BlIGNhbGxiYWNrLlxuICAgKi9cbiAgZ2V0U2NvcGUoKSB7IHJldHVybiB0aGlzLl9zY29wZSB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgYXBwbHkgc2NvcGUuXG4gICAqIEB0ZW1wbGF0ZSBUXG4gICAqIEBwYXJhbSB7VH0gcXVlcnkgLSBRdWVyeSBpbnN0YW5jZS5cbiAgICogQHJldHVybnMge1R9IC0gU2NvcGVkIHF1ZXJ5LlxuICAgKi9cbiAgYXBwbHlTY29wZShxdWVyeSkge1xuICAgIGNvbnN0IHNjb3BlID0gdGhpcy5nZXRTY29wZSgpXG5cbiAgICBpZiAoIXNjb3BlKSByZXR1cm4gcXVlcnlcblxuICAgIGNvbnN0IHNjb3BlZFF1ZXJ5ID0gLyoqIEB0eXBlIHtUIHwgdm9pZH0gKi8gKHNjb3BlLmNhbGwocXVlcnksIC8qKiBAdHlwZSB7aW1wb3J0KFwiLi4vLi4vcXVlcnkvbW9kZWwtY2xhc3MtcXVlcnkuanNcIikuZGVmYXVsdDx0eXBlb2YgaW1wb3J0KFwiLi4vaW5kZXguanNcIikuZGVmYXVsdD59ICovIChxdWVyeSkpKVxuXG4gICAgcmV0dXJuIHNjb3BlZFF1ZXJ5IHx8IHF1ZXJ5XG4gIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgcG9seW1vcnBoaWMuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSAtIFdoZXRoZXIgcG9seW1vcnBoaWMuXG4gICAqL1xuICBnZXRQb2x5bW9ycGhpYygpIHtcbiAgICByZXR1cm4gdGhpcy5fcG9seW1vcnBoaWMgfHwgZmFsc2VcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGdldCBwb2x5bW9ycGhpYyB0eXBlIGNvbHVtbi5cbiAgICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgcG9seW1vcnBoaWMgdHlwZSBjb2x1bW4uXG4gICAqL1xuICBnZXRQb2x5bW9ycGhpY1R5cGVDb2x1bW4oKSB7XG4gICAgaWYgKCF0aGlzLmdldFBvbHltb3JwaGljKCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHt0aGlzLm1vZGVsQ2xhc3MubmFtZX0jJHt0aGlzLnJlbGF0aW9uc2hpcE5hbWV9IGlzbid0IHBvbHltb3JwaGljYClcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX3BvbHltb3JwaGljVHlwZUNvbHVtbikge1xuICAgICAgY29uc3QgZm9yZWlnbktleSA9IHRoaXMuZ2V0Rm9yZWlnbktleSgpXG5cbiAgICAgIGlmIChmb3JlaWduS2V5ICYmIGZvcmVpZ25LZXkuZW5kc1dpdGgoXCJfaWRcIikpIHtcbiAgICAgICAgdGhpcy5fcG9seW1vcnBoaWNUeXBlQ29sdW1uID0gZm9yZWlnbktleS5yZXBsYWNlKC9faWQkLywgXCJfdHlwZVwiKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgdW5kZXJzY29yZWROYW1lID0gaW5mbGVjdGlvbi51bmRlcnNjb3JlKHRoaXMuZ2V0UmVsYXRpb25zaGlwTmFtZSgpKVxuXG4gICAgICAgIHRoaXMuX3BvbHltb3JwaGljVHlwZUNvbHVtbiA9IGAke3VuZGVyc2NvcmVkTmFtZX1fdHlwZWBcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fcG9seW1vcnBoaWNUeXBlQ29sdW1uXG4gIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgcHJpbWFyeSBrZXkuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSBuYW1lIG9mIHRoZSBmb3JlaWduIGtleSwgZS5nLiBcImlkXCIgZXRjLlxuICAgKi9cbiAgZ2V0UHJpbWFyeUtleSgpIHsgcmV0dXJuIHRoaXMuX3ByaW1hcnlLZXkgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGdldCB0eXBlLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgdHlwZSBvZiB0aGUgcmVsYXRpb25zaGlwLCBlLmcuIFwiaGFzX21hbnlcIiwgXCJiZWxvbmdzX3RvXCIsIFwiaGFzX29uZVwiLCBcImhhc19hbmRfYmVsb25nc190b19tYW55XCIgZXRjLlxuICAgKi9cbiAgZ2V0VHlwZSgpIHsgcmV0dXJuIHRoaXMudHlwZSB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZ2V0IHRhcmdldCBtb2RlbCBjbGFzcy5cbiAgICogQHJldHVybnMge3R5cGVvZiBpbXBvcnQoXCIuLi9pbmRleC5qc1wiKS5kZWZhdWx0IHwgdW5kZWZpbmVkfSBUaGUgdGFyZ2V0IG1vZGVsIGNsYXNzIGZvciB0aGlzIHJlbGF0aW9uc2hpcCwgZS5nLiBpZiB0aGUgcmVsYXRpb25zaGlwIGlzIFwicG9zdHNcIiB0aGVuIHRoZSB0YXJnZXQgbW9kZWwgY2xhc3MgaXMgdGhlIFBvc3QgY2xhc3MuXG4gICAqL1xuICBnZXRUYXJnZXRNb2RlbENsYXNzKCkge1xuICAgIGlmICh0aGlzLmdldFBvbHltb3JwaGljKCkgJiYgdGhpcy50eXBlID09IFwiYmVsb25nc1RvXCIpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9IGVsc2UgaWYgKHRoaXMuY2xhc3NOYW1lKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRDb25maWd1cmF0aW9uKCkuZ2V0TW9kZWxDbGFzcyh0aGlzLmNsYXNzTmFtZSlcbiAgICB9IGVsc2UgaWYgKHRoaXMua2xhc3MpIHtcbiAgICAgIHJldHVybiB0aGlzLmtsYXNzXG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQ291bGRuJ3QgZmlndXJlIG91dCB0aGUgdGFyZ2V0IG1vZGVsIGNsYXNzXCIpXG4gIH1cbn1cbiJdfQ==
|
|
197
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9yZWNvcmQvcmVsYXRpb25zaGlwcy9iYXNlLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLGFBQWEsTUFBTSxtQ0FBbUMsQ0FBQTtBQUM3RCxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUV4Qzs7O0dBR0c7QUFDSDs7O0dBR0c7QUFDSDs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FpQkc7QUFFSCxNQUFNLENBQUMsT0FBTyxPQUFPLHVDQUF1QztJQUMxRDs7O09BR0c7SUFDSCxZQUFZLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxVQUFVLEdBQUcsSUFBSSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxHQUFHLFFBQVEsRUFBQztRQUN2TCxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUE7UUFFdkIsSUFBSSxDQUFDLFVBQVU7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUE7UUFDckYsSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFdBQVc7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxVQUFVLENBQUMsSUFBSSxJQUFJLGdCQUFnQixFQUFFLENBQUMsQ0FBQTtRQUVoSixJQUFJLFNBQVMsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUM3QixNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixTQUFTLEVBQUUsQ0FBQyxDQUFBO1FBQ3JELENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsS0FBSyxLQUFLLENBQUE7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxT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QUFTLENBQUMsQ0FBQTtRQUM5RCxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQ25CLENBQUM7UUFFRCxNQUFNLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUE7SUFDL0QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCByZXN0QXJnc0Vycm9yIGZyb20gXCIuLi8uLi8uLi91dGlscy9yZXN0LWFyZ3MtZXJyb3IuanNcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5cbi8qKlxuICogUmVsYXRpb25zaGlwU2NvcGVDYWxsYmFjayB0eXBlLlxuICogQHR5cGVkZWYgeyhxdWVyeTogaW1wb3J0KFwiLi4vLi4vcXVlcnkvbW9kZWwtY2xhc3MtcXVlcnkuanNcIikuZGVmYXVsdDx0eXBlb2YgaW1wb3J0KFwiLi4vaW5kZXguanNcIikuZGVmYXVsdD4pID0+IChpbXBvcnQoXCIuLi8uLi9xdWVyeS9tb2RlbC1jbGFzcy1xdWVyeS5qc1wiKS5kZWZhdWx0PHR5cGVvZiBpbXBvcnQoXCIuLi9pbmRleC5qc1wiKS5kZWZhdWx0PiB8IHZvaWQpfSBSZWxhdGlvbnNoaXBTY29wZUNhbGxiYWNrXG4gKi9cbi8qKlxuICogUmVsYXRpb25zaGlwUmVjb3JkUmVzb2x2ZXIgdHlwZS5cbiAqIEB0eXBlZGVmIHsocmVjb3JkOiBpbXBvcnQoXCIuLi9pbmRleC5qc1wiKS5kZWZhdWx0KSA9PiBWZWxvY2lvdXNEYXRhYmFzZVJlY29yZEJhc2VSZWxhdGlvbnNoaXB9IFJlbGF0aW9uc2hpcFJlY29yZFJlc29sdmVyXG4gKi9cbi8qKlxuICogUmVsYXRpb25zaGlwQmFzZUFyZ3NUeXBlIHR5cGUuXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBSZWxhdGlvbnNoaXBCYXNlQXJnc1R5cGVcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gW2F1dG9sb2FkXSAtIFdoZXRoZXIgdG8gYXV0by1iYXRjaC1wcmVsb2FkIHNpYmxpbmdzIHdoZW4gdGhpcyByZWxhdGlvbnNoaXAgaXMgbGF6eS1sb2FkZWQuIERlZmF1bHQgdHJ1ZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBbY2xhc3NOYW1lXSAtIE5hbWUgb2YgdGhlIHJlbGF0ZWQgbW9kZWwgY2xhc3MuXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtjb3VudGVyQ2FjaGVdIC0gQXV0by1zeW5jIHBhcmVudCBjb3VudCBjb2x1bW4gb24gY3JlYXRlL3VwZGF0ZS9kZXN0cm95LlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtkZXBlbmRlbnRdIC0gRGVwZW5kZW50IGFjdGlvbiB3aGVuIHBhcmVudCBpcyBkZXN0cm95ZWQuXG4gKiBAcHJvcGVydHkge3N0cmluZyB8IHVuZGVmaW5lZH0gW2ZvcmVpZ25LZXldIC0gRXhwbGljaXQgZm9yZWlnbiBrZXkgY29sdW1uIG5hbWUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW2ludmVyc2VPZl0gLSBJbnZlcnNlIHJlbGF0aW9uc2hpcCBuYW1lIG9uIHRoZSByZWxhdGVkIG1vZGVsLlxuICogQHByb3BlcnR5IHt0eXBlb2YgaW1wb3J0KFwiLi4vaW5kZXguanNcIikuZGVmYXVsdH0gW2tsYXNzXSAtIFJlbGF0ZWQgbW9kZWwgY2xhc3MuXG4gKiBAcHJvcGVydHkge3R5cGVvZiBpbXBvcnQoXCIuLi9pbmRleC5qc1wiKS5kZWZhdWx0fSBtb2RlbENsYXNzIC0gT3duaW5nIG1vZGVsIGNsYXNzLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IFtwcmltYXJ5S2V5XSAtIFByaW1hcnkga2V5IGNvbHVtbiBvbiB0aGUgb3duaW5nIG1vZGVsLlxuICogQHByb3BlcnR5IHtib29sZWFufSBbcG9seW1vcnBoaWNdIC0gV2hldGhlciB0aGUgcmVsYXRpb25zaGlwIGlzIHBvbHltb3JwaGljLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHJlbGF0aW9uc2hpcE5hbWUgLSBOYW1lIG9mIHRoZSByZWxhdGlvbnNoaXAgb24gdGhlIG1vZGVsLlxuICogQHByb3BlcnR5IHtSZWxhdGlvbnNoaXBTY29wZUNhbGxiYWNrfSBbc2NvcGVdIC0gT3B0aW9uYWwgc2NvcGUgY2FsbGJhY2sgZm9yIHRoZSByZWxhdGlvbnNoaXAuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gW3Rocm91Z2hdIC0gTmFtZSBvZiB0aGUgdGhyb3VnaCBhc3NvY2lhdGlvbi5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB0eXBlIC0gUmVsYXRpb25zaGlwIHR5cGUgKGUuZy4gXCJoYXNNYW55XCIpLlxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFZlbG9jaW91c0RhdGFiYXNlUmVjb3JkQmFzZVJlbGF0aW9uc2hpcCB7XG4gIC8qKlxuICAgKiBSdW5zIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0ge1JlbGF0aW9uc2hpcEJhc2VBcmdzVHlwZX0gYXJncyAtIFJlbGF0aW9uc2hpcCBkZWZpbml0aW9uIGFyZ3VtZW50cy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHthdXRvbG9hZCwgY2xhc3NOYW1lLCBjb3VudGVyQ2FjaGUsIGRlcGVuZGVudCwgZm9yZWlnbktleSwgaW52ZXJzZU9mLCBrbGFzcywgbW9kZWxDbGFzcywgcHJpbWFyeUtleSA9IFwiaWRcIiwgcG9seW1vcnBoaWMsIHJlbGF0aW9uc2hpcE5hbWUsIHNjb3BlLCB0aHJvdWdoLCB0eXBlLCAuLi5yZXN0QXJnc30pIHtcbiAgICByZXN0QXJnc0Vycm9yKHJlc3RBcmdzKVxuXG4gICAgaWYgKCFtb2RlbENsYXNzKSB0aHJvdyBuZXcgRXJyb3IoYCdtb2RlbENsYXNzJyB3YXNuJ3QgZ2l2ZW4gZm9yICR7cmVsYXRpb25zaGlwTmFtZX1gKVxuICAgIGlmICghY2xhc3NOYW1lICYmICFrbGFzcyAmJiAhcG9seW1vcnBoaWMpIHRocm93IG5ldyBFcnJvcihgTmVpdGhlciAnY2xhc3NOYW1lJyBvciAna2xhc3MnIHdhcyBnaXZlbiBmb3IgJHttb2RlbENsYXNzLm5hbWV9IyR7cmVsYXRpb25zaGlwTmFtZX1gKVxuXG4gICAgaWYgKGNsYXNzTmFtZSA9PSBcIkV2ZW50U2VyeVwiKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgbW9kZWwgbmFtZTogJHtjbGFzc05hbWV9YClcbiAgICB9XG5cbiAgICB0aGlzLl9hdXRvbG9hZCA9IGF1dG9sb2FkICE9PSBmYWxzZVxuICAgIHRoaXMuY2xhc3NOYW1lID0gY2xhc3NOYW1lXG4gICAgdGhpcy5fY291bnRlckNhY2hlID0gY291bnRlckNhY2hlIHx8IGZhbHNlXG4gICAgdGhpcy5fZGVwZW5kZW50ID0gZGVwZW5kZW50XG4gICAgdGhpcy5mb3JlaWduS2V5ID0gZm9yZWlnbktleVxuICAgIHRoaXMuX2V4cGxpY2l0Rm9yZWlnbktleSA9IGZvcmVpZ25LZXlcbiAgICB0aGlzLl9pbnZlcnNlT2YgPSBpbnZlcnNlT2ZcbiAgICB0aGlzLmtsYXNzID0ga2xhc3NcbiAgICB0aGlzLm1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzXG4gICAgdGhpcy5fcG9seW1vcnBoaWMgPSBwb2x5bW9ycGhpY1xuICAgIHRoaXMuX3ByaW1hcnlLZXkgPSBwcmltYXJ5S2V5XG4gICAgdGhpcy5yZWxhdGlvbnNoaXBOYW1lID0gcmVsYXRpb25zaGlwTmFtZVxuICAgIHRoaXMuX3Njb3BlID0gc2NvcGVcbiAgICB0aGlzLnRocm91Z2ggPSB0aHJvdWdoXG4gICAgdGhpcy50eXBlID0gdHlwZVxuICB9XG5cbiAgLyoqXG4gICAqIEluc3RhbGxzIG1ldGFkYXRhIHNlbGVjdGlvbiBmb3IgcmVsYXRpb25zaGlwcyB3aG9zZSBwaHlzaWNhbCBkZWZpbml0aW9uIHZhcmllcyBieSByZWNvcmQgb3BlcmF0aW9uLlxuICAgKiBAcGFyYW0ge1JlbGF0aW9uc2hpcFJlY29yZFJlc29sdmVyfSByZXNvbHZlciAtIFJlY29yZC1vd25lZCByZWxhdGlvbnNoaXAgcmVzb2x2ZXIuXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgc2V0UmVjb3JkUmVzb2x2ZXIocmVzb2x2ZXIpIHtcbiAgICB0aGlzLl9yZWNvcmRSZXNvbHZlciA9IHJlc29sdmVyXG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZXMgdGhpcyByZWxhdGlvbnNoaXAgZm9yIGEgcmVjb3JkJ3MgY2FwdHVyZWQgcGh5c2ljYWwgZGF0YWJhc2UgaWRlbnRpdHkuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi4vaW5kZXguanNcIikuZGVmYXVsdH0gcmVjb3JkIC0gUmVjb3JkIG93bmluZyB0aGUgcmVsYXRpb25zaGlwIGFjY2Vzcy5cbiAgICogQHJldHVybnMge1ZlbG9jaW91c0RhdGFiYXNlUmVjb3JkQmFzZVJlbGF0aW9uc2hpcH0gLSBQaHlzaWNhbCByZWxhdGlvbnNoaXAgbWV0YWRhdGEuXG4gICAqL1xuICByZXNvbHZlRm9yUmVjb3JkKHJlY29yZCkge1xuICAgIHJldHVybiB0aGlzLl9yZWNvcmRSZXNvbHZlciA/IHRoaXMuX3JlY29yZFJlc29sdmVyKHJlY29yZCkgOiB0aGlzXG4gIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgYXV0b2xvYWQuXG4gICAqIEByZXR1cm5zIHtib29sZWFufSBXaGV0aGVyIHRoaXMgcmVsYXRpb25zaGlwIGF1dG8tYmF0Y2gtcHJlbG9hZHMgc2libGluZ3Mgb24gbGF6eSBhY2Nlc3MuXG4gICAqL1xuICBnZXRBdXRvbG9hZCgpIHsgcmV0dXJuIHRoaXMuX2F1dG9sb2FkIH1cblxuICBnZXRDb25maWd1cmF0aW9uKCkgeyByZXR1cm4gdGhpcy5tb2RlbENsYXNzLl9nZXRDb25maWd1cmF0aW9uKCkgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGdldCBjb3VudGVyIGNhY2hlLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gV2hldGhlciBhIGNvdW50ZXIgY2FjaGUgY29sdW1uIGlzIHN5bmNlZCBvbiB0aGUgcGFyZW50LlxuICAgKi9cbiAgZ2V0Q291bnRlckNhY2hlKCkgeyByZXR1cm4gdGhpcy5fY291bnRlckNhY2hlIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgZGVwZW5kZW50LlxuICAgKiBAcmV0dXJucyB7c3RyaW5nIHwgdW5kZWZpbmVkfSBXaGF0IHdpbGwgYmUgZG9uZSB3aGVuIHRoZSBwYXJlbnQgcmVjb3JkIGlzIGRlc3Ryb3llZC4gRS5nLiBcImRlc3Ryb3lcIiwgXCJudWxsaWZ5XCIsIFwicmVzdHJpY3RcIiBldGMuXG4gICAqL1xuICBnZXREZXBlbmRlbnQoKSB7IHJldHVybiB0aGlzLl9kZXBlbmRlbnQgfVxuXG4gIC8qKlxuICAgKiBUaGUgZm9yZWlnbiBrZXkgZXhwbGljaXRseSBwYXNzZWQgd2hlbiB0aGUgcmVsYXRpb25zaGlwIHdhcyBkZWNsYXJlZCwgaWYgYW55LiBVbmxpa2VcbiAgICogYGdldEZvcmVpZ25LZXkoKWAgdGhpcyBuZXZlciBmYWxscyBiYWNrIHRvIGEgY29tcHV0ZWQgZGVmYXVsdCwgc28gY2FsbGVycyBjYW4gdGVsbCB3aGV0aGVyIHRoZVxuICAgKiBkZXZlbG9wZXIgbmFtZWQgYSBzcGVjaWZpYyBjb2x1bW4gKGUuZy4gdG8gZGlzYW1iaWd1YXRlIG11bHRpcGxlIGJlbG9uZ3MtdG8gb24gYSB0aHJvdWdoIHRhcmdldCkuXG4gICAqIEByZXR1cm5zIHtzdHJpbmcgfCB1bmRlZmluZWR9IC0gVGhlIGV4cGxpY2l0bHkgZGVjbGFyZWQgZm9yZWlnbiBrZXksIG9yIHVuZGVmaW5lZC5cbiAgICovXG4gIGdldEV4cGxpY2l0Rm9yZWlnbktleSgpIHsgcmV0dXJuIHRoaXMuX2V4cGxpY2l0Rm9yZWlnbktleSB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZ2V0IGZvcmVpZ24ga2V5LlxuICAgKiBAYWJzdHJhY3RcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIG5hbWUgb2YgdGhlIGZvcmVpZ24ga2V5LCBlLmcuIFwidXNlcl9pZFwiLCBcInBvc3RfaWRcIiBldGMuXG4gICAqL1xuICBnZXRGb3JlaWduS2V5KCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcImdldEZvcmVpZ25LZXkgbm90IGltcGxlbWVudGVkXCIpXG4gIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgaW52ZXJzZSBvZi5cbiAgICogQGFic3RyYWN0XG4gICAqIEByZXR1cm5zIHtzdHJpbmcgfCB1bmRlZmluZWR9IFRoZSBuYW1lIG9mIHRoZSBpbnZlcnNlIHJlbGF0aW9uc2hpcCwgZS5nLiBcInBvc3RzXCIsIFwiY29tbWVudHNcIiBldGMuXG4gICAqL1xuICBnZXRJbnZlcnNlT2YoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiZ2V0SW52ZXJzZU9mIG5vdCBpbXBsZW1lbnRlZFwiKVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZ2V0IG1vZGVsIGNsYXNzLlxuICAgKiBAcmV0dXJucyB7dHlwZW9mIGltcG9ydChcIi4uL2luZGV4LmpzXCIpLmRlZmF1bHR9IC0gVGhlIG1vZGVsIGNsYXNzLlxuICAgKi9cbiAgZ2V0TW9kZWxDbGFzcygpIHsgcmV0dXJuIHRoaXMubW9kZWxDbGFzcyB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZ2V0IHJlbGF0aW9uc2hpcCBuYW1lLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgbmFtZSBvZiB0aGUgcmVsYXRpb25zaGlwLCBlLmcuIFwicG9zdHNcIiwgXCJ1c2VyXCIsIFwiY29tbWVudHNcIiBldGMuXG4gICAqL1xuICBnZXRSZWxhdGlvbnNoaXBOYW1lKCkgeyByZXR1cm4gdGhpcy5yZWxhdGlvbnNoaXBOYW1lIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgc2NvcGUuXG4gICAqIEByZXR1cm5zIHtSZWxhdGlvbnNoaXBTY29wZUNhbGxiYWNrIHwgdW5kZWZpbmVkfSAtIFRoZSBzY29wZSBjYWxsYmFjay5cbiAgICovXG4gIGdldFNjb3BlKCkgeyByZXR1cm4gdGhpcy5fc2NvcGUgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGFwcGx5IHNjb3BlLlxuICAgKiBAdGVtcGxhdGUgVFxuICAgKiBAcGFyYW0ge1R9IHF1ZXJ5IC0gUXVlcnkgaW5zdGFuY2UuXG4gICAqIEByZXR1cm5zIHtUfSAtIFNjb3BlZCBxdWVyeS5cbiAgICovXG4gIGFwcGx5U2NvcGUocXVlcnkpIHtcbiAgICBjb25zdCBzY29wZSA9IHRoaXMuZ2V0U2NvcGUoKVxuXG4gICAgaWYgKCFzY29wZSkgcmV0dXJuIHF1ZXJ5XG5cbiAgICBjb25zdCBzY29wZWRRdWVyeSA9IC8qKiBAdHlwZSB7VCB8IHZvaWR9ICovIChzY29wZS5jYWxsKHF1ZXJ5LCAvKiogQHR5cGUge2ltcG9ydChcIi4uLy4uL3F1ZXJ5L21vZGVsLWNsYXNzLXF1ZXJ5LmpzXCIpLmRlZmF1bHQ8dHlwZW9mIGltcG9ydChcIi4uL2luZGV4LmpzXCIpLmRlZmF1bHQ+fSAqLyAocXVlcnkpKSlcblxuICAgIHJldHVybiBzY29wZWRRdWVyeSB8fCBxdWVyeVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZ2V0IHBvbHltb3JwaGljLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIHBvbHltb3JwaGljLlxuICAgKi9cbiAgZ2V0UG9seW1vcnBoaWMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BvbHltb3JwaGljIHx8IGZhbHNlXG4gIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgcG9seW1vcnBoaWMgdHlwZSBjb2x1bW4uXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIHBvbHltb3JwaGljIHR5cGUgY29sdW1uLlxuICAgKi9cbiAgZ2V0UG9seW1vcnBoaWNUeXBlQ29sdW1uKCkge1xuICAgIGlmICghdGhpcy5nZXRQb2x5bW9ycGhpYygpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7dGhpcy5tb2RlbENsYXNzLm5hbWV9IyR7dGhpcy5yZWxhdGlvbnNoaXBOYW1lfSBpc24ndCBwb2x5bW9ycGhpY2ApXG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLl9wb2x5bW9ycGhpY1R5cGVDb2x1bW4pIHtcbiAgICAgIGNvbnN0IGZvcmVpZ25LZXkgPSB0aGlzLmdldEZvcmVpZ25LZXkoKVxuXG4gICAgICBpZiAoZm9yZWlnbktleSAmJiBmb3JlaWduS2V5LmVuZHNXaXRoKFwiX2lkXCIpKSB7XG4gICAgICAgIHRoaXMuX3BvbHltb3JwaGljVHlwZUNvbHVtbiA9IGZvcmVpZ25LZXkucmVwbGFjZSgvX2lkJC8sIFwiX3R5cGVcIilcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHVuZGVyc2NvcmVkTmFtZSA9IGluZmxlY3Rpb24udW5kZXJzY29yZSh0aGlzLmdldFJlbGF0aW9uc2hpcE5hbWUoKSlcblxuICAgICAgICB0aGlzLl9wb2x5bW9ycGhpY1R5cGVDb2x1bW4gPSBgJHt1bmRlcnNjb3JlZE5hbWV9X3R5cGVgXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3BvbHltb3JwaGljVHlwZUNvbHVtblxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgZ2V0IHByaW1hcnkga2V5LlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSBUaGUgbmFtZSBvZiB0aGUgZm9yZWlnbiBrZXksIGUuZy4gXCJpZFwiIGV0Yy5cbiAgICovXG4gIGdldFByaW1hcnlLZXkoKSB7IHJldHVybiB0aGlzLl9wcmltYXJ5S2V5IH1cblxuICAvKipcbiAgICogUnVucyBnZXQgdHlwZS5cbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIHR5cGUgb2YgdGhlIHJlbGF0aW9uc2hpcCwgZS5nLiBcImhhc19tYW55XCIsIFwiYmVsb25nc190b1wiLCBcImhhc19vbmVcIiwgXCJoYXNfYW5kX2JlbG9uZ3NfdG9fbWFueVwiIGV0Yy5cbiAgICovXG4gIGdldFR5cGUoKSB7IHJldHVybiB0aGlzLnR5cGUgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGdldCB0YXJnZXQgbW9kZWwgY2xhc3MuXG4gICAqIEByZXR1cm5zIHt0eXBlb2YgaW1wb3J0KFwiLi4vaW5kZXguanNcIikuZGVmYXVsdCB8IHVuZGVmaW5lZH0gVGhlIHRhcmdldCBtb2RlbCBjbGFzcyBmb3IgdGhpcyByZWxhdGlvbnNoaXAsIGUuZy4gaWYgdGhlIHJlbGF0aW9uc2hpcCBpcyBcInBvc3RzXCIgdGhlbiB0aGUgdGFyZ2V0IG1vZGVsIGNsYXNzIGlzIHRoZSBQb3N0IGNsYXNzLlxuICAgKi9cbiAgZ2V0VGFyZ2V0TW9kZWxDbGFzcygpIHtcbiAgICBpZiAodGhpcy5nZXRQb2x5bW9ycGhpYygpICYmIHRoaXMudHlwZSA9PSBcImJlbG9uZ3NUb1wiKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfSBlbHNlIGlmICh0aGlzLmNsYXNzTmFtZSkge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29uZmlndXJhdGlvbigpLmdldE1vZGVsQ2xhc3ModGhpcy5jbGFzc05hbWUpXG4gICAgfSBlbHNlIGlmICh0aGlzLmtsYXNzKSB7XG4gICAgICByZXR1cm4gdGhpcy5rbGFzc1xuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IGZpZ3VyZSBvdXQgdGhlIHRhcmdldCBtb2RlbCBjbGFzc1wiKVxuICB9XG59XG4iXX0=
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
import BaseRelationship from "./base.js";
|
|
1
2
|
export default class VelociousDatabaseRecordBelongsToRelationship extends BaseRelationship {
|
|
2
3
|
_autoGenerateInverseOfAttempted: boolean | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* Runs get foreign key.
|
|
6
|
+
* @returns {string} - The foreign key.
|
|
7
|
+
*/
|
|
8
|
+
getForeignKey(): string;
|
|
9
|
+
/**
|
|
10
|
+
* Runs get inverse of.
|
|
11
|
+
* @returns {string | undefined} - The inverse of.
|
|
12
|
+
*/
|
|
13
|
+
getInverseOf(): string | undefined;
|
|
3
14
|
}
|
|
4
|
-
import BaseRelationship from "./base.js";
|
|
5
15
|
//# sourceMappingURL=belongs-to.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"belongs-to.d.ts","sourceRoot":"","sources":["../../../../../src/database/record/relationships/belongs-to.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"belongs-to.d.ts","sourceRoot":"","sources":["../../../../../src/database/record/relationships/belongs-to.js"],"names":[],"mappings":"AAEA,OAAO,gBAAgB,MAAM,WAAW,CAAA;AAGxC,MAAM,CAAC,OAAO,OAAO,4CAA6C,SAAQ,gBAAgB;IA2B/E,+BAA+B;IA1BxC;;;OAGG;IACH,aAAa,IAFA,MAAM,CAgBlB;IAED;;;OAGG;IACH,YAAY,IAFC,MAAM,GAAG,SAAS,CA2B9B;CACF"}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
import BaseRelationship from "./base.js";
|
|
1
2
|
export default class VelociousDatabaseRecordHasManyRelationship extends BaseRelationship {
|
|
2
3
|
_autoGenerateInverseOfAttempted: boolean | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* Runs get foreign key.
|
|
6
|
+
* @returns {string} - The foreign key.
|
|
7
|
+
*/
|
|
8
|
+
getForeignKey(): string;
|
|
9
|
+
/**
|
|
10
|
+
* Runs get inverse of.
|
|
11
|
+
* @returns {string | undefined} - The inverse of.
|
|
12
|
+
*/
|
|
13
|
+
getInverseOf(): string | undefined;
|
|
3
14
|
}
|
|
4
|
-
import BaseRelationship from "./base.js";
|
|
5
15
|
//# sourceMappingURL=has-many.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"has-many.d.ts","sourceRoot":"","sources":["../../../../../src/database/record/relationships/has-many.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"has-many.d.ts","sourceRoot":"","sources":["../../../../../src/database/record/relationships/has-many.js"],"names":[],"mappings":"AAEA,OAAO,gBAAgB,MAAM,WAAW,CAAA;AAGxC,MAAM,CAAC,OAAO,OAAO,0CAA2C,SAAQ,gBAAgB;IAqB7E,+BAA+B;IApBxC;;;OAGG;IACH,aAAa,IAFA,MAAM,CAUlB;IAED;;;OAGG;IACH,YAAY,IAFC,MAAM,GAAG,SAAS,CAwB9B;CACF"}
|
|
@@ -1,5 +1,15 @@
|
|
|
1
|
+
import BaseRelationship from "./base.js";
|
|
1
2
|
export default class VelociousDatabaseRecordHasOneRelationship extends BaseRelationship {
|
|
2
3
|
_autoGenerateInverseOfAttempted: boolean | undefined;
|
|
4
|
+
/**
|
|
5
|
+
* Runs get foreign key.
|
|
6
|
+
* @returns {string} - The foreign key.
|
|
7
|
+
*/
|
|
8
|
+
getForeignKey(): string;
|
|
9
|
+
/**
|
|
10
|
+
* Runs get inverse of.
|
|
11
|
+
* @returns {string | undefined} - The inverse of.
|
|
12
|
+
*/
|
|
13
|
+
getInverseOf(): string | undefined;
|
|
3
14
|
}
|
|
4
|
-
import BaseRelationship from "./base.js";
|
|
5
15
|
//# sourceMappingURL=has-one.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"has-one.d.ts","sourceRoot":"","sources":["../../../../../src/database/record/relationships/has-one.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"has-one.d.ts","sourceRoot":"","sources":["../../../../../src/database/record/relationships/has-one.js"],"names":[],"mappings":"AAEA,OAAO,gBAAgB,MAAM,WAAW,CAAA;AAGxC,MAAM,CAAC,OAAO,OAAO,yCAA0C,SAAQ,gBAAgB;IAqB5E,+BAA+B;IApBxC;;;OAGG;IACH,aAAa,IAFA,MAAM,CAUlB;IAED;;;OAGG;IACH,YAAY,IAFC,MAAM,GAAG,SAAS,CAwB9B;CACF"}
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
export type StateMachineDefinition = {
|
|
2
|
+
column?: string;
|
|
3
|
+
initial: string;
|
|
4
|
+
states: Record<string, StateDefinition>;
|
|
5
|
+
events: Record<string, EventDefinition>;
|
|
6
|
+
};
|
|
7
|
+
export type StateDefinition = {
|
|
8
|
+
beforeEnter?: (model: import("./index.js").default) => void | Promise<void>;
|
|
9
|
+
afterEnter?: (model: import("./index.js").default) => void | Promise<void>;
|
|
10
|
+
beforeExit?: (model: import("./index.js").default) => void | Promise<void>;
|
|
11
|
+
afterExit?: (model: import("./index.js").default) => void | Promise<void>;
|
|
12
|
+
};
|
|
13
|
+
export type EventDefinition = {
|
|
14
|
+
from: string | string[];
|
|
15
|
+
to: string;
|
|
16
|
+
guard?: (model: import("./index.js").default) => boolean | Promise<boolean>;
|
|
17
|
+
before?: (model: import("./index.js").default) => void | Promise<void>;
|
|
18
|
+
after?: (model: import("./index.js").default) => void | Promise<void>;
|
|
19
|
+
};
|
|
1
20
|
/**
|
|
2
21
|
* Registers a state machine on a Velocious model class.
|
|
3
22
|
*
|
|
@@ -30,33 +49,5 @@
|
|
|
30
49
|
* @param {StateMachineDefinition} definition - The state machine definition.
|
|
31
50
|
* @returns {void}
|
|
32
51
|
*/
|
|
33
|
-
export function stateMachine(ModelClass: typeof import("./index.js").default, definition: StateMachineDefinition): void;
|
|
34
|
-
/**
|
|
35
|
-
* Defines this typedef.
|
|
36
|
-
*/
|
|
37
|
-
export type StateMachineDefinition = {
|
|
38
|
-
column?: string;
|
|
39
|
-
initial: string;
|
|
40
|
-
states: Record<string, StateDefinition>;
|
|
41
|
-
events: Record<string, EventDefinition>;
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Defines this typedef.
|
|
45
|
-
*/
|
|
46
|
-
export type StateDefinition = {
|
|
47
|
-
beforeEnter?: (model: import("./index.js").default) => void | Promise<void>;
|
|
48
|
-
afterEnter?: (model: import("./index.js").default) => void | Promise<void>;
|
|
49
|
-
beforeExit?: (model: import("./index.js").default) => void | Promise<void>;
|
|
50
|
-
afterExit?: (model: import("./index.js").default) => void | Promise<void>;
|
|
51
|
-
};
|
|
52
|
-
/**
|
|
53
|
-
* Defines this typedef.
|
|
54
|
-
*/
|
|
55
|
-
export type EventDefinition = {
|
|
56
|
-
from: string | string[];
|
|
57
|
-
to: string;
|
|
58
|
-
guard?: (model: import("./index.js").default) => boolean | Promise<boolean>;
|
|
59
|
-
before?: (model: import("./index.js").default) => void | Promise<void>;
|
|
60
|
-
after?: (model: import("./index.js").default) => void | Promise<void>;
|
|
61
|
-
};
|
|
52
|
+
export declare function stateMachine(ModelClass: typeof import("./index.js").default, definition: StateMachineDefinition): void;
|
|
62
53
|
//# sourceMappingURL=state-machine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state-machine.d.ts","sourceRoot":"","sources":["../../../../src/database/record/state-machine.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"state-machine.d.ts","sourceRoot":"","sources":["../../../../src/database/record/state-machine.js"],"names":[],"mappings":"AAIG,YAKG,sBAAsB,GALf;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;CACxC,CAAwB;AACzB,YAKG,eAAe,GALR;IACR,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,YAAY,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,YAAY,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,YAAY,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,YAAY,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1E,CAAiB;AAClB,YAMG,eAAe,GANR;IACR,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,YAAY,EAAE,OAAO,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5E,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,YAAY,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,YAAY,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACtE,CAAiB;AAQrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAJ5B,cAAc,YAAY,EAAE,OAIA,EAAE,UAAU,EAHxC,sBAGwC,GAFtC,IAAI,CAsOhB"}
|
|
@@ -63,7 +63,7 @@ export function stateMachine(ModelClass, definition) {
|
|
|
63
63
|
// Store definition on the model class for introspection
|
|
64
64
|
/**
|
|
65
65
|
* Dynamic class.
|
|
66
|
-
* @type {
|
|
66
|
+
* @type {ReturnType<typeof JSON.parse>} */
|
|
67
67
|
const dynamicClass = ModelClass;
|
|
68
68
|
// Idempotent: re-declaring on the same class (or a re-evaluated module) must not
|
|
69
69
|
// register the before/after-save transition hooks twice. Guard on an own property
|
|
@@ -98,7 +98,7 @@ export function stateMachine(ModelClass, definition) {
|
|
|
98
98
|
// Register event methods and guard methods on the prototype
|
|
99
99
|
/**
|
|
100
100
|
* Proto.
|
|
101
|
-
* @type {
|
|
101
|
+
* @type {ReturnType<typeof JSON.parse>} */
|
|
102
102
|
const proto = ModelClass.prototype;
|
|
103
103
|
for (const [eventName, eventDef] of Object.entries(definition.events)) {
|
|
104
104
|
const fromStates = Array.isArray(eventDef.from) ? eventDef.from : [eventDef.from];
|
|
@@ -135,7 +135,7 @@ export function stateMachine(ModelClass, definition) {
|
|
|
135
135
|
proto[eventName] = function () {
|
|
136
136
|
/**
|
|
137
137
|
* Self.
|
|
138
|
-
* @type {
|
|
138
|
+
* @type {ReturnType<typeof JSON.parse>} */
|
|
139
139
|
const self = this;
|
|
140
140
|
const currentState = self.readAttribute(column);
|
|
141
141
|
if (!fromStates.includes(currentState)) {
|
|
@@ -160,7 +160,7 @@ export function stateMachine(ModelClass, definition) {
|
|
|
160
160
|
proto[`${eventName}AndSave`] = async function () {
|
|
161
161
|
/**
|
|
162
162
|
* Self.
|
|
163
|
-
* @type {
|
|
163
|
+
* @type {ReturnType<typeof JSON.parse>} */
|
|
164
164
|
const self = this;
|
|
165
165
|
const currentState = self.readAttribute(column);
|
|
166
166
|
if (!fromStates.includes(currentState)) {
|
|
@@ -183,7 +183,7 @@ export function stateMachine(ModelClass, definition) {
|
|
|
183
183
|
ModelClass.beforeSave(async function (model) {
|
|
184
184
|
/**
|
|
185
185
|
* Dynamic model.
|
|
186
|
-
* @type {
|
|
186
|
+
* @type {ReturnType<typeof JSON.parse>} */
|
|
187
187
|
const dynamicModel = model;
|
|
188
188
|
const pending = dynamicModel[PENDING_TRANSITION_KEY];
|
|
189
189
|
if (!pending) {
|
|
@@ -208,7 +208,7 @@ export function stateMachine(ModelClass, definition) {
|
|
|
208
208
|
ModelClass.afterSave(async function (model) {
|
|
209
209
|
/**
|
|
210
210
|
* Dynamic model.
|
|
211
|
-
* @type {
|
|
211
|
+
* @type {ReturnType<typeof JSON.parse>} */
|
|
212
212
|
const dynamicModel = model;
|
|
213
213
|
const pending = dynamicModel[PENDING_TRANSITION_KEY];
|
|
214
214
|
if (!pending) {
|
|
@@ -240,4 +240,4 @@ export function stateMachine(ModelClass, definition) {
|
|
|
240
240
|
function columnSetterName(column) {
|
|
241
241
|
return `set${column.charAt(0).toUpperCase()}${column.slice(1)}`;
|
|
242
242
|
}
|
|
243
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtbWFjaGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9yZWNvcmQvc3RhdGUtbWFjaGluZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVo7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUVIOztvQkFFb0I7QUFDcEIsTUFBTSxzQkFBc0IsR0FBRyxnQ0FBZ0MsQ0FBQTtBQUUvRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsVUFBVSxFQUFFLFVBQVU7SUFDakQsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUE7SUFDM0MsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFakQsd0RBQXdEO0lBQ3hEOzttQkFFZTtJQUNmLE1BQU0sWUFBWSxHQUFHLFVBQVUsQ0FBQTtJQUUvQixpRkFBaUY7SUFDakYsa0ZBQWtGO0lBQ2xGLDhFQUE4RTtJQUM5RSxJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUseUJBQXlCLENBQUMsSUFBSSxZQUFZLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztRQUMxSCxPQUFNO0lBQ1IsQ0FBQztJQUVELFlBQVksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUE7SUFDM0MsWUFBWSxDQUFDLHVCQUF1QixHQUFHLFVBQVUsQ0FBQTtJQUNqRCxZQUFZLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxDQUFBO0lBRXpDOzs7T0FHRztJQUNILFlBQVksQ0FBQyx5QkFBeUIsR0FBRztRQUN2QyxPQUFPLFlBQVksQ0FBQyx1QkFBdUIsQ0FBQTtJQUM3QyxDQUFDLENBQUE7SUFFRDs7O09BR0c7SUFDSCxZQUFZLENBQUMscUJBQXFCLEdBQUc7UUFDbkMsT0FB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QWlDO1FBQ2pDLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRXJELElBQUksUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ3BCLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM3QixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsTUFBTTtJQUM5QixPQUFPLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7QUFDakUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIERlZmluZXMgdGhpcyB0eXBlZGVmLlxuICogQHR5cGVkZWYge3tcbiAqICAgY29sdW1uPzogc3RyaW5nLFxuICogICBpbml0aWFsOiBzdHJpbmcsXG4gKiAgIHN0YXRlczogUmVjb3JkPHN0cmluZywgU3RhdGVEZWZpbml0aW9uPixcbiAqICAgZXZlbnRzOiBSZWNvcmQ8c3RyaW5nLCBFdmVudERlZmluaXRpb24+XG4gKiB9fSBTdGF0ZU1hY2hpbmVEZWZpbml0aW9uXG4gKiBAdHlwZWRlZiB7e1xuICogICBiZWZvcmVFbnRlcj86IChtb2RlbDogaW1wb3J0KFwiLi9pbmRleC5qc1wiKS5kZWZhdWx0KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPixcbiAqICAgYWZ0ZXJFbnRlcj86IChtb2RlbDogaW1wb3J0KFwiLi9pbmRleC5qc1wiKS5kZWZhdWx0KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPixcbiAqICAgYmVmb3JlRXhpdD86IChtb2RlbDogaW1wb3J0KFwiLi9pbmRleC5qc1wiKS5kZWZhdWx0KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPixcbiAqICAgYWZ0ZXJFeGl0PzogKG1vZGVsOiBpbXBvcnQoXCIuL2luZGV4LmpzXCIpLmRlZmF1bHQpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+XG4gKiB9fSBTdGF0ZURlZmluaXRpb25cbiAqIEB0eXBlZGVmIHt7XG4gKiAgIGZyb206IHN0cmluZyB8IHN0cmluZ1tdLFxuICogICB0bzogc3RyaW5nLFxuICogICBndWFyZD86IChtb2RlbDogaW1wb3J0KFwiLi9pbmRleC5qc1wiKS5kZWZhdWx0KSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPixcbiAqICAgYmVmb3JlPzogKG1vZGVsOiBpbXBvcnQoXCIuL2luZGV4LmpzXCIpLmRlZmF1bHQpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+LFxuICogICBhZnRlcj86IChtb2RlbDogaW1wb3J0KFwiLi9pbmRleC5qc1wiKS5kZWZhdWx0KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPlxuICogfX0gRXZlbnREZWZpbml0aW9uXG4gKi9cblxuLyoqXG4gKiBQZW5kaW5nIHRyYW5zaXRpb24ga2V5LlxuICogQHR5cGUge3N0cmluZ30gKi9cbmNvbnN0IFBFTkRJTkdfVFJBTlNJVElPTl9LRVkgPSBcIl9zdGF0ZU1hY2hpbmVQZW5kaW5nVHJhbnNpdGlvblwiXG5cbi8qKlxuICogUmVnaXN0ZXJzIGEgc3RhdGUgbWFjaGluZSBvbiBhIFZlbG9jaW91cyBtb2RlbCBjbGFzcy5cbiAqXG4gKiBVc2FnZTpcbiAqIGBgYGpzXG4gKiBpbXBvcnQge3N0YXRlTWFjaGluZX0gZnJvbSBcInZlbG9jaW91cy9idWlsZC9zcmMvZGF0YWJhc2UvcmVjb3JkL3N0YXRlLW1hY2hpbmUuanNcIlxuICpcbiAqIGNsYXNzIEJ1aWxkIGV4dGVuZHMgQnVpbGRCYXNlIHt9XG4gKlxuICogc3RhdGVNYWNoaW5lKEJ1aWxkLCB7XG4gKiAgIGNvbHVtbjogXCJzdGF0dXNcIixcbiAqICAgaW5pdGlhbDogXCJuZXdcIixcbiAqICAgc3RhdGVzOiB7XG4gKiAgICAgbmV3OiB7fSxcbiAqICAgICBxdWV1ZWQ6IHtiZWZvcmVFbnRlcjogKGJ1aWxkKSA9PiB7IGJ1aWxkLnNldFF1ZXVlZEF0KG5ldyBEYXRlKCkpIH19LFxuICogICAgIHJ1bm5pbmc6IHtiZWZvcmVFbnRlcjogKGJ1aWxkKSA9PiB7IGJ1aWxkLnNldFN0YXJ0ZWRBdChuZXcgRGF0ZSgpKSB9fSxcbiAqICAgICBmYWlsZWQ6IHtiZWZvcmVFbnRlcjogKGJ1aWxkKSA9PiB7IGJ1aWxkLnNldEVuZGVkQXQobmV3IERhdGUoKSkgfX0sXG4gKiAgICAgc3VjY2VlZGVkOiB7YmVmb3JlRW50ZXI6IChidWlsZCkgPT4geyBidWlsZC5zZXRFbmRlZEF0KG5ldyBEYXRlKCkpIH19XG4gKiAgIH0sXG4gKiAgIGV2ZW50czoge1xuICogICAgIHF1ZXVlOiB7ZnJvbTogXCJuZXdcIiwgdG86IFwicXVldWVkXCJ9LFxuICogICAgIHJ1bjoge2Zyb206IFtcIm5ld1wiLCBcInF1ZXVlZFwiLCBcImNyYXNoZWRcIl0sIHRvOiBcInJ1bm5pbmdcIn0sXG4gKiAgICAgZmFpbDoge2Zyb206IFtcIm5ld1wiLCBcInF1ZXVlZFwiLCBcInJ1bm5pbmdcIl0sIHRvOiBcImZhaWxlZFwifSxcbiAqICAgICBzdWNjZWVkOiB7ZnJvbTogXCJydW5uaW5nXCIsIHRvOiBcInN1Y2NlZWRlZFwifSxcbiAqICAgICBjYW5jZWw6IHtmcm9tOiBbXCJuZXdcIiwgXCJxdWV1ZWRcIiwgXCJydW5uaW5nXCJdLCB0bzogXCJjYW5jZWxsZWRcIiwgZ3VhcmQ6IChidWlsZCkgPT4gIWJ1aWxkLmlzTmV3UmVjb3JkKCl9XG4gKiAgIH1cbiAqIH0pXG4gKiBgYGBcbiAqIEBwYXJhbSB7dHlwZW9mIGltcG9ydChcIi4vaW5kZXguanNcIikuZGVmYXVsdH0gTW9kZWxDbGFzcyAtIFRoZSBtb2RlbCBjbGFzcyB0byBhZGQgc3RhdGUgbWFjaGluZSBiZWhhdmlvciB0by5cbiAqIEBwYXJhbSB7U3RhdGVNYWNoaW5lRGVmaW5pdGlvbn0gZGVmaW5pdGlvbiAtIFRoZSBzdGF0ZSBtYWNoaW5lIGRlZmluaXRpb24uXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlTWFjaGluZShNb2RlbENsYXNzLCBkZWZpbml0aW9uKSB7XG4gIGNvbnN0IGNvbHVtbiA9IGRlZmluaXRpb24uY29sdW1uIHx8IFwic3RhdGVcIlxuICBjb25zdCBzdGF0ZU5hbWVzID0gT2JqZWN0LmtleXMoZGVmaW5pdGlvbi5zdGF0ZXMpXG5cbiAgLy8gU3RvcmUgZGVmaW5pdGlvbiBvbiB0aGUgbW9kZWwgY2xhc3MgZm9yIGludHJvc3BlY3Rpb25cbiAgLyoqXG4gICAqIER5bmFtaWMgY2xhc3MuXG4gICAqIEB0eXBlIHs/fSAqL1xuICBjb25zdCBkeW5hbWljQ2xhc3MgPSBNb2RlbENsYXNzXG5cbiAgLy8gSWRlbXBvdGVudDogcmUtZGVjbGFyaW5nIG9uIHRoZSBzYW1lIGNsYXNzIChvciBhIHJlLWV2YWx1YXRlZCBtb2R1bGUpIG11c3Qgbm90XG4gIC8vIHJlZ2lzdGVyIHRoZSBiZWZvcmUvYWZ0ZXItc2F2ZSB0cmFuc2l0aW9uIGhvb2tzIHR3aWNlLiBHdWFyZCBvbiBhbiBvd24gcHJvcGVydHlcbiAgLy8gc28gYSBzdWJjbGFzcyBkZWNsYXJpbmcgaXRzIG93biBtYWNoaW5lIGlzIHVuYWZmZWN0ZWQgYnkgdGhlIHBhcmVudCdzIGZsYWcuXG4gIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZHluYW1pY0NsYXNzLCBcIl9zdGF0ZU1hY2hpbmVSZWdpc3RlcmVkXCIpICYmIGR5bmFtaWNDbGFzcy5fc3RhdGVNYWNoaW5lUmVnaXN0ZXJlZCkge1xuICAgIHJldHVyblxuICB9XG5cbiAgZHluYW1pY0NsYXNzLl9zdGF0ZU1hY2hpbmVSZWdpc3RlcmVkID0gdHJ1ZVxuICBkeW5hbWljQ2xhc3MuX3N0YXRlTWFjaGluZURlZmluaXRpb24gPSBkZWZpbml0aW9uXG4gIGR5bmFtaWNDbGFzcy5fc3RhdGVNYWNoaW5lQ29sdW1uID0gY29sdW1uXG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHJlZ2lzdGVyZWQgc3RhdGUgbWFjaGluZSBkZWZpbml0aW9uLlxuICAgKiBAcmV0dXJucyB7U3RhdGVNYWNoaW5lRGVmaW5pdGlvbn0gLSBUaGUgcmVnaXN0ZXJlZCBzdGF0ZSBtYWNoaW5lIGRlZmluaXRpb24uXG4gICAqL1xuICBkeW5hbWljQ2xhc3MuZ2V0U3RhdGVNYWNoaW5lRGVmaW5pdGlvbiA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gZHluYW1pY0NsYXNzLl9zdGF0ZU1hY2hpbmVEZWZpbml0aW9uXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgc3RhdGUgY29sdW1uIG5hbWUuXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIGNvbHVtbiBuYW1lIHVzZWQgZm9yIHN0YXRlIHN0b3JhZ2UuXG4gICAqL1xuICBkeW5hbWljQ2xhc3MuZ2V0U3RhdGVNYWNoaW5lQ29sdW1uID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBkeW5hbWljQ2xhc3MuX3N0YXRlTWFjaGluZUNvbHVtblxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIGRlY2xhcmVkIHN0YXRlIG5hbWVzLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nW119IC0gQWxsIGRlY2xhcmVkIHN0YXRlIG5hbWVzLlxuICAgKi9cbiAgZHluYW1pY0NsYXNzLmdldFN0YXRlTWFjaGluZVN0YXRlTmFtZXMgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIHN0YXRlTmFtZXNcbiAgfVxuXG4gIC8vIFJlZ2lzdGVyIGV2ZW50IG1ldGhvZHMgYW5kIGd1YXJkIG1ldGhvZHMgb24gdGhlIHByb3RvdHlwZVxuICAvKipcbiAgICogUHJvdG8uXG4gICAqIEB0eXBlIHs/fSAqL1xuICBjb25zdCBwcm90byA9IE1vZGVsQ2xhc3MucHJvdG90eXBlXG5cbiAgZm9yIChjb25zdCBbZXZlbnROYW1lLCBldmVudERlZl0gb2YgT2JqZWN0LmVudHJpZXMoZGVmaW5pdGlvbi5ldmVudHMpKSB7XG4gICAgY29uc3QgZnJvbVN0YXRlcyA9IEFycmF5LmlzQXJyYXkoZXZlbnREZWYuZnJvbSkgPyBldmVudERlZi5mcm9tIDogW2V2ZW50RGVmLmZyb21dXG4gICAgY29uc3QgY2FwaXRhbGl6ZWRFdmVudCA9IGV2ZW50TmFtZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIGV2ZW50TmFtZS5zbGljZSgxKVxuICAgIGNvbnN0IGNhbk1ldGhvZE5hbWUgPSBgY2FuJHtjYXBpdGFsaXplZEV2ZW50fWBcbiAgICBjb25zdCBzZXR0ZXJOYW1lID0gY29sdW1uU2V0dGVyTmFtZShjb2x1bW4pXG5cbiAgICAvLyBHdWFyZCBtZXRob2Q6IGNhblF1ZXVlKCksIGNhblJ1bigpLCBldGMuXG4gICAgcHJvdG9bY2FuTWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB0aGlzLnJlYWRBdHRyaWJ1dGUoY29sdW1uKVxuXG4gICAgICBpZiAoIWZyb21TdGF0ZXMuaW5jbHVkZXMoY3VycmVudFN0YXRlKSkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cblxuICAgICAgaWYgKGV2ZW50RGVmLmd1YXJkKSB7XG4gICAgICAgIGNvbnN0IGd1YXJkUmVzdWx0ID0gZXZlbnREZWYuZ3VhcmQodGhpcylcblxuICAgICAgICBpZiAoZ3VhcmRSZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBHdWFyZCBmb3IgZXZlbnQgXCIke2V2ZW50TmFtZX1cIiByZXR1cm5lZCBhIFByb21pc2UuIFVzZSBhd2FpdCBtb2RlbC5jYW4ke2NhcGl0YWxpemVkRXZlbnR9QXN5bmMoKSBpbnN0ZWFkLmApXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZ3VhcmRSZXN1bHRcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICAvLyBBc3luYyBndWFyZCBtZXRob2Q6IGNhblF1ZXVlQXN5bmMoKSwgY2FuUnVuQXN5bmMoKSwgZXRjLlxuICAgIHByb3RvW2Ake2Nhbk1ldGhvZE5hbWV9QXN5bmNgXSA9IGFzeW5jIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMucmVhZEF0dHJpYnV0ZShjb2x1bW4pXG5cbiAgICAgIGlmICghZnJvbVN0YXRlcy5pbmNsdWRlcyhjdXJyZW50U3RhdGUpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuXG4gICAgICBpZiAoZXZlbnREZWYuZ3VhcmQpIHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGV2ZW50RGVmLmd1YXJkKHRoaXMpXG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgLy8gVHJhbnNpdGlvbiBtZXRob2Q6IHF1ZXVlKCksIHJ1bigpLCBldGMuIOKAlCBjaGVja3MgZ3VhcmQsIHNldHMgdGhlIHN0YXRlLCBzdGFzaGVzIGV2ZW50IG5hbWVcbiAgICBwcm90b1tldmVudE5hbWVdID0gZnVuY3Rpb24gKCkge1xuICAgICAgLyoqXG4gICAgICAgKiBTZWxmLlxuICAgICAgICogQHR5cGUgez99ICovXG4gICAgICBjb25zdCBzZWxmID0gdGhpc1xuICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gc2VsZi5yZWFkQXR0cmlidXRlKGNvbHVtbilcblxuICAgICAgaWYgKCFmcm9tU3RhdGVzLmluY2x1ZGVzKGN1cnJlbnRTdGF0ZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDYW5ub3QgdHJhbnNpdGlvbiBcIiR7ZXZlbnROYW1lfVwiIGZyb20gXCIke2N1cnJlbnRTdGF0ZX1cIiBvbiAke3NlbGYuZ2V0TW9kZWxDbGFzcygpLm5hbWV9LiBgICtcbiAgICAgICAgICBgQWxsb3dlZCBzb3VyY2Ugc3RhdGVzOiAke2Zyb21TdGF0ZXMuam9pbihcIiwgXCIpfWBcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICAvLyBFbmZvcmNlIHN5bmNocm9ub3VzIGd1YXJkIGJlZm9yZSBtdXRhdGluZyBzdGF0ZVxuICAgICAgaWYgKGV2ZW50RGVmLmd1YXJkKSB7XG4gICAgICAgIGNvbnN0IGd1YXJkUmVzdWx0ID0gZXZlbnREZWYuZ3VhcmQoc2VsZilcblxuICAgICAgICBpZiAoZ3VhcmRSZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBHdWFyZCBmb3IgZXZlbnQgXCIke2V2ZW50TmFtZX1cIiByZXR1cm5lZCBhIFByb21pc2UuIFVzZSBhd2FpdCBtb2RlbC4ke2V2ZW50TmFtZX1BbmRTYXZlKCkgZm9yIGFzeW5jIGd1YXJkcy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFndWFyZFJlc3VsdCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBHdWFyZCByZWplY3RlZCB0cmFuc2l0aW9uIFwiJHtldmVudE5hbWV9XCIgZnJvbSBcIiR7Y3VycmVudFN0YXRlfVwiIG9uICR7c2VsZi5nZXRNb2RlbENsYXNzKCkubmFtZX0uYFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBTdGFzaCB0aGUgdHJhbnNpdGlvbiBzbyBiZWZvcmVTYXZlL2FmdGVyU2F2ZSBrbm93IHdoaWNoIGV2ZW50IHdhcyBpbnZva2VkXG4gICAgICBzZWxmW1BFTkRJTkdfVFJBTlNJVElPTl9LRVldID0ge2V2ZW50TmFtZSwgZnJvbTogY3VycmVudFN0YXRlLCB0bzogZXZlbnREZWYudG99XG4gICAgICBzZWxmW3NldHRlck5hbWVdKGV2ZW50RGVmLnRvKVxuICAgIH1cblxuICAgIC8vIEJhbmcgbWV0aG9kOiBxdWV1ZUFuZFNhdmUoKSwgcnVuQW5kU2F2ZSgpLCBldGMuIOKAlCB0cmFuc2l0aW9ucyBBTkQgc2F2ZXMgKHN1cHBvcnRzIGFzeW5jIGd1YXJkcylcbiAgICBwcm90b1tgJHtldmVudE5hbWV9QW5kU2F2ZWBdID0gYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgLyoqXG4gICAgICAgKiBTZWxmLlxuICAgICAgICogQHR5cGUgez99ICovXG4gICAgICBjb25zdCBzZWxmID0gdGhpc1xuICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gc2VsZi5yZWFkQXR0cmlidXRlKGNvbHVtbilcblxuICAgICAgaWYgKCFmcm9tU3RhdGVzLmluY2x1ZGVzKGN1cnJlbnRTdGF0ZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDYW5ub3QgdHJhbnNpdGlvbiBcIiR7ZXZlbnROYW1lfVwiIGZyb20gXCIke2N1cnJlbnRTdGF0ZX1cIiBvbiAke3NlbGYuZ2V0TW9kZWxDbGFzcygpLm5hbWV9LiBgICtcbiAgICAgICAgICBgQWxsb3dlZCBzb3VyY2Ugc3RhdGVzOiAke2Zyb21TdGF0ZXMuam9pbihcIiwgXCIpfWBcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICAvLyBFbmZvcmNlIGFzeW5jIGd1YXJkIGJlZm9yZSBtdXRhdGluZyBzdGF0ZVxuICAgICAgaWYgKGV2ZW50RGVmLmd1YXJkKSB7XG4gICAgICAgIGNvbnN0IGFsbG93ZWQgPSBhd2FpdCBldmVudERlZi5ndWFyZChzZWxmKVxuXG4gICAgICAgIGlmICghYWxsb3dlZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBHdWFyZCByZWplY3RlZCB0cmFuc2l0aW9uIFwiJHtldmVudE5hbWV9XCIgZnJvbSBcIiR7Y3VycmVudFN0YXRlfVwiIG9uICR7c2VsZi5nZXRNb2RlbENsYXNzKCkubmFtZX0uYFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzZWxmW1BFTkRJTkdfVFJBTlNJVElPTl9LRVldID0ge2V2ZW50TmFtZSwgZnJvbTogY3VycmVudFN0YXRlLCB0bzogZXZlbnREZWYudG99XG4gICAgICBzZWxmW3NldHRlck5hbWVdKGV2ZW50RGVmLnRvKVxuICAgICAgYXdhaXQgc2VsZi5zYXZlKClcbiAgICB9XG4gIH1cblxuICAvLyBSZWdpc3RlciBhIGJlZm9yZVNhdmUgY2FsbGJhY2sgdGhhdCBmaXJlcyBzdGF0ZS1lbnRlciBob29rc1xuICBNb2RlbENsYXNzLmJlZm9yZVNhdmUoYXN5bmMgZnVuY3Rpb24gKG1vZGVsKSB7XG4gICAgLyoqXG4gICAgICogRHluYW1pYyBtb2RlbC5cbiAgICAgKiBAdHlwZSB7P30gKi9cbiAgICBjb25zdCBkeW5hbWljTW9kZWwgPSBtb2RlbFxuICAgIGNvbnN0IHBlbmRpbmcgPSBkeW5hbWljTW9kZWxbUEVORElOR19UUkFOU0lUSU9OX0tFWV1cblxuICAgIGlmICghcGVuZGluZykge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgZXZlbnREZWYgPSBkZWZpbml0aW9uLmV2ZW50c1twZW5kaW5nLmV2ZW50TmFtZV1cblxuICAgIC8vIFJ1biBldmVudC1sZXZlbCBiZWZvcmUgY2FsbGJhY2tcbiAgICBpZiAoZXZlbnREZWY/LmJlZm9yZSkge1xuICAgICAgYXdhaXQgZXZlbnREZWYuYmVmb3JlKG1vZGVsKVxuICAgIH1cblxuICAgIC8vIFJ1biB0aGUgZXhpdGVkIHN0YXRlJ3MgYmVmb3JlRXhpdCwgdGhlbiB0aGUgZW50ZXJlZCBzdGF0ZSdzIGJlZm9yZUVudGVyXG4gICAgY29uc3QgZnJvbVN0YXRlRGVmaW5pdGlvbiA9IGRlZmluaXRpb24uc3RhdGVzW3BlbmRpbmcuZnJvbV1cblxuICAgIGlmIChmcm9tU3RhdGVEZWZpbml0aW9uPy5iZWZvcmVFeGl0KSB7XG4gICAgICBhd2FpdCBmcm9tU3RhdGVEZWZpbml0aW9uLmJlZm9yZUV4aXQobW9kZWwpXG4gICAgfVxuXG4gICAgY29uc3Qgc3RhdGVEZWZpbml0aW9uID0gZGVmaW5pdGlvbi5zdGF0ZXNbcGVuZGluZy50b11cblxuICAgIGlmIChzdGF0ZURlZmluaXRpb24/LmJlZm9yZUVudGVyKSB7XG4gICAgICBhd2FpdCBzdGF0ZURlZmluaXRpb24uYmVmb3JlRW50ZXIobW9kZWwpXG4gICAgfVxuICB9KVxuXG4gIC8vIFJlZ2lzdGVyIGFuIGFmdGVyU2F2ZSBjYWxsYmFjayBmb3IgYWZ0ZXJFbnRlciBob29rc1xuICBNb2RlbENsYXNzLmFmdGVyU2F2ZShhc3luYyBmdW5jdGlvbiAobW9kZWwpIHtcbiAgICAvKipcbiAgICAgKiBEeW5hbWljIG1vZGVsLlxuICAgICAqIEB0eXBlIHs/fSAqL1xuICAgIGNvbnN0IGR5bmFtaWNNb2RlbCA9IG1vZGVsXG4gICAgY29uc3QgcGVuZGluZyA9IGR5bmFtaWNNb2RlbFtQRU5ESU5HX1RSQU5TSVRJT05fS0VZXVxuXG4gICAgaWYgKCFwZW5kaW5nKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyBDbGVhciB0aGUgcGVuZGluZyB0cmFuc2l0aW9uIG5vdyB0aGF0IHNhdmUgaXMgY29tcGxldGVcbiAgICBkeW5hbWljTW9kZWxbUEVORElOR19UUkFOU0lUSU9OX0tFWV0gPSBudWxsXG5cbiAgICAvLyBSdW4gdGhlIGVudGVyZWQgc3RhdGUncyBhZnRlckVudGVyLCB0aGVuIHRoZSBleGl0ZWQgc3RhdGUncyBhZnRlckV4aXRcbiAgICBjb25zdCBzdGF0ZURlZmluaXRpb24gPSBkZWZpbml0aW9uLnN0YXRlc1twZW5kaW5nLnRvXVxuXG4gICAgaWYgKHN0YXRlRGVmaW5pdGlvbj8uYWZ0ZXJFbnRlcikge1xuICAgICAgYXdhaXQgc3RhdGVEZWZpbml0aW9uLmFmdGVyRW50ZXIobW9kZWwpXG4gICAgfVxuXG4gICAgY29uc3QgZnJvbVN0YXRlRGVmaW5pdGlvbiA9IGRlZmluaXRpb24uc3RhdGVzW3BlbmRpbmcuZnJvbV1cblxuICAgIGlmIChmcm9tU3RhdGVEZWZpbml0aW9uPy5hZnRlckV4aXQpIHtcbiAgICAgIGF3YWl0IGZyb21TdGF0ZURlZmluaXRpb24uYWZ0ZXJFeGl0KG1vZGVsKVxuICAgIH1cblxuICAgIC8vIFJ1biBldmVudC1sZXZlbCBhZnRlciBjYWxsYmFja1xuICAgIGNvbnN0IGV2ZW50RGVmID0gZGVmaW5pdGlvbi5ldmVudHNbcGVuZGluZy5ldmVudE5hbWVdXG5cbiAgICBpZiAoZXZlbnREZWY/LmFmdGVyKSB7XG4gICAgICBhd2FpdCBldmVudERlZi5hZnRlcihtb2RlbClcbiAgICB9XG4gIH0pXG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgc2V0dGVyIG1ldGhvZCBuYW1lIGZvciBhIGNvbHVtbiAoZS5nLiwgXCJzdGF0dXNcIiDihpIgXCJzZXRTdGF0dXNcIiwgXCJzdGF0ZVwiIOKGkiBcInNldFN0YXRlXCIpLlxuICogQHBhcmFtIHtzdHJpbmd9IGNvbHVtbiAtIFRoZSBjb2x1bW4gbmFtZS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIHNldHRlciBtZXRob2QgbmFtZS5cbiAqL1xuZnVuY3Rpb24gY29sdW1uU2V0dGVyTmFtZShjb2x1bW4pIHtcbiAgcmV0dXJuIGBzZXQke2NvbHVtbi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke2NvbHVtbi5zbGljZSgxKX1gXG59XG4iXX0=
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhdGUtbWFjaGluZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhYmFzZS9yZWNvcmQvc3RhdGUtbWFjaGluZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVo7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUVIOztvQkFFb0I7QUFDcEIsTUFBTSxzQkFBc0IsR0FBRyxnQ0FBZ0MsQ0FBQTtBQUUvRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQStCRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsVUFBVSxFQUFFLFVBQVU7SUFDakQsTUFBTSxNQUFNLEdBQUcsVUFBVSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUE7SUFDM0MsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUE7SUFFakQsd0RBQXdEO0lBQ3hEOzsrQ0FFMkM7SUFDM0MsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFBO0lBRS9CLGlGQUFpRjtJQUNqRixrRkFBa0Y7SUFDbEYsOEVBQThFO0lBQzlFLElBQUksTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSx5QkFBeUIsQ0FBQyxJQUFJLFlBQVksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQzFILE9BQU07SUFDUixDQUFDO0lBRUQsWUFBWSxDQUFDLHVCQUF1QixHQUFHLElBQUksQ0FBQTtJQUMzQyxZQUFZLENBQUMsdUJBQXVCLEdBQUcsVUFBVSxDQUFBO0lBQ2pELFlBQVksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUE7SUFFekM7OztPQUdHO0lBQ0gsWUFBWSxDQUFDLHlCQUF5QixHQUFHO1FBQ3ZDLE9BQU8sWUFBWSxDQUFDLHVCQUF1QixDQUFBO0lBQzdDLENBQUMsQ0FBQTtJQUVEOzs7T0FHRztJQUNILFlBQVksQ0FBQyxxQkFBcUIsR0FBRztRQUNuQyxP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QUFDO1FBRUQsaUNBQWlDO1FBQ2pDLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRXJELElBQUksUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ3BCLE1BQU0sUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUM3QixDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUE7QUFDSixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsTUFBTTtJQUM5QixPQUFPLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7QUFDakUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIERlZmluZXMgdGhpcyB0eXBlZGVmLlxuICogQHR5cGVkZWYge3tcbiAqICAgY29sdW1uPzogc3RyaW5nLFxuICogICBpbml0aWFsOiBzdHJpbmcsXG4gKiAgIHN0YXRlczogUmVjb3JkPHN0cmluZywgU3RhdGVEZWZpbml0aW9uPixcbiAqICAgZXZlbnRzOiBSZWNvcmQ8c3RyaW5nLCBFdmVudERlZmluaXRpb24+XG4gKiB9fSBTdGF0ZU1hY2hpbmVEZWZpbml0aW9uXG4gKiBAdHlwZWRlZiB7e1xuICogICBiZWZvcmVFbnRlcj86IChtb2RlbDogaW1wb3J0KFwiLi9pbmRleC5qc1wiKS5kZWZhdWx0KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPixcbiAqICAgYWZ0ZXJFbnRlcj86IChtb2RlbDogaW1wb3J0KFwiLi9pbmRleC5qc1wiKS5kZWZhdWx0KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPixcbiAqICAgYmVmb3JlRXhpdD86IChtb2RlbDogaW1wb3J0KFwiLi9pbmRleC5qc1wiKS5kZWZhdWx0KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPixcbiAqICAgYWZ0ZXJFeGl0PzogKG1vZGVsOiBpbXBvcnQoXCIuL2luZGV4LmpzXCIpLmRlZmF1bHQpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+XG4gKiB9fSBTdGF0ZURlZmluaXRpb25cbiAqIEB0eXBlZGVmIHt7XG4gKiAgIGZyb206IHN0cmluZyB8IHN0cmluZ1tdLFxuICogICB0bzogc3RyaW5nLFxuICogICBndWFyZD86IChtb2RlbDogaW1wb3J0KFwiLi9pbmRleC5qc1wiKS5kZWZhdWx0KSA9PiBib29sZWFuIHwgUHJvbWlzZTxib29sZWFuPixcbiAqICAgYmVmb3JlPzogKG1vZGVsOiBpbXBvcnQoXCIuL2luZGV4LmpzXCIpLmRlZmF1bHQpID0+IHZvaWQgfCBQcm9taXNlPHZvaWQ+LFxuICogICBhZnRlcj86IChtb2RlbDogaW1wb3J0KFwiLi9pbmRleC5qc1wiKS5kZWZhdWx0KSA9PiB2b2lkIHwgUHJvbWlzZTx2b2lkPlxuICogfX0gRXZlbnREZWZpbml0aW9uXG4gKi9cblxuLyoqXG4gKiBQZW5kaW5nIHRyYW5zaXRpb24ga2V5LlxuICogQHR5cGUge3N0cmluZ30gKi9cbmNvbnN0IFBFTkRJTkdfVFJBTlNJVElPTl9LRVkgPSBcIl9zdGF0ZU1hY2hpbmVQZW5kaW5nVHJhbnNpdGlvblwiXG5cbi8qKlxuICogUmVnaXN0ZXJzIGEgc3RhdGUgbWFjaGluZSBvbiBhIFZlbG9jaW91cyBtb2RlbCBjbGFzcy5cbiAqXG4gKiBVc2FnZTpcbiAqIGBgYGpzXG4gKiBpbXBvcnQge3N0YXRlTWFjaGluZX0gZnJvbSBcInZlbG9jaW91cy9idWlsZC9zcmMvZGF0YWJhc2UvcmVjb3JkL3N0YXRlLW1hY2hpbmUuanNcIlxuICpcbiAqIGNsYXNzIEJ1aWxkIGV4dGVuZHMgQnVpbGRCYXNlIHt9XG4gKlxuICogc3RhdGVNYWNoaW5lKEJ1aWxkLCB7XG4gKiAgIGNvbHVtbjogXCJzdGF0dXNcIixcbiAqICAgaW5pdGlhbDogXCJuZXdcIixcbiAqICAgc3RhdGVzOiB7XG4gKiAgICAgbmV3OiB7fSxcbiAqICAgICBxdWV1ZWQ6IHtiZWZvcmVFbnRlcjogKGJ1aWxkKSA9PiB7IGJ1aWxkLnNldFF1ZXVlZEF0KG5ldyBEYXRlKCkpIH19LFxuICogICAgIHJ1bm5pbmc6IHtiZWZvcmVFbnRlcjogKGJ1aWxkKSA9PiB7IGJ1aWxkLnNldFN0YXJ0ZWRBdChuZXcgRGF0ZSgpKSB9fSxcbiAqICAgICBmYWlsZWQ6IHtiZWZvcmVFbnRlcjogKGJ1aWxkKSA9PiB7IGJ1aWxkLnNldEVuZGVkQXQobmV3IERhdGUoKSkgfX0sXG4gKiAgICAgc3VjY2VlZGVkOiB7YmVmb3JlRW50ZXI6IChidWlsZCkgPT4geyBidWlsZC5zZXRFbmRlZEF0KG5ldyBEYXRlKCkpIH19XG4gKiAgIH0sXG4gKiAgIGV2ZW50czoge1xuICogICAgIHF1ZXVlOiB7ZnJvbTogXCJuZXdcIiwgdG86IFwicXVldWVkXCJ9LFxuICogICAgIHJ1bjoge2Zyb206IFtcIm5ld1wiLCBcInF1ZXVlZFwiLCBcImNyYXNoZWRcIl0sIHRvOiBcInJ1bm5pbmdcIn0sXG4gKiAgICAgZmFpbDoge2Zyb206IFtcIm5ld1wiLCBcInF1ZXVlZFwiLCBcInJ1bm5pbmdcIl0sIHRvOiBcImZhaWxlZFwifSxcbiAqICAgICBzdWNjZWVkOiB7ZnJvbTogXCJydW5uaW5nXCIsIHRvOiBcInN1Y2NlZWRlZFwifSxcbiAqICAgICBjYW5jZWw6IHtmcm9tOiBbXCJuZXdcIiwgXCJxdWV1ZWRcIiwgXCJydW5uaW5nXCJdLCB0bzogXCJjYW5jZWxsZWRcIiwgZ3VhcmQ6IChidWlsZCkgPT4gIWJ1aWxkLmlzTmV3UmVjb3JkKCl9XG4gKiAgIH1cbiAqIH0pXG4gKiBgYGBcbiAqIEBwYXJhbSB7dHlwZW9mIGltcG9ydChcIi4vaW5kZXguanNcIikuZGVmYXVsdH0gTW9kZWxDbGFzcyAtIFRoZSBtb2RlbCBjbGFzcyB0byBhZGQgc3RhdGUgbWFjaGluZSBiZWhhdmlvciB0by5cbiAqIEBwYXJhbSB7U3RhdGVNYWNoaW5lRGVmaW5pdGlvbn0gZGVmaW5pdGlvbiAtIFRoZSBzdGF0ZSBtYWNoaW5lIGRlZmluaXRpb24uXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0YXRlTWFjaGluZShNb2RlbENsYXNzLCBkZWZpbml0aW9uKSB7XG4gIGNvbnN0IGNvbHVtbiA9IGRlZmluaXRpb24uY29sdW1uIHx8IFwic3RhdGVcIlxuICBjb25zdCBzdGF0ZU5hbWVzID0gT2JqZWN0LmtleXMoZGVmaW5pdGlvbi5zdGF0ZXMpXG5cbiAgLy8gU3RvcmUgZGVmaW5pdGlvbiBvbiB0aGUgbW9kZWwgY2xhc3MgZm9yIGludHJvc3BlY3Rpb25cbiAgLyoqXG4gICAqIER5bmFtaWMgY2xhc3MuXG4gICAqIEB0eXBlIHtSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPn0gKi9cbiAgY29uc3QgZHluYW1pY0NsYXNzID0gTW9kZWxDbGFzc1xuXG4gIC8vIElkZW1wb3RlbnQ6IHJlLWRlY2xhcmluZyBvbiB0aGUgc2FtZSBjbGFzcyAob3IgYSByZS1ldmFsdWF0ZWQgbW9kdWxlKSBtdXN0IG5vdFxuICAvLyByZWdpc3RlciB0aGUgYmVmb3JlL2FmdGVyLXNhdmUgdHJhbnNpdGlvbiBob29rcyB0d2ljZS4gR3VhcmQgb24gYW4gb3duIHByb3BlcnR5XG4gIC8vIHNvIGEgc3ViY2xhc3MgZGVjbGFyaW5nIGl0cyBvd24gbWFjaGluZSBpcyB1bmFmZmVjdGVkIGJ5IHRoZSBwYXJlbnQncyBmbGFnLlxuICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGR5bmFtaWNDbGFzcywgXCJfc3RhdGVNYWNoaW5lUmVnaXN0ZXJlZFwiKSAmJiBkeW5hbWljQ2xhc3MuX3N0YXRlTWFjaGluZVJlZ2lzdGVyZWQpIHtcbiAgICByZXR1cm5cbiAgfVxuXG4gIGR5bmFtaWNDbGFzcy5fc3RhdGVNYWNoaW5lUmVnaXN0ZXJlZCA9IHRydWVcbiAgZHluYW1pY0NsYXNzLl9zdGF0ZU1hY2hpbmVEZWZpbml0aW9uID0gZGVmaW5pdGlvblxuICBkeW5hbWljQ2xhc3MuX3N0YXRlTWFjaGluZUNvbHVtbiA9IGNvbHVtblxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSByZWdpc3RlcmVkIHN0YXRlIG1hY2hpbmUgZGVmaW5pdGlvbi5cbiAgICogQHJldHVybnMge1N0YXRlTWFjaGluZURlZmluaXRpb259IC0gVGhlIHJlZ2lzdGVyZWQgc3RhdGUgbWFjaGluZSBkZWZpbml0aW9uLlxuICAgKi9cbiAgZHluYW1pY0NsYXNzLmdldFN0YXRlTWFjaGluZURlZmluaXRpb24gPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGR5bmFtaWNDbGFzcy5fc3RhdGVNYWNoaW5lRGVmaW5pdGlvblxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIHN0YXRlIGNvbHVtbiBuYW1lLlxuICAgKiBAcmV0dXJucyB7c3RyaW5nfSAtIFRoZSBjb2x1bW4gbmFtZSB1c2VkIGZvciBzdGF0ZSBzdG9yYWdlLlxuICAgKi9cbiAgZHluYW1pY0NsYXNzLmdldFN0YXRlTWFjaGluZUNvbHVtbiA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gZHluYW1pY0NsYXNzLl9zdGF0ZU1hY2hpbmVDb2x1bW5cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFsbCBkZWNsYXJlZCBzdGF0ZSBuYW1lcy5cbiAgICogQHJldHVybnMge3N0cmluZ1tdfSAtIEFsbCBkZWNsYXJlZCBzdGF0ZSBuYW1lcy5cbiAgICovXG4gIGR5bmFtaWNDbGFzcy5nZXRTdGF0ZU1hY2hpbmVTdGF0ZU5hbWVzID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBzdGF0ZU5hbWVzXG4gIH1cblxuICAvLyBSZWdpc3RlciBldmVudCBtZXRob2RzIGFuZCBndWFyZCBtZXRob2RzIG9uIHRoZSBwcm90b3R5cGVcbiAgLyoqXG4gICAqIFByb3RvLlxuICAgKiBAdHlwZSB7UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59ICovXG4gIGNvbnN0IHByb3RvID0gTW9kZWxDbGFzcy5wcm90b3R5cGVcblxuICBmb3IgKGNvbnN0IFtldmVudE5hbWUsIGV2ZW50RGVmXSBvZiBPYmplY3QuZW50cmllcyhkZWZpbml0aW9uLmV2ZW50cykpIHtcbiAgICBjb25zdCBmcm9tU3RhdGVzID0gQXJyYXkuaXNBcnJheShldmVudERlZi5mcm9tKSA/IGV2ZW50RGVmLmZyb20gOiBbZXZlbnREZWYuZnJvbV1cbiAgICBjb25zdCBjYXBpdGFsaXplZEV2ZW50ID0gZXZlbnROYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgZXZlbnROYW1lLnNsaWNlKDEpXG4gICAgY29uc3QgY2FuTWV0aG9kTmFtZSA9IGBjYW4ke2NhcGl0YWxpemVkRXZlbnR9YFxuICAgIGNvbnN0IHNldHRlck5hbWUgPSBjb2x1bW5TZXR0ZXJOYW1lKGNvbHVtbilcblxuICAgIC8vIEd1YXJkIG1ldGhvZDogY2FuUXVldWUoKSwgY2FuUnVuKCksIGV0Yy5cbiAgICBwcm90b1tjYW5NZXRob2ROYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHRoaXMucmVhZEF0dHJpYnV0ZShjb2x1bW4pXG5cbiAgICAgIGlmICghZnJvbVN0YXRlcy5pbmNsdWRlcyhjdXJyZW50U3RhdGUpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuXG4gICAgICBpZiAoZXZlbnREZWYuZ3VhcmQpIHtcbiAgICAgICAgY29uc3QgZ3VhcmRSZXN1bHQgPSBldmVudERlZi5ndWFyZCh0aGlzKVxuXG4gICAgICAgIGlmIChndWFyZFJlc3VsdCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEd1YXJkIGZvciBldmVudCBcIiR7ZXZlbnROYW1lfVwiIHJldHVybmVkIGEgUHJvbWlzZS4gVXNlIGF3YWl0IG1vZGVsLmNhbiR7Y2FwaXRhbGl6ZWRFdmVudH1Bc3luYygpIGluc3RlYWQuYClcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBndWFyZFJlc3VsdFxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIC8vIEFzeW5jIGd1YXJkIG1ldGhvZDogY2FuUXVldWVBc3luYygpLCBjYW5SdW5Bc3luYygpLCBldGMuXG4gICAgcHJvdG9bYCR7Y2FuTWV0aG9kTmFtZX1Bc3luY2BdID0gYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gdGhpcy5yZWFkQXR0cmlidXRlKGNvbHVtbilcblxuICAgICAgaWYgKCFmcm9tU3RhdGVzLmluY2x1ZGVzKGN1cnJlbnRTdGF0ZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG5cbiAgICAgIGlmIChldmVudERlZi5ndWFyZCkge1xuICAgICAgICByZXR1cm4gYXdhaXQgZXZlbnREZWYuZ3VhcmQodGhpcylcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG5cbiAgICAvLyBUcmFuc2l0aW9uIG1ldGhvZDogcXVldWUoKSwgcnVuKCksIGV0Yy4g4oCUIGNoZWNrcyBndWFyZCwgc2V0cyB0aGUgc3RhdGUsIHN0YXNoZXMgZXZlbnQgbmFtZVxuICAgIHByb3RvW2V2ZW50TmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAvKipcbiAgICAgICAqIFNlbGYuXG4gICAgICAgKiBAdHlwZSB7UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT59ICovXG4gICAgICBjb25zdCBzZWxmID0gdGhpc1xuICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gc2VsZi5yZWFkQXR0cmlidXRlKGNvbHVtbilcblxuICAgICAgaWYgKCFmcm9tU3RhdGVzLmluY2x1ZGVzKGN1cnJlbnRTdGF0ZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBDYW5ub3QgdHJhbnNpdGlvbiBcIiR7ZXZlbnROYW1lfVwiIGZyb20gXCIke2N1cnJlbnRTdGF0ZX1cIiBvbiAke3NlbGYuZ2V0TW9kZWxDbGFzcygpLm5hbWV9LiBgICtcbiAgICAgICAgICBgQWxsb3dlZCBzb3VyY2Ugc3RhdGVzOiAke2Zyb21TdGF0ZXMuam9pbihcIiwgXCIpfWBcbiAgICAgICAgKVxuICAgICAgfVxuXG4gICAgICAvLyBFbmZvcmNlIHN5bmNocm9ub3VzIGd1YXJkIGJlZm9yZSBtdXRhdGluZyBzdGF0ZVxuICAgICAgaWYgKGV2ZW50RGVmLmd1YXJkKSB7XG4gICAgICAgIGNvbnN0IGd1YXJkUmVzdWx0ID0gZXZlbnREZWYuZ3VhcmQoc2VsZilcblxuICAgICAgICBpZiAoZ3VhcmRSZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBHdWFyZCBmb3IgZXZlbnQgXCIke2V2ZW50TmFtZX1cIiByZXR1cm5lZCBhIFByb21pc2UuIFVzZSBhd2FpdCBtb2RlbC4ke2V2ZW50TmFtZX1BbmRTYXZlKCkgZm9yIGFzeW5jIGd1YXJkcy5gKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFndWFyZFJlc3VsdCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBHdWFyZCByZWplY3RlZCB0cmFuc2l0aW9uIFwiJHtldmVudE5hbWV9XCIgZnJvbSBcIiR7Y3VycmVudFN0YXRlfVwiIG9uICR7c2VsZi5nZXRNb2RlbENsYXNzKCkubmFtZX0uYFxuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBTdGFzaCB0aGUgdHJhbnNpdGlvbiBzbyBiZWZvcmVTYXZlL2FmdGVyU2F2ZSBrbm93IHdoaWNoIGV2ZW50IHdhcyBpbnZva2VkXG4gICAgICBzZWxmW1BFTkRJTkdfVFJBTlNJVElPTl9LRVldID0ge2V2ZW50TmFtZSwgZnJvbTogY3VycmVudFN0YXRlLCB0bzogZXZlbnREZWYudG99XG4gICAgICBzZWxmW3NldHRlck5hbWVdKGV2ZW50RGVmLnRvKVxuICAgIH1cblxuICAgIC8vIEJhbmcgbWV0aG9kOiBxdWV1ZUFuZFNhdmUoKSwgcnVuQW5kU2F2ZSgpLCBldGMuIOKAlCB0cmFuc2l0aW9ucyBBTkQgc2F2ZXMgKHN1cHBvcnRzIGFzeW5jIGd1YXJkcylcbiAgICBwcm90b1tgJHtldmVudE5hbWV9QW5kU2F2ZWBdID0gYXN5bmMgZnVuY3Rpb24gKCkge1xuICAgICAgLyoqXG4gICAgICAgKiBTZWxmLlxuICAgICAgICogQHR5cGUge1JldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+fSAqL1xuICAgICAgY29uc3Qgc2VsZiA9IHRoaXNcbiAgICAgIGNvbnN0IGN1cnJlbnRTdGF0ZSA9IHNlbGYucmVhZEF0dHJpYnV0ZShjb2x1bW4pXG5cbiAgICAgIGlmICghZnJvbVN0YXRlcy5pbmNsdWRlcyhjdXJyZW50U3RhdGUpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgQ2Fubm90IHRyYW5zaXRpb24gXCIke2V2ZW50TmFtZX1cIiBmcm9tIFwiJHtjdXJyZW50U3RhdGV9XCIgb24gJHtzZWxmLmdldE1vZGVsQ2xhc3MoKS5uYW1lfS4gYCArXG4gICAgICAgICAgYEFsbG93ZWQgc291cmNlIHN0YXRlczogJHtmcm9tU3RhdGVzLmpvaW4oXCIsIFwiKX1gXG4gICAgICAgIClcbiAgICAgIH1cblxuICAgICAgLy8gRW5mb3JjZSBhc3luYyBndWFyZCBiZWZvcmUgbXV0YXRpbmcgc3RhdGVcbiAgICAgIGlmIChldmVudERlZi5ndWFyZCkge1xuICAgICAgICBjb25zdCBhbGxvd2VkID0gYXdhaXQgZXZlbnREZWYuZ3VhcmQoc2VsZilcblxuICAgICAgICBpZiAoIWFsbG93ZWQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgR3VhcmQgcmVqZWN0ZWQgdHJhbnNpdGlvbiBcIiR7ZXZlbnROYW1lfVwiIGZyb20gXCIke2N1cnJlbnRTdGF0ZX1cIiBvbiAke3NlbGYuZ2V0TW9kZWxDbGFzcygpLm5hbWV9LmBcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc2VsZltQRU5ESU5HX1RSQU5TSVRJT05fS0VZXSA9IHtldmVudE5hbWUsIGZyb206IGN1cnJlbnRTdGF0ZSwgdG86IGV2ZW50RGVmLnRvfVxuICAgICAgc2VsZltzZXR0ZXJOYW1lXShldmVudERlZi50bylcbiAgICAgIGF3YWl0IHNlbGYuc2F2ZSgpXG4gICAgfVxuICB9XG5cbiAgLy8gUmVnaXN0ZXIgYSBiZWZvcmVTYXZlIGNhbGxiYWNrIHRoYXQgZmlyZXMgc3RhdGUtZW50ZXIgaG9va3NcbiAgTW9kZWxDbGFzcy5iZWZvcmVTYXZlKGFzeW5jIGZ1bmN0aW9uIChtb2RlbCkge1xuICAgIC8qKlxuICAgICAqIER5bmFtaWMgbW9kZWwuXG4gICAgICogQHR5cGUge1JldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+fSAqL1xuICAgIGNvbnN0IGR5bmFtaWNNb2RlbCA9IG1vZGVsXG4gICAgY29uc3QgcGVuZGluZyA9IGR5bmFtaWNNb2RlbFtQRU5ESU5HX1RSQU5TSVRJT05fS0VZXVxuXG4gICAgaWYgKCFwZW5kaW5nKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBjb25zdCBldmVudERlZiA9IGRlZmluaXRpb24uZXZlbnRzW3BlbmRpbmcuZXZlbnROYW1lXVxuXG4gICAgLy8gUnVuIGV2ZW50LWxldmVsIGJlZm9yZSBjYWxsYmFja1xuICAgIGlmIChldmVudERlZj8uYmVmb3JlKSB7XG4gICAgICBhd2FpdCBldmVudERlZi5iZWZvcmUobW9kZWwpXG4gICAgfVxuXG4gICAgLy8gUnVuIHRoZSBleGl0ZWQgc3RhdGUncyBiZWZvcmVFeGl0LCB0aGVuIHRoZSBlbnRlcmVkIHN0YXRlJ3MgYmVmb3JlRW50ZXJcbiAgICBjb25zdCBmcm9tU3RhdGVEZWZpbml0aW9uID0gZGVmaW5pdGlvbi5zdGF0ZXNbcGVuZGluZy5mcm9tXVxuXG4gICAgaWYgKGZyb21TdGF0ZURlZmluaXRpb24/LmJlZm9yZUV4aXQpIHtcbiAgICAgIGF3YWl0IGZyb21TdGF0ZURlZmluaXRpb24uYmVmb3JlRXhpdChtb2RlbClcbiAgICB9XG5cbiAgICBjb25zdCBzdGF0ZURlZmluaXRpb24gPSBkZWZpbml0aW9uLnN0YXRlc1twZW5kaW5nLnRvXVxuXG4gICAgaWYgKHN0YXRlRGVmaW5pdGlvbj8uYmVmb3JlRW50ZXIpIHtcbiAgICAgIGF3YWl0IHN0YXRlRGVmaW5pdGlvbi5iZWZvcmVFbnRlcihtb2RlbClcbiAgICB9XG4gIH0pXG5cbiAgLy8gUmVnaXN0ZXIgYW4gYWZ0ZXJTYXZlIGNhbGxiYWNrIGZvciBhZnRlckVudGVyIGhvb2tzXG4gIE1vZGVsQ2xhc3MuYWZ0ZXJTYXZlKGFzeW5jIGZ1bmN0aW9uIChtb2RlbCkge1xuICAgIC8qKlxuICAgICAqIER5bmFtaWMgbW9kZWwuXG4gICAgICogQHR5cGUge1JldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+fSAqL1xuICAgIGNvbnN0IGR5bmFtaWNNb2RlbCA9IG1vZGVsXG4gICAgY29uc3QgcGVuZGluZyA9IGR5bmFtaWNNb2RlbFtQRU5ESU5HX1RSQU5TSVRJT05fS0VZXVxuXG4gICAgaWYgKCFwZW5kaW5nKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyBDbGVhciB0aGUgcGVuZGluZyB0cmFuc2l0aW9uIG5vdyB0aGF0IHNhdmUgaXMgY29tcGxldGVcbiAgICBkeW5hbWljTW9kZWxbUEVORElOR19UUkFOU0lUSU9OX0tFWV0gPSBudWxsXG5cbiAgICAvLyBSdW4gdGhlIGVudGVyZWQgc3RhdGUncyBhZnRlckVudGVyLCB0aGVuIHRoZSBleGl0ZWQgc3RhdGUncyBhZnRlckV4aXRcbiAgICBjb25zdCBzdGF0ZURlZmluaXRpb24gPSBkZWZpbml0aW9uLnN0YXRlc1twZW5kaW5nLnRvXVxuXG4gICAgaWYgKHN0YXRlRGVmaW5pdGlvbj8uYWZ0ZXJFbnRlcikge1xuICAgICAgYXdhaXQgc3RhdGVEZWZpbml0aW9uLmFmdGVyRW50ZXIobW9kZWwpXG4gICAgfVxuXG4gICAgY29uc3QgZnJvbVN0YXRlRGVmaW5pdGlvbiA9IGRlZmluaXRpb24uc3RhdGVzW3BlbmRpbmcuZnJvbV1cblxuICAgIGlmIChmcm9tU3RhdGVEZWZpbml0aW9uPy5hZnRlckV4aXQpIHtcbiAgICAgIGF3YWl0IGZyb21TdGF0ZURlZmluaXRpb24uYWZ0ZXJFeGl0KG1vZGVsKVxuICAgIH1cblxuICAgIC8vIFJ1biBldmVudC1sZXZlbCBhZnRlciBjYWxsYmFja1xuICAgIGNvbnN0IGV2ZW50RGVmID0gZGVmaW5pdGlvbi5ldmVudHNbcGVuZGluZy5ldmVudE5hbWVdXG5cbiAgICBpZiAoZXZlbnREZWY/LmFmdGVyKSB7XG4gICAgICBhd2FpdCBldmVudERlZi5hZnRlcihtb2RlbClcbiAgICB9XG4gIH0pXG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgc2V0dGVyIG1ldGhvZCBuYW1lIGZvciBhIGNvbHVtbiAoZS5nLiwgXCJzdGF0dXNcIiDihpIgXCJzZXRTdGF0dXNcIiwgXCJzdGF0ZVwiIOKGkiBcInNldFN0YXRlXCIpLlxuICogQHBhcmFtIHtzdHJpbmd9IGNvbHVtbiAtIFRoZSBjb2x1bW4gbmFtZS5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IC0gVGhlIHNldHRlciBtZXRob2QgbmFtZS5cbiAqL1xuZnVuY3Rpb24gY29sdW1uU2V0dGVyTmFtZShjb2x1bW4pIHtcbiAgcmV0dXJuIGBzZXQke2NvbHVtbi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKX0ke2NvbHVtbi5zbGljZSgxKX1gXG59XG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export default class UserModule {
|
|
2
|
+
secretKey: string;
|
|
2
3
|
/**
|
|
3
4
|
* Runs constructor.
|
|
4
5
|
* @param {object} args - Options object.
|
|
@@ -7,7 +8,6 @@ export default class UserModule {
|
|
|
7
8
|
constructor({ secretKey, ...restArgs }: {
|
|
8
9
|
secretKey: string;
|
|
9
10
|
});
|
|
10
|
-
secretKey: string;
|
|
11
11
|
/**
|
|
12
12
|
* Runs attach to.
|
|
13
13
|
* @param {typeof import("./index.js").default} UserClass - User class.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-module.d.ts","sourceRoot":"","sources":["../../../../src/database/record/user-module.js"],"names":[],"mappings":"AAKA;
|
|
1
|
+
{"version":3,"file":"user-module.d.ts","sourceRoot":"","sources":["../../../../src/database/record/user-module.js"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,OAAO,UAAU;IAWtB,SAAS;IAVhB;;;;OAIG;IACH,YAAY,EAAC,SAAS,EAAE,GAAG,QAAQ,EAAC,EAFjC;QAAqB,SAAS,EAAtB,MAAM,CAChB;KACmC,EAMnC;IAED;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAFP,cAAc,YAAY,EAAE,OAErB,QAkBjB;CACF"}
|