@warlock.js/core 4.0.174 → 4.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -1
- package/esm/_virtual/_rolldown/runtime.mjs +7 -0
- package/esm/application/app.d.mts +16 -0
- package/esm/application/app.d.mts.map +1 -0
- package/esm/application/app.mjs +36 -0
- package/esm/application/app.mjs.map +1 -0
- package/esm/application/application-config-types.d.mts +30 -0
- package/esm/application/application-config-types.d.mts.map +1 -0
- package/esm/application/application.d.mts +72 -0
- package/esm/application/application.d.mts.map +1 -0
- package/esm/application/application.mjs +98 -0
- package/esm/application/application.mjs.map +1 -0
- package/esm/application/index.d.mts +3 -0
- package/esm/application/index.mjs +4 -0
- package/esm/benchmark/benchmark-snapshots.d.mts +51 -0
- package/esm/benchmark/benchmark-snapshots.d.mts.map +1 -0
- package/esm/benchmark/benchmark-snapshots.mjs +70 -0
- package/esm/benchmark/benchmark-snapshots.mjs.map +1 -0
- package/esm/benchmark/benchmark.d.mts +29 -0
- package/esm/benchmark/benchmark.d.mts.map +1 -0
- package/esm/benchmark/benchmark.mjs +101 -0
- package/esm/benchmark/benchmark.mjs.map +1 -0
- package/esm/benchmark/channels/console.channel.d.mts +18 -0
- package/esm/benchmark/channels/console.channel.d.mts.map +1 -0
- package/esm/benchmark/channels/console.channel.mjs +32 -0
- package/esm/benchmark/channels/console.channel.mjs.map +1 -0
- package/esm/benchmark/channels/noop.channel.d.mts +9 -0
- package/esm/benchmark/channels/noop.channel.d.mts.map +1 -0
- package/esm/benchmark/channels/noop.channel.mjs +8 -0
- package/esm/benchmark/channels/noop.channel.mjs.map +1 -0
- package/esm/benchmark/index.mjs +7 -0
- package/esm/benchmark/profiler.d.mts +67 -0
- package/esm/benchmark/profiler.d.mts.map +1 -0
- package/esm/benchmark/profiler.mjs +142 -0
- package/esm/benchmark/profiler.mjs.map +1 -0
- package/esm/benchmark/types.d.mts +164 -0
- package/esm/benchmark/types.d.mts.map +1 -0
- package/esm/bootstrap/setup.d.mts +5 -0
- package/esm/bootstrap/setup.d.mts.map +1 -0
- package/esm/bootstrap/setup.mjs +20 -0
- package/esm/bootstrap/setup.mjs.map +1 -0
- package/esm/bootstrap.d.mts +5 -0
- package/esm/bootstrap.d.mts.map +1 -0
- package/esm/bootstrap.mjs +14 -0
- package/esm/bootstrap.mjs.map +1 -0
- package/esm/cache/database-cache-driver.d.mts +60 -0
- package/esm/cache/database-cache-driver.d.mts.map +1 -0
- package/esm/cache/database-cache-driver.mjs +98 -0
- package/esm/cache/database-cache-driver.mjs.map +1 -0
- package/esm/cache/index.d.mts +1 -0
- package/esm/cache/index.mjs +9 -0
- package/esm/cache/index.mjs.map +1 -0
- package/esm/cli/cli-command.d.mts +119 -0
- package/esm/cli/cli-command.d.mts.map +1 -0
- package/esm/cli/cli-command.mjs +159 -0
- package/esm/cli/cli-command.mjs.map +1 -0
- package/esm/cli/cli-commands.manager.mjs +285 -0
- package/esm/cli/cli-commands.manager.mjs.map +1 -0
- package/esm/cli/cli-commands.utils.mjs +187 -0
- package/esm/cli/cli-commands.utils.mjs.map +1 -0
- package/esm/cli/commands/add.command.mjs +27 -0
- package/esm/cli/commands/add.command.mjs.map +1 -0
- package/esm/cli/commands/build.command.mjs +14 -0
- package/esm/cli/commands/build.command.mjs.map +1 -0
- package/esm/cli/commands/create-database.command.mjs +24 -0
- package/esm/cli/commands/create-database.command.mjs.map +1 -0
- package/esm/cli/commands/dev-server.command.mjs +48 -0
- package/esm/cli/commands/dev-server.command.mjs.map +1 -0
- package/esm/cli/commands/drop-tables.command.mjs +23 -0
- package/esm/cli/commands/drop-tables.command.mjs.map +1 -0
- package/esm/cli/commands/generate/generate.command.mjs +201 -0
- package/esm/cli/commands/generate/generate.command.mjs.map +1 -0
- package/esm/cli/commands/generate/generators/column-dsl-parser.mjs +49 -0
- package/esm/cli/commands/generate/generators/column-dsl-parser.mjs.map +1 -0
- package/esm/cli/commands/generate/generators/controller.generator.mjs +48 -0
- package/esm/cli/commands/generate/generators/controller.generator.mjs.map +1 -0
- package/esm/cli/commands/generate/generators/migration.generator.mjs +81 -0
- package/esm/cli/commands/generate/generators/migration.generator.mjs.map +1 -0
- package/esm/cli/commands/generate/generators/model.generator.mjs +60 -0
- package/esm/cli/commands/generate/generators/model.generator.mjs.map +1 -0
- package/esm/cli/commands/generate/generators/module.generator.mjs +113 -0
- package/esm/cli/commands/generate/generators/module.generator.mjs.map +1 -0
- package/esm/cli/commands/generate/generators/repository.generator.mjs +42 -0
- package/esm/cli/commands/generate/generators/repository.generator.mjs.map +1 -0
- package/esm/cli/commands/generate/generators/resource.generator.mjs +42 -0
- package/esm/cli/commands/generate/generators/resource.generator.mjs.map +1 -0
- package/esm/cli/commands/generate/generators/service.generator.mjs +42 -0
- package/esm/cli/commands/generate/generators/service.generator.mjs.map +1 -0
- package/esm/cli/commands/generate/templates/stubs.mjs +514 -0
- package/esm/cli/commands/generate/templates/stubs.mjs.map +1 -0
- package/esm/cli/commands/generate/utils/name-parser.mjs +69 -0
- package/esm/cli/commands/generate/utils/name-parser.mjs.map +1 -0
- package/esm/cli/commands/generate/utils/path-resolver.mjs +56 -0
- package/esm/cli/commands/generate/utils/path-resolver.mjs.map +1 -0
- package/esm/cli/commands/generate/utils/prompt.mjs +28 -0
- package/esm/cli/commands/generate/utils/prompt.mjs.map +1 -0
- package/esm/cli/commands/generate/utils/writer.mjs +60 -0
- package/esm/cli/commands/generate/utils/writer.mjs.map +1 -0
- package/esm/cli/commands/migrate.command.mjs +60 -0
- package/esm/cli/commands/migrate.command.mjs.map +1 -0
- package/esm/cli/commands/seed.command.mjs +41 -0
- package/esm/cli/commands/seed.command.mjs.map +1 -0
- package/esm/cli/commands/start-production.command.mjs +50 -0
- package/esm/cli/commands/start-production.command.mjs.map +1 -0
- package/esm/cli/commands/storage-put.action.mjs +75 -0
- package/esm/cli/commands/storage-put.action.mjs.map +1 -0
- package/esm/cli/commands/storage-put.command.mjs +46 -0
- package/esm/cli/commands/storage-put.command.mjs.map +1 -0
- package/esm/cli/commands/typings-generator.command.mjs +38 -0
- package/esm/cli/commands/typings-generator.command.mjs.map +1 -0
- package/esm/cli/commands-loader.mjs +50 -0
- package/esm/cli/commands-loader.mjs.map +1 -0
- package/esm/cli/framework-cli-commands.mjs +37 -0
- package/esm/cli/framework-cli-commands.mjs.map +1 -0
- package/esm/cli/index.d.mts +2 -0
- package/esm/cli/parse-cli-args.mjs +62 -0
- package/esm/cli/parse-cli-args.mjs.map +1 -0
- package/esm/cli/start.d.mts +1 -0
- package/esm/cli/start.mjs +8 -0
- package/esm/cli/start.mjs.map +1 -0
- package/esm/cli/string-similarity.mjs +56 -0
- package/esm/cli/string-similarity.mjs.map +1 -0
- package/esm/cli/types.d.mts +216 -0
- package/esm/cli/types.d.mts.map +1 -0
- package/esm/config/config-getter.d.mts +38 -0
- package/esm/config/config-getter.d.mts.map +1 -0
- package/esm/config/config-getter.mjs +28 -0
- package/esm/config/config-getter.mjs.map +1 -0
- package/esm/config/config-handlers.d.mts +11 -0
- package/esm/config/config-handlers.d.mts.map +1 -0
- package/esm/config/config-handlers.mjs +23 -0
- package/esm/config/config-handlers.mjs.map +1 -0
- package/esm/config/config-loader.d.mts +9 -0
- package/esm/config/config-loader.d.mts.map +1 -0
- package/esm/config/config-loader.mjs +48 -0
- package/esm/config/config-loader.mjs.map +1 -0
- package/esm/config/config-manager.mjs +28 -0
- package/esm/config/config-manager.mjs.map +1 -0
- package/esm/config/config-special-handlers.d.mts +21 -0
- package/esm/config/config-special-handlers.d.mts.map +1 -0
- package/esm/config/config-special-handlers.mjs +25 -0
- package/esm/config/config-special-handlers.mjs.map +1 -0
- package/esm/config/index.mjs +5 -0
- package/esm/config/load-config-files.mjs +24 -0
- package/esm/config/load-config-files.mjs.map +1 -0
- package/esm/config/types.d.mts +53 -0
- package/esm/config/types.d.mts.map +1 -0
- package/esm/connectors/base-connector.d.mts +63 -0
- package/esm/connectors/base-connector.d.mts.map +1 -0
- package/esm/connectors/base-connector.mjs +52 -0
- package/esm/connectors/base-connector.mjs.map +1 -0
- package/esm/connectors/cache-connector.d.mts +28 -0
- package/esm/connectors/cache-connector.d.mts.map +1 -0
- package/esm/connectors/cache-connector.mjs +40 -0
- package/esm/connectors/cache-connector.mjs.map +1 -0
- package/esm/connectors/connectors-manager.d.mts +56 -0
- package/esm/connectors/connectors-manager.d.mts.map +1 -0
- package/esm/connectors/connectors-manager.mjs +105 -0
- package/esm/connectors/connectors-manager.mjs.map +1 -0
- package/esm/connectors/database-connector.d.mts +28 -0
- package/esm/connectors/database-connector.d.mts.map +1 -0
- package/esm/connectors/database-connector.mjs +53 -0
- package/esm/connectors/database-connector.mjs.map +1 -0
- package/esm/connectors/herald-connector.d.mts +28 -0
- package/esm/connectors/herald-connector.d.mts.map +1 -0
- package/esm/connectors/herald-connector.mjs +56 -0
- package/esm/connectors/herald-connector.mjs.map +1 -0
- package/esm/connectors/http-connector.d.mts +55 -0
- package/esm/connectors/http-connector.d.mts.map +1 -0
- package/esm/connectors/http-connector.mjs +107 -0
- package/esm/connectors/http-connector.mjs.map +1 -0
- package/esm/connectors/index.d.mts +11 -0
- package/esm/connectors/index.mjs +13 -0
- package/esm/connectors/logger-connector.d.mts +28 -0
- package/esm/connectors/logger-connector.d.mts.map +1 -0
- package/esm/connectors/logger-connector.mjs +52 -0
- package/esm/connectors/logger-connector.mjs.map +1 -0
- package/esm/connectors/mail-connector.d.mts +28 -0
- package/esm/connectors/mail-connector.d.mts.map +1 -0
- package/esm/connectors/mail-connector.mjs +56 -0
- package/esm/connectors/mail-connector.mjs.map +1 -0
- package/esm/connectors/socket-connector.d.mts +36 -0
- package/esm/connectors/socket-connector.d.mts.map +1 -0
- package/esm/connectors/socket-connector.mjs +82 -0
- package/esm/connectors/socket-connector.mjs.map +1 -0
- package/esm/connectors/storage.connector.d.mts +28 -0
- package/esm/connectors/storage.connector.d.mts.map +1 -0
- package/esm/connectors/storage.connector.mjs +40 -0
- package/esm/connectors/storage.connector.mjs.map +1 -0
- package/esm/connectors/types.d.mts +81 -0
- package/esm/connectors/types.d.mts.map +1 -0
- package/esm/connectors/types.mjs +33 -0
- package/esm/connectors/types.mjs.map +1 -0
- package/esm/container/index.d.mts +41 -0
- package/esm/container/index.d.mts.map +1 -0
- package/esm/container/index.mjs +27 -0
- package/esm/container/index.mjs.map +1 -0
- package/esm/database/create-database-action.mjs +32 -0
- package/esm/database/create-database-action.mjs.map +1 -0
- package/esm/database/drop-tables-action.mjs +35 -0
- package/esm/database/drop-tables-action.mjs.map +1 -0
- package/esm/database/index.d.mts +4 -0
- package/esm/database/index.mjs +6 -0
- package/esm/database/migrate-action.mjs +99 -0
- package/esm/database/migrate-action.mjs.map +1 -0
- package/esm/database/models/database-log/database-log.d.mts +19 -0
- package/esm/database/models/database-log/database-log.d.mts.map +1 -0
- package/esm/database/models/database-log/database-log.mjs +23 -0
- package/esm/database/models/database-log/database-log.mjs.map +1 -0
- package/esm/database/models/database-log/index.d.mts +1 -0
- package/esm/database/models/database-log/index.mjs +3 -0
- package/esm/database/seed-command-action.mjs +74 -0
- package/esm/database/seed-command-action.mjs.map +1 -0
- package/esm/database/seeds/seeder.d.mts +44 -0
- package/esm/database/seeds/seeder.d.mts.map +1 -0
- package/esm/database/seeds/seeder.mjs +11 -0
- package/esm/database/seeds/seeder.mjs.map +1 -0
- package/esm/database/seeds/seeders.manager.mjs +129 -0
- package/esm/database/seeds/seeders.manager.mjs.map +1 -0
- package/esm/database/seeds/seeds-table-migration.mjs +31 -0
- package/esm/database/seeds/seeds-table-migration.mjs.map +1 -0
- package/esm/database/seeds/types.d.mts +16 -0
- package/esm/database/seeds/types.d.mts.map +1 -0
- package/esm/database/seeds/utils.mjs +6 -0
- package/esm/database/seeds/utils.mjs.map +1 -0
- package/esm/database/utils.d.mts +20 -0
- package/esm/database/utils.d.mts.map +1 -0
- package/esm/database/utils.mjs +37 -0
- package/esm/database/utils.mjs.map +1 -0
- package/esm/dev-server/create-worker.mjs +41 -0
- package/esm/dev-server/create-worker.mjs.map +1 -0
- package/esm/dev-server/dependency-graph.d.mts +134 -0
- package/esm/dev-server/dependency-graph.d.mts.map +1 -0
- package/esm/dev-server/dependency-graph.mjs +303 -0
- package/esm/dev-server/dependency-graph.mjs.map +1 -0
- package/esm/dev-server/dev-logger.mjs +110 -0
- package/esm/dev-server/dev-logger.mjs.map +1 -0
- package/esm/dev-server/development-server.mjs +115 -0
- package/esm/dev-server/development-server.mjs.map +1 -0
- package/esm/dev-server/events.mjs +9 -0
- package/esm/dev-server/events.mjs.map +1 -0
- package/esm/dev-server/file-event-handler.mjs +98 -0
- package/esm/dev-server/file-event-handler.mjs.map +1 -0
- package/esm/dev-server/file-manager.d.mts +77 -0
- package/esm/dev-server/file-manager.d.mts.map +1 -0
- package/esm/dev-server/file-manager.mjs +157 -0
- package/esm/dev-server/file-manager.mjs.map +1 -0
- package/esm/dev-server/file-operations.d.mts +43 -0
- package/esm/dev-server/file-operations.d.mts.map +1 -0
- package/esm/dev-server/file-operations.mjs +113 -0
- package/esm/dev-server/file-operations.mjs.map +1 -0
- package/esm/dev-server/files-orchestrator.d.mts +89 -0
- package/esm/dev-server/files-orchestrator.d.mts.map +1 -0
- package/esm/dev-server/files-orchestrator.mjs +201 -0
- package/esm/dev-server/files-orchestrator.mjs.map +1 -0
- package/esm/dev-server/files-watcher.d.mts +69 -0
- package/esm/dev-server/files-watcher.d.mts.map +1 -0
- package/esm/dev-server/files-watcher.mjs +129 -0
- package/esm/dev-server/files-watcher.mjs.map +1 -0
- package/esm/dev-server/flags.mjs +9 -0
- package/esm/dev-server/flags.mjs.map +1 -0
- package/esm/dev-server/health-checker/checkers/base-health-checker.d.mts +55 -0
- package/esm/dev-server/health-checker/checkers/base-health-checker.d.mts.map +1 -0
- package/esm/dev-server/health-checker/checkers/base-health-checker.mjs +65 -0
- package/esm/dev-server/health-checker/checkers/base-health-checker.mjs.map +1 -0
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.mts +44 -0
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.mts.map +1 -0
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.mjs +155 -0
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.mjs.map +1 -0
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.mts +60 -0
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.mts.map +1 -0
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.mjs +192 -0
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.mjs.map +1 -0
- package/esm/dev-server/health-checker/file-health-checker.contract.d.mts +63 -0
- package/esm/dev-server/health-checker/file-health-checker.contract.d.mts.map +1 -0
- package/esm/dev-server/health-checker/file-health-result.d.mts +70 -0
- package/esm/dev-server/health-checker/file-health-result.d.mts.map +1 -0
- package/esm/dev-server/health-checker/file-health-result.mjs +41 -0
- package/esm/dev-server/health-checker/file-health-result.mjs.map +1 -0
- package/esm/dev-server/health-checker/files-healthcare.manager.d.mts +119 -0
- package/esm/dev-server/health-checker/files-healthcare.manager.d.mts.map +1 -0
- package/esm/dev-server/health-checker/files-healthcare.manager.mjs +346 -0
- package/esm/dev-server/health-checker/files-healthcare.manager.mjs.map +1 -0
- package/esm/dev-server/health-checker/index.mjs +7 -0
- package/esm/dev-server/health-checker/workers/eslint-health.worker.mjs +188 -0
- package/esm/dev-server/health-checker/workers/eslint-health.worker.mjs.map +1 -0
- package/esm/dev-server/health-checker/workers/ts-health.worker.mjs +212 -0
- package/esm/dev-server/health-checker/workers/ts-health.worker.mjs.map +1 -0
- package/esm/dev-server/layer-executor.mjs +114 -0
- package/esm/dev-server/layer-executor.mjs.map +1 -0
- package/esm/dev-server/loader/build-transpile-init.mjs +49 -0
- package/esm/dev-server/loader/build-transpile-init.mjs.map +1 -0
- package/esm/dev-server/loader/register-loader.mjs +68 -0
- package/esm/dev-server/loader/register-loader.mjs.map +1 -0
- package/esm/dev-server/loader/transpile-cache.mjs +57 -0
- package/esm/dev-server/loader/transpile-cache.mjs.map +1 -0
- package/esm/dev-server/manifest-manager.d.mts +71 -0
- package/esm/dev-server/manifest-manager.d.mts.map +1 -0
- package/esm/dev-server/manifest-manager.mjs +107 -0
- package/esm/dev-server/manifest-manager.mjs.map +1 -0
- package/esm/dev-server/module-loader.d.mts +51 -0
- package/esm/dev-server/module-loader.d.mts.map +1 -0
- package/esm/dev-server/module-loader.mjs +111 -0
- package/esm/dev-server/module-loader.mjs.map +1 -0
- package/esm/dev-server/package-json-manager.mjs +26 -0
- package/esm/dev-server/package-json-manager.mjs.map +1 -0
- package/esm/dev-server/parse-imports.mjs +348 -0
- package/esm/dev-server/parse-imports.mjs.map +1 -0
- package/esm/dev-server/path.mjs +63 -0
- package/esm/dev-server/path.mjs.map +1 -0
- package/esm/dev-server/special-files-collector.d.mts +23 -0
- package/esm/dev-server/special-files-collector.d.mts.map +1 -0
- package/esm/dev-server/special-files-collector.mjs +67 -0
- package/esm/dev-server/special-files-collector.mjs.map +1 -0
- package/esm/dev-server/start-development-server.mjs +63 -0
- package/esm/dev-server/start-development-server.mjs.map +1 -0
- package/esm/dev-server/tsconfig-manager.mjs +81 -0
- package/esm/dev-server/tsconfig-manager.mjs.map +1 -0
- package/esm/dev-server/type-generator.mjs +453 -0
- package/esm/dev-server/type-generator.mjs.map +1 -0
- package/esm/dev-server/types.d.mts +31 -0
- package/esm/dev-server/types.d.mts.map +1 -0
- package/esm/dev-server/utils.mjs +33 -0
- package/esm/dev-server/utils.mjs.map +1 -0
- package/esm/encryption/encrypt.d.mts +26 -0
- package/esm/encryption/encrypt.d.mts.map +1 -0
- package/esm/encryption/encrypt.mjs +81 -0
- package/esm/encryption/encrypt.mjs.map +1 -0
- package/esm/encryption/hash.d.mts +20 -0
- package/esm/encryption/hash.d.mts.map +1 -0
- package/esm/encryption/hash.mjs +31 -0
- package/esm/encryption/hash.mjs.map +1 -0
- package/esm/encryption/index.mjs +5 -0
- package/esm/encryption/password.d.mts +26 -0
- package/esm/encryption/password.d.mts.map +1 -0
- package/esm/encryption/password.mjs +73 -0
- package/esm/encryption/password.mjs.map +1 -0
- package/esm/encryption/types.d.mts +54 -0
- package/esm/encryption/types.d.mts.map +1 -0
- package/esm/generations/add-command.action.mjs +381 -0
- package/esm/generations/add-command.action.mjs.map +1 -0
- package/esm/generations/stubs.mjs +103 -0
- package/esm/generations/stubs.mjs.map +1 -0
- package/esm/http/config.d.mts +14 -0
- package/esm/http/config.d.mts.map +1 -0
- package/esm/http/config.mjs +26 -0
- package/esm/http/config.mjs.map +1 -0
- package/esm/http/context/request-context.d.mts +50 -0
- package/esm/http/context/request-context.d.mts.map +1 -0
- package/esm/http/context/request-context.mjs +59 -0
- package/esm/http/context/request-context.mjs.map +1 -0
- package/esm/http/createHttpApplication.d.mts +6 -0
- package/esm/http/createHttpApplication.d.mts.map +1 -0
- package/esm/http/createHttpApplication.mjs +38 -0
- package/esm/http/createHttpApplication.mjs.map +1 -0
- package/esm/http/database/RequestLog.d.mts +19 -0
- package/esm/http/database/RequestLog.d.mts.map +1 -0
- package/esm/http/database/RequestLog.mjs +32 -0
- package/esm/http/database/RequestLog.mjs.map +1 -0
- package/esm/http/error-codes.d.mts +44 -0
- package/esm/http/error-codes.d.mts.map +1 -0
- package/esm/http/error-codes.mjs +46 -0
- package/esm/http/error-codes.mjs.map +1 -0
- package/esm/http/errors/errors.d.mts +42 -0
- package/esm/http/errors/errors.d.mts.map +1 -0
- package/esm/http/errors/errors.mjs +70 -0
- package/esm/http/errors/errors.mjs.map +1 -0
- package/esm/http/events.d.mts +8 -0
- package/esm/http/events.d.mts.map +1 -0
- package/esm/http/events.mjs +29 -0
- package/esm/http/events.mjs.map +1 -0
- package/esm/http/index.d.mts +27 -0
- package/esm/http/index.mjs +22 -0
- package/esm/http/middleware/cache-response-middleware.d.mts +38 -0
- package/esm/http/middleware/cache-response-middleware.d.mts.map +1 -0
- package/esm/http/middleware/cache-response-middleware.mjs +39 -0
- package/esm/http/middleware/cache-response-middleware.mjs.map +1 -0
- package/esm/http/middleware/concurrency-limit.middleware.d.mts +53 -0
- package/esm/http/middleware/concurrency-limit.middleware.d.mts.map +1 -0
- package/esm/http/middleware/concurrency-limit.middleware.mjs +67 -0
- package/esm/http/middleware/concurrency-limit.middleware.mjs.map +1 -0
- package/esm/http/middleware/idempotency.middleware.d.mts +61 -0
- package/esm/http/middleware/idempotency.middleware.d.mts.map +1 -0
- package/esm/http/middleware/idempotency.middleware.mjs +88 -0
- package/esm/http/middleware/idempotency.middleware.mjs.map +1 -0
- package/esm/http/middleware/index.d.mts +11 -0
- package/esm/http/middleware/index.mjs +7 -0
- package/esm/http/middleware/inject-request-context.d.mts +25 -0
- package/esm/http/middleware/inject-request-context.d.mts.map +1 -0
- package/esm/http/middleware/inject-request-context.mjs +118 -0
- package/esm/http/middleware/inject-request-context.mjs.map +1 -0
- package/esm/http/middleware/ip-filter.middleware.d.mts +52 -0
- package/esm/http/middleware/ip-filter.middleware.d.mts.map +1 -0
- package/esm/http/middleware/ip-filter.middleware.mjs +51 -0
- package/esm/http/middleware/ip-filter.middleware.mjs.map +1 -0
- package/esm/http/middleware/maintenance.middleware.d.mts +49 -0
- package/esm/http/middleware/maintenance.middleware.d.mts.map +1 -0
- package/esm/http/middleware/maintenance.middleware.mjs +48 -0
- package/esm/http/middleware/maintenance.middleware.mjs.map +1 -0
- package/esm/http/middleware/max-body-size.middleware.d.mts +26 -0
- package/esm/http/middleware/max-body-size.middleware.d.mts.map +1 -0
- package/esm/http/middleware/max-body-size.middleware.mjs +46 -0
- package/esm/http/middleware/max-body-size.middleware.mjs.map +1 -0
- package/esm/http/middleware/middleware-list.d.mts +44 -0
- package/esm/http/middleware/middleware-list.d.mts.map +1 -0
- package/esm/http/middleware/middleware-list.mjs +45 -0
- package/esm/http/middleware/middleware-list.mjs.map +1 -0
- package/esm/http/middleware/rate-limit.middleware.d.mts +51 -0
- package/esm/http/middleware/rate-limit.middleware.d.mts.map +1 -0
- package/esm/http/middleware/rate-limit.middleware.mjs +70 -0
- package/esm/http/middleware/rate-limit.middleware.mjs.map +1 -0
- package/esm/http/middleware/utils/cidr-match.d.mts +12 -0
- package/esm/http/middleware/utils/cidr-match.d.mts.map +1 -0
- package/esm/http/middleware/utils/cidr-match.mjs +51 -0
- package/esm/http/middleware/utils/cidr-match.mjs.map +1 -0
- package/esm/http/middleware/utils/idempotency-key.d.mts +33 -0
- package/esm/http/middleware/utils/idempotency-key.d.mts.map +1 -0
- package/esm/http/middleware/utils/idempotency-key.mjs +51 -0
- package/esm/http/middleware/utils/idempotency-key.mjs.map +1 -0
- package/esm/http/middleware/utils/index.d.mts +3 -0
- package/esm/http/middleware/utils/parse-size.d.mts +5 -0
- package/esm/http/middleware/utils/parse-size.d.mts.map +1 -0
- package/esm/http/middleware/utils/parse-size.mjs +32 -0
- package/esm/http/middleware/utils/parse-size.mjs.map +1 -0
- package/esm/http/plugins.d.mts +7 -0
- package/esm/http/plugins.d.mts.map +1 -0
- package/esm/http/plugins.mjs +37 -0
- package/esm/http/plugins.mjs.map +1 -0
- package/esm/http/request-controller.d.mts +15 -0
- package/esm/http/request-controller.d.mts.map +1 -0
- package/esm/http/request-controller.mjs +11 -0
- package/esm/http/request-controller.mjs.map +1 -0
- package/esm/http/request.d.mts +458 -0
- package/esm/http/request.d.mts.map +1 -0
- package/esm/http/request.mjs +714 -0
- package/esm/http/request.mjs.map +1 -0
- package/esm/http/response.d.mts +452 -0
- package/esm/http/response.d.mts.map +1 -0
- package/esm/http/response.mjs +851 -0
- package/esm/http/response.mjs.map +1 -0
- package/esm/http/server.d.mts +12 -0
- package/esm/http/server.d.mts.map +1 -0
- package/esm/http/server.mjs +28 -0
- package/esm/http/server.mjs.map +1 -0
- package/esm/http/types.d.mts +326 -0
- package/esm/http/types.d.mts.map +1 -0
- package/esm/http/uploaded-file.d.mts +464 -0
- package/esm/http/uploaded-file.d.mts.map +1 -0
- package/esm/http/uploaded-file.mjs +579 -0
- package/esm/http/uploaded-file.mjs.map +1 -0
- package/esm/http/uploads-config.d.mts +30 -0
- package/esm/http/uploads-config.d.mts.map +1 -0
- package/esm/http/uploads-config.mjs +42 -0
- package/esm/http/uploads-config.mjs.map +1 -0
- package/esm/http/uploads-types.d.mts +240 -0
- package/esm/http/uploads-types.d.mts.map +1 -0
- package/esm/image/image.d.mts +389 -0
- package/esm/image/image.d.mts.map +1 -0
- package/esm/image/image.mjs +529 -0
- package/esm/image/image.mjs.map +1 -0
- package/esm/image/index.d.mts +1 -0
- package/esm/image/index.mjs +3 -0
- package/esm/index.d.mts +145 -0
- package/esm/index.mjs +145 -0
- package/esm/logger/index.d.mts +2 -0
- package/esm/logger/index.mjs +3 -0
- package/esm/logger/logger.d.mts +7 -0
- package/esm/logger/logger.d.mts.map +1 -0
- package/esm/logger/logger.mjs +17 -0
- package/esm/logger/logger.mjs.map +1 -0
- package/esm/logger/types.d.mts +42 -0
- package/esm/logger/types.d.mts.map +1 -0
- package/esm/mail/config.d.mts +84 -0
- package/esm/mail/config.d.mts.map +1 -0
- package/esm/mail/config.mjs +143 -0
- package/esm/mail/config.mjs.map +1 -0
- package/esm/mail/events.d.mts +99 -0
- package/esm/mail/events.d.mts.map +1 -0
- package/esm/mail/events.mjs +129 -0
- package/esm/mail/events.mjs.map +1 -0
- package/esm/mail/index.d.mts +8 -0
- package/esm/mail/index.mjs +10 -0
- package/esm/mail/mail.d.mts +178 -0
- package/esm/mail/mail.d.mts.map +1 -0
- package/esm/mail/mail.mjs +289 -0
- package/esm/mail/mail.mjs.map +1 -0
- package/esm/mail/mailer-pool.d.mts +31 -0
- package/esm/mail/mailer-pool.d.mts.map +1 -0
- package/esm/mail/mailer-pool.mjs +190 -0
- package/esm/mail/mailer-pool.mjs.map +1 -0
- package/esm/mail/react-mail.d.mts +16 -0
- package/esm/mail/react-mail.d.mts.map +1 -0
- package/esm/mail/react-mail.mjs +39 -0
- package/esm/mail/react-mail.mjs.map +1 -0
- package/esm/mail/send-mail.d.mts +37 -0
- package/esm/mail/send-mail.d.mts.map +1 -0
- package/esm/mail/send-mail.mjs +264 -0
- package/esm/mail/send-mail.mjs.map +1 -0
- package/esm/mail/test-mailbox.d.mts +50 -0
- package/esm/mail/test-mailbox.d.mts.map +1 -0
- package/esm/mail/test-mailbox.mjs +79 -0
- package/esm/mail/test-mailbox.mjs.map +1 -0
- package/esm/mail/types.d.mts +267 -0
- package/esm/mail/types.d.mts.map +1 -0
- package/esm/mail/types.mjs +16 -0
- package/esm/mail/types.mjs.map +1 -0
- package/esm/manifest/manifest-manager.mjs +79 -0
- package/esm/manifest/manifest-manager.mjs.map +1 -0
- package/esm/production/build-app-production.mjs +14 -0
- package/esm/production/build-app-production.mjs.map +1 -0
- package/esm/production/esbuild-plugins.mjs +37 -0
- package/esm/production/esbuild-plugins.mjs.map +1 -0
- package/esm/production/production-builder.mjs +264 -0
- package/esm/production/production-builder.mjs.map +1 -0
- package/esm/production/resolve-build-config.mjs +28 -0
- package/esm/production/resolve-build-config.mjs.map +1 -0
- package/esm/react/index.d.mts +18 -0
- package/esm/react/index.d.mts.map +1 -0
- package/esm/react/index.mjs +58 -0
- package/esm/react/index.mjs.map +1 -0
- package/esm/repositories/adapters/cascade/cascade-adapter.d.mts +91 -0
- package/esm/repositories/adapters/cascade/cascade-adapter.d.mts.map +1 -0
- package/esm/repositories/adapters/cascade/cascade-adapter.mjs +147 -0
- package/esm/repositories/adapters/cascade/cascade-adapter.mjs.map +1 -0
- package/esm/repositories/adapters/cascade/cascade-query-builder.d.mts +146 -0
- package/esm/repositories/adapters/cascade/cascade-query-builder.d.mts.map +1 -0
- package/esm/repositories/adapters/cascade/cascade-query-builder.mjs +238 -0
- package/esm/repositories/adapters/cascade/cascade-query-builder.mjs.map +1 -0
- package/esm/repositories/adapters/cascade/filter-applicator.mjs +381 -0
- package/esm/repositories/adapters/cascade/filter-applicator.mjs.map +1 -0
- package/esm/repositories/adapters/cascade/index.d.mts +2 -0
- package/esm/repositories/adapters/cascade/index.mjs +4 -0
- package/esm/repositories/contracts/index.d.mts +3 -0
- package/esm/repositories/contracts/query-builder.contract.d.mts +324 -0
- package/esm/repositories/contracts/query-builder.contract.d.mts.map +1 -0
- package/esm/repositories/contracts/repository-adapter.contract.d.mts +187 -0
- package/esm/repositories/contracts/repository-adapter.contract.d.mts.map +1 -0
- package/esm/repositories/contracts/types.d.mts +332 -0
- package/esm/repositories/contracts/types.d.mts.map +1 -0
- package/esm/repositories/index.d.mts +6 -0
- package/esm/repositories/index.mjs +6 -0
- package/esm/repositories/repository.manager.d.mts +700 -0
- package/esm/repositories/repository.manager.d.mts.map +1 -0
- package/esm/repositories/repository.manager.mjs +927 -0
- package/esm/repositories/repository.manager.mjs.map +1 -0
- package/esm/resource/define-resource.d.mts +69 -0
- package/esm/resource/define-resource.d.mts.map +1 -0
- package/esm/resource/define-resource.mjs +63 -0
- package/esm/resource/define-resource.mjs.map +1 -0
- package/esm/resource/index.d.mts +5 -0
- package/esm/resource/index.mjs +6 -0
- package/esm/resource/register-resource.d.mts +25 -0
- package/esm/resource/register-resource.d.mts.map +1 -0
- package/esm/resource/register-resource.mjs +30 -0
- package/esm/resource/register-resource.mjs.map +1 -0
- package/esm/resource/resource-field-builder.d.mts +108 -0
- package/esm/resource/resource-field-builder.d.mts.map +1 -0
- package/esm/resource/resource-field-builder.mjs +187 -0
- package/esm/resource/resource-field-builder.mjs.map +1 -0
- package/esm/resource/resource.d.mts +221 -0
- package/esm/resource/resource.d.mts.map +1 -0
- package/esm/resource/resource.mjs +239 -0
- package/esm/resource/resource.mjs.map +1 -0
- package/esm/resource/types.d.mts +77 -0
- package/esm/resource/types.d.mts.map +1 -0
- package/esm/restful/index.d.mts +1 -0
- package/esm/restful/index.mjs +3 -0
- package/esm/restful/restful.d.mts +115 -0
- package/esm/restful/restful.d.mts.map +1 -0
- package/esm/restful/restful.mjs +212 -0
- package/esm/restful/restful.mjs.map +1 -0
- package/esm/router/index.d.mts +2 -0
- package/esm/router/index.mjs +3 -0
- package/esm/router/route-builder.d.mts +124 -0
- package/esm/router/route-builder.d.mts.map +1 -0
- package/esm/router/route-builder.mjs +182 -0
- package/esm/router/route-builder.mjs.map +1 -0
- package/esm/router/route-registry.mjs +61 -0
- package/esm/router/route-registry.mjs.map +1 -0
- package/esm/router/router.d.mts +192 -0
- package/esm/router/router.d.mts.map +1 -0
- package/esm/router/router.mjs +498 -0
- package/esm/router/router.mjs.map +1 -0
- package/esm/router/types.d.mts +260 -0
- package/esm/router/types.d.mts.map +1 -0
- package/esm/socket/index.d.mts +2 -0
- package/esm/socket/index.mjs +3 -0
- package/esm/socket/types.d.mts +19 -0
- package/esm/socket/types.d.mts.map +1 -0
- package/esm/socket/utils.d.mts +10 -0
- package/esm/socket/utils.d.mts.map +1 -0
- package/esm/socket/utils.mjs +14 -0
- package/esm/socket/utils.mjs.map +1 -0
- package/esm/storage/config.d.mts +19 -0
- package/esm/storage/config.d.mts.map +1 -0
- package/esm/storage/config.mjs +38 -0
- package/esm/storage/config.mjs.map +1 -0
- package/esm/storage/context/storage-driver-context.d.mts +72 -0
- package/esm/storage/context/storage-driver-context.d.mts.map +1 -0
- package/esm/storage/context/storage-driver-context.mjs +87 -0
- package/esm/storage/context/storage-driver-context.mjs.map +1 -0
- package/esm/storage/drivers/cloud-driver.d.mts +208 -0
- package/esm/storage/drivers/cloud-driver.d.mts.map +1 -0
- package/esm/storage/drivers/cloud-driver.mjs +593 -0
- package/esm/storage/drivers/cloud-driver.mjs.map +1 -0
- package/esm/storage/drivers/do-spaces-driver.d.mts +47 -0
- package/esm/storage/drivers/do-spaces-driver.d.mts.map +1 -0
- package/esm/storage/drivers/do-spaces-driver.mjs +53 -0
- package/esm/storage/drivers/do-spaces-driver.mjs.map +1 -0
- package/esm/storage/drivers/local-driver.d.mts +157 -0
- package/esm/storage/drivers/local-driver.d.mts.map +1 -0
- package/esm/storage/drivers/local-driver.mjs +379 -0
- package/esm/storage/drivers/local-driver.mjs.map +1 -0
- package/esm/storage/drivers/r2-driver.d.mts +51 -0
- package/esm/storage/drivers/r2-driver.d.mts.map +1 -0
- package/esm/storage/drivers/r2-driver.mjs +58 -0
- package/esm/storage/drivers/r2-driver.mjs.map +1 -0
- package/esm/storage/drivers/s3-driver.d.mts +36 -0
- package/esm/storage/drivers/s3-driver.d.mts.map +1 -0
- package/esm/storage/drivers/s3-driver.mjs +40 -0
- package/esm/storage/drivers/s3-driver.mjs.map +1 -0
- package/esm/storage/index.d.mts +12 -0
- package/esm/storage/index.mjs +13 -0
- package/esm/storage/scoped-storage.d.mts +549 -0
- package/esm/storage/scoped-storage.d.mts.map +1 -0
- package/esm/storage/scoped-storage.mjs +693 -0
- package/esm/storage/scoped-storage.mjs.map +1 -0
- package/esm/storage/storage-file.d.mts +252 -0
- package/esm/storage/storage-file.d.mts.map +1 -0
- package/esm/storage/storage-file.mjs +363 -0
- package/esm/storage/storage-file.mjs.map +1 -0
- package/esm/storage/storage.d.mts +578 -0
- package/esm/storage/storage.d.mts.map +1 -0
- package/esm/storage/storage.mjs +871 -0
- package/esm/storage/storage.mjs.map +1 -0
- package/esm/storage/types.d.mts +967 -0
- package/esm/storage/types.d.mts.map +1 -0
- package/esm/storage/utils/mime.d.mts +36 -0
- package/esm/storage/utils/mime.d.mts.map +1 -0
- package/esm/storage/utils/mime.mjs +47 -0
- package/esm/storage/utils/mime.mjs.map +1 -0
- package/esm/tests/index.d.mts +3 -0
- package/esm/tests/index.mjs +5 -0
- package/esm/tests/start-http-development-server.d.mts +18 -0
- package/esm/tests/start-http-development-server.d.mts.map +1 -0
- package/esm/tests/start-http-development-server.mjs +74 -0
- package/esm/tests/start-http-development-server.mjs.map +1 -0
- package/esm/tests/test-helpers.d.mts +46 -0
- package/esm/tests/test-helpers.d.mts.map +1 -0
- package/esm/tests/test-helpers.mjs +99 -0
- package/esm/tests/test-helpers.mjs.map +1 -0
- package/esm/tests/vitest-setup.d.mts +14 -0
- package/esm/tests/vitest-setup.d.mts.map +1 -0
- package/esm/tests/vitest-setup.mjs +36 -0
- package/esm/tests/vitest-setup.mjs.map +1 -0
- package/esm/use-cases/index.d.mts +7 -0
- package/esm/use-cases/index.mjs +8 -0
- package/esm/use-cases/types.d.mts +306 -0
- package/esm/use-cases/types.d.mts.map +1 -0
- package/esm/use-cases/use-case-broadcast.d.mts +24 -0
- package/esm/use-cases/use-case-broadcast.d.mts.map +1 -0
- package/esm/use-cases/use-case-broadcast.mjs +36 -0
- package/esm/use-cases/use-case-broadcast.mjs.map +1 -0
- package/esm/use-cases/use-case-events.d.mts +40 -0
- package/esm/use-cases/use-case-events.d.mts.map +1 -0
- package/esm/use-cases/use-case-events.mjs +67 -0
- package/esm/use-cases/use-case-events.mjs.map +1 -0
- package/esm/use-cases/use-case-pipeline.d.mts +33 -0
- package/esm/use-cases/use-case-pipeline.d.mts.map +1 -0
- package/esm/use-cases/use-case-pipeline.mjs +47 -0
- package/esm/use-cases/use-case-pipeline.mjs.map +1 -0
- package/esm/use-cases/use-case.d.mts +35 -0
- package/esm/use-cases/use-case.d.mts.map +1 -0
- package/esm/use-cases/use-case.errors.d.mts +10 -0
- package/esm/use-cases/use-case.errors.d.mts.map +1 -0
- package/esm/use-cases/use-case.errors.mjs +15 -0
- package/esm/use-cases/use-case.errors.mjs.map +1 -0
- package/esm/use-cases/use-case.mjs +138 -0
- package/esm/use-cases/use-case.mjs.map +1 -0
- package/esm/use-cases/use-cases-registry.d.mts +41 -0
- package/esm/use-cases/use-cases-registry.d.mts.map +1 -0
- package/esm/use-cases/use-cases-registry.mjs +110 -0
- package/esm/use-cases/use-cases-registry.mjs.map +1 -0
- package/esm/utils/app-log.d.mts +11 -0
- package/esm/utils/app-log.d.mts.map +1 -0
- package/esm/utils/app-log.mjs +14 -0
- package/esm/utils/app-log.mjs.map +1 -0
- package/esm/utils/database-log.d.mts +28 -0
- package/esm/utils/database-log.d.mts.map +1 -0
- package/esm/utils/database-log.mjs +48 -0
- package/esm/utils/database-log.mjs.map +1 -0
- package/esm/utils/environment.d.mts +7 -0
- package/esm/utils/environment.d.mts.map +1 -0
- package/esm/utils/environment.mjs +11 -0
- package/esm/utils/environment.mjs.map +1 -0
- package/esm/utils/framework-vesion.mjs +24 -0
- package/esm/utils/framework-vesion.mjs.map +1 -0
- package/esm/utils/get-localized.d.mts +13 -0
- package/esm/utils/get-localized.d.mts.map +1 -0
- package/esm/utils/get-localized.mjs +17 -0
- package/esm/utils/get-localized.mjs.map +1 -0
- package/esm/utils/index.d.mts +11 -0
- package/esm/utils/index.mjs +13 -0
- package/esm/utils/paths.d.mts +72 -0
- package/esm/utils/paths.d.mts.map +1 -0
- package/esm/utils/paths.mjs +107 -0
- package/esm/utils/paths.mjs.map +1 -0
- package/esm/utils/promise-all-object.d.mts +9 -0
- package/esm/utils/promise-all-object.d.mts.map +1 -0
- package/esm/utils/promise-all-object.mjs +16 -0
- package/esm/utils/promise-all-object.mjs.map +1 -0
- package/esm/utils/queue.d.mts +52 -0
- package/esm/utils/queue.d.mts.map +1 -0
- package/esm/utils/queue.mjs +66 -0
- package/esm/utils/queue.mjs.map +1 -0
- package/esm/utils/sleep.d.mts +5 -0
- package/esm/utils/sleep.d.mts.map +1 -0
- package/esm/utils/sleep.mjs +8 -0
- package/esm/utils/sleep.mjs.map +1 -0
- package/esm/utils/sluggable.d.mts +10 -0
- package/esm/utils/sluggable.d.mts.map +1 -0
- package/esm/utils/sluggable.mjs +18 -0
- package/esm/utils/sluggable.mjs.map +1 -0
- package/esm/utils/to-json.d.mts +5 -0
- package/esm/utils/to-json.d.mts.map +1 -0
- package/esm/utils/to-json.mjs +23 -0
- package/esm/utils/to-json.mjs.map +1 -0
- package/esm/utils/types.d.mts +24 -0
- package/esm/utils/types.d.mts.map +1 -0
- package/esm/utils/urls.d.mts +24 -0
- package/esm/utils/urls.d.mts.map +1 -0
- package/esm/utils/urls.mjs +38 -0
- package/esm/utils/urls.mjs.map +1 -0
- package/esm/validation/database/exists-except-current-id.d.mts +11 -0
- package/esm/validation/database/exists-except-current-id.d.mts.map +1 -0
- package/esm/validation/database/exists-except-current-id.mjs +30 -0
- package/esm/validation/database/exists-except-current-id.mjs.map +1 -0
- package/esm/validation/database/exists-except-current-user.d.mts +11 -0
- package/esm/validation/database/exists-except-current-user.d.mts.map +1 -0
- package/esm/validation/database/exists-except-current-user.mjs +30 -0
- package/esm/validation/database/exists-except-current-user.mjs.map +1 -0
- package/esm/validation/database/index.d.mts +5 -0
- package/esm/validation/database/index.mjs +6 -0
- package/esm/validation/database/types.d.mts +32 -0
- package/esm/validation/database/types.d.mts.map +1 -0
- package/esm/validation/database/unique-except-current-id.d.mts +11 -0
- package/esm/validation/database/unique-except-current-id.d.mts.map +1 -0
- package/esm/validation/database/unique-except-current-id.mjs +30 -0
- package/esm/validation/database/unique-except-current-id.mjs.map +1 -0
- package/esm/validation/database/unique-except-current-user.d.mts +11 -0
- package/esm/validation/database/unique-except-current-user.d.mts.map +1 -0
- package/esm/validation/database/unique-except-current-user.mjs +35 -0
- package/esm/validation/database/unique-except-current-user.mjs.map +1 -0
- package/esm/validation/file/file.d.mts +26 -0
- package/esm/validation/file/file.d.mts.map +1 -0
- package/esm/validation/file/file.mjs +57 -0
- package/esm/validation/file/file.mjs.map +1 -0
- package/esm/validation/file/index.d.mts +1 -0
- package/esm/validation/file/index.mjs +3 -0
- package/esm/validation/index.d.mts +8 -0
- package/esm/validation/index.mjs +11 -0
- package/esm/validation/init.mjs +47 -0
- package/esm/validation/init.mjs.map +1 -0
- package/esm/validation/plugins/database-plugin.mjs +59 -0
- package/esm/validation/plugins/database-plugin.mjs.map +1 -0
- package/esm/validation/plugins/file-plugin.mjs +20 -0
- package/esm/validation/plugins/file-plugin.mjs.map +1 -0
- package/esm/validation/plugins/index.mjs +5 -0
- package/esm/validation/plugins/localized-plugin.mjs +21 -0
- package/esm/validation/plugins/localized-plugin.mjs.map +1 -0
- package/esm/validation/types.d.mts +71 -0
- package/esm/validation/types.d.mts.map +1 -0
- package/esm/validation/validateAll.mjs +53 -0
- package/esm/validation/validateAll.mjs.map +1 -0
- package/esm/validation/validators/file-validator.d.mts +65 -0
- package/esm/validation/validators/file-validator.d.mts.map +1 -0
- package/esm/validation/validators/file-validator.mjs +125 -0
- package/esm/validation/validators/file-validator.mjs.map +1 -0
- package/esm/validation/validators/index.d.mts +1 -0
- package/esm/validation/validators/index.mjs +3 -0
- package/esm/warlock-config/default-configurations.mjs +11 -0
- package/esm/warlock-config/default-configurations.mjs.map +1 -0
- package/esm/warlock-config/define-config.d.mts +7 -0
- package/esm/warlock-config/define-config.d.mts.map +1 -0
- package/esm/warlock-config/define-config.mjs +11 -0
- package/esm/warlock-config/define-config.mjs.map +1 -0
- package/esm/warlock-config/index.d.mts +3 -0
- package/esm/warlock-config/index.mjs +4 -0
- package/esm/warlock-config/types.d.mts +143 -0
- package/esm/warlock-config/types.d.mts.map +1 -0
- package/esm/warlock-config/warlock-config.manager.d.mts +86 -0
- package/esm/warlock-config/warlock-config.manager.d.mts.map +1 -0
- package/esm/warlock-config/warlock-config.manager.mjs +117 -0
- package/esm/warlock-config/warlock-config.manager.mjs.map +1 -0
- package/llms-full.txt +8233 -0
- package/llms.txt +41 -0
- package/package.json +93 -71
- package/skills/add-connector/SKILL.md +224 -0
- package/skills/benchmark-code/SKILL.md +256 -0
- package/skills/build-restful/SKILL.md +268 -0
- package/skills/build-url/SKILL.md +180 -0
- package/skills/configure-app/SKILL.md +219 -0
- package/skills/create-controller/SKILL.md +223 -0
- package/skills/create-module/SKILL.md +190 -0
- package/skills/define-resource/SKILL.md +297 -0
- package/skills/encrypt-data/SKILL.md +208 -0
- package/skills/hash-password/SKILL.md +183 -0
- package/skills/process-image/SKILL.md +169 -0
- package/skills/register-route/SKILL.md +159 -0
- package/skills/resolve-path/SKILL.md +170 -0
- package/skills/retry-operation/SKILL.md +109 -0
- package/skills/run-app/SKILL.md +256 -0
- package/skills/send-mail/SKILL.md +372 -0
- package/skills/send-response/SKILL.md +245 -0
- package/skills/store-file/SKILL.md +385 -0
- package/skills/test-http/SKILL.md +287 -0
- package/skills/test-service/SKILL.md +241 -0
- package/skills/upload-file/SKILL.md +297 -0
- package/skills/use-app-context/SKILL.md +240 -0
- package/skills/use-localization/SKILL.md +296 -0
- package/skills/use-middleware/SKILL.md +221 -0
- package/skills/use-model-transformers/SKILL.md +220 -0
- package/skills/use-repository/SKILL.md +393 -0
- package/skills/validate-input/SKILL.md +297 -0
- package/skills/warlock-conventions/SKILL.md +125 -0
- package/skills/wire-socket/SKILL.md +284 -0
- package/skills/write-cli-command/SKILL.md +289 -0
- package/skills/write-middleware/SKILL.md +220 -0
- package/skills/write-seeder/SKILL.md +279 -0
- package/skills/write-use-case/SKILL.md +293 -0
- package/esm/application/app.d.ts +0 -13
- package/esm/application/app.d.ts.map +0 -1
- package/esm/application/app.js +0 -29
- package/esm/application/app.js.map +0 -1
- package/esm/application/application-config-types.d.ts +0 -27
- package/esm/application/application-config-types.d.ts.map +0 -1
- package/esm/application/application.d.ts +0 -68
- package/esm/application/application.d.ts.map +0 -1
- package/esm/application/application.js +0 -94
- package/esm/application/application.js.map +0 -1
- package/esm/application/index.d.ts +0 -4
- package/esm/application/index.d.ts.map +0 -1
- package/esm/benchmark/benchmark-snapshots.d.ts +0 -47
- package/esm/benchmark/benchmark-snapshots.d.ts.map +0 -1
- package/esm/benchmark/benchmark-snapshots.js +0 -77
- package/esm/benchmark/benchmark-snapshots.js.map +0 -1
- package/esm/benchmark/benchmark.d.ts +0 -25
- package/esm/benchmark/benchmark.d.ts.map +0 -1
- package/esm/benchmark/benchmark.example.d.ts +0 -2
- package/esm/benchmark/benchmark.example.d.ts.map +0 -1
- package/esm/benchmark/benchmark.js +0 -120
- package/esm/benchmark/benchmark.js.map +0 -1
- package/esm/benchmark/channels/console.channel.d.ts +0 -14
- package/esm/benchmark/channels/console.channel.d.ts.map +0 -1
- package/esm/benchmark/channels/console.channel.js +0 -29
- package/esm/benchmark/channels/console.channel.js.map +0 -1
- package/esm/benchmark/channels/index.d.ts +0 -3
- package/esm/benchmark/channels/index.d.ts.map +0 -1
- package/esm/benchmark/channels/noop.channel.d.ts +0 -5
- package/esm/benchmark/channels/noop.channel.d.ts.map +0 -1
- package/esm/benchmark/channels/noop.channel.js +0 -3
- package/esm/benchmark/channels/noop.channel.js.map +0 -1
- package/esm/benchmark/index.d.ts +0 -7
- package/esm/benchmark/index.d.ts.map +0 -1
- package/esm/benchmark/profiler.d.ts +0 -63
- package/esm/benchmark/profiler.d.ts.map +0 -1
- package/esm/benchmark/profiler.js +0 -155
- package/esm/benchmark/profiler.js.map +0 -1
- package/esm/benchmark/types.d.ts +0 -167
- package/esm/benchmark/types.d.ts.map +0 -1
- package/esm/bootstrap/setup.d.ts +0 -2
- package/esm/bootstrap/setup.d.ts.map +0 -1
- package/esm/bootstrap/setup.js +0 -14
- package/esm/bootstrap/setup.js.map +0 -1
- package/esm/bootstrap.d.ts +0 -2
- package/esm/bootstrap.d.ts.map +0 -1
- package/esm/bootstrap.js +0 -5
- package/esm/bootstrap.js.map +0 -1
- package/esm/cache/database-cache-driver.d.ts +0 -56
- package/esm/cache/database-cache-driver.d.ts.map +0 -1
- package/esm/cache/database-cache-driver.js +0 -112
- package/esm/cache/database-cache-driver.js.map +0 -1
- package/esm/cache/index.d.ts +0 -3
- package/esm/cache/index.d.ts.map +0 -1
- package/esm/cache/index.js +0 -1
- package/esm/cache/index.js.map +0 -1
- package/esm/cli/cli-command.d.ts +0 -115
- package/esm/cli/cli-command.d.ts.map +0 -1
- package/esm/cli/cli-command.js +0 -227
- package/esm/cli/cli-command.js.map +0 -1
- package/esm/cli/cli-commands.manager.d.ts +0 -71
- package/esm/cli/cli-commands.manager.d.ts.map +0 -1
- package/esm/cli/cli-commands.manager.js +0 -362
- package/esm/cli/cli-commands.manager.js.map +0 -1
- package/esm/cli/cli-commands.utils.d.ts +0 -69
- package/esm/cli/cli-commands.utils.d.ts.map +0 -1
- package/esm/cli/cli-commands.utils.js +0 -180
- package/esm/cli/cli-commands.utils.js.map +0 -1
- package/esm/cli/commands/add.command.d.ts +0 -2
- package/esm/cli/commands/add.command.d.ts.map +0 -1
- package/esm/cli/commands/add.command.js +0 -15
- package/esm/cli/commands/add.command.js.map +0 -1
- package/esm/cli/commands/build.command.d.ts +0 -2
- package/esm/cli/commands/build.command.d.ts.map +0 -1
- package/esm/cli/commands/build.command.js +0 -8
- package/esm/cli/commands/build.command.js.map +0 -1
- package/esm/cli/commands/create-database.command.d.ts +0 -2
- package/esm/cli/commands/create-database.command.d.ts.map +0 -1
- package/esm/cli/commands/create-database.command.js +0 -18
- package/esm/cli/commands/create-database.command.js.map +0 -1
- package/esm/cli/commands/dev-server.command.d.ts +0 -2
- package/esm/cli/commands/dev-server.command.d.ts.map +0 -1
- package/esm/cli/commands/dev-server.command.js +0 -18
- package/esm/cli/commands/dev-server.command.js.map +0 -1
- package/esm/cli/commands/drop-tables.command.d.ts +0 -2
- package/esm/cli/commands/drop-tables.command.d.ts.map +0 -1
- package/esm/cli/commands/drop-tables.command.js +0 -17
- package/esm/cli/commands/drop-tables.command.js.map +0 -1
- package/esm/cli/commands/generate/generate.command.d.ts +0 -10
- package/esm/cli/commands/generate/generate.command.d.ts.map +0 -1
- package/esm/cli/commands/generate/generate.command.js +0 -188
- package/esm/cli/commands/generate/generate.command.js.map +0 -1
- package/esm/cli/commands/generate/generators/column-dsl-parser.d.ts +0 -11
- package/esm/cli/commands/generate/generators/column-dsl-parser.d.ts.map +0 -1
- package/esm/cli/commands/generate/generators/column-dsl-parser.js +0 -47
- package/esm/cli/commands/generate/generators/column-dsl-parser.js.map +0 -1
- package/esm/cli/commands/generate/generators/controller.generator.d.ts +0 -3
- package/esm/cli/commands/generate/generators/controller.generator.d.ts.map +0 -1
- package/esm/cli/commands/generate/generators/controller.generator.js +0 -51
- package/esm/cli/commands/generate/generators/controller.generator.js.map +0 -1
- package/esm/cli/commands/generate/generators/migration.generator.d.ts +0 -13
- package/esm/cli/commands/generate/generators/migration.generator.d.ts.map +0 -1
- package/esm/cli/commands/generate/generators/migration.generator.js +0 -82
- package/esm/cli/commands/generate/generators/migration.generator.js.map +0 -1
- package/esm/cli/commands/generate/generators/model.generator.d.ts +0 -3
- package/esm/cli/commands/generate/generators/model.generator.d.ts.map +0 -1
- package/esm/cli/commands/generate/generators/model.generator.js +0 -58
- package/esm/cli/commands/generate/generators/model.generator.js.map +0 -1
- package/esm/cli/commands/generate/generators/module.generator.d.ts +0 -3
- package/esm/cli/commands/generate/generators/module.generator.d.ts.map +0 -1
- package/esm/cli/commands/generate/generators/module.generator.js +0 -149
- package/esm/cli/commands/generate/generators/module.generator.js.map +0 -1
- package/esm/cli/commands/generate/generators/repository.generator.d.ts +0 -3
- package/esm/cli/commands/generate/generators/repository.generator.d.ts.map +0 -1
- package/esm/cli/commands/generate/generators/repository.generator.js +0 -37
- package/esm/cli/commands/generate/generators/repository.generator.js.map +0 -1
- package/esm/cli/commands/generate/generators/resource.generator.d.ts +0 -3
- package/esm/cli/commands/generate/generators/resource.generator.d.ts.map +0 -1
- package/esm/cli/commands/generate/generators/resource.generator.js +0 -37
- package/esm/cli/commands/generate/generators/resource.generator.js.map +0 -1
- package/esm/cli/commands/generate/generators/service.generator.d.ts +0 -3
- package/esm/cli/commands/generate/generators/service.generator.d.ts.map +0 -1
- package/esm/cli/commands/generate/generators/service.generator.js +0 -37
- package/esm/cli/commands/generate/generators/service.generator.js.map +0 -1
- package/esm/cli/commands/generate/generators/validation.generator.d.ts +0 -3
- package/esm/cli/commands/generate/generators/validation.generator.d.ts.map +0 -1
- package/esm/cli/commands/generate/generators/validation.generator.js +0 -46
- package/esm/cli/commands/generate/generators/validation.generator.js.map +0 -1
- package/esm/cli/commands/generate/templates/stubs.d.ts +0 -129
- package/esm/cli/commands/generate/templates/stubs.d.ts.map +0 -1
- package/esm/cli/commands/generate/templates/stubs.js +0 -528
- package/esm/cli/commands/generate/templates/stubs.js.map +0 -1
- package/esm/cli/commands/generate/types.d.ts +0 -53
- package/esm/cli/commands/generate/types.d.ts.map +0 -1
- package/esm/cli/commands/generate/utils/name-parser.d.ts +0 -40
- package/esm/cli/commands/generate/utils/name-parser.d.ts.map +0 -1
- package/esm/cli/commands/generate/utils/name-parser.js +0 -65
- package/esm/cli/commands/generate/utils/name-parser.js.map +0 -1
- package/esm/cli/commands/generate/utils/path-resolver.d.ts +0 -30
- package/esm/cli/commands/generate/utils/path-resolver.d.ts.map +0 -1
- package/esm/cli/commands/generate/utils/path-resolver.js +0 -42
- package/esm/cli/commands/generate/utils/path-resolver.js.map +0 -1
- package/esm/cli/commands/generate/utils/prompt.d.ts +0 -13
- package/esm/cli/commands/generate/utils/prompt.d.ts.map +0 -1
- package/esm/cli/commands/generate/utils/prompt.js +0 -21
- package/esm/cli/commands/generate/utils/prompt.js.map +0 -1
- package/esm/cli/commands/migrate.command.d.ts +0 -2
- package/esm/cli/commands/migrate.command.d.ts.map +0 -1
- package/esm/cli/commands/migrate.command.js +0 -52
- package/esm/cli/commands/migrate.command.js.map +0 -1
- package/esm/cli/commands/seed.command.d.ts +0 -2
- package/esm/cli/commands/seed.command.d.ts.map +0 -1
- package/esm/cli/commands/seed.command.js +0 -29
- package/esm/cli/commands/seed.command.js.map +0 -1
- package/esm/cli/commands/start-production.command.d.ts +0 -2
- package/esm/cli/commands/start-production.command.d.ts.map +0 -1
- package/esm/cli/commands/start-production.command.js +0 -65
- package/esm/cli/commands/start-production.command.js.map +0 -1
- package/esm/cli/commands/storage-put.action.d.ts +0 -22
- package/esm/cli/commands/storage-put.action.d.ts.map +0 -1
- package/esm/cli/commands/storage-put.action.js +0 -75
- package/esm/cli/commands/storage-put.action.js.map +0 -1
- package/esm/cli/commands/storage-put.command.d.ts +0 -20
- package/esm/cli/commands/storage-put.command.d.ts.map +0 -1
- package/esm/cli/commands/storage-put.command.js +0 -41
- package/esm/cli/commands/storage-put.command.js.map +0 -1
- package/esm/cli/commands/typings-generator.command.d.ts +0 -2
- package/esm/cli/commands/typings-generator.command.d.ts.map +0 -1
- package/esm/cli/commands/typings-generator.command.js +0 -37
- package/esm/cli/commands/typings-generator.command.js.map +0 -1
- package/esm/cli/commands-loader.d.ts +0 -18
- package/esm/cli/commands-loader.d.ts.map +0 -1
- package/esm/cli/commands-loader.js +0 -45
- package/esm/cli/commands-loader.js.map +0 -1
- package/esm/cli/framework-cli-commands.d.ts +0 -2
- package/esm/cli/framework-cli-commands.d.ts.map +0 -1
- package/esm/cli/framework-cli-commands.js +0 -27
- package/esm/cli/framework-cli-commands.js.map +0 -1
- package/esm/cli/index.d.ts +0 -3
- package/esm/cli/index.d.ts.map +0 -1
- package/esm/cli/index.js +0 -1
- package/esm/cli/index.js.map +0 -1
- package/esm/cli/parse-cli-args.d.ts +0 -18
- package/esm/cli/parse-cli-args.d.ts.map +0 -1
- package/esm/cli/parse-cli-args.js +0 -82
- package/esm/cli/parse-cli-args.js.map +0 -1
- package/esm/cli/start.d.ts +0 -2
- package/esm/cli/start.d.ts.map +0 -1
- package/esm/cli/start.js +0 -2
- package/esm/cli/start.js.map +0 -1
- package/esm/cli/string-similarity.d.ts +0 -44
- package/esm/cli/string-similarity.d.ts.map +0 -1
- package/esm/cli/string-similarity.js +0 -57
- package/esm/cli/string-similarity.js.map +0 -1
- package/esm/cli/types.d.ts +0 -218
- package/esm/cli/types.d.ts.map +0 -1
- package/esm/config/config-getter.d.ts +0 -35
- package/esm/config/config-getter.d.ts.map +0 -1
- package/esm/config/config-getter.js +0 -21
- package/esm/config/config-getter.js.map +0 -1
- package/esm/config/config-handlers.d.ts +0 -7
- package/esm/config/config-handlers.d.ts.map +0 -1
- package/esm/config/config-handlers.js +0 -19
- package/esm/config/config-handlers.js.map +0 -1
- package/esm/config/config-loader.d.ts +0 -37
- package/esm/config/config-loader.d.ts.map +0 -1
- package/esm/config/config-loader.js +0 -85
- package/esm/config/config-loader.js.map +0 -1
- package/esm/config/config-manager.d.ts +0 -22
- package/esm/config/config-manager.d.ts.map +0 -1
- package/esm/config/config-manager.js +0 -25
- package/esm/config/config-manager.js.map +0 -1
- package/esm/config/config-special-handlers.d.ts +0 -17
- package/esm/config/config-special-handlers.d.ts.map +0 -1
- package/esm/config/config-special-handlers.js +0 -23
- package/esm/config/config-special-handlers.js.map +0 -1
- package/esm/config/index.d.ts +0 -5
- package/esm/config/index.d.ts.map +0 -1
- package/esm/config/load-config-files.d.ts +0 -6
- package/esm/config/load-config-files.d.ts.map +0 -1
- package/esm/config/load-config-files.js +0 -19
- package/esm/config/load-config-files.js.map +0 -1
- package/esm/config/types.d.ts +0 -52
- package/esm/config/types.d.ts.map +0 -1
- package/esm/connectors/base-connector.d.ts +0 -49
- package/esm/connectors/base-connector.d.ts.map +0 -1
- package/esm/connectors/base-connector.js +0 -48
- package/esm/connectors/base-connector.js.map +0 -1
- package/esm/connectors/cache-connector.d.ts +0 -23
- package/esm/connectors/cache-connector.d.ts.map +0 -1
- package/esm/connectors/cache-connector.js +0 -35
- package/esm/connectors/cache-connector.js.map +0 -1
- package/esm/connectors/connectors-manager.d.ts +0 -42
- package/esm/connectors/connectors-manager.d.ts.map +0 -1
- package/esm/connectors/connectors-manager.js +0 -94
- package/esm/connectors/connectors-manager.js.map +0 -1
- package/esm/connectors/database-connector.d.ts +0 -23
- package/esm/connectors/database-connector.d.ts.map +0 -1
- package/esm/connectors/database-connector.js +0 -52
- package/esm/connectors/database-connector.js.map +0 -1
- package/esm/connectors/herald-connector.d.ts +0 -23
- package/esm/connectors/herald-connector.d.ts.map +0 -1
- package/esm/connectors/herald-connector.js +0 -57
- package/esm/connectors/herald-connector.js.map +0 -1
- package/esm/connectors/http-connector.d.ts +0 -31
- package/esm/connectors/http-connector.d.ts.map +0 -1
- package/esm/connectors/http-connector.js +0 -85
- package/esm/connectors/http-connector.js.map +0 -1
- package/esm/connectors/index.d.ts +0 -16
- package/esm/connectors/index.d.ts.map +0 -1
- package/esm/connectors/logger-connector.d.ts +0 -23
- package/esm/connectors/logger-connector.d.ts.map +0 -1
- package/esm/connectors/logger-connector.js +0 -45
- package/esm/connectors/logger-connector.js.map +0 -1
- package/esm/connectors/mail-connector.d.ts +0 -23
- package/esm/connectors/mail-connector.d.ts.map +0 -1
- package/esm/connectors/mail-connector.js +0 -45
- package/esm/connectors/mail-connector.js.map +0 -1
- package/esm/connectors/socket-connector.d.ts +0 -25
- package/esm/connectors/socket-connector.d.ts.map +0 -1
- package/esm/connectors/socket-connector.js +0 -57
- package/esm/connectors/socket-connector.js.map +0 -1
- package/esm/connectors/storage.connector.d.ts +0 -23
- package/esm/connectors/storage.connector.d.ts.map +0 -1
- package/esm/connectors/storage.connector.js +0 -30
- package/esm/connectors/storage.connector.js.map +0 -1
- package/esm/connectors/types.d.ts +0 -55
- package/esm/connectors/types.d.ts.map +0 -1
- package/esm/connectors/types.js +0 -14
- package/esm/connectors/types.js.map +0 -1
- package/esm/container/index.d.ts +0 -38
- package/esm/container/index.d.ts.map +0 -1
- package/esm/container/index.js +0 -22
- package/esm/container/index.js.map +0 -1
- package/esm/database/create-database-action.d.ts +0 -3
- package/esm/database/create-database-action.d.ts.map +0 -1
- package/esm/database/create-database-action.js +0 -28
- package/esm/database/create-database-action.js.map +0 -1
- package/esm/database/drop-tables-action.d.ts +0 -3
- package/esm/database/drop-tables-action.d.ts.map +0 -1
- package/esm/database/drop-tables-action.js +0 -29
- package/esm/database/drop-tables-action.js.map +0 -1
- package/esm/database/index.d.ts +0 -4
- package/esm/database/index.d.ts.map +0 -1
- package/esm/database/migrate-action.d.ts +0 -8
- package/esm/database/migrate-action.d.ts.map +0 -1
- package/esm/database/migrate-action.js +0 -118
- package/esm/database/migrate-action.js.map +0 -1
- package/esm/database/models/database-log/database-log.d.ts +0 -16
- package/esm/database/models/database-log/database-log.d.ts.map +0 -1
- package/esm/database/models/database-log/database-log.js +0 -17
- package/esm/database/models/database-log/database-log.js.map +0 -1
- package/esm/database/models/database-log/index.d.ts +0 -2
- package/esm/database/models/database-log/index.d.ts.map +0 -1
- package/esm/database/seed-command-action.d.ts +0 -16
- package/esm/database/seed-command-action.d.ts.map +0 -1
- package/esm/database/seed-command-action.js +0 -68
- package/esm/database/seed-command-action.js.map +0 -1
- package/esm/database/seeds/index.d.ts +0 -3
- package/esm/database/seeds/index.d.ts.map +0 -1
- package/esm/database/seeds/seeder.d.ts +0 -40
- package/esm/database/seeds/seeder.d.ts.map +0 -1
- package/esm/database/seeds/seeder.js +0 -6
- package/esm/database/seeds/seeder.js.map +0 -1
- package/esm/database/seeds/seeders.manager.d.ts +0 -51
- package/esm/database/seeds/seeders.manager.d.ts.map +0 -1
- package/esm/database/seeds/seeders.manager.js +0 -150
- package/esm/database/seeds/seeders.manager.js.map +0 -1
- package/esm/database/seeds/seeds-table-migration.d.ts +0 -8
- package/esm/database/seeds/seeds-table-migration.d.ts.map +0 -1
- package/esm/database/seeds/seeds-table-migration.js +0 -18
- package/esm/database/seeds/seeds-table-migration.js.map +0 -1
- package/esm/database/seeds/types.d.ts +0 -13
- package/esm/database/seeds/types.d.ts.map +0 -1
- package/esm/database/seeds/utils.d.ts +0 -2
- package/esm/database/seeds/utils.d.ts.map +0 -1
- package/esm/database/seeds/utils.js +0 -1
- package/esm/database/seeds/utils.js.map +0 -1
- package/esm/database/utils.d.ts +0 -17
- package/esm/database/utils.d.ts.map +0 -1
- package/esm/database/utils.js +0 -30
- package/esm/database/utils.js.map +0 -1
- package/esm/dev-server/create-worker.d.ts +0 -34
- package/esm/dev-server/create-worker.d.ts.map +0 -1
- package/esm/dev-server/create-worker.js +0 -37
- package/esm/dev-server/create-worker.js.map +0 -1
- package/esm/dev-server/dependency-graph.d.ts +0 -102
- package/esm/dev-server/dependency-graph.d.ts.map +0 -1
- package/esm/dev-server/dependency-graph.js +0 -310
- package/esm/dev-server/dependency-graph.js.map +0 -1
- package/esm/dev-server/dev-logger.d.ts +0 -14
- package/esm/dev-server/dev-logger.d.ts.map +0 -1
- package/esm/dev-server/dev-logger.js +0 -130
- package/esm/dev-server/dev-logger.js.map +0 -1
- package/esm/dev-server/development-server.d.ts +0 -55
- package/esm/dev-server/development-server.d.ts.map +0 -1
- package/esm/dev-server/development-server.js +0 -199
- package/esm/dev-server/development-server.js.map +0 -1
- package/esm/dev-server/events.d.ts +0 -5
- package/esm/dev-server/events.d.ts.map +0 -1
- package/esm/dev-server/events.js +0 -4
- package/esm/dev-server/events.js.map +0 -1
- package/esm/dev-server/export-analyzer.d.ts +0 -84
- package/esm/dev-server/export-analyzer.d.ts.map +0 -1
- package/esm/dev-server/export-analyzer.js +0 -206
- package/esm/dev-server/export-analyzer.js.map +0 -1
- package/esm/dev-server/file-event-handler.d.ts +0 -156
- package/esm/dev-server/file-event-handler.d.ts.map +0 -1
- package/esm/dev-server/file-event-handler.js +0 -309
- package/esm/dev-server/file-event-handler.js.map +0 -1
- package/esm/dev-server/file-manager.d.ts +0 -394
- package/esm/dev-server/file-manager.d.ts.map +0 -1
- package/esm/dev-server/file-manager.js +0 -603
- package/esm/dev-server/file-manager.js.map +0 -1
- package/esm/dev-server/file-operations.d.ts +0 -203
- package/esm/dev-server/file-operations.d.ts.map +0 -1
- package/esm/dev-server/file-operations.js +0 -365
- package/esm/dev-server/file-operations.js.map +0 -1
- package/esm/dev-server/files-orchestrator.d.ts +0 -153
- package/esm/dev-server/files-orchestrator.d.ts.map +0 -1
- package/esm/dev-server/files-orchestrator.js +0 -349
- package/esm/dev-server/files-orchestrator.js.map +0 -1
- package/esm/dev-server/files-watcher.d.ts +0 -67
- package/esm/dev-server/files-watcher.d.ts.map +0 -1
- package/esm/dev-server/files-watcher.js +0 -121
- package/esm/dev-server/files-watcher.js.map +0 -1
- package/esm/dev-server/flags.d.ts +0 -10
- package/esm/dev-server/flags.d.ts.map +0 -1
- package/esm/dev-server/flags.js +0 -9
- package/esm/dev-server/flags.js.map +0 -1
- package/esm/dev-server/health-checker/checkers/base-health-checker.d.ts +0 -52
- package/esm/dev-server/health-checker/checkers/base-health-checker.d.ts.map +0 -1
- package/esm/dev-server/health-checker/checkers/base-health-checker.js +0 -71
- package/esm/dev-server/health-checker/checkers/base-health-checker.js.map +0 -1
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.ts +0 -40
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.d.ts.map +0 -1
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.js +0 -217
- package/esm/dev-server/health-checker/checkers/eslint-health-checker.js.map +0 -1
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.ts +0 -56
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.d.ts.map +0 -1
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.js +0 -279
- package/esm/dev-server/health-checker/checkers/typescript-health-checker.js.map +0 -1
- package/esm/dev-server/health-checker/file-health-checker.contract.d.ts +0 -59
- package/esm/dev-server/health-checker/file-health-checker.contract.d.ts.map +0 -1
- package/esm/dev-server/health-checker/file-health-result.d.ts +0 -68
- package/esm/dev-server/health-checker/file-health-result.d.ts.map +0 -1
- package/esm/dev-server/health-checker/file-health-result.js +0 -40
- package/esm/dev-server/health-checker/file-health-result.js.map +0 -1
- package/esm/dev-server/health-checker/files-healthcare.manager.d.ts +0 -115
- package/esm/dev-server/health-checker/files-healthcare.manager.d.ts.map +0 -1
- package/esm/dev-server/health-checker/files-healthcare.manager.js +0 -422
- package/esm/dev-server/health-checker/files-healthcare.manager.js.map +0 -1
- package/esm/dev-server/health-checker/index.d.ts +0 -6
- package/esm/dev-server/health-checker/index.d.ts.map +0 -1
- package/esm/dev-server/health-checker/workers/eslint-health.worker.d.ts +0 -2
- package/esm/dev-server/health-checker/workers/eslint-health.worker.d.ts.map +0 -1
- package/esm/dev-server/health-checker/workers/eslint-health.worker.js +0 -214
- package/esm/dev-server/health-checker/workers/eslint-health.worker.js.map +0 -1
- package/esm/dev-server/health-checker/workers/ts-health.worker.d.ts +0 -2
- package/esm/dev-server/health-checker/workers/ts-health.worker.d.ts.map +0 -1
- package/esm/dev-server/health-checker/workers/ts-health.worker.js +0 -261
- package/esm/dev-server/health-checker/workers/ts-health.worker.js.map +0 -1
- package/esm/dev-server/import-deduplicator.d.ts +0 -75
- package/esm/dev-server/import-deduplicator.d.ts.map +0 -1
- package/esm/dev-server/import-deduplicator.js +0 -288
- package/esm/dev-server/import-deduplicator.js.map +0 -1
- package/esm/dev-server/import-deduplicator.test.d.ts +0 -7
- package/esm/dev-server/import-deduplicator.test.d.ts.map +0 -1
- package/esm/dev-server/import-transformer.d.ts +0 -17
- package/esm/dev-server/import-transformer.d.ts.map +0 -1
- package/esm/dev-server/import-transformer.js +0 -221
- package/esm/dev-server/import-transformer.js.map +0 -1
- package/esm/dev-server/index.d.ts +0 -1
- package/esm/dev-server/index.d.ts.map +0 -1
- package/esm/dev-server/layer-executor.d.ts +0 -64
- package/esm/dev-server/layer-executor.d.ts.map +0 -1
- package/esm/dev-server/layer-executor.js +0 -338
- package/esm/dev-server/layer-executor.js.map +0 -1
- package/esm/dev-server/manifest-manager.d.ts +0 -80
- package/esm/dev-server/manifest-manager.d.ts.map +0 -1
- package/esm/dev-server/manifest-manager.js +0 -107
- package/esm/dev-server/manifest-manager.js.map +0 -1
- package/esm/dev-server/module-loader.d.ts +0 -111
- package/esm/dev-server/module-loader.d.ts.map +0 -1
- package/esm/dev-server/module-loader.js +0 -276
- package/esm/dev-server/module-loader.js.map +0 -1
- package/esm/dev-server/package-json-manager.d.ts +0 -16
- package/esm/dev-server/package-json-manager.d.ts.map +0 -1
- package/esm/dev-server/package-json-manager.js +0 -20
- package/esm/dev-server/package-json-manager.js.map +0 -1
- package/esm/dev-server/parse-imports.d.ts +0 -34
- package/esm/dev-server/parse-imports.d.ts.map +0 -1
- package/esm/dev-server/parse-imports.js +0 -426
- package/esm/dev-server/parse-imports.js.map +0 -1
- package/esm/dev-server/path.d.ts +0 -39
- package/esm/dev-server/path.d.ts.map +0 -1
- package/esm/dev-server/path.js +0 -56
- package/esm/dev-server/path.js.map +0 -1
- package/esm/dev-server/runtime-import-helper.d.ts +0 -8
- package/esm/dev-server/runtime-import-helper.d.ts.map +0 -1
- package/esm/dev-server/runtime-import-helper.js +0 -158
- package/esm/dev-server/runtime-import-helper.js.map +0 -1
- package/esm/dev-server/special-files-collector.d.ts +0 -114
- package/esm/dev-server/special-files-collector.d.ts.map +0 -1
- package/esm/dev-server/special-files-collector.js +0 -212
- package/esm/dev-server/special-files-collector.js.map +0 -1
- package/esm/dev-server/start-development-server.d.ts +0 -7
- package/esm/dev-server/start-development-server.d.ts.map +0 -1
- package/esm/dev-server/start-development-server.js +0 -21
- package/esm/dev-server/start-development-server.js.map +0 -1
- package/esm/dev-server/transpile-file.d.ts +0 -11
- package/esm/dev-server/transpile-file.d.ts.map +0 -1
- package/esm/dev-server/transpile-file.js +0 -30
- package/esm/dev-server/transpile-file.js.map +0 -1
- package/esm/dev-server/tsconfig-manager.d.ts +0 -45
- package/esm/dev-server/tsconfig-manager.d.ts.map +0 -1
- package/esm/dev-server/tsconfig-manager.js +0 -107
- package/esm/dev-server/tsconfig-manager.js.map +0 -1
- package/esm/dev-server/type-generator.d.ts +0 -115
- package/esm/dev-server/type-generator.d.ts.map +0 -1
- package/esm/dev-server/type-generator.js +0 -566
- package/esm/dev-server/type-generator.js.map +0 -1
- package/esm/dev-server/types.d.ts +0 -30
- package/esm/dev-server/types.d.ts.map +0 -1
- package/esm/dev-server/utils.d.ts +0 -15
- package/esm/dev-server/utils.d.ts.map +0 -1
- package/esm/dev-server/utils.js +0 -41
- package/esm/dev-server/utils.js.map +0 -1
- package/esm/encryption/encrypt.d.ts +0 -23
- package/esm/encryption/encrypt.d.ts.map +0 -1
- package/esm/encryption/encrypt.js +0 -85
- package/esm/encryption/encrypt.js.map +0 -1
- package/esm/encryption/hash.d.ts +0 -17
- package/esm/encryption/hash.d.ts.map +0 -1
- package/esm/encryption/hash.js +0 -26
- package/esm/encryption/hash.js.map +0 -1
- package/esm/encryption/index.d.ts +0 -5
- package/esm/encryption/index.d.ts.map +0 -1
- package/esm/encryption/password.d.ts +0 -23
- package/esm/encryption/password.d.ts.map +0 -1
- package/esm/encryption/password.js +0 -72
- package/esm/encryption/password.js.map +0 -1
- package/esm/encryption/types.d.ts +0 -51
- package/esm/encryption/types.d.ts.map +0 -1
- package/esm/generations/add-command.action.d.ts +0 -3
- package/esm/generations/add-command.action.d.ts.map +0 -1
- package/esm/generations/add-command.action.js +0 -382
- package/esm/generations/add-command.action.js.map +0 -1
- package/esm/generations/stubs.d.ts +0 -2
- package/esm/generations/stubs.d.ts.map +0 -1
- package/esm/generations/stubs.js +0 -81
- package/esm/generations/stubs.js.map +0 -1
- package/esm/http/config.d.ts +0 -10
- package/esm/http/config.d.ts.map +0 -1
- package/esm/http/config.js +0 -22
- package/esm/http/config.js.map +0 -1
- package/esm/http/context/request-context.d.ts +0 -47
- package/esm/http/context/request-context.d.ts.map +0 -1
- package/esm/http/context/request-context.js +0 -52
- package/esm/http/context/request-context.js.map +0 -1
- package/esm/http/createHttpApplication.d.ts +0 -3
- package/esm/http/createHttpApplication.d.ts.map +0 -1
- package/esm/http/createHttpApplication.js +0 -28
- package/esm/http/createHttpApplication.js.map +0 -1
- package/esm/http/database/RequestLog.d.ts +0 -16
- package/esm/http/database/RequestLog.d.ts.map +0 -1
- package/esm/http/database/RequestLog.js +0 -26
- package/esm/http/database/RequestLog.js.map +0 -1
- package/esm/http/errors/errors.d.ts +0 -39
- package/esm/http/errors/errors.d.ts.map +0 -1
- package/esm/http/errors/errors.js +0 -76
- package/esm/http/errors/errors.js.map +0 -1
- package/esm/http/errors/index.d.ts +0 -2
- package/esm/http/errors/index.d.ts.map +0 -1
- package/esm/http/events.d.ts +0 -4
- package/esm/http/events.d.ts.map +0 -1
- package/esm/http/events.js +0 -26
- package/esm/http/events.js.map +0 -1
- package/esm/http/index.d.ts +0 -17
- package/esm/http/index.d.ts.map +0 -1
- package/esm/http/middleware/cache-response-middleware.d.ts +0 -34
- package/esm/http/middleware/cache-response-middleware.d.ts.map +0 -1
- package/esm/http/middleware/cache-response-middleware.js +0 -45
- package/esm/http/middleware/cache-response-middleware.js.map +0 -1
- package/esm/http/middleware/index.d.ts +0 -3
- package/esm/http/middleware/index.d.ts.map +0 -1
- package/esm/http/middleware/inject-request-context.d.ts +0 -21
- package/esm/http/middleware/inject-request-context.d.ts.map +0 -1
- package/esm/http/middleware/inject-request-context.js +0 -119
- package/esm/http/middleware/inject-request-context.js.map +0 -1
- package/esm/http/plugins.d.ts +0 -3
- package/esm/http/plugins.d.ts.map +0 -1
- package/esm/http/plugins.js +0 -36
- package/esm/http/plugins.js.map +0 -1
- package/esm/http/request-controller.d.ts +0 -11
- package/esm/http/request-controller.d.ts.map +0 -1
- package/esm/http/request-controller.js +0 -9
- package/esm/http/request-controller.js.map +0 -1
- package/esm/http/request.d.ts +0 -400
- package/esm/http/request.d.ts.map +0 -1
- package/esm/http/request.js +0 -768
- package/esm/http/request.js.map +0 -1
- package/esm/http/response.d.ts +0 -379
- package/esm/http/response.d.ts.map +0 -1
- package/esm/http/response.js +0 -983
- package/esm/http/response.js.map +0 -1
- package/esm/http/server.d.ts +0 -8
- package/esm/http/server.d.ts.map +0 -1
- package/esm/http/server.js +0 -15
- package/esm/http/server.js.map +0 -1
- package/esm/http/types.d.ts +0 -230
- package/esm/http/types.d.ts.map +0 -1
- package/esm/http/uploaded-file.d.ts +0 -459
- package/esm/http/uploaded-file.d.ts.map +0 -1
- package/esm/http/uploaded-file.js +0 -709
- package/esm/http/uploaded-file.js.map +0 -1
- package/esm/http/uploads-config.d.ts +0 -26
- package/esm/http/uploads-config.d.ts.map +0 -1
- package/esm/http/uploads-config.js +0 -35
- package/esm/http/uploads-config.js.map +0 -1
- package/esm/http/uploads-types.d.ts +0 -236
- package/esm/http/uploads-types.d.ts.map +0 -1
- package/esm/image/image.d.ts +0 -388
- package/esm/image/image.d.ts.map +0 -1
- package/esm/image/image.js +0 -608
- package/esm/image/image.js.map +0 -1
- package/esm/image/index.d.ts +0 -2
- package/esm/image/index.d.ts.map +0 -1
- package/esm/index.d.ts +0 -36
- package/esm/index.d.ts.map +0 -1
- package/esm/index.js +0 -1
- package/esm/index.js.map +0 -1
- package/esm/logger/index.d.ts +0 -3
- package/esm/logger/index.d.ts.map +0 -1
- package/esm/logger/logger.d.ts +0 -3
- package/esm/logger/logger.d.ts.map +0 -1
- package/esm/logger/logger.js +0 -16
- package/esm/logger/logger.js.map +0 -1
- package/esm/logger/types.d.ts +0 -39
- package/esm/logger/types.d.ts.map +0 -1
- package/esm/mail/config.d.ts +0 -80
- package/esm/mail/config.d.ts.map +0 -1
- package/esm/mail/config.js +0 -158
- package/esm/mail/config.js.map +0 -1
- package/esm/mail/events.d.ts +0 -96
- package/esm/mail/events.d.ts.map +0 -1
- package/esm/mail/events.js +0 -123
- package/esm/mail/events.js.map +0 -1
- package/esm/mail/index.d.ts +0 -10
- package/esm/mail/index.d.ts.map +0 -1
- package/esm/mail/mail.d.ts +0 -175
- package/esm/mail/mail.d.ts.map +0 -1
- package/esm/mail/mail.js +0 -286
- package/esm/mail/mail.js.map +0 -1
- package/esm/mail/mailer-pool.d.ts +0 -27
- package/esm/mail/mailer-pool.d.ts.map +0 -1
- package/esm/mail/mailer-pool.js +0 -215
- package/esm/mail/mailer-pool.js.map +0 -1
- package/esm/mail/react-mail.d.ts +0 -12
- package/esm/mail/react-mail.d.ts.map +0 -1
- package/esm/mail/react-mail.js +0 -40
- package/esm/mail/react-mail.js.map +0 -1
- package/esm/mail/send-mail.d.ts +0 -33
- package/esm/mail/send-mail.d.ts.map +0 -1
- package/esm/mail/send-mail.js +0 -313
- package/esm/mail/send-mail.js.map +0 -1
- package/esm/mail/test-mailbox.d.ts +0 -110
- package/esm/mail/test-mailbox.d.ts.map +0 -1
- package/esm/mail/test-mailbox.js +0 -143
- package/esm/mail/test-mailbox.js.map +0 -1
- package/esm/mail/types.d.ts +0 -264
- package/esm/mail/types.d.ts.map +0 -1
- package/esm/mail/types.js +0 -13
- package/esm/mail/types.js.map +0 -1
- package/esm/manifest/manifest-manager.d.ts +0 -74
- package/esm/manifest/manifest-manager.d.ts.map +0 -1
- package/esm/manifest/manifest-manager.js +0 -88
- package/esm/manifest/manifest-manager.js.map +0 -1
- package/esm/production/build-app-production.d.ts +0 -6
- package/esm/production/build-app-production.d.ts.map +0 -1
- package/esm/production/build-app-production.js +0 -8
- package/esm/production/build-app-production.js.map +0 -1
- package/esm/production/esbuild-plugins.d.ts +0 -5
- package/esm/production/esbuild-plugins.d.ts.map +0 -1
- package/esm/production/esbuild-plugins.js +0 -23
- package/esm/production/esbuild-plugins.js.map +0 -1
- package/esm/production/production-builder.d.ts +0 -76
- package/esm/production/production-builder.d.ts.map +0 -1
- package/esm/production/production-builder.js +0 -254
- package/esm/production/production-builder.js.map +0 -1
- package/esm/react/index.d.ts +0 -14
- package/esm/react/index.d.ts.map +0 -1
- package/esm/react/index.js +0 -65
- package/esm/react/index.js.map +0 -1
- package/esm/repositories/adapters/cascade/cascade-adapter.d.ts +0 -85
- package/esm/repositories/adapters/cascade/cascade-adapter.d.ts.map +0 -1
- package/esm/repositories/adapters/cascade/cascade-adapter.js +0 -179
- package/esm/repositories/adapters/cascade/cascade-adapter.js.map +0 -1
- package/esm/repositories/adapters/cascade/cascade-query-builder.d.ts +0 -141
- package/esm/repositories/adapters/cascade/cascade-query-builder.d.ts.map +0 -1
- package/esm/repositories/adapters/cascade/cascade-query-builder.js +0 -281
- package/esm/repositories/adapters/cascade/cascade-query-builder.js.map +0 -1
- package/esm/repositories/adapters/cascade/filter-applicator.d.ts +0 -126
- package/esm/repositories/adapters/cascade/filter-applicator.d.ts.map +0 -1
- package/esm/repositories/adapters/cascade/filter-applicator.js +0 -549
- package/esm/repositories/adapters/cascade/filter-applicator.js.map +0 -1
- package/esm/repositories/adapters/cascade/index.d.ts +0 -7
- package/esm/repositories/adapters/cascade/index.d.ts.map +0 -1
- package/esm/repositories/contracts/index.d.ts +0 -8
- package/esm/repositories/contracts/index.d.ts.map +0 -1
- package/esm/repositories/contracts/query-builder.contract.d.ts +0 -320
- package/esm/repositories/contracts/query-builder.contract.d.ts.map +0 -1
- package/esm/repositories/contracts/repository-adapter.contract.d.ts +0 -183
- package/esm/repositories/contracts/repository-adapter.contract.d.ts.map +0 -1
- package/esm/repositories/contracts/types.d.ts +0 -328
- package/esm/repositories/contracts/types.d.ts.map +0 -1
- package/esm/repositories/index.d.ts +0 -8
- package/esm/repositories/index.d.ts.map +0 -1
- package/esm/repositories/repository.manager.d.ts +0 -694
- package/esm/repositories/repository.manager.d.ts.map +0 -1
- package/esm/repositories/repository.manager.js +0 -1123
- package/esm/repositories/repository.manager.js.map +0 -1
- package/esm/resource/define-resource.d.ts +0 -65
- package/esm/resource/define-resource.d.ts.map +0 -1
- package/esm/resource/define-resource.js +0 -62
- package/esm/resource/define-resource.js.map +0 -1
- package/esm/resource/index.d.ts +0 -6
- package/esm/resource/index.d.ts.map +0 -1
- package/esm/resource/register-resource.d.ts +0 -21
- package/esm/resource/register-resource.d.ts.map +0 -1
- package/esm/resource/register-resource.js +0 -23
- package/esm/resource/register-resource.js.map +0 -1
- package/esm/resource/resource-field-builder.d.ts +0 -104
- package/esm/resource/resource-field-builder.d.ts.map +0 -1
- package/esm/resource/resource-field-builder.js +0 -260
- package/esm/resource/resource-field-builder.js.map +0 -1
- package/esm/resource/resource.d.ts +0 -217
- package/esm/resource/resource.d.ts.map +0 -1
- package/esm/resource/resource.js +0 -307
- package/esm/resource/resource.js.map +0 -1
- package/esm/resource/types.d.ts +0 -74
- package/esm/resource/types.d.ts.map +0 -1
- package/esm/restful/index.d.ts +0 -2
- package/esm/restful/index.d.ts.map +0 -1
- package/esm/restful/restful.d.ts +0 -110
- package/esm/restful/restful.d.ts.map +0 -1
- package/esm/restful/restful.js +0 -317
- package/esm/restful/restful.js.map +0 -1
- package/esm/retry/index.d.ts +0 -3
- package/esm/retry/index.d.ts.map +0 -1
- package/esm/retry/retry.d.ts +0 -21
- package/esm/retry/retry.d.ts.map +0 -1
- package/esm/retry/retry.js +0 -39
- package/esm/retry/retry.js.map +0 -1
- package/esm/retry/types.d.ts +0 -27
- package/esm/retry/types.d.ts.map +0 -1
- package/esm/router/index.d.ts +0 -3
- package/esm/router/index.d.ts.map +0 -1
- package/esm/router/route-builder.d.ts +0 -120
- package/esm/router/route-builder.d.ts.map +0 -1
- package/esm/router/route-builder.js +0 -201
- package/esm/router/route-builder.js.map +0 -1
- package/esm/router/route-registry.d.ts +0 -30
- package/esm/router/route-registry.d.ts.map +0 -1
- package/esm/router/route-registry.js +0 -67
- package/esm/router/route-registry.js.map +0 -1
- package/esm/router/route.d.ts +0 -34
- package/esm/router/route.d.ts.map +0 -1
- package/esm/router/router.d.ts +0 -188
- package/esm/router/router.d.ts.map +0 -1
- package/esm/router/router.js +0 -606
- package/esm/router/router.js.map +0 -1
- package/esm/router/types.d.ts +0 -254
- package/esm/router/types.d.ts.map +0 -1
- package/esm/socket/index.d.ts +0 -3
- package/esm/socket/index.d.ts.map +0 -1
- package/esm/socket/types.d.ts +0 -16
- package/esm/socket/types.d.ts.map +0 -1
- package/esm/socket/utils.d.ts +0 -6
- package/esm/socket/utils.d.ts.map +0 -1
- package/esm/socket/utils.js +0 -9
- package/esm/socket/utils.js.map +0 -1
- package/esm/storage/config.d.ts +0 -15
- package/esm/storage/config.d.ts.map +0 -1
- package/esm/storage/config.js +0 -32
- package/esm/storage/config.js.map +0 -1
- package/esm/storage/context/storage-driver-context.d.ts +0 -69
- package/esm/storage/context/storage-driver-context.d.ts.map +0 -1
- package/esm/storage/context/storage-driver-context.js +0 -80
- package/esm/storage/context/storage-driver-context.js.map +0 -1
- package/esm/storage/drivers/cloud-driver.d.ts +0 -206
- package/esm/storage/drivers/cloud-driver.d.ts.map +0 -1
- package/esm/storage/drivers/cloud-driver.js +0 -721
- package/esm/storage/drivers/cloud-driver.js.map +0 -1
- package/esm/storage/drivers/do-spaces-driver.d.ts +0 -43
- package/esm/storage/drivers/do-spaces-driver.d.ts.map +0 -1
- package/esm/storage/drivers/do-spaces-driver.js +0 -50
- package/esm/storage/drivers/do-spaces-driver.js.map +0 -1
- package/esm/storage/drivers/local-driver.d.ts +0 -155
- package/esm/storage/drivers/local-driver.d.ts.map +0 -1
- package/esm/storage/drivers/local-driver.js +0 -450
- package/esm/storage/drivers/local-driver.js.map +0 -1
- package/esm/storage/drivers/r2-driver.d.ts +0 -47
- package/esm/storage/drivers/r2-driver.d.ts.map +0 -1
- package/esm/storage/drivers/r2-driver.js +0 -60
- package/esm/storage/drivers/r2-driver.js.map +0 -1
- package/esm/storage/drivers/s3-driver.d.ts +0 -32
- package/esm/storage/drivers/s3-driver.d.ts.map +0 -1
- package/esm/storage/drivers/s3-driver.js +0 -37
- package/esm/storage/drivers/s3-driver.js.map +0 -1
- package/esm/storage/index.d.ts +0 -13
- package/esm/storage/index.d.ts.map +0 -1
- package/esm/storage/scoped-storage.d.ts +0 -547
- package/esm/storage/scoped-storage.d.ts.map +0 -1
- package/esm/storage/scoped-storage.js +0 -739
- package/esm/storage/scoped-storage.js.map +0 -1
- package/esm/storage/storage-file.d.ts +0 -250
- package/esm/storage/storage-file.d.ts.map +0 -1
- package/esm/storage/storage-file.js +0 -417
- package/esm/storage/storage-file.js.map +0 -1
- package/esm/storage/storage.d.ts +0 -576
- package/esm/storage/storage.d.ts.map +0 -1
- package/esm/storage/storage.js +0 -939
- package/esm/storage/storage.js.map +0 -1
- package/esm/storage/types.d.ts +0 -966
- package/esm/storage/types.d.ts.map +0 -1
- package/esm/storage/utils/mime.d.ts +0 -33
- package/esm/storage/utils/mime.d.ts.map +0 -1
- package/esm/storage/utils/mime.js +0 -45
- package/esm/storage/utils/mime.js.map +0 -1
- package/esm/tests/index.d.ts +0 -9
- package/esm/tests/index.d.ts.map +0 -1
- package/esm/tests/start-http-development-server.d.ts +0 -15
- package/esm/tests/start-http-development-server.d.ts.map +0 -1
- package/esm/tests/start-http-development-server.js +0 -69
- package/esm/tests/start-http-development-server.js.map +0 -1
- package/esm/tests/test-helpers.d.ts +0 -43
- package/esm/tests/test-helpers.d.ts.map +0 -1
- package/esm/tests/test-helpers.js +0 -86
- package/esm/tests/test-helpers.js.map +0 -1
- package/esm/tests/vitest-setup.d.ts +0 -10
- package/esm/tests/vitest-setup.d.ts.map +0 -1
- package/esm/tests/vitest-setup.js +0 -36
- package/esm/tests/vitest-setup.js.map +0 -1
- package/esm/use-cases/index.d.ts +0 -7
- package/esm/use-cases/index.d.ts.map +0 -1
- package/esm/use-cases/types.d.ts +0 -267
- package/esm/use-cases/types.d.ts.map +0 -1
- package/esm/use-cases/use-case-events.d.ts +0 -33
- package/esm/use-cases/use-case-events.d.ts.map +0 -1
- package/esm/use-cases/use-case-events.js +0 -65
- package/esm/use-cases/use-case-events.js.map +0 -1
- package/esm/use-cases/use-case-pipeline.d.ts +0 -29
- package/esm/use-cases/use-case-pipeline.d.ts.map +0 -1
- package/esm/use-cases/use-case-pipeline.js +0 -45
- package/esm/use-cases/use-case-pipeline.js.map +0 -1
- package/esm/use-cases/use-case.d.ts +0 -27
- package/esm/use-cases/use-case.d.ts.map +0 -1
- package/esm/use-cases/use-case.errors.d.ts +0 -6
- package/esm/use-cases/use-case.errors.d.ts.map +0 -1
- package/esm/use-cases/use-case.errors.js +0 -8
- package/esm/use-cases/use-case.errors.js.map +0 -1
- package/esm/use-cases/use-case.js +0 -138
- package/esm/use-cases/use-case.js.map +0 -1
- package/esm/use-cases/use-cases-registry.d.ts +0 -38
- package/esm/use-cases/use-cases-registry.d.ts.map +0 -1
- package/esm/use-cases/use-cases-registry.js +0 -92
- package/esm/use-cases/use-cases-registry.js.map +0 -1
- package/esm/utils/app-log.d.ts +0 -8
- package/esm/utils/app-log.d.ts.map +0 -1
- package/esm/utils/app-log.js +0 -7
- package/esm/utils/app-log.js.map +0 -1
- package/esm/utils/cleanup-temp-files.d.ts +0 -5
- package/esm/utils/cleanup-temp-files.d.ts.map +0 -1
- package/esm/utils/database-log.d.ts +0 -25
- package/esm/utils/database-log.d.ts.map +0 -1
- package/esm/utils/database-log.js +0 -43
- package/esm/utils/database-log.js.map +0 -1
- package/esm/utils/download-file.d.ts +0 -3
- package/esm/utils/download-file.d.ts.map +0 -1
- package/esm/utils/environment.d.ts +0 -4
- package/esm/utils/environment.d.ts.map +0 -1
- package/esm/utils/environment.js +0 -6
- package/esm/utils/environment.js.map +0 -1
- package/esm/utils/framework-vesion.d.ts +0 -6
- package/esm/utils/framework-vesion.d.ts.map +0 -1
- package/esm/utils/framework-vesion.js +0 -18
- package/esm/utils/framework-vesion.js.map +0 -1
- package/esm/utils/get-localized.d.ts +0 -10
- package/esm/utils/get-localized.d.ts.map +0 -1
- package/esm/utils/get-localized.js +0 -15
- package/esm/utils/get-localized.js.map +0 -1
- package/esm/utils/index.d.ts +0 -12
- package/esm/utils/index.d.ts.map +0 -1
- package/esm/utils/internal.d.ts +0 -4
- package/esm/utils/internal.d.ts.map +0 -1
- package/esm/utils/paths.d.ts +0 -55
- package/esm/utils/paths.d.ts.map +0 -1
- package/esm/utils/paths.js +0 -89
- package/esm/utils/paths.js.map +0 -1
- package/esm/utils/promise-all-object.d.ts +0 -8
- package/esm/utils/promise-all-object.d.ts.map +0 -1
- package/esm/utils/promise-all-object.js +0 -12
- package/esm/utils/promise-all-object.js.map +0 -1
- package/esm/utils/queue.d.ts +0 -49
- package/esm/utils/queue.d.ts.map +0 -1
- package/esm/utils/queue.js +0 -89
- package/esm/utils/queue.js.map +0 -1
- package/esm/utils/sleep.d.ts +0 -2
- package/esm/utils/sleep.d.ts.map +0 -1
- package/esm/utils/sleep.js +0 -3
- package/esm/utils/sleep.js.map +0 -1
- package/esm/utils/sluggable.d.ts +0 -5
- package/esm/utils/sluggable.d.ts.map +0 -1
- package/esm/utils/sluggable.js +0 -15
- package/esm/utils/sluggable.js.map +0 -1
- package/esm/utils/to-json.d.ts +0 -2
- package/esm/utils/to-json.d.ts.map +0 -1
- package/esm/utils/to-json.js +0 -26
- package/esm/utils/to-json.js.map +0 -1
- package/esm/utils/types.d.ts +0 -22
- package/esm/utils/types.d.ts.map +0 -1
- package/esm/utils/urls.d.ts +0 -21
- package/esm/utils/urls.d.ts.map +0 -1
- package/esm/utils/urls.js +0 -31
- package/esm/utils/urls.js.map +0 -1
- package/esm/validation/database/exists-except-current-id.d.ts +0 -7
- package/esm/validation/database/exists-except-current-id.d.ts.map +0 -1
- package/esm/validation/database/exists-except-current-id.js +0 -24
- package/esm/validation/database/exists-except-current-id.js.map +0 -1
- package/esm/validation/database/exists-except-current-user.d.ts +0 -7
- package/esm/validation/database/exists-except-current-user.d.ts.map +0 -1
- package/esm/validation/database/exists-except-current-user.js +0 -26
- package/esm/validation/database/exists-except-current-user.js.map +0 -1
- package/esm/validation/database/exists.d.ts +0 -7
- package/esm/validation/database/exists.d.ts.map +0 -1
- package/esm/validation/database/exists.js +0 -22
- package/esm/validation/database/exists.js.map +0 -1
- package/esm/validation/database/index.d.ts +0 -12
- package/esm/validation/database/index.d.ts.map +0 -1
- package/esm/validation/database/types.d.ts +0 -68
- package/esm/validation/database/types.d.ts.map +0 -1
- package/esm/validation/database/unique-except-current-id.d.ts +0 -7
- package/esm/validation/database/unique-except-current-id.d.ts.map +0 -1
- package/esm/validation/database/unique-except-current-id.js +0 -24
- package/esm/validation/database/unique-except-current-id.js.map +0 -1
- package/esm/validation/database/unique-except-current-user.d.ts +0 -7
- package/esm/validation/database/unique-except-current-user.d.ts.map +0 -1
- package/esm/validation/database/unique-except-current-user.js +0 -29
- package/esm/validation/database/unique-except-current-user.js.map +0 -1
- package/esm/validation/database/unique.d.ts +0 -7
- package/esm/validation/database/unique.d.ts.map +0 -1
- package/esm/validation/database/unique.js +0 -31
- package/esm/validation/database/unique.js.map +0 -1
- package/esm/validation/file/file.d.ts +0 -22
- package/esm/validation/file/file.d.ts.map +0 -1
- package/esm/validation/file/file.js +0 -60
- package/esm/validation/file/file.js.map +0 -1
- package/esm/validation/file/index.d.ts +0 -6
- package/esm/validation/file/index.d.ts.map +0 -1
- package/esm/validation/index.d.ts +0 -16
- package/esm/validation/index.d.ts.map +0 -1
- package/esm/validation/init.d.ts +0 -7
- package/esm/validation/init.d.ts.map +0 -1
- package/esm/validation/init.js +0 -36
- package/esm/validation/init.js.map +0 -1
- package/esm/validation/plugins/database-plugin.d.ts +0 -14
- package/esm/validation/plugins/database-plugin.d.ts.map +0 -1
- package/esm/validation/plugins/database-plugin.js +0 -83
- package/esm/validation/plugins/database-plugin.js.map +0 -1
- package/esm/validation/plugins/file-plugin.d.ts +0 -11
- package/esm/validation/plugins/file-plugin.d.ts.map +0 -1
- package/esm/validation/plugins/file-plugin.js +0 -17
- package/esm/validation/plugins/file-plugin.js.map +0 -1
- package/esm/validation/plugins/index.d.ts +0 -9
- package/esm/validation/plugins/index.d.ts.map +0 -1
- package/esm/validation/plugins/localized-plugin.d.ts +0 -11
- package/esm/validation/plugins/localized-plugin.d.ts.map +0 -1
- package/esm/validation/plugins/localized-plugin.js +0 -19
- package/esm/validation/plugins/localized-plugin.js.map +0 -1
- package/esm/validation/types.d.ts +0 -87
- package/esm/validation/types.d.ts.map +0 -1
- package/esm/validation/validateAll.d.ts +0 -7
- package/esm/validation/validateAll.d.ts.map +0 -1
- package/esm/validation/validateAll.js +0 -60
- package/esm/validation/validateAll.js.map +0 -1
- package/esm/validation/validators/file-validator.d.ts +0 -62
- package/esm/validation/validators/file-validator.d.ts.map +0 -1
- package/esm/validation/validators/file-validator.js +0 -136
- package/esm/validation/validators/file-validator.js.map +0 -1
- package/esm/validation/validators/index.d.ts +0 -7
- package/esm/validation/validators/index.d.ts.map +0 -1
- package/esm/warlock-config/default-configurations.d.ts +0 -3
- package/esm/warlock-config/default-configurations.d.ts.map +0 -1
- package/esm/warlock-config/default-configurations.js +0 -8
- package/esm/warlock-config/default-configurations.js.map +0 -1
- package/esm/warlock-config/define-config.d.ts +0 -3
- package/esm/warlock-config/define-config.d.ts.map +0 -1
- package/esm/warlock-config/define-config.js +0 -3
- package/esm/warlock-config/define-config.js.map +0 -1
- package/esm/warlock-config/index.d.ts +0 -4
- package/esm/warlock-config/index.d.ts.map +0 -1
- package/esm/warlock-config/types.d.ts +0 -129
- package/esm/warlock-config/types.d.ts.map +0 -1
- package/esm/warlock-config/warlock-config.manager.d.ts +0 -83
- package/esm/warlock-config/warlock-config.manager.d.ts.map +0 -1
- package/esm/warlock-config/warlock-config.manager.js +0 -141
- package/esm/warlock-config/warlock-config.manager.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repository.manager.mjs","names":[],"sources":["../../../../../../@warlock.js/core/src/repositories/repository.manager.ts"],"sourcesContent":["import { cache, CacheKey, type CacheDriver } from \"@warlock.js/cache\";\nimport { config } from \"../config\";\nimport { CascadeAdapter } from \"./adapters/cascade\";\nimport type {\n AllRepositoryOptions,\n ChunkCallback,\n CursorPaginationResult,\n FilterRules,\n PaginationResult,\n QueryBuilderContract,\n RepositoryAdapterContract,\n RepositoryOptions,\n SaveMode,\n TypedAllRepositoryOptions,\n TypedRepositoryOptions,\n TypedRepositoryOptionsWithCursor,\n TypedRepositoryOptionsWithPages,\n} from \"./contracts\";\n\n/**\n * Base repository manager class\n * Provides ORM-agnostic data access layer with support for listing, filtering,\n * caching, pagination, and CRUD operations\n *\n * @template T - The type of records managed by this repository\n *\n * @example\n * // Extend with source\n * class UserRepository extends RepositoryManager<User> {\n * protected source = User;\n * protected filterBy = { email: \"=\", role: [\"in\", \"role\"] };\n * }\n *\n * @example\n * // Direct instantiation with adapter\n * const userRepo = new RepositoryManager<User>(new PrismaAdapter(prisma.user));\n */\nexport class RepositoryManager<T = unknown, F = Record<string, any>> {\n /**\n * Adapter instance (lazy-loaded)\n * @private\n */\n protected _adapter?: RepositoryAdapterContract<T>;\n\n /**\n * Data source reference (Model, Prisma client, table name, etc.)\n * Used by createDefaultAdapter to instantiate the appropriate adapter\n * @protected\n */\n protected source?: any;\n\n // ============================================================================\n // CONFIGURATION PROPERTIES\n // ============================================================================\n\n /**\n * Filter definitions\n * Maps filter keys to filter rules\n * @protected\n */\n protected filterBy: FilterRules = {};\n\n /**\n * Get adapter instance (lazy-loaded)\n * Resolution order:\n * 1. Use injected adapter from constructor\n * 2. Use config-based resolver if available\n * 3. Use createDefaultAdapter\n *\n * @returns Adapter instance\n * @protected\n */\n protected get adapter(): RepositoryAdapterContract<T> {\n if (this._adapter) {\n return this._adapter;\n }\n\n // Try config-based resolver\n const resolver = config.key(\"repository.adapterResolver\");\n\n if (resolver) {\n this._adapter = resolver(this);\n } else {\n this._adapter = config.get(\"repository.defaultAdapter\") || this.createDefaultAdapter();\n }\n\n // Adapter is guaranteed to be set at this point\n return this._adapter!;\n }\n\n /**\n * Default repository options\n * @protected\n */\n protected defaultOptions: Partial<RepositoryOptions> =\n config.get(\"repository.defaultOptions\") || {};\n\n /**\n * Simple select columns (used with simple filter)\n * @protected\n */\n protected simpleSelectColumns: string[] = [];\n\n /**\n * Active column name\n * @default \"isActive\"\n * @protected\n */\n protected isActiveColumn?: string;\n\n /**\n * Active column value\n * @default true\n * @protected\n */\n protected isActiveValue?: any;\n\n /**\n * Repository name (for events)\n * @protected\n */\n protected name?: string;\n\n /**\n * Whether caching is enabled\n * @default true\n * @protected\n */\n protected isCacheable = config.get(\"repository.isCacheable\") ?? true;\n\n /**\n * Cache driver instance\n * @protected\n */\n protected cacheDriver: CacheDriver<any, any> = config.get(\"repository.cacheDriver\") || cache;\n\n /**\n * List of all events callbacks\n */\n protected eventsCallbacks: any[] = [];\n\n /**\n * Constructor\n * @param adapter - Optional adapter instance for direct injection\n */\n public constructor(adapter?: RepositoryAdapterContract<T>) {\n if (adapter) {\n this._adapter = adapter;\n }\n\n // Wait for constructor to finish and all properties are properly registered\n // specially for adapter to get instanciated\n setTimeout(() => {\n this.registerEvents();\n }, 0);\n }\n\n /**\n * Register events\n */\n public registerEvents() {\n this.eventsCallbacks.push(\n ...this.adapter.registerEvents((source: any) => {\n // this.clearCache({ id: source.id });\n this.clearCache();\n }),\n );\n }\n\n /**\n * Unregister events\n */\n public cleanuEvents() {\n this.eventsCallbacks.forEach((callback) => {\n callback();\n });\n this.eventsCallbacks = [];\n }\n\n /**\n * Create default adapter instance\n * Override this method to provide custom adapter creation logic\n *\n * @returns Adapter instance\n * @throws Error if no source is configured\n * @protected\n */\n protected createDefaultAdapter(): RepositoryAdapterContract<T> {\n if (!this.source) {\n throw new Error(\n \"No adapter or source configured. Either pass an adapter to the constructor, \" +\n \"set the 'source' property, or configure 'repository.adapterResolver' in config.\",\n );\n }\n\n // Default: assume source is a Cascade Model\n if (typeof this.source === \"function\") {\n // Lazy import to avoid circular dependencies\n return new CascadeAdapter(this.source) as unknown as RepositoryAdapterContract<T>;\n }\n\n throw new Error(\n \"Cannot create default adapter for this source type. \" +\n \"Please provide an adapter or configure repository.adapterResolver.\",\n );\n }\n\n // ============================================================================\n // UTILITY METHODS\n // ============================================================================\n\n /**\n * Get repository name\n * @returns Repository name\n * @public\n */\n public getName(): string {\n if (this.name) {\n return this.name;\n }\n\n // Try to get collection name from source\n this.name = this.adapter.resolveRepositoryName() || \"unknown\";\n\n return this.name;\n }\n\n /**\n * Get is active column\n */\n protected getIsActiveColumn(): string {\n return this.isActiveColumn || config.key(\"repository.isActiveColumn\") || \"isActive\";\n }\n\n /**\n * Get is active value\n */\n protected getIsActiveValue(): any {\n return this.isActiveValue ?? config.key(\"repository.isActiveValue\") ?? true;\n }\n\n /**\n * Create new query builder instance\n * @returns Query builder\n * @public\n */\n public newQuery() {\n return this.adapter.query();\n }\n\n /**\n * Create new model instance\n * @param data - Model data\n * @returns Model instance\n * @public\n */\n public newModel(data?: any): T {\n return this.adapter.createModel(data);\n }\n\n /**\n * Get active filter object\n * @returns Filter object for active records\n * @protected\n */\n protected getIsActiveFilter() {\n return {\n [this.getIsActiveColumn()]: this.getIsActiveValue(),\n };\n }\n\n // ============================================================================\n // FINDING METHODS\n // ============================================================================\n\n /**\n * Find a record by ID\n * @param id - Record ID or model instance\n * @returns Promise resolving to record or null\n * @public\n */\n public async find(id: string | number | T): Promise<T | null> {\n return this.adapter.find(id);\n }\n\n /**\n * Find a record by column value\n * @param column - Column name\n * @param value - Value to search for\n * @returns Promise resolving to record or null\n * @public\n */\n public async findBy(column: string, value: any): Promise<T | null> {\n return this.adapter.findBy(column, value);\n }\n\n /**\n * Find active record by ID\n * @param id - Record ID or model instance\n * @returns Promise resolving to active record or null\n * @public\n */\n public async findActive(id: string | number | T): Promise<T | null> {\n return this.newQuery()\n .where({\n id,\n ...this.getIsActiveFilter(),\n })\n .first();\n }\n\n /**\n * Find active record by column value\n * @param column - Column name\n * @param value - Value to search for\n * @returns Promise resolving to active record or null\n * @public\n */\n public async findByActive(column: string, value: any): Promise<T | null> {\n return this.newQuery()\n .where({\n [column]: value,\n ...this.getIsActiveFilter(),\n })\n .first();\n }\n\n /**\n * Get first record matching options\n * @param options - Repository options\n * @returns Promise resolving to first record or null\n * @public\n */\n public async first(options?: TypedRepositoryOptions<F>): Promise<T | null> {\n const query = this.newQuery();\n const opts = this.prepareOptions(options);\n\n this.applyOptionsToQuery(query, opts);\n\n return query.limit(1).first();\n }\n\n /**\n * Get id by the given filter\n */\n public async firstId(options?: TypedRepositoryOptions<F>): Promise<string | number | undefined> {\n const record = await this.first(options);\n return (record as any)?.id;\n }\n\n /**\n * Get first active id\n */\n public async firstActiveId(\n options?: TypedRepositoryOptions<F>,\n ): Promise<string | number | undefined> {\n const record = await this.firstActive(options);\n return (record as any)?.id;\n }\n\n /**\n * Get first cached id\n */\n public async firstCachedId(\n options?: TypedRepositoryOptions<F>,\n ): Promise<string | number | undefined> {\n const record = await this.firstCached(options);\n return (record as any)?.id;\n }\n\n /**\n * Get first active cached id\n */\n public async firstActiveCachedId(\n options?: TypedRepositoryOptions<F>,\n ): Promise<string | number | undefined> {\n const record = await this.firstActiveCached(options);\n return (record as any)?.id;\n }\n\n /**\n * Get first uuid\n */\n public async firstUuid(options?: TypedRepositoryOptions<F>): Promise<string | undefined> {\n const record = await this.first(options);\n return (record as any)?.uuid;\n }\n\n /**\n * Get first active uuid\n */\n public async firstActiveUuid(options?: TypedRepositoryOptions<F>): Promise<string | undefined> {\n const record = await this.firstActive(options);\n return (record as any)?.uuid;\n }\n\n /**\n * Get first cached uuid\n */\n public async firstCachedUuid(options?: TypedRepositoryOptions<F>): Promise<string | undefined> {\n const record = await this.firstCached(options);\n return (record as any)?.uuid;\n }\n\n /**\n * Get first active cached uuid\n */\n public async firstActiveCachedUuid(\n options?: TypedRepositoryOptions<F>,\n ): Promise<string | undefined> {\n const record = await this.firstActiveCached(options);\n return (record as any)?.uuid;\n }\n\n /**\n * Get first cached record\n */\n public async firstCached(options?: TypedRepositoryOptions<F>): Promise<T | null> {\n const results = await this.allCached({\n ...options,\n limit: 1,\n } as TypedAllRepositoryOptions<F>);\n\n return results[0] || null;\n }\n\n /**\n * Get first active record\n * @param options - Repository options\n * @returns Promise resolving to first active record or null\n * @public\n */\n public async firstActive(options?: TypedRepositoryOptions<F>): Promise<T | null> {\n return this.first({\n ...this.getIsActiveFilter(),\n ...options,\n } as TypedRepositoryOptions<F>);\n }\n\n /**\n * Get first active cached record\n * @param options - Repository options\n * @returns Promise resolving to first active cached record or null\n * @public\n */\n public async firstActiveCached(options?: TypedRepositoryOptions<F>): Promise<T | null> {\n return this.firstCached({\n ...this.getIsActiveFilter(),\n ...options,\n } as TypedRepositoryOptions<F>);\n }\n\n /**\n * Get last record matching options\n * @param options - Repository options\n * @returns Promise resolving to last record or null\n * @public\n */\n public async last(options?: TypedRepositoryOptions<F>): Promise<T | null> {\n return this.first({\n orderBy: {\n id: \"desc\",\n },\n ...options,\n } as TypedRepositoryOptions<F>);\n }\n\n /**\n * Get last cached record\n */\n public async lastCached(options?: TypedRepositoryOptions<F>): Promise<T | null> {\n const results = await this.allCached(\n this.asTypedAll({\n ...options,\n limit: 1,\n orderBy: { id: \"desc\" },\n }),\n );\n\n return results[0] || null;\n }\n\n /**\n * Get last active record\n * @param options - Repository options\n * @returns Promise resolving to last active record or null\n * @public\n */\n public async lastActive(options?: TypedRepositoryOptions<F>): Promise<T | null> {\n return this.last({\n ...this.getIsActiveFilter(),\n ...options,\n } as TypedRepositoryOptions<F>);\n }\n\n /**\n * Get last active cached record\n * @param options - Repository options\n * @returns Promise resolving to last active cached record or null\n * @public\n */\n public async lastActiveCached(options?: TypedRepositoryOptions<F>): Promise<T | null> {\n return this.lastCached({\n ...this.getIsActiveFilter(),\n ...options,\n } as TypedRepositoryOptions<F>);\n }\n\n // ============================================================================\n // LISTING METHODS\n // ============================================================================\n\n /**\n * List records with pagination\n * Supports both traditional page-based and cursor-based pagination\n *\n * @param options - Repository options\n * @returns Promise resolving to pagination result\n *\n * @example\n * // Traditional pagination (default)\n * const result = await repo.list({ page: 2, limit: 10 });\n *\n * @example\n * // Cursor pagination\n * const result = await repo.list({\n * paginationMode: \"cursor\",\n * limit: 20,\n * cursor: lastId,\n * direction: \"next\"\n * });\n *\n * @public\n */\n public async list(options?: TypedRepositoryOptionsWithPages<F>): Promise<PaginationResult<T>>;\n public async list(\n options: TypedRepositoryOptionsWithCursor<F>,\n ): Promise<CursorPaginationResult<T>>;\n public async list(\n options?: TypedRepositoryOptions<F>,\n ): Promise<PaginationResult<T> | CursorPaginationResult<T>> {\n return this._listImpl(options);\n }\n\n /**\n * Internal list implementation - no overloads, handles union type\n * @param options - Repository options\n * @returns Promise resolving to pagination result\n * @private\n */\n private async _listImpl(\n options?: RepositoryOptions,\n ): Promise<PaginationResult<T> | CursorPaginationResult<T>> {\n const query = this.newQuery();\n const opts = this.prepareOptions(options as TypedRepositoryOptions<F>);\n const paginationMode = opts.paginationMode || \"pages\";\n\n // applyOptionsToQuery handles cursor phase 1 (WHERE + ORDER BY) internally\n // when paginationMode === \"cursor\", ensuring the cursor column is always\n // the primary sort key before any other options are applied.\n this.applyOptionsToQuery(query, opts);\n\n if (paginationMode === \"cursor\") {\n return query.cursorPaginate({\n limit: opts.limit || opts.defaultLimit || 15,\n cursor: opts.cursor,\n direction: opts.direction,\n cursorColumn: opts.cursorColumn,\n });\n }\n\n // Traditional page-based pagination (default)\n const page = opts.page || 1;\n const limit = opts.limit || opts.defaultLimit || 15;\n\n return query.paginate(page, limit);\n }\n\n /**\n * List all records without pagination\n * @param options - Repository options\n * @returns Promise resolving to array of records\n * @public\n */\n public async all(options?: TypedAllRepositoryOptions<F>): Promise<T[]> {\n const query = this.newQuery();\n\n // Apply options\n const opts = this.prepareOptions(options);\n this.applyOptionsToQuery(query, opts);\n\n return query.get();\n }\n\n /**\n * List active records with pagination\n * Supports both page-based and cursor-based pagination\n *\n * @param options - Repository options\n * @returns Promise resolving to pagination result\n * @public\n */\n public async listActive(\n options?: TypedRepositoryOptionsWithPages<F>,\n ): Promise<PaginationResult<T>>;\n public async listActive(\n options: TypedRepositoryOptionsWithCursor<F>,\n ): Promise<CursorPaginationResult<T>>;\n public async listActive(\n options?: TypedRepositoryOptions<F>,\n ): Promise<PaginationResult<T> | CursorPaginationResult<T>> {\n return this._listImpl({\n ...this.getIsActiveFilter(),\n ...options,\n });\n }\n\n /**\n * List all active records without pagination\n * @param options - Repository options\n * @returns Promise resolving to array of active records\n * @public\n */\n public async allActive(options?: TypedAllRepositoryOptions<F>): Promise<T[]> {\n return this.all(this.asTypedAll({ ...this.getIsActiveFilter(), ...options }));\n }\n\n // ============================================================================\n // EXISTENCE CHECKS\n // ============================================================================\n\n /**\n * Check if record exists matching filter\n * @param filter - Repository options\n * @returns Promise resolving to true if exists\n * @public\n */\n public async exists(filter?: TypedRepositoryOptions<F>): Promise<boolean> {\n return !!(await this.first(filter));\n }\n\n /**\n * Check if active record exists matching filter\n * @param filter - Repository options\n * @returns Promise resolving to true if active record exists\n * @public\n */\n public async existsActive(filter?: TypedRepositoryOptions<F>): Promise<boolean> {\n return !!(await this.firstActive(filter));\n }\n\n /**\n * Check if record exists by ID\n * @param id - Record ID\n * @returns Promise resolving to true if exists\n * @public\n */\n public async idExists(id: number | string): Promise<boolean> {\n return !!(await this.find(id));\n }\n\n /**\n * Check if active record exists by ID\n * @param id - Record ID\n * @returns Promise resolving to true if active record exists\n * @public\n */\n public async idExistsActive(id: number | string): Promise<boolean> {\n return !!(await this.findActive(id));\n }\n\n /**\n * Prepare options — merges defaultOptions with caller options.\n * Returning as TypedRepositoryOptions<F> ensures internal composition\n * (spread + forward) satisfies the typed public API without per-call casts.\n */\n protected prepareOptions(options?: TypedRepositoryOptions<F>): TypedRepositoryOptions<F> {\n return { ...(this.defaultOptions || {}), ...(options || {}) } as TypedRepositoryOptions<F>;\n }\n\n /**\n * Cast a plain `RepositoryOptions` spread to the typed variant.\n * Used internally when composing options across method calls where the\n * spread breaks the F-generic inference chain.\n */\n protected asTyped(opts: RepositoryOptions): TypedRepositoryOptions<F> {\n return opts as TypedRepositoryOptions<F>;\n }\n\n protected asTypedAll(opts: AllRepositoryOptions): TypedAllRepositoryOptions<F> {\n return opts as TypedAllRepositoryOptions<F>;\n }\n\n // ============================================================================\n // HELPER METHODS\n // ============================================================================\n\n /**\n * Apply repository options to query\n * @param query - Query builder instance\n * @param options - Repository options\n * @protected\n */\n protected applyOptionsToQuery(\n query: QueryBuilderContract<T>,\n options: RepositoryOptions,\n ): RepositoryOptions {\n // ── Cursor phase 1: WHERE + ORDER BY ──────────────────────────────────────\n // Must run first so the cursor column is always the PRIMARY sort key.\n // Any orderBy appended below becomes a harmless secondary sort key.\n if (options.paginationMode === \"cursor\") {\n const cursorColumn = options.cursorColumn ?? \"id\";\n const direction = options.direction ?? \"next\";\n\n if (options.cursor) {\n query.where(cursorColumn, direction === \"next\" ? \">\" : \"<\", options.cursor);\n }\n\n query.orderBy(cursorColumn, direction === \"next\" ? \"asc\" : \"desc\");\n\n // Warn and strip orderBy that targets the same column as the cursor —\n // it would produce a duplicate / conflicting sort clause.\n if (options.orderBy) {\n const conflictingKeys = Array.isArray(options.orderBy)\n ? [options.orderBy[0]]\n : typeof options.orderBy === \"object\"\n ? Object.keys(options.orderBy)\n : [];\n\n if (conflictingKeys.includes(cursorColumn)) {\n console.warn(\n `[Repository] orderBy on \"${cursorColumn}\" conflicts with cursorColumn and will be ignored. ` +\n `Cursor pagination owns the sort order for its cursor column.`,\n );\n options = { ...options, orderBy: undefined };\n }\n }\n }\n\n // Apply filters\n if (this.filterBy && Object.keys(this.filterBy).length > 0) {\n query.applyFilters(this.filterBy, options, {\n dateFormat: \"DD-MM-YYYY\",\n dateTimeFormat: \"DD-MM-YYYY HH:mm:ss\",\n });\n }\n\n // Apply select\n if (options.select) {\n query.select(options.select);\n }\n\n // Apply deselect\n if (options.deselect) {\n query.deselect(options.deselect);\n }\n\n if (options.simpleSelect && this.simpleSelectColumns.length > 0) {\n query.select(this.simpleSelectColumns);\n }\n\n // Apply ordering\n if (options.orderBy) {\n if (options.orderBy === \"random\") {\n query.random();\n } else if (Array.isArray(options.orderBy)) {\n query.orderBy(options.orderBy[0], options.orderBy[1]);\n } else if (typeof options.orderBy === \"object\") {\n query.sortBy(options.orderBy);\n }\n }\n\n // Apply limit (for non-paginated queries)\n if (options.limit && options.paginate === false) {\n query.limit(options.limit);\n }\n\n // Apply custom perform function\n if (options?.perform) {\n options.perform(query, options);\n }\n\n return options;\n }\n\n // ============================================================================\n // CRUD OPERATIONS\n // ============================================================================\n\n /**\n * Create a new record\n * @param data - Record data\n * @returns Promise resolving to created record\n * @public\n */\n public async create(data: any): Promise<T> {\n return this.adapter.create(data);\n }\n\n /**\n * Update a record by ID\n * @param id - Record ID\n * @param data - Updated data\n * @returns Promise resolving to updated record\n * @public\n */\n public async update(id: string | number | any, data: any): Promise<T> {\n return this.adapter.update(id, data);\n }\n\n /**\n * Delete a record by ID\n * @param id - Record ID\n * @returns Promise that resolves when deletion is complete\n * @public\n */\n public async delete(id: string | number): Promise<void> {\n return this.adapter.delete(id);\n }\n\n // ============================================================================\n // BULK OPERATIONS\n // ============================================================================\n\n /**\n * Update multiple records matching filter\n * @param filter - Filter criteria\n * @param data - Updated data\n * @returns Promise resolving to number of updated records\n * @public\n */\n public async updateMany(filter: any, data: any): Promise<number> {\n return this.adapter.updateMany(filter, data);\n }\n\n /**\n * Delete multiple records matching filter\n * @param filter - Filter criteria\n * @returns Promise resolving to number of deleted records\n * @public\n */\n public async deleteMany(filter: any): Promise<number> {\n return this.adapter.deleteMany(filter);\n }\n\n // ============================================================================\n // CHUNKING\n // ============================================================================\n\n /**\n * Process records in chunks\n * @param size - Chunk size\n * @param callback - Function called for each chunk\n * @param options - Repository options\n * @returns Promise that resolves when chunking is complete\n * @public\n */\n public async chunk(\n size: number,\n callback: ChunkCallback<T>,\n options?: TypedRepositoryOptions<F>,\n ): Promise<void> {\n const query = this.newQuery();\n const opts = this.prepareOptions(options);\n\n this.applyOptionsToQuery(query, opts);\n\n return query.chunk(size, callback);\n }\n\n /**\n * Process active records in chunks\n * @param size - Chunk size\n * @param callback - Function called for each chunk\n * @param options - Repository options\n * @returns Promise that resolves when chunking is complete\n * @public\n */\n public async chunkActive(\n size: number,\n callback: ChunkCallback<T>,\n options?: TypedRepositoryOptions<F>,\n ): Promise<void> {\n return this.chunk(size, callback, this.asTyped({ ...this.getIsActiveFilter(), ...options }));\n }\n\n // ============================================================================\n // CONVENIENCE METHODS\n // ============================================================================\n\n /**\n * Get latest records (ordered by ID descending)\n * Supports both pagination modes\n *\n * @param options - Repository options\n * @returns Promise resolving to pagination result\n * @public\n */\n public async latest(options?: TypedRepositoryOptionsWithPages<F>): Promise<PaginationResult<T>>;\n public async latest(\n options: TypedRepositoryOptionsWithCursor<F>,\n ): Promise<CursorPaginationResult<T>>;\n public async latest(\n options?: TypedRepositoryOptions<F>,\n ): Promise<PaginationResult<T> | CursorPaginationResult<T>> {\n return this._listImpl({\n orderBy: [\"id\", \"desc\"],\n ...options,\n });\n }\n\n /**\n * Get oldest records (ordered by ID ascending)\n * Supports both pagination modes\n *\n * @param options - Repository options\n * @returns Promise resolving to pagination result\n * @public\n */\n public async oldest(options?: TypedRepositoryOptionsWithPages<F>): Promise<PaginationResult<T>>;\n public async oldest(\n options: TypedRepositoryOptionsWithCursor<F>,\n ): Promise<CursorPaginationResult<T>>;\n public async oldest(\n options?: TypedRepositoryOptions<F>,\n ): Promise<PaginationResult<T> | CursorPaginationResult<T>> {\n return this._listImpl({\n orderBy: [\"id\", \"asc\"],\n ...options,\n });\n }\n\n /**\n * Get latest active records\n * Supports both pagination modes\n *\n * @param options - Repository options\n * @returns Promise resolving to pagination result\n * @public\n */\n public async latestActive(\n options?: TypedRepositoryOptionsWithPages<F>,\n ): Promise<PaginationResult<T>>;\n public async latestActive(\n options: TypedRepositoryOptionsWithCursor<F>,\n ): Promise<CursorPaginationResult<T>>;\n public async latestActive(\n options?: TypedRepositoryOptions<F>,\n ): Promise<PaginationResult<T> | CursorPaginationResult<T>> {\n return this._listImpl({\n orderBy: [\"id\", \"desc\"],\n ...this.getIsActiveFilter(),\n ...options,\n });\n }\n\n /**\n * Get oldest active records\n * Supports both pagination modes\n *\n * @param options - Repository options\n * @returns Promise resolving to pagination result\n * @public\n */\n public async oldestActive(\n options?: TypedRepositoryOptionsWithPages<F>,\n ): Promise<PaginationResult<T>>;\n public async oldestActive(\n options: TypedRepositoryOptionsWithCursor<F>,\n ): Promise<CursorPaginationResult<T>>;\n public async oldestActive(\n options?: TypedRepositoryOptions<F>,\n ): Promise<PaginationResult<T> | CursorPaginationResult<T>> {\n return this._listImpl({\n orderBy: [\"id\", \"asc\"],\n ...this.getIsActiveFilter(),\n ...options,\n });\n }\n\n // ============================================================================\n // LIFECYCLE HOOKS (Override these in child classes)\n // ============================================================================\n\n /**\n * Called before listing records\n * @param options - Repository options\n * @protected\n */\n protected async beforeListing(options: any): Promise<void> {\n // Override in child class\n }\n\n /**\n * Called after listing records\n * @param result - Pagination result\n * @param options - Repository options\n * @protected\n */\n protected async onList(result: PaginationResult<T>, options: any): Promise<void> {\n // Override in child class\n }\n\n /**\n * Called before creating a record\n * @param data - Record data\n * @protected\n */\n protected async onCreating(data: any): Promise<void> {\n // Override in child class\n }\n\n /**\n * Called after creating a record\n * @param record - Created record\n * @param data - Original data\n * @protected\n */\n protected async onCreate(record: T, data: any): Promise<void> {\n // Override in child class\n }\n\n /**\n * Called before updating a record\n * @param id - Record ID\n * @param data - Updated data\n * @protected\n */\n protected async onUpdating(id: string | number, data: any): Promise<void> {\n // Override in child class\n }\n\n /**\n * Called after updating a record\n * @param record - Updated record\n * @param data - Original data\n * @protected\n */\n protected async onUpdate(record: T, data: any): Promise<void> {\n // Override in child class\n }\n\n /**\n * Called before saving a record (create or update)\n * @param data - Record data\n * @param mode - Save mode\n * @protected\n */\n protected async onSaving(data: any, mode: SaveMode): Promise<void> {\n // Override in child class\n }\n\n /**\n * Called after saving a record (create or update)\n * @param record - Saved record\n * @param data - Original data\n * @param mode - Save mode\n * @protected\n */\n protected async onSave(record: T, data: any, mode: SaveMode): Promise<void> {\n // Override in child class\n }\n\n /**\n * Called before deleting a record\n * @param id - Record ID\n * @protected\n */\n protected async onDeleting(id: string | number): Promise<void> {\n // Override in child class\n }\n\n /**\n * Called after deleting a record\n * @param id - Record ID\n * @protected\n */\n protected async onDelete(id: string | number): Promise<void> {\n // Override in child class\n }\n\n // ============================================================================\n // COUNT METHODS\n // ============================================================================\n\n /**\n * Count total records matching options\n * @param options - Repository options\n * @returns Promise resolving to count\n * @public\n */\n public async count(options?: TypedRepositoryOptions<F>): Promise<number> {\n const query = this.newQuery();\n const opts = this.prepareOptions(options);\n\n this.applyOptionsToQuery(query, opts);\n\n return await query.count();\n }\n\n /**\n * Count total active records\n * @param options - Repository options\n * @returns Promise resolving to count of active records\n * @public\n */\n public async countActive(options?: TypedRepositoryOptions<F>): Promise<number> {\n return await this.count(this.asTyped({ ...this.getIsActiveFilter(), ...options }));\n }\n\n /**\n * Count records with caching\n * @param options - Repository options\n * @returns Promise resolving to cached count\n * @public\n */\n public async countCached(options?: TypedRepositoryOptions<F>): Promise<number> {\n if (!this.isCacheable || !this.cacheDriver) {\n return await this.count(options);\n }\n\n const opts = this.prepareOptions(options);\n\n const cacheKey = this.cacheKey(\"count\", opts);\n let count = await this.cacheDriver.get(cacheKey);\n\n if (count !== undefined) return count;\n\n count = await this.count(options);\n await this.cache(cacheKey, count);\n return count;\n }\n\n /**\n * Count active records with caching\n * @param options - Repository options\n * @returns Promise resolving to cached count of active records\n * @public\n */\n public async countActiveCached(options?: TypedRepositoryOptions<F>): Promise<number> {\n return await this.countCached(this.asTyped({ ...this.getIsActiveFilter(), ...options }));\n }\n\n // ============================================================================\n // CACHING METHODS\n // ============================================================================\n\n /**\n * Set cache driver\n * @param driver - Cache driver instance\n * @returns This repository for chaining\n * @public\n */\n public setCacheDriver(driver: any): this {\n this.cacheDriver = driver;\n return this;\n }\n\n /**\n * Get cache driver\n * @returns Cache driver instance\n * @public\n */\n public getCacheDriver(): any {\n return this.cacheDriver;\n }\n\n /**\n * Generate cache key\n * @param key - Base key or object\n * @param moreOptions - Additional options for key\n * @returns Generated cache key\n * @protected\n */\n protected cacheKey(key: string | Record<string, any>, moreOptions?: Record<string, any>): string {\n let cacheKey = `repositories.${this.getName()}`;\n\n if (key) {\n cacheKey += \".\" + (typeof key === \"string\" ? key : JSON.stringify(key));\n }\n\n if (moreOptions) {\n cacheKey += \".\" + JSON.stringify(moreOptions);\n }\n\n return cacheKey;\n }\n\n /**\n * Cache a value\n * @param key - Cache key\n * @param value - Value to cache\n * @protected\n */\n protected async cache(key: string, value: any): Promise<void> {\n if (!this.isCacheable || !this.cacheDriver) return;\n await this.cacheDriver.set(key, value);\n }\n\n /**\n * Get cached record by ID\n * @param id - Record ID\n * @returns Promise resolving to cached record or null\n * @public\n */\n public async getCached(id: string | number): Promise<T | null> {\n return await this.getCachedBy(\"id\", id);\n }\n\n /**\n * @alias getCached\n */\n public async findCached(id: string | number): Promise<T | null> {\n return await this.getCachedBy(\"id\", id);\n }\n\n /**\n * Get cached record by column value\n * @param column - Column name\n * @param value - Column value\n * @param cacheKeyOptions - Additional cache key options\n * @returns Promise resolving to cached record or undefined\n * @public\n */\n public async getCachedBy(\n column: string,\n value: any,\n cacheKeyOptions?: Record<string, any>,\n ): Promise<T | null> {\n if (!this.isCacheable || !this.cacheDriver) {\n return await this.findBy(column, value);\n }\n\n const cacheKey = this.cacheKey(`${column}.${value}`, cacheKeyOptions);\n const cachedData = await this.cacheDriver.get(cacheKey);\n\n if (cachedData) {\n return this.adapter.deserializeModel(cachedData);\n }\n\n const model = await this.findBy(column, value);\n\n if (!model) return null;\n\n this.cache(cacheKey, this.adapter.serializeModel(model));\n return model;\n }\n\n /**\n * Get all cached records\n * @param options - Repository options\n * @returns Promise resolving to array of cached records\n * @public\n */\n public async allCached(options?: TypedAllRepositoryOptions<F>): Promise<T[]> {\n if (!this.isCacheable || !this.cacheDriver) {\n return await this.all(options);\n }\n\n const opts = this.prepareOptions(options);\n\n const cacheKey = this.cacheKey(\"all\", opts);\n const cachedData = await this.cacheDriver.get<T[]>(cacheKey);\n\n if (cachedData) {\n return cachedData.map((record) => this.adapter.deserializeModel(record));\n }\n\n const records = await this.all(options);\n await this.cache(\n cacheKey,\n records.map((record) => this.adapter.serializeModel(record)),\n );\n return records;\n }\n\n /**\n * Get all active cached records\n * @param options - Repository options\n * @returns Promise resolving to array of cached active records\n * @public\n */\n public async allActiveCached(options?: TypedAllRepositoryOptions<F>): Promise<T[]> {\n return await this.allCached(this.asTypedAll({ ...this.getIsActiveFilter(), ...options }));\n }\n\n /**\n * List cached records with pagination\n * @param options - Repository options\n * @returns Promise resolving to cached pagination result\n * @public\n */\n public async listCached(options?: TypedRepositoryOptions<F>): Promise<PaginationResult<T>> {\n if (!this.isCacheable || !this.cacheDriver) {\n return (await this._listImpl(options)) as PaginationResult<T>;\n }\n\n const opts = this.prepareOptions(options);\n\n const cacheKey = this.cacheKey(\"list\", opts);\n const cachedData = await this.cacheDriver.get(cacheKey);\n\n if (cachedData) {\n return {\n data: (cachedData?.data || []).map((record: T) => this.adapter.deserializeModel(record)),\n pagination: cachedData.pagination,\n };\n }\n\n const result = (await this._listImpl(options)) as PaginationResult<T>;\n\n await this.cache(cacheKey, {\n data: result.data.map((record) => this.adapter.serializeModel(record)),\n pagination: result.pagination,\n });\n return result;\n }\n\n /**\n * List active cached records with pagination\n * @param options - Repository options\n * @returns Promise resolving to cached pagination result of active records\n * @public\n */\n public async listActiveCached(options?: TypedRepositoryOptions<F>): Promise<PaginationResult<T>> {\n return await this.listCached(this.asTyped({ ...this.getIsActiveFilter(), ...options }));\n }\n\n /**\n * Get active cached record by ID\n * @param id - Record ID\n * @returns Promise resolving to cached active record or undefined\n * @public\n */\n public async getActiveCached(id: string | number): Promise<T | undefined> {\n const model = await this.getCached(id);\n if (!model) return undefined;\n\n if (typeof (model as any).get === \"function\") {\n return (model as any).get(this.getIsActiveColumn()) === this.getIsActiveValue()\n ? model\n : undefined;\n }\n\n // Check if model is active\n const isActive = (model as any)[this.getIsActiveColumn()] === this.getIsActiveValue();\n return isActive ? model : undefined;\n }\n\n /**\n * Cache a model\n * @param model - Model to cache\n * @public\n */\n public async cacheModel(model: T): Promise<void> {\n if (!this.isCacheable || !this.cacheDriver) return;\n\n const id = (model as any).id;\n if (!id) return;\n\n const cacheKey = this.cacheKey(`id.${id}`);\n await this.cache(cacheKey, this.adapter.serializeModel(model));\n }\n\n /**\n * Cleanup all events and cache as well\n * Please note this is mostly used with development server to be\n * exported as cleanup\n *\n * @example\n * ```typescript\n */\n public cleanup() {\n this.clearCache();\n this.cleanuEvents();\n }\n\n /**\n * Cleanup all events and cache as well\n * Please note this is mostly used with development server to be\n * exported as cleanup\n * export const cleanup = usersRepository.cleanup.bind(usersRepository);\n */\n public $cleanup() {\n this.cleanup();\n this.cacheDriver.flush();\n }\n\n /**\n * Clear all cache for this repository\n * @public\n */\n public async clearCache(key?: CacheKey): Promise<void> {\n if (!this.isCacheable || !this.cacheDriver) return;\n\n await this.cacheDriver.removeNamespace(this.cacheKey(key || \"\"));\n }\n\n /**\n * Clear cache for specific model\n * @param model - Model to clear cache for\n * @public\n */\n public async clearModelCache(model: T): Promise<void> {\n if (!this.isCacheable || !this.cacheDriver) return;\n\n const id = (model as any).id;\n if (!id) return;\n\n const cacheKey = this.cacheKey(`id.${id}`);\n await this.cacheDriver.removeNamespace(cacheKey);\n }\n\n /**\n * Map documents to models\n * @param documents - Array of document data\n * @returns Array of model instances\n * @protected\n */\n protected mapModels(documents: any[]): T[] {\n return documents.map((doc) => this.newModel(doc));\n }\n\n // ============================================================================\n // CONVENIENCE METHODS\n // ============================================================================\n\n /**\n * Find or create a record\n * @param where - Conditions to find by\n * @param data - Data to create if not found\n * @returns Promise resolving to found or created record\n * @public\n */\n public async findOrCreate(\n where: TypedRepositoryOptions<F>,\n data: Record<string, any>,\n ): Promise<T> {\n const model = await this.first(where);\n return model || (await this.create(data));\n }\n\n /**\n * Update or create a record\n * @param where - Conditions to find by\n * @param data - Data to update or create\n * @returns Promise resolving to updated or created record\n * @public\n */\n public async updateOrCreate(\n where: TypedRepositoryOptions<F>,\n data: Record<string, any>,\n ): Promise<T> {\n const model = await this.first(where);\n if (model) {\n return await this.update(model, data);\n }\n return await this.create(data);\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { ResourceConstructor, ResourceContract } from "./resource.mjs";
|
|
2
|
+
import { ResourceSchema } from "./types.mjs";
|
|
3
|
+
|
|
4
|
+
//#region ../../@warlock.js/core/src/resource/define-resource.d.ts
|
|
5
|
+
/**
|
|
6
|
+
* Options for defining a resource
|
|
7
|
+
*/
|
|
8
|
+
type DefineResourceOptions = {
|
|
9
|
+
/**
|
|
10
|
+
* Resource schema - field mapping configuration
|
|
11
|
+
*/
|
|
12
|
+
schema: ResourceSchema;
|
|
13
|
+
/**
|
|
14
|
+
* Optional: Boot hook - called before transformation
|
|
15
|
+
*/
|
|
16
|
+
boot?: (resource?: ResourceContract) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Optional: Extend hook - called after transformation
|
|
19
|
+
*/
|
|
20
|
+
extend?: (resource?: ResourceContract) => void;
|
|
21
|
+
/**
|
|
22
|
+
* Optional: Transform hook - modify final output
|
|
23
|
+
*/
|
|
24
|
+
transform?: (data: Record<string, any>, resource: ResourceContract) => Record<string, any>;
|
|
25
|
+
};
|
|
26
|
+
/**
|
|
27
|
+
* Define a resource with a clean, shorthand API.
|
|
28
|
+
*
|
|
29
|
+
* This utility creates a Resource class without the boilerplate,
|
|
30
|
+
* perfect for simple use cases.
|
|
31
|
+
*
|
|
32
|
+
* @param options - Resource configuration
|
|
33
|
+
* @returns A Resource class
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* // Simple resource
|
|
38
|
+
* export const UserResource = defineResource({
|
|
39
|
+
* schema: {
|
|
40
|
+
* id: "number",
|
|
41
|
+
* name: "string",
|
|
42
|
+
* email: "string",
|
|
43
|
+
* },
|
|
44
|
+
* });
|
|
45
|
+
*
|
|
46
|
+
* // With hooks
|
|
47
|
+
* export const CategoryResource = defineResource({
|
|
48
|
+
* schema: {
|
|
49
|
+
* id: "number",
|
|
50
|
+
* name: "localized",
|
|
51
|
+
* children: CategoryResource,
|
|
52
|
+
* },
|
|
53
|
+
* transform: (data) => {
|
|
54
|
+
* // Filter inactive children
|
|
55
|
+
* if (data.children) {
|
|
56
|
+
* data.children = data.children.filter(c => c.isActive);
|
|
57
|
+
* }
|
|
58
|
+
* return data;
|
|
59
|
+
* },
|
|
60
|
+
* });
|
|
61
|
+
*
|
|
62
|
+
* // Usage
|
|
63
|
+
* const json = new UserResource(user).toJSON();
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
declare function defineResource(options: DefineResourceOptions): ResourceConstructor;
|
|
67
|
+
//#endregion
|
|
68
|
+
export { DefineResourceOptions, defineResource };
|
|
69
|
+
//# sourceMappingURL=define-resource.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-resource.d.mts","names":[],"sources":["../../../../../../@warlock.js/core/src/resource/define-resource.ts"],"mappings":";;;;;;AAMA;KAAY,qBAAA;;;;EAIV,MAAA,EAAQ,cAAA;EAeW;;;EAVnB,IAAA,IAAQ,QAAA,GAAW,gBAAA;EAU0D;;;EAL7E,MAAA,IAAU,QAAA,GAAW,gBAAA;EALF;;;EAUnB,SAAA,IAAa,IAAA,EAAM,MAAA,eAAqB,QAAA,EAAU,gBAAA,KAAqB,MAAA;AAAA;;;;;;;;AAAM;AA2C/E;;;;;;;;AAAmF;;;;;;;;;;;;;;;;;;;;;;;;iBAAnE,cAAA,CAAe,OAAA,EAAS,qBAAA,GAAwB,mBAAmB"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Resource } from "./resource.mjs";
|
|
2
|
+
|
|
3
|
+
//#region ../../@warlock.js/core/src/resource/define-resource.ts
|
|
4
|
+
/**
|
|
5
|
+
* Define a resource with a clean, shorthand API.
|
|
6
|
+
*
|
|
7
|
+
* This utility creates a Resource class without the boilerplate,
|
|
8
|
+
* perfect for simple use cases.
|
|
9
|
+
*
|
|
10
|
+
* @param options - Resource configuration
|
|
11
|
+
* @returns A Resource class
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```typescript
|
|
15
|
+
* // Simple resource
|
|
16
|
+
* export const UserResource = defineResource({
|
|
17
|
+
* schema: {
|
|
18
|
+
* id: "number",
|
|
19
|
+
* name: "string",
|
|
20
|
+
* email: "string",
|
|
21
|
+
* },
|
|
22
|
+
* });
|
|
23
|
+
*
|
|
24
|
+
* // With hooks
|
|
25
|
+
* export const CategoryResource = defineResource({
|
|
26
|
+
* schema: {
|
|
27
|
+
* id: "number",
|
|
28
|
+
* name: "localized",
|
|
29
|
+
* children: CategoryResource,
|
|
30
|
+
* },
|
|
31
|
+
* transform: (data) => {
|
|
32
|
+
* // Filter inactive children
|
|
33
|
+
* if (data.children) {
|
|
34
|
+
* data.children = data.children.filter(c => c.isActive);
|
|
35
|
+
* }
|
|
36
|
+
* return data;
|
|
37
|
+
* },
|
|
38
|
+
* });
|
|
39
|
+
*
|
|
40
|
+
* // Usage
|
|
41
|
+
* const json = new UserResource(user).toJSON();
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
function defineResource(options) {
|
|
45
|
+
const resource = class AnonymousResource extends Resource {
|
|
46
|
+
static {
|
|
47
|
+
this.schema = options.schema;
|
|
48
|
+
}
|
|
49
|
+
boot() {
|
|
50
|
+
if (options.boot) options.boot.call(this, this);
|
|
51
|
+
}
|
|
52
|
+
extend() {
|
|
53
|
+
if (options.extend) options.extend.call(this, this);
|
|
54
|
+
if (options.transform) options.transform.call(this, this.data, this);
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
resource.parsedSchema = Resource.normalizeSchema(resource.schema);
|
|
58
|
+
return resource;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
//#endregion
|
|
62
|
+
export { defineResource };
|
|
63
|
+
//# sourceMappingURL=define-resource.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"define-resource.mjs","names":[],"sources":["../../../../../../@warlock.js/core/src/resource/define-resource.ts"],"sourcesContent":["import { Resource, type ResourceConstructor, type ResourceContract } from \"./resource\";\nimport type { ResourceSchema } from \"./types\";\n\n/**\n * Options for defining a resource\n */\nexport type DefineResourceOptions = {\n /**\n * Resource schema - field mapping configuration\n */\n schema: ResourceSchema;\n\n /**\n * Optional: Boot hook - called before transformation\n */\n boot?: (resource?: ResourceContract) => void;\n\n /**\n * Optional: Extend hook - called after transformation\n */\n extend?: (resource?: ResourceContract) => void;\n\n /**\n * Optional: Transform hook - modify final output\n */\n transform?: (data: Record<string, any>, resource: ResourceContract) => Record<string, any>;\n};\n\n/**\n * Define a resource with a clean, shorthand API.\n *\n * This utility creates a Resource class without the boilerplate,\n * perfect for simple use cases.\n *\n * @param options - Resource configuration\n * @returns A Resource class\n *\n * @example\n * ```typescript\n * // Simple resource\n * export const UserResource = defineResource({\n * schema: {\n * id: \"number\",\n * name: \"string\",\n * email: \"string\",\n * },\n * });\n *\n * // With hooks\n * export const CategoryResource = defineResource({\n * schema: {\n * id: \"number\",\n * name: \"localized\",\n * children: CategoryResource,\n * },\n * transform: (data) => {\n * // Filter inactive children\n * if (data.children) {\n * data.children = data.children.filter(c => c.isActive);\n * }\n * return data;\n * },\n * });\n *\n * // Usage\n * const json = new UserResource(user).toJSON();\n * ```\n */\nexport function defineResource(options: DefineResourceOptions): ResourceConstructor {\n const resource = class AnonymousResource extends Resource {\n static schema = options.schema;\n\n protected boot() {\n if (options.boot) {\n options.boot.call(this, this as unknown as ResourceContract);\n }\n }\n\n protected extend() {\n if (options.extend) {\n options.extend.call(this, this as unknown as ResourceContract);\n }\n\n if (options.transform) {\n options.transform.call(this, this.data, this);\n }\n }\n };\n\n // Normalize schema once at definition time — converts string cast types\n // (including [] and ? suffixes) into pre-built ResourceFieldBuilder instances\n resource.parsedSchema = Resource.normalizeSchema(resource.schema);\n\n return resource as any as ResourceConstructor;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoEA,SAAgB,eAAe,SAAqD;CAClF,MAAM,WAAW,MAAM,0BAA0B,SAAS;;iBACxC,QAAQ;;EAExB,AAAU,OAAO;GACf,IAAI,QAAQ,MACV,QAAQ,KAAK,KAAK,MAAM,IAAmC;EAE/D;EAEA,AAAU,SAAS;GACjB,IAAI,QAAQ,QACV,QAAQ,OAAO,KAAK,MAAM,IAAmC;GAG/D,IAAI,QAAQ,WACV,QAAQ,UAAU,KAAK,MAAM,KAAK,MAAM,IAAI;EAEhD;CACF;CAIA,SAAS,eAAe,SAAS,gBAAgB,SAAS,MAAM;CAEhE,OAAO;AACT"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ResourceFieldBuilder } from "./resource-field-builder.mjs";
|
|
2
|
+
import { Resource, ResourceConstructor, ResourceContract } from "./resource.mjs";
|
|
3
|
+
import { ResourceArraySchema, ResourceCastType, ResourceFieldBuilderDateOutputOptions, ResourceFieldConfig, ResourceOutputValueCastType, ResourceSchema, ResourceSelfReference, ResponseBodyValue, ResponseSchema } from "./types.mjs";
|
|
4
|
+
import { DefineResourceOptions, defineResource } from "./define-resource.mjs";
|
|
5
|
+
import { RegisterResource } from "./register-resource.mjs";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Resource } from "./resource.mjs";
|
|
2
|
+
|
|
3
|
+
//#region ../../@warlock.js/core/src/resource/register-resource.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Decorator for hand-written Resource classes.
|
|
6
|
+
* Triggers one-time schema normalization (converts string cast types into
|
|
7
|
+
* pre-built ResourceFieldBuilder instances) so transformOutput runs against
|
|
8
|
+
* builders without per-call overhead.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* @RegisterResource()
|
|
13
|
+
* class PostResource extends Resource {
|
|
14
|
+
* static schema = {
|
|
15
|
+
* id: "number",
|
|
16
|
+
* title: "string",
|
|
17
|
+
* keywords: "string[]",
|
|
18
|
+
* };
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
declare function RegisterResource(): (target: typeof Resource) => void;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { RegisterResource };
|
|
25
|
+
//# sourceMappingURL=register-resource.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-resource.d.mts","names":[],"sources":["../../../../../../@warlock.js/core/src/resource/register-resource.ts"],"mappings":";;;;;AAoBA;;;;AAC0C;;;;;;;;;;;;iBAD1B,gBAAA,CAAA,IACG,MAAuB,SAAR,QAAQ"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Resource } from "./resource.mjs";
|
|
2
|
+
|
|
3
|
+
//#region ../../@warlock.js/core/src/resource/register-resource.ts
|
|
4
|
+
/**
|
|
5
|
+
* Decorator for hand-written Resource classes.
|
|
6
|
+
* Triggers one-time schema normalization (converts string cast types into
|
|
7
|
+
* pre-built ResourceFieldBuilder instances) so transformOutput runs against
|
|
8
|
+
* builders without per-call overhead.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* @RegisterResource()
|
|
13
|
+
* class PostResource extends Resource {
|
|
14
|
+
* static schema = {
|
|
15
|
+
* id: "number",
|
|
16
|
+
* title: "string",
|
|
17
|
+
* keywords: "string[]",
|
|
18
|
+
* };
|
|
19
|
+
* }
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
function RegisterResource() {
|
|
23
|
+
return function(target) {
|
|
24
|
+
target.parsedSchema = Resource.normalizeSchema(target.schema);
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
//#endregion
|
|
29
|
+
export { RegisterResource };
|
|
30
|
+
//# sourceMappingURL=register-resource.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-resource.mjs","names":[],"sources":["../../../../../../@warlock.js/core/src/resource/register-resource.ts"],"sourcesContent":["import { Resource } from \"./resource\";\n\n/**\n * Decorator for hand-written Resource classes.\n * Triggers one-time schema normalization (converts string cast types into\n * pre-built ResourceFieldBuilder instances) so transformOutput runs against\n * builders without per-call overhead.\n *\n * @example\n * ```typescript\n * @RegisterResource()\n * class PostResource extends Resource {\n * static schema = {\n * id: \"number\",\n * title: \"string\",\n * keywords: \"string[]\",\n * };\n * }\n * ```\n */\nexport function RegisterResource() {\n return function (target: typeof Resource) {\n target.parsedSchema = Resource.normalizeSchema(target.schema);\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAoBA,SAAgB,mBAAmB;CACjC,OAAO,SAAU,QAAyB;EACxC,OAAO,eAAe,SAAS,gBAAgB,OAAO,MAAM;CAC9D;AACF"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { LocalizedObject } from "../utils/get-localized.mjs";
|
|
2
|
+
import { ResourceFieldBuilderDateOutputOptions, ResourceOutputValueCastType } from "./types.mjs";
|
|
3
|
+
|
|
4
|
+
//#region ../../@warlock.js/core/src/resource/resource-field-builder.d.ts
|
|
5
|
+
declare class ResourceFieldBuilder {
|
|
6
|
+
protected readonly type: ResourceOutputValueCastType;
|
|
7
|
+
/**
|
|
8
|
+
* Field value
|
|
9
|
+
*/
|
|
10
|
+
protected fieldValue?: unknown;
|
|
11
|
+
/**
|
|
12
|
+
* Whether the value is nullable
|
|
13
|
+
* If set to false and value is null, it will be returned as undefined
|
|
14
|
+
*/
|
|
15
|
+
protected isNullable: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Whether this field is an array
|
|
18
|
+
* When true, transform() maps over each element using the base type
|
|
19
|
+
*/
|
|
20
|
+
protected isArrayField: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Default value
|
|
23
|
+
*/
|
|
24
|
+
protected defaultValue?: unknown;
|
|
25
|
+
/**
|
|
26
|
+
* Date format
|
|
27
|
+
*/
|
|
28
|
+
protected dateFormat: string;
|
|
29
|
+
/**
|
|
30
|
+
* Input key
|
|
31
|
+
*/
|
|
32
|
+
protected inputKeyToUse?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Add a condition before transforming the value
|
|
35
|
+
*/
|
|
36
|
+
protected condition?: () => boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Define how date fields are returned
|
|
39
|
+
* If type of the date options is string then it will be returned as a string
|
|
40
|
+
* otherwise it will be returned as an object contains the date options
|
|
41
|
+
*/
|
|
42
|
+
protected dateOptionsInput: ResourceFieldBuilderDateOutputOptions;
|
|
43
|
+
/**
|
|
44
|
+
* Constructor
|
|
45
|
+
*/
|
|
46
|
+
constructor(type: ResourceOutputValueCastType);
|
|
47
|
+
/**
|
|
48
|
+
* Parse a cast type string (including suffixes) into a configured builder.
|
|
49
|
+
* Suffix order: [] before ? (e.g. "string[]?")
|
|
50
|
+
* Parsing strips right-to-left: ? first, then [].
|
|
51
|
+
*/
|
|
52
|
+
static fromCastType(castType: string): ResourceFieldBuilder;
|
|
53
|
+
/**
|
|
54
|
+
* Set input key
|
|
55
|
+
* Will be used in transformation if provided
|
|
56
|
+
*/
|
|
57
|
+
setInputKey(key: string): this;
|
|
58
|
+
/**
|
|
59
|
+
* Add a condition before transforming the value
|
|
60
|
+
*/
|
|
61
|
+
when(condition: () => boolean): this;
|
|
62
|
+
/**
|
|
63
|
+
* Set whether the value is nullable
|
|
64
|
+
*/
|
|
65
|
+
nullable(): this;
|
|
66
|
+
/**
|
|
67
|
+
* Mark this field as an array
|
|
68
|
+
* transform() will map over each element using the base type
|
|
69
|
+
*/
|
|
70
|
+
array(): this;
|
|
71
|
+
/**
|
|
72
|
+
* Get input key
|
|
73
|
+
*/
|
|
74
|
+
getInputKey(): string | undefined;
|
|
75
|
+
/**
|
|
76
|
+
* Set default value
|
|
77
|
+
*/
|
|
78
|
+
default(value: unknown): this;
|
|
79
|
+
/**
|
|
80
|
+
* Set field format
|
|
81
|
+
*/
|
|
82
|
+
format(format: string): this;
|
|
83
|
+
/**
|
|
84
|
+
* Set date options
|
|
85
|
+
* This will override current date options
|
|
86
|
+
*/
|
|
87
|
+
dateOptions(options: ResourceFieldBuilderDateOutputOptions): this;
|
|
88
|
+
/**
|
|
89
|
+
* Transform the value.
|
|
90
|
+
* When isArrayField is true, maps over each element using transformSingleValue.
|
|
91
|
+
*/
|
|
92
|
+
transform(value: any, locale?: string): any;
|
|
93
|
+
/**
|
|
94
|
+
* Transform a single value according to the base type.
|
|
95
|
+
*/
|
|
96
|
+
protected transformSingleValue(value: any, locale?: string): any;
|
|
97
|
+
/**
|
|
98
|
+
* Transform date value
|
|
99
|
+
*/
|
|
100
|
+
protected transformDate(value: string | Date, locale?: string): any;
|
|
101
|
+
/**
|
|
102
|
+
* Transform localized value
|
|
103
|
+
*/
|
|
104
|
+
protected transformLocalized(value: LocalizedObject[] | string, locale?: string): any;
|
|
105
|
+
}
|
|
106
|
+
//#endregion
|
|
107
|
+
export { ResourceFieldBuilder };
|
|
108
|
+
//# sourceMappingURL=resource-field-builder.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-field-builder.d.mts","names":[],"sources":["../../../../../../@warlock.js/core/src/resource/resource-field-builder.ts"],"mappings":";;;;cAaa,oBAAA;EAAA,mBAwD2B,IAAA,EAAM,2BAAA;EAxDjC;;;EAAA,UAID,UAAA;EAuCkB;;;;EAAA,UAjClB,UAAA;EAmS0B;;;;EAAA,UA7R1B,YAAA;EAZA;;;EAAA,UAiBA,YAAA;EAKA;;;EAAA,UAAA,UAAA;EAiBkB;;;EAAA,UAZlB,aAAA;EAkCI;;;EAAA,UA7BJ,SAAA;EAsDS;;;;;EAAA,UA/CT,gBAAA,EAAkB,qCAAA;EAwFrB;;;cA3E+B,IAAA,EAAM,2BAAA;EA8FrC;;;;;EAAA,OArFO,YAAA,CAAa,QAAA,WAAmB,oBAAA;EAgHpC;;;;EAvFH,WAAA,CAAY,GAAA;EA2IK;;;EAlIjB,IAAA,CAAK,SAAA;EA0MiB;;;EAlMtB,QAAA,CAAA;;;;;EASA,KAAA,CAAA;;;;EAQA,WAAA,CAAA;;;;EAOA,OAAA,CAAQ,KAAA;;;;EASR,MAAA,CAAO,MAAA;;;;;EAUP,WAAA,CAAY,OAAA,EAAS,qCAAA;;;;;EAUrB,SAAA,CAAU,KAAA,OAAY,MAAA;;;;YAiBnB,oBAAA,CAAqB,KAAA,OAAY,MAAA;;;;YAoDjC,aAAA,CAAc,KAAA,WAAgB,IAAA,EAAM,MAAA;;;;YAwEpC,kBAAA,CAAmB,KAAA,EAAO,eAAA,aAA4B,MAAA;AAAA"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { uploadsUrl, url } from "../utils/urls.mjs";
|
|
2
|
+
import { storage } from "../storage/storage.mjs";
|
|
3
|
+
import "../storage/index.mjs";
|
|
4
|
+
import { isObject } from "@mongez/supportive-is";
|
|
5
|
+
import dayjs from "dayjs";
|
|
6
|
+
import relativeTime from "dayjs/plugin/relativeTime.js";
|
|
7
|
+
|
|
8
|
+
//#region ../../@warlock.js/core/src/resource/resource-field-builder.ts
|
|
9
|
+
dayjs.extend(relativeTime);
|
|
10
|
+
var ResourceFieldBuilder = class ResourceFieldBuilder {
|
|
11
|
+
/**
|
|
12
|
+
* Constructor
|
|
13
|
+
*/
|
|
14
|
+
constructor(type) {
|
|
15
|
+
this.type = type;
|
|
16
|
+
this.isNullable = false;
|
|
17
|
+
this.isArrayField = false;
|
|
18
|
+
this.dateFormat = "DD-MM-YYYY hh:mm:ss A";
|
|
19
|
+
this.dateOptionsInput = {
|
|
20
|
+
format: true,
|
|
21
|
+
timestamp: true,
|
|
22
|
+
timezone: false,
|
|
23
|
+
locale: false,
|
|
24
|
+
offset: false,
|
|
25
|
+
humanTime: true,
|
|
26
|
+
iso: true
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Parse a cast type string (including suffixes) into a configured builder.
|
|
31
|
+
* Suffix order: [] before ? (e.g. "string[]?")
|
|
32
|
+
* Parsing strips right-to-left: ? first, then [].
|
|
33
|
+
*/
|
|
34
|
+
static fromCastType(castType) {
|
|
35
|
+
let baseType = castType;
|
|
36
|
+
let nullable = false;
|
|
37
|
+
let isArray = false;
|
|
38
|
+
if (baseType.endsWith("?")) {
|
|
39
|
+
nullable = true;
|
|
40
|
+
baseType = baseType.slice(0, -1);
|
|
41
|
+
}
|
|
42
|
+
if (baseType.endsWith("[]")) {
|
|
43
|
+
isArray = true;
|
|
44
|
+
baseType = baseType.slice(0, -2);
|
|
45
|
+
}
|
|
46
|
+
const builder = new ResourceFieldBuilder(baseType);
|
|
47
|
+
if (nullable) builder.nullable();
|
|
48
|
+
if (isArray) builder.array();
|
|
49
|
+
return builder;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Set input key
|
|
53
|
+
* Will be used in transformation if provided
|
|
54
|
+
*/
|
|
55
|
+
setInputKey(key) {
|
|
56
|
+
this.inputKeyToUse = key;
|
|
57
|
+
return this;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Add a condition before transforming the value
|
|
61
|
+
*/
|
|
62
|
+
when(condition) {
|
|
63
|
+
this.condition = condition;
|
|
64
|
+
return this;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Set whether the value is nullable
|
|
68
|
+
*/
|
|
69
|
+
nullable() {
|
|
70
|
+
this.isNullable = true;
|
|
71
|
+
return this;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Mark this field as an array
|
|
75
|
+
* transform() will map over each element using the base type
|
|
76
|
+
*/
|
|
77
|
+
array() {
|
|
78
|
+
this.isArrayField = true;
|
|
79
|
+
return this;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Get input key
|
|
83
|
+
*/
|
|
84
|
+
getInputKey() {
|
|
85
|
+
return this.inputKeyToUse;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Set default value
|
|
89
|
+
*/
|
|
90
|
+
default(value) {
|
|
91
|
+
this.defaultValue = value;
|
|
92
|
+
return this;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Set field format
|
|
96
|
+
*/
|
|
97
|
+
format(format) {
|
|
98
|
+
this.dateFormat = format;
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Set date options
|
|
103
|
+
* This will override current date options
|
|
104
|
+
*/
|
|
105
|
+
dateOptions(options) {
|
|
106
|
+
this.dateOptionsInput = options;
|
|
107
|
+
return this;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Transform the value.
|
|
111
|
+
* When isArrayField is true, maps over each element using transformSingleValue.
|
|
112
|
+
*/
|
|
113
|
+
transform(value, locale) {
|
|
114
|
+
if (this.isArrayField) {
|
|
115
|
+
if (!Array.isArray(value)) return this.isNullable ? null : [];
|
|
116
|
+
return value.map((item) => this.transformSingleValue(item, locale)).filter((v) => v !== void 0);
|
|
117
|
+
}
|
|
118
|
+
return this.transformSingleValue(value, locale);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Transform a single value according to the base type.
|
|
122
|
+
*/
|
|
123
|
+
transformSingleValue(value, locale) {
|
|
124
|
+
if (value === void 0 || value === null) return this.isNullable ? null : this.defaultValue;
|
|
125
|
+
if (this.condition && !this.condition()) return this.isNullable ? null : this.defaultValue;
|
|
126
|
+
switch (this.type) {
|
|
127
|
+
case "string": return String(value);
|
|
128
|
+
case "number": {
|
|
129
|
+
const num = Number(value);
|
|
130
|
+
return isNaN(num) ? this.isNullable ? null : void 0 : num;
|
|
131
|
+
}
|
|
132
|
+
case "boolean": return Boolean(value);
|
|
133
|
+
case "float": {
|
|
134
|
+
const float = parseFloat(value);
|
|
135
|
+
return isNaN(float) ? this.isNullable ? null : void 0 : float;
|
|
136
|
+
}
|
|
137
|
+
case "int": {
|
|
138
|
+
const int = parseInt(value);
|
|
139
|
+
return isNaN(int) ? this.isNullable ? null : void 0 : int;
|
|
140
|
+
}
|
|
141
|
+
case "date": return this.transformDate(value, locale);
|
|
142
|
+
case "localized": return this.transformLocalized(value, locale);
|
|
143
|
+
case "url": return url(value);
|
|
144
|
+
case "uploadsUrl": return uploadsUrl(value);
|
|
145
|
+
case "storageUrl": return storage.url(value);
|
|
146
|
+
case "object": return isObject(value) && !Array.isArray(value) && Object.keys(value).length > 0 ? value : this.isNullable ? null : void 0;
|
|
147
|
+
case "array": return Array.isArray(value) ? value : this.isNullable ? null : void 0;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Transform date value
|
|
152
|
+
*/
|
|
153
|
+
transformDate(value, locale) {
|
|
154
|
+
if (typeof this.dateOptionsInput === "string") {
|
|
155
|
+
if (this.dateOptionsInput === "format") return dayjs(value).format(this.dateFormat);
|
|
156
|
+
if (this.dateOptionsInput === "iso") return dayjs(value).toISOString();
|
|
157
|
+
if (this.dateOptionsInput === "timestamp") return dayjs(value).valueOf();
|
|
158
|
+
if (this.dateOptionsInput === "humanTime") return dayjs(value).fromNow();
|
|
159
|
+
if (this.dateOptionsInput === "locale") {
|
|
160
|
+
if (!locale) return dayjs(value).format(this.dateFormat);
|
|
161
|
+
return dayjs(value).locale(locale).format(this.dateFormat);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
const output = {};
|
|
165
|
+
let dayjsObject = dayjs(value?.iso || value);
|
|
166
|
+
if (locale) dayjsObject = dayjsObject.locale(locale);
|
|
167
|
+
if (this.dateOptionsInput.iso) output.iso = dayjsObject.toISOString();
|
|
168
|
+
if (this.dateOptionsInput.format) output.format = dayjsObject.format(this.dateFormat);
|
|
169
|
+
if (this.dateOptionsInput.timestamp) output.timestamp = dayjsObject.valueOf();
|
|
170
|
+
if (this.dateOptionsInput.humanTime) output.humanTime = dayjsObject.fromNow();
|
|
171
|
+
if (this.dateOptionsInput.locale) output.locale = dayjsObject.format(this.dateFormat);
|
|
172
|
+
if (this.dateOptionsInput.iso) output.iso = dayjsObject.toISOString();
|
|
173
|
+
return output;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Transform localized value
|
|
177
|
+
*/
|
|
178
|
+
transformLocalized(value, locale) {
|
|
179
|
+
if (typeof value === "string") return value;
|
|
180
|
+
if (!locale) return value[0]?.value || value;
|
|
181
|
+
return value.find((item) => item.localeCode === locale)?.value;
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
//#endregion
|
|
186
|
+
export { ResourceFieldBuilder };
|
|
187
|
+
//# sourceMappingURL=resource-field-builder.mjs.map
|