@warlock.js/core 4.0.135 → 4.0.137
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/esm/benchmark/benchmark-snapshots.d.ts +47 -0
- package/esm/benchmark/benchmark-snapshots.d.ts.map +1 -0
- package/esm/benchmark/benchmark-snapshots.js +77 -0
- package/esm/benchmark/benchmark-snapshots.js.map +1 -0
- package/esm/benchmark/benchmark.d.ts +25 -0
- package/esm/benchmark/benchmark.d.ts.map +1 -0
- package/esm/benchmark/benchmark.example.d.ts +2 -0
- package/esm/benchmark/benchmark.example.d.ts.map +1 -0
- package/esm/benchmark/benchmark.js +120 -0
- package/esm/benchmark/benchmark.js.map +1 -0
- package/esm/benchmark/channels/console.channel.d.ts +14 -0
- package/esm/benchmark/channels/console.channel.d.ts.map +1 -0
- package/esm/benchmark/channels/console.channel.js +29 -0
- package/esm/benchmark/channels/console.channel.js.map +1 -0
- package/esm/benchmark/channels/index.d.ts +3 -0
- package/esm/benchmark/channels/index.d.ts.map +1 -0
- package/esm/benchmark/channels/noop.channel.d.ts +5 -0
- package/esm/benchmark/channels/noop.channel.d.ts.map +1 -0
- package/esm/benchmark/channels/noop.channel.js +3 -0
- package/esm/benchmark/channels/noop.channel.js.map +1 -0
- package/esm/benchmark/index.d.ts +7 -0
- package/esm/benchmark/index.d.ts.map +1 -0
- package/esm/benchmark/profiler.d.ts +63 -0
- package/esm/benchmark/profiler.d.ts.map +1 -0
- package/esm/benchmark/profiler.js +155 -0
- package/esm/benchmark/profiler.js.map +1 -0
- package/esm/benchmark/types.d.ts +167 -0
- package/esm/benchmark/types.d.ts.map +1 -0
- package/esm/cli/cli-commands.manager.js +1 -1
- package/esm/cli/cli-commands.manager.js.map +1 -1
- package/esm/cli/commands/dev-server.command.js +1 -1
- package/esm/cli/commands/dev-server.command.js.map +1 -1
- package/esm/cli/commands/drop-tables.command.d.ts +2 -0
- package/esm/cli/commands/drop-tables.command.d.ts.map +1 -0
- package/esm/cli/commands/drop-tables.command.js +17 -0
- package/esm/cli/commands/drop-tables.command.js.map +1 -0
- package/esm/cli/commands/generate/generate.command.d.ts.map +1 -1
- package/esm/cli/commands/generate/generate.command.js +1 -0
- package/esm/cli/commands/generate/generate.command.js.map +1 -1
- package/esm/cli/commands/generate/generators/controller.generator.js +6 -6
- package/esm/cli/commands/generate/generators/controller.generator.js.map +1 -1
- package/esm/cli/commands/generate/generators/module.generator.d.ts.map +1 -1
- package/esm/cli/commands/generate/generators/module.generator.js +6 -5
- package/esm/cli/commands/generate/generators/module.generator.js.map +1 -1
- package/esm/cli/commands/generate/generators/validation.generator.js +11 -11
- package/esm/cli/commands/generate/generators/validation.generator.js.map +1 -1
- package/esm/cli/commands/generate/templates/stubs.d.ts +6 -3
- package/esm/cli/commands/generate/templates/stubs.d.ts.map +1 -1
- package/esm/cli/commands/generate/templates/stubs.js +37 -25
- package/esm/cli/commands/generate/templates/stubs.js.map +1 -1
- package/esm/cli/commands/generate/utils/prompt.js +21 -0
- package/esm/cli/commands/generate/utils/prompt.js.map +1 -0
- package/esm/cli/commands/seed.command.d.ts.map +1 -1
- package/esm/cli/commands/seed.command.js +9 -2
- package/esm/cli/commands/seed.command.js.map +1 -1
- package/esm/cli/commands/storage-put.action.d.ts +22 -0
- package/esm/cli/commands/storage-put.action.d.ts.map +1 -0
- package/esm/cli/commands/storage-put.action.js +75 -0
- package/esm/cli/commands/storage-put.action.js.map +1 -0
- package/esm/cli/commands/storage-put.command.d.ts +20 -0
- package/esm/cli/commands/storage-put.command.d.ts.map +1 -0
- package/esm/cli/commands/storage-put.command.js +41 -0
- package/esm/cli/commands/storage-put.command.js.map +1 -0
- package/esm/cli/commands/typings-generator.command.js +1 -1
- package/esm/cli/commands/typings-generator.command.js.map +1 -1
- package/esm/cli/commands-loader.js +1 -1
- package/esm/cli/commands-loader.js.map +1 -1
- package/esm/cli/framework-cli-commands.d.ts.map +1 -1
- package/esm/cli/framework-cli-commands.js +7 -2
- package/esm/cli/framework-cli-commands.js.map +1 -1
- package/esm/cli/types.d.ts +1 -1
- package/esm/cli/types.d.ts.map +1 -1
- package/esm/config/config-getter.d.ts +1 -1
- package/esm/config/config-getter.d.ts.map +1 -1
- package/esm/config/config-getter.js.map +1 -1
- package/esm/config/config-loader.d.ts +1 -1
- package/esm/config/config-loader.d.ts.map +1 -1
- package/esm/config/config-loader.js +1 -1
- package/esm/config/config-loader.js.map +1 -1
- package/esm/config/config-manager.d.ts +1 -1
- package/esm/config/config-manager.d.ts.map +1 -1
- package/esm/config/load-config-files.d.ts.map +1 -1
- package/esm/config/load-config-files.js +1 -1
- package/esm/config/load-config-files.js.map +1 -1
- package/esm/connectors/base-connector.d.ts.map +1 -0
- package/esm/{dev2-server/connectors → connectors}/base-connector.js +1 -1
- package/esm/connectors/base-connector.js.map +1 -0
- package/esm/connectors/cache-connector.d.ts.map +1 -0
- package/esm/connectors/cache-connector.js.map +1 -0
- package/esm/connectors/communicator-connector.d.ts.map +1 -0
- package/esm/connectors/communicator-connector.js.map +1 -0
- package/esm/connectors/connectors-manager.d.ts.map +1 -0
- package/esm/{dev2-server/connectors → connectors}/connectors-manager.js +1 -1
- package/esm/connectors/connectors-manager.js.map +1 -0
- package/esm/connectors/database-connector.d.ts.map +1 -0
- package/esm/connectors/database-connector.js.map +1 -0
- package/esm/{dev2-server/connectors → connectors}/http-connector.d.ts +2 -0
- package/esm/connectors/http-connector.d.ts.map +1 -0
- package/esm/{dev2-server/connectors → connectors}/http-connector.js +18 -4
- package/esm/connectors/http-connector.js.map +1 -0
- package/esm/connectors/index.d.ts.map +1 -0
- package/esm/connectors/storage.connector.d.ts.map +1 -0
- package/esm/{dev2-server/connectors → connectors}/storage.connector.js +1 -1
- package/esm/connectors/storage.connector.js.map +1 -0
- package/esm/connectors/types.d.ts.map +1 -0
- package/esm/connectors/types.js.map +1 -0
- package/esm/database/drop-tables-action.d.ts +3 -0
- package/esm/database/drop-tables-action.d.ts.map +1 -0
- package/esm/database/drop-tables-action.js +29 -0
- package/esm/database/drop-tables-action.js.map +1 -0
- package/esm/database/migrate-action.js +18 -10
- package/esm/database/migrate-action.js.map +1 -1
- package/esm/database/seed-command-action.js +4 -4
- package/esm/database/seed-command-action.js.map +1 -1
- package/esm/database/seeds/seeder.d.ts +4 -0
- package/esm/database/seeds/seeder.d.ts.map +1 -1
- package/esm/database/seeds/seeder.js.map +1 -1
- package/esm/database/seeds/seeders.manager.d.ts +1 -1
- package/esm/database/seeds/seeders.manager.d.ts.map +1 -1
- package/esm/database/seeds/seeders.manager.js +12 -5
- package/esm/database/seeds/seeders.manager.js.map +1 -1
- package/esm/database/utils.d.ts +1 -2
- package/esm/database/utils.d.ts.map +1 -1
- package/esm/database/utils.js +2 -2
- package/esm/database/utils.js.map +1 -1
- package/esm/dev-server/create-worker.d.ts.map +1 -0
- package/esm/dev-server/create-worker.js.map +1 -0
- package/esm/{dev2-server → dev-server}/dependency-graph.d.ts +10 -1
- package/esm/dev-server/dependency-graph.d.ts.map +1 -0
- package/esm/{dev2-server → dev-server}/dependency-graph.js +49 -5
- package/esm/dev-server/dependency-graph.js.map +1 -0
- package/esm/dev-server/dev-logger.d.ts.map +1 -0
- package/esm/dev-server/dev-logger.js.map +1 -0
- package/esm/{dev2-server → dev-server}/development-server.d.ts +8 -0
- package/esm/dev-server/development-server.d.ts.map +1 -0
- package/esm/{dev2-server → dev-server}/development-server.js +57 -7
- package/esm/dev-server/development-server.js.map +1 -0
- package/esm/dev-server/events.d.ts.map +1 -0
- package/esm/dev-server/events.js.map +1 -0
- package/esm/dev-server/export-analyzer.d.ts.map +1 -0
- package/esm/dev-server/export-analyzer.js.map +1 -0
- package/esm/dev-server/file-event-handler.d.ts.map +1 -0
- package/esm/{dev2-server → dev-server}/file-event-handler.js +13 -4
- package/esm/dev-server/file-event-handler.js.map +1 -0
- package/esm/{dev2-server → dev-server}/file-manager.d.ts +10 -1
- package/esm/dev-server/file-manager.d.ts.map +1 -0
- package/esm/{dev2-server → dev-server}/file-manager.js +26 -3
- package/esm/dev-server/file-manager.js.map +1 -0
- package/esm/dev-server/file-operations.d.ts.map +1 -0
- package/esm/dev-server/file-operations.js.map +1 -0
- package/esm/{dev2-server → dev-server}/files-orchestrator.d.ts +7 -1
- package/esm/dev-server/files-orchestrator.d.ts.map +1 -0
- package/esm/{dev2-server → dev-server}/files-orchestrator.js +39 -8
- package/esm/dev-server/files-orchestrator.js.map +1 -0
- package/esm/dev-server/files-watcher.d.ts.map +1 -0
- package/esm/{dev2-server → dev-server}/files-watcher.js +30 -4
- package/esm/dev-server/files-watcher.js.map +1 -0
- package/esm/dev-server/flags.d.ts.map +1 -0
- package/esm/dev-server/flags.js.map +1 -0
- package/esm/dev-server/health-checker/checkers/base-health-checker.d.ts.map +1 -0
- package/esm/dev-server/health-checker/checkers/base-health-checker.js.map +1 -0
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.ts.map +1 -0
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.js.map +1 -0
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.ts.map +1 -0
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.js.map +1 -0
- package/esm/dev-server/health-checker/file-health-checker.contract.d.ts.map +1 -0
- package/esm/dev-server/health-checker/file-health-result.d.ts.map +1 -0
- package/esm/dev-server/health-checker/file-health-result.js.map +1 -0
- package/esm/dev-server/health-checker/files-healthcare.manager.d.ts.map +1 -0
- package/esm/dev-server/health-checker/files-healthcare.manager.js.map +1 -0
- package/esm/dev-server/health-checker/index.d.ts.map +1 -0
- package/esm/dev-server/health-checker/workers/eslint-health.worker.d.ts.map +1 -0
- package/esm/dev-server/health-checker/workers/eslint-health.worker.js.map +1 -0
- package/esm/dev-server/health-checker/workers/ts-health.worker.d.ts.map +1 -0
- package/esm/dev-server/health-checker/workers/ts-health.worker.js.map +1 -0
- package/esm/dev-server/import-deduplicator.d.ts +75 -0
- package/esm/dev-server/import-deduplicator.d.ts.map +1 -0
- package/esm/dev-server/import-deduplicator.js +288 -0
- package/esm/dev-server/import-deduplicator.js.map +1 -0
- package/esm/dev-server/import-deduplicator.test.d.ts +7 -0
- package/esm/dev-server/import-deduplicator.test.d.ts.map +1 -0
- package/esm/dev-server/import-transformer.d.ts.map +1 -0
- package/esm/{dev2-server → dev-server}/import-transformer.js +61 -129
- package/esm/dev-server/import-transformer.js.map +1 -0
- package/esm/{dev2-server → dev-server}/index.d.ts.map +1 -1
- package/esm/{dev2-server → dev-server}/layer-executor.d.ts +5 -2
- package/esm/dev-server/layer-executor.d.ts.map +1 -0
- package/esm/{dev2-server → dev-server}/layer-executor.js +34 -9
- package/esm/dev-server/layer-executor.js.map +1 -0
- package/esm/dev-server/manifest-manager.d.ts.map +1 -0
- package/esm/dev-server/manifest-manager.js.map +1 -0
- package/esm/{dev2-server → dev-server}/module-loader.d.ts +3 -0
- package/esm/dev-server/module-loader.d.ts.map +1 -0
- package/esm/{dev2-server → dev-server}/module-loader.js +9 -5
- package/esm/dev-server/module-loader.js.map +1 -0
- package/esm/dev-server/package-json-manager.d.ts.map +1 -0
- package/esm/dev-server/package-json-manager.js.map +1 -0
- package/esm/dev-server/parse-imports.d.ts +34 -0
- package/esm/dev-server/parse-imports.d.ts.map +1 -0
- package/esm/{dev2-server → dev-server}/parse-imports.js +98 -1
- package/esm/dev-server/parse-imports.js.map +1 -0
- package/esm/dev-server/path.d.ts.map +1 -0
- package/esm/dev-server/path.js.map +1 -0
- package/esm/dev-server/runtime-import-helper.d.ts.map +1 -0
- package/esm/{dev2-server → dev-server}/runtime-import-helper.js +3 -3
- package/esm/dev-server/runtime-import-helper.js.map +1 -0
- package/esm/dev-server/special-files-collector.d.ts.map +1 -0
- package/esm/dev-server/special-files-collector.js.map +1 -0
- package/esm/dev-server/start-development-server.d.ts.map +1 -0
- package/esm/dev-server/start-development-server.js.map +1 -0
- package/esm/dev-server/transpile-file.d.ts.map +1 -0
- package/esm/dev-server/transpile-file.js.map +1 -0
- package/esm/dev-server/tsconfig-manager.d.ts.map +1 -0
- package/esm/dev-server/tsconfig-manager.js.map +1 -0
- package/esm/dev-server/type-generator.d.ts.map +1 -0
- package/esm/dev-server/type-generator.js.map +1 -0
- package/esm/dev-server/types.d.ts.map +1 -0
- package/esm/dev-server/utils.d.ts.map +1 -0
- package/esm/{dev2-server → dev-server}/utils.js +2 -1
- package/esm/dev-server/utils.js.map +1 -0
- package/esm/encryption/encrypt.d.ts +23 -0
- package/esm/encryption/encrypt.d.ts.map +1 -0
- package/esm/encryption/encrypt.js +85 -0
- package/esm/encryption/encrypt.js.map +1 -0
- package/esm/encryption/hash.d.ts +17 -0
- package/esm/encryption/hash.d.ts.map +1 -0
- package/esm/encryption/hash.js +26 -0
- package/esm/encryption/hash.js.map +1 -0
- package/esm/encryption/index.d.ts +5 -0
- package/esm/encryption/index.d.ts.map +1 -0
- package/esm/encryption/password.d.ts +23 -0
- package/esm/encryption/password.d.ts.map +1 -0
- package/esm/encryption/password.js +72 -0
- package/esm/encryption/password.js.map +1 -0
- package/esm/encryption/types.d.ts +51 -0
- package/esm/encryption/types.d.ts.map +1 -0
- package/esm/generations/add-command.action.d.ts.map +1 -1
- package/esm/generations/add-command.action.js +44 -15
- package/esm/generations/add-command.action.js.map +1 -1
- package/esm/http/middleware/inject-request-context.d.ts.map +1 -1
- package/esm/http/middleware/inject-request-context.js +3 -1
- package/esm/http/middleware/inject-request-context.js.map +1 -1
- package/esm/http/request.d.ts +9 -1
- package/esm/http/request.d.ts.map +1 -1
- package/esm/http/request.js +11 -1
- package/esm/http/request.js.map +1 -1
- package/esm/http/response.d.ts.map +1 -1
- package/esm/http/response.js +54 -16
- package/esm/http/response.js.map +1 -1
- package/esm/http/types.d.ts +14 -6
- package/esm/http/types.d.ts.map +1 -1
- package/esm/http/uploaded-file.js +1 -1
- package/esm/index.d.ts +7 -3
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -1
- package/esm/mail/mailer-pool.js +11 -11
- package/esm/mail/send-mail.js +1 -1
- package/esm/mail/send-mail.js.map +1 -1
- package/esm/production/production-builder.js +1 -1
- package/esm/repositories/adapters/cascade/cascade-adapter.js +2 -2
- package/esm/repositories/adapters/cascade/cascade-adapter.js.map +1 -1
- package/esm/repositories/adapters/cascade/cascade-query-builder.d.ts +17 -0
- package/esm/repositories/adapters/cascade/cascade-query-builder.d.ts.map +1 -1
- package/esm/repositories/adapters/cascade/cascade-query-builder.js +39 -25
- package/esm/repositories/adapters/cascade/cascade-query-builder.js.map +1 -1
- package/esm/repositories/adapters/cascade/filter-applicator.d.ts +49 -0
- package/esm/repositories/adapters/cascade/filter-applicator.d.ts.map +1 -1
- package/esm/repositories/adapters/cascade/filter-applicator.js +99 -0
- package/esm/repositories/adapters/cascade/filter-applicator.js.map +1 -1
- package/esm/repositories/contracts/query-builder.contract.d.ts +41 -0
- package/esm/repositories/contracts/query-builder.contract.d.ts.map +1 -1
- package/esm/repositories/contracts/types.d.ts +56 -6
- package/esm/repositories/contracts/types.d.ts.map +1 -1
- package/esm/repositories/repository.manager.d.ts +93 -48
- package/esm/repositories/repository.manager.d.ts.map +1 -1
- package/esm/repositories/repository.manager.js +139 -50
- package/esm/repositories/repository.manager.js.map +1 -1
- package/esm/resource/resource-field-builder.d.ts.map +1 -1
- package/esm/resource/resource-field-builder.js +18 -4
- package/esm/resource/resource-field-builder.js.map +1 -1
- package/esm/resource/resource.d.ts +23 -1
- package/esm/resource/resource.d.ts.map +1 -1
- package/esm/resource/resource.js +56 -3
- package/esm/resource/resource.js.map +1 -1
- package/esm/resource/types.d.ts +12 -2
- package/esm/resource/types.d.ts.map +1 -1
- package/esm/restful/restful.js +1 -1
- package/esm/restful/restful.js.map +1 -1
- package/esm/retry/index.d.ts +3 -0
- package/esm/retry/index.d.ts.map +1 -0
- package/esm/retry/retry.d.ts +21 -0
- package/esm/retry/retry.d.ts.map +1 -0
- package/esm/retry/retry.js +39 -0
- package/esm/retry/retry.js.map +1 -0
- package/esm/retry/types.d.ts +27 -0
- package/esm/retry/types.d.ts.map +1 -0
- package/esm/router/types.d.ts +10 -10
- package/esm/router/types.d.ts.map +1 -1
- package/esm/storage/scoped-storage.d.ts +34 -1
- package/esm/storage/scoped-storage.d.ts.map +1 -1
- package/esm/storage/scoped-storage.js +84 -1
- package/esm/storage/scoped-storage.js.map +1 -1
- package/esm/storage/types.d.ts +53 -0
- package/esm/storage/types.d.ts.map +1 -1
- package/esm/tests/index.d.ts +1 -0
- package/esm/tests/index.d.ts.map +1 -1
- package/esm/tests/start-http-development-server.d.ts +12 -0
- package/esm/tests/start-http-development-server.d.ts.map +1 -1
- package/esm/tests/start-http-development-server.js +66 -6
- package/esm/tests/start-http-development-server.js.map +1 -1
- package/esm/tests/test-helpers.d.ts +43 -0
- package/esm/tests/test-helpers.d.ts.map +1 -0
- package/esm/tests/test-helpers.js +86 -0
- package/esm/tests/test-helpers.js.map +1 -0
- package/esm/tests/vitest-setup.d.ts +1 -1
- package/esm/tests/vitest-setup.d.ts.map +1 -1
- package/esm/tests/vitest-setup.js +1 -1
- package/esm/tests/vitest-setup.js.map +1 -1
- package/esm/use-cases/index.d.ts +7 -0
- package/esm/use-cases/index.d.ts.map +1 -0
- package/esm/use-cases/types.d.ts +267 -0
- package/esm/use-cases/types.d.ts.map +1 -0
- package/esm/use-cases/use-case-events.d.ts +33 -0
- package/esm/use-cases/use-case-events.d.ts.map +1 -0
- package/esm/use-cases/use-case-events.js +65 -0
- package/esm/use-cases/use-case-events.js.map +1 -0
- package/esm/use-cases/use-case-pipeline.d.ts +29 -0
- package/esm/use-cases/use-case-pipeline.d.ts.map +1 -0
- package/esm/use-cases/use-case-pipeline.js +45 -0
- package/esm/use-cases/use-case-pipeline.js.map +1 -0
- package/esm/use-cases/use-case.d.ts +27 -0
- package/esm/use-cases/use-case.d.ts.map +1 -0
- package/esm/use-cases/use-case.errors.d.ts +6 -0
- package/esm/use-cases/use-case.errors.d.ts.map +1 -0
- package/esm/use-cases/use-case.errors.js +8 -0
- package/esm/use-cases/use-case.errors.js.map +1 -0
- package/esm/use-cases/use-case.js +138 -0
- package/esm/use-cases/use-case.js.map +1 -0
- package/esm/use-cases/use-cases-registry.d.ts +38 -0
- package/esm/use-cases/use-cases-registry.d.ts.map +1 -0
- package/esm/use-cases/use-cases-registry.js +92 -0
- package/esm/use-cases/use-cases-registry.js.map +1 -0
- package/esm/validation/database/exists-except-current-id.js +1 -1
- package/esm/validation/database/exists-except-current-user.js +1 -1
- package/esm/validation/database/unique-except-current-id.js +1 -1
- package/esm/validation/database/unique-except-current-user.js +1 -1
- package/esm/validation/init.js.map +1 -1
- package/esm/validation/plugins/database-plugin.d.ts.map +1 -1
- package/esm/validation/plugins/database-plugin.js +18 -30
- package/esm/validation/plugins/database-plugin.js.map +1 -1
- package/esm/validation/plugins/file-plugin.d.ts.map +1 -1
- package/esm/validation/plugins/file-plugin.js.map +1 -1
- package/esm/validation/plugins/localized-plugin.d.ts.map +1 -1
- package/esm/validation/plugins/localized-plugin.js.map +1 -1
- package/esm/validation/validators/file-validator.d.ts +14 -14
- package/esm/validation/validators/file-validator.d.ts.map +1 -1
- package/esm/validation/validators/file-validator.js +26 -27
- package/esm/validation/validators/file-validator.js.map +1 -1
- package/esm/warlock-config/types.d.ts +7 -2
- package/esm/warlock-config/types.d.ts.map +1 -1
- package/esm/warlock-config/warlock-config.manager.js +1 -1
- package/esm/warlock-config/warlock-config.manager.js.map +1 -1
- package/package.json +7 -7
- package/esm/dev2-server/connectors/base-connector.d.ts.map +0 -1
- package/esm/dev2-server/connectors/base-connector.js.map +0 -1
- package/esm/dev2-server/connectors/cache-connector.d.ts.map +0 -1
- package/esm/dev2-server/connectors/cache-connector.js.map +0 -1
- package/esm/dev2-server/connectors/communicator-connector.d.ts.map +0 -1
- package/esm/dev2-server/connectors/communicator-connector.js.map +0 -1
- package/esm/dev2-server/connectors/connectors-manager.d.ts.map +0 -1
- package/esm/dev2-server/connectors/connectors-manager.js.map +0 -1
- package/esm/dev2-server/connectors/database-connector.d.ts.map +0 -1
- package/esm/dev2-server/connectors/database-connector.js.map +0 -1
- package/esm/dev2-server/connectors/http-connector.d.ts.map +0 -1
- package/esm/dev2-server/connectors/http-connector.js.map +0 -1
- package/esm/dev2-server/connectors/index.d.ts.map +0 -1
- package/esm/dev2-server/connectors/storage.connector.d.ts.map +0 -1
- package/esm/dev2-server/connectors/storage.connector.js.map +0 -1
- package/esm/dev2-server/connectors/types.d.ts.map +0 -1
- package/esm/dev2-server/connectors/types.js.map +0 -1
- package/esm/dev2-server/create-worker.d.ts.map +0 -1
- package/esm/dev2-server/create-worker.js.map +0 -1
- package/esm/dev2-server/dependency-graph.d.ts.map +0 -1
- package/esm/dev2-server/dependency-graph.js.map +0 -1
- package/esm/dev2-server/dev-logger.d.ts.map +0 -1
- package/esm/dev2-server/dev-logger.js.map +0 -1
- package/esm/dev2-server/development-server.d.ts.map +0 -1
- package/esm/dev2-server/development-server.js.map +0 -1
- package/esm/dev2-server/events.d.ts.map +0 -1
- package/esm/dev2-server/events.js.map +0 -1
- package/esm/dev2-server/export-analyzer.d.ts.map +0 -1
- package/esm/dev2-server/export-analyzer.js.map +0 -1
- package/esm/dev2-server/file-event-handler.d.ts.map +0 -1
- package/esm/dev2-server/file-event-handler.js.map +0 -1
- package/esm/dev2-server/file-manager.d.ts.map +0 -1
- package/esm/dev2-server/file-manager.js.map +0 -1
- package/esm/dev2-server/file-operations.d.ts.map +0 -1
- package/esm/dev2-server/file-operations.js.map +0 -1
- package/esm/dev2-server/files-orchestrator.d.ts.map +0 -1
- package/esm/dev2-server/files-orchestrator.js.map +0 -1
- package/esm/dev2-server/files-watcher.d.ts.map +0 -1
- package/esm/dev2-server/files-watcher.js.map +0 -1
- package/esm/dev2-server/flags.d.ts.map +0 -1
- package/esm/dev2-server/flags.js.map +0 -1
- package/esm/dev2-server/health-checker/checkers/base-health-checker.d.ts.map +0 -1
- package/esm/dev2-server/health-checker/checkers/base-health-checker.js.map +0 -1
- package/esm/dev2-server/health-checker/checkers/eslint-health-checker.d.ts.map +0 -1
- package/esm/dev2-server/health-checker/checkers/eslint-health-checker.js.map +0 -1
- package/esm/dev2-server/health-checker/checkers/typescript-health-checker.d.ts.map +0 -1
- package/esm/dev2-server/health-checker/checkers/typescript-health-checker.js.map +0 -1
- package/esm/dev2-server/health-checker/file-health-checker.contract.d.ts.map +0 -1
- package/esm/dev2-server/health-checker/file-health-result.d.ts.map +0 -1
- package/esm/dev2-server/health-checker/file-health-result.js.map +0 -1
- package/esm/dev2-server/health-checker/files-healthcare.manager.d.ts.map +0 -1
- package/esm/dev2-server/health-checker/files-healthcare.manager.js.map +0 -1
- package/esm/dev2-server/health-checker/index.d.ts.map +0 -1
- package/esm/dev2-server/health-checker/workers/eslint-health.worker.d.ts.map +0 -1
- package/esm/dev2-server/health-checker/workers/eslint-health.worker.js.map +0 -1
- package/esm/dev2-server/health-checker/workers/ts-health.worker.d.ts.map +0 -1
- package/esm/dev2-server/health-checker/workers/ts-health.worker.js.map +0 -1
- package/esm/dev2-server/import-transformer.d.ts.map +0 -1
- package/esm/dev2-server/import-transformer.js.map +0 -1
- package/esm/dev2-server/layer-executor.d.ts.map +0 -1
- package/esm/dev2-server/layer-executor.js.map +0 -1
- package/esm/dev2-server/manifest-manager.d.ts.map +0 -1
- package/esm/dev2-server/manifest-manager.js.map +0 -1
- package/esm/dev2-server/module-loader.d.ts.map +0 -1
- package/esm/dev2-server/module-loader.js.map +0 -1
- package/esm/dev2-server/package-json-manager.d.ts.map +0 -1
- package/esm/dev2-server/package-json-manager.js.map +0 -1
- package/esm/dev2-server/parse-imports.d.ts +0 -13
- package/esm/dev2-server/parse-imports.d.ts.map +0 -1
- package/esm/dev2-server/parse-imports.js.map +0 -1
- package/esm/dev2-server/path.d.ts.map +0 -1
- package/esm/dev2-server/path.js.map +0 -1
- package/esm/dev2-server/runtime-import-helper.d.ts.map +0 -1
- package/esm/dev2-server/runtime-import-helper.js.map +0 -1
- package/esm/dev2-server/special-files-collector.d.ts.map +0 -1
- package/esm/dev2-server/special-files-collector.js.map +0 -1
- package/esm/dev2-server/start-development-server.d.ts.map +0 -1
- package/esm/dev2-server/start-development-server.js.map +0 -1
- package/esm/dev2-server/transpile-file.d.ts.map +0 -1
- package/esm/dev2-server/transpile-file.js.map +0 -1
- package/esm/dev2-server/tsconfig-manager.d.ts.map +0 -1
- package/esm/dev2-server/tsconfig-manager.js.map +0 -1
- package/esm/dev2-server/type-generator.d.ts.map +0 -1
- package/esm/dev2-server/type-generator.js.map +0 -1
- package/esm/dev2-server/types.d.ts.map +0 -1
- package/esm/dev2-server/utils.d.ts.map +0 -1
- package/esm/dev2-server/utils.js.map +0 -1
- package/esm/http/errors/resource-not-found.error.d.ts +0 -21
- package/esm/http/errors/resource-not-found.error.d.ts.map +0 -1
- package/esm/router/utils.d.ts +0 -5
- package/esm/router/utils.d.ts.map +0 -1
- package/esm/store/index.d.ts +0 -25
- package/esm/store/index.d.ts.map +0 -1
- package/esm/store/index.js +0 -52
- package/esm/store/index.js.map +0 -1
- /package/esm/{dev2-server/connectors → connectors}/base-connector.d.ts +0 -0
- /package/esm/{dev2-server/connectors → connectors}/cache-connector.d.ts +0 -0
- /package/esm/{dev2-server/connectors → connectors}/cache-connector.js +0 -0
- /package/esm/{dev2-server/connectors → connectors}/communicator-connector.d.ts +0 -0
- /package/esm/{dev2-server/connectors → connectors}/communicator-connector.js +0 -0
- /package/esm/{dev2-server/connectors → connectors}/connectors-manager.d.ts +0 -0
- /package/esm/{dev2-server/connectors → connectors}/database-connector.d.ts +0 -0
- /package/esm/{dev2-server/connectors → connectors}/database-connector.js +0 -0
- /package/esm/{dev2-server/connectors → connectors}/index.d.ts +0 -0
- /package/esm/{dev2-server/connectors → connectors}/storage.connector.d.ts +0 -0
- /package/esm/{dev2-server/connectors → connectors}/types.d.ts +0 -0
- /package/esm/{dev2-server/connectors → connectors}/types.js +0 -0
- /package/esm/{dev2-server → dev-server}/create-worker.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/create-worker.js +0 -0
- /package/esm/{dev2-server → dev-server}/dev-logger.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/dev-logger.js +0 -0
- /package/esm/{dev2-server → dev-server}/events.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/events.js +0 -0
- /package/esm/{dev2-server → dev-server}/export-analyzer.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/export-analyzer.js +0 -0
- /package/esm/{dev2-server → dev-server}/file-event-handler.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/file-operations.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/file-operations.js +0 -0
- /package/esm/{dev2-server → dev-server}/files-watcher.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/flags.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/flags.js +0 -0
- /package/esm/{dev2-server → dev-server}/health-checker/checkers/base-health-checker.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/health-checker/checkers/base-health-checker.js +0 -0
- /package/esm/{dev2-server → dev-server}/health-checker/checkers/eslint-health-checker.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/health-checker/checkers/eslint-health-checker.js +0 -0
- /package/esm/{dev2-server → dev-server}/health-checker/checkers/typescript-health-checker.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/health-checker/checkers/typescript-health-checker.js +0 -0
- /package/esm/{dev2-server → dev-server}/health-checker/file-health-checker.contract.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/health-checker/file-health-result.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/health-checker/file-health-result.js +0 -0
- /package/esm/{dev2-server → dev-server}/health-checker/files-healthcare.manager.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/health-checker/files-healthcare.manager.js +0 -0
- /package/esm/{dev2-server → dev-server}/health-checker/index.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/health-checker/workers/eslint-health.worker.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/health-checker/workers/eslint-health.worker.js +0 -0
- /package/esm/{dev2-server → dev-server}/health-checker/workers/ts-health.worker.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/health-checker/workers/ts-health.worker.js +0 -0
- /package/esm/{dev2-server → dev-server}/import-transformer.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/index.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/manifest-manager.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/manifest-manager.js +0 -0
- /package/esm/{dev2-server → dev-server}/package-json-manager.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/package-json-manager.js +0 -0
- /package/esm/{dev2-server → dev-server}/path.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/path.js +0 -0
- /package/esm/{dev2-server → dev-server}/runtime-import-helper.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/special-files-collector.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/special-files-collector.js +0 -0
- /package/esm/{dev2-server → dev-server}/start-development-server.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/start-development-server.js +0 -0
- /package/esm/{dev2-server → dev-server}/transpile-file.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/transpile-file.js +0 -0
- /package/esm/{dev2-server → dev-server}/tsconfig-manager.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/tsconfig-manager.js +0 -0
- /package/esm/{dev2-server → dev-server}/type-generator.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/type-generator.js +0 -0
- /package/esm/{dev2-server → dev-server}/types.d.ts +0 -0
- /package/esm/{dev2-server → dev-server}/utils.d.ts +0 -0
package/esm/resource/resource.js
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
import {get,set}from'@mongez/reinforcements';import {Model}from'@warlock.js/cascade';import {useRequestStore}from'../http/context/request-context.js';import {ResourceFieldBuilder}from'./resource-field-builder.js'
|
|
1
|
+
import {get,set}from'@mongez/reinforcements';import {Model}from'@warlock.js/cascade';import {useRequestStore}from'../http/context/request-context.js';import {ResourceFieldBuilder}from'./resource-field-builder.js';/**
|
|
2
|
+
* Maximum recursion depth for self-referencing fields.
|
|
3
|
+
* Prevents runaway serialization on deep trees or circular data.
|
|
4
|
+
*/
|
|
5
|
+
const MAX_SELF_DEPTH = 10;
|
|
6
|
+
class Resource {
|
|
2
7
|
originalData;
|
|
3
8
|
/**
|
|
4
9
|
* Resource data
|
|
@@ -8,6 +13,11 @@ import {get,set}from'@mongez/reinforcements';import {Model}from'@warlock.js/casc
|
|
|
8
13
|
* Resource final output
|
|
9
14
|
*/
|
|
10
15
|
data = {};
|
|
16
|
+
/**
|
|
17
|
+
* Tracks visited object identities during self-reference recursion.
|
|
18
|
+
* Prevents infinite loops on circular data (e.g. A.parent → B, B.parent → A).
|
|
19
|
+
*/
|
|
20
|
+
_selfSeen;
|
|
11
21
|
/**
|
|
12
22
|
* Raw resource schema — field declarations as written by the developer.
|
|
13
23
|
* Used by doc generators for introspection.
|
|
@@ -26,7 +36,11 @@ import {get,set}from'@mongez/reinforcements';import {Model}from'@warlock.js/casc
|
|
|
26
36
|
static normalizeSchema(schema) {
|
|
27
37
|
const parsed = {};
|
|
28
38
|
for (const [key, value] of Object.entries(schema)) {
|
|
29
|
-
if (
|
|
39
|
+
if (value === "self" || value === "self[]") {
|
|
40
|
+
// Keep self-references as-is — resolved lazily in transformValue
|
|
41
|
+
parsed[key] = value;
|
|
42
|
+
}
|
|
43
|
+
else if (typeof value === "string") {
|
|
30
44
|
parsed[key] = ResourceFieldBuilder.fromCastType(value);
|
|
31
45
|
}
|
|
32
46
|
else if (Array.isArray(value) && value.length === 2 && typeof value[0] === "string") {
|
|
@@ -99,7 +113,12 @@ import {get,set}from'@mongez/reinforcements';import {Model}from'@warlock.js/casc
|
|
|
99
113
|
*/
|
|
100
114
|
transformValue(value, outputSettings, locale) {
|
|
101
115
|
let outputValue;
|
|
102
|
-
if (
|
|
116
|
+
if (outputSettings === "self" || outputSettings === "self[]") {
|
|
117
|
+
// Self-reference — resolve using the same resource class with cycle detection
|
|
118
|
+
outputValue = this.transformSelfReference(value, outputSettings === "self[]");
|
|
119
|
+
}
|
|
120
|
+
else if (typeof outputSettings === "function" &&
|
|
121
|
+
outputSettings.prototype instanceof Resource) {
|
|
103
122
|
// Nested resource — handle both single and array values
|
|
104
123
|
if (Array.isArray(value)) {
|
|
105
124
|
outputValue = value
|
|
@@ -141,6 +160,40 @@ import {get,set}from'@mongez/reinforcements';import {Model}from'@warlock.js/casc
|
|
|
141
160
|
extend() {
|
|
142
161
|
//
|
|
143
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Transform a self-referencing field value.
|
|
165
|
+
*
|
|
166
|
+
* @example
|
|
167
|
+
* // Single: parent: "self"
|
|
168
|
+
* // Array: children: "self[]"
|
|
169
|
+
*/
|
|
170
|
+
transformSelfReference(value, isArray) {
|
|
171
|
+
if (isArray) {
|
|
172
|
+
return Array.isArray(value)
|
|
173
|
+
? value.map((item) => this.resolveSelf(item)).filter((v) => v !== undefined)
|
|
174
|
+
: undefined;
|
|
175
|
+
}
|
|
176
|
+
return this.resolveSelf(value);
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Resolve a single self-reference value.
|
|
180
|
+
* Uses identity-based cycle detection (id/_id) and a max depth guard.
|
|
181
|
+
*/
|
|
182
|
+
resolveSelf(value) {
|
|
183
|
+
if (!value)
|
|
184
|
+
return undefined;
|
|
185
|
+
const identity = value.id ?? value._id ?? value;
|
|
186
|
+
const seen = this._selfSeen ?? new Set();
|
|
187
|
+
// Circular reference or depth limit reached — stop recursion
|
|
188
|
+
if (seen.has(identity) || seen.size >= MAX_SELF_DEPTH) {
|
|
189
|
+
return undefined;
|
|
190
|
+
}
|
|
191
|
+
seen.add(identity);
|
|
192
|
+
const SelfConstructor = this.constructor;
|
|
193
|
+
const child = new SelfConstructor(value);
|
|
194
|
+
child._selfSeen = seen;
|
|
195
|
+
return child.toJSON();
|
|
196
|
+
}
|
|
144
197
|
/**
|
|
145
198
|
* Transform a single array item according to the given schema
|
|
146
199
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.js","sources":["../../src/resource/resource.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resource.js","sources":["../../src/resource/resource.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/esm/resource/types.d.ts
CHANGED
|
@@ -6,6 +6,12 @@ export type ResourceOutputValueCastType = "string" | "number" | "date" | "locali
|
|
|
6
6
|
* Storage url means the value will be generated using current storage.url method
|
|
7
7
|
*/
|
|
8
8
|
| "storageUrl";
|
|
9
|
+
/**
|
|
10
|
+
* Self-referencing type — resolves the field using the same resource class.
|
|
11
|
+
* - `"self"` for a single nested self-reference
|
|
12
|
+
* - `"self[]"` for an array of self-references
|
|
13
|
+
*/
|
|
14
|
+
export type ResourceSelfReference = "self" | "self[]";
|
|
9
15
|
/**
|
|
10
16
|
* Cast type with modifier suffixes for use in resource schemas.
|
|
11
17
|
* - `[]` suffix declares the field as an array (e.g. "string[]")
|
|
@@ -17,7 +23,7 @@ export type ResourceArraySchema = {
|
|
|
17
23
|
__type: "arrayOf";
|
|
18
24
|
schema: Record<string, ResourceFieldConfig>;
|
|
19
25
|
};
|
|
20
|
-
export type ResourceFieldConfig = ResourceCastType | ResourceConstructor | [string, ResourceCastType] | ResourceFieldBuilder | ResourceArraySchema | ((value: any, resource: ResourceContract) => any);
|
|
26
|
+
export type ResourceFieldConfig = ResourceCastType | ResourceConstructor | ResourceSelfReference | [string, ResourceCastType] | ResourceFieldBuilder | ResourceArraySchema | ((value: any, resource: ResourceContract) => any);
|
|
21
27
|
export type ResourceSchema = Record<string, ResourceFieldConfig>;
|
|
22
28
|
export type ResourceFieldBuilderDateOutputOptions = {
|
|
23
29
|
/**
|
|
@@ -44,7 +50,11 @@ export type ResourceFieldBuilderDateOutputOptions = {
|
|
|
44
50
|
* Return date in current locale
|
|
45
51
|
*/
|
|
46
52
|
locale?: boolean;
|
|
47
|
-
|
|
53
|
+
/**
|
|
54
|
+
* Return date in iso format
|
|
55
|
+
*/
|
|
56
|
+
iso?: boolean;
|
|
57
|
+
} | "format" | "timestamp" | "humanTime" | "locale" | "iso";
|
|
48
58
|
/**
|
|
49
59
|
* Allowed value types in a response schema body.
|
|
50
60
|
* - Cast type string for primitive fields (e.g. "string", "number")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/resource/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,MAAM,2BAA2B,GACnC,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,WAAW,GACX,SAAS,GACT,KAAK,GACL,OAAO,GACP,KAAK,GACL,QAAQ,GACR,OAAO,GACP,YAAY;AACd;;GAEG;GACD,YAAY,CAAC;AAEjB;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GACxB,2BAA2B,GAC3B,GAAG,2BAA2B,IAAI,GAClC,GAAG,2BAA2B,GAAG,GACjC,GAAG,2BAA2B,KAAK,CAAC;AAExC,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B,gBAAgB,GAChB,mBAAmB,GACnB,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAC1B,oBAAoB,GACpB,mBAAmB,GACnB,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,gBAAgB,KAAK,GAAG,CAAC,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAEjE,MAAM,MAAM,qCAAqC,GAC7C;IACE;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/resource/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAErE,MAAM,MAAM,2BAA2B,GACnC,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,WAAW,GACX,SAAS,GACT,KAAK,GACL,OAAO,GACP,KAAK,GACL,QAAQ,GACR,OAAO,GACP,YAAY;AACd;;GAEG;GACD,YAAY,CAAC;AAEjB;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEtD;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GACxB,2BAA2B,GAC3B,GAAG,2BAA2B,IAAI,GAClC,GAAG,2BAA2B,GAAG,GACjC,GAAG,2BAA2B,KAAK,CAAC;AAExC,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAC3B,gBAAgB,GAChB,mBAAmB,GACnB,qBAAqB,GACrB,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAC1B,oBAAoB,GACpB,mBAAmB,GACnB,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,gBAAgB,KAAK,GAAG,CAAC,CAAC;AAEtD,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAEjE,MAAM,MAAM,qCAAqC,GAC7C;IACE;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;OAEG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;CACf,GACD,QAAQ,GACR,WAAW,GACX,WAAW,GACX,QAAQ,GACR,KAAK,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,iBAAiB,GACzB,2BAA2B,GAC3B,mBAAmB,GACnB,CAAC,mBAAmB,CAAC,CAAC;AAE1B;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG;KAC1B,UAAU,IAAI,cAAc,CAAC,CAAC,EAAE;QAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;KACzC;CACF,CAAC"}
|
package/esm/restful/restful.js
CHANGED
|
@@ -49,7 +49,7 @@ import {log}from'@warlock.js/logger';class Restful {
|
|
|
49
49
|
const { data: documents, pagination } = await this.repository[listMethod](data);
|
|
50
50
|
responseDocument[this.recordsListName] = documents;
|
|
51
51
|
if (pagination) {
|
|
52
|
-
responseDocument.
|
|
52
|
+
responseDocument.pagination = pagination;
|
|
53
53
|
}
|
|
54
54
|
return response.success(responseDocument);
|
|
55
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restful.js","sources":["../../src/restful/restful.ts"],"sourcesContent":[null],"names":[],"mappings":"2CAOsB,OAAO,CAAA;AAC3B;;AAEG;IACO,UAAU,GAAsB,EAAE,CAAC;AAE7C;;AAEG;IACO,UAAU,GAAG,QAAQ,CAAC;AAEhC;;AAEG;IACO,eAAe,GAAG,SAAS,CAAC;AAOtC;;AAEG;AACO,IAAA,QAAQ,GAAyC;AACzD,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,MAAM,EAAE,QAAQ;AAChB,QAAA,KAAK,EAAE,QAAQ;KAChB,CAAC;AAEF;;;;AAIG;IACI,KAAK,GAAG,IAAI,CAAC;AAEpB;;AAEG;IACI,MAAM,IAAI,CAAC,EAAU,EAAA;AAC1B,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,WAAW,GAAG,MAAM,CAAC;QACrD,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC;KACxC;AAED;;AAEG;AACI,IAAA,MAAM,IAAI,CAAC,OAAgB,EAAE,QAAkB,EAAA;QACpD,IAAI;YACF,IAAI,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;gBAAE,OAAO;YAEjE,MAAM,gBAAgB,GAAkB,EAAE,CAAC;AAE3C,YAAA,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;AAE7B,YAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;AAC7B,gBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;AACvB,aAAA;AAED,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,GAAG,YAAY,GAAG,MAAM,CAAC;AAEtD,YAAA,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;AAEhF,YAAA,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,SAAS,CAAC;AAEnD,YAAA,IAAI,UAAU,EAAE;AACd,gBAAA,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"restful.js","sources":["../../src/restful/restful.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/retry/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { RetryOptions } from "./types";
|
|
2
|
+
/**
|
|
3
|
+
* Executes `fn`, retrying up to `options.count` additional times on failure.
|
|
4
|
+
* Total executions = 1 (initial) + count (retries).
|
|
5
|
+
*
|
|
6
|
+
* Throws the last error if every attempt fails.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* // Basic retry
|
|
10
|
+
* const data = await retry(() => fetchUser(id), { count: 3, delay: 200 });
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* // Don't retry on validation errors
|
|
14
|
+
* const data = await retry(() => sendEmail(payload), {
|
|
15
|
+
* count: 3,
|
|
16
|
+
* delay: 500,
|
|
17
|
+
* shouldRetry: (err) => !(err instanceof ValidationError),
|
|
18
|
+
* });
|
|
19
|
+
*/
|
|
20
|
+
export declare function retry<T>(fn: () => T | Promise<T>, options?: RetryOptions): Promise<T>;
|
|
21
|
+
//# sourceMappingURL=retry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/retry/retry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAwB/F"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Executes `fn`, retrying up to `options.count` additional times on failure.
|
|
3
|
+
* Total executions = 1 (initial) + count (retries).
|
|
4
|
+
*
|
|
5
|
+
* Throws the last error if every attempt fails.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* // Basic retry
|
|
9
|
+
* const data = await retry(() => fetchUser(id), { count: 3, delay: 200 });
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* // Don't retry on validation errors
|
|
13
|
+
* const data = await retry(() => sendEmail(payload), {
|
|
14
|
+
* count: 3,
|
|
15
|
+
* delay: 500,
|
|
16
|
+
* shouldRetry: (err) => !(err instanceof ValidationError),
|
|
17
|
+
* });
|
|
18
|
+
*/
|
|
19
|
+
async function retry(fn, options = {}) {
|
|
20
|
+
let lastError;
|
|
21
|
+
const { count = 0, delay = 0, shouldRetry } = options;
|
|
22
|
+
for (let attempt = 0; attempt <= count; attempt++) {
|
|
23
|
+
try {
|
|
24
|
+
return await fn();
|
|
25
|
+
}
|
|
26
|
+
catch (err) {
|
|
27
|
+
lastError = err;
|
|
28
|
+
// Allow caller to bail out early (e.g., don't retry 4xx errors)
|
|
29
|
+
if (shouldRetry && !shouldRetry(err, attempt)) {
|
|
30
|
+
throw err;
|
|
31
|
+
}
|
|
32
|
+
// Delay before the next attempt (skip delay after the last failure)
|
|
33
|
+
if (attempt < count && delay) {
|
|
34
|
+
await new Promise((resolve) => setTimeout(resolve, delay));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
throw lastError;
|
|
39
|
+
}export{retry};//# sourceMappingURL=retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sources":["../../src/retry/retry.ts"],"sourcesContent":[null],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;AAiBG;AACI,eAAe,KAAK,CAAI,EAAwB,EAAE,UAAwB,EAAE,EAAA;AACjF,IAAA,IAAI,SAAkB,CAAC;AAEvB,IAAA,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAEtD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,KAAK,EAAE,OAAO,EAAE,EAAE;QACjD,IAAI;YACF,OAAO,MAAM,EAAE,EAAE,CAAC;AACnB,SAAA;AAAC,QAAA,OAAO,GAAG,EAAE;YACZ,SAAS,GAAG,GAAG,CAAC;;YAGhB,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE;AAC7C,gBAAA,MAAM,GAAG,CAAC;AACX,aAAA;;AAGD,YAAA,IAAI,OAAO,GAAG,KAAK,IAAI,KAAK,EAAE;AAC5B,gBAAA,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,KAAK,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AAClE,aAAA;AACF,SAAA;AACF,KAAA;AAED,IAAA,MAAM,SAAS,CAAC;AAClB"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Options for the retry() function.
|
|
3
|
+
*/
|
|
4
|
+
export type RetryOptions = {
|
|
5
|
+
/**
|
|
6
|
+
* How many times to retry after the first failure.
|
|
7
|
+
* Total attempts = count + 1.
|
|
8
|
+
*
|
|
9
|
+
* @example count: 3 → up to 4 total attempts
|
|
10
|
+
* @default 0
|
|
11
|
+
*/
|
|
12
|
+
count?: number;
|
|
13
|
+
/**
|
|
14
|
+
* Milliseconds to wait between attempts.
|
|
15
|
+
* Omit or set to 0 for no delay.
|
|
16
|
+
*/
|
|
17
|
+
delay?: number;
|
|
18
|
+
/**
|
|
19
|
+
* Optional predicate — return false to abort retrying early
|
|
20
|
+
* (e.g., don't retry on a 4xx validation error).
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* shouldRetry: (err) => !(err instanceof ValidationError)
|
|
24
|
+
*/
|
|
25
|
+
shouldRetry?: (error: unknown, attempt: number) => boolean;
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/retry/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC;CAC5D,CAAC"}
|
package/esm/router/types.d.ts
CHANGED
|
@@ -12,21 +12,21 @@ export type MiddlewareResponse = ReturnedResponse | undefined | void;
|
|
|
12
12
|
* Receives the request and response objects
|
|
13
13
|
* And returns a response object or undefined if the request should continue
|
|
14
14
|
*/
|
|
15
|
-
export type Middleware = {
|
|
16
|
-
(request:
|
|
15
|
+
export type Middleware<MiddlewareRequest extends Request = Request> = {
|
|
16
|
+
(request: MiddlewareRequest, response: Response): MiddlewareResponse;
|
|
17
17
|
};
|
|
18
18
|
export type RouterGroupCallback = () => void;
|
|
19
|
-
export type RequestHandlerType = RequestHandler | [GenericObject, string];
|
|
19
|
+
export type RequestHandlerType = RequestHandler<any> | [GenericObject, string];
|
|
20
20
|
/**
|
|
21
21
|
* Resource standard methods
|
|
22
22
|
*/
|
|
23
23
|
export type ResourceMethod = "list" | "get" | "create" | "update" | "delete" | "patch";
|
|
24
24
|
export type RestfulMiddleware = Record<string, [Middleware]>;
|
|
25
|
-
export type RequestHandlerValidation = {
|
|
25
|
+
export type RequestHandlerValidation<TRequest extends Request = Request> = {
|
|
26
26
|
/**
|
|
27
27
|
* Validation custom message
|
|
28
28
|
*/
|
|
29
|
-
validate?: Middleware
|
|
29
|
+
validate?: Middleware<TRequest>;
|
|
30
30
|
/**
|
|
31
31
|
* Define what should be validated
|
|
32
32
|
* If not passed, it will be validating only body and query
|
|
@@ -67,7 +67,7 @@ export type RequestHandler<TRequest extends Request = Request> = {
|
|
|
67
67
|
/**
|
|
68
68
|
* Validation static object property which can be optional
|
|
69
69
|
*/
|
|
70
|
-
validation?: RequestHandlerValidation
|
|
70
|
+
validation?: RequestHandlerValidation<TRequest>;
|
|
71
71
|
/**
|
|
72
72
|
* Request Handler Description
|
|
73
73
|
*/
|
|
@@ -227,19 +227,19 @@ export type RouteResource = {
|
|
|
227
227
|
/**
|
|
228
228
|
* Apply validation on create|update|patch combined
|
|
229
229
|
*/
|
|
230
|
-
all?: RequestHandlerValidation
|
|
230
|
+
all?: RequestHandlerValidation<any>;
|
|
231
231
|
/**
|
|
232
232
|
* Create validation object
|
|
233
233
|
*/
|
|
234
|
-
create?: RequestHandlerValidation
|
|
234
|
+
create?: RequestHandlerValidation<any>;
|
|
235
235
|
/**
|
|
236
236
|
* Update validation object
|
|
237
237
|
*/
|
|
238
|
-
update?: RequestHandlerValidation
|
|
238
|
+
update?: RequestHandlerValidation<any>;
|
|
239
239
|
/**
|
|
240
240
|
* Patch validation object
|
|
241
241
|
*/
|
|
242
|
-
patch?: RequestHandlerValidation
|
|
242
|
+
patch?: RequestHandlerValidation<any>;
|
|
243
243
|
};
|
|
244
244
|
};
|
|
245
245
|
export type RouterStacks = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAAC;AAErE;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/router/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
import type { Readable } from "stream";
|
|
4
4
|
import type { UploadedFile } from "../http";
|
|
5
5
|
import { StorageFile } from "./storage-file";
|
|
6
|
-
import type { DeleteManyResult, ListOptions, PutOptions, StorageDriverContract, StorageDriverType, StorageFileInfo } from "./types";
|
|
6
|
+
import type { DeleteManyResult, ListOptions, PutDirectoryOptions, PutDirectoryResult, PutOptions, StorageDriverContract, StorageDriverType, StorageFileInfo } from "./types";
|
|
7
7
|
/**
|
|
8
8
|
* ScopedStorage - Base class for storage operations
|
|
9
9
|
*
|
|
@@ -325,6 +325,39 @@ export declare class ScopedStorage {
|
|
|
325
325
|
moveDirectory(from: string, to: string, options?: {
|
|
326
326
|
concurrency?: number;
|
|
327
327
|
}): Promise<number>;
|
|
328
|
+
/**
|
|
329
|
+
* Upload a local filesystem directory into storage
|
|
330
|
+
*
|
|
331
|
+
* Recursively walks the local directory, applies an optional filter, then
|
|
332
|
+
* streams each file into storage. Uploads run in concurrent batches for
|
|
333
|
+
* efficiency. Failures are collected — a single failed file never aborts
|
|
334
|
+
* the entire operation (mirrors the contract of `deleteMany`).
|
|
335
|
+
*
|
|
336
|
+
* @param localDirPath - Absolute path of the local directory to upload
|
|
337
|
+
* @param destination - Target prefix in storage (e.g. "uploads/assets")
|
|
338
|
+
* @param options - Concurrency, filter, progress callback, put options
|
|
339
|
+
* @returns - { uploaded, failed, total }
|
|
340
|
+
*
|
|
341
|
+
* @example
|
|
342
|
+
* ```typescript
|
|
343
|
+
* const result = await storage.putDirectory("./public/assets", "cdn/assets", {
|
|
344
|
+
* concurrency: 10,
|
|
345
|
+
* filter: (_, rel) => !rel.startsWith("."),
|
|
346
|
+
* onProgress: (done, total) => console.log(`${done}/${total}`),
|
|
347
|
+
* });
|
|
348
|
+
*
|
|
349
|
+
* console.log(`Uploaded: ${result.uploaded.length}, Failed: ${result.failed.length}`);
|
|
350
|
+
* ```
|
|
351
|
+
*/
|
|
352
|
+
putDirectory(localDirPath: string, destination: string, options?: PutDirectoryOptions): Promise<PutDirectoryResult>;
|
|
353
|
+
/**
|
|
354
|
+
* Walk a local directory recursively and return all file paths
|
|
355
|
+
*
|
|
356
|
+
* @param dirPath - Absolute local directory path
|
|
357
|
+
* @returns Array of { absolute, relative } file path pairs
|
|
358
|
+
* @internal
|
|
359
|
+
*/
|
|
360
|
+
private walkLocalDirectory;
|
|
328
361
|
/**
|
|
329
362
|
* Empty a directory without deleting the directory itself
|
|
330
363
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoped-storage.d.ts","sourceRoot":"","sources":["../../src/storage/scoped-storage.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"scoped-storage.d.ts","sourceRoot":"","sources":["../../src/storage/scoped-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {fileExistsAsync}from'@mongez/fs';import fs from'fs/promises';import {StorageFile}from'./storage-file.js';/**
|
|
1
|
+
import {fileExistsAsync}from'@mongez/fs';import {createReadStream}from'fs';import fs from'fs/promises';import path from'path';import {StorageFile}from'./storage-file.js';/**
|
|
2
2
|
* ScopedStorage - Base class for storage operations
|
|
3
3
|
*
|
|
4
4
|
* Wraps a storage driver and provides a consistent, developer-friendly API
|
|
@@ -400,6 +400,89 @@ class ScopedStorage {
|
|
|
400
400
|
await this.deleteDirectory(from);
|
|
401
401
|
return count;
|
|
402
402
|
}
|
|
403
|
+
/**
|
|
404
|
+
* Upload a local filesystem directory into storage
|
|
405
|
+
*
|
|
406
|
+
* Recursively walks the local directory, applies an optional filter, then
|
|
407
|
+
* streams each file into storage. Uploads run in concurrent batches for
|
|
408
|
+
* efficiency. Failures are collected — a single failed file never aborts
|
|
409
|
+
* the entire operation (mirrors the contract of `deleteMany`).
|
|
410
|
+
*
|
|
411
|
+
* @param localDirPath - Absolute path of the local directory to upload
|
|
412
|
+
* @param destination - Target prefix in storage (e.g. "uploads/assets")
|
|
413
|
+
* @param options - Concurrency, filter, progress callback, put options
|
|
414
|
+
* @returns - { uploaded, failed, total }
|
|
415
|
+
*
|
|
416
|
+
* @example
|
|
417
|
+
* ```typescript
|
|
418
|
+
* const result = await storage.putDirectory("./public/assets", "cdn/assets", {
|
|
419
|
+
* concurrency: 10,
|
|
420
|
+
* filter: (_, rel) => !rel.startsWith("."),
|
|
421
|
+
* onProgress: (done, total) => console.log(`${done}/${total}`),
|
|
422
|
+
* });
|
|
423
|
+
*
|
|
424
|
+
* console.log(`Uploaded: ${result.uploaded.length}, Failed: ${result.failed.length}`);
|
|
425
|
+
* ```
|
|
426
|
+
*/
|
|
427
|
+
async putDirectory(localDirPath, destination, options) {
|
|
428
|
+
const concurrency = options?.concurrency ?? 5;
|
|
429
|
+
// Collect all local file paths recursively
|
|
430
|
+
const localFiles = await this.walkLocalDirectory(localDirPath);
|
|
431
|
+
// Apply the user-supplied filter if any
|
|
432
|
+
const filteredFiles = options?.filter
|
|
433
|
+
? localFiles.filter(({ absolute, relative }) => options.filter(absolute, relative))
|
|
434
|
+
: localFiles;
|
|
435
|
+
const total = filteredFiles.length;
|
|
436
|
+
const uploaded = [];
|
|
437
|
+
const failed = [];
|
|
438
|
+
let doneCount = 0;
|
|
439
|
+
// Upload in concurrent batches
|
|
440
|
+
for (let i = 0; i < filteredFiles.length; i += concurrency) {
|
|
441
|
+
const batch = filteredFiles.slice(i, i + concurrency);
|
|
442
|
+
await Promise.all(batch.map(async ({ absolute, relative }) => {
|
|
443
|
+
const storagePath = `${destination.replace(/\/$/, "")}/${relative}`;
|
|
444
|
+
try {
|
|
445
|
+
const stream = createReadStream(absolute);
|
|
446
|
+
const file = await this.putStream(stream, storagePath, options?.putOptions);
|
|
447
|
+
uploaded.push(file);
|
|
448
|
+
doneCount++;
|
|
449
|
+
options?.onProgress?.(doneCount, total, file);
|
|
450
|
+
}
|
|
451
|
+
catch (err) {
|
|
452
|
+
failed.push({
|
|
453
|
+
localPath: absolute,
|
|
454
|
+
error: err instanceof Error ? err : new Error(String(err)),
|
|
455
|
+
});
|
|
456
|
+
}
|
|
457
|
+
}));
|
|
458
|
+
}
|
|
459
|
+
return { uploaded, failed, total };
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* Walk a local directory recursively and return all file paths
|
|
463
|
+
*
|
|
464
|
+
* @param dirPath - Absolute local directory path
|
|
465
|
+
* @returns Array of { absolute, relative } file path pairs
|
|
466
|
+
* @internal
|
|
467
|
+
*/
|
|
468
|
+
async walkLocalDirectory(dirPath, baseDir) {
|
|
469
|
+
const root = baseDir ?? dirPath;
|
|
470
|
+
const entries = await fs.readdir(dirPath, { withFileTypes: true });
|
|
471
|
+
const results = [];
|
|
472
|
+
for (const entry of entries) {
|
|
473
|
+
const absolute = path.join(dirPath, entry.name);
|
|
474
|
+
const relative = path.relative(root, absolute).replace(/\\/g, "/");
|
|
475
|
+
if (entry.isDirectory()) {
|
|
476
|
+
const nested = await this.walkLocalDirectory(absolute, root);
|
|
477
|
+
results.push(...nested);
|
|
478
|
+
}
|
|
479
|
+
else if (entry.isFile()) {
|
|
480
|
+
results.push({ absolute, relative });
|
|
481
|
+
}
|
|
482
|
+
// Symlinks are intentionally skipped
|
|
483
|
+
}
|
|
484
|
+
return results;
|
|
485
|
+
}
|
|
403
486
|
/**
|
|
404
487
|
* Empty a directory without deleting the directory itself
|
|
405
488
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scoped-storage.js","sources":["../../src/storage/scoped-storage.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scoped-storage.js","sources":["../../src/storage/scoped-storage.ts"],"sourcesContent":[null],"names":[],"mappings":"0KAkBA;;;;;;;;;;;;;;;;;;;;AAoBG;MACU,aAAa,CAAA;AACxB;;;AAGG;AACO,IAAA,OAAO,CAAwB;AAEzC;;;;AAIG;AACH,IAAA,WAAA,CAAmB,MAA6B,EAAA;AAC9C,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;KACvB;;;;AAMD;;;;AAIG;AACH,IAAA,IAAW,IAAI,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;KAC/B;AAED;;;;;;AAMG;AACH,IAAA,IAAW,aAAa,GAAA;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;AAED;;;;;;;AAOG;AACH,IAAA,IAAW,YAAY,GAAA;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC;KACrB;;;;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;AACI,IAAA,MAAM,GAAG,CACd,IAA+C,EAC/C,QAAgB,EAChB,OAAoB,EAAA;QAEpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACzC,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpE,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KACtD;AAED;;;;;;;;;;;;;;;;;;AAkBG;AACI,IAAA,MAAM,SAAS,CACpB,MAAgB,EAChB,QAAgB,EAChB,OAAoB,EAAA;AAEpB,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1E,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KACtD;AAED;;;;;;;;;;;;;;;;;AAiBG;AACI,IAAA,MAAM,UAAU,CACrB,GAAW,EACX,QAAgB,EAChB,OAAoB,EAAA;AAEpB,QAAA,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;AAElC,QAAA,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,KAAK,CAAC,CAA6B,0BAAA,EAAA,GAAG,CAAK,EAAA,EAAA,QAAQ,CAAC,UAAU,CAAE,CAAA,CAAC,CAAC;AAC7E,SAAA;AAED,QAAA,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;KAC5C;AAED;;;;;;;;;;;;;;;AAeG;AACI,IAAA,MAAM,aAAa,CACxB,OAAe,EACf,QAAgB,EAChB,OAAoB,EAAA;;QAGpB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAE5D,IAAI,CAAC,OAAO,EAAE;AACZ,YAAA,MAAM,IAAI,KAAK,CAAC,wEAAwE,CAAC,CAAC;AAC3F,SAAA;QAED,MAAM,GAAG,QAAQ,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;AAEjD,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE;AAChC,YAAA,GAAG,OAAO;AACV,YAAA,QAAQ,EAAE,OAAO,EAAE,QAAQ,IAAI,QAAQ;AACxC,SAAA,CAAC,CAAC;KACJ;AAED;;;;;;;;;;;;;;;AAeG;IACI,MAAM,GAAG,CAAC,QAAgB,EAAA;QAC/B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KACxC;AAED;;;;;;;;;;;;;;;AAeG;IACI,MAAM,SAAS,CAAC,QAAgB,EAAA;QACrC,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;KAC9C;AAED;;;;;;;;;;;;;;;AAeG;IACI,MAAM,MAAM,CAAC,QAA8B,EAAA;AAChD,QAAA,MAAM,IAAI,GAAG,OAAO,QAAQ,KAAK,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;QACrE,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KACvC;AAED;;;;;;;;;;;;;;;;;;;;;AAqBG;IACI,MAAM,UAAU,CAAC,SAAmB,EAAA;QACzC,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;KAChD;AAED;;;;AAIG;IACI,MAAM,eAAe,CAAC,aAAqB,EAAA;QAChD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;KAC/D;AAED;;;;;;;;;;;;AAYG;IACI,MAAM,MAAM,CAAC,QAAgB,EAAA;QAClC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;KAC3C;AAED;;;;;;;;;;;;;;;;;;;AAmBG;AACI,IAAA,MAAM,IAAI,CAAC,IAA0B,EAAE,EAAU,EAAA;AACtD,QAAA,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AAC7D,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxD,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KACtD;AAED;;;;;;;;;;;;;;;;;;;AAmBG;AACI,IAAA,MAAM,IAAI,CAAC,IAA0B,EAAE,EAAU,EAAA;AACtD,QAAA,MAAM,QAAQ,GAAG,OAAO,IAAI,KAAK,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;AAC7D,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACxD,OAAO,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KACtD;AAED;;;;;;;;;;;;;;;;;;;;;;AAsBG;AACI,IAAA,MAAM,aAAa,CACxB,IAAY,EACZ,EAAU,EACV,OAAkC,EAAA;AAElC,QAAA,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC;;AAG9C,QAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACzD,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;;QAGxD,IAAI,MAAM,GAAG,CAAC,CAAC;AACf,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,IAAI,WAAW,EAAE;AACxD,YAAA,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC;AACpD,YAAA,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,OAAO,IAAI,KAAI;;AAEvB,gBAAA,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACzE,gBAAA,MAAM,OAAO,GAAG,CAAA,EAAG,EAAE,CAAI,CAAA,EAAA,YAAY,EAAE,CAAC;gBACxC,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AACpC,gBAAA,MAAM,EAAE,CAAC;aACV,CAAC,CACH,CAAC;AACH,SAAA;AAED,QAAA,OAAO,MAAM,CAAC;KACf;AAED;;;;;;;;;;;;;;;;AAgBG;AACI,IAAA,MAAM,aAAa,CACxB,IAAY,EACZ,EAAU,EACV,OAAkC,EAAA;;AAGlC,QAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;;AAG1D,QAAA,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AAEjC,QAAA,OAAO,KAAK,CAAC;KACd;AAED;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACI,IAAA,MAAM,YAAY,CACvB,YAAoB,EACpB,WAAmB,EACnB,OAA6B,EAAA;AAE7B,QAAA,MAAM,WAAW,GAAG,OAAO,EAAE,WAAW,IAAI,CAAC,CAAC;;QAG9C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;;AAG/D,QAAA,MAAM,aAAa,GAAG,OAAO,EAAE,MAAM;cACjC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,MAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;cAClF,UAAU,CAAC;AAEf,QAAA,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,CAAC;QACnC,MAAM,QAAQ,GAAkB,EAAE,CAAC;QACnC,MAAM,MAAM,GAA+C,EAAE,CAAC;QAC9D,IAAI,SAAS,GAAG,CAAC,CAAC;;AAGlB,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,WAAW,EAAE;AAC1D,YAAA,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAC;AAEtD,YAAA,MAAM,OAAO,CAAC,GAAG,CACf,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAI;AACzC,gBAAA,MAAM,WAAW,GAAG,CAAG,EAAA,WAAW,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAI,CAAA,EAAA,QAAQ,EAAE,CAAC;gBAEpE,IAAI;AACF,oBAAA,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;AAC1C,oBAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AAC5E,oBAAA,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACpB,oBAAA,SAAS,EAAE,CAAC;oBACZ,OAAO,EAAE,UAAU,GAAG,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;AAC/C,iBAAA;AAAC,gBAAA,OAAO,GAAG,EAAE;oBACZ,MAAM,CAAC,IAAI,CAAC;AACV,wBAAA,SAAS,EAAE,QAAQ;AACnB,wBAAA,KAAK,EAAE,GAAG,YAAY,KAAK,GAAG,GAAG,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC3D,qBAAA,CAAC,CAAC;AACJ,iBAAA;aACF,CAAC,CACH,CAAC;AACH,SAAA;AAED,QAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;KACpC;AAED;;;;;;AAMG;AACK,IAAA,MAAM,kBAAkB,CAC9B,OAAe,EACf,OAAgB,EAAA;AAEhB,QAAA,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,CAAC;AAChC,QAAA,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,MAAM,OAAO,GAAkD,EAAE,CAAC;AAElE,QAAA,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE;AAC3B,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;AAChD,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AAEnE,YAAA,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE;gBACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC7D,gBAAA,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;AACzB,aAAA;AAAM,iBAAA,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;gBACzB,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AACtC,aAAA;;AAEF,SAAA;AAED,QAAA,OAAO,OAAO,CAAC;KAChB;AAED;;;;;;;;;;;;;AAaG;IACI,MAAM,cAAc,CAAC,IAAY,EAAA;;AAEtC,QAAA,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AACzD,QAAA,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC;AAEzE,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1B,YAAA,OAAO,CAAC,CAAC;AACV,SAAA;;AAGD,QAAA,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAEjC,OAAO,SAAS,CAAC,MAAM,CAAC;KACzB;AAED;;;;;;;;;;;;;;;;;;;;;AAqBG;AACI,IAAA,MAAM,IAAI,CAAC,SAAkB,EAAE,OAAqB,EAAA;AACzD,QAAA,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;KACzD;;;;AAMD;;;;;;;;;;;;;;;;AAgBG;AACI,IAAA,GAAG,CAAC,QAAgB,EAAA;QACzB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KACxC;AAED;;;;;;;;;;;;;;;;;;;AAmBG;AACI,IAAA,MAAM,YAAY,CAAC,QAAgB,EAAE,SAAkB,EAAA;QAC5D,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;KAC5D;;;;AAMD;;;;;;;;;;;;;;;;;AAiBG;IACI,MAAM,OAAO,CAAC,QAAgB,EAAA;QACnC,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;KAC5C;AAED;;;;;;;;AAQG;IACI,MAAM,IAAI,CAAC,QAAgB,EAAA;QAChC,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;KACzC;AAED;;;;;;;;;;;;;;;;;;;;;AAqBG;IACI,MAAM,IAAI,CAAC,QAAgB,EAAA;QAChC,OAAO,IAAI,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;KACrD;;;;AAMD;;;;;;AAMG;IACO,MAAM,QAAQ,CAAC,IAA+C,EAAA;;AAEtE,QAAA,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;AACzB,YAAA,OAAO,IAAI,CAAC;AACb,SAAA;;AAGD,QAAA,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;AACzB,YAAA,OAAO,IAAI,CAAC,cAAc,CAAC,IAAgB,CAAC,CAAC;AAC9C,SAAA;;AAGD,QAAA,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE;AAC5B,YAAA,IAAI,MAAM,eAAe,CAAC,IAAI,CAAC,EAAE;AAC/B,gBAAA,OAAO,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC1B,aAAA;AAED,YAAA,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,SAAA;;AAGD,QAAA,OAAQ,IAAqB,CAAC,MAAM,EAAE,CAAC;KACxC;AAED;;;;;;AAMG;AACO,IAAA,UAAU,CAAC,KAAc,EAAA;AACjC,QAAA,QACE,OAAO,KAAK,KAAK,QAAQ;AACzB,YAAA,KAAK,KAAK,IAAI;AACd,YAAA,MAAM,IAAI,KAAK;AACf,YAAA,OAAQ,KAAkB,CAAC,IAAI,KAAK,UAAU,EAC9C;KACH;AAED;;;;;;AAMG;IACO,MAAM,cAAc,CAAC,MAAgB,EAAA;QAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;AAC5B,QAAA,WAAW,MAAM,KAAK,IAAI,MAAM,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AAClE,SAAA;AACD,QAAA,OAAO,MAAM,CAAC,MAAM,CAAC,MAAiC,CAAC,CAAC;KACzD;AAED;;;;;;;;;;;;;;AAcG;IACI,OAAO,CAAC,MAAc,EAAE,QAAgB,EAAA;AAC7C,QAAA,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,CAAC;KACtE;AAED;;;;;;;;;;;;;;AAcG;IACI,MAAM,CAAC,QAAgB,EAAE,MAAc,EAAA;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AAC1C,QAAA,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE;AAClB,YAAA,OAAO,CAAG,EAAA,QAAQ,CAAG,EAAA,MAAM,EAAE,CAAC;AAC/B,SAAA;AACD,QAAA,OAAO,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,MAAM,CAAA,EAAG,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;KACnF;AACF"}
|