@warlock.js/core 4.0.48 → 4.0.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/application.d.ts +27 -0
- package/esm/application.d.ts.map +1 -0
- package/esm/bootstrap/setup.d.ts +2 -0
- package/esm/bootstrap/setup.d.ts.map +1 -0
- package/esm/bootstrap/setup.js +14 -0
- package/esm/bootstrap/setup.js.map +1 -0
- package/esm/bootstrap.d.ts +2 -0
- package/esm/bootstrap.d.ts.map +1 -0
- package/esm/bootstrap.js +5 -0
- package/esm/bootstrap.js.map +1 -0
- package/esm/cache/database-cache-driver.d.ts +56 -0
- package/esm/cache/database-cache-driver.d.ts.map +1 -0
- package/esm/cache/database-cache-driver.js +112 -0
- package/esm/cache/database-cache-driver.js.map +1 -0
- package/esm/cache/index.d.ts +3 -0
- package/esm/cache/index.d.ts.map +1 -0
- package/esm/cache/index.js +1 -0
- package/esm/cache/index.js.map +1 -0
- package/esm/cli/cli-command.d.ts +115 -0
- package/esm/cli/cli-command.d.ts.map +1 -0
- package/esm/cli/cli-command.js +227 -0
- package/esm/cli/cli-command.js.map +1 -0
- package/esm/cli/cli-commands.manager.d.ts +71 -0
- package/esm/cli/cli-commands.manager.d.ts.map +1 -0
- package/esm/cli/cli-commands.manager.js +348 -0
- package/esm/cli/cli-commands.manager.js.map +1 -0
- package/esm/cli/cli-commands.utils.d.ts +73 -0
- package/esm/cli/cli-commands.utils.d.ts.map +1 -0
- package/esm/cli/cli-commands.utils.js +195 -0
- package/esm/cli/cli-commands.utils.js.map +1 -0
- package/esm/cli/commands/add.command.d.ts +2 -0
- package/esm/cli/commands/add.command.d.ts.map +1 -0
- package/esm/cli/commands/add.command.js +15 -0
- package/esm/cli/commands/add.command.js.map +1 -0
- package/esm/cli/commands/build.command.d.ts +2 -0
- package/esm/cli/commands/build.command.d.ts.map +1 -0
- package/esm/cli/commands/build.command.js +8 -0
- package/esm/cli/commands/build.command.js.map +1 -0
- package/esm/cli/commands/dev-server.command.d.ts +2 -0
- package/esm/cli/commands/dev-server.command.d.ts.map +1 -0
- package/esm/cli/commands/dev-server.command.js +16 -0
- package/esm/cli/commands/dev-server.command.js.map +1 -0
- package/esm/cli/commands/migrate.command.d.ts +2 -0
- package/esm/cli/commands/migrate.command.d.ts.map +1 -0
- package/esm/cli/commands/migrate.command.js +37 -0
- package/esm/cli/commands/migrate.command.js.map +1 -0
- package/esm/cli/commands/seed.command.d.ts +2 -0
- package/esm/cli/commands/seed.command.d.ts.map +1 -0
- package/esm/cli/commands/seed.command.js +17 -0
- package/esm/cli/commands/seed.command.js.map +1 -0
- package/esm/cli/commands/start-production.command.d.ts +2 -0
- package/esm/cli/commands/start-production.command.d.ts.map +1 -0
- package/esm/cli/commands/start-production.command.js +65 -0
- package/esm/cli/commands/start-production.command.js.map +1 -0
- package/esm/cli/commands/typings-generator.command.d.ts +2 -0
- package/esm/cli/commands/typings-generator.command.d.ts.map +1 -0
- package/esm/cli/commands/typings-generator.command.js +37 -0
- package/esm/cli/commands/typings-generator.command.js.map +1 -0
- package/esm/cli/commands-loader.d.ts +18 -0
- package/esm/cli/commands-loader.d.ts.map +1 -0
- package/esm/cli/commands-loader.js +45 -0
- package/esm/cli/commands-loader.js.map +1 -0
- package/esm/cli/framework-cli-commands.d.ts +2 -0
- package/esm/cli/framework-cli-commands.d.ts.map +1 -0
- package/esm/cli/framework-cli-commands.js +11 -0
- package/esm/cli/framework-cli-commands.js.map +1 -0
- package/esm/cli/index.d.ts +3 -0
- package/esm/cli/index.d.ts.map +1 -0
- package/esm/cli/index.js +1 -4
- package/esm/cli/index.js.map +1 -1
- package/esm/cli/parse-cli-args.d.ts +18 -0
- package/esm/cli/parse-cli-args.d.ts.map +1 -0
- package/esm/cli/parse-cli-args.js +82 -0
- package/esm/cli/parse-cli-args.js.map +1 -0
- package/esm/cli/start.d.ts +2 -0
- package/esm/cli/start.d.ts.map +1 -0
- package/esm/cli/start.js +2 -6
- package/esm/cli/start.js.map +1 -1
- package/esm/cli/string-similarity.d.ts +44 -0
- package/esm/cli/string-similarity.d.ts.map +1 -0
- package/esm/cli/string-similarity.js +57 -0
- package/esm/cli/string-similarity.js.map +1 -0
- package/esm/cli/types.d.ts +206 -0
- package/esm/cli/types.d.ts.map +1 -0
- package/esm/config/config-getter.d.ts +35 -0
- package/esm/config/config-getter.d.ts.map +1 -0
- package/esm/config/config-getter.js +21 -0
- package/esm/config/config-getter.js.map +1 -0
- package/esm/config/config-handlers.d.ts +19 -0
- package/esm/config/config-handlers.d.ts.map +1 -0
- package/esm/config/config-handlers.js +47 -0
- package/esm/config/config-handlers.js.map +1 -0
- package/esm/config/config-loader.d.ts +37 -0
- package/esm/config/config-loader.d.ts.map +1 -0
- package/esm/config/config-loader.js +85 -0
- package/esm/config/config-loader.js.map +1 -0
- package/esm/config/config-manager.d.ts +22 -0
- package/esm/config/config-manager.d.ts.map +1 -0
- package/esm/config/config-manager.js +25 -0
- package/esm/config/config-manager.js.map +1 -0
- package/esm/config/config-special-handlers.d.ts +17 -0
- package/esm/config/config-special-handlers.d.ts.map +1 -0
- package/esm/config/config-special-handlers.js +23 -0
- package/esm/config/config-special-handlers.js.map +1 -0
- package/esm/config/index.d.ts +5 -0
- package/esm/config/index.d.ts.map +1 -0
- package/esm/config/load-config-files.d.ts +6 -0
- package/esm/config/load-config-files.d.ts.map +1 -0
- package/esm/config/load-config-files.js +19 -0
- package/esm/config/load-config-files.js.map +1 -0
- package/esm/config/types.d.ts +52 -0
- package/esm/config/types.d.ts.map +1 -0
- package/esm/database/index.d.ts +4 -0
- package/esm/database/index.d.ts.map +1 -0
- package/esm/database/migrate-action.d.ts +8 -0
- package/esm/database/migrate-action.d.ts.map +1 -0
- package/esm/database/migrate-action.js +95 -0
- package/esm/database/migrate-action.js.map +1 -0
- package/esm/database/models/database-log/database-log.d.ts +16 -0
- package/esm/database/models/database-log/database-log.d.ts.map +1 -0
- package/esm/database/models/database-log/database-log.js +17 -0
- package/esm/database/models/database-log/database-log.js.map +1 -0
- package/esm/database/models/database-log/index.d.ts +2 -0
- package/esm/database/models/database-log/index.d.ts.map +1 -0
- package/esm/database/seed-command-action.d.ts +3 -0
- package/esm/database/seed-command-action.d.ts.map +1 -0
- package/esm/database/seed-command-action.js +36 -0
- package/esm/database/seed-command-action.js.map +1 -0
- package/esm/database/seeds/index.d.ts +3 -0
- package/esm/database/seeds/index.d.ts.map +1 -0
- package/esm/database/seeds/seeder.d.ts +36 -0
- package/esm/database/seeds/seeder.d.ts.map +1 -0
- package/esm/database/seeds/seeder.js +6 -0
- package/esm/database/seeds/seeder.js.map +1 -0
- package/esm/database/seeds/seeders.manager.d.ts +47 -0
- package/esm/database/seeds/seeders.manager.d.ts.map +1 -0
- package/esm/database/seeds/seeders.manager.js +137 -0
- package/esm/database/seeds/seeders.manager.js.map +1 -0
- package/esm/database/seeds/seeds-table-migration.d.ts +8 -0
- package/esm/database/seeds/seeds-table-migration.d.ts.map +1 -0
- package/esm/database/seeds/seeds-table-migration.js +18 -0
- package/esm/database/seeds/seeds-table-migration.js.map +1 -0
- package/esm/database/seeds/types.d.ts +13 -0
- package/esm/database/seeds/types.d.ts.map +1 -0
- package/esm/database/seeds/utils.d.ts +2 -0
- package/esm/database/seeds/utils.d.ts.map +1 -0
- package/esm/database/seeds/utils.js +1 -0
- package/esm/database/seeds/utils.js.map +1 -0
- package/esm/database/utils.d.ts +18 -0
- package/esm/database/utils.d.ts.map +1 -0
- package/esm/database/utils.js +30 -0
- package/esm/database/utils.js.map +1 -0
- package/esm/dev2-server/connectors/base-connector.d.ts +49 -0
- package/esm/dev2-server/connectors/base-connector.d.ts.map +1 -0
- package/esm/dev2-server/connectors/base-connector.js +48 -0
- package/esm/dev2-server/connectors/base-connector.js.map +1 -0
- package/esm/dev2-server/connectors/cache-connector.d.ts +23 -0
- package/esm/dev2-server/connectors/cache-connector.d.ts.map +1 -0
- package/esm/dev2-server/connectors/cache-connector.js +35 -0
- package/esm/dev2-server/connectors/cache-connector.js.map +1 -0
- package/esm/dev2-server/connectors/connectors-manager.d.ts +38 -0
- package/esm/dev2-server/connectors/connectors-manager.d.ts.map +1 -0
- package/esm/dev2-server/connectors/connectors-manager.js +81 -0
- package/esm/dev2-server/connectors/connectors-manager.js.map +1 -0
- package/esm/dev2-server/connectors/database-connector.d.ts +23 -0
- package/esm/dev2-server/connectors/database-connector.d.ts.map +1 -0
- package/esm/dev2-server/connectors/database-connector.js +51 -0
- package/esm/dev2-server/connectors/database-connector.js.map +1 -0
- package/esm/dev2-server/connectors/http-connector.d.ts +29 -0
- package/esm/dev2-server/connectors/http-connector.d.ts.map +1 -0
- package/esm/dev2-server/connectors/http-connector.js +69 -0
- package/esm/dev2-server/connectors/http-connector.js.map +1 -0
- package/esm/dev2-server/connectors/index.d.ts +12 -0
- package/esm/dev2-server/connectors/index.d.ts.map +1 -0
- package/esm/dev2-server/connectors/storage.connector.d.ts +23 -0
- package/esm/dev2-server/connectors/storage.connector.d.ts.map +1 -0
- package/esm/dev2-server/connectors/storage.connector.js +29 -0
- package/esm/dev2-server/connectors/storage.connector.js.map +1 -0
- package/esm/dev2-server/connectors/types.d.ts +51 -0
- package/esm/dev2-server/connectors/types.d.ts.map +1 -0
- package/esm/dev2-server/connectors/types.js +10 -0
- package/esm/dev2-server/connectors/types.js.map +1 -0
- package/esm/dev2-server/create-worker.d.ts +34 -0
- package/esm/dev2-server/create-worker.d.ts.map +1 -0
- package/esm/dev2-server/create-worker.js +37 -0
- package/esm/dev2-server/create-worker.js.map +1 -0
- package/esm/dev2-server/dependency-graph.d.ts +93 -0
- package/esm/dev2-server/dependency-graph.d.ts.map +1 -0
- package/esm/dev2-server/dependency-graph.js +266 -0
- package/esm/dev2-server/dependency-graph.js.map +1 -0
- package/esm/dev2-server/dev-logger.d.ts +14 -0
- package/esm/dev2-server/dev-logger.d.ts.map +1 -0
- package/esm/dev2-server/dev-logger.js +130 -0
- package/esm/dev2-server/dev-logger.js.map +1 -0
- package/esm/dev2-server/development-server.d.ts +47 -0
- package/esm/dev2-server/development-server.d.ts.map +1 -0
- package/esm/dev2-server/development-server.js +149 -0
- package/esm/dev2-server/development-server.js.map +1 -0
- package/esm/dev2-server/events.d.ts +5 -0
- package/esm/dev2-server/events.d.ts.map +1 -0
- package/esm/dev2-server/events.js +4 -0
- package/esm/dev2-server/events.js.map +1 -0
- package/esm/dev2-server/export-analyzer.d.ts +84 -0
- package/esm/dev2-server/export-analyzer.d.ts.map +1 -0
- package/esm/dev2-server/export-analyzer.js +206 -0
- package/esm/dev2-server/export-analyzer.js.map +1 -0
- package/esm/dev2-server/file-event-handler.d.ts +156 -0
- package/esm/dev2-server/file-event-handler.d.ts.map +1 -0
- package/esm/dev2-server/file-event-handler.js +300 -0
- package/esm/dev2-server/file-event-handler.js.map +1 -0
- package/esm/dev2-server/file-manager.d.ts +385 -0
- package/esm/dev2-server/file-manager.d.ts.map +1 -0
- package/esm/dev2-server/file-manager.js +580 -0
- package/esm/dev2-server/file-manager.js.map +1 -0
- package/esm/dev2-server/file-operations.d.ts +203 -0
- package/esm/dev2-server/file-operations.d.ts.map +1 -0
- package/esm/dev2-server/file-operations.js +365 -0
- package/esm/dev2-server/file-operations.js.map +1 -0
- package/esm/dev2-server/files-orchestrator.d.ts +146 -0
- package/esm/dev2-server/files-orchestrator.d.ts.map +1 -0
- package/esm/dev2-server/files-orchestrator.js +314 -0
- package/esm/dev2-server/files-orchestrator.js.map +1 -0
- package/esm/dev2-server/files-watcher.d.ts +67 -0
- package/esm/dev2-server/files-watcher.d.ts.map +1 -0
- package/esm/dev2-server/files-watcher.js +95 -0
- package/esm/dev2-server/files-watcher.js.map +1 -0
- package/esm/dev2-server/flags.d.ts +10 -0
- package/esm/dev2-server/flags.d.ts.map +1 -0
- package/esm/dev2-server/flags.js +9 -0
- package/esm/dev2-server/flags.js.map +1 -0
- package/esm/dev2-server/health-checker/checkers/base-health-checker.d.ts +52 -0
- package/esm/dev2-server/health-checker/checkers/base-health-checker.d.ts.map +1 -0
- package/esm/dev2-server/health-checker/checkers/base-health-checker.js +71 -0
- package/esm/dev2-server/health-checker/checkers/base-health-checker.js.map +1 -0
- package/esm/dev2-server/health-checker/checkers/eslint-health-checker.d.ts +40 -0
- package/esm/dev2-server/health-checker/checkers/eslint-health-checker.d.ts.map +1 -0
- package/esm/dev2-server/health-checker/checkers/eslint-health-checker.js +217 -0
- package/esm/dev2-server/health-checker/checkers/eslint-health-checker.js.map +1 -0
- package/esm/dev2-server/health-checker/checkers/typescript-health-checker.d.ts +56 -0
- package/esm/dev2-server/health-checker/checkers/typescript-health-checker.d.ts.map +1 -0
- package/esm/dev2-server/health-checker/checkers/typescript-health-checker.js +279 -0
- package/esm/dev2-server/health-checker/checkers/typescript-health-checker.js.map +1 -0
- package/esm/dev2-server/health-checker/file-health-checker.contract.d.ts +59 -0
- package/esm/dev2-server/health-checker/file-health-checker.contract.d.ts.map +1 -0
- package/esm/dev2-server/health-checker/file-health-result.d.ts +68 -0
- package/esm/dev2-server/health-checker/file-health-result.d.ts.map +1 -0
- package/esm/dev2-server/health-checker/file-health-result.js +40 -0
- package/esm/dev2-server/health-checker/file-health-result.js.map +1 -0
- package/esm/dev2-server/health-checker/files-healthcare.manager.d.ts +115 -0
- package/esm/dev2-server/health-checker/files-healthcare.manager.d.ts.map +1 -0
- package/esm/dev2-server/health-checker/files-healthcare.manager.js +422 -0
- package/esm/dev2-server/health-checker/files-healthcare.manager.js.map +1 -0
- package/esm/dev2-server/health-checker/index.d.ts +6 -0
- package/esm/dev2-server/health-checker/index.d.ts.map +1 -0
- package/esm/dev2-server/health-checker/workers/eslint-health.worker.d.ts +2 -0
- package/esm/dev2-server/health-checker/workers/eslint-health.worker.d.ts.map +1 -0
- package/esm/dev2-server/health-checker/workers/eslint-health.worker.js +214 -0
- package/esm/dev2-server/health-checker/workers/eslint-health.worker.js.map +1 -0
- package/esm/dev2-server/health-checker/workers/ts-health.worker.d.ts +2 -0
- package/esm/dev2-server/health-checker/workers/ts-health.worker.d.ts.map +1 -0
- package/esm/dev2-server/health-checker/workers/ts-health.worker.js +261 -0
- package/esm/dev2-server/health-checker/workers/ts-health.worker.js.map +1 -0
- package/esm/dev2-server/import-transformer.d.ts +17 -0
- package/esm/dev2-server/import-transformer.d.ts.map +1 -0
- package/esm/dev2-server/import-transformer.js +280 -0
- package/esm/dev2-server/import-transformer.js.map +1 -0
- package/esm/dev2-server/index.d.ts +1 -0
- package/esm/dev2-server/index.d.ts.map +1 -0
- package/esm/dev2-server/layer-executor.d.ts +61 -0
- package/esm/dev2-server/layer-executor.d.ts.map +1 -0
- package/esm/dev2-server/layer-executor.js +314 -0
- package/esm/dev2-server/layer-executor.js.map +1 -0
- package/esm/dev2-server/manifest-manager.d.ts +80 -0
- package/esm/dev2-server/manifest-manager.d.ts.map +1 -0
- package/esm/dev2-server/manifest-manager.js +107 -0
- package/esm/dev2-server/manifest-manager.js.map +1 -0
- package/esm/dev2-server/module-loader.d.ts +108 -0
- package/esm/dev2-server/module-loader.d.ts.map +1 -0
- package/esm/dev2-server/module-loader.js +266 -0
- package/esm/dev2-server/module-loader.js.map +1 -0
- package/esm/dev2-server/package-json-manager.d.ts +16 -0
- package/esm/dev2-server/package-json-manager.d.ts.map +1 -0
- package/esm/dev2-server/package-json-manager.js +20 -0
- package/esm/dev2-server/package-json-manager.js.map +1 -0
- package/esm/dev2-server/parse-imports.d.ts +13 -0
- package/esm/dev2-server/parse-imports.d.ts.map +1 -0
- package/esm/dev2-server/parse-imports.js +329 -0
- package/esm/dev2-server/parse-imports.js.map +1 -0
- package/esm/dev2-server/path.d.ts +39 -0
- package/esm/dev2-server/path.d.ts.map +1 -0
- package/esm/dev2-server/path.js +56 -0
- package/esm/dev2-server/path.js.map +1 -0
- package/esm/dev2-server/runtime-import-helper.d.ts +8 -0
- package/esm/dev2-server/runtime-import-helper.d.ts.map +1 -0
- package/esm/dev2-server/runtime-import-helper.js +157 -0
- package/esm/dev2-server/runtime-import-helper.js.map +1 -0
- package/esm/dev2-server/special-files-collector.d.ts +114 -0
- package/esm/dev2-server/special-files-collector.d.ts.map +1 -0
- package/esm/dev2-server/special-files-collector.js +212 -0
- package/esm/dev2-server/special-files-collector.js.map +1 -0
- package/esm/dev2-server/start-development-server.d.ts +7 -0
- package/esm/dev2-server/start-development-server.d.ts.map +1 -0
- package/esm/dev2-server/start-development-server.js +21 -0
- package/esm/dev2-server/start-development-server.js.map +1 -0
- package/esm/dev2-server/transpile-file.d.ts +11 -0
- package/esm/dev2-server/transpile-file.d.ts.map +1 -0
- package/esm/dev2-server/transpile-file.js +21 -0
- package/esm/dev2-server/transpile-file.js.map +1 -0
- package/esm/dev2-server/tsconfig-manager.d.ts +45 -0
- package/esm/dev2-server/tsconfig-manager.d.ts.map +1 -0
- package/esm/dev2-server/tsconfig-manager.js +107 -0
- package/esm/dev2-server/tsconfig-manager.js.map +1 -0
- package/esm/dev2-server/type-generator.d.ts +115 -0
- package/esm/dev2-server/type-generator.d.ts.map +1 -0
- package/esm/dev2-server/type-generator.js +566 -0
- package/esm/dev2-server/type-generator.js.map +1 -0
- package/esm/dev2-server/types.d.ts +30 -0
- package/esm/dev2-server/types.d.ts.map +1 -0
- package/esm/dev2-server/utils.d.ts +15 -0
- package/esm/dev2-server/utils.d.ts.map +1 -0
- package/esm/dev2-server/utils.js +40 -0
- package/esm/dev2-server/utils.js.map +1 -0
- package/esm/generations/add-command.action.d.ts +3 -0
- package/esm/generations/add-command.action.d.ts.map +1 -0
- package/esm/generations/add-command.action.js +154 -0
- package/esm/generations/add-command.action.js.map +1 -0
- package/esm/http/config.d.ts +10 -0
- package/esm/http/config.d.ts.map +1 -0
- package/esm/http/config.js +22 -0
- package/esm/http/config.js.map +1 -0
- package/esm/http/context/request-context.d.ts +47 -0
- package/esm/http/context/request-context.d.ts.map +1 -0
- package/esm/http/context/request-context.js +52 -0
- package/esm/http/context/request-context.js.map +1 -0
- package/esm/http/createHttpApplication.d.ts +3 -0
- package/esm/http/createHttpApplication.d.ts.map +1 -0
- package/esm/http/createHttpApplication.js +28 -0
- package/esm/http/createHttpApplication.js.map +1 -0
- package/esm/http/database/RequestLog.d.ts +16 -0
- package/esm/http/database/RequestLog.d.ts.map +1 -0
- package/esm/http/database/RequestLog.js +26 -0
- package/esm/http/database/RequestLog.js.map +1 -0
- package/esm/http/errors/index.d.ts +2 -0
- package/esm/http/errors/index.d.ts.map +1 -0
- package/esm/http/errors/resource-not-found.error.d.ts +21 -0
- package/esm/http/errors/resource-not-found.error.d.ts.map +1 -0
- package/esm/http/errors/resource-not-found.error.js +40 -0
- package/esm/http/errors/resource-not-found.error.js.map +1 -0
- package/esm/http/events.d.ts +4 -0
- package/esm/http/events.d.ts.map +1 -0
- package/esm/http/events.js +26 -0
- package/esm/http/events.js.map +1 -0
- package/esm/http/index.d.ts +17 -0
- package/esm/http/index.d.ts.map +1 -0
- package/esm/http/middleware/cache-response-middleware.d.ts +34 -0
- package/esm/http/middleware/cache-response-middleware.d.ts.map +1 -0
- package/esm/http/middleware/cache-response-middleware.js +45 -0
- package/esm/http/middleware/cache-response-middleware.js.map +1 -0
- package/esm/http/middleware/index.d.ts +3 -0
- package/esm/http/middleware/index.d.ts.map +1 -0
- package/esm/http/middleware/inject-request-context.d.ts +21 -0
- package/esm/http/middleware/inject-request-context.d.ts.map +1 -0
- package/esm/http/middleware/inject-request-context.js +105 -0
- package/esm/http/middleware/inject-request-context.js.map +1 -0
- package/esm/http/plugins/index.d.ts +3 -0
- package/esm/http/plugins/index.d.ts.map +1 -0
- package/esm/http/plugins.d.ts +3 -0
- package/esm/http/plugins.d.ts.map +1 -0
- package/esm/http/plugins.js +31 -0
- package/esm/http/plugins.js.map +1 -0
- package/esm/http/request-controller.d.ts +11 -0
- package/esm/http/request-controller.d.ts.map +1 -0
- package/esm/http/request-controller.js +9 -0
- package/esm/http/request-controller.js.map +1 -0
- package/esm/http/request.d.ts +380 -0
- package/esm/http/request.d.ts.map +1 -0
- package/esm/http/request.js +733 -0
- package/esm/http/request.js.map +1 -0
- package/esm/http/response.js +914 -0
- package/esm/http/response.js.map +1 -0
- package/esm/http/server.d.ts +8 -0
- package/esm/http/server.d.ts.map +1 -0
- package/esm/http/server.js +15 -0
- package/esm/http/server.js.map +1 -0
- package/esm/http/types.d.ts +174 -0
- package/esm/http/types.d.ts.map +1 -0
- package/esm/http/uploaded-file.d.ts +459 -0
- package/esm/http/uploaded-file.d.ts.map +1 -0
- package/esm/http/uploaded-file.js +709 -0
- package/esm/http/uploaded-file.js.map +1 -0
- package/esm/http/uploads-config.d.ts +26 -0
- package/esm/http/uploads-config.d.ts.map +1 -0
- package/esm/http/uploads-config.js +35 -0
- package/esm/http/uploads-config.js.map +1 -0
- package/esm/http/uploads-types.d.ts +236 -0
- package/esm/http/uploads-types.d.ts.map +1 -0
- package/esm/image/image.d.ts +388 -0
- package/esm/image/image.d.ts.map +1 -0
- package/esm/image/image.js +602 -0
- package/esm/image/image.js.map +1 -0
- package/esm/image/index.d.ts +2 -0
- package/esm/image/index.d.ts.map +1 -0
- package/esm/index.d.ts +28 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +1 -28
- package/esm/index.js.map +1 -1
- package/esm/logger/index.d.ts +3 -0
- package/esm/logger/index.d.ts.map +1 -0
- package/esm/logger/logger.d.ts +3 -0
- package/esm/logger/logger.d.ts.map +1 -0
- package/esm/logger/logger.js +16 -0
- package/esm/logger/logger.js.map +1 -0
- package/esm/logger/types.d.ts +39 -0
- package/esm/logger/types.d.ts.map +1 -0
- package/esm/mail/config.d.ts +83 -0
- package/esm/mail/config.d.ts.map +1 -0
- package/esm/mail/config.js +152 -0
- package/esm/mail/config.js.map +1 -0
- package/esm/mail/events.d.ts +96 -0
- package/esm/mail/events.d.ts.map +1 -0
- package/esm/mail/events.js +123 -0
- package/esm/mail/events.js.map +1 -0
- package/esm/mail/index.d.ts +10 -0
- package/esm/mail/index.d.ts.map +1 -0
- package/esm/mail/mail.d.ts +175 -0
- package/esm/mail/mail.d.ts.map +1 -0
- package/esm/mail/mail.js +286 -0
- package/esm/mail/mail.js.map +1 -0
- package/esm/mail/mailer-pool.d.ts +27 -0
- package/esm/mail/mailer-pool.d.ts.map +1 -0
- package/esm/mail/mailer-pool.js +143 -0
- package/esm/mail/mailer-pool.js.map +1 -0
- package/esm/mail/react-mail.d.ts +9 -0
- package/esm/mail/react-mail.d.ts.map +1 -0
- package/esm/mail/react-mail.js +28 -0
- package/esm/mail/react-mail.js.map +1 -0
- package/esm/mail/send-mail.d.ts +33 -0
- package/esm/mail/send-mail.d.ts.map +1 -0
- package/esm/mail/send-mail.js +309 -0
- package/esm/mail/send-mail.js.map +1 -0
- package/esm/mail/test-mailbox.d.ts +110 -0
- package/esm/mail/test-mailbox.d.ts.map +1 -0
- package/esm/mail/test-mailbox.js +143 -0
- package/esm/mail/test-mailbox.js.map +1 -0
- package/esm/mail/types.d.ts +245 -0
- package/esm/mail/types.d.ts.map +1 -0
- package/esm/mail/types.js +13 -0
- package/esm/mail/types.js.map +1 -0
- package/esm/manifest/manifest-manager.d.ts +74 -0
- package/esm/manifest/manifest-manager.d.ts.map +1 -0
- package/esm/manifest/manifest-manager.js +88 -0
- package/esm/manifest/manifest-manager.js.map +1 -0
- package/esm/production/build-app-production.d.ts +6 -0
- package/esm/production/build-app-production.d.ts.map +1 -0
- package/esm/production/build-app-production.js +8 -0
- package/esm/production/build-app-production.js.map +1 -0
- package/esm/production/esbuild-plugins.d.ts +5 -0
- package/esm/production/esbuild-plugins.d.ts.map +1 -0
- package/esm/production/esbuild-plugins.js +23 -0
- package/esm/production/esbuild-plugins.js.map +1 -0
- package/esm/production/production-builder.d.ts +76 -0
- package/esm/production/production-builder.d.ts.map +1 -0
- package/esm/production/production-builder.js +247 -0
- package/esm/production/production-builder.js.map +1 -0
- package/esm/react/index.d.ts +14 -0
- package/esm/react/index.d.ts.map +1 -0
- package/esm/react/index.js +65 -0
- package/esm/react/index.js.map +1 -0
- package/esm/repositories/adapters/cascade/cascade-adapter.d.ts +85 -0
- package/esm/repositories/adapters/cascade/cascade-adapter.d.ts.map +1 -0
- package/esm/repositories/adapters/cascade/cascade-adapter.js +179 -0
- package/esm/repositories/adapters/cascade/cascade-adapter.js.map +1 -0
- package/esm/repositories/adapters/cascade/cascade-query-builder.d.ts +124 -0
- package/esm/repositories/adapters/cascade/cascade-query-builder.d.ts.map +1 -0
- package/esm/repositories/adapters/cascade/cascade-query-builder.js +267 -0
- package/esm/repositories/adapters/cascade/cascade-query-builder.js.map +1 -0
- package/esm/repositories/adapters/cascade/filter-applicator.d.ts +62 -0
- package/esm/repositories/adapters/cascade/filter-applicator.d.ts.map +1 -0
- package/esm/repositories/adapters/cascade/filter-applicator.js +423 -0
- package/esm/repositories/adapters/cascade/filter-applicator.js.map +1 -0
- package/esm/repositories/adapters/cascade/index.d.ts +7 -0
- package/esm/repositories/adapters/cascade/index.d.ts.map +1 -0
- package/esm/repositories/contracts/index.d.ts +8 -0
- package/esm/repositories/contracts/index.d.ts.map +1 -0
- package/esm/repositories/contracts/query-builder.contract.d.ts +279 -0
- package/esm/repositories/contracts/query-builder.contract.d.ts.map +1 -0
- package/esm/repositories/contracts/repository-adapter.contract.d.ts +183 -0
- package/esm/repositories/contracts/repository-adapter.contract.d.ts.map +1 -0
- package/esm/repositories/contracts/types.d.ts +278 -0
- package/esm/repositories/contracts/types.d.ts.map +1 -0
- package/esm/repositories/index.d.ts +8 -0
- package/esm/repositories/index.d.ts.map +1 -0
- package/esm/repositories/repository.manager.d.ts +619 -0
- package/esm/repositories/repository.manager.d.ts.map +1 -0
- package/esm/repositories/repository.manager.js +978 -0
- package/esm/repositories/repository.manager.js.map +1 -0
- package/esm/resource/define-resource.js +58 -0
- package/esm/resource/define-resource.js.map +1 -0
- package/esm/resource/index.d.ts +5 -0
- package/esm/resource/index.d.ts.map +1 -0
- package/esm/resource/resource-field-builder.d.ts +83 -0
- package/esm/resource/resource-field-builder.d.ts.map +1 -0
- package/esm/resource/resource-field-builder.js +189 -0
- package/esm/resource/resource-field-builder.js.map +1 -0
- package/esm/resource/resource.d.ts +105 -0
- package/esm/resource/resource.d.ts.map +1 -0
- package/esm/resource/resource.js +231 -0
- package/esm/resource/resource.js.map +1 -0
- package/esm/resource/types.d.ts +40 -0
- package/esm/resource/types.d.ts.map +1 -0
- package/esm/restful/index.d.ts +2 -0
- package/esm/restful/index.d.ts.map +1 -0
- package/esm/restful/restful.d.ts +110 -0
- package/esm/restful/restful.d.ts.map +1 -0
- package/esm/restful/restful.js +317 -0
- package/esm/restful/restful.js.map +1 -0
- package/esm/router/index.d.ts +4 -0
- package/esm/router/index.d.ts.map +1 -0
- package/esm/router/route-registry.d.ts +30 -0
- package/esm/router/route-registry.d.ts.map +1 -0
- package/esm/router/route-registry.js +67 -0
- package/esm/router/route-registry.js.map +1 -0
- package/esm/router/route.d.ts +34 -0
- package/esm/router/route.d.ts.map +1 -0
- package/esm/router/router.d.ts +169 -0
- package/esm/router/router.d.ts.map +1 -0
- package/esm/router/router.js +578 -0
- package/esm/router/router.js.map +1 -0
- package/esm/router/types.d.ts +267 -0
- package/esm/router/types.d.ts.map +1 -0
- package/esm/router/utils.d.ts +5 -0
- package/esm/router/utils.d.ts.map +1 -0
- package/esm/router/utils.js +6 -0
- package/esm/router/utils.js.map +1 -0
- package/esm/storage/config.d.ts +15 -0
- package/esm/storage/config.d.ts.map +1 -0
- package/esm/storage/config.js +32 -0
- package/esm/storage/config.js.map +1 -0
- package/esm/storage/context/storage-driver-context.d.ts +69 -0
- package/esm/storage/context/storage-driver-context.d.ts.map +1 -0
- package/esm/storage/context/storage-driver-context.js +80 -0
- package/esm/storage/context/storage-driver-context.js.map +1 -0
- package/esm/storage/drivers/cloud-driver.d.ts +196 -0
- package/esm/storage/drivers/cloud-driver.d.ts.map +1 -0
- package/esm/storage/drivers/cloud-driver.js +697 -0
- package/esm/storage/drivers/cloud-driver.js.map +1 -0
- package/esm/storage/drivers/do-spaces-driver.d.ts +43 -0
- package/esm/storage/drivers/do-spaces-driver.d.ts.map +1 -0
- package/esm/storage/drivers/do-spaces-driver.js +50 -0
- package/esm/storage/drivers/do-spaces-driver.js.map +1 -0
- package/esm/storage/drivers/local-driver.d.ts +151 -0
- package/esm/storage/drivers/local-driver.d.ts.map +1 -0
- package/esm/storage/drivers/local-driver.js +448 -0
- package/esm/storage/drivers/local-driver.js.map +1 -0
- package/esm/storage/drivers/r2-driver.d.ts +47 -0
- package/esm/storage/drivers/r2-driver.d.ts.map +1 -0
- package/esm/storage/drivers/r2-driver.js +60 -0
- package/esm/storage/drivers/r2-driver.js.map +1 -0
- package/esm/storage/drivers/s3-driver.d.ts +32 -0
- package/esm/storage/drivers/s3-driver.d.ts.map +1 -0
- package/esm/storage/drivers/s3-driver.js +37 -0
- package/esm/storage/drivers/s3-driver.js.map +1 -0
- package/esm/storage/index.d.ts +13 -0
- package/esm/storage/index.d.ts.map +1 -0
- package/esm/storage/scoped-storage.d.ts +514 -0
- package/esm/storage/scoped-storage.d.ts.map +1 -0
- package/esm/storage/scoped-storage.js +656 -0
- package/esm/storage/scoped-storage.js.map +1 -0
- package/esm/storage/storage-file.d.ts +216 -0
- package/esm/storage/storage-file.d.ts.map +1 -0
- package/esm/storage/storage-file.js +358 -0
- package/esm/storage/storage-file.js.map +1 -0
- package/esm/storage/storage.d.ts +583 -0
- package/esm/storage/storage.d.ts.map +1 -0
- package/esm/storage/storage.js +945 -0
- package/esm/storage/storage.js.map +1 -0
- package/esm/storage/types.d.ts +909 -0
- package/esm/storage/types.d.ts.map +1 -0
- package/esm/storage/utils/mime.d.ts +33 -0
- package/esm/storage/utils/mime.d.ts.map +1 -0
- package/esm/storage/utils/mime.js +45 -0
- package/esm/storage/utils/mime.js.map +1 -0
- package/esm/store/index.d.ts +25 -0
- package/esm/store/index.d.ts.map +1 -0
- package/esm/store/index.js +52 -0
- package/esm/store/index.js.map +1 -0
- package/esm/utils/app-log.d.ts +8 -0
- package/esm/utils/app-log.d.ts.map +1 -0
- package/esm/utils/app-log.js +7 -0
- package/esm/utils/app-log.js.map +1 -0
- package/esm/utils/cleanup-temp-files.d.ts +5 -0
- package/esm/utils/cleanup-temp-files.d.ts.map +1 -0
- package/esm/utils/database-log.d.ts +25 -0
- package/esm/utils/database-log.d.ts.map +1 -0
- package/esm/utils/database-log.js +43 -0
- package/esm/utils/database-log.js.map +1 -0
- package/esm/utils/download-file.d.ts +3 -0
- package/esm/utils/download-file.d.ts.map +1 -0
- package/esm/utils/environment.d.ts +4 -0
- package/esm/utils/environment.d.ts.map +1 -0
- package/esm/utils/environment.js +6 -0
- package/esm/utils/environment.js.map +1 -0
- package/esm/utils/get-localized.d.ts +10 -0
- package/esm/utils/get-localized.d.ts.map +1 -0
- package/esm/utils/get-localized.js +15 -0
- package/esm/utils/get-localized.js.map +1 -0
- package/esm/utils/index.d.ts +12 -0
- package/esm/utils/index.d.ts.map +1 -0
- package/esm/utils/internal.d.ts +4 -0
- package/esm/utils/internal.d.ts.map +1 -0
- package/esm/utils/paths.d.ts +55 -0
- package/esm/utils/paths.d.ts.map +1 -0
- package/esm/utils/paths.js +89 -0
- package/esm/utils/paths.js.map +1 -0
- package/esm/utils/promise-all-object.d.ts +8 -0
- package/esm/utils/promise-all-object.d.ts.map +1 -0
- package/esm/utils/promise-all-object.js +12 -0
- package/esm/utils/promise-all-object.js.map +1 -0
- package/esm/utils/queue.d.ts +49 -0
- package/esm/utils/queue.d.ts.map +1 -0
- package/esm/utils/queue.js +89 -0
- package/esm/utils/queue.js.map +1 -0
- package/esm/utils/sleep.d.ts +2 -0
- package/esm/utils/sleep.d.ts.map +1 -0
- package/esm/utils/sleep.js +3 -0
- package/esm/utils/sleep.js.map +1 -0
- package/esm/utils/sluggable.d.ts +5 -0
- package/esm/utils/sluggable.d.ts.map +1 -0
- package/esm/utils/sluggable.js +15 -0
- package/esm/utils/sluggable.js.map +1 -0
- package/esm/utils/to-json.d.ts +2 -0
- package/esm/utils/to-json.d.ts.map +1 -0
- package/esm/utils/to-json.js +26 -0
- package/esm/utils/to-json.js.map +1 -0
- package/esm/utils/types.d.ts +22 -0
- package/esm/utils/types.d.ts.map +1 -0
- package/esm/utils/urls.d.ts +21 -0
- package/esm/utils/urls.d.ts.map +1 -0
- package/esm/utils/urls.js +31 -0
- package/esm/utils/urls.js.map +1 -0
- package/esm/validation/database/exists-except-current-id.d.ts +7 -0
- package/esm/validation/database/exists-except-current-id.d.ts.map +1 -0
- package/esm/validation/database/exists-except-current-id.js +23 -0
- package/esm/validation/database/exists-except-current-id.js.map +1 -0
- package/esm/validation/database/exists-except-current-user.d.ts +7 -0
- package/esm/validation/database/exists-except-current-user.d.ts.map +1 -0
- package/esm/validation/database/exists-except-current-user.js +25 -0
- package/esm/validation/database/exists-except-current-user.js.map +1 -0
- package/esm/validation/database/exists.d.ts +7 -0
- package/esm/validation/database/exists.d.ts.map +1 -0
- package/esm/validation/database/exists.js +21 -0
- package/esm/validation/database/exists.js.map +1 -0
- package/esm/validation/database/index.d.ts +12 -0
- package/esm/validation/database/index.d.ts.map +1 -0
- package/esm/validation/database/types.d.ts +68 -0
- package/esm/validation/database/types.d.ts.map +1 -0
- package/esm/validation/database/unique-except-current-id.d.ts +7 -0
- package/esm/validation/database/unique-except-current-id.d.ts.map +1 -0
- package/esm/validation/database/unique-except-current-id.js +23 -0
- package/esm/validation/database/unique-except-current-id.js.map +1 -0
- package/esm/validation/database/unique-except-current-user.d.ts +7 -0
- package/esm/validation/database/unique-except-current-user.d.ts.map +1 -0
- package/esm/validation/database/unique-except-current-user.js +25 -0
- package/esm/validation/database/unique-except-current-user.js.map +1 -0
- package/esm/validation/database/unique.d.ts +7 -0
- package/esm/validation/database/unique.d.ts.map +1 -0
- package/esm/validation/database/unique.js +30 -0
- package/esm/validation/database/unique.js.map +1 -0
- package/esm/validation/file/file.d.ts +22 -0
- package/esm/validation/file/file.d.ts.map +1 -0
- package/esm/validation/file/file.js +60 -0
- package/esm/validation/file/file.js.map +1 -0
- package/esm/validation/file/index.d.ts +6 -0
- package/esm/validation/file/index.d.ts.map +1 -0
- package/esm/validation/index.d.ts +16 -0
- package/esm/validation/index.d.ts.map +1 -0
- package/esm/validation/init.d.ts +7 -0
- package/esm/validation/init.d.ts.map +1 -0
- package/esm/validation/init.js +36 -0
- package/esm/validation/init.js.map +1 -0
- package/esm/validation/plugins/database-plugin.d.ts +14 -0
- package/esm/validation/plugins/database-plugin.d.ts.map +1 -0
- package/esm/validation/plugins/database-plugin.js +95 -0
- package/esm/validation/plugins/database-plugin.js.map +1 -0
- package/esm/validation/plugins/file-plugin.d.ts +11 -0
- package/esm/validation/plugins/file-plugin.d.ts.map +1 -0
- package/esm/validation/plugins/file-plugin.js +17 -0
- package/esm/validation/plugins/file-plugin.js.map +1 -0
- package/esm/validation/plugins/index.d.ts +9 -0
- package/esm/validation/plugins/index.d.ts.map +1 -0
- package/esm/validation/plugins/localized-plugin.d.ts +11 -0
- package/esm/validation/plugins/localized-plugin.d.ts.map +1 -0
- package/esm/validation/plugins/localized-plugin.js +19 -0
- package/esm/validation/plugins/localized-plugin.js.map +1 -0
- package/esm/validation/types.d.ts +87 -0
- package/esm/validation/types.d.ts.map +1 -0
- package/esm/validation/validateAll.d.ts +7 -0
- package/esm/validation/validateAll.d.ts.map +1 -0
- package/esm/validation/validateAll.js +60 -0
- package/esm/validation/validateAll.js.map +1 -0
- package/esm/validation/validators/file-validator.d.ts +46 -0
- package/esm/validation/validators/file-validator.d.ts.map +1 -0
- package/esm/validation/validators/file-validator.js +112 -0
- package/esm/validation/validators/file-validator.js.map +1 -0
- package/esm/validation/validators/index.d.ts +7 -0
- package/esm/validation/validators/index.d.ts.map +1 -0
- package/esm/warlock-config/default-configurations.d.ts +3 -0
- package/esm/warlock-config/default-configurations.d.ts.map +1 -0
- package/esm/warlock-config/default-configurations.js +8 -0
- package/esm/warlock-config/default-configurations.js.map +1 -0
- package/esm/warlock-config/define-config.d.ts +3 -0
- package/esm/warlock-config/define-config.d.ts.map +1 -0
- package/esm/warlock-config/define-config.js +3 -0
- package/esm/warlock-config/define-config.js.map +1 -0
- package/esm/warlock-config/index.d.ts +4 -0
- package/esm/warlock-config/index.d.ts.map +1 -0
- package/esm/warlock-config/types.d.ts +79 -0
- package/esm/warlock-config/types.d.ts.map +1 -0
- package/esm/warlock-config/warlock-config.manager.d.ts +83 -0
- package/esm/warlock-config/warlock-config.manager.d.ts.map +1 -0
- package/esm/warlock-config/warlock-config.manager.js +141 -0
- package/esm/warlock-config/warlock-config.manager.js.map +1 -0
- package/package.json +66 -71
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A utility class for managing a queue of operations.
|
|
3
|
+
* Allows enqueuing values and executing a function when the queue reaches a certain size or after a specified interval.
|
|
4
|
+
* Supports both parallel and sequential execution of the queued operations.
|
|
5
|
+
*/
|
|
6
|
+
export declare class Queue<T> {
|
|
7
|
+
/** The items currently in the queue. */
|
|
8
|
+
private items;
|
|
9
|
+
/** The maximum size of the queue before triggering execution. */
|
|
10
|
+
private readonly maxSize?;
|
|
11
|
+
/** The interval in milliseconds after which the queue will be executed if not already triggered by size. */
|
|
12
|
+
private readonly interval;
|
|
13
|
+
/** The function to execute with the items in the queue. */
|
|
14
|
+
private readonly executeFn;
|
|
15
|
+
/** Timer for managing the interval-based execution. */
|
|
16
|
+
private timer;
|
|
17
|
+
/** Flag to determine if execution should be parallel or sequential. */
|
|
18
|
+
private readonly executeInParallel;
|
|
19
|
+
/** The batch size for processing items. */
|
|
20
|
+
private readonly batchSize;
|
|
21
|
+
/** Whether the current queue is busy executing */
|
|
22
|
+
private isExecuting;
|
|
23
|
+
/**
|
|
24
|
+
* Constructs a new Queue instance.
|
|
25
|
+
* @param executeFn - The function to execute with the items in the queue.
|
|
26
|
+
* @param maxSize - The maximum number of items before the queue is executed.
|
|
27
|
+
* @param executeEvery - The time in milliseconds after which the queue is executed if not already triggered.
|
|
28
|
+
* @param executeInParallel - Whether to execute the function in parallel or sequentially.
|
|
29
|
+
* @param batchSize - The number of items to process in each batch.
|
|
30
|
+
*/
|
|
31
|
+
constructor(executeFn: (items: T[]) => Promise<void>, executeInParallel: boolean, executeEvery: number, batchSize: number, maxSize?: number);
|
|
32
|
+
/**
|
|
33
|
+
* Adds an item to the queue.
|
|
34
|
+
* Triggers execution if the queue reaches the maximum size.
|
|
35
|
+
* Starts a timer if not already running.
|
|
36
|
+
* @param item - The item to add to the queue.
|
|
37
|
+
*/
|
|
38
|
+
enqueue(item: T): void;
|
|
39
|
+
/**
|
|
40
|
+
* Starts a timer to execute the queue after the specified interval.
|
|
41
|
+
*/
|
|
42
|
+
private startTimer;
|
|
43
|
+
/**
|
|
44
|
+
* Executes the function with the current items in the queue.
|
|
45
|
+
* Processes items in batches and resets the timer.
|
|
46
|
+
*/
|
|
47
|
+
private execute;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../src/utils/queue.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,qBAAa,KAAK,CAAC,CAAC;IAClB,wCAAwC;IACxC,OAAO,CAAC,KAAK,CAAW;IAExB,iEAAiE;IACjE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAElC,4GAA4G;IAC5G,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,2DAA2D;IAC3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgC;IAE1D,uDAAuD;IACvD,OAAO,CAAC,KAAK,CAA+B;IAE5C,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAU;IAE5C,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IAEnC,kDAAkD;IAClD,OAAO,CAAC,WAAW,CAAS;IAE5B;;;;;;;OAOG;gBAED,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,EACxC,iBAAiB,EAAE,OAAc,EACjC,YAAY,EAAE,MAAa,EAC3B,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM;IASlB;;;;;OAKG;IACI,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI;IAW7B;;OAEG;IACH,OAAO,CAAC,UAAU;IAQlB;;;OAGG;YACW,OAAO;CAwBtB"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A utility class for managing a queue of operations.
|
|
3
|
+
* Allows enqueuing values and executing a function when the queue reaches a certain size or after a specified interval.
|
|
4
|
+
* Supports both parallel and sequential execution of the queued operations.
|
|
5
|
+
*/
|
|
6
|
+
class Queue {
|
|
7
|
+
/** The items currently in the queue. */
|
|
8
|
+
items = [];
|
|
9
|
+
/** The maximum size of the queue before triggering execution. */
|
|
10
|
+
maxSize;
|
|
11
|
+
/** The interval in milliseconds after which the queue will be executed if not already triggered by size. */
|
|
12
|
+
interval;
|
|
13
|
+
/** The function to execute with the items in the queue. */
|
|
14
|
+
executeFn;
|
|
15
|
+
/** Timer for managing the interval-based execution. */
|
|
16
|
+
timer = null;
|
|
17
|
+
/** Flag to determine if execution should be parallel or sequential. */
|
|
18
|
+
executeInParallel;
|
|
19
|
+
/** The batch size for processing items. */
|
|
20
|
+
batchSize;
|
|
21
|
+
/** Whether the current queue is busy executing */
|
|
22
|
+
isExecuting = false;
|
|
23
|
+
/**
|
|
24
|
+
* Constructs a new Queue instance.
|
|
25
|
+
* @param executeFn - The function to execute with the items in the queue.
|
|
26
|
+
* @param maxSize - The maximum number of items before the queue is executed.
|
|
27
|
+
* @param executeEvery - The time in milliseconds after which the queue is executed if not already triggered.
|
|
28
|
+
* @param executeInParallel - Whether to execute the function in parallel or sequentially.
|
|
29
|
+
* @param batchSize - The number of items to process in each batch.
|
|
30
|
+
*/
|
|
31
|
+
constructor(executeFn, executeInParallel = true, executeEvery = 5000, batchSize, maxSize) {
|
|
32
|
+
this.executeFn = executeFn;
|
|
33
|
+
this.maxSize = maxSize;
|
|
34
|
+
this.interval = executeEvery;
|
|
35
|
+
this.executeInParallel = executeInParallel;
|
|
36
|
+
this.batchSize = batchSize;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Adds an item to the queue.
|
|
40
|
+
* Triggers execution if the queue reaches the maximum size.
|
|
41
|
+
* Starts a timer if not already running.
|
|
42
|
+
* @param item - The item to add to the queue.
|
|
43
|
+
*/
|
|
44
|
+
enqueue(item) {
|
|
45
|
+
this.items.push(item);
|
|
46
|
+
if (this.maxSize && this.items.length >= this.maxSize) {
|
|
47
|
+
this.execute();
|
|
48
|
+
}
|
|
49
|
+
if (!this.timer) {
|
|
50
|
+
this.startTimer();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Starts a timer to execute the queue after the specified interval.
|
|
55
|
+
*/
|
|
56
|
+
startTimer() {
|
|
57
|
+
this.timer = setInterval(() => {
|
|
58
|
+
if (this.items.length > 0) {
|
|
59
|
+
this.execute();
|
|
60
|
+
}
|
|
61
|
+
}, this.interval);
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Executes the function with the current items in the queue.
|
|
65
|
+
* Processes items in batches and resets the timer.
|
|
66
|
+
*/
|
|
67
|
+
async execute() {
|
|
68
|
+
if (this.timer) {
|
|
69
|
+
clearInterval(this.timer);
|
|
70
|
+
this.timer = null;
|
|
71
|
+
}
|
|
72
|
+
this.isExecuting = true;
|
|
73
|
+
// Now there are couple scenarios:
|
|
74
|
+
// 1. Batch size has value, we need to check if its going to be executed in parallel or sequentially
|
|
75
|
+
// 2. Batch size is not provided, we will execute all items in a single call
|
|
76
|
+
if (this.batchSize) {
|
|
77
|
+
const itemsToProcess = this.items.splice(0, this.batchSize);
|
|
78
|
+
if (this.executeInParallel) {
|
|
79
|
+
await Promise.all(itemsToProcess.map(item => this.executeFn([item])));
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
for (const item of itemsToProcess) {
|
|
83
|
+
await this.executeFn([item]);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
this.isExecuting = false;
|
|
88
|
+
}
|
|
89
|
+
}export{Queue};//# sourceMappingURL=queue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.js","sources":["../../src/utils/queue.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;AAIG;MACU,KAAK,CAAA;;IAER,KAAK,GAAQ,EAAE,CAAC;;AAGP,IAAA,OAAO,CAAU;;AAGjB,IAAA,QAAQ,CAAS;;AAGjB,IAAA,SAAS,CAAgC;;IAGlD,KAAK,GAA0B,IAAI,CAAC;;AAG3B,IAAA,iBAAiB,CAAU;;AAG3B,IAAA,SAAS,CAAS;;IAG3B,WAAW,GAAG,KAAK,CAAC;AAE5B;;;;;;;AAOG;IACH,WACE,CAAA,SAAwC,EACxC,iBAAA,GAA6B,IAAI,EACjC,eAAuB,IAAI,EAC3B,SAAiB,EACjB,OAAgB,EAAA;AAEhB,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;AAC3B,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC;AAC7B,QAAA,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;AAC3C,QAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;KAC5B;AAED;;;;;AAKG;AACI,IAAA,OAAO,CAAC,IAAO,EAAA;AACpB,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtB,QAAA,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;YACrD,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,SAAA;AAED,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,IAAI,CAAC,UAAU,EAAE,CAAC;AACnB,SAAA;KACF;AAED;;AAEG;IACK,UAAU,GAAA;AAChB,QAAA,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,MAAK;AAC5B,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzB,IAAI,CAAC,OAAO,EAAE,CAAC;AAChB,aAAA;AACH,SAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;KACnB;AAED;;;AAGG;AACK,IAAA,MAAM,OAAO,GAAA;QACnB,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC1B,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;AACnB,SAAA;AAED,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;;;;QAKxB,IAAI,IAAI,CAAC,SAAS,EAAE;AAClB,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,MAAM,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AACvE,aAAA;AAAM,iBAAA;AACL,gBAAA,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE;oBACjC,MAAM,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9B,iBAAA;AACF,aAAA;AACF,SAAA;AAED,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;KAC1B;AACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sleep.d.ts","sourceRoot":"","sources":["../../src/utils/sleep.ts"],"names":[],"mappings":"AAAA,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,oBAE/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sleep.js","sources":["../../src/utils/sleep.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAM,SAAU,KAAK,CAAC,EAAU,EAAA;AAC9B,IAAA,OAAO,IAAI,OAAO,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AACzD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sluggable.d.ts","sourceRoot":"","sources":["../../src/utils/sluggable.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAgB,SAAS,CAAC,YAAY,EAAE,MAAM,EAAE,cAAc,SAAO,yBAcpE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import slug from'@mongez/slug';/**
|
|
2
|
+
* Used for model castings
|
|
3
|
+
*/
|
|
4
|
+
function sluggable(generateFrom, slugLocaleCode = "en") {
|
|
5
|
+
return (model) => {
|
|
6
|
+
let value = model.get(generateFrom);
|
|
7
|
+
if (!value)
|
|
8
|
+
return "";
|
|
9
|
+
if (Array.isArray(value)) {
|
|
10
|
+
value = value.find((value) => value.localeCode === slugLocaleCode)?.value;
|
|
11
|
+
}
|
|
12
|
+
const slugFunction = slug.default || slug;
|
|
13
|
+
return slugFunction(String(value));
|
|
14
|
+
};
|
|
15
|
+
}export{sluggable};//# sourceMappingURL=sluggable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sluggable.js","sources":["../../src/utils/sluggable.ts"],"sourcesContent":[null],"names":[],"mappings":"+BAGA;;AAEG;SACa,SAAS,CAAC,YAAoB,EAAE,cAAc,GAAG,IAAI,EAAA;IACnE,OAAO,CAAC,KAAY,KAAI;QACtB,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAEpC,QAAA,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,EAAE,CAAC;AAEtB,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACxB,YAAA,KAAK,GAAI,KAAe,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,UAAU,KAAK,cAAc,CAAC,EAAE,KAAK,CAAC;AACtF,SAAA;AAED,QAAA,MAAM,YAAY,GAAI,IAAY,CAAC,OAAO,IAAI,IAAI,CAAC;AAEnD,QAAA,OAAO,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;AACrC,KAAC,CAAC;AACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-json.d.ts","sourceRoot":"","sources":["../../src/utils/to-json.ts"],"names":[],"mappings":"AAEA,wBAAsB,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAiCrD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import {isScalar,isIterable,isPlainObject}from'@mongez/supportive-is';async function toJson(value) {
|
|
2
|
+
// if it is a falsy value, return it
|
|
3
|
+
if (!value || isScalar(value))
|
|
4
|
+
return value;
|
|
5
|
+
// if it has a `toJSON` method, call it and await the result then return it
|
|
6
|
+
if (value.toJSON) {
|
|
7
|
+
return await value.toJSON();
|
|
8
|
+
}
|
|
9
|
+
// if it is iterable, an array or array-like object then parse each item
|
|
10
|
+
if (isIterable(value)) {
|
|
11
|
+
const values = Array.from(value);
|
|
12
|
+
return Promise.all(values.map(async (item) => {
|
|
13
|
+
return await toJson(item);
|
|
14
|
+
}));
|
|
15
|
+
}
|
|
16
|
+
// if not plain object, then return it
|
|
17
|
+
if (!isPlainObject(value)) {
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
20
|
+
// loop over the object and check if the value and call `parse` on it
|
|
21
|
+
for (const key in value) {
|
|
22
|
+
const subValue = value[key];
|
|
23
|
+
value[key] = await toJson(subValue);
|
|
24
|
+
}
|
|
25
|
+
return value;
|
|
26
|
+
}export{toJson};//# sourceMappingURL=to-json.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"to-json.js","sources":["../../src/utils/to-json.ts"],"sourcesContent":[null],"names":[],"mappings":"sEAEO,eAAe,MAAM,CAAC,KAAU,EAAA;;AAErC,IAAA,IAAI,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;AAAE,QAAA,OAAO,KAAK,CAAC;;IAG5C,IAAI,KAAK,CAAC,MAAM,EAAE;AAChB,QAAA,OAAO,MAAM,KAAK,CAAC,MAAM,EAAE,CAAC;AAC7B,KAAA;;AAGD,IAAA,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;QACrB,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEjC,QAAA,OAAO,OAAO,CAAC,GAAG,CAChB,MAAM,CAAC,GAAG,CAAC,OAAO,IAAS,KAAI;AAC7B,YAAA,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;SAC3B,CAAC,CACH,CAAC;AACH,KAAA;;AAGD,IAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE;AACzB,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;;AAGD,IAAA,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;AACvB,QAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QAE5B,KAAK,CAAC,GAAG,CAAC,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;AACrC,KAAA;AAED,IAAA,OAAO,KAAK,CAAC;AACf"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type AppConfigurations = {
|
|
2
|
+
/**
|
|
3
|
+
* Set default timezone
|
|
4
|
+
*/
|
|
5
|
+
timezone: string;
|
|
6
|
+
/**
|
|
7
|
+
* Set base url
|
|
8
|
+
*/
|
|
9
|
+
baseUrl: string;
|
|
10
|
+
/**
|
|
11
|
+
* Default locale code
|
|
12
|
+
*
|
|
13
|
+
* @default en
|
|
14
|
+
*/
|
|
15
|
+
localeCode?: string;
|
|
16
|
+
/**
|
|
17
|
+
* List of allowed locale codes in the app
|
|
18
|
+
*/
|
|
19
|
+
locales?: string[];
|
|
20
|
+
};
|
|
21
|
+
export type Preload = "database" | "cache" | "http" | "watch";
|
|
22
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/utils/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Set base url
|
|
3
|
+
*/
|
|
4
|
+
export declare function setBaseUrl(url: string): void;
|
|
5
|
+
/**
|
|
6
|
+
* Get full path for the given path
|
|
7
|
+
*/
|
|
8
|
+
export declare function url(path?: string): string;
|
|
9
|
+
/**
|
|
10
|
+
* Get uploads url
|
|
11
|
+
*/
|
|
12
|
+
export declare function uploadsUrl(path?: string): string;
|
|
13
|
+
/**
|
|
14
|
+
* Get full path for the given path related to public route
|
|
15
|
+
*/
|
|
16
|
+
export declare function publicUrl(path?: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* Assets url
|
|
19
|
+
*/
|
|
20
|
+
export declare function assetsUrl(path?: string): string;
|
|
21
|
+
//# sourceMappingURL=urls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urls.d.ts","sourceRoot":"","sources":["../../src/utils/urls.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,QAErC;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,IAAI,SAAK,UAE5B;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,SAAK,UAEnC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,SAAK,UAElC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,SAAK,UAElC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import {rtrim,ltrim}from'@mongez/reinforcements';let baseUrl = "";
|
|
2
|
+
/**
|
|
3
|
+
* Set base url
|
|
4
|
+
*/
|
|
5
|
+
function setBaseUrl(url) {
|
|
6
|
+
baseUrl = url;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Get full path for the given path
|
|
10
|
+
*/
|
|
11
|
+
function url(path = "") {
|
|
12
|
+
return rtrim(baseUrl, "/") + "/" + ltrim(path, "/");
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Get uploads url
|
|
16
|
+
*/
|
|
17
|
+
function uploadsUrl(path = "") {
|
|
18
|
+
return url("/uploads/" + ltrim(path, "/"));
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Get full path for the given path related to public route
|
|
22
|
+
*/
|
|
23
|
+
function publicUrl(path = "") {
|
|
24
|
+
return url("/public/" + ltrim(path, "/"));
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Assets url
|
|
28
|
+
*/
|
|
29
|
+
function assetsUrl(path = "") {
|
|
30
|
+
return publicUrl("/assets/" + ltrim(path, "/"));
|
|
31
|
+
}export{assetsUrl,publicUrl,setBaseUrl,uploadsUrl,url};//# sourceMappingURL=urls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"urls.js","sources":["../../src/utils/urls.ts"],"sourcesContent":[null],"names":[],"mappings":"iDAEA,IAAI,OAAO,GAAG,EAAE,CAAC;AAEjB;;AAEG;AACG,SAAU,UAAU,CAAC,GAAW,EAAA;IACpC,OAAO,GAAG,GAAG,CAAC;AAChB,CAAC;AAED;;AAEG;AACa,SAAA,GAAG,CAAC,IAAI,GAAG,EAAE,EAAA;AAC3B,IAAA,OAAO,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AACtD,CAAC;AAED;;AAEG;AACa,SAAA,UAAU,CAAC,IAAI,GAAG,EAAE,EAAA;IAClC,OAAO,GAAG,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;AAEG;AACa,SAAA,SAAS,CAAC,IAAI,GAAG,EAAE,EAAA;IACjC,OAAO,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED;;AAEG;AACa,SAAA,SAAS,CAAC,IAAI,GAAG,EAAE,EAAA;IACjC,OAAO,SAAS,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;AAClD"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type SchemaRule } from "@warlock.js/seal";
|
|
2
|
+
import type { ExistsExceptCurrentIdRuleOptions } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* Exists except current ID rule
|
|
5
|
+
*/
|
|
6
|
+
export declare const existsExceptCurrentIdRule: SchemaRule<ExistsExceptCurrentIdRuleOptions>;
|
|
7
|
+
//# sourceMappingURL=exists-except-current-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exists-except-current-id.d.ts","sourceRoot":"","sources":["../../../src/validation/database/exists-except-current-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE5E,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,UAAU,CAAC,gCAAgC,CA6BlF,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {VALID_RULE,invalidRule}from'@warlock.js/seal';import'@mongez/config';import'@mongez/reinforcements';import'@warlock.js/logger';import'../../router/router.js';import'@fastify/multipart';import'../../database/models/database-log/database-log.js';import {useRequestStore}from'../../http/context/request-context.js';import'path';import'@mongez/slug';import'@mongez/supportive-is';import'fastify';import'../../http/database/RequestLog.js';import'dayjs';import'../../image/image.js';import'../../config/config-handlers.js';import'@mongez/fs';import'fs/promises';import'../../storage/storage.js';import'../../storage/context/storage-driver-context.js';import'mime';import'../../storage/drivers/cloud-driver.js';import'crypto';import'fs';import'stream/promises';import'@warlock.js/cache';import'@mongez/localization';import'@warlock.js/cascade';import'@warlock.js/context';import'@mongez/copper';import'@mongez/events';import'../../http/response.js';/**
|
|
2
|
+
* Exists except current ID rule
|
|
3
|
+
*/
|
|
4
|
+
const existsExceptCurrentIdRule = {
|
|
5
|
+
name: "existsExceptCurrentId",
|
|
6
|
+
defaultErrorMessage: "The :input must exist",
|
|
7
|
+
async validate(value, context) {
|
|
8
|
+
const { Model, query, column = context.key, exceptCurrentIdColumn = "id", } = this.context.options;
|
|
9
|
+
const { request } = useRequestStore();
|
|
10
|
+
const dbQuery = Model.query();
|
|
11
|
+
dbQuery.where(column, value);
|
|
12
|
+
dbQuery.where(exceptCurrentIdColumn, "!=", request.int("id"));
|
|
13
|
+
if (query) {
|
|
14
|
+
await query({
|
|
15
|
+
query: dbQuery,
|
|
16
|
+
value,
|
|
17
|
+
allValues: context.allValues,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
const document = await dbQuery.first();
|
|
21
|
+
return document ? VALID_RULE : invalidRule(this, context);
|
|
22
|
+
},
|
|
23
|
+
};export{existsExceptCurrentIdRule};//# sourceMappingURL=exists-except-current-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exists-except-current-id.js","sources":["../../../src/validation/database/exists-except-current-id.ts"],"sourcesContent":[null],"names":[],"mappings":"s7BAIA;;AAEG;AACU,MAAA,yBAAyB,GAAiD;AACrF,IAAA,IAAI,EAAE,uBAAuB;AAC7B,IAAA,mBAAmB,EAAE,uBAAuB;AAC5C,IAAA,MAAM,QAAQ,CAAC,KAAU,EAAE,OAAO,EAAA;QAChC,MAAM,EACJ,KAAK,EACL,KAAK,EACL,MAAM,GAAG,OAAO,CAAC,GAAG,EACpB,qBAAqB,GAAG,IAAI,GAC7B,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AAEzB,QAAA,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;AAEtC,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;AAE9B,QAAA,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7B,QAAA,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAE9D,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,MAAM,KAAK,CAAC;AACV,gBAAA,KAAK,EAAE,OAAO;gBACd,KAAK;gBACL,SAAS,EAAE,OAAO,CAAC,SAAS;AAC7B,aAAA,CAAC,CAAC;AACJ,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;AACvC,QAAA,OAAO,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC3D;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type SchemaRule } from "@warlock.js/seal";
|
|
2
|
+
import type { ExistsExceptCurrentUserRuleOptions } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* Exists except current user rule
|
|
5
|
+
*/
|
|
6
|
+
export declare const existsExceptCurrentUserRule: SchemaRule<ExistsExceptCurrentUserRuleOptions>;
|
|
7
|
+
//# sourceMappingURL=exists-except-current-user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exists-except-current-user.d.ts","sourceRoot":"","sources":["../../../src/validation/database/exists-except-current-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE5E,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,UAAU,CAAC,kCAAkC,CAiCtF,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import {VALID_RULE,invalidRule}from'@warlock.js/seal';import'@mongez/config';import'@mongez/reinforcements';import'@warlock.js/logger';import'../../router/router.js';import'@fastify/multipart';import'../../database/models/database-log/database-log.js';import {useCurrentUser}from'../../http/context/request-context.js';import'path';import'@mongez/slug';import'@mongez/supportive-is';import'fastify';import'../../http/database/RequestLog.js';import'dayjs';import'../../image/image.js';import'../../config/config-handlers.js';import'@mongez/fs';import'fs/promises';import'../../storage/storage.js';import'../../storage/context/storage-driver-context.js';import'mime';import'../../storage/drivers/cloud-driver.js';import'crypto';import'fs';import'stream/promises';import'@warlock.js/cache';import'@mongez/localization';import'@warlock.js/cascade';import'@warlock.js/context';import'@mongez/copper';import'@mongez/events';import'../../http/response.js';/**
|
|
2
|
+
* Exists except current user rule
|
|
3
|
+
*/
|
|
4
|
+
const existsExceptCurrentUserRule = {
|
|
5
|
+
name: "existsExceptCurrentUser",
|
|
6
|
+
defaultErrorMessage: "The :input must exist",
|
|
7
|
+
async validate(value, context) {
|
|
8
|
+
const { Model, query, column = context.key, exceptCurrentUserColumn = "id", exceptCurrentUserValue = "id", } = this.context.options;
|
|
9
|
+
const user = useCurrentUser();
|
|
10
|
+
const dbQuery = Model.query();
|
|
11
|
+
dbQuery.where(column, value);
|
|
12
|
+
if (user) {
|
|
13
|
+
dbQuery.where(exceptCurrentUserColumn, "!=", user.get(exceptCurrentUserValue));
|
|
14
|
+
}
|
|
15
|
+
if (query) {
|
|
16
|
+
await query({
|
|
17
|
+
query: dbQuery,
|
|
18
|
+
value,
|
|
19
|
+
allValues: context.allValues,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
const document = await dbQuery.first();
|
|
23
|
+
return document ? VALID_RULE : invalidRule(this, context);
|
|
24
|
+
},
|
|
25
|
+
};export{existsExceptCurrentUserRule};//# sourceMappingURL=exists-except-current-user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exists-except-current-user.js","sources":["../../../src/validation/database/exists-except-current-user.ts"],"sourcesContent":[null],"names":[],"mappings":"q7BAIA;;AAEG;AACU,MAAA,2BAA2B,GAAmD;AACzF,IAAA,IAAI,EAAE,yBAAyB;AAC/B,IAAA,mBAAmB,EAAE,uBAAuB;AAC5C,IAAA,MAAM,QAAQ,CAAC,KAAU,EAAE,OAAO,EAAA;QAChC,MAAM,EACJ,KAAK,EACL,KAAK,EACL,MAAM,GAAG,OAAO,CAAC,GAAG,EACpB,uBAAuB,GAAG,IAAI,EAC9B,sBAAsB,GAAG,IAAI,GAC9B,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AAEzB,QAAA,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;AAE9B,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;AAE9B,QAAA,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE7B,QAAA,IAAI,IAAI,EAAE;AACR,YAAA,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC;AAChF,SAAA;AAED,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,MAAM,KAAK,CAAC;AACV,gBAAA,KAAK,EAAE,OAAO;gBACd,KAAK;gBACL,SAAS,EAAE,OAAO,CAAC,SAAS;AAC7B,aAAA,CAAC,CAAC;AACJ,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;AACvC,QAAA,OAAO,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC3D;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type SchemaRule } from "@warlock.js/seal";
|
|
2
|
+
import type { ExistsRuleOptions } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* Exists rule - validates record exists in database
|
|
5
|
+
*/
|
|
6
|
+
export declare const existsRule: SchemaRule<ExistsRuleOptions>;
|
|
7
|
+
//# sourceMappingURL=exists.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exists.d.ts","sourceRoot":"","sources":["../../../src/validation/database/exists.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,UAAU,CAAC,iBAAiB,CAqBpD,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import {VALID_RULE,invalidRule}from'@warlock.js/seal';/**
|
|
2
|
+
* Exists rule - validates record exists in database
|
|
3
|
+
*/
|
|
4
|
+
const existsRule = {
|
|
5
|
+
name: "exists",
|
|
6
|
+
defaultErrorMessage: "The :input must exist",
|
|
7
|
+
async validate(value, context) {
|
|
8
|
+
const { Model, query, column = context.key } = this.context.options;
|
|
9
|
+
const dbQuery = Model.query();
|
|
10
|
+
dbQuery.where(column, value);
|
|
11
|
+
if (query) {
|
|
12
|
+
await query({
|
|
13
|
+
query: dbQuery,
|
|
14
|
+
value,
|
|
15
|
+
allValues: context.allValues,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
const document = await dbQuery.first();
|
|
19
|
+
return document ? VALID_RULE : invalidRule(this, context);
|
|
20
|
+
},
|
|
21
|
+
};export{existsRule};//# sourceMappingURL=exists.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exists.js","sources":["../../../src/validation/database/exists.ts"],"sourcesContent":[null],"names":[],"mappings":"sDAGA;;AAEG;AACU,MAAA,UAAU,GAAkC;AACvD,IAAA,IAAI,EAAE,QAAQ;AACd,IAAA,mBAAmB,EAAE,uBAAuB;AAC5C,IAAA,MAAM,QAAQ,CAAC,KAAU,EAAE,OAAO,EAAA;AAChC,QAAA,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AAEpE,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;AAE9B,QAAA,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE7B,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,MAAM,KAAK,CAAC;AACV,gBAAA,KAAK,EAAE,OAAO;gBACd,KAAK;gBACL,SAAS,EAAE,OAAO,CAAC,SAAS;AAC7B,aAAA,CAAC,CAAC;AACJ,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;AACvC,QAAA,OAAO,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;KAC3D;"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Database Rules - Framework-specific validation rules
|
|
3
|
+
* Requires database models and Cascade ORM
|
|
4
|
+
*/
|
|
5
|
+
export * from "./exists";
|
|
6
|
+
export * from "./exists-except-current-id";
|
|
7
|
+
export * from "./exists-except-current-user";
|
|
8
|
+
export * from "./types";
|
|
9
|
+
export * from "./unique";
|
|
10
|
+
export * from "./unique-except-current-id";
|
|
11
|
+
export * from "./unique-except-current-user";
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/validation/database/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,UAAU,CAAC;AACzB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { ChildModel, Model, QueryBuilderContract } from "@warlock.js/cascade";
|
|
2
|
+
/**
|
|
3
|
+
* Base options for database query rules
|
|
4
|
+
*/
|
|
5
|
+
export type BaseQueryRuleOptions = {
|
|
6
|
+
/** The Model to query against */
|
|
7
|
+
Model: ChildModel<Model>;
|
|
8
|
+
/** Callback to customize the query */
|
|
9
|
+
query?: (options: {
|
|
10
|
+
query: QueryBuilderContract;
|
|
11
|
+
value: any;
|
|
12
|
+
allValues: any;
|
|
13
|
+
}) => void | Promise<void>;
|
|
14
|
+
/** The column to filter by (defaults to the key) */
|
|
15
|
+
column?: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Base options for unique validation rules
|
|
19
|
+
*/
|
|
20
|
+
export type BaseUniqueRuleOptions = BaseQueryRuleOptions;
|
|
21
|
+
/**
|
|
22
|
+
* Options for unique rule
|
|
23
|
+
*/
|
|
24
|
+
export type UniqueRuleOptions = BaseUniqueRuleOptions & {
|
|
25
|
+
/** Field to except from uniqueness check */
|
|
26
|
+
except?: string;
|
|
27
|
+
/** Column name for the except field */
|
|
28
|
+
exceptColumnName?: string;
|
|
29
|
+
/** Value for the except field */
|
|
30
|
+
exceptValue?: any;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Options for unique except current user rule
|
|
34
|
+
*/
|
|
35
|
+
export type UniqueExceptCurrentUserRuleOptions = BaseUniqueRuleOptions & {
|
|
36
|
+
/** Column for current user filter (default: id) */
|
|
37
|
+
exceptCurrentUserColumn?: string;
|
|
38
|
+
/** Value field from current user model (default: id) */
|
|
39
|
+
exceptCurrentUserValue?: string;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Options for unique except current id rule
|
|
43
|
+
*/
|
|
44
|
+
export type UniqueExceptCurrentIdRuleOptions = BaseUniqueRuleOptions & {
|
|
45
|
+
/** Column for current id filter (default: id) */
|
|
46
|
+
exceptCurrentIdColumn?: string;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Options for exists rule
|
|
50
|
+
*/
|
|
51
|
+
export type ExistsRuleOptions = BaseQueryRuleOptions;
|
|
52
|
+
/**
|
|
53
|
+
* Options for exists except current user rule
|
|
54
|
+
*/
|
|
55
|
+
export type ExistsExceptCurrentUserRuleOptions = BaseQueryRuleOptions & {
|
|
56
|
+
/** Column for current user filter (default: id) */
|
|
57
|
+
exceptCurrentUserColumn?: string;
|
|
58
|
+
/** Value field from current user model (default: id) */
|
|
59
|
+
exceptCurrentUserValue?: string;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Options for exists except current id rule
|
|
63
|
+
*/
|
|
64
|
+
export type ExistsExceptCurrentIdRuleOptions = BaseQueryRuleOptions & {
|
|
65
|
+
/** Column for current id filter (default: id) */
|
|
66
|
+
exceptCurrentIdColumn?: string;
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/validation/database/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEnF;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,iCAAiC;IACjC,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IACzB,sCAAsC;IACtC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE;QAChB,KAAK,EAAE,oBAAoB,CAAC;QAC5B,KAAK,EAAE,GAAG,CAAC;QACX,SAAS,EAAE,GAAG,CAAC;KAChB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,qBAAqB,GAAG;IACtD,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iCAAiC;IACjC,WAAW,CAAC,EAAE,GAAG,CAAC;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG,qBAAqB,GAAG;IACvE,mDAAmD;IACnD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wDAAwD;IACxD,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG,qBAAqB,GAAG;IACrE,iDAAiD;IACjD,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,oBAAoB,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,kCAAkC,GAAG,oBAAoB,GAAG;IACtE,mDAAmD;IACnD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,wDAAwD;IACxD,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gCAAgC,GAAG,oBAAoB,GAAG;IACpE,iDAAiD;IACjD,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type SchemaRule } from "@warlock.js/seal";
|
|
2
|
+
import type { UniqueExceptCurrentIdRuleOptions } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* Unique except current ID rule
|
|
5
|
+
*/
|
|
6
|
+
export declare const uniqueExceptCurrentIdRule: SchemaRule<UniqueExceptCurrentIdRuleOptions>;
|
|
7
|
+
//# sourceMappingURL=unique-except-current-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unique-except-current-id.d.ts","sourceRoot":"","sources":["../../../src/validation/database/unique-except-current-id.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE5E,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,UAAU,CAAC;AACjE;;GAEG;AACH,eAAO,MAAM,yBAAyB,EAAE,UAAU,CAAC,gCAAgC,CA6BlF,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {invalidRule,VALID_RULE}from'@warlock.js/seal';import'@mongez/config';import'@mongez/reinforcements';import'@warlock.js/logger';import'../../router/router.js';import'@fastify/multipart';import'../../database/models/database-log/database-log.js';import {useRequestStore}from'../../http/context/request-context.js';import'path';import'@mongez/slug';import'@mongez/supportive-is';import'fastify';import'../../http/database/RequestLog.js';import'dayjs';import'../../image/image.js';import'../../config/config-handlers.js';import'@mongez/fs';import'fs/promises';import'../../storage/storage.js';import'../../storage/context/storage-driver-context.js';import'mime';import'../../storage/drivers/cloud-driver.js';import'crypto';import'fs';import'stream/promises';import'@warlock.js/cache';import'@mongez/localization';import'@warlock.js/cascade';import'@warlock.js/context';import'@mongez/copper';import'@mongez/events';import'../../http/response.js';/**
|
|
2
|
+
* Unique except current ID rule
|
|
3
|
+
*/
|
|
4
|
+
const uniqueExceptCurrentIdRule = {
|
|
5
|
+
name: "uniqueExceptCurrentId",
|
|
6
|
+
defaultErrorMessage: "The :input must be unique",
|
|
7
|
+
async validate(value, context) {
|
|
8
|
+
const { Model, column = context.key, exceptCurrentIdColumn = "id", query, } = this.context.options;
|
|
9
|
+
const { request } = useRequestStore();
|
|
10
|
+
const dbQuery = Model.query();
|
|
11
|
+
dbQuery.where(column, value);
|
|
12
|
+
dbQuery.where(exceptCurrentIdColumn, "!=", request.int("id"));
|
|
13
|
+
if (query) {
|
|
14
|
+
await query({
|
|
15
|
+
query: dbQuery,
|
|
16
|
+
value,
|
|
17
|
+
allValues: context.allValues,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
const document = await dbQuery.first();
|
|
21
|
+
return document ? invalidRule(this, context) : VALID_RULE;
|
|
22
|
+
},
|
|
23
|
+
};export{uniqueExceptCurrentIdRule};//# sourceMappingURL=unique-except-current-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unique-except-current-id.js","sources":["../../../src/validation/database/unique-except-current-id.ts"],"sourcesContent":[null],"names":[],"mappings":"s7BAGA;;AAEG;AACU,MAAA,yBAAyB,GAAiD;AACrF,IAAA,IAAI,EAAE,uBAAuB;AAC7B,IAAA,mBAAmB,EAAE,2BAA2B;AAChD,IAAA,MAAM,QAAQ,CAAC,KAAU,EAAE,OAAO,EAAA;QAChC,MAAM,EACJ,KAAK,EACL,MAAM,GAAG,OAAO,CAAC,GAAG,EACpB,qBAAqB,GAAG,IAAI,EAC5B,KAAK,GACN,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;AAEzB,QAAA,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;AAEtC,QAAA,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;AAE9B,QAAA,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAC7B,QAAA,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAE9D,QAAA,IAAI,KAAK,EAAE;AACT,YAAA,MAAM,KAAK,CAAC;AACV,gBAAA,KAAK,EAAE,OAAO;gBACd,KAAK;gBACL,SAAS,EAAE,OAAO,CAAC,SAAS;AAC7B,aAAA,CAAC,CAAC;AACJ,SAAA;AAED,QAAA,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;AACvC,QAAA,OAAO,QAAQ,GAAG,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC;KAC3D;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type SchemaRule } from "@warlock.js/seal";
|
|
2
|
+
import type { UniqueExceptCurrentUserRuleOptions } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* Unique except current user rule
|
|
5
|
+
*/
|
|
6
|
+
export declare const uniqueExceptCurrentUserRule: SchemaRule<UniqueExceptCurrentUserRuleOptions>;
|
|
7
|
+
//# sourceMappingURL=unique-except-current-user.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unique-except-current-user.d.ts","sourceRoot":"","sources":["../../../src/validation/database/unique-except-current-user.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE5E,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,UAAU,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,UAAU,CAAC,kCAAkC,CAiCtF,CAAC"}
|