velocious 1.0.461 → 1.0.462
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/build/application.js +1 -3
- package/build/background-jobs/cron-expression.js +1 -3
- package/build/background-jobs/forked-runner-child.js +1 -3
- package/build/background-jobs/job.js +1 -3
- package/build/background-jobs/scheduler.js +2 -6
- package/build/background-jobs/store.js +2 -6
- package/build/background-jobs/web/controller.js +1 -3
- package/build/background-jobs/worker.js +1 -3
- package/build/beacon/client.js +2 -6
- package/build/cli/tenant-database-command-helper.js +1 -3
- package/build/configuration.js +29 -32
- package/build/controller.js +4 -14
- package/build/database/drivers/mssql/index.js +1 -3
- package/build/database/drivers/mysql/index.js +2 -6
- package/build/database/drivers/pgsql/index.js +1 -3
- package/build/database/drivers/sqlite/base.js +3 -9
- package/build/database/drivers/sqlite/index.js +3 -9
- package/build/database/drivers/sqlite/table.js +1 -3
- package/build/database/migrator.js +1 -3
- package/build/database/pool/async-tracked-multi-connection.js +20 -45
- package/build/database/pool/base-methods-forward.js +2 -10
- package/build/database/pool/base.js +5 -15
- package/build/database/query/index.js +4 -12
- package/build/database/query/join-object.js +3 -9
- package/build/database/query/model-class-query.js +21 -63
- package/build/database/query/preloader/belongs-to.js +9 -27
- package/build/database/query/preloader/has-many.js +7 -21
- package/build/database/query/preloader/has-one.js +3 -9
- package/build/database/query/preloader.js +6 -18
- package/build/database/query/query-data.js +5 -15
- package/build/database/query/where-model-class-hash.js +5 -15
- package/build/database/query/with-count.js +5 -15
- package/build/database/record/acts-as-list.js +10 -38
- package/build/database/record/attachments/normalize-input.js +7 -25
- package/build/database/record/attachments/storage-drivers/s3.js +4 -12
- package/build/database/record/attachments/store.js +2 -6
- package/build/database/record/index.js +55 -171
- package/build/database/record/instance-relationships/base.js +6 -20
- package/build/database/record/instance-relationships/belongs-to.js +2 -6
- package/build/database/record/instance-relationships/has-many.js +4 -12
- package/build/database/record/instance-relationships/has-one.js +4 -12
- package/build/database/record/relationships/base.js +1 -5
- package/build/database/record/validators/presence.js +1 -3
- package/build/database/record/validators/uniqueness.js +4 -12
- package/build/environment-handlers/browser.js +1 -3
- package/build/environment-handlers/node/cli/commands/console.js +2 -6
- package/build/environment-handlers/node/cli/commands/db/schema/load.js +1 -3
- package/build/environment-handlers/node/cli/commands/generate/frontend-models.js +67 -11
- package/build/environment-handlers/node.js +15 -6
- package/build/frontend-model-controller.js +34 -110
- package/build/frontend-models/base.js +45 -151
- package/build/frontend-models/clear-pending-debounced-callback.js +1 -3
- package/build/frontend-models/preloader.js +3 -9
- package/build/frontend-models/query.js +11 -33
- package/build/frontend-models/resource-definition.js +2 -6
- package/build/frontend-models/transport-serialization.js +7 -21
- package/build/frontend-models/use-destroyed-event.js +2 -6
- package/build/frontend-models/use-model-class-event.js +2 -6
- package/build/frontend-models/use-updated-event.js +3 -9
- package/build/frontend-models/websocket-channel.js +9 -27
- package/build/frontend-models/websocket-publishers.js +12 -23
- package/build/http-server/client/index.js +6 -18
- package/build/http-server/client/params-to-object.js +6 -18
- package/build/http-server/client/request-buffer/index.js +1 -3
- package/build/http-server/client/request-parser.js +1 -3
- package/build/http-server/client/request-runner.js +4 -12
- package/build/http-server/client/websocket-session.js +6 -18
- package/build/http-server/development-reloader.js +2 -6
- package/build/http-server/remote-address.js +1 -5
- package/build/http-server/server-client.js +3 -9
- package/build/http-server/server-lock.js +2 -6
- package/build/http-server/websocket-channel-subscribers.js +2 -6
- package/build/http-server/websocket-event-log-store.js +5 -15
- package/build/http-server/websocket-events-host.js +1 -3
- package/build/http-server/worker-handler/in-process.js +3 -11
- package/build/http-server/worker-handler/worker-thread.js +1 -3
- package/build/logger.js +2 -6
- package/build/mailer/backends/smtp.js +1 -5
- package/build/mailer/base.js +4 -16
- package/build/plugins/sqljs-wasm-route-controller.js +1 -3
- package/build/routes/basic-route.js +1 -3
- package/build/routes/resolver.js +4 -14
- package/build/src/application.d.ts.map +1 -1
- package/build/src/application.js +2 -4
- package/build/src/background-jobs/cron-expression.d.ts.map +1 -1
- package/build/src/background-jobs/cron-expression.js +2 -4
- package/build/src/background-jobs/forked-runner-child.js +2 -4
- package/build/src/background-jobs/job.d.ts.map +1 -1
- package/build/src/background-jobs/job.js +2 -4
- package/build/src/background-jobs/scheduler.d.ts.map +1 -1
- package/build/src/background-jobs/scheduler.js +3 -7
- package/build/src/background-jobs/store.d.ts.map +1 -1
- package/build/src/background-jobs/store.js +3 -7
- package/build/src/background-jobs/web/controller.d.ts.map +1 -1
- package/build/src/background-jobs/web/controller.js +2 -5
- package/build/src/background-jobs/worker.d.ts.map +1 -1
- package/build/src/background-jobs/worker.js +2 -4
- package/build/src/beacon/client.d.ts.map +1 -1
- package/build/src/beacon/client.js +3 -7
- package/build/src/cli/tenant-database-command-helper.d.ts.map +1 -1
- package/build/src/cli/tenant-database-command-helper.js +2 -4
- package/build/src/configuration.d.ts.map +1 -1
- package/build/src/configuration.js +27 -35
- package/build/src/controller.d.ts.map +1 -1
- package/build/src/controller.js +5 -15
- package/build/src/database/drivers/mssql/index.d.ts.map +1 -1
- package/build/src/database/drivers/mssql/index.js +2 -4
- package/build/src/database/drivers/mysql/index.d.ts.map +1 -1
- package/build/src/database/drivers/mysql/index.js +3 -7
- package/build/src/database/drivers/pgsql/index.d.ts.map +1 -1
- package/build/src/database/drivers/pgsql/index.js +2 -4
- package/build/src/database/drivers/sqlite/base.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/base.js +4 -10
- package/build/src/database/drivers/sqlite/index.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/index.js +4 -10
- package/build/src/database/drivers/sqlite/table.d.ts.map +1 -1
- package/build/src/database/drivers/sqlite/table.js +2 -4
- package/build/src/database/migrator.d.ts.map +1 -1
- package/build/src/database/migrator.js +2 -4
- package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
- package/build/src/database/pool/async-tracked-multi-connection.js +21 -47
- package/build/src/database/pool/base-methods-forward.d.ts.map +1 -1
- package/build/src/database/pool/base-methods-forward.js +3 -11
- package/build/src/database/pool/base.d.ts.map +1 -1
- package/build/src/database/pool/base.js +6 -16
- package/build/src/database/query/index.d.ts.map +1 -1
- package/build/src/database/query/index.js +5 -13
- package/build/src/database/query/join-object.d.ts.map +1 -1
- package/build/src/database/query/join-object.js +4 -10
- package/build/src/database/query/model-class-query.d.ts.map +1 -1
- package/build/src/database/query/model-class-query.js +22 -64
- package/build/src/database/query/preloader/belongs-to.d.ts.map +1 -1
- package/build/src/database/query/preloader/belongs-to.js +10 -28
- package/build/src/database/query/preloader/has-many.d.ts.map +1 -1
- package/build/src/database/query/preloader/has-many.js +8 -22
- package/build/src/database/query/preloader/has-one.d.ts.map +1 -1
- package/build/src/database/query/preloader/has-one.js +4 -10
- package/build/src/database/query/preloader.d.ts.map +1 -1
- package/build/src/database/query/preloader.js +7 -20
- package/build/src/database/query/query-data.d.ts.map +1 -1
- package/build/src/database/query/query-data.js +6 -16
- package/build/src/database/query/where-model-class-hash.d.ts.map +1 -1
- package/build/src/database/query/where-model-class-hash.js +6 -16
- package/build/src/database/query/with-count.d.ts.map +1 -1
- package/build/src/database/query/with-count.js +6 -17
- package/build/src/database/record/acts-as-list.d.ts.map +1 -1
- package/build/src/database/record/acts-as-list.js +11 -47
- package/build/src/database/record/attachments/normalize-input.d.ts.map +1 -1
- package/build/src/database/record/attachments/normalize-input.js +8 -30
- package/build/src/database/record/attachments/storage-drivers/s3.d.ts.map +1 -1
- package/build/src/database/record/attachments/storage-drivers/s3.js +5 -13
- package/build/src/database/record/attachments/store.d.ts.map +1 -1
- package/build/src/database/record/attachments/store.js +3 -7
- package/build/src/database/record/index.d.ts +4 -9
- package/build/src/database/record/index.d.ts.map +1 -1
- package/build/src/database/record/index.js +53 -173
- package/build/src/database/record/instance-relationships/base.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/base.js +7 -21
- package/build/src/database/record/instance-relationships/belongs-to.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/belongs-to.js +3 -7
- package/build/src/database/record/instance-relationships/has-many.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/has-many.js +5 -13
- package/build/src/database/record/instance-relationships/has-one.d.ts.map +1 -1
- package/build/src/database/record/instance-relationships/has-one.js +5 -13
- package/build/src/database/record/relationships/base.d.ts.map +1 -1
- package/build/src/database/record/relationships/base.js +2 -6
- package/build/src/database/record/validators/presence.d.ts.map +1 -1
- package/build/src/database/record/validators/presence.js +2 -4
- package/build/src/database/record/validators/uniqueness.d.ts.map +1 -1
- package/build/src/database/record/validators/uniqueness.js +5 -14
- package/build/src/environment-handlers/browser.d.ts.map +1 -1
- package/build/src/environment-handlers/browser.js +2 -4
- package/build/src/environment-handlers/node/cli/commands/console.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/console.js +3 -7
- 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/schema/load.js +2 -4
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts +38 -0
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.d.ts.map +1 -1
- package/build/src/environment-handlers/node/cli/commands/generate/frontend-models.js +58 -12
- package/build/src/environment-handlers/node.d.ts.map +1 -1
- package/build/src/environment-handlers/node.js +16 -7
- package/build/src/frontend-model-controller.d.ts.map +1 -1
- package/build/src/frontend-model-controller.js +35 -114
- package/build/src/frontend-models/base.d.ts.map +1 -1
- package/build/src/frontend-models/base.js +46 -158
- package/build/src/frontend-models/clear-pending-debounced-callback.d.ts.map +1 -1
- package/build/src/frontend-models/clear-pending-debounced-callback.js +2 -4
- package/build/src/frontend-models/preloader.d.ts.map +1 -1
- package/build/src/frontend-models/preloader.js +4 -11
- package/build/src/frontend-models/query.d.ts.map +1 -1
- package/build/src/frontend-models/query.js +12 -34
- package/build/src/frontend-models/resource-definition.d.ts.map +1 -1
- package/build/src/frontend-models/resource-definition.js +3 -7
- package/build/src/frontend-models/transport-serialization.d.ts.map +1 -1
- package/build/src/frontend-models/transport-serialization.js +8 -23
- package/build/src/frontend-models/use-destroyed-event.js +3 -7
- package/build/src/frontend-models/use-model-class-event.d.ts.map +1 -1
- package/build/src/frontend-models/use-model-class-event.js +3 -7
- package/build/src/frontend-models/use-updated-event.d.ts.map +1 -1
- package/build/src/frontend-models/use-updated-event.js +4 -10
- package/build/src/frontend-models/websocket-channel.d.ts.map +1 -1
- package/build/src/frontend-models/websocket-channel.js +10 -32
- package/build/src/frontend-models/websocket-publishers.d.ts.map +1 -1
- package/build/src/frontend-models/websocket-publishers.js +14 -25
- package/build/src/http-server/client/index.d.ts.map +1 -1
- package/build/src/http-server/client/index.js +7 -21
- package/build/src/http-server/client/params-to-object.d.ts.map +1 -1
- package/build/src/http-server/client/params-to-object.js +7 -21
- package/build/src/http-server/client/request-buffer/index.d.ts.map +1 -1
- package/build/src/http-server/client/request-buffer/index.js +2 -4
- package/build/src/http-server/client/request-parser.d.ts.map +1 -1
- package/build/src/http-server/client/request-parser.js +2 -4
- package/build/src/http-server/client/request-runner.d.ts.map +1 -1
- package/build/src/http-server/client/request-runner.js +5 -14
- package/build/src/http-server/client/websocket-session.d.ts.map +1 -1
- package/build/src/http-server/client/websocket-session.js +7 -20
- package/build/src/http-server/development-reloader.d.ts.map +1 -1
- package/build/src/http-server/development-reloader.js +3 -7
- package/build/src/http-server/remote-address.d.ts.map +1 -1
- package/build/src/http-server/remote-address.js +2 -6
- package/build/src/http-server/server-client.d.ts.map +1 -1
- package/build/src/http-server/server-client.js +4 -10
- package/build/src/http-server/server-lock.d.ts.map +1 -1
- package/build/src/http-server/server-lock.js +3 -7
- package/build/src/http-server/websocket-channel-subscribers.d.ts.map +1 -1
- package/build/src/http-server/websocket-channel-subscribers.js +3 -7
- package/build/src/http-server/websocket-event-log-store.d.ts.map +1 -1
- package/build/src/http-server/websocket-event-log-store.js +6 -16
- package/build/src/http-server/websocket-events-host.d.ts.map +1 -1
- package/build/src/http-server/websocket-events-host.js +2 -5
- package/build/src/http-server/worker-handler/in-process.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/in-process.js +4 -12
- package/build/src/http-server/worker-handler/worker-thread.d.ts.map +1 -1
- package/build/src/http-server/worker-handler/worker-thread.js +2 -4
- package/build/src/logger.d.ts.map +1 -1
- package/build/src/logger.js +3 -7
- package/build/src/mailer/backends/smtp.d.ts.map +1 -1
- package/build/src/mailer/backends/smtp.js +2 -6
- package/build/src/mailer/base.d.ts.map +1 -1
- package/build/src/mailer/base.js +5 -17
- package/build/src/plugins/sqljs-wasm-route-controller.d.ts.map +1 -1
- package/build/src/plugins/sqljs-wasm-route-controller.js +2 -4
- package/build/src/routes/basic-route.d.ts.map +1 -1
- package/build/src/routes/basic-route.js +2 -4
- package/build/src/routes/resolver.d.ts.map +1 -1
- package/build/src/routes/resolver.js +5 -15
- package/build/src/testing/expect-utils.d.ts.map +1 -1
- package/build/src/testing/expect-utils.js +9 -27
- package/build/src/testing/expect.d.ts.map +1 -1
- package/build/src/testing/expect.js +5 -15
- package/build/src/testing/test-runner.d.ts.map +1 -1
- package/build/src/testing/test-runner.js +4 -10
- package/build/src/testing/test.d.ts.map +1 -1
- package/build/src/testing/test.js +5 -17
- package/build/src/utils/model-scope.d.ts.map +1 -1
- package/build/src/utils/model-scope.js +2 -5
- package/build/src/utils/ransack.d.ts.map +1 -1
- package/build/src/utils/ransack.js +15 -42
- package/build/src/utils/with-tracked-stack-async-hooks.d.ts.map +1 -1
- package/build/src/utils/with-tracked-stack-async-hooks.js +4 -12
- package/build/src/utils/with-tracked-stack.d.ts.map +1 -1
- package/build/src/utils/with-tracked-stack.js +3 -8
- package/build/testing/expect-utils.js +8 -26
- package/build/testing/expect.js +4 -14
- package/build/testing/test-runner.js +3 -9
- package/build/testing/test.js +4 -12
- package/build/utils/model-scope.js +1 -3
- package/build/utils/ransack.js +15 -41
- package/build/utils/with-tracked-stack-async-hooks.js +3 -9
- package/build/utils/with-tracked-stack.js +2 -6
- package/package.json +3 -2
- package/src/application.js +1 -3
- package/src/background-jobs/cron-expression.js +1 -3
- package/src/background-jobs/forked-runner-child.js +1 -3
- package/src/background-jobs/job.js +1 -3
- package/src/background-jobs/scheduler.js +2 -6
- package/src/background-jobs/store.js +2 -6
- package/src/background-jobs/web/controller.js +1 -3
- package/src/background-jobs/worker.js +1 -3
- package/src/beacon/client.js +2 -6
- package/src/cli/tenant-database-command-helper.js +1 -3
- package/src/configuration.js +29 -32
- package/src/controller.js +4 -14
- package/src/database/drivers/mssql/index.js +1 -3
- package/src/database/drivers/mysql/index.js +2 -6
- package/src/database/drivers/pgsql/index.js +1 -3
- package/src/database/drivers/sqlite/base.js +3 -9
- package/src/database/drivers/sqlite/index.js +3 -9
- package/src/database/drivers/sqlite/table.js +1 -3
- package/src/database/migrator.js +1 -3
- package/src/database/pool/async-tracked-multi-connection.js +20 -45
- package/src/database/pool/base-methods-forward.js +2 -10
- package/src/database/pool/base.js +5 -15
- package/src/database/query/index.js +4 -12
- package/src/database/query/join-object.js +3 -9
- package/src/database/query/model-class-query.js +21 -63
- package/src/database/query/preloader/belongs-to.js +9 -27
- package/src/database/query/preloader/has-many.js +7 -21
- package/src/database/query/preloader/has-one.js +3 -9
- package/src/database/query/preloader.js +6 -18
- package/src/database/query/query-data.js +5 -15
- package/src/database/query/where-model-class-hash.js +5 -15
- package/src/database/query/with-count.js +5 -15
- package/src/database/record/acts-as-list.js +10 -38
- package/src/database/record/attachments/normalize-input.js +7 -25
- package/src/database/record/attachments/storage-drivers/s3.js +4 -12
- package/src/database/record/attachments/store.js +2 -6
- package/src/database/record/index.js +55 -171
- package/src/database/record/instance-relationships/base.js +6 -20
- package/src/database/record/instance-relationships/belongs-to.js +2 -6
- package/src/database/record/instance-relationships/has-many.js +4 -12
- package/src/database/record/instance-relationships/has-one.js +4 -12
- package/src/database/record/relationships/base.js +1 -5
- package/src/database/record/validators/presence.js +1 -3
- package/src/database/record/validators/uniqueness.js +4 -12
- package/src/environment-handlers/browser.js +1 -3
- package/src/environment-handlers/node/cli/commands/console.js +2 -6
- package/src/environment-handlers/node/cli/commands/db/schema/load.js +1 -3
- package/src/environment-handlers/node/cli/commands/generate/frontend-models.js +67 -11
- package/src/environment-handlers/node.js +15 -6
- package/src/frontend-model-controller.js +34 -110
- package/src/frontend-models/base.js +45 -151
- package/src/frontend-models/clear-pending-debounced-callback.js +1 -3
- package/src/frontend-models/preloader.js +3 -9
- package/src/frontend-models/query.js +11 -33
- package/src/frontend-models/resource-definition.js +2 -6
- package/src/frontend-models/transport-serialization.js +7 -21
- package/src/frontend-models/use-destroyed-event.js +2 -6
- package/src/frontend-models/use-model-class-event.js +2 -6
- package/src/frontend-models/use-updated-event.js +3 -9
- package/src/frontend-models/websocket-channel.js +9 -27
- package/src/frontend-models/websocket-publishers.js +12 -23
- package/src/http-server/client/index.js +6 -18
- package/src/http-server/client/params-to-object.js +6 -18
- package/src/http-server/client/request-buffer/index.js +1 -3
- package/src/http-server/client/request-parser.js +1 -3
- package/src/http-server/client/request-runner.js +4 -12
- package/src/http-server/client/websocket-session.js +6 -18
- package/src/http-server/development-reloader.js +2 -6
- package/src/http-server/remote-address.js +1 -5
- package/src/http-server/server-client.js +3 -9
- package/src/http-server/server-lock.js +2 -6
- package/src/http-server/websocket-channel-subscribers.js +2 -6
- package/src/http-server/websocket-event-log-store.js +5 -15
- package/src/http-server/websocket-events-host.js +1 -3
- package/src/http-server/worker-handler/in-process.js +3 -11
- package/src/http-server/worker-handler/worker-thread.js +1 -3
- package/src/logger.js +2 -6
- package/src/mailer/backends/smtp.js +1 -5
- package/src/mailer/base.js +4 -16
- package/src/plugins/sqljs-wasm-route-controller.js +1 -3
- package/src/routes/basic-route.js +1 -3
- package/src/routes/resolver.js +4 -14
- package/src/testing/expect-utils.js +8 -26
- package/src/testing/expect.js +4 -14
- package/src/testing/test-runner.js +3 -9
- package/src/testing/test.js +4 -12
- package/src/utils/model-scope.js +1 -3
- package/src/utils/ransack.js +15 -41
- package/src/utils/with-tracked-stack-async-hooks.js +3 -9
- package/src/utils/with-tracked-stack.js +2 -6
|
@@ -225,9 +225,7 @@ export default class VelociousHttpServerWebsocketEventLogStore {
|
|
|
225
225
|
.order("sequence DESC")
|
|
226
226
|
.limit(1)
|
|
227
227
|
.results()
|
|
228
|
-
const row = /**
|
|
229
|
-
* Narrows the runtime value to the documented type.
|
|
230
|
-
* @type {Record<string, ?> | undefined} */ (rows[0])
|
|
228
|
+
const row = /** @type {Record<string, ?> | undefined} */ (rows[0])
|
|
231
229
|
|
|
232
230
|
if (!row) return null
|
|
233
231
|
|
|
@@ -258,9 +256,7 @@ export default class VelociousHttpServerWebsocketEventLogStore {
|
|
|
258
256
|
query.where(`sequence <= ${db.quote(upToSequence)}`)
|
|
259
257
|
}
|
|
260
258
|
|
|
261
|
-
const rows = /**
|
|
262
|
-
* Narrows the runtime value to the documented type.
|
|
263
|
-
* @type {WebsocketEventRow[]} */ (await query.results())
|
|
259
|
+
const rows = /** @type {WebsocketEventRow[]} */ (await query.results())
|
|
264
260
|
|
|
265
261
|
return rows.map((row) => this._normalizeEventRow(row))
|
|
266
262
|
})
|
|
@@ -278,16 +274,12 @@ export default class VelociousHttpServerWebsocketEventLogStore {
|
|
|
278
274
|
const cutoff = new Date(now.getTime() - this.retentionMs)
|
|
279
275
|
|
|
280
276
|
await this._withDb(async (db) => {
|
|
281
|
-
const expiredEventRows = /**
|
|
282
|
-
* Narrows the runtime value to the documented type.
|
|
283
|
-
* @type {Array<{id: string}>} */ (await db
|
|
277
|
+
const expiredEventRows = /** @type {Array<{id: string}>} */ (await db
|
|
284
278
|
.newQuery()
|
|
285
279
|
.from(EVENTS_TABLE)
|
|
286
280
|
.where(`created_at <= ${db.quote(cutoff)}`)
|
|
287
281
|
.results())
|
|
288
|
-
const expiredReplayChannelRows = /**
|
|
289
|
-
* Narrows the runtime value to the documented type.
|
|
290
|
-
* @type {WebsocketReplayChannelRow[]} */ (await db
|
|
282
|
+
const expiredReplayChannelRows = /** @type {WebsocketReplayChannelRow[]} */ (await db
|
|
291
283
|
.newQuery()
|
|
292
284
|
.from(REPLAY_CHANNELS_TABLE)
|
|
293
285
|
.where(`interested_until <= ${db.quote(now)}`)
|
|
@@ -365,9 +357,7 @@ export default class VelociousHttpServerWebsocketEventLogStore {
|
|
|
365
357
|
* @returns {Promise<{channel: string, createdAt: string, id: string, payload: ?, sequence: number} | null>} - Event row or null.
|
|
366
358
|
*/
|
|
367
359
|
async _getEventById({channel, db, id}) {
|
|
368
|
-
const rows = /**
|
|
369
|
-
* Narrows the runtime value to the documented type.
|
|
370
|
-
* @type {WebsocketEventRow[]} */ (await db
|
|
360
|
+
const rows = /** @type {WebsocketEventRow[]} */ (await db
|
|
371
361
|
.newQuery()
|
|
372
362
|
.from(EVENTS_TABLE)
|
|
373
363
|
.where({channel, id})
|
|
@@ -43,9 +43,7 @@ export class VelociousHttpServerWebsocketEventsHost {
|
|
|
43
43
|
publish(channelOrArgs, payloadArg) {
|
|
44
44
|
const publishArgs = typeof channelOrArgs === "string"
|
|
45
45
|
? {channel: channelOrArgs, payload: payloadArg}
|
|
46
|
-
: /**
|
|
47
|
-
* Narrows the runtime value to the documented type.
|
|
48
|
-
* @type {{channel: string, payload: ?}} */ (channelOrArgs)
|
|
46
|
+
: /** @type {{channel: string, payload: ?}} */ (channelOrArgs)
|
|
49
47
|
const channel = publishArgs.channel
|
|
50
48
|
const payload = publishArgs.payload
|
|
51
49
|
|
|
@@ -28,9 +28,7 @@ export default class VelociousHttpServerInProcessHandler {
|
|
|
28
28
|
|
|
29
29
|
this.logger = new Logger(this)
|
|
30
30
|
this.workerCount = workerCount
|
|
31
|
-
this.unregisterFromEventsHost = websocketEventsHost.register(/**
|
|
32
|
-
* Narrows the runtime value to the documented type.
|
|
33
|
-
* @type {?} */ (this))
|
|
31
|
+
this.unregisterFromEventsHost = websocketEventsHost.register(/** @type {?} */ (this))
|
|
34
32
|
this._stopping = false
|
|
35
33
|
}
|
|
36
34
|
|
|
@@ -72,14 +70,8 @@ export default class VelociousHttpServerInProcessHandler {
|
|
|
72
70
|
|
|
73
71
|
// Create a message-port shim so ServerClient.onSocketData can route data
|
|
74
72
|
// to the in-process HTTP Client without needing a real worker thread.
|
|
75
|
-
const messagePortShim = /**
|
|
76
|
-
|
|
77
|
-
* @type {import("worker_threads").Worker} */ (/**
|
|
78
|
-
* Narrows the runtime value to the documented type.
|
|
79
|
-
* @type {?} */ ({
|
|
80
|
-
postMessage: (/**
|
|
81
|
-
* Narrows the runtime value to the documented type.
|
|
82
|
-
* @type {{command: string, chunk?: Buffer | Uint8Array | string, clientCount?: number}} */ data) => {
|
|
73
|
+
const messagePortShim = /** @type {import("worker_threads").Worker} */ (/** @type {?} */ ({
|
|
74
|
+
postMessage: (/** @type {{command: string, chunk?: Buffer | Uint8Array | string, clientCount?: number}} */ data) => {
|
|
83
75
|
if (data.command === "clientWrite" && data.chunk) {
|
|
84
76
|
const chunk = typeof data.chunk === "string" ? Buffer.from(data.chunk) : Buffer.from(data.chunk)
|
|
85
77
|
|
|
@@ -168,9 +168,7 @@ export default class VelociousHttpServerWorkerHandlerWorkerThread {
|
|
|
168
168
|
|
|
169
169
|
const {chunk, clientCount} = data
|
|
170
170
|
if (!chunk) throw new Error("No chunk given")
|
|
171
|
-
const client = /**
|
|
172
|
-
* Narrows the runtime value to the documented type.
|
|
173
|
-
* @type {Client | undefined} */ (digg(this.clients, clientCount))
|
|
171
|
+
const client = /** @type {Client | undefined} */ (digg(this.clients, clientCount))
|
|
174
172
|
|
|
175
173
|
if (!client) throw new Error(`Client not found for clientWrite: ${clientCount}`)
|
|
176
174
|
|
package/build/logger.js
CHANGED
|
@@ -196,9 +196,7 @@ function resolveLoggingOutputs({loggingConfiguration, configuration}) {
|
|
|
196
196
|
for (const logger of loggingConfiguration.loggers) {
|
|
197
197
|
if (!logger) continue
|
|
198
198
|
|
|
199
|
-
const loggerConfig = /**
|
|
200
|
-
* Types the following value.
|
|
201
|
-
* @type {?} */ (logger)
|
|
199
|
+
const loggerConfig = /** @type {?} */ (logger)
|
|
202
200
|
|
|
203
201
|
if (typeof loggerConfig.toOutputConfig === "function") {
|
|
204
202
|
loggerOutputs.push(loggerConfig.toOutputConfig({configuration}))
|
|
@@ -383,9 +381,7 @@ export default class Logger {
|
|
|
383
381
|
*/
|
|
384
382
|
getConfiguration() {
|
|
385
383
|
if (!this._configuration) {
|
|
386
|
-
const objectWithConfig = /**
|
|
387
|
-
* Types the following value.
|
|
388
|
-
* @type {{configuration?: import("./configuration.js").default}} */ (this._object)
|
|
384
|
+
const objectWithConfig = /** @type {{configuration?: import("./configuration.js").default}} */ (this._object)
|
|
389
385
|
this._configuration = objectWithConfig?.configuration || currentConfiguration()
|
|
390
386
|
}
|
|
391
387
|
|
|
@@ -160,11 +160,7 @@ export default class SmtpMailerBackend {
|
|
|
160
160
|
}
|
|
161
161
|
|
|
162
162
|
const sendMessage = () => {
|
|
163
|
-
connection.send({from: envelopeFrom, to: recipients}, /**
|
|
164
|
-
* Narrows the runtime value to the documented type.
|
|
165
|
-
* @type {?} */ (message), (/**
|
|
166
|
-
* Narrows the runtime value to the documented type.
|
|
167
|
-
* @type {Error | null | undefined} */ sendError) => {
|
|
163
|
+
connection.send({from: envelopeFrom, to: recipients}, /** @type {?} */ (message), (/** @type {Error | null | undefined} */ sendError) => {
|
|
168
164
|
if (sendError) {
|
|
169
165
|
rejectDelivery(sendError)
|
|
170
166
|
return
|
package/build/mailer/base.js
CHANGED
|
@@ -58,11 +58,7 @@ function inferActionName(mailerClass, stack) {
|
|
|
58
58
|
if (frameActionName.startsWith("_")) continue
|
|
59
59
|
if (frameActionName === "constructor") continue
|
|
60
60
|
if (Object.prototype.hasOwnProperty.call(VelociousMailerBase.prototype, frameActionName)) continue
|
|
61
|
-
if (typeof /**
|
|
62
|
-
* Narrows the runtime value to the documented type.
|
|
63
|
-
* @type {Record<string, ?>} */ (/**
|
|
64
|
-
* Narrows the runtime value to the documented type.
|
|
65
|
-
* @type {?} */ (prototype))[frameActionName] !== "function") continue
|
|
61
|
+
if (typeof /** @type {Record<string, ?>} */ (/** @type {?} */ (prototype))[frameActionName] !== "function") continue
|
|
66
62
|
|
|
67
63
|
actionName = frameActionName
|
|
68
64
|
}
|
|
@@ -122,9 +118,7 @@ export class VelociousMailerBase {
|
|
|
122
118
|
mail({to, subject, from, cc, bcc, replyTo, headers, actionName, actionPromise, ...restArgs}) {
|
|
123
119
|
restArgsError(restArgs)
|
|
124
120
|
|
|
125
|
-
const resolvedActionName = actionName || inferActionName(/**
|
|
126
|
-
* Narrows the runtime value to the documented type.
|
|
127
|
-
* @type {typeof VelociousMailerBase} */ (this.constructor), new Error().stack || "")
|
|
121
|
+
const resolvedActionName = actionName || inferActionName(/** @type {typeof VelociousMailerBase} */ (this.constructor), new Error().stack || "")
|
|
128
122
|
|
|
129
123
|
if (!resolvedActionName) {
|
|
130
124
|
throw new Error(`Missing actionName for ${this.constructor.name}.mail()`)
|
|
@@ -215,19 +209,13 @@ export class VelociousMailerBase {
|
|
|
215
209
|
const actionName = this._getActionName()
|
|
216
210
|
const fileName = viewFileName(actionName)
|
|
217
211
|
const viewPath = `${configuration.getDirectory()}/src/mailers/${mailerDir}/${fileName}.ejs`
|
|
218
|
-
const translate = (/**
|
|
219
|
-
* Narrows the runtime value to the documented type.
|
|
220
|
-
* @type {string} */ msgID, /**
|
|
221
|
-
* Narrows the runtime value to the documented type.
|
|
222
|
-
* @type {Record<string, ?> | undefined} */ args) => configuration.getTranslator()(msgID, args)
|
|
212
|
+
const translate = (/** @type {string} */ msgID, /** @type {Record<string, ?> | undefined} */ args) => configuration.getTranslator()(msgID, args)
|
|
223
213
|
const viewParams = incorporate({mailer: this, _: translate}, this._viewParams)
|
|
224
214
|
|
|
225
215
|
return await new Promise((resolve, reject) => {
|
|
226
216
|
ejs.renderFile(viewPath, viewParams, {}, (err, str) => {
|
|
227
217
|
if (err) {
|
|
228
|
-
const errorCode = /**
|
|
229
|
-
* Narrows the runtime value to the documented type.
|
|
230
|
-
* @type {{code?: string}} */ (err).code
|
|
218
|
+
const errorCode = /** @type {{code?: string}} */ (err).code
|
|
231
219
|
|
|
232
220
|
if (errorCode === "ENOENT") {
|
|
233
221
|
reject(new Error(`Missing mailer view file: ${viewPath}`))
|
|
@@ -52,9 +52,7 @@ export default class SqlJsWasmRouteController extends Controller {
|
|
|
52
52
|
try {
|
|
53
53
|
await fs.access(assetPath)
|
|
54
54
|
} catch (error) {
|
|
55
|
-
const ensuredError = /**
|
|
56
|
-
* Narrows the runtime value to the documented type.
|
|
57
|
-
* @type {{code?: string}} */ (error)
|
|
55
|
+
const ensuredError = /** @type {{code?: string}} */ (error)
|
|
58
56
|
|
|
59
57
|
if (ensuredError.code === "ENOENT") {
|
|
60
58
|
await this.render({json: {errorMessage: "Not found", status: "error"}, status: "not-found"})
|
|
@@ -40,9 +40,7 @@ export default class VelociousBasicRoute extends BaseRoute {
|
|
|
40
40
|
throw new Error("mount expects a mountable with a 'mountInto' method")
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
const at = /**
|
|
44
|
-
* Narrows the runtime value to the documented type.
|
|
45
|
-
* @type {Record<string, ?>} */ (options).at
|
|
43
|
+
const at = /** @type {Record<string, ?>} */ (options).at
|
|
46
44
|
|
|
47
45
|
if (typeof at !== "string" || !at.startsWith("/")) {
|
|
48
46
|
throw new Error(`mount requires an 'at' option starting with '/', got: ${String(at)}`)
|
package/build/routes/resolver.js
CHANGED
|
@@ -179,9 +179,7 @@ export default class VelociousRoutesResolver {
|
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
const controllerClass = await this.resolveControllerClass({controllerPath})
|
|
182
|
-
const controllerRequest = /**
|
|
183
|
-
* Narrows the runtime value to the documented type.
|
|
184
|
-
* @type {import("../http-server/client/request.js").default} */ (this.request)
|
|
182
|
+
const controllerRequest = /** @type {import("../http-server/client/request.js").default} */ (this.request)
|
|
185
183
|
const controllerInstance = new controllerClass({
|
|
186
184
|
action,
|
|
187
185
|
configuration: this.configuration,
|
|
@@ -196,11 +194,7 @@ export default class VelociousRoutesResolver {
|
|
|
196
194
|
throw new Error(`Missing action on controller: ${controller}#${action}`)
|
|
197
195
|
}
|
|
198
196
|
|
|
199
|
-
const actionHandlers = /**
|
|
200
|
-
* Narrows the runtime value to the documented type.
|
|
201
|
-
* @type {Record<string, () => void | Promise<void>>} */ (/**
|
|
202
|
-
* Narrows the runtime value to the documented type.
|
|
203
|
-
* @type {?} */ (controllerInstance))
|
|
197
|
+
const actionHandlers = /** @type {Record<string, () => void | Promise<void>>} */ (/** @type {?} */ (controllerInstance))
|
|
204
198
|
|
|
205
199
|
const logMethod = this._logMethod()
|
|
206
200
|
|
|
@@ -260,9 +254,7 @@ export default class VelociousRoutesResolver {
|
|
|
260
254
|
stage: "controller-action"
|
|
261
255
|
}
|
|
262
256
|
|
|
263
|
-
const errorWithContext = /**
|
|
264
|
-
* Narrows the runtime value to the documented type.
|
|
265
|
-
* @type {{velociousContext?: object}} */ (ensuredError)
|
|
257
|
+
const errorWithContext = /** @type {{velociousContext?: object}} */ (ensuredError)
|
|
266
258
|
|
|
267
259
|
errorWithContext.velociousContext = {
|
|
268
260
|
...(errorWithContext.velociousContext || {}),
|
|
@@ -423,9 +415,7 @@ export default class VelociousRoutesResolver {
|
|
|
423
415
|
const request = this.request
|
|
424
416
|
const timestamp = this._formatTimestamp(new Date())
|
|
425
417
|
const remoteAddress = request.remoteAddress() || "unknown"
|
|
426
|
-
const loggedParams = /**
|
|
427
|
-
* Narrows the runtime value to the documented type.
|
|
428
|
-
* @type {Record<string, ?>} */ (this._sanitizeParamsForLogging(this.params))
|
|
418
|
+
const loggedParams = /** @type {Record<string, ?>} */ (this._sanitizeParamsForLogging(this.params))
|
|
429
419
|
|
|
430
420
|
delete loggedParams.action
|
|
431
421
|
delete loggedParams.controller
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/application.js"],"names":[],"mappings":"AASA;;mGAEmG;AAEnG;IACE;;;;;;OAMG;IACH,8DAJG;QAAmD,aAAa,EAAxD,OAAO,oBAAoB,EAAE,OAAO;QACL,UAAU;QAC5B,IAAI,EAAjB,MAAM;KAChB,EAmBA;IAbC,oDAAkC;IAElC;;yCAEqC;IACrC,yBADU,uBAAuB,CACc;IAE/C,eAA8B;IAC9B,cAAiB;IACjB;;4CAEwC;IACxC,gBADU,cAAc,GAAG,SAAS,CACL;IAGjC;;;OAGG;IACH,WAFa,MAAM,CAEY;IAE/B;;;OAGG;IACH,cAFa,OAAO,CAAC,IAAI,CAAC,CAazB;IAED;;;OAGG;IACH,YAFa,OAAO,CAQnB;IAED;;;;OAIG;IACH,cAHW,MAAa,IAAI,GACf,OAAO,CAAC,IAAI,CAAC,CAUzB;IAED;;;OAGG;IACH,mBAFa,OAAO,CAAC,IAAI,CAAC,CAczB;IAED;;;;;;;;OAQG;IACH,8EANG;QAAmD,aAAa,EAAxD,OAAO,oBAAoB,EAAE,OAAO;QACtB,IAAI;QACM,uBAAuB,EAA/C,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC;QACJ,IAAI,EAAjB,MAAM;KACd,GAAU,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/application.js"],"names":[],"mappings":"AASA;;mGAEmG;AAEnG;IACE;;;;;;OAMG;IACH,8DAJG;QAAmD,aAAa,EAAxD,OAAO,oBAAoB,EAAE,OAAO;QACL,UAAU;QAC5B,IAAI,EAAjB,MAAM;KAChB,EAmBA;IAbC,oDAAkC;IAElC;;yCAEqC;IACrC,yBADU,uBAAuB,CACc;IAE/C,eAA8B;IAC9B,cAAiB;IACjB;;4CAEwC;IACxC,gBADU,cAAc,GAAG,SAAS,CACL;IAGjC;;;OAGG;IACH,WAFa,MAAM,CAEY;IAE/B;;;OAGG;IACH,cAFa,OAAO,CAAC,IAAI,CAAC,CAazB;IAED;;;OAGG;IACH,YAFa,OAAO,CAQnB;IAED;;;;OAIG;IACH,cAHW,MAAa,IAAI,GACf,OAAO,CAAC,IAAI,CAAC,CAUzB;IAED;;;OAGG;IACH,mBAFa,OAAO,CAAC,IAAI,CAAC,CAczB;IAED;;;;;;;;OAQG;IACH,8EANG;QAAmD,aAAa,EAAxD,OAAO,oBAAoB,EAAE,OAAO;QACtB,IAAI;QACM,uBAAuB,EAA/C,MAAM,CAAC,MAAM,EAAE,OAAC,CAAC;QACJ,IAAI,EAAjB,MAAM;KACd,GAAU,OAAO,CAAC,IAAI,CAAC,CA4BzB;IAlBG,mCAOE;IAaN;;;;;;;OAOG;IACH,qDALG;QAAmD,aAAa,EAAxD,OAAO,oBAAoB,EAAE,OAAO;QACvB,IAAI,EAAjB,MAAM;QACO,IAAI,EAAjB,MAAM;KACd,GAAU,OAAO,CAAC,IAAI,CAAC,CAQzB;IAED;;;;;;;;;;OAUG;IACH,gFARG;QAAmD,aAAa,EAAxD,OAAO,oBAAoB,EAAE,OAAO;QACtB,IAAI;QACH,SAAS;QACV,UAAU;QACX,IAAI,EAAjB,MAAM;QACQ,OAAO;KAC7B,GAAU,UAAU,CAItB;IAED;;;OAGG;IACH,QAFa,OAAO,CAAC,IAAI,CAAC,CAazB;IAED;;;OAGG;IACH,yBAFa,OAAO,CAAC,IAAI,CAAC,CAOzB;IAED;;;OAGG;IACH,yBAFa,IAAI,CAQhB;IAED;;;OAGG;IACH,QAFa,OAAO,CAAC,IAAI,CAAC,CAMzB;IAFG,qEAA0B;CAG/B;;;;sCAvNY,OAAO,0BAA0B,EAAE,uBAAuB;mBARpD,aAAa;2BAEL,8BAA8B;uBADlC,wBAAwB"}
|
package/build/src/application.js
CHANGED
|
@@ -101,9 +101,7 @@ export default class VelociousApplication {
|
|
|
101
101
|
async startLockedHttpServer({ configuration, host, httpServerConfiguration, port }) {
|
|
102
102
|
try {
|
|
103
103
|
if (!configuration.getWebsocketEvents()) {
|
|
104
|
-
configuration.setWebsocketEvents(/**
|
|
105
|
-
* Types the following value.
|
|
106
|
-
* @type {?} */ (websocketEventsHost));
|
|
104
|
+
configuration.setWebsocketEvents(/** @type {?} */ (websocketEventsHost));
|
|
107
105
|
}
|
|
108
106
|
await configuration.connectBeacon({ peerType: "server" });
|
|
109
107
|
this.httpServer = this.createHttpServer({
|
|
@@ -199,4 +197,4 @@ export default class VelociousApplication {
|
|
|
199
197
|
});
|
|
200
198
|
}
|
|
201
199
|
}
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwbGljYXRpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sU0FBUyxNQUFNLHdCQUF3QixDQUFBO0FBQzlDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLFVBQVUsTUFBTSx3QkFBd0IsQ0FBQTtBQUMvQyxPQUFPLGNBQWMsTUFBTSw4QkFBOEIsQ0FBQTtBQUN6RCxPQUFPLG1CQUFtQixNQUFNLHdDQUF3QyxDQUFBO0FBQ3hFLE9BQU8sYUFBYSxNQUFNLDRCQUE0QixDQUFBO0FBRXREOzttR0FFbUc7QUFFbkcsTUFBTSxDQUFDLE9BQU8sT0FBTyxvQkFBb0I7SUFDdkM7Ozs7OztPQU1HO0lBQ0gsWUFBWSxFQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsUUFBUSxFQUFDO1FBQ3hELGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUV2QixJQUFJLENBQUMsYUFBYTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtRQUVoRSxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQTtRQUVsQzs7NkNBRXFDO1FBQ3JDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxVQUFVLElBQUksRUFBRSxDQUFBO1FBRS9DLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUE7UUFDakI7O2dEQUV3QztRQUN4QyxJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQTtJQUNqQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsT0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQSxDQUFDLENBQUM7SUFFL0I7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFVBQVU7UUFDZCxNQUFNLE1BQU0s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bUIsR0FBRyxTQUFTLENBQUE7WUFDbEQsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUE7WUFDM0MsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLHdCQUF3QixFQUFFLENBQUE7UUFDckQsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsTUFBTSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtRQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxxQkFBcUI7UUFDekIsTUFBTSxFQUFDLGNBQWMsRUFBQyxHQUFHLElBQUksQ0FBQTtRQUU3QixJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQTtRQUMvQixJQUFJLGNBQWM7WUFBRSxNQUFNLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsaUJBQWlCLEdBQUcsR0FBRyxFQUFFO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUE7UUFFdkMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ3BCLENBQUM7SUFDSCxDQUFDLENBQUE7SUFFRDs7O09BR0c7SUFDSCxJQUFJO1FBQ0YsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFBO1FBQzVCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBBcHBSb3V0ZXMgZnJvbSBcIi4vcm91dGVzL2FwcC1yb3V0ZXMuanNcIlxuaW1wb3J0IExvZ2dlciBmcm9tIFwiLi9sb2dnZXIuanNcIlxuaW1wb3J0IEh0dHBTZXJ2ZXIgZnJvbSBcIi4vaHR0cC1zZXJ2ZXIvaW5kZXguanNcIlxuaW1wb3J0IEh0dHBTZXJ2ZXJMb2NrIGZyb20gXCIuL2h0dHAtc2VydmVyL3NlcnZlci1sb2NrLmpzXCJcbmltcG9ydCB3ZWJzb2NrZXRFdmVudHNIb3N0IGZyb20gXCIuL2h0dHAtc2VydmVyL3dlYnNvY2tldC1ldmVudHMtaG9zdC5qc1wiXG5pbXBvcnQgcmVzdEFyZ3NFcnJvciBmcm9tIFwiLi91dGlscy9yZXN0LWFyZ3MtZXJyb3IuanNcIlxuXG4vKipcbiAqIEh0dHBTZXJ2ZXJDb25maWd1cmF0aW9uIHR5cGUuXG4gKiBAdHlwZWRlZiB7aW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLXR5cGVzLmpzXCIpLkh0dHBTZXJ2ZXJDb25maWd1cmF0aW9ufSBIdHRwU2VydmVyQ29uZmlndXJhdGlvbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNBcHBsaWNhdGlvbiB7XG4gIC8qKlxuICAgKiBSdW5zIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICAgKiBAcGFyYW0ge0h0dHBTZXJ2ZXJDb25maWd1cmF0aW9ufSBbYXJncy5odHRwU2VydmVyXSAtIEh0dHAgc2VydmVyLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy50eXBlIC0gVHlwZSBpZGVudGlmaWVyLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NvbmZpZ3VyYXRpb24sIGh0dHBTZXJ2ZXIsIHR5cGUsIC4uLnJlc3RBcmdzfSkge1xuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICBpZiAoIWNvbmZpZ3VyYXRpb24pIHRocm93IG5ldyBFcnJvcihcImNvbmZpZ3VyYXRpb24gaXMgcmVxdWlyZWRcIilcblxuICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb25cblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyB0aGUgaHR0cCBzZXJ2ZXIgY29uZmlndXJhdGlvbiB2YWx1ZS5cbiAgICAgKiBAdHlwZSB7SHR0cFNlcnZlckNvbmZpZ3VyYXRpb259ICovXG4gICAgdGhpcy5odHRwU2VydmVyQ29uZmlndXJhdGlvbiA9IGh0dHBTZXJ2ZXIgPz8ge31cblxuICAgIHRoaXMubG9nZ2VyID0gbmV3IExvZ2dlcih0aGlzKVxuICAgIHRoaXMuX3R5cGUgPSB0eXBlXG4gICAgLyoqXG4gICAgICogU3RvcmVzIHRoZSBodHRwIHNlcnZlciBsb2NrIHZhbHVlLlxuICAgICAqIEB0eXBlIHtIdHRwU2VydmVyTG9jayB8IHVuZGVmaW5lZH0gKi9cbiAgICB0aGlzLmh0dHBTZXJ2ZXJMb2NrID0gdW5kZWZpbmVkXG4gIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgdHlwZS5cbiAgICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgdHlwZS5cbiAgICovXG4gIGdldFR5cGUoKSB7IHJldHVybiB0aGlzLl90eXBlIH1cblxuICAvKipcbiAgICogUnVucyBpbml0aWFsaXplLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgYXN5bmMgaW5pdGlhbGl6ZSgpIHtcbiAgICBjb25zdCByb3V0ZXMgPSBhd2FpdCBBcHBSb3V0ZXMuZ2V0Um91dGVzKHRoaXMuY29uZmlndXJhdGlvbilcblxuICAgIGF3YWl0IHRoaXMuY29uZmlndXJhdGlvbi5pbml0aWFsaXplKHt0eXBlOiB0aGlzLmdldFR5cGUoKX0pXG5cbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24uc2V0Um91dGVzKHJvdXRlcylcblxuICAgIGlmICghdGhpcy5jb25maWd1cmF0aW9uLmlzRGF0YWJhc2VQb29sSW5pdGlhbGl6ZWQoKSkge1xuICAgICAgYXdhaXQgdGhpcy5jb25maWd1cmF0aW9uLmluaXRpYWxpemVEYXRhYmFzZVBvb2woKVxuICAgIH1cblxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgaXMgYWN0aXZlLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIGFjdGl2ZS5cbiAgICovXG4gIGlzQWN0aXZlKCkge1xuICAgIGlmICh0aGlzLmh0dHBTZXJ2ZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2ZXI/LmlzQWN0aXZlKClcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHJ1bi5cbiAgICogQHBhcmFtIHtmdW5jdGlvbigpIDogdm9pZH0gY2FsbGJhY2sgLSBDYWxsYmFjayBmdW5jdGlvbi5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIHJ1bihjYWxsYmFjaykge1xuICAgIGF3YWl0IHRoaXMuc3RhcnRIdHRwU2VydmVyKClcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBjYWxsYmFjaygpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHRoaXMuc3RvcCgpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgc3RhcnQgaHR0cCBzZXJ2ZXIuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuXG4gICAqL1xuICBhc3luYyBzdGFydEh0dHBTZXJ2ZXIoKSB7XG4gICAgY29uc3Qge2NvbmZpZ3VyYXRpb259ID0gdGhpc1xuICAgIGNvbnN0IGh0dHBTZXJ2ZXJDb25maWd1cmF0aW9uID0ge1xuICAgICAgLi4uY29uZmlndXJhdGlvbi5odHRwU2VydmVyLFxuICAgICAgLi4udGhpcy5odHRwU2VydmVyQ29uZmlndXJhdGlvblxuICAgIH1cbiAgICBjb25zdCBwb3J0ID0gaHR0cFNlcnZlckNvbmZpZ3VyYXRpb24ucG9ydCA/PyAzMDA2XG4gICAgY29uc3QgaG9zdCA9IGh0dHBTZXJ2ZXJDb25maWd1cmF0aW9uLmhvc3RcblxuICAgIGF3YWl0IHRoaXMubG9nZ2VyLmRlYnVnKGBTdGFydGluZyBzZXJ2ZXIgb24gcG9ydCAke3BvcnR9YClcbiAgICBhd2FpdCB0aGlzLmFjcXVpcmVIdHRwU2VydmVyTG9jayh7Y29uZmlndXJhdGlvbiwgaG9zdDogaG9zdCA/PyBcIjAuMC4wLjBcIiwgcG9ydH0pXG4gICAgYXdhaXQgdGhpcy5zdGFydExvY2tlZEh0dHBTZXJ2ZXIoe2NvbmZpZ3VyYXRpb24sIGhvc3QsIGh0dHBTZXJ2ZXJDb25maWd1cmF0aW9uLCBwb3J0fSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHN0YXJ0IGxvY2tlZCBodHRwIHNlcnZlci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBIVFRQIHNlcnZlciBzdGFydHVwIGFyZ3VtZW50cy5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gYXJncy5jb25maWd1cmF0aW9uIC0gQ29uZmlndXJhdGlvbiBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFthcmdzLmhvc3RdIC0gSFRUUCBzZXJ2ZXIgaG9zdC5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCA/Pn0gYXJncy5odHRwU2VydmVyQ29uZmlndXJhdGlvbiAtIE1lcmdlZCBIVFRQIHNlcnZlciBjb25maWd1cmF0aW9uLlxuICAgKiBAcGFyYW0ge251bWJlcn0gYXJncy5wb3J0IC0gSFRUUCBzZXJ2ZXIgcG9ydC5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgYWZ0ZXIgdGhlIEhUVFAgc2VydmVyIGhhcyBzdGFydGVkLlxuICAgKi9cbiAgYXN5bmMgc3RhcnRMb2NrZWRIdHRwU2VydmVyKHtjb25maWd1cmF0aW9uLCBob3N0LCBodHRwU2VydmVyQ29uZmlndXJhdGlvbiwgcG9ydH0pIHtcbiAgICB0cnkge1xuICAgICAgaWYgKCFjb25maWd1cmF0aW9uLmdldFdlYnNvY2tldEV2ZW50cygpKSB7XG4gICAgICAgIGNvbmZpZ3VyYXRpb24uc2V0V2Vic29ja2V0RXZlbnRzKC8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBUeXBlcyB0aGUgZm9sbG93aW5nIHZhbHVlLlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBAdHlwZSB7P30gKi8gKHdlYnNvY2tldEV2ZW50c0hvc3QpKVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBjb25maWd1cmF0aW9uLmNvbm5lY3RCZWFjb24oe3BlZXJUeXBlOiBcInNlcnZlclwifSlcblxuICAgICAgdGhpcy5odHRwU2VydmVyID0gdGhpcy5jcmVhdGVIdHRwU2VydmVyKHtcbiAgICAgICAgY29uZmlndXJhdGlvbixcbiAgICAgICAgaG9zdCxcbiAgICAgICAgaW5Qcm9jZXNzOiBodHRwU2VydmVyQ29uZmlndXJhdGlvbi5pblByb2Nlc3MsXG4gICAgICAgIG1heFdvcmtlcnM6IGh0dHBTZXJ2ZXJDb25maWd1cmF0aW9uLm1heFdvcmtlcnMsXG4gICAgICAgIHBvcnQsXG4gICAgICAgIHdvcmtlcnM6IGh0dHBTZXJ2ZXJDb25maWd1cmF0aW9uLndvcmtlcnNcbiAgICAgIH0pXG4gICAgICB0aGlzLmh0dHBTZXJ2ZXIuZXZlbnRzLm9uKFwiY2xvc2VcIiwgdGhpcy5vbkh0dHBTZXJ2ZXJDbG9zZSlcbiAgICAgIGNvbmZpZ3VyYXRpb24uX2h0dHBTZXJ2ZXJJbnN0YW5jZSA9IHRoaXMuaHR0cFNlcnZlclxuXG4gICAgICBhd2FpdCB0aGlzLmh0dHBTZXJ2ZXIuc3RhcnQoKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBhd2FpdCB0aGlzLnJlbGVhc2VIdHRwU2VydmVyTG9jaygpXG4gICAgICBjb25maWd1cmF0aW9uLl9odHRwU2VydmVySW5zdGFuY2UgPSB1bmRlZmluZWRcblxuICAgICAgdGhyb3cgZXJyb3JcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUnVucyBhY3F1aXJlIGh0dHAgc2VydmVyIGxvY2suXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gTG9jayBhY3F1aXNpdGlvbiBhcmd1bWVudHMuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGFyZ3MuY29uZmlndXJhdGlvbiAtIENvbmZpZ3VyYXRpb24gaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLmhvc3QgLSBIVFRQIHNlcnZlciBob3N0LlxuICAgKiBAcGFyYW0ge251bWJlcn0gYXJncy5wb3J0IC0gSFRUUCBzZXJ2ZXIgcG9ydC5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgYWZ0ZXIgYWNxdWlyaW5nIHRoZSBzZXJ2ZXIgbG9jayB3aGVuIG5lZWRlZC5cbiAgICovXG4gIGFzeW5jIGFjcXVpcmVIdHRwU2VydmVyTG9jayh7Y29uZmlndXJhdGlvbiwgaG9zdCwgcG9ydH0pIHtcbiAgICBpZiAodGhpcy5nZXRUeXBlKCkgPT09IFwidGVzdC1ydW5uZXJcIikgcmV0dXJuXG5cbiAgICBjb25zdCBodHRwU2VydmVyTG9jayA9IG5ldyBIdHRwU2VydmVyTG9jayh7Y29uZmlndXJhdGlvbiwgaG9zdCwgcG9ydH0pXG4gICAgYXdhaXQgaHR0cFNlcnZlckxvY2suYWNxdWlyZSgpXG4gICAgdGhpcy5odHRwU2VydmVyTG9jayA9IGh0dHBTZXJ2ZXJMb2NrXG4gIH1cblxuICAvKipcbiAgICogUnVucyBjcmVhdGUgaHR0cCBzZXJ2ZXIuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gSFRUUCBzZXJ2ZXIgYXJndW1lbnRzLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3MuaG9zdF0gLSBIb3N0LlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFthcmdzLmluUHJvY2Vzc10gLSBSdW4gSFRUUCBoYW5kbGVycyBpbiB0aGUgbWFpbiB0aHJlYWQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJncy5tYXhXb3JrZXJzXSAtIE1heCB3b3JrZXJzLlxuICAgKiBAcGFyYW0ge251bWJlcn0gYXJncy5wb3J0IC0gUG9ydC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLndvcmtlcnNdIC0gV29ya2VyIGNvdW50LlxuICAgKiBAcmV0dXJucyB7SHR0cFNlcnZlcn0gLSBIVFRQIHNlcnZlciBpbnN0YW5jZS5cbiAgICovXG4gIGNyZWF0ZUh0dHBTZXJ2ZXIoe2NvbmZpZ3VyYXRpb24sIGhvc3QsIGluUHJvY2VzcywgbWF4V29ya2VycywgcG9ydCwgd29ya2Vyc30pIHtcbiAgICByZXR1cm4gbmV3IEh0dHBTZXJ2ZXIoe2NvbmZpZ3VyYXRpb24sIGhvc3QsIGluUHJvY2VzcywgbWF4V29ya2VycywgcG9ydCwgd29ya2Vyc30pXG4gIH1cblxuICAvKipcbiAgICogUnVucyBzdG9wLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgYXN5bmMgc3RvcCgpIHtcbiAgICBhd2FpdCB0aGlzLmxvZ2dlci5kZWJ1ZyhcIlN0b3BwaW5nIHNlcnZlclwiKVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuaHR0cFNlcnZlcj8uc3RvcCgpXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uX2h0dHBTZXJ2ZXJJbnN0YW5jZSA9IHVuZGVmaW5lZFxuICAgICAgYXdhaXQgdGhpcy5jb25maWd1cmF0aW9uLmRpc2Nvbm5lY3RCZWFjb24oKVxuICAgICAgYXdhaXQgdGhpcy5jb25maWd1cmF0aW9uLmNsb3NlRGF0YWJhc2VDb25uZWN0aW9ucygpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHRoaXMucmVsZWFzZUh0dHBTZXJ2ZXJMb2NrKClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUnVucyByZWxlYXNlIGh0dHAgc2VydmVyIGxvY2suXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIGFmdGVyIHRoZSBIVFRQIHNlcnZlciBsb2NrIGhhcyBiZWVuIHJlbGVhc2VkLlxuICAgKi9cbiAgYXN5bmMgcmVsZWFzZUh0dHBTZXJ2ZXJMb2NrKCkge1xuICAgIGNvbnN0IHtodHRwU2VydmVyTG9ja30gPSB0aGlzXG5cbiAgICB0aGlzLmh0dHBTZXJ2ZXJMb2NrID0gdW5kZWZpbmVkXG4gICAgaWYgKGh0dHBTZXJ2ZXJMb2NrKSBhd2FpdCBodHRwU2VydmVyTG9jay5yZWxlYXNlKClcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBodHRwIHNlcnZlciBjbG9zZS5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgb25IdHRwU2VydmVyQ2xvc2UgPSAoKSA9PiB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJIVFRQIHNlcnZlciBjbG9zZWRcIilcblxuICAgIGlmICh0aGlzLndhaXRSZXNvbHZlKSB7XG4gICAgICB0aGlzLndhaXRSZXNvbHZlKClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUnVucyB3YWl0LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgd2FpdCgpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHRoaXMud2FpdFJlc29sdmUgPSByZXNvbHZlXG4gICAgfSlcbiAgfVxufVxuIl19
|
|
200
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwbGljYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXBwbGljYXRpb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sU0FBUyxNQUFNLHdCQUF3QixDQUFBO0FBQzlDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLFVBQVUsTUFBTSx3QkFBd0IsQ0FBQTtBQUMvQyxPQUFPLGNBQWMsTUFBTSw4QkFBOEIsQ0FBQTtBQUN6RCxPQUFPLG1CQUFtQixNQUFNLHdDQUF3QyxDQUFBO0FBQ3hFLE9BQU8sYUFBYSxNQUFNLDRCQUE0QixDQUFBO0FBRXREOzttR0FFbUc7QUFFbkcsTUFBTSxDQUFDLE9BQU8sT0FBTyxvQkFBb0I7SUFDdkM7Ozs7OztPQU1HO0lBQ0gsWUFBWSxFQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEdBQUcsUUFBUSxFQUFDO1FBQ3hELGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQTtRQUV2QixJQUFJLENBQUMsYUFBYTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsMkJBQTJCLENBQUMsQ0FBQTtRQUVoRSxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQTtRQUVsQzs7NkNBRXFDO1FBQ3JDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxVQUFVLElBQUksRUFBRSxDQUFBO1FBRS9DLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUE7UUFDakI7O2dEQUV3QztRQUN4QyxJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQTtJQUNqQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsT0FBTyxLQUFLLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQSxDQUFDLENBQUM7SUFFL0I7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFVBQVU7UUFDZCxNQUFNLE1BQU0s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bUIsR0FBRyxTQUFTLENBQUE7WUFDbEQsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUE7WUFDM0MsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLHdCQUF3QixFQUFFLENBQUE7UUFDckQsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsTUFBTSxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtRQUNwQyxDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxxQkFBcUI7UUFDekIsTUFBTSxFQUFDLGNBQWMsRUFBQyxHQUFHLElBQUksQ0FBQTtRQUU3QixJQUFJLENBQUMsY0FBYyxHQUFHLFNBQVMsQ0FBQTtRQUMvQixJQUFJLGNBQWM7WUFBRSxNQUFNLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQTtJQUNwRCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsaUJBQWlCLEdBQUcsR0FBRyxFQUFFO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUE7UUFFdkMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ3BCLENBQUM7SUFDSCxDQUFDLENBQUE7SUFFRDs7O09BR0c7SUFDSCxJQUFJO1FBQ0YsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFBO1FBQzVCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBBcHBSb3V0ZXMgZnJvbSBcIi4vcm91dGVzL2FwcC1yb3V0ZXMuanNcIlxuaW1wb3J0IExvZ2dlciBmcm9tIFwiLi9sb2dnZXIuanNcIlxuaW1wb3J0IEh0dHBTZXJ2ZXIgZnJvbSBcIi4vaHR0cC1zZXJ2ZXIvaW5kZXguanNcIlxuaW1wb3J0IEh0dHBTZXJ2ZXJMb2NrIGZyb20gXCIuL2h0dHAtc2VydmVyL3NlcnZlci1sb2NrLmpzXCJcbmltcG9ydCB3ZWJzb2NrZXRFdmVudHNIb3N0IGZyb20gXCIuL2h0dHAtc2VydmVyL3dlYnNvY2tldC1ldmVudHMtaG9zdC5qc1wiXG5pbXBvcnQgcmVzdEFyZ3NFcnJvciBmcm9tIFwiLi91dGlscy9yZXN0LWFyZ3MtZXJyb3IuanNcIlxuXG4vKipcbiAqIEh0dHBTZXJ2ZXJDb25maWd1cmF0aW9uIHR5cGUuXG4gKiBAdHlwZWRlZiB7aW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLXR5cGVzLmpzXCIpLkh0dHBTZXJ2ZXJDb25maWd1cmF0aW9ufSBIdHRwU2VydmVyQ29uZmlndXJhdGlvbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNBcHBsaWNhdGlvbiB7XG4gIC8qKlxuICAgKiBSdW5zIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMgb2JqZWN0LlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICAgKiBAcGFyYW0ge0h0dHBTZXJ2ZXJDb25maWd1cmF0aW9ufSBbYXJncy5odHRwU2VydmVyXSAtIEh0dHAgc2VydmVyLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy50eXBlIC0gVHlwZSBpZGVudGlmaWVyLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioe2NvbmZpZ3VyYXRpb24sIGh0dHBTZXJ2ZXIsIHR5cGUsIC4uLnJlc3RBcmdzfSkge1xuICAgIHJlc3RBcmdzRXJyb3IocmVzdEFyZ3MpXG5cbiAgICBpZiAoIWNvbmZpZ3VyYXRpb24pIHRocm93IG5ldyBFcnJvcihcImNvbmZpZ3VyYXRpb24gaXMgcmVxdWlyZWRcIilcblxuICAgIHRoaXMuY29uZmlndXJhdGlvbiA9IGNvbmZpZ3VyYXRpb25cblxuICAgIC8qKlxuICAgICAqIFN0b3JlcyB0aGUgaHR0cCBzZXJ2ZXIgY29uZmlndXJhdGlvbiB2YWx1ZS5cbiAgICAgKiBAdHlwZSB7SHR0cFNlcnZlckNvbmZpZ3VyYXRpb259ICovXG4gICAgdGhpcy5odHRwU2VydmVyQ29uZmlndXJhdGlvbiA9IGh0dHBTZXJ2ZXIgPz8ge31cblxuICAgIHRoaXMubG9nZ2VyID0gbmV3IExvZ2dlcih0aGlzKVxuICAgIHRoaXMuX3R5cGUgPSB0eXBlXG4gICAgLyoqXG4gICAgICogU3RvcmVzIHRoZSBodHRwIHNlcnZlciBsb2NrIHZhbHVlLlxuICAgICAqIEB0eXBlIHtIdHRwU2VydmVyTG9jayB8IHVuZGVmaW5lZH0gKi9cbiAgICB0aGlzLmh0dHBTZXJ2ZXJMb2NrID0gdW5kZWZpbmVkXG4gIH1cblxuICAvKipcbiAgICogUnVucyBnZXQgdHlwZS5cbiAgICogQHJldHVybnMge3N0cmluZ30gLSBUaGUgdHlwZS5cbiAgICovXG4gIGdldFR5cGUoKSB7IHJldHVybiB0aGlzLl90eXBlIH1cblxuICAvKipcbiAgICogUnVucyBpbml0aWFsaXplLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgYXN5bmMgaW5pdGlhbGl6ZSgpIHtcbiAgICBjb25zdCByb3V0ZXMgPSBhd2FpdCBBcHBSb3V0ZXMuZ2V0Um91dGVzKHRoaXMuY29uZmlndXJhdGlvbilcblxuICAgIGF3YWl0IHRoaXMuY29uZmlndXJhdGlvbi5pbml0aWFsaXplKHt0eXBlOiB0aGlzLmdldFR5cGUoKX0pXG5cbiAgICB0aGlzLmNvbmZpZ3VyYXRpb24uc2V0Um91dGVzKHJvdXRlcylcblxuICAgIGlmICghdGhpcy5jb25maWd1cmF0aW9uLmlzRGF0YWJhc2VQb29sSW5pdGlhbGl6ZWQoKSkge1xuICAgICAgYXdhaXQgdGhpcy5jb25maWd1cmF0aW9uLmluaXRpYWxpemVEYXRhYmFzZVBvb2woKVxuICAgIH1cblxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgaXMgYWN0aXZlLlxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gLSBXaGV0aGVyIGFjdGl2ZS5cbiAgICovXG4gIGlzQWN0aXZlKCkge1xuICAgIGlmICh0aGlzLmh0dHBTZXJ2ZXIpIHtcbiAgICAgIHJldHVybiB0aGlzLmh0dHBTZXJ2ZXI/LmlzQWN0aXZlKClcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHJ1bi5cbiAgICogQHBhcmFtIHtmdW5jdGlvbigpIDogdm9pZH0gY2FsbGJhY2sgLSBDYWxsYmFjayBmdW5jdGlvbi5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIHJ1bihjYWxsYmFjaykge1xuICAgIGF3YWl0IHRoaXMuc3RhcnRIdHRwU2VydmVyKClcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBjYWxsYmFjaygpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHRoaXMuc3RvcCgpXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgc3RhcnQgaHR0cCBzZXJ2ZXIuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gY29tcGxldGUuXG4gICAqL1xuICBhc3luYyBzdGFydEh0dHBTZXJ2ZXIoKSB7XG4gICAgY29uc3Qge2NvbmZpZ3VyYXRpb259ID0gdGhpc1xuICAgIGNvbnN0IGh0dHBTZXJ2ZXJDb25maWd1cmF0aW9uID0ge1xuICAgICAgLi4uY29uZmlndXJhdGlvbi5odHRwU2VydmVyLFxuICAgICAgLi4udGhpcy5odHRwU2VydmVyQ29uZmlndXJhdGlvblxuICAgIH1cbiAgICBjb25zdCBwb3J0ID0gaHR0cFNlcnZlckNvbmZpZ3VyYXRpb24ucG9ydCA/PyAzMDA2XG4gICAgY29uc3QgaG9zdCA9IGh0dHBTZXJ2ZXJDb25maWd1cmF0aW9uLmhvc3RcblxuICAgIGF3YWl0IHRoaXMubG9nZ2VyLmRlYnVnKGBTdGFydGluZyBzZXJ2ZXIgb24gcG9ydCAke3BvcnR9YClcbiAgICBhd2FpdCB0aGlzLmFjcXVpcmVIdHRwU2VydmVyTG9jayh7Y29uZmlndXJhdGlvbiwgaG9zdDogaG9zdCA/PyBcIjAuMC4wLjBcIiwgcG9ydH0pXG4gICAgYXdhaXQgdGhpcy5zdGFydExvY2tlZEh0dHBTZXJ2ZXIoe2NvbmZpZ3VyYXRpb24sIGhvc3QsIGh0dHBTZXJ2ZXJDb25maWd1cmF0aW9uLCBwb3J0fSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHN0YXJ0IGxvY2tlZCBodHRwIHNlcnZlci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBIVFRQIHNlcnZlciBzdGFydHVwIGFyZ3VtZW50cy5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL2NvbmZpZ3VyYXRpb24uanNcIikuZGVmYXVsdH0gYXJncy5jb25maWd1cmF0aW9uIC0gQ29uZmlndXJhdGlvbiBpbnN0YW5jZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFthcmdzLmhvc3RdIC0gSFRUUCBzZXJ2ZXIgaG9zdC5cbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCA/Pn0gYXJncy5odHRwU2VydmVyQ29uZmlndXJhdGlvbiAtIE1lcmdlZCBIVFRQIHNlcnZlciBjb25maWd1cmF0aW9uLlxuICAgKiBAcGFyYW0ge251bWJlcn0gYXJncy5wb3J0IC0gSFRUUCBzZXJ2ZXIgcG9ydC5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgYWZ0ZXIgdGhlIEhUVFAgc2VydmVyIGhhcyBzdGFydGVkLlxuICAgKi9cbiAgYXN5bmMgc3RhcnRMb2NrZWRIdHRwU2VydmVyKHtjb25maWd1cmF0aW9uLCBob3N0LCBodHRwU2VydmVyQ29uZmlndXJhdGlvbiwgcG9ydH0pIHtcbiAgICB0cnkge1xuICAgICAgaWYgKCFjb25maWd1cmF0aW9uLmdldFdlYnNvY2tldEV2ZW50cygpKSB7XG4gICAgICAgIGNvbmZpZ3VyYXRpb24uc2V0V2Vic29ja2V0RXZlbnRzKC8qKiBAdHlwZSB7P30gKi8gKHdlYnNvY2tldEV2ZW50c0hvc3QpKVxuICAgICAgfVxuXG4gICAgICBhd2FpdCBjb25maWd1cmF0aW9uLmNvbm5lY3RCZWFjb24oe3BlZXJUeXBlOiBcInNlcnZlclwifSlcblxuICAgICAgdGhpcy5odHRwU2VydmVyID0gdGhpcy5jcmVhdGVIdHRwU2VydmVyKHtcbiAgICAgICAgY29uZmlndXJhdGlvbixcbiAgICAgICAgaG9zdCxcbiAgICAgICAgaW5Qcm9jZXNzOiBodHRwU2VydmVyQ29uZmlndXJhdGlvbi5pblByb2Nlc3MsXG4gICAgICAgIG1heFdvcmtlcnM6IGh0dHBTZXJ2ZXJDb25maWd1cmF0aW9uLm1heFdvcmtlcnMsXG4gICAgICAgIHBvcnQsXG4gICAgICAgIHdvcmtlcnM6IGh0dHBTZXJ2ZXJDb25maWd1cmF0aW9uLndvcmtlcnNcbiAgICAgIH0pXG4gICAgICB0aGlzLmh0dHBTZXJ2ZXIuZXZlbnRzLm9uKFwiY2xvc2VcIiwgdGhpcy5vbkh0dHBTZXJ2ZXJDbG9zZSlcbiAgICAgIGNvbmZpZ3VyYXRpb24uX2h0dHBTZXJ2ZXJJbnN0YW5jZSA9IHRoaXMuaHR0cFNlcnZlclxuXG4gICAgICBhd2FpdCB0aGlzLmh0dHBTZXJ2ZXIuc3RhcnQoKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBhd2FpdCB0aGlzLnJlbGVhc2VIdHRwU2VydmVyTG9jaygpXG4gICAgICBjb25maWd1cmF0aW9uLl9odHRwU2VydmVySW5zdGFuY2UgPSB1bmRlZmluZWRcblxuICAgICAgdGhyb3cgZXJyb3JcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUnVucyBhY3F1aXJlIGh0dHAgc2VydmVyIGxvY2suXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gTG9jayBhY3F1aXNpdGlvbiBhcmd1bWVudHMuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IGFyZ3MuY29uZmlndXJhdGlvbiAtIENvbmZpZ3VyYXRpb24gaW5zdGFuY2UuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLmhvc3QgLSBIVFRQIHNlcnZlciBob3N0LlxuICAgKiBAcGFyYW0ge251bWJlcn0gYXJncy5wb3J0IC0gSFRUUCBzZXJ2ZXIgcG9ydC5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgYWZ0ZXIgYWNxdWlyaW5nIHRoZSBzZXJ2ZXIgbG9jayB3aGVuIG5lZWRlZC5cbiAgICovXG4gIGFzeW5jIGFjcXVpcmVIdHRwU2VydmVyTG9jayh7Y29uZmlndXJhdGlvbiwgaG9zdCwgcG9ydH0pIHtcbiAgICBpZiAodGhpcy5nZXRUeXBlKCkgPT09IFwidGVzdC1ydW5uZXJcIikgcmV0dXJuXG5cbiAgICBjb25zdCBodHRwU2VydmVyTG9jayA9IG5ldyBIdHRwU2VydmVyTG9jayh7Y29uZmlndXJhdGlvbiwgaG9zdCwgcG9ydH0pXG4gICAgYXdhaXQgaHR0cFNlcnZlckxvY2suYWNxdWlyZSgpXG4gICAgdGhpcy5odHRwU2VydmVyTG9jayA9IGh0dHBTZXJ2ZXJMb2NrXG4gIH1cblxuICAvKipcbiAgICogUnVucyBjcmVhdGUgaHR0cCBzZXJ2ZXIuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gSFRUUCBzZXJ2ZXIgYXJndW1lbnRzLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vY29uZmlndXJhdGlvbi5qc1wiKS5kZWZhdWx0fSBhcmdzLmNvbmZpZ3VyYXRpb24gLSBDb25maWd1cmF0aW9uIGluc3RhbmNlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FyZ3MuaG9zdF0gLSBIb3N0LlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFthcmdzLmluUHJvY2Vzc10gLSBSdW4gSFRUUCBoYW5kbGVycyBpbiB0aGUgbWFpbiB0aHJlYWQuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbYXJncy5tYXhXb3JrZXJzXSAtIE1heCB3b3JrZXJzLlxuICAgKiBAcGFyYW0ge251bWJlcn0gYXJncy5wb3J0IC0gUG9ydC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLndvcmtlcnNdIC0gV29ya2VyIGNvdW50LlxuICAgKiBAcmV0dXJucyB7SHR0cFNlcnZlcn0gLSBIVFRQIHNlcnZlciBpbnN0YW5jZS5cbiAgICovXG4gIGNyZWF0ZUh0dHBTZXJ2ZXIoe2NvbmZpZ3VyYXRpb24sIGhvc3QsIGluUHJvY2VzcywgbWF4V29ya2VycywgcG9ydCwgd29ya2Vyc30pIHtcbiAgICByZXR1cm4gbmV3IEh0dHBTZXJ2ZXIoe2NvbmZpZ3VyYXRpb24sIGhvc3QsIGluUHJvY2VzcywgbWF4V29ya2VycywgcG9ydCwgd29ya2Vyc30pXG4gIH1cblxuICAvKipcbiAgICogUnVucyBzdG9wLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgYXN5bmMgc3RvcCgpIHtcbiAgICBhd2FpdCB0aGlzLmxvZ2dlci5kZWJ1ZyhcIlN0b3BwaW5nIHNlcnZlclwiKVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRoaXMuaHR0cFNlcnZlcj8uc3RvcCgpXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uX2h0dHBTZXJ2ZXJJbnN0YW5jZSA9IHVuZGVmaW5lZFxuICAgICAgYXdhaXQgdGhpcy5jb25maWd1cmF0aW9uLmRpc2Nvbm5lY3RCZWFjb24oKVxuICAgICAgYXdhaXQgdGhpcy5jb25maWd1cmF0aW9uLmNsb3NlRGF0YWJhc2VDb25uZWN0aW9ucygpXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHRoaXMucmVsZWFzZUh0dHBTZXJ2ZXJMb2NrKClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUnVucyByZWxlYXNlIGh0dHAgc2VydmVyIGxvY2suXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIGFmdGVyIHRoZSBIVFRQIHNlcnZlciBsb2NrIGhhcyBiZWVuIHJlbGVhc2VkLlxuICAgKi9cbiAgYXN5bmMgcmVsZWFzZUh0dHBTZXJ2ZXJMb2NrKCkge1xuICAgIGNvbnN0IHtodHRwU2VydmVyTG9ja30gPSB0aGlzXG5cbiAgICB0aGlzLmh0dHBTZXJ2ZXJMb2NrID0gdW5kZWZpbmVkXG4gICAgaWYgKGh0dHBTZXJ2ZXJMb2NrKSBhd2FpdCBodHRwU2VydmVyTG9jay5yZWxlYXNlKClcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBodHRwIHNlcnZlciBjbG9zZS5cbiAgICogQHJldHVybnMge3ZvaWR9IC0gTm8gcmV0dXJuIHZhbHVlLlxuICAgKi9cbiAgb25IdHRwU2VydmVyQ2xvc2UgPSAoKSA9PiB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJIVFRQIHNlcnZlciBjbG9zZWRcIilcblxuICAgIGlmICh0aGlzLndhaXRSZXNvbHZlKSB7XG4gICAgICB0aGlzLndhaXRSZXNvbHZlKClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUnVucyB3YWl0LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgd2FpdCgpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHRoaXMud2FpdFJlc29sdmUgPSByZXNvbHZlXG4gICAgfSlcbiAgfVxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cron-expression.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/cron-expression.js"],"names":[],"mappings":"AAsCA;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AACH,gDAHW,MAAM,GACJ,UAAU,
|
|
1
|
+
{"version":3,"file":"cron-expression.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/cron-expression.js"],"names":[],"mappings":"AAsCA;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AACH,gDAHW,MAAM,GACJ,UAAU,CA+BtB;AA4ID;;;;;;;;GAQG;AACH,yCAJW,UAAU,QACV,IAAI,GACF,IAAI,CAehB;;;;;;;;YA9Ma,GAAG,CAAC,MAAM,CAAC;;;;UACX,GAAG,CAAC,MAAM,CAAC;;;;gBACX,GAAG,CAAC,MAAM,CAAC;;;;WACX,GAAG,CAAC,MAAM,CAAC;;;;eACX,GAAG,CAAC,MAAM,CAAC;;;;0BACX,OAAO;;;;yBACP,OAAO;;;;gBACP,MAAM"}
|
|
@@ -53,9 +53,7 @@ export function parseCronExpression(expression) {
|
|
|
53
53
|
throw new Error(`Invalid cron expression: ${expression}`);
|
|
54
54
|
}
|
|
55
55
|
const trimmed = expression.trim().toLowerCase();
|
|
56
|
-
const expanded = SHORTCUTS[ /**
|
|
57
|
-
* Narrows the runtime value to the documented type.
|
|
58
|
-
* @type {keyof typeof SHORTCUTS} */(trimmed)] || trimmed;
|
|
56
|
+
const expanded = SHORTCUTS[ /** @type {keyof typeof SHORTCUTS} */(trimmed)] || trimmed;
|
|
59
57
|
const fields = expanded.split(/\s+/);
|
|
60
58
|
if (fields.length !== 5) {
|
|
61
59
|
throw new Error(`Invalid cron expression "${expression}": expected 5 fields, got ${fields.length}`);
|
|
@@ -235,4 +233,4 @@ function candidateMatches(candidate, parsed) {
|
|
|
235
233
|
return dayOfWeekMatch;
|
|
236
234
|
return true;
|
|
237
235
|
}
|
|
238
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi1leHByZXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2tncm91bmQtam9icy9jcm9uLWV4cHJlc3Npb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaOzs7Ozs7Ozs7OztHQVdHO0FBRUgsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFBO0FBQ3hHLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFFbkUsTUFBTSxTQUFTLEdBQUc7SUFDaEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsUUFBUSxFQUFFLFdBQVc7SUFDckIsV0FBVyxFQUFFLFdBQVc7SUFDeEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsVUFBVSxFQUFFLFdBQVc7SUFDdkIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsV0FBVyxFQUFFLFdBQVc7Q0FDekIsQ0FBQTtBQUVELE1BQU0sTUFBTSxHQUFHO0lBQ2IsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBQztJQUNqQyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFDO0lBQy9CLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUM7SUFDckMsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUs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QUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQTtJQUUvRCwwREFBMEQ7SUFDMUQseURBQXlEO0lBQ3pELHFDQUFxQztJQUNyQyxJQUFJLE1BQU0sQ0FBQyxvQkFBb0IsSUFBSSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztRQUM5RCxPQUFPLGVBQWUsSUFBSSxjQUFjLENBQUE7SUFDMUMsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLG9CQUFvQjtRQUFFLE9BQU8sZUFBZSxDQUFBO0lBQ3ZELElBQUksTUFBTSxDQUFDLG1CQUFtQjtRQUFFLE9BQU8sY0FBYyxDQUFBO0lBRXJELE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIE1pbmltYWwgUE9TSVgtc3R5bGUgNS1maWVsZCBjcm9uIHBhcnNlciB1c2VkIGJ5IHRoZSBiYWNrZ3JvdW5kLWpvYlxuICogc2NoZWR1bGVyLiBTdXBwb3J0cyBgKmAsIHNpbmdsZSB2YWx1ZXMsIHJhbmdlcyAoYE4tTWApLCBzdGVwc1xuICogKGAqXFwvTmAgb3IgYE4tTS9OYCksIGNvbW1hLXNlcGFyYXRlZCBsaXN0cywgYW5kIHRoZSBjb21tb25cbiAqIGBAaG91cmx5YC9gQGRhaWx5YC9gQHdlZWtseWAvYEBtb250aGx5YC9gQHllYXJseWAvYEBtaWRuaWdodGBcbiAqIHNob3J0Y3V0cy4gTW9udGggYW5kIGRheS1vZi13ZWVrIG5hbWVzIChgamFuYC1gZGVjYCwgYHN1bmAtYHNhdGAsXG4gKiBjYXNlLWluc2Vuc2l0aXZlKSBhcmUgYWxzbyBhY2NlcHRlZC5cbiAqXG4gKiBGb3IgZGF5LW9mLW1vbnRoICsgZGF5LW9mLXdlZWsgaW50ZXJhY3Rpb24sIGZvbGxvd3MgUE9TSVgvVml4aWVcbiAqIGNyb24gc2VtYW50aWNzOiB3aGVuIGJvdGggZmllbGRzIGFyZSByZXN0cmljdGVkIChuZWl0aGVyIGAqYCksIHRoZVxuICogam9iIGZpcmVzIHdoZW4gRUlUSEVSIG1hdGNoZXMuIFdoZW4gb25lIGlzIGAqYCBpdCBoYXMgbm8gZWZmZWN0LlxuICovXG5cbmNvbnN0IE1PTlRIX05BTUVTID0gW1wiamFuXCIsIFwiZmViXCIsIFwibWFyXCIsIFwiYXByXCIsIFwibWF5XCIsIFwianVuXCIsIFwianVsXCIsIFwiYXVnXCIsIFwic2VwXCIsIFwib2N0XCIsIFwibm92XCIsIFwiZGVjXCJdXG5jb25zdCBEQVlfTkFNRVMgPSBbXCJzdW5cIiwgXCJtb25cIiwgXCJ0dWVcIiwgXCJ3ZWRcIiwgXCJ0aHVcIiwgXCJmcmlcIiwgXCJzYXRcIl1cblxuY29uc3QgU0hPUlRDVVRTID0ge1xuICBcIkBob3VybHlcIjogXCIwICogKiAqICpcIixcbiAgXCJAZGFpbHlcIjogXCIwIDAgKiAqICpcIixcbiAgXCJAbWlkbmlnaHRcIjogXCIwIDAgKiAqICpcIixcbiAgXCJAd2Vla2x5XCI6IFwiMCAwICogKiAwXCIsXG4gIFwiQG1vbnRobHlcIjogXCIwIDAgMSAqICpcIixcbiAgXCJAeWVhcmx5XCI6IFwiMCAwIDEgMSAqXCIsXG4gIFwiQGFubnVhbGx5XCI6IFwiMCAwIDEgMSAqXCJcbn1cblxuY29uc3QgRklFTERTID0gW1xuICB7bmFtZTogXCJtaW51dGVcIiwgbWluOiAwLCBtYXg6IDU5fSxcbiAge25hbWU6IFwiaG91clwiLCBtaW46IDAsIG1heDogMjN9LFxuICB7bmFtZTogXCJkYXlPZk1vbnRoXCIsIG1pbjogMSwgbWF4OiAzMX0sXG4gIHtuYW1lOiBcIm1vbnRoXCIsIG1pbjogMSwgbWF4OiAxMiwgbmFtZXM6IE1PTlRIX05BTUVTfSxcbiAgLy8gQWNjZXB0IDAtNyBzbyByYW5nZXMgbGlrZSBgNS03YCAoRnJpLVN1bikgd29yazsgd2Ugbm9ybWFsaXplIDdcbiAgLy8gZG93biB0byAwIGFmdGVyIHBhcnNpbmcgaW4gYG5vcm1hbGl6ZURheU9mV2Vla2AgYmVsb3cuXG4gIHtuYW1lOiBcImRheU9mV2Vla1wiLCBtaW46IDAsIG1heDogNywgbmFtZXM6IERBWV9OQU1FU31cbl1cblxuLyoqXG4gKiBQYXJzZWRDcm9uIHR5cGUuXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBQYXJzZWRDcm9uXG4gKiBAcHJvcGVydHkge1NldDxudW1iZXI+fSBtaW51dGUgLSBBbGxvd2VkIG1pbnV0ZSB2YWx1ZXMgKDAtNTkpLlxuICogQHByb3BlcnR5IHtTZXQ8bnVtYmVyPn0gaG91ciAtIEFsbG93ZWQgaG91ciB2YWx1ZXMgKDAtMjMpLlxuICogQHByb3BlcnR5IHtTZXQ8bnVtYmVyPn0gZGF5T2ZNb250aCAtIEFsbG93ZWQgZGF5LW9mLW1vbnRoIHZhbHVlcyAoMS0zMSkuXG4gKiBAcHJvcGVydHkge1NldDxudW1iZXI+fSBtb250aCAtIEFsbG93ZWQgbW9udGggdmFsdWVzICgxLTEyKS5cbiAqIEBwcm9wZXJ0eSB7U2V0PG51bWJlcj59IGRheU9mV2VlayAtIEFsbG93ZWQgZGF5LW9mLXdlZWsgdmFsdWVzICgwLTYsIDA9U3VuKS5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gZGF5T2ZNb250aFJlc3RyaWN0ZWQgLSBUcnVlIHdoZW4gdGhlIGRheU9mTW9udGggZmllbGQgaXMgbm90IGA/YC5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gZGF5T2ZXZWVrUmVzdHJpY3RlZCAtIFRydWUgd2hlbiB0aGUgZGF5T2ZXZWVrIGZpZWxkIGlzIG5vdCBgP2AuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gZXhwcmVzc2lvbiAtIE9yaWdpbmFsIGV4cHJlc3Npb24gZm9yIGRpYWdub3N0aWNzLlxuICovXG5cbi8qKlxuICogUnVucyB0aGUgcGFyc2VDcm9uRXhwcmVzc2lvbiBoZWxwZXIuXG4gKiBAcGFyYW0ge3N0cmluZ30gZXhwcmVzc2lvbiAtIENyb24gZXhwcmVzc2lvbiBvciBzaG9ydGN1dC5cbiAqIEByZXR1cm5zIHtQYXJzZWRDcm9ufVxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDcm9uRXhwcmVzc2lvbihleHByZXNzaW9uKSB7XG4gIGlmICh0eXBlb2YgZXhwcmVzc2lvbiAhPT0gXCJzdHJpbmdcIiB8fCAhZXhwcmVzc2lvbi50cmltKCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgY3JvbiBleHByZXNzaW9uOiAke2V4cHJlc3Npb259YClcbiAgfVxuXG4gIGNvbnN0IHRyaW1tZWQgPSBleHByZXNzaW9uLnRyaW0oKS50b0xvd2VyQ2FzZSgpXG4gIGNvbnN0IGV4cGFuZGVkID0gU0hPUlRDVVRTWy8qKlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEB0eXBlIHtrZXlvZiB0eXBlb2YgU0hPUlRDVVRTfSAqLyAodHJpbW1lZCldIHx8IHRyaW1tZWRcbiAgY29uc3QgZmllbGRzID0gZXhwYW5kZWQuc3BsaXQoL1xccysvKVxuXG4gIGlmIChmaWVsZHMubGVuZ3RoICE9PSA1KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNyb24gZXhwcmVzc2lvbiBcIiR7ZXhwcmVzc2lvbn1cIjogZXhwZWN0ZWQgNSBmaWVsZHMsIGdvdCAke2ZpZWxkcy5sZW5ndGh9YClcbiAgfVxuXG4gIGNvbnN0IFttaW51dGVGaWVsZCwgaG91ckZpZWxkLCBkYXlPZk1vbnRoRmllbGQsIG1vbnRoRmllbGQsIGRheU9mV2Vla0ZpZWxkXSA9IGZpZWxkc1xuICBjb25zdCBwYXJzZWQgPSB7XG4gICAgbWludXRlOiBwYXJzZUZpZWxkKG1pbnV0ZUZpZWxkLCBGSUVMRFNbMF0sIGV4cHJlc3Npb24pLFxuICAgIGhvdXI6IHBhcnNlRmllbGQoaG91ckZpZWxkLCBGSUVMRFNbMV0sIGV4cHJlc3Npb24pLFxuICAgIGRheU9mTW9udGg6IHBhcnNlRmllbGQoZGF5T2ZNb250aEZpZWxkLCBGSUVMRFNbMl0sIGV4cHJlc3Npb24pLFxuICAgIG1vbnRoOiBwYXJzZUZpZWxkKG1vbnRoRmllbGQsIEZJRUxEU1szXSwgZXhwcmVzc2lvbiksXG4gICAgLy8gQ3JvbiB0cmVhdHMgYm90aCAwIGFuZCA3IGFzIFN1bmRheS4gV2UgYWNjZXB0IDcgdGhyb3VnaG91dCB0aGVcbiAgICAvLyBwYXJzZSBwYXNzIChzbyBgNS03YCBmb3IgRnJpLVN1biB3b3JrcykgYW5kIHRoZW4gbm9ybWFsaXplIGFueVxuICAgIC8vIDdzIGRvd24gdG8gMCBzbyB0aGUgbWF0Y2hlciBvbmx5IGRlYWxzIHdpdGggMC02LlxuICAgIGRheU9mV2Vlazogbm9ybWFsaXplRGF5T2ZXZWVrKHBhcnNlRmllbGQoZGF5T2ZXZWVrRmllbGQsIEZJRUxEU1s0XSwgZXhwcmVzc2lvbikpLFxuICAgIGRheU9mTW9udGhSZXN0cmljdGVkOiBkYXlPZk1vbnRoRmllbGQgIT09IFwiKlwiLFxuICAgIGRheU9mV2Vla1Jlc3RyaWN0ZWQ6IGRheU9mV2Vla0ZpZWxkICE9PSBcIipcIixcbiAgICBleHByZXNzaW9uXG4gIH1cblxuICByZXR1cm4gcGFyc2VkXG59XG5cbi8qKlxuICogUnVucyBub3JtYWxpemUgZGF5IG9mIHdlZWsuXG4gKiBAcGFyYW0ge1NldDxudW1iZXI+fSBkYXlPZldlZWtcbiAqIEByZXR1cm5zIHtTZXQ8bnVtYmVyPn1cbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplRGF5T2ZXZWVrKGRheU9mV2Vlaykge1xuICBpZiAoZGF5T2ZXZWVrLmhhcyg3KSkge1xuICAgIGRheU9mV2Vlay5kZWxldGUoNylcbiAgICBkYXlPZldlZWsuYWRkKDApXG4gIH1cblxuICByZXR1cm4gZGF5T2ZXZWVrXG59XG5cbi8qKlxuICogUnVucyBwYXJzZSBmaWVsZC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBmaWVsZCAtIEZpZWxkIGV4cHJlc3Npb24uXG4gKiBAcGFyYW0ge3tuYW1lOiBzdHJpbmcsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlciwgbmFtZXM/OiBzdHJpbmdbXX19IGZpZWxkU3BlYyAtIEZpZWxkIHNwZWMuXG4gKiBAcGFyYW0ge3N0cmluZ30gZXhwcmVzc2lvbiAtIFdob2xlIGNyb24gZXhwcmVzc2lvbiBmb3IgZXJyb3IgbWVzc2FnZXMuXG4gKiBAcmV0dXJucyB7U2V0PG51bWJlcj59XG4gKi9cbmZ1bmN0aW9uIHBhcnNlRmllbGQoZmllbGQsIGZpZWxkU3BlYywgZXhwcmVzc2lvbikge1xuICBjb25zdCByZXN1bHQgPSBuZXcgU2V0KClcblxuICBmb3IgKGNvbnN0IHBhcnQgb2YgZmllbGQuc3BsaXQoXCIsXCIpKSB7XG4gICAgYWRkUGFydFZhbHVlcyhwYXJ0LCBmaWVsZFNwZWMsIGV4cHJlc3Npb24sIHJlc3VsdClcbiAgfVxuXG4gIHJldHVybiByZXN1bHRcbn1cblxuLyoqXG4gKiBSdW5zIGFkZCBwYXJ0IHZhbHVlcy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBwYXJ0IC0gU2luZ2xlIGNvbW1hLXNlcGFyYXRlZCBjaHVuay5cbiAqIEBwYXJhbSB7e25hbWU6IHN0cmluZywgbWluOiBudW1iZXIsIG1heDogbnVtYmVyLCBuYW1lcz86IHN0cmluZ1tdfX0gZmllbGRTcGVjIC0gRmllbGQgc3BlYy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBleHByZXNzaW9uIC0gT3JpZ2luYWwgZXhwcmVzc2lvbiBmb3IgZXJyb3JzLlxuICogQHBhcmFtIHtTZXQ8bnVtYmVyPn0gcmVzdWx0IC0gQWNjdW11bGF0b3IuXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gYWRkUGFydFZhbHVlcyhwYXJ0LCBmaWVsZFNwZWMsIGV4cHJlc3Npb24sIHJlc3VsdCkge1xuICBpZiAoIXBhcnQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgJHtmaWVsZFNwZWMubmFtZX0gZmllbGQgaW4gY3JvbiBleHByZXNzaW9uIFwiJHtleHByZXNzaW9ufVwiYClcbiAgfVxuXG4gIGNvbnN0IFtyYW5nZVBhcnQsIHN0ZXBQYXJ0XSA9IHBhcnQuc3BsaXQoXCIvXCIpXG4gIGNvbnN0IHN0ZXAgPSBzdGVwUGFydCA9PT0gdW5kZWZpbmVkID8gMSA6IHBhcnNlU3RlcChzdGVwUGFydCwgZmllbGRTcGVjLCBleHByZXNzaW9uKVxuICBjb25zdCBbc3RhcnQsIGVuZF0gPSBwYXJzZVJhbmdlKHJhbmdlUGFydCwgZmllbGRTcGVjLCBleHByZXNzaW9uLCBzdGVwUGFydCAhPT0gdW5kZWZpbmVkKVxuXG4gIGZvciAobGV0IHZhbHVlID0gc3RhcnQ7IHZhbHVlIDw9IGVuZDsgdmFsdWUgKz0gc3RlcCkge1xuICAgIGlmICh2YWx1ZSA8IGZpZWxkU3BlYy5taW4gfHwgdmFsdWUgPiBmaWVsZFNwZWMubWF4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFZhbHVlICR7dmFsdWV9IG91dCBvZiByYW5nZSBmb3IgJHtmaWVsZFNwZWMubmFtZX0gaW4gY3JvbiBleHByZXNzaW9uIFwiJHtleHByZXNzaW9ufVwiYClcbiAgICB9XG5cbiAgICByZXN1bHQuYWRkKHZhbHVlKVxuICB9XG59XG5cbi8qKlxuICogUnVucyBwYXJzZSBzdGVwLlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIC0gU3RlcCB2YWx1ZS5cbiAqIEBwYXJhbSB7e25hbWU6IHN0cmluZywgbWluOiBudW1iZXIsIG1heDogbnVtYmVyfX0gZmllbGRTcGVjIC0gRmllbGQgc3BlYy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBleHByZXNzaW9uIC0gT3JpZ2luYWwgZXhwcmVzc2lvbiBmb3IgZXJyb3JzLlxuICogQHJldHVybnMge251bWJlcn1cbiAqL1xuZnVuY3Rpb24gcGFyc2VTdGVwKHZhbHVlLCBmaWVsZFNwZWMsIGV4cHJlc3Npb24pIHtcbiAgY29uc3Qgc3RlcCA9IE51bWJlcih2YWx1ZSlcblxuICBpZiAoIU51bWJlci5pc0ludGVnZXIoc3RlcCkgfHwgc3RlcCA8PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHN0ZXAgXCIke3ZhbHVlfVwiIGZvciAke2ZpZWxkU3BlYy5uYW1lfSBpbiBjcm9uIGV4cHJlc3Npb24gXCIke2V4cHJlc3Npb259XCJgKVxuICB9XG5cbiAgcmV0dXJuIHN0ZXBcbn1cblxuLyoqXG4gKiBSdW5zIHBhcnNlIHJhbmdlLlxuICogQHBhcmFtIHtzdHJpbmd9IHJhbmdlUGFydCAtIFJhbmdlIHBvcnRpb24gKGJlZm9yZSA/IGAvYCkuXG4gKiBAcGFyYW0ge3tuYW1lOiBzdHJpbmcsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlciwgbmFtZXM/OiBzdHJpbmdbXX19IGZpZWxkU3BlYyAtIEZpZWxkIHNwZWMuXG4gKiBAcGFyYW0ge3N0cmluZ30gZXhwcmVzc2lvbiAtIE9yaWdpbmFsIGV4cHJlc3Npb24gZm9yIGVycm9ycy5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaGFzU3RlcCAtIFdoZXRoZXIgdGhlIHBhcnQgaGFkIGEgYC9zdGVwYCBzdWZmaXguXG4gKiBAcmV0dXJucyB7W251bWJlciwgbnVtYmVyXX1cbiAqL1xuZnVuY3Rpb24gcGFyc2VSYW5nZShyYW5nZVBhcnQsIGZpZWxkU3BlYywgZXhwcmVzc2lvbiwgaGFzU3RlcCkge1xuICBpZiAocmFuZ2VQYXJ0ID09PSBcIipcIikge1xuICAgIHJldHVybiBbZmllbGRTcGVjLm1pbiwgZmllbGRTcGVjLm1heF1cbiAgfVxuXG4gIGNvbnN0IGRhc2hJbmRleCA9IHJhbmdlUGFydC5pbmRleE9mKFwiLVwiKVxuXG4gIGlmIChkYXNoSW5kZXggPT09IC0xKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJzZVZhbHVlKHJhbmdlUGFydCwgZmllbGRTcGVjLCBleHByZXNzaW9uKVxuXG4gICAgLy8gYE4vc3RlcGAgaXMgc2hvcnRoYW5kIGZvciBgTi1tYXgvc3RlcGAgKFZpeGllIGNyb24pLlxuICAgIHJldHVybiBbdmFsdWUsIGhhc1N0ZXAgPyBmaWVsZFNwZWMubWF4IDogdmFsdWVdXG4gIH1cblxuICBjb25zdCBzdGFydCA9IHBhcnNlVmFsdWUocmFuZ2VQYXJ0LnNsaWNlKDAsIGRhc2hJbmRleCksIGZpZWxkU3BlYywgZXhwcmVzc2lvbilcbiAgY29uc3QgZW5kID0gcGFyc2VWYWx1ZShyYW5nZVBhcnQuc2xpY2UoZGFzaEluZGV4ICsgMSksIGZpZWxkU3BlYywgZXhwcmVzc2lvbilcblxuICBpZiAoc3RhcnQgPiBlbmQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFJhbmdlIHN0YXJ0ICR7c3RhcnR9ID4gZW5kICR7ZW5kfSBmb3IgJHtmaWVsZFNwZWMubmFtZX0gaW4gY3JvbiBleHByZXNzaW9uIFwiJHtleHByZXNzaW9ufVwiYClcbiAgfVxuXG4gIHJldHVybiBbc3RhcnQsIGVuZF1cbn1cblxuLyoqXG4gKiBSdW5zIHBhcnNlIHZhbHVlLlxuICogQHBhcmFtIHtzdHJpbmd9IHJhd1ZhbHVlIC0gUmF3IHZhbHVlIChtYXkgYmUgYSBuYW1lKS5cbiAqIEBwYXJhbSB7e25hbWU6IHN0cmluZywgbWluOiBudW1iZXIsIG1heDogbnVtYmVyLCBuYW1lcz86IHN0cmluZ1tdfX0gZmllbGRTcGVjIC0gRmllbGQgc3BlYy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBleHByZXNzaW9uIC0gT3JpZ2luYWwgZXhwcmVzc2lvbiBmb3IgZXJyb3JzLlxuICogQHJldHVybnMge251bWJlcn1cbiAqL1xuZnVuY3Rpb24gcGFyc2VWYWx1ZShyYXdWYWx1ZSwgZmllbGRTcGVjLCBleHByZXNzaW9uKSB7XG4gIGlmICghcmF3VmFsdWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgJHtmaWVsZFNwZWMubmFtZX0gdmFsdWUgaW4gY3JvbiBleHByZXNzaW9uIFwiJHtleHByZXNzaW9ufVwiYClcbiAgfVxuXG4gIGNvbnN0IG5hbWVkSW5kZXggPSBmaWVsZFNwZWMubmFtZXM/LmluZGV4T2YocmF3VmFsdWUpXG5cbiAgaWYgKHR5cGVvZiBuYW1lZEluZGV4ID09PSBcIm51bWJlclwiICYmIG5hbWVkSW5kZXggIT09IC0xKSB7XG4gICAgcmV0dXJuIG5hbWVkSW5kZXggKyBmaWVsZFNwZWMubWluXG4gIH1cblxuICBjb25zdCB2YWx1ZSA9IE51bWJlcihyYXdWYWx1ZSlcblxuICBpZiAoIU51bWJlci5pc0ludGVnZXIodmFsdWUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkICR7ZmllbGRTcGVjLm5hbWV9IHZhbHVlIFwiJHtyYXdWYWx1ZX1cIiBpbiBjcm9uIGV4cHJlc3Npb24gXCIke2V4cHJlc3Npb259XCJgKVxuICB9XG5cbiAgcmV0dXJuIHZhbHVlXG59XG5cbi8vIDUgeWVhcnMgb2YgbWludXRlcyDigJQgY292ZXJzIHRoZSB3b3JzdC1jYXNlIGxlZ2l0aW1hdGUgZ2FwLCB0aGVcbi8vIGAwIDAgMjkgMiAqYCAoRmViIDI5KSBsZWFwLXllYXItb25seSBzY2hlZHVsZSwgd2l0aCBhIG9uZS15ZWFyXG4vLyBidWZmZXIgc28gd2UgbmV2ZXIgcmVwb3J0IGEgcmVhbCBjcm9uIHBhdHRlcm4gYXMgXCJuZXZlciBtYXRjaGVzXCIuXG5jb25zdCBNQVhfTkVYVF9GSVJFX0lURVJBVElPTlMgPSA1ICogMzY2ICogMjQgKiA2MFxuXG4vKipcbiAqIFJldHVybnMgdGhlIG5leHQgRGF0ZSBzdHJpY3RseSBhZnRlciBgZnJvbWAgdGhhdCBzYXRpc2ZpZXMgYHBhcnNlZGAuXG4gKiBPcGVyYXRlcyBhdCBtaW51dGUgZ3JhbnVsYXJpdHkuIEJhaWxzIG91dCB3aXRoIGFuIGVycm9yIGFmdGVyIGZpdmVcbiAqIHllYXJzIG9mIHNlYXJjaCwgd2hpY2ggb25seSBoYXBwZW5zIGlmIHRoZSBleHByZXNzaW9uIG1hdGNoZXMgbm9cbiAqIHJlYWwgdGltZSAoZS5nLiwgYDAgMCAzMSAyICpgIOKAlCBGZWIgMzFzdCkuXG4gKiBAcGFyYW0ge1BhcnNlZENyb259IHBhcnNlZCAtIFBhcnNlZCBjcm9uIGV4cHJlc3Npb24uXG4gKiBAcGFyYW0ge0RhdGV9IGZyb20gLSBSZWZlcmVuY2UgRGF0ZSDigJQgdGhlIG5leHQgbWF0Y2ggaXMgc3RyaWN0bHkgYWZ0ZXIgdGhpcy5cbiAqIEByZXR1cm5zIHtEYXRlfVxuICovXG5leHBvcnQgZnVuY3Rpb24gbmV4dENyb25GaXJlRGF0ZShwYXJzZWQsIGZyb20pIHtcbiAgY29uc3QgY2FuZGlkYXRlID0gbmV3IERhdGUoZnJvbS5nZXRUaW1lKCkpXG5cbiAgY2FuZGlkYXRlLnNldFNlY29uZHMoMCwgMClcbiAgY2FuZGlkYXRlLnNldE1pbnV0ZXMoY2FuZGlkYXRlLmdldE1pbnV0ZXMoKSArIDEpXG5cbiAgZm9yIChsZXQgaXRlcmF0aW9ucyA9IDA7IGl0ZXJhdGlvbnMgPCBNQVhfTkVYVF9GSVJFX0lURVJBVElPTlM7IGl0ZXJhdGlvbnMgKz0gMSkge1xuICAgIGlmIChjYW5kaWRhdGVNYXRjaGVzKGNhbmRpZGF0ZSwgcGFyc2VkKSkgcmV0dXJuIGNhbmRpZGF0ZVxuXG4gICAgY2FuZGlkYXRlLnNldE1pbnV0ZXMoY2FuZGlkYXRlLmdldE1pbnV0ZXMoKSArIDEpXG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoYENyb24gZXhwcmVzc2lvbiBcIiR7cGFyc2VkLmV4cHJlc3Npb259XCIgbmV2ZXIgbWF0Y2hlc2ApXG59XG5cbi8qKlxuICogUnVucyBjYW5kaWRhdGUgbWF0Y2hlcy5cbiAqIEBwYXJhbSB7RGF0ZX0gY2FuZGlkYXRlIC0gQ2FuZGlkYXRlIERhdGUgKGluIGxvY2FsIHRpbWUpLlxuICogQHBhcmFtIHtQYXJzZWRDcm9ufSBwYXJzZWQgLSBQYXJzZWQgZXhwcmVzc2lvbi5cbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBjYW5kaWRhdGVNYXRjaGVzKGNhbmRpZGF0ZSwgcGFyc2VkKSB7XG4gIGlmICghcGFyc2VkLm1pbnV0ZS5oYXMoY2FuZGlkYXRlLmdldE1pbnV0ZXMoKSkpIHJldHVybiBmYWxzZVxuICBpZiAoIXBhcnNlZC5ob3VyLmhhcyhjYW5kaWRhdGUuZ2V0SG91cnMoKSkpIHJldHVybiBmYWxzZVxuICBpZiAoIXBhcnNlZC5tb250aC5oYXMoY2FuZGlkYXRlLmdldE1vbnRoKCkgKyAxKSkgcmV0dXJuIGZhbHNlXG5cbiAgY29uc3QgZGF5T2ZNb250aE1hdGNoID0gcGFyc2VkLmRheU9mTW9udGguaGFzKGNhbmRpZGF0ZS5nZXREYXRlKCkpXG4gIGNvbnN0IGRheU9mV2Vla01hdGNoID0gcGFyc2VkLmRheU9mV2Vlay5oYXMoY2FuZGlkYXRlLmdldERheSgpKVxuXG4gIC8vIFBPU0lYL1ZpeGllIGNyb24gT1Igc2VtYW50aWNzOiB3aGVuIGJvdGggZGF5IGZpZWxkcyBhcmVcbiAgLy8gcmVzdHJpY3RlZCwgZmlyZSB3aGVuIEVJVEhFUiBtYXRjaGVzLiBXaGVuIG9ubHkgb25lIGlzXG4gIC8vIHJlc3RyaWN0ZWQsIG9ubHkgdGhhdCBvbmUgYXBwbGllcy5cbiAgaWYgKHBhcnNlZC5kYXlPZk1vbnRoUmVzdHJpY3RlZCAmJiBwYXJzZWQuZGF5T2ZXZWVrUmVzdHJpY3RlZCkge1xuICAgIHJldHVybiBkYXlPZk1vbnRoTWF0Y2ggfHwgZGF5T2ZXZWVrTWF0Y2hcbiAgfVxuXG4gIGlmIChwYXJzZWQuZGF5T2ZNb250aFJlc3RyaWN0ZWQpIHJldHVybiBkYXlPZk1vbnRoTWF0Y2hcbiAgaWYgKHBhcnNlZC5kYXlPZldlZWtSZXN0cmljdGVkKSByZXR1cm4gZGF5T2ZXZWVrTWF0Y2hcblxuICByZXR1cm4gdHJ1ZVxufVxuIl19
|
|
236
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvbi1leHByZXNzaW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2tncm91bmQtam9icy9jcm9uLWV4cHJlc3Npb24uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaOzs7Ozs7Ozs7OztHQVdHO0FBRUgsTUFBTSxXQUFXLEdBQUcsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFBO0FBQ3hHLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFFbkUsTUFBTSxTQUFTLEdBQUc7SUFDaEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsUUFBUSxFQUFFLFdBQVc7SUFDckIsV0FBVyxFQUFFLFdBQVc7SUFDeEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsVUFBVSxFQUFFLFdBQVc7SUFDdkIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsV0FBVyxFQUFFLFdBQVc7Q0FDekIsQ0FBQTtBQUVELE1BQU0sTUFBTSxHQUFHO0lBQ2IsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBQztJQUNqQyxFQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFDO0lBQy9CLEVBQUMsSUFBSSxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUM7SUFDckMsRUFBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUs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QU0sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO0lBRS9ELDBEQUEwRDtJQUMxRCx5REFBeUQ7SUFDekQscUNBQXFDO0lBQ3JDLElBQUksTUFBTSxDQUFDLG9CQUFvQixJQUFJLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQzlELE9BQU8sZUFBZSxJQUFJLGNBQWMsQ0FBQTtJQUMxQyxDQUFDO0lBRUQsSUFBSSxNQUFNLENBQUMsb0JBQW9CO1FBQUUsT0FBTyxlQUFlLENBQUE7SUFDdkQsSUFBSSxNQUFNLENBQUMsbUJBQW1CO1FBQUUsT0FBTyxjQUFjLENBQUE7SUFFckQsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogTWluaW1hbCBQT1NJWC1zdHlsZSA1LWZpZWxkIGNyb24gcGFyc2VyIHVzZWQgYnkgdGhlIGJhY2tncm91bmQtam9iXG4gKiBzY2hlZHVsZXIuIFN1cHBvcnRzIGAqYCwgc2luZ2xlIHZhbHVlcywgcmFuZ2VzIChgTi1NYCksIHN0ZXBzXG4gKiAoYCpcXC9OYCBvciBgTi1NL05gKSwgY29tbWEtc2VwYXJhdGVkIGxpc3RzLCBhbmQgdGhlIGNvbW1vblxuICogYEBob3VybHlgL2BAZGFpbHlgL2BAd2Vla2x5YC9gQG1vbnRobHlgL2BAeWVhcmx5YC9gQG1pZG5pZ2h0YFxuICogc2hvcnRjdXRzLiBNb250aCBhbmQgZGF5LW9mLXdlZWsgbmFtZXMgKGBqYW5gLWBkZWNgLCBgc3VuYC1gc2F0YCxcbiAqIGNhc2UtaW5zZW5zaXRpdmUpIGFyZSBhbHNvIGFjY2VwdGVkLlxuICpcbiAqIEZvciBkYXktb2YtbW9udGggKyBkYXktb2Ytd2VlayBpbnRlcmFjdGlvbiwgZm9sbG93cyBQT1NJWC9WaXhpZVxuICogY3JvbiBzZW1hbnRpY3M6IHdoZW4gYm90aCBmaWVsZHMgYXJlIHJlc3RyaWN0ZWQgKG5laXRoZXIgYCpgKSwgdGhlXG4gKiBqb2IgZmlyZXMgd2hlbiBFSVRIRVIgbWF0Y2hlcy4gV2hlbiBvbmUgaXMgYCpgIGl0IGhhcyBubyBlZmZlY3QuXG4gKi9cblxuY29uc3QgTU9OVEhfTkFNRVMgPSBbXCJqYW5cIiwgXCJmZWJcIiwgXCJtYXJcIiwgXCJhcHJcIiwgXCJtYXlcIiwgXCJqdW5cIiwgXCJqdWxcIiwgXCJhdWdcIiwgXCJzZXBcIiwgXCJvY3RcIiwgXCJub3ZcIiwgXCJkZWNcIl1cbmNvbnN0IERBWV9OQU1FUyA9IFtcInN1blwiLCBcIm1vblwiLCBcInR1ZVwiLCBcIndlZFwiLCBcInRodVwiLCBcImZyaVwiLCBcInNhdFwiXVxuXG5jb25zdCBTSE9SVENVVFMgPSB7XG4gIFwiQGhvdXJseVwiOiBcIjAgKiAqICogKlwiLFxuICBcIkBkYWlseVwiOiBcIjAgMCAqICogKlwiLFxuICBcIkBtaWRuaWdodFwiOiBcIjAgMCAqICogKlwiLFxuICBcIkB3ZWVrbHlcIjogXCIwIDAgKiAqIDBcIixcbiAgXCJAbW9udGhseVwiOiBcIjAgMCAxICogKlwiLFxuICBcIkB5ZWFybHlcIjogXCIwIDAgMSAxICpcIixcbiAgXCJAYW5udWFsbHlcIjogXCIwIDAgMSAxICpcIlxufVxuXG5jb25zdCBGSUVMRFMgPSBbXG4gIHtuYW1lOiBcIm1pbnV0ZVwiLCBtaW46IDAsIG1heDogNTl9LFxuICB7bmFtZTogXCJob3VyXCIsIG1pbjogMCwgbWF4OiAyM30sXG4gIHtuYW1lOiBcImRheU9mTW9udGhcIiwgbWluOiAxLCBtYXg6IDMxfSxcbiAge25hbWU6IFwibW9udGhcIiwgbWluOiAxLCBtYXg6IDEyLCBuYW1lczogTU9OVEhfTkFNRVN9LFxuICAvLyBBY2NlcHQgMC03IHNvIHJhbmdlcyBsaWtlIGA1LTdgIChGcmktU3VuKSB3b3JrOyB3ZSBub3JtYWxpemUgN1xuICAvLyBkb3duIHRvIDAgYWZ0ZXIgcGFyc2luZyBpbiBgbm9ybWFsaXplRGF5T2ZXZWVrYCBiZWxvdy5cbiAge25hbWU6IFwiZGF5T2ZXZWVrXCIsIG1pbjogMCwgbWF4OiA3LCBuYW1lczogREFZX05BTUVTfVxuXVxuXG4vKipcbiAqIFBhcnNlZENyb24gdHlwZS5cbiAqIEB0eXBlZGVmIHtvYmplY3R9IFBhcnNlZENyb25cbiAqIEBwcm9wZXJ0eSB7U2V0PG51bWJlcj59IG1pbnV0ZSAtIEFsbG93ZWQgbWludXRlIHZhbHVlcyAoMC01OSkuXG4gKiBAcHJvcGVydHkge1NldDxudW1iZXI+fSBob3VyIC0gQWxsb3dlZCBob3VyIHZhbHVlcyAoMC0yMykuXG4gKiBAcHJvcGVydHkge1NldDxudW1iZXI+fSBkYXlPZk1vbnRoIC0gQWxsb3dlZCBkYXktb2YtbW9udGggdmFsdWVzICgxLTMxKS5cbiAqIEBwcm9wZXJ0eSB7U2V0PG51bWJlcj59IG1vbnRoIC0gQWxsb3dlZCBtb250aCB2YWx1ZXMgKDEtMTIpLlxuICogQHByb3BlcnR5IHtTZXQ8bnVtYmVyPn0gZGF5T2ZXZWVrIC0gQWxsb3dlZCBkYXktb2Ytd2VlayB2YWx1ZXMgKDAtNiwgMD1TdW4pLlxuICogQHByb3BlcnR5IHtib29sZWFufSBkYXlPZk1vbnRoUmVzdHJpY3RlZCAtIFRydWUgd2hlbiB0aGUgZGF5T2ZNb250aCBmaWVsZCBpcyBub3QgYD9gLlxuICogQHByb3BlcnR5IHtib29sZWFufSBkYXlPZldlZWtSZXN0cmljdGVkIC0gVHJ1ZSB3aGVuIHRoZSBkYXlPZldlZWsgZmllbGQgaXMgbm90IGA/YC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBleHByZXNzaW9uIC0gT3JpZ2luYWwgZXhwcmVzc2lvbiBmb3IgZGlhZ25vc3RpY3MuXG4gKi9cblxuLyoqXG4gKiBSdW5zIHRoZSBwYXJzZUNyb25FeHByZXNzaW9uIGhlbHBlci5cbiAqIEBwYXJhbSB7c3RyaW5nfSBleHByZXNzaW9uIC0gQ3JvbiBleHByZXNzaW9uIG9yIHNob3J0Y3V0LlxuICogQHJldHVybnMge1BhcnNlZENyb259XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUNyb25FeHByZXNzaW9uKGV4cHJlc3Npb24pIHtcbiAgaWYgKHR5cGVvZiBleHByZXNzaW9uICE9PSBcInN0cmluZ1wiIHx8ICFleHByZXNzaW9uLnRyaW0oKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBjcm9uIGV4cHJlc3Npb246ICR7ZXhwcmVzc2lvbn1gKVxuICB9XG5cbiAgY29uc3QgdHJpbW1lZCA9IGV4cHJlc3Npb24udHJpbSgpLnRvTG93ZXJDYXNlKClcbiAgY29uc3QgZXhwYW5kZWQgPSBTSE9SVENVVFNbLyoqIEB0eXBlIHtrZXlvZiB0eXBlb2YgU0hPUlRDVVRTfSAqLyAodHJpbW1lZCldIHx8IHRyaW1tZWRcbiAgY29uc3QgZmllbGRzID0gZXhwYW5kZWQuc3BsaXQoL1xccysvKVxuXG4gIGlmIChmaWVsZHMubGVuZ3RoICE9PSA1KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGNyb24gZXhwcmVzc2lvbiBcIiR7ZXhwcmVzc2lvbn1cIjogZXhwZWN0ZWQgNSBmaWVsZHMsIGdvdCAke2ZpZWxkcy5sZW5ndGh9YClcbiAgfVxuXG4gIGNvbnN0IFttaW51dGVGaWVsZCwgaG91ckZpZWxkLCBkYXlPZk1vbnRoRmllbGQsIG1vbnRoRmllbGQsIGRheU9mV2Vla0ZpZWxkXSA9IGZpZWxkc1xuICBjb25zdCBwYXJzZWQgPSB7XG4gICAgbWludXRlOiBwYXJzZUZpZWxkKG1pbnV0ZUZpZWxkLCBGSUVMRFNbMF0sIGV4cHJlc3Npb24pLFxuICAgIGhvdXI6IHBhcnNlRmllbGQoaG91ckZpZWxkLCBGSUVMRFNbMV0sIGV4cHJlc3Npb24pLFxuICAgIGRheU9mTW9udGg6IHBhcnNlRmllbGQoZGF5T2ZNb250aEZpZWxkLCBGSUVMRFNbMl0sIGV4cHJlc3Npb24pLFxuICAgIG1vbnRoOiBwYXJzZUZpZWxkKG1vbnRoRmllbGQsIEZJRUxEU1szXSwgZXhwcmVzc2lvbiksXG4gICAgLy8gQ3JvbiB0cmVhdHMgYm90aCAwIGFuZCA3IGFzIFN1bmRheS4gV2UgYWNjZXB0IDcgdGhyb3VnaG91dCB0aGVcbiAgICAvLyBwYXJzZSBwYXNzIChzbyBgNS03YCBmb3IgRnJpLVN1biB3b3JrcykgYW5kIHRoZW4gbm9ybWFsaXplIGFueVxuICAgIC8vIDdzIGRvd24gdG8gMCBzbyB0aGUgbWF0Y2hlciBvbmx5IGRlYWxzIHdpdGggMC02LlxuICAgIGRheU9mV2Vlazogbm9ybWFsaXplRGF5T2ZXZWVrKHBhcnNlRmllbGQoZGF5T2ZXZWVrRmllbGQsIEZJRUxEU1s0XSwgZXhwcmVzc2lvbikpLFxuICAgIGRheU9mTW9udGhSZXN0cmljdGVkOiBkYXlPZk1vbnRoRmllbGQgIT09IFwiKlwiLFxuICAgIGRheU9mV2Vla1Jlc3RyaWN0ZWQ6IGRheU9mV2Vla0ZpZWxkICE9PSBcIipcIixcbiAgICBleHByZXNzaW9uXG4gIH1cblxuICByZXR1cm4gcGFyc2VkXG59XG5cbi8qKlxuICogUnVucyBub3JtYWxpemUgZGF5IG9mIHdlZWsuXG4gKiBAcGFyYW0ge1NldDxudW1iZXI+fSBkYXlPZldlZWtcbiAqIEByZXR1cm5zIHtTZXQ8bnVtYmVyPn1cbiAqL1xuZnVuY3Rpb24gbm9ybWFsaXplRGF5T2ZXZWVrKGRheU9mV2Vlaykge1xuICBpZiAoZGF5T2ZXZWVrLmhhcyg3KSkge1xuICAgIGRheU9mV2Vlay5kZWxldGUoNylcbiAgICBkYXlPZldlZWsuYWRkKDApXG4gIH1cblxuICByZXR1cm4gZGF5T2ZXZWVrXG59XG5cbi8qKlxuICogUnVucyBwYXJzZSBmaWVsZC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBmaWVsZCAtIEZpZWxkIGV4cHJlc3Npb24uXG4gKiBAcGFyYW0ge3tuYW1lOiBzdHJpbmcsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlciwgbmFtZXM/OiBzdHJpbmdbXX19IGZpZWxkU3BlYyAtIEZpZWxkIHNwZWMuXG4gKiBAcGFyYW0ge3N0cmluZ30gZXhwcmVzc2lvbiAtIFdob2xlIGNyb24gZXhwcmVzc2lvbiBmb3IgZXJyb3IgbWVzc2FnZXMuXG4gKiBAcmV0dXJucyB7U2V0PG51bWJlcj59XG4gKi9cbmZ1bmN0aW9uIHBhcnNlRmllbGQoZmllbGQsIGZpZWxkU3BlYywgZXhwcmVzc2lvbikge1xuICBjb25zdCByZXN1bHQgPSBuZXcgU2V0KClcblxuICBmb3IgKGNvbnN0IHBhcnQgb2YgZmllbGQuc3BsaXQoXCIsXCIpKSB7XG4gICAgYWRkUGFydFZhbHVlcyhwYXJ0LCBmaWVsZFNwZWMsIGV4cHJlc3Npb24sIHJlc3VsdClcbiAgfVxuXG4gIHJldHVybiByZXN1bHRcbn1cblxuLyoqXG4gKiBSdW5zIGFkZCBwYXJ0IHZhbHVlcy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBwYXJ0IC0gU2luZ2xlIGNvbW1hLXNlcGFyYXRlZCBjaHVuay5cbiAqIEBwYXJhbSB7e25hbWU6IHN0cmluZywgbWluOiBudW1iZXIsIG1heDogbnVtYmVyLCBuYW1lcz86IHN0cmluZ1tdfX0gZmllbGRTcGVjIC0gRmllbGQgc3BlYy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBleHByZXNzaW9uIC0gT3JpZ2luYWwgZXhwcmVzc2lvbiBmb3IgZXJyb3JzLlxuICogQHBhcmFtIHtTZXQ8bnVtYmVyPn0gcmVzdWx0IC0gQWNjdW11bGF0b3IuXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gYWRkUGFydFZhbHVlcyhwYXJ0LCBmaWVsZFNwZWMsIGV4cHJlc3Npb24sIHJlc3VsdCkge1xuICBpZiAoIXBhcnQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgJHtmaWVsZFNwZWMubmFtZX0gZmllbGQgaW4gY3JvbiBleHByZXNzaW9uIFwiJHtleHByZXNzaW9ufVwiYClcbiAgfVxuXG4gIGNvbnN0IFtyYW5nZVBhcnQsIHN0ZXBQYXJ0XSA9IHBhcnQuc3BsaXQoXCIvXCIpXG4gIGNvbnN0IHN0ZXAgPSBzdGVwUGFydCA9PT0gdW5kZWZpbmVkID8gMSA6IHBhcnNlU3RlcChzdGVwUGFydCwgZmllbGRTcGVjLCBleHByZXNzaW9uKVxuICBjb25zdCBbc3RhcnQsIGVuZF0gPSBwYXJzZVJhbmdlKHJhbmdlUGFydCwgZmllbGRTcGVjLCBleHByZXNzaW9uLCBzdGVwUGFydCAhPT0gdW5kZWZpbmVkKVxuXG4gIGZvciAobGV0IHZhbHVlID0gc3RhcnQ7IHZhbHVlIDw9IGVuZDsgdmFsdWUgKz0gc3RlcCkge1xuICAgIGlmICh2YWx1ZSA8IGZpZWxkU3BlYy5taW4gfHwgdmFsdWUgPiBmaWVsZFNwZWMubWF4KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFZhbHVlICR7dmFsdWV9IG91dCBvZiByYW5nZSBmb3IgJHtmaWVsZFNwZWMubmFtZX0gaW4gY3JvbiBleHByZXNzaW9uIFwiJHtleHByZXNzaW9ufVwiYClcbiAgICB9XG5cbiAgICByZXN1bHQuYWRkKHZhbHVlKVxuICB9XG59XG5cbi8qKlxuICogUnVucyBwYXJzZSBzdGVwLlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlIC0gU3RlcCB2YWx1ZS5cbiAqIEBwYXJhbSB7e25hbWU6IHN0cmluZywgbWluOiBudW1iZXIsIG1heDogbnVtYmVyfX0gZmllbGRTcGVjIC0gRmllbGQgc3BlYy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBleHByZXNzaW9uIC0gT3JpZ2luYWwgZXhwcmVzc2lvbiBmb3IgZXJyb3JzLlxuICogQHJldHVybnMge251bWJlcn1cbiAqL1xuZnVuY3Rpb24gcGFyc2VTdGVwKHZhbHVlLCBmaWVsZFNwZWMsIGV4cHJlc3Npb24pIHtcbiAgY29uc3Qgc3RlcCA9IE51bWJlcih2YWx1ZSlcblxuICBpZiAoIU51bWJlci5pc0ludGVnZXIoc3RlcCkgfHwgc3RlcCA8PSAwKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHN0ZXAgXCIke3ZhbHVlfVwiIGZvciAke2ZpZWxkU3BlYy5uYW1lfSBpbiBjcm9uIGV4cHJlc3Npb24gXCIke2V4cHJlc3Npb259XCJgKVxuICB9XG5cbiAgcmV0dXJuIHN0ZXBcbn1cblxuLyoqXG4gKiBSdW5zIHBhcnNlIHJhbmdlLlxuICogQHBhcmFtIHtzdHJpbmd9IHJhbmdlUGFydCAtIFJhbmdlIHBvcnRpb24gKGJlZm9yZSA/IGAvYCkuXG4gKiBAcGFyYW0ge3tuYW1lOiBzdHJpbmcsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlciwgbmFtZXM/OiBzdHJpbmdbXX19IGZpZWxkU3BlYyAtIEZpZWxkIHNwZWMuXG4gKiBAcGFyYW0ge3N0cmluZ30gZXhwcmVzc2lvbiAtIE9yaWdpbmFsIGV4cHJlc3Npb24gZm9yIGVycm9ycy5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaGFzU3RlcCAtIFdoZXRoZXIgdGhlIHBhcnQgaGFkIGEgYC9zdGVwYCBzdWZmaXguXG4gKiBAcmV0dXJucyB7W251bWJlciwgbnVtYmVyXX1cbiAqL1xuZnVuY3Rpb24gcGFyc2VSYW5nZShyYW5nZVBhcnQsIGZpZWxkU3BlYywgZXhwcmVzc2lvbiwgaGFzU3RlcCkge1xuICBpZiAocmFuZ2VQYXJ0ID09PSBcIipcIikge1xuICAgIHJldHVybiBbZmllbGRTcGVjLm1pbiwgZmllbGRTcGVjLm1heF1cbiAgfVxuXG4gIGNvbnN0IGRhc2hJbmRleCA9IHJhbmdlUGFydC5pbmRleE9mKFwiLVwiKVxuXG4gIGlmIChkYXNoSW5kZXggPT09IC0xKSB7XG4gICAgY29uc3QgdmFsdWUgPSBwYXJzZVZhbHVlKHJhbmdlUGFydCwgZmllbGRTcGVjLCBleHByZXNzaW9uKVxuXG4gICAgLy8gYE4vc3RlcGAgaXMgc2hvcnRoYW5kIGZvciBgTi1tYXgvc3RlcGAgKFZpeGllIGNyb24pLlxuICAgIHJldHVybiBbdmFsdWUsIGhhc1N0ZXAgPyBmaWVsZFNwZWMubWF4IDogdmFsdWVdXG4gIH1cblxuICBjb25zdCBzdGFydCA9IHBhcnNlVmFsdWUocmFuZ2VQYXJ0LnNsaWNlKDAsIGRhc2hJbmRleCksIGZpZWxkU3BlYywgZXhwcmVzc2lvbilcbiAgY29uc3QgZW5kID0gcGFyc2VWYWx1ZShyYW5nZVBhcnQuc2xpY2UoZGFzaEluZGV4ICsgMSksIGZpZWxkU3BlYywgZXhwcmVzc2lvbilcblxuICBpZiAoc3RhcnQgPiBlbmQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFJhbmdlIHN0YXJ0ICR7c3RhcnR9ID4gZW5kICR7ZW5kfSBmb3IgJHtmaWVsZFNwZWMubmFtZX0gaW4gY3JvbiBleHByZXNzaW9uIFwiJHtleHByZXNzaW9ufVwiYClcbiAgfVxuXG4gIHJldHVybiBbc3RhcnQsIGVuZF1cbn1cblxuLyoqXG4gKiBSdW5zIHBhcnNlIHZhbHVlLlxuICogQHBhcmFtIHtzdHJpbmd9IHJhd1ZhbHVlIC0gUmF3IHZhbHVlIChtYXkgYmUgYSBuYW1lKS5cbiAqIEBwYXJhbSB7e25hbWU6IHN0cmluZywgbWluOiBudW1iZXIsIG1heDogbnVtYmVyLCBuYW1lcz86IHN0cmluZ1tdfX0gZmllbGRTcGVjIC0gRmllbGQgc3BlYy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBleHByZXNzaW9uIC0gT3JpZ2luYWwgZXhwcmVzc2lvbiBmb3IgZXJyb3JzLlxuICogQHJldHVybnMge251bWJlcn1cbiAqL1xuZnVuY3Rpb24gcGFyc2VWYWx1ZShyYXdWYWx1ZSwgZmllbGRTcGVjLCBleHByZXNzaW9uKSB7XG4gIGlmICghcmF3VmFsdWUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgJHtmaWVsZFNwZWMubmFtZX0gdmFsdWUgaW4gY3JvbiBleHByZXNzaW9uIFwiJHtleHByZXNzaW9ufVwiYClcbiAgfVxuXG4gIGNvbnN0IG5hbWVkSW5kZXggPSBmaWVsZFNwZWMubmFtZXM/LmluZGV4T2YocmF3VmFsdWUpXG5cbiAgaWYgKHR5cGVvZiBuYW1lZEluZGV4ID09PSBcIm51bWJlclwiICYmIG5hbWVkSW5kZXggIT09IC0xKSB7XG4gICAgcmV0dXJuIG5hbWVkSW5kZXggKyBmaWVsZFNwZWMubWluXG4gIH1cblxuICBjb25zdCB2YWx1ZSA9IE51bWJlcihyYXdWYWx1ZSlcblxuICBpZiAoIU51bWJlci5pc0ludGVnZXIodmFsdWUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkICR7ZmllbGRTcGVjLm5hbWV9IHZhbHVlIFwiJHtyYXdWYWx1ZX1cIiBpbiBjcm9uIGV4cHJlc3Npb24gXCIke2V4cHJlc3Npb259XCJgKVxuICB9XG5cbiAgcmV0dXJuIHZhbHVlXG59XG5cbi8vIDUgeWVhcnMgb2YgbWludXRlcyDigJQgY292ZXJzIHRoZSB3b3JzdC1jYXNlIGxlZ2l0aW1hdGUgZ2FwLCB0aGVcbi8vIGAwIDAgMjkgMiAqYCAoRmViIDI5KSBsZWFwLXllYXItb25seSBzY2hlZHVsZSwgd2l0aCBhIG9uZS15ZWFyXG4vLyBidWZmZXIgc28gd2UgbmV2ZXIgcmVwb3J0IGEgcmVhbCBjcm9uIHBhdHRlcm4gYXMgXCJuZXZlciBtYXRjaGVzXCIuXG5jb25zdCBNQVhfTkVYVF9GSVJFX0lURVJBVElPTlMgPSA1ICogMzY2ICogMjQgKiA2MFxuXG4vKipcbiAqIFJldHVybnMgdGhlIG5leHQgRGF0ZSBzdHJpY3RseSBhZnRlciBgZnJvbWAgdGhhdCBzYXRpc2ZpZXMgYHBhcnNlZGAuXG4gKiBPcGVyYXRlcyBhdCBtaW51dGUgZ3JhbnVsYXJpdHkuIEJhaWxzIG91dCB3aXRoIGFuIGVycm9yIGFmdGVyIGZpdmVcbiAqIHllYXJzIG9mIHNlYXJjaCwgd2hpY2ggb25seSBoYXBwZW5zIGlmIHRoZSBleHByZXNzaW9uIG1hdGNoZXMgbm9cbiAqIHJlYWwgdGltZSAoZS5nLiwgYDAgMCAzMSAyICpgIOKAlCBGZWIgMzFzdCkuXG4gKiBAcGFyYW0ge1BhcnNlZENyb259IHBhcnNlZCAtIFBhcnNlZCBjcm9uIGV4cHJlc3Npb24uXG4gKiBAcGFyYW0ge0RhdGV9IGZyb20gLSBSZWZlcmVuY2UgRGF0ZSDigJQgdGhlIG5leHQgbWF0Y2ggaXMgc3RyaWN0bHkgYWZ0ZXIgdGhpcy5cbiAqIEByZXR1cm5zIHtEYXRlfVxuICovXG5leHBvcnQgZnVuY3Rpb24gbmV4dENyb25GaXJlRGF0ZShwYXJzZWQsIGZyb20pIHtcbiAgY29uc3QgY2FuZGlkYXRlID0gbmV3IERhdGUoZnJvbS5nZXRUaW1lKCkpXG5cbiAgY2FuZGlkYXRlLnNldFNlY29uZHMoMCwgMClcbiAgY2FuZGlkYXRlLnNldE1pbnV0ZXMoY2FuZGlkYXRlLmdldE1pbnV0ZXMoKSArIDEpXG5cbiAgZm9yIChsZXQgaXRlcmF0aW9ucyA9IDA7IGl0ZXJhdGlvbnMgPCBNQVhfTkVYVF9GSVJFX0lURVJBVElPTlM7IGl0ZXJhdGlvbnMgKz0gMSkge1xuICAgIGlmIChjYW5kaWRhdGVNYXRjaGVzKGNhbmRpZGF0ZSwgcGFyc2VkKSkgcmV0dXJuIGNhbmRpZGF0ZVxuXG4gICAgY2FuZGlkYXRlLnNldE1pbnV0ZXMoY2FuZGlkYXRlLmdldE1pbnV0ZXMoKSArIDEpXG4gIH1cblxuICB0aHJvdyBuZXcgRXJyb3IoYENyb24gZXhwcmVzc2lvbiBcIiR7cGFyc2VkLmV4cHJlc3Npb259XCIgbmV2ZXIgbWF0Y2hlc2ApXG59XG5cbi8qKlxuICogUnVucyBjYW5kaWRhdGUgbWF0Y2hlcy5cbiAqIEBwYXJhbSB7RGF0ZX0gY2FuZGlkYXRlIC0gQ2FuZGlkYXRlIERhdGUgKGluIGxvY2FsIHRpbWUpLlxuICogQHBhcmFtIHtQYXJzZWRDcm9ufSBwYXJzZWQgLSBQYXJzZWQgZXhwcmVzc2lvbi5cbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBjYW5kaWRhdGVNYXRjaGVzKGNhbmRpZGF0ZSwgcGFyc2VkKSB7XG4gIGlmICghcGFyc2VkLm1pbnV0ZS5oYXMoY2FuZGlkYXRlLmdldE1pbnV0ZXMoKSkpIHJldHVybiBmYWxzZVxuICBpZiAoIXBhcnNlZC5ob3VyLmhhcyhjYW5kaWRhdGUuZ2V0SG91cnMoKSkpIHJldHVybiBmYWxzZVxuICBpZiAoIXBhcnNlZC5tb250aC5oYXMoY2FuZGlkYXRlLmdldE1vbnRoKCkgKyAxKSkgcmV0dXJuIGZhbHNlXG5cbiAgY29uc3QgZGF5T2ZNb250aE1hdGNoID0gcGFyc2VkLmRheU9mTW9udGguaGFzKGNhbmRpZGF0ZS5nZXREYXRlKCkpXG4gIGNvbnN0IGRheU9mV2Vla01hdGNoID0gcGFyc2VkLmRheU9mV2Vlay5oYXMoY2FuZGlkYXRlLmdldERheSgpKVxuXG4gIC8vIFBPU0lYL1ZpeGllIGNyb24gT1Igc2VtYW50aWNzOiB3aGVuIGJvdGggZGF5IGZpZWxkcyBhcmVcbiAgLy8gcmVzdHJpY3RlZCwgZmlyZSB3aGVuIEVJVEhFUiBtYXRjaGVzLiBXaGVuIG9ubHkgb25lIGlzXG4gIC8vIHJlc3RyaWN0ZWQsIG9ubHkgdGhhdCBvbmUgYXBwbGllcy5cbiAgaWYgKHBhcnNlZC5kYXlPZk1vbnRoUmVzdHJpY3RlZCAmJiBwYXJzZWQuZGF5T2ZXZWVrUmVzdHJpY3RlZCkge1xuICAgIHJldHVybiBkYXlPZk1vbnRoTWF0Y2ggfHwgZGF5T2ZXZWVrTWF0Y2hcbiAgfVxuXG4gIGlmIChwYXJzZWQuZGF5T2ZNb250aFJlc3RyaWN0ZWQpIHJldHVybiBkYXlPZk1vbnRoTWF0Y2hcbiAgaWYgKHBhcnNlZC5kYXlPZldlZWtSZXN0cmljdGVkKSByZXR1cm4gZGF5T2ZXZWVrTWF0Y2hcblxuICByZXR1cm4gdHJ1ZVxufVxuIl19
|
|
@@ -9,9 +9,7 @@ let finishing = false;
|
|
|
9
9
|
function isJobMessage(message) {
|
|
10
10
|
if (!message || typeof message !== "object")
|
|
11
11
|
return false;
|
|
12
|
-
const messageRecord = /**
|
|
13
|
-
* Narrows the runtime value to the documented type.
|
|
14
|
-
* @type {{type?: ?, payload?: ?}} */ (message);
|
|
12
|
+
const messageRecord = /** @type {{type?: ?, payload?: ?}} */ (message);
|
|
15
13
|
return messageRecord.type === "job" && Object.hasOwn(messageRecord, "payload");
|
|
16
14
|
}
|
|
17
15
|
/**
|
|
@@ -73,4 +71,4 @@ process.once("disconnect", () => {
|
|
|
73
71
|
process.once("message", (message) => {
|
|
74
72
|
void handleJobMessage(message);
|
|
75
73
|
});
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ya2VkLXJ1bm5lci1jaGlsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYWNrZ3JvdW5kLWpvYnMvZm9ya2VkLXJ1bm5lci1jaGlsZC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVosT0FBTyxhQUFhLE1BQU0saUJBQWlCLENBQUE7QUFFM0MsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFBO0FBRXJCOzs7O0dBSUc7QUFDSCxTQUFTLFlBQVksQ0FBQyxPQUFPO0lBQzNCLElBQUksQ0FBQyxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUTtRQUFFLE9BQU8sS0FBSyxDQUFBO0lBRXpELE1BQU0sYUFBYSxHQUFHLHNDQUFzQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7SUFFdEUsT0FBTyxhQUFhLENBQUMsSUFBSSxLQUFLLEtBQUssSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQTtBQUNoRixDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILFNBQVMsTUFBTSxDQUFDLFFBQVE7SUFDdEIsU0FBUyxHQUFHLElBQUksQ0FBQTtJQUNoQixPQUFPLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQTtJQUUzQixJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzVDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQTtJQUN0QixDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtBQUM1QyxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxpQkFBaUI7SUFDeEIsSUFBSSxPQUFPLENBQUMsSUFBSTtRQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBQyxJQUFJLEVBQUUsY0FBYyxFQUFDLENBQUMsQ0FBQTtBQUN4RCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILEtBQUssVUFBVSxhQUFhLENBQUMsT0FBTztJQUNsQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyx1REFBdUQsQ0FBQyxDQUFBO0lBQzFFLENBQUM7SUFFRCxNQUFNLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUE7QUFDdEMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxLQUFLLFVBQVUsZ0JBQWdCLENBQUMsT0FBTztJQUNyQyxJQUFJLENBQUM7UUFDSCxNQUFNLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtRQUM1QixpQkFBaUIsRUFBRSxDQUFBO1FBQ25CLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNYLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsaUJBQWlCLEVBQUUsQ0FBQTtRQUNuQixPQUFPLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxFQUFFLEtBQUssQ0FBQyxDQUFBO1FBQzVELE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUNYLENBQUM7QUFDSCxDQUFDO0FBRUQsS0FBSyxNQUFNLE1BQU0sSUFBSSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQzNDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUM3QyxDQUFDO0FBRUQsT0FBTyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO0lBQzlCLElBQUksQ0FBQyxTQUFTO1FBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNqQyxDQUFDLENBQUMsQ0FBQTtBQUVGLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUU7SUFDbEMsS0FBSyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQTtBQUNoQyxDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgcnVuSm9iUGF5bG9hZCBmcm9tIFwiLi9qb2ItcnVubmVyLmpzXCJcblxubGV0IGZpbmlzaGluZyA9IGZhbHNlXG5cbi8qKlxuICogUnVucyBpcyBqb2IgbWVzc2FnZS5cbiAqIEBwYXJhbSB7P30gbWVzc2FnZSAtIElQQyBtZXNzYWdlLlxuICogQHJldHVybnMge21lc3NhZ2UgaXMge3R5cGU6IFwiam9iXCIsIHBheWxvYWQ6IGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYlBheWxvYWR9fSAtIFdoZXRoZXIgdGhpcyBpcyBhIGpvYiBtZXNzYWdlLlxuICovXG5mdW5jdGlvbiBpc0pvYk1lc3NhZ2UobWVzc2FnZSkge1xuICBpZiAoIW1lc3NhZ2UgfHwgdHlwZW9mIG1lc3NhZ2UgIT09IFwib2JqZWN0XCIpIHJldHVybiBmYWxzZVxuXG4gIGNvbnN0IG1lc3NhZ2VSZWNvcmQgPSAvKiogQHR5cGUge3t0eXBlPzogPywgcGF5bG9hZD86ID99fSAqLyAobWVzc2FnZSlcblxuICByZXR1cm4gbWVzc2FnZVJlY29yZC50eXBlID09PSBcImpvYlwiICYmIE9iamVjdC5oYXNPd24obWVzc2FnZVJlY29yZCwgXCJwYXlsb2FkXCIpXG59XG5cbi8qKlxuICogUnVucyBmaW5pc2guXG4gKiBAcGFyYW0ge251bWJlcn0gZXhpdENvZGUgLSBQcm9jZXNzIGV4aXQgY29kZS5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5mdW5jdGlvbiBmaW5pc2goZXhpdENvZGUpIHtcbiAgZmluaXNoaW5nID0gdHJ1ZVxuICBwcm9jZXNzLmV4aXRDb2RlID0gZXhpdENvZGVcblxuICBpZiAocHJvY2Vzcy5jb25uZWN0ZWQgJiYgcHJvY2Vzcy5kaXNjb25uZWN0KSB7XG4gICAgcHJvY2Vzcy5kaXNjb25uZWN0KClcbiAgfVxuXG4gIHNldEltbWVkaWF0ZSgoKSA9PiBwcm9jZXNzLmV4aXQoZXhpdENvZGUpKVxufVxuXG4vKipcbiAqIFJ1bnMgcmVwb3J0IGpvYiBmaW5pc2hlZC5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5mdW5jdGlvbiByZXBvcnRKb2JGaW5pc2hlZCgpIHtcbiAgaWYgKHByb2Nlc3Muc2VuZCkgcHJvY2Vzcy5zZW5kKHt0eXBlOiBcImpvYi1yZXBvcnRlZFwifSlcbn1cblxuLyoqXG4gKiBSdW5zIHJ1biBqb2IgbWVzc2FnZS5cbiAqIEBwYXJhbSB7P30gbWVzc2FnZSAtIElQQyBtZXNzYWdlLlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgYWZ0ZXIgdGhlIHBheWxvYWQgaGFzIHJ1bi5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gcnVuSm9iTWVzc2FnZShtZXNzYWdlKSB7XG4gIGlmICghaXNKb2JNZXNzYWdlKG1lc3NhZ2UpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRm9ya2VkIGJhY2tncm91bmQgam9iIHJ1bm5lciByZWNlaXZlZCBpbnZhbGlkIHBheWxvYWRcIilcbiAgfVxuXG4gIGF3YWl0IHJ1bkpvYlBheWxvYWQobWVzc2FnZS5wYXlsb2FkKVxufVxuXG4vKipcbiAqIFJ1bnMgaGFuZGxlIGpvYiBtZXNzYWdlLlxuICogQHBhcmFtIHs/fSBtZXNzYWdlIC0gSVBDIG1lc3NhZ2UuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyBhZnRlciBjb21wbGV0aW9uIGlzIHJlcG9ydGVkLlxuICovXG5hc3luYyBmdW5jdGlvbiBoYW5kbGVKb2JNZXNzYWdlKG1lc3NhZ2UpIHtcbiAgdHJ5IHtcbiAgICBhd2FpdCBydW5Kb2JNZXNzYWdlKG1lc3NhZ2UpXG4gICAgcmVwb3J0Sm9iRmluaXNoZWQoKVxuICAgIGZpbmlzaCgwKVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHJlcG9ydEpvYkZpbmlzaGVkKClcbiAgICBjb25zb2xlLmVycm9yKFwiRm9ya2VkIGJhY2tncm91bmQgam9iIHJ1bm5lciBmYWlsZWQ6XCIsIGVycm9yKVxuICAgIGZpbmlzaCgxKVxuICB9XG59XG5cbmZvciAoY29uc3Qgc2lnbmFsIG9mIFtcIlNJR1RFUk1cIiwgXCJTSUdJTlRcIl0pIHtcbiAgcHJvY2Vzcy5vbmNlKHNpZ25hbCwgKCkgPT4gcHJvY2Vzcy5leGl0KDEpKVxufVxuXG5wcm9jZXNzLm9uY2UoXCJkaXNjb25uZWN0XCIsICgpID0+IHtcbiAgaWYgKCFmaW5pc2hpbmcpIHByb2Nlc3MuZXhpdCgwKVxufSlcblxucHJvY2Vzcy5vbmNlKFwibWVzc2FnZVwiLCAobWVzc2FnZSkgPT4ge1xuICB2b2lkIGhhbmRsZUpvYk1lc3NhZ2UobWVzc2FnZSlcbn0pXG4iXX0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/job.js"],"names":[],"mappings":"AAIA;IACE;;;OAGG;IACH,kBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,6BAHc,OAAC,EAAA,GACF,OAAO,CAAC,MAAM,CAAC,CAW3B;IAED;;;;;;OAMG;IACH,kDAJG;QAAuB,IAAI,EAAnB,KAAK,CAAC,OAAC,CAAC;QACyC,OAAO;KAChE,GAAU,OAAO,CAAC,MAAM,CAAC,CAU3B;IAED;;;;OAIG;IACH,kCAHW,KAAK,CAAC,OAAC,CAAC,GACN;QAAC,OAAO,EAAE,KAAK,CAAC,OAAC,CAAC,CAAC;QAAC,UAAU,EAAE,OAAO,YAAY,EAAE,oBAAoB,CAAA;KAAC,
|
|
1
|
+
{"version":3,"file":"job.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/job.js"],"names":[],"mappings":"AAIA;IACE;;;OAGG;IACH,kBAFa,MAAM,CAIlB;IAED;;;;OAIG;IACH,6BAHc,OAAC,EAAA,GACF,OAAO,CAAC,MAAM,CAAC,CAW3B;IAED;;;;;;OAMG;IACH,kDAJG;QAAuB,IAAI,EAAnB,KAAK,CAAC,OAAC,CAAC;QACyC,OAAO;KAChE,GAAU,OAAO,CAAC,MAAM,CAAC,CAU3B;IAED;;;;OAIG;IACH,kCAHW,KAAK,CAAC,OAAC,CAAC,GACN;QAAC,OAAO,EAAE,KAAK,CAAC,OAAC,CAAC,CAAC;QAAC,UAAU,EAAE,OAAO,YAAY,EAAE,oBAAoB,CAAA;KAAC,CAgBtF;IAED;;;OAGG;IACH,WAFa,OAAO,CAAC,IAAI,CAAC,CAIzB;CACF"}
|
|
@@ -49,9 +49,7 @@ export default class VelociousJob {
|
|
|
49
49
|
const lastArg = args[args.length - 1];
|
|
50
50
|
const isOptionsArg = lastArg && typeof lastArg === "object" && !Array.isArray(lastArg) && "jobOptions" in lastArg;
|
|
51
51
|
if (isOptionsArg) {
|
|
52
|
-
const { jobOptions } = /**
|
|
53
|
-
* Narrows the runtime value to the documented type.
|
|
54
|
-
* @type {{jobOptions: import("./types.js").BackgroundJobOptions}} */ (lastArg);
|
|
52
|
+
const { jobOptions } = /** @type {{jobOptions: import("./types.js").BackgroundJobOptions}} */ (lastArg);
|
|
55
53
|
return { jobArgs: args.slice(0, -1), jobOptions: jobOptions || {} };
|
|
56
54
|
}
|
|
57
55
|
return { jobArgs: args, jobOptions: {} };
|
|
@@ -64,4 +62,4 @@ export default class VelociousJob {
|
|
|
64
62
|
throw new Error("perform not implemented");
|
|
65
63
|
}
|
|
66
64
|
}
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9iLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2tncm91bmQtam9icy9qb2IuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sb0JBQW9CLE1BQU0sYUFBYSxDQUFBO0FBRTlDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sWUFBWTtJQUMvQjs7O09BR0c7SUFDSCxNQUFNLENBQUMsT0FBTztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQTtJQUNsQixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEdBQUcsSUFBSTtRQUMvQixNQUFNLEVBQUMsT0FBTyxFQUFFLFVBQVUsRUFBQyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3RCxNQUFNLE1BQU0sR0FBRyxJQUFJLG9CQUFvQixFQUFFLENBQUE7UUFFekMsT0FBTyxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUM7WUFDMUIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDdkIsSUFBSSxFQUFFLE9BQU87WUFDYixPQUFPLEVBQUUsVUFBVTtTQUNwQixDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUM7UUFDbEQsTUFBTSxNQUFNLEdBQUcsSUFBSSxvQkFBb0IsRUFBRSxDQUFBO1FBRXpDLE9BQU8sTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQzFCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ3ZCLElBQUk7WUFDSixPQUFPO1NBQ1IsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsb0JBQW9CLENBQUMsSUFBSTtRQUM5QixJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdEIsT0FBTyxFQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBQyxDQUFBO1FBQ3RDLENBQUM7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQTtRQUNyQyxNQUFNLFlBQVksR0FBRyxPQUFPLElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxZQUFZLElBQUksT0FBTyxDQUFBO1FBRWpILElBQUksWUFBWSxFQUFFLENBQUM7WUFDakIsTUFBTSxFQUFDLFVBQVUsRUFBQyxHQUFHLHNFQUFzRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUE7WUFDckcsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxVQUFVLElBQUksRUFBRSxFQUFDLENBQUE7UUFDbkUsQ0FBQztRQUVELE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUMsQ0FBQTtJQUN4QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLE9BQU87UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUE7SUFDNUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBCYWNrZ3JvdW5kSm9ic0NsaWVudCBmcm9tIFwiLi9jbGllbnQuanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBWZWxvY2lvdXNKb2Ige1xuICAvKipcbiAgICogUnVucyBqb2IgbmFtZS5cbiAgICogQHJldHVybnMge3N0cmluZ30gLSBKb2IgbmFtZS5cbiAgICovXG4gIHN0YXRpYyBqb2JOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLm5hbWVcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHBlcmZvcm0gbGF0ZXIuXG4gICAqIEBwYXJhbSB7Li4uP30gYXJncyAtIEpvYiBhcmdzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmc+fSAtIEpvYiBpZC5cbiAgICovXG4gIHN0YXRpYyBhc3luYyBwZXJmb3JtTGF0ZXIoLi4uYXJncykge1xuICAgIGNvbnN0IHtqb2JBcmdzLCBqb2JPcHRpb25zfSA9IHRoaXMuX3NwbGl0QXJnc0FuZE9wdGlvbnMoYXJncylcbiAgICBjb25zdCBjbGllbnQgPSBuZXcgQmFja2dyb3VuZEpvYnNDbGllbnQoKVxuXG4gICAgcmV0dXJuIGF3YWl0IGNsaWVudC5lbnF1ZXVlKHtcbiAgICAgIGpvYk5hbWU6IHRoaXMuam9iTmFtZSgpLFxuICAgICAgYXJnczogam9iQXJncyxcbiAgICAgIG9wdGlvbnM6IGpvYk9wdGlvbnNcbiAgICB9KVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcGVyZm9ybSBsYXRlciB3aXRoIG9wdGlvbnMuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucy5cbiAgICogQHBhcmFtIHtBcnJheTw/Pn0gYXJncy5hcmdzIC0gSm9iIGFyZ3MuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iT3B0aW9uc30gW2FyZ3Mub3B0aW9uc10gLSBKb2Igb3B0aW9ucy5cbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gLSBKb2IgaWQuXG4gICAqL1xuICBzdGF0aWMgYXN5bmMgcGVyZm9ybUxhdGVyV2l0aE9wdGlvbnMoe2FyZ3MsIG9wdGlvbnN9KSB7XG4gICAgY29uc3QgY2xpZW50ID0gbmV3IEJhY2tncm91bmRKb2JzQ2xpZW50KClcblxuICAgIHJldHVybiBhd2FpdCBjbGllbnQuZW5xdWV1ZSh7XG4gICAgICBqb2JOYW1lOiB0aGlzLmpvYk5hbWUoKSxcbiAgICAgIGFyZ3MsXG4gICAgICBvcHRpb25zXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIHNwbGl0IGFyZ3MgYW5kIG9wdGlvbnMuXG4gICAqIEBwYXJhbSB7QXJyYXk8Pz59IGFyZ3MgLSBKb2IgYXJncy5cbiAgICogQHJldHVybnMge3tqb2JBcmdzOiBBcnJheTw/Piwgam9iT3B0aW9uczogaW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iT3B0aW9uc319IC0gU3BsaXQgYXJncyBhbmQgb3B0aW9ucy5cbiAgICovXG4gIHN0YXRpYyBfc3BsaXRBcmdzQW5kT3B0aW9ucyhhcmdzKSB7XG4gICAgaWYgKGFyZ3MubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4ge2pvYkFyZ3M6IFtdLCBqb2JPcHRpb25zOiB7fX1cbiAgICB9XG5cbiAgICBjb25zdCBsYXN0QXJnID0gYXJnc1thcmdzLmxlbmd0aCAtIDFdXG4gICAgY29uc3QgaXNPcHRpb25zQXJnID0gbGFzdEFyZyAmJiB0eXBlb2YgbGFzdEFyZyA9PT0gXCJvYmplY3RcIiAmJiAhQXJyYXkuaXNBcnJheShsYXN0QXJnKSAmJiBcImpvYk9wdGlvbnNcIiBpbiBsYXN0QXJnXG5cbiAgICBpZiAoaXNPcHRpb25zQXJnKSB7XG4gICAgICBjb25zdCB7am9iT3B0aW9uc30gPSAvKiogQHR5cGUge3tqb2JPcHRpb25zOiBpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JPcHRpb25zfX0gKi8gKGxhc3RBcmcpXG4gICAgICByZXR1cm4ge2pvYkFyZ3M6IGFyZ3Muc2xpY2UoMCwgLTEpLCBqb2JPcHRpb25zOiBqb2JPcHRpb25zIHx8IHt9fVxuICAgIH1cblxuICAgIHJldHVybiB7am9iQXJnczogYXJncywgam9iT3B0aW9uczoge319XG4gIH1cblxuICAvKipcbiAgICogT3ZlcnJpZGUgaW4gc3ViY2xhc3Nlcy5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIHBlcmZvcm0oKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwicGVyZm9ybSBub3QgaW1wbGVtZW50ZWRcIilcbiAgfVxufVxuIl19
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/scheduler.js"],"names":[],"mappings":"AAuBA;;+DAE+D;AAE/D;;;;;GAKG;AACH,8CAJW,MAAM,GAAG,MAAM,aACf,MAAM,GACJ,MAAM,
|
|
1
|
+
{"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/scheduler.js"],"names":[],"mappings":"AAuBA;;+DAE+D;AAE/D;;;;;GAKG;AACH,8CAJW,MAAM,GAAG,MAAM,aACf,MAAM,GACJ,MAAM,CA8BlB;AAED,0DAA0D;AAC1D;IACE;;;;;OAKG;IACH,2CAHG;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO;QAC6H,UAAU,EAA5K,CAAS,IAAiI,EAAjI;YAAC,IAAI,EAAE,KAAK,CAAC,OAAC,CAAC,CAAC;YAAC,QAAQ,EAAE,cAAc,UAAU,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,YAAY,EAAE,oBAAoB,CAAA;SAAC,KAAI,OAAO,CAAC,IAAI,CAAC;KACrK,EAkBA;IAhBC,qDAAkC;IAClC,mBAJkB;QAAC,IAAI,EAAE,KAAK,CAAC,OAAC,CAAC,CAAC;QAAC,QAAQ,EAAE,cAAc,UAAU,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,YAAY,EAAE,oBAAoB,CAAA;KAAC,KAAI,OAAO,CAAC,IAAI,CAAC,CAIxI;IAC5B,eAA8B;IAC9B;;uDAEmD;IACnD,aADU,KAAK,CAAC,UAAU,CAAC,OAAO,WAAW,CAAC,CAAC,CAC1B;IACrB;;sDAEkD;IAClD,YADU,KAAK,CAAC,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAC1B;IACpB;;;OAGG;IACH,SAFU,OAAO,CAEG;IAGtB;;kCAE8B;IAC9B,SADa,OAAO,CAAC,IAAI,CAAC,CAmBzB;IAED;;yBAEqB;IACrB,QADa,IAAI,CAchB;IAED;;;;;;OAMG;IACH,0CAJG;QAAsF,gBAAgB,EAA9F,OAAO,2BAA2B,EAAE,mCAAmC;QAC1D,MAAM,EAAnB,MAAM;KACd,GAAU,IAAI,CAsBhB;IAED;;;;;;OAMG;IACH,+CAJG;QAAsF,gBAAgB,EAA9F,OAAO,2BAA2B,EAAE,mCAAmC;QAC1D,MAAM,EAAnB,MAAM;KACd,GAAU,IAAI,CAuBhB;IAED;;;;;;;;;OASG;IACH,8CAJG;QAAsF,gBAAgB,EAA9F,OAAO,2BAA2B,EAAE,mCAAmC;QAC1D,MAAM,EAAnB,MAAM;KACd,GAAU,IAAI,CA+BhB;IAED;;;;;;OAMG;IACH,kDAJG;QAAsF,gBAAgB,EAA9F,OAAO,2BAA2B,EAAE,mCAAmC;QAC1D,MAAM,EAAnB,MAAM;KACd,GAAU,OAAO,CAAC,IAAI,CAAC,CAazB;IAED;;;;OAIG;IACH,sBAHW,WAAW,CAAC,OAAO,2BAA2B,EAAE,mCAAmC,CAAC,OAAO,CAAC,CAAC,GAC3F;QAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;KAAC,CAczE;CACF;;;;2BApPY,MAAM,OAAO,oBAAoB;mBAvB3B,cAAc"}
|