@warlock.js/core 4.0.156 → 4.0.158
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/package.json +7 -7
- 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 -3
- 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 -24
- 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 -19
- package/esm/config/config-handlers.d.ts.map +0 -1
- package/esm/config/config-handlers.js +0 -47
- 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/communicator-connector.d.ts +0 -23
- package/esm/connectors/communicator-connector.d.ts.map +0 -1
- package/esm/connectors/communicator-connector.js +0 -62
- package/esm/connectors/communicator-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 -91
- 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 -51
- package/esm/connectors/database-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 -83
- package/esm/connectors/http-connector.js.map +0 -1
- package/esm/connectors/index.d.ts +0 -13
- package/esm/connectors/index.d.ts.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 -32
- package/esm/connectors/storage.connector.js.map +0 -1
- package/esm/connectors/types.d.ts +0 -52
- package/esm/connectors/types.d.ts.map +0 -1
- package/esm/connectors/types.js +0 -11
- package/esm/connectors/types.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 -3
- package/esm/database/seed-command-action.d.ts.map +0 -1
- package/esm/database/seed-command-action.js +0 -36
- 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 -47
- package/esm/database/seeds/seeders.manager.d.ts.map +0 -1
- package/esm/database/seeds/seeders.manager.js +0 -144
- 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 -299
- 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 -396
- package/esm/http/request.d.ts.map +0 -1
- package/esm/http/request.js +0 -759
- package/esm/http/request.js.map +0 -1
- package/esm/http/response.d.ts +0 -374
- package/esm/http/response.d.ts.map +0 -1
- package/esm/http/response.js +0 -974
- 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 -602
- 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 -34
- 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 -9
- package/esm/mail/react-mail.d.ts.map +0 -1
- package/esm/mail/react-mail.js +0 -28
- 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 -303
- 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 -605
- 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/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 -151
- package/esm/storage/drivers/local-driver.d.ts.map +0 -1
- package/esm/storage/drivers/local-driver.js +0 -448
- 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 -222
- package/esm/storage/storage-file.d.ts.map +0 -1
- package/esm/storage/storage-file.js +0 -376
- package/esm/storage/storage-file.js.map +0 -1
- package/esm/storage/storage.d.ts +0 -583
- package/esm/storage/storage.d.ts.map +0 -1
- package/esm/storage/storage.js +0 -948
- 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
|
@@ -1,1123 +0,0 @@
|
|
|
1
|
-
import {cache}from'@warlock.js/cache';import {config}from'../config/config-getter.js';import'../config/config-handlers.js';import {CascadeAdapter}from'./adapters/cascade/cascade-adapter.js';import'@mongez/supportive-is';/**
|
|
2
|
-
* Base repository manager class
|
|
3
|
-
* Provides ORM-agnostic data access layer with support for listing, filtering,
|
|
4
|
-
* caching, pagination, and CRUD operations
|
|
5
|
-
*
|
|
6
|
-
* @template T - The type of records managed by this repository
|
|
7
|
-
*
|
|
8
|
-
* @example
|
|
9
|
-
* // Extend with source
|
|
10
|
-
* class UserRepository extends RepositoryManager<User> {
|
|
11
|
-
* protected source = User;
|
|
12
|
-
* protected filterBy = { email: "=", role: ["in", "role"] };
|
|
13
|
-
* }
|
|
14
|
-
*
|
|
15
|
-
* @example
|
|
16
|
-
* // Direct instantiation with adapter
|
|
17
|
-
* const userRepo = new RepositoryManager<User>(new PrismaAdapter(prisma.user));
|
|
18
|
-
*/
|
|
19
|
-
class RepositoryManager {
|
|
20
|
-
/**
|
|
21
|
-
* Adapter instance (lazy-loaded)
|
|
22
|
-
* @private
|
|
23
|
-
*/
|
|
24
|
-
_adapter;
|
|
25
|
-
/**
|
|
26
|
-
* Data source reference (Model, Prisma client, table name, etc.)
|
|
27
|
-
* Used by createDefaultAdapter to instantiate the appropriate adapter
|
|
28
|
-
* @protected
|
|
29
|
-
*/
|
|
30
|
-
source;
|
|
31
|
-
// ============================================================================
|
|
32
|
-
// CONFIGURATION PROPERTIES
|
|
33
|
-
// ============================================================================
|
|
34
|
-
/**
|
|
35
|
-
* Filter definitions
|
|
36
|
-
* Maps filter keys to filter rules
|
|
37
|
-
* @protected
|
|
38
|
-
*/
|
|
39
|
-
filterBy = {};
|
|
40
|
-
/**
|
|
41
|
-
* Get adapter instance (lazy-loaded)
|
|
42
|
-
* Resolution order:
|
|
43
|
-
* 1. Use injected adapter from constructor
|
|
44
|
-
* 2. Use config-based resolver if available
|
|
45
|
-
* 3. Use createDefaultAdapter
|
|
46
|
-
*
|
|
47
|
-
* @returns Adapter instance
|
|
48
|
-
* @protected
|
|
49
|
-
*/
|
|
50
|
-
get adapter() {
|
|
51
|
-
if (this._adapter) {
|
|
52
|
-
return this._adapter;
|
|
53
|
-
}
|
|
54
|
-
// Try config-based resolver
|
|
55
|
-
const resolver = config.key("repository.adapterResolver");
|
|
56
|
-
if (resolver) {
|
|
57
|
-
this._adapter = resolver(this);
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
this._adapter = config.get("repository.defaultAdapter") || this.createDefaultAdapter();
|
|
61
|
-
}
|
|
62
|
-
// Adapter is guaranteed to be set at this point
|
|
63
|
-
return this._adapter;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Default repository options
|
|
67
|
-
* @protected
|
|
68
|
-
*/
|
|
69
|
-
defaultOptions = config.get("repository.defaultOptions") || {};
|
|
70
|
-
/**
|
|
71
|
-
* Simple select columns (used with simple filter)
|
|
72
|
-
* @protected
|
|
73
|
-
*/
|
|
74
|
-
simpleSelectColumns = [];
|
|
75
|
-
/**
|
|
76
|
-
* Active column name
|
|
77
|
-
* @default "isActive"
|
|
78
|
-
* @protected
|
|
79
|
-
*/
|
|
80
|
-
isActiveColumn;
|
|
81
|
-
/**
|
|
82
|
-
* Active column value
|
|
83
|
-
* @default true
|
|
84
|
-
* @protected
|
|
85
|
-
*/
|
|
86
|
-
isActiveValue;
|
|
87
|
-
/**
|
|
88
|
-
* Repository name (for events)
|
|
89
|
-
* @protected
|
|
90
|
-
*/
|
|
91
|
-
name;
|
|
92
|
-
/**
|
|
93
|
-
* Whether caching is enabled
|
|
94
|
-
* @default true
|
|
95
|
-
* @protected
|
|
96
|
-
*/
|
|
97
|
-
isCacheable = config.get("repository.isCacheable") ?? true;
|
|
98
|
-
/**
|
|
99
|
-
* Cache driver instance
|
|
100
|
-
* @protected
|
|
101
|
-
*/
|
|
102
|
-
cacheDriver = config.get("repository.cacheDriver") || cache;
|
|
103
|
-
/**
|
|
104
|
-
* List of all events callbacks
|
|
105
|
-
*/
|
|
106
|
-
eventsCallbacks = [];
|
|
107
|
-
/**
|
|
108
|
-
* Constructor
|
|
109
|
-
* @param adapter - Optional adapter instance for direct injection
|
|
110
|
-
*/
|
|
111
|
-
constructor(adapter) {
|
|
112
|
-
if (adapter) {
|
|
113
|
-
this._adapter = adapter;
|
|
114
|
-
}
|
|
115
|
-
// Wait for constructor to finish and all properties are properly registered
|
|
116
|
-
// specially for adapter to get instanciated
|
|
117
|
-
setTimeout(() => {
|
|
118
|
-
this.registerEvents();
|
|
119
|
-
}, 0);
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Register events
|
|
123
|
-
*/
|
|
124
|
-
registerEvents() {
|
|
125
|
-
this.eventsCallbacks.push(...this.adapter.registerEvents((source) => {
|
|
126
|
-
// this.clearCache({ id: source.id });
|
|
127
|
-
this.clearCache();
|
|
128
|
-
}));
|
|
129
|
-
}
|
|
130
|
-
/**
|
|
131
|
-
* Unregister events
|
|
132
|
-
*/
|
|
133
|
-
cleanuEvents() {
|
|
134
|
-
this.eventsCallbacks.forEach((callback) => {
|
|
135
|
-
callback();
|
|
136
|
-
});
|
|
137
|
-
this.eventsCallbacks = [];
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Create default adapter instance
|
|
141
|
-
* Override this method to provide custom adapter creation logic
|
|
142
|
-
*
|
|
143
|
-
* @returns Adapter instance
|
|
144
|
-
* @throws Error if no source is configured
|
|
145
|
-
* @protected
|
|
146
|
-
*/
|
|
147
|
-
createDefaultAdapter() {
|
|
148
|
-
if (!this.source) {
|
|
149
|
-
throw new Error("No adapter or source configured. Either pass an adapter to the constructor, " +
|
|
150
|
-
"set the 'source' property, or configure 'repository.adapterResolver' in config.");
|
|
151
|
-
}
|
|
152
|
-
// Default: assume source is a Cascade Model
|
|
153
|
-
if (typeof this.source === "function") {
|
|
154
|
-
// Lazy import to avoid circular dependencies
|
|
155
|
-
return new CascadeAdapter(this.source);
|
|
156
|
-
}
|
|
157
|
-
throw new Error("Cannot create default adapter for this source type. " +
|
|
158
|
-
"Please provide an adapter or configure repository.adapterResolver.");
|
|
159
|
-
}
|
|
160
|
-
// ============================================================================
|
|
161
|
-
// UTILITY METHODS
|
|
162
|
-
// ============================================================================
|
|
163
|
-
/**
|
|
164
|
-
* Get repository name
|
|
165
|
-
* @returns Repository name
|
|
166
|
-
* @public
|
|
167
|
-
*/
|
|
168
|
-
getName() {
|
|
169
|
-
if (this.name) {
|
|
170
|
-
return this.name;
|
|
171
|
-
}
|
|
172
|
-
// Try to get collection name from source
|
|
173
|
-
this.name = this.adapter.resolveRepositoryName() || "unknown";
|
|
174
|
-
return this.name;
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Get is active column
|
|
178
|
-
*/
|
|
179
|
-
getIsActiveColumn() {
|
|
180
|
-
return this.isActiveColumn || config.key("repository.isActiveColumn") || "isActive";
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Get is active value
|
|
184
|
-
*/
|
|
185
|
-
getIsActiveValue() {
|
|
186
|
-
return this.isActiveValue ?? config.key("repository.isActiveValue") ?? true;
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Create new query builder instance
|
|
190
|
-
* @returns Query builder
|
|
191
|
-
* @public
|
|
192
|
-
*/
|
|
193
|
-
newQuery() {
|
|
194
|
-
return this.adapter.query();
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Create new model instance
|
|
198
|
-
* @param data - Model data
|
|
199
|
-
* @returns Model instance
|
|
200
|
-
* @public
|
|
201
|
-
*/
|
|
202
|
-
newModel(data) {
|
|
203
|
-
return this.adapter.createModel(data);
|
|
204
|
-
}
|
|
205
|
-
/**
|
|
206
|
-
* Get active filter object
|
|
207
|
-
* @returns Filter object for active records
|
|
208
|
-
* @protected
|
|
209
|
-
*/
|
|
210
|
-
getIsActiveFilter() {
|
|
211
|
-
return {
|
|
212
|
-
[this.getIsActiveColumn()]: this.getIsActiveValue(),
|
|
213
|
-
};
|
|
214
|
-
}
|
|
215
|
-
// ============================================================================
|
|
216
|
-
// FINDING METHODS
|
|
217
|
-
// ============================================================================
|
|
218
|
-
/**
|
|
219
|
-
* Find a record by ID
|
|
220
|
-
* @param id - Record ID or model instance
|
|
221
|
-
* @returns Promise resolving to record or null
|
|
222
|
-
* @public
|
|
223
|
-
*/
|
|
224
|
-
async find(id) {
|
|
225
|
-
return this.adapter.find(id);
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Find a record by column value
|
|
229
|
-
* @param column - Column name
|
|
230
|
-
* @param value - Value to search for
|
|
231
|
-
* @returns Promise resolving to record or null
|
|
232
|
-
* @public
|
|
233
|
-
*/
|
|
234
|
-
async findBy(column, value) {
|
|
235
|
-
return this.adapter.findBy(column, value);
|
|
236
|
-
}
|
|
237
|
-
/**
|
|
238
|
-
* Find active record by ID
|
|
239
|
-
* @param id - Record ID or model instance
|
|
240
|
-
* @returns Promise resolving to active record or null
|
|
241
|
-
* @public
|
|
242
|
-
*/
|
|
243
|
-
async findActive(id) {
|
|
244
|
-
return this.newQuery()
|
|
245
|
-
.where({
|
|
246
|
-
id,
|
|
247
|
-
...this.getIsActiveFilter(),
|
|
248
|
-
})
|
|
249
|
-
.first();
|
|
250
|
-
}
|
|
251
|
-
/**
|
|
252
|
-
* Find active record by column value
|
|
253
|
-
* @param column - Column name
|
|
254
|
-
* @param value - Value to search for
|
|
255
|
-
* @returns Promise resolving to active record or null
|
|
256
|
-
* @public
|
|
257
|
-
*/
|
|
258
|
-
async findByActive(column, value) {
|
|
259
|
-
return this.newQuery()
|
|
260
|
-
.where({
|
|
261
|
-
[column]: value,
|
|
262
|
-
...this.getIsActiveFilter(),
|
|
263
|
-
})
|
|
264
|
-
.first();
|
|
265
|
-
}
|
|
266
|
-
/**
|
|
267
|
-
* Get first record matching options
|
|
268
|
-
* @param options - Repository options
|
|
269
|
-
* @returns Promise resolving to first record or null
|
|
270
|
-
* @public
|
|
271
|
-
*/
|
|
272
|
-
async first(options) {
|
|
273
|
-
const query = this.newQuery();
|
|
274
|
-
const opts = this.prepareOptions(options);
|
|
275
|
-
this.applyOptionsToQuery(query, opts);
|
|
276
|
-
return query.limit(1).first();
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Get id by the given filter
|
|
280
|
-
*/
|
|
281
|
-
async firstId(options) {
|
|
282
|
-
const record = await this.first(options);
|
|
283
|
-
return record?.id;
|
|
284
|
-
}
|
|
285
|
-
/**
|
|
286
|
-
* Get first active id
|
|
287
|
-
*/
|
|
288
|
-
async firstActiveId(options) {
|
|
289
|
-
const record = await this.firstActive(options);
|
|
290
|
-
return record?.id;
|
|
291
|
-
}
|
|
292
|
-
/**
|
|
293
|
-
* Get first cached id
|
|
294
|
-
*/
|
|
295
|
-
async firstCachedId(options) {
|
|
296
|
-
const record = await this.firstCached(options);
|
|
297
|
-
return record?.id;
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Get first active cached id
|
|
301
|
-
*/
|
|
302
|
-
async firstActiveCachedId(options) {
|
|
303
|
-
const record = await this.firstActiveCached(options);
|
|
304
|
-
return record?.id;
|
|
305
|
-
}
|
|
306
|
-
/**
|
|
307
|
-
* Get first uuid
|
|
308
|
-
*/
|
|
309
|
-
async firstUuid(options) {
|
|
310
|
-
const record = await this.first(options);
|
|
311
|
-
return record?.uuid;
|
|
312
|
-
}
|
|
313
|
-
/**
|
|
314
|
-
* Get first active uuid
|
|
315
|
-
*/
|
|
316
|
-
async firstActiveUuid(options) {
|
|
317
|
-
const record = await this.firstActive(options);
|
|
318
|
-
return record?.uuid;
|
|
319
|
-
}
|
|
320
|
-
/**
|
|
321
|
-
* Get first cached uuid
|
|
322
|
-
*/
|
|
323
|
-
async firstCachedUuid(options) {
|
|
324
|
-
const record = await this.firstCached(options);
|
|
325
|
-
return record?.uuid;
|
|
326
|
-
}
|
|
327
|
-
/**
|
|
328
|
-
* Get first active cached uuid
|
|
329
|
-
*/
|
|
330
|
-
async firstActiveCachedUuid(options) {
|
|
331
|
-
const record = await this.firstActiveCached(options);
|
|
332
|
-
return record?.uuid;
|
|
333
|
-
}
|
|
334
|
-
/**
|
|
335
|
-
* Get first cached record
|
|
336
|
-
*/
|
|
337
|
-
async firstCached(options) {
|
|
338
|
-
const results = await this.allCached({
|
|
339
|
-
...options,
|
|
340
|
-
limit: 1,
|
|
341
|
-
});
|
|
342
|
-
return results[0] || null;
|
|
343
|
-
}
|
|
344
|
-
/**
|
|
345
|
-
* Get first active record
|
|
346
|
-
* @param options - Repository options
|
|
347
|
-
* @returns Promise resolving to first active record or null
|
|
348
|
-
* @public
|
|
349
|
-
*/
|
|
350
|
-
async firstActive(options) {
|
|
351
|
-
return this.first({
|
|
352
|
-
...this.getIsActiveFilter(),
|
|
353
|
-
...options,
|
|
354
|
-
});
|
|
355
|
-
}
|
|
356
|
-
/**
|
|
357
|
-
* Get first active cached record
|
|
358
|
-
* @param options - Repository options
|
|
359
|
-
* @returns Promise resolving to first active cached record or null
|
|
360
|
-
* @public
|
|
361
|
-
*/
|
|
362
|
-
async firstActiveCached(options) {
|
|
363
|
-
return this.firstCached({
|
|
364
|
-
...this.getIsActiveFilter(),
|
|
365
|
-
...options,
|
|
366
|
-
});
|
|
367
|
-
}
|
|
368
|
-
/**
|
|
369
|
-
* Get last record matching options
|
|
370
|
-
* @param options - Repository options
|
|
371
|
-
* @returns Promise resolving to last record or null
|
|
372
|
-
* @public
|
|
373
|
-
*/
|
|
374
|
-
async last(options) {
|
|
375
|
-
return this.first({
|
|
376
|
-
orderBy: {
|
|
377
|
-
id: "desc",
|
|
378
|
-
},
|
|
379
|
-
...options,
|
|
380
|
-
});
|
|
381
|
-
}
|
|
382
|
-
/**
|
|
383
|
-
* Get last cached record
|
|
384
|
-
*/
|
|
385
|
-
async lastCached(options) {
|
|
386
|
-
const results = await this.allCached(this.asTypedAll({
|
|
387
|
-
...options,
|
|
388
|
-
limit: 1,
|
|
389
|
-
orderBy: { id: "desc" },
|
|
390
|
-
}));
|
|
391
|
-
return results[0] || null;
|
|
392
|
-
}
|
|
393
|
-
/**
|
|
394
|
-
* Get last active record
|
|
395
|
-
* @param options - Repository options
|
|
396
|
-
* @returns Promise resolving to last active record or null
|
|
397
|
-
* @public
|
|
398
|
-
*/
|
|
399
|
-
async lastActive(options) {
|
|
400
|
-
return this.last({
|
|
401
|
-
...this.getIsActiveFilter(),
|
|
402
|
-
...options,
|
|
403
|
-
});
|
|
404
|
-
}
|
|
405
|
-
/**
|
|
406
|
-
* Get last active cached record
|
|
407
|
-
* @param options - Repository options
|
|
408
|
-
* @returns Promise resolving to last active cached record or null
|
|
409
|
-
* @public
|
|
410
|
-
*/
|
|
411
|
-
async lastActiveCached(options) {
|
|
412
|
-
return this.lastCached({
|
|
413
|
-
...this.getIsActiveFilter(),
|
|
414
|
-
...options,
|
|
415
|
-
});
|
|
416
|
-
}
|
|
417
|
-
async list(options) {
|
|
418
|
-
return this._listImpl(options);
|
|
419
|
-
}
|
|
420
|
-
/**
|
|
421
|
-
* Internal list implementation - no overloads, handles union type
|
|
422
|
-
* @param options - Repository options
|
|
423
|
-
* @returns Promise resolving to pagination result
|
|
424
|
-
* @private
|
|
425
|
-
*/
|
|
426
|
-
async _listImpl(options) {
|
|
427
|
-
const query = this.newQuery();
|
|
428
|
-
const opts = this.prepareOptions(options);
|
|
429
|
-
const paginationMode = opts.paginationMode || "pages";
|
|
430
|
-
// applyOptionsToQuery handles cursor phase 1 (WHERE + ORDER BY) internally
|
|
431
|
-
// when paginationMode === "cursor", ensuring the cursor column is always
|
|
432
|
-
// the primary sort key before any other options are applied.
|
|
433
|
-
this.applyOptionsToQuery(query, opts);
|
|
434
|
-
if (paginationMode === "cursor") {
|
|
435
|
-
return query.cursorPaginate({
|
|
436
|
-
limit: opts.limit || opts.defaultLimit || 15,
|
|
437
|
-
cursor: opts.cursor,
|
|
438
|
-
direction: opts.direction,
|
|
439
|
-
cursorColumn: opts.cursorColumn,
|
|
440
|
-
});
|
|
441
|
-
}
|
|
442
|
-
// Traditional page-based pagination (default)
|
|
443
|
-
const page = opts.page || 1;
|
|
444
|
-
const limit = opts.limit || opts.defaultLimit || 15;
|
|
445
|
-
return query.paginate(page, limit);
|
|
446
|
-
}
|
|
447
|
-
/**
|
|
448
|
-
* List all records without pagination
|
|
449
|
-
* @param options - Repository options
|
|
450
|
-
* @returns Promise resolving to array of records
|
|
451
|
-
* @public
|
|
452
|
-
*/
|
|
453
|
-
async all(options) {
|
|
454
|
-
const query = this.newQuery();
|
|
455
|
-
// Apply options
|
|
456
|
-
const opts = this.prepareOptions(options);
|
|
457
|
-
this.applyOptionsToQuery(query, opts);
|
|
458
|
-
return query.get();
|
|
459
|
-
}
|
|
460
|
-
async listActive(options) {
|
|
461
|
-
return this._listImpl({
|
|
462
|
-
...this.getIsActiveFilter(),
|
|
463
|
-
...options,
|
|
464
|
-
});
|
|
465
|
-
}
|
|
466
|
-
/**
|
|
467
|
-
* List all active records without pagination
|
|
468
|
-
* @param options - Repository options
|
|
469
|
-
* @returns Promise resolving to array of active records
|
|
470
|
-
* @public
|
|
471
|
-
*/
|
|
472
|
-
async allActive(options) {
|
|
473
|
-
return this.all(this.asTypedAll({ ...this.getIsActiveFilter(), ...options }));
|
|
474
|
-
}
|
|
475
|
-
// ============================================================================
|
|
476
|
-
// EXISTENCE CHECKS
|
|
477
|
-
// ============================================================================
|
|
478
|
-
/**
|
|
479
|
-
* Check if record exists matching filter
|
|
480
|
-
* @param filter - Repository options
|
|
481
|
-
* @returns Promise resolving to true if exists
|
|
482
|
-
* @public
|
|
483
|
-
*/
|
|
484
|
-
async exists(filter) {
|
|
485
|
-
return !!(await this.first(filter));
|
|
486
|
-
}
|
|
487
|
-
/**
|
|
488
|
-
* Check if active record exists matching filter
|
|
489
|
-
* @param filter - Repository options
|
|
490
|
-
* @returns Promise resolving to true if active record exists
|
|
491
|
-
* @public
|
|
492
|
-
*/
|
|
493
|
-
async existsActive(filter) {
|
|
494
|
-
return !!(await this.firstActive(filter));
|
|
495
|
-
}
|
|
496
|
-
/**
|
|
497
|
-
* Check if record exists by ID
|
|
498
|
-
* @param id - Record ID
|
|
499
|
-
* @returns Promise resolving to true if exists
|
|
500
|
-
* @public
|
|
501
|
-
*/
|
|
502
|
-
async idExists(id) {
|
|
503
|
-
return !!(await this.find(id));
|
|
504
|
-
}
|
|
505
|
-
/**
|
|
506
|
-
* Check if active record exists by ID
|
|
507
|
-
* @param id - Record ID
|
|
508
|
-
* @returns Promise resolving to true if active record exists
|
|
509
|
-
* @public
|
|
510
|
-
*/
|
|
511
|
-
async idExistsActive(id) {
|
|
512
|
-
return !!(await this.findActive(id));
|
|
513
|
-
}
|
|
514
|
-
/**
|
|
515
|
-
* Prepare options — merges defaultOptions with caller options.
|
|
516
|
-
* Returning as TypedRepositoryOptions<F> ensures internal composition
|
|
517
|
-
* (spread + forward) satisfies the typed public API without per-call casts.
|
|
518
|
-
*/
|
|
519
|
-
prepareOptions(options) {
|
|
520
|
-
return { ...(this.defaultOptions || {}), ...(options || {}) };
|
|
521
|
-
}
|
|
522
|
-
/**
|
|
523
|
-
* Cast a plain `RepositoryOptions` spread to the typed variant.
|
|
524
|
-
* Used internally when composing options across method calls where the
|
|
525
|
-
* spread breaks the F-generic inference chain.
|
|
526
|
-
*/
|
|
527
|
-
asTyped(opts) {
|
|
528
|
-
return opts;
|
|
529
|
-
}
|
|
530
|
-
asTypedAll(opts) {
|
|
531
|
-
return opts;
|
|
532
|
-
}
|
|
533
|
-
// ============================================================================
|
|
534
|
-
// HELPER METHODS
|
|
535
|
-
// ============================================================================
|
|
536
|
-
/**
|
|
537
|
-
* Apply repository options to query
|
|
538
|
-
* @param query - Query builder instance
|
|
539
|
-
* @param options - Repository options
|
|
540
|
-
* @protected
|
|
541
|
-
*/
|
|
542
|
-
applyOptionsToQuery(query, options) {
|
|
543
|
-
// ── Cursor phase 1: WHERE + ORDER BY ──────────────────────────────────────
|
|
544
|
-
// Must run first so the cursor column is always the PRIMARY sort key.
|
|
545
|
-
// Any orderBy appended below becomes a harmless secondary sort key.
|
|
546
|
-
if (options.paginationMode === "cursor") {
|
|
547
|
-
const cursorColumn = options.cursorColumn ?? "id";
|
|
548
|
-
const direction = options.direction ?? "next";
|
|
549
|
-
if (options.cursor) {
|
|
550
|
-
query.where(cursorColumn, direction === "next" ? ">" : "<", options.cursor);
|
|
551
|
-
}
|
|
552
|
-
query.orderBy(cursorColumn, direction === "next" ? "asc" : "desc");
|
|
553
|
-
// Warn and strip orderBy that targets the same column as the cursor —
|
|
554
|
-
// it would produce a duplicate / conflicting sort clause.
|
|
555
|
-
if (options.orderBy) {
|
|
556
|
-
const conflictingKeys = Array.isArray(options.orderBy)
|
|
557
|
-
? [options.orderBy[0]]
|
|
558
|
-
: typeof options.orderBy === "object"
|
|
559
|
-
? Object.keys(options.orderBy)
|
|
560
|
-
: [];
|
|
561
|
-
if (conflictingKeys.includes(cursorColumn)) {
|
|
562
|
-
console.warn(`[Repository] orderBy on "${cursorColumn}" conflicts with cursorColumn and will be ignored. ` +
|
|
563
|
-
`Cursor pagination owns the sort order for its cursor column.`);
|
|
564
|
-
options = { ...options, orderBy: undefined };
|
|
565
|
-
}
|
|
566
|
-
}
|
|
567
|
-
}
|
|
568
|
-
// Apply filters
|
|
569
|
-
if (this.filterBy && Object.keys(this.filterBy).length > 0) {
|
|
570
|
-
query.applyFilters(this.filterBy, options, {
|
|
571
|
-
dateFormat: "DD-MM-YYYY",
|
|
572
|
-
dateTimeFormat: "DD-MM-YYYY HH:mm:ss",
|
|
573
|
-
});
|
|
574
|
-
}
|
|
575
|
-
// Apply select
|
|
576
|
-
if (options.select) {
|
|
577
|
-
query.select(options.select);
|
|
578
|
-
}
|
|
579
|
-
// Apply deselect
|
|
580
|
-
if (options.deselect) {
|
|
581
|
-
query.deselect(options.deselect);
|
|
582
|
-
}
|
|
583
|
-
if (options.simpleSelect && this.simpleSelectColumns.length > 0) {
|
|
584
|
-
query.select(this.simpleSelectColumns);
|
|
585
|
-
}
|
|
586
|
-
// Apply ordering
|
|
587
|
-
if (options.orderBy) {
|
|
588
|
-
if (options.orderBy === "random") {
|
|
589
|
-
query.random();
|
|
590
|
-
}
|
|
591
|
-
else if (Array.isArray(options.orderBy)) {
|
|
592
|
-
query.orderBy(options.orderBy[0], options.orderBy[1]);
|
|
593
|
-
}
|
|
594
|
-
else if (typeof options.orderBy === "object") {
|
|
595
|
-
query.sortBy(options.orderBy);
|
|
596
|
-
}
|
|
597
|
-
}
|
|
598
|
-
// Apply limit (for non-paginated queries)
|
|
599
|
-
if (options.limit && options.paginate === false) {
|
|
600
|
-
query.limit(options.limit);
|
|
601
|
-
}
|
|
602
|
-
// Apply custom perform function
|
|
603
|
-
if (options?.perform) {
|
|
604
|
-
options.perform(query, options);
|
|
605
|
-
}
|
|
606
|
-
return options;
|
|
607
|
-
}
|
|
608
|
-
// ============================================================================
|
|
609
|
-
// CRUD OPERATIONS
|
|
610
|
-
// ============================================================================
|
|
611
|
-
/**
|
|
612
|
-
* Create a new record
|
|
613
|
-
* @param data - Record data
|
|
614
|
-
* @returns Promise resolving to created record
|
|
615
|
-
* @public
|
|
616
|
-
*/
|
|
617
|
-
async create(data) {
|
|
618
|
-
return this.adapter.create(data);
|
|
619
|
-
}
|
|
620
|
-
/**
|
|
621
|
-
* Update a record by ID
|
|
622
|
-
* @param id - Record ID
|
|
623
|
-
* @param data - Updated data
|
|
624
|
-
* @returns Promise resolving to updated record
|
|
625
|
-
* @public
|
|
626
|
-
*/
|
|
627
|
-
async update(id, data) {
|
|
628
|
-
return this.adapter.update(id, data);
|
|
629
|
-
}
|
|
630
|
-
/**
|
|
631
|
-
* Delete a record by ID
|
|
632
|
-
* @param id - Record ID
|
|
633
|
-
* @returns Promise that resolves when deletion is complete
|
|
634
|
-
* @public
|
|
635
|
-
*/
|
|
636
|
-
async delete(id) {
|
|
637
|
-
return this.adapter.delete(id);
|
|
638
|
-
}
|
|
639
|
-
// ============================================================================
|
|
640
|
-
// BULK OPERATIONS
|
|
641
|
-
// ============================================================================
|
|
642
|
-
/**
|
|
643
|
-
* Update multiple records matching filter
|
|
644
|
-
* @param filter - Filter criteria
|
|
645
|
-
* @param data - Updated data
|
|
646
|
-
* @returns Promise resolving to number of updated records
|
|
647
|
-
* @public
|
|
648
|
-
*/
|
|
649
|
-
async updateMany(filter, data) {
|
|
650
|
-
return this.adapter.updateMany(filter, data);
|
|
651
|
-
}
|
|
652
|
-
/**
|
|
653
|
-
* Delete multiple records matching filter
|
|
654
|
-
* @param filter - Filter criteria
|
|
655
|
-
* @returns Promise resolving to number of deleted records
|
|
656
|
-
* @public
|
|
657
|
-
*/
|
|
658
|
-
async deleteMany(filter) {
|
|
659
|
-
return this.adapter.deleteMany(filter);
|
|
660
|
-
}
|
|
661
|
-
// ============================================================================
|
|
662
|
-
// CHUNKING
|
|
663
|
-
// ============================================================================
|
|
664
|
-
/**
|
|
665
|
-
* Process records in chunks
|
|
666
|
-
* @param size - Chunk size
|
|
667
|
-
* @param callback - Function called for each chunk
|
|
668
|
-
* @param options - Repository options
|
|
669
|
-
* @returns Promise that resolves when chunking is complete
|
|
670
|
-
* @public
|
|
671
|
-
*/
|
|
672
|
-
async chunk(size, callback, options) {
|
|
673
|
-
const query = this.newQuery();
|
|
674
|
-
const opts = this.prepareOptions(options);
|
|
675
|
-
this.applyOptionsToQuery(query, opts);
|
|
676
|
-
return query.chunk(size, callback);
|
|
677
|
-
}
|
|
678
|
-
/**
|
|
679
|
-
* Process active records in chunks
|
|
680
|
-
* @param size - Chunk size
|
|
681
|
-
* @param callback - Function called for each chunk
|
|
682
|
-
* @param options - Repository options
|
|
683
|
-
* @returns Promise that resolves when chunking is complete
|
|
684
|
-
* @public
|
|
685
|
-
*/
|
|
686
|
-
async chunkActive(size, callback, options) {
|
|
687
|
-
return this.chunk(size, callback, this.asTyped({ ...this.getIsActiveFilter(), ...options }));
|
|
688
|
-
}
|
|
689
|
-
async latest(options) {
|
|
690
|
-
return this._listImpl({
|
|
691
|
-
orderBy: ["id", "desc"],
|
|
692
|
-
...options,
|
|
693
|
-
});
|
|
694
|
-
}
|
|
695
|
-
async oldest(options) {
|
|
696
|
-
return this._listImpl({
|
|
697
|
-
orderBy: ["id", "asc"],
|
|
698
|
-
...options,
|
|
699
|
-
});
|
|
700
|
-
}
|
|
701
|
-
async latestActive(options) {
|
|
702
|
-
return this._listImpl({
|
|
703
|
-
orderBy: ["id", "desc"],
|
|
704
|
-
...this.getIsActiveFilter(),
|
|
705
|
-
...options,
|
|
706
|
-
});
|
|
707
|
-
}
|
|
708
|
-
async oldestActive(options) {
|
|
709
|
-
return this._listImpl({
|
|
710
|
-
orderBy: ["id", "asc"],
|
|
711
|
-
...this.getIsActiveFilter(),
|
|
712
|
-
...options,
|
|
713
|
-
});
|
|
714
|
-
}
|
|
715
|
-
// ============================================================================
|
|
716
|
-
// LIFECYCLE HOOKS (Override these in child classes)
|
|
717
|
-
// ============================================================================
|
|
718
|
-
/**
|
|
719
|
-
* Called before listing records
|
|
720
|
-
* @param options - Repository options
|
|
721
|
-
* @protected
|
|
722
|
-
*/
|
|
723
|
-
async beforeListing(options) {
|
|
724
|
-
// Override in child class
|
|
725
|
-
}
|
|
726
|
-
/**
|
|
727
|
-
* Called after listing records
|
|
728
|
-
* @param result - Pagination result
|
|
729
|
-
* @param options - Repository options
|
|
730
|
-
* @protected
|
|
731
|
-
*/
|
|
732
|
-
async onList(result, options) {
|
|
733
|
-
// Override in child class
|
|
734
|
-
}
|
|
735
|
-
/**
|
|
736
|
-
* Called before creating a record
|
|
737
|
-
* @param data - Record data
|
|
738
|
-
* @protected
|
|
739
|
-
*/
|
|
740
|
-
async onCreating(data) {
|
|
741
|
-
// Override in child class
|
|
742
|
-
}
|
|
743
|
-
/**
|
|
744
|
-
* Called after creating a record
|
|
745
|
-
* @param record - Created record
|
|
746
|
-
* @param data - Original data
|
|
747
|
-
* @protected
|
|
748
|
-
*/
|
|
749
|
-
async onCreate(record, data) {
|
|
750
|
-
// Override in child class
|
|
751
|
-
}
|
|
752
|
-
/**
|
|
753
|
-
* Called before updating a record
|
|
754
|
-
* @param id - Record ID
|
|
755
|
-
* @param data - Updated data
|
|
756
|
-
* @protected
|
|
757
|
-
*/
|
|
758
|
-
async onUpdating(id, data) {
|
|
759
|
-
// Override in child class
|
|
760
|
-
}
|
|
761
|
-
/**
|
|
762
|
-
* Called after updating a record
|
|
763
|
-
* @param record - Updated record
|
|
764
|
-
* @param data - Original data
|
|
765
|
-
* @protected
|
|
766
|
-
*/
|
|
767
|
-
async onUpdate(record, data) {
|
|
768
|
-
// Override in child class
|
|
769
|
-
}
|
|
770
|
-
/**
|
|
771
|
-
* Called before saving a record (create or update)
|
|
772
|
-
* @param data - Record data
|
|
773
|
-
* @param mode - Save mode
|
|
774
|
-
* @protected
|
|
775
|
-
*/
|
|
776
|
-
async onSaving(data, mode) {
|
|
777
|
-
// Override in child class
|
|
778
|
-
}
|
|
779
|
-
/**
|
|
780
|
-
* Called after saving a record (create or update)
|
|
781
|
-
* @param record - Saved record
|
|
782
|
-
* @param data - Original data
|
|
783
|
-
* @param mode - Save mode
|
|
784
|
-
* @protected
|
|
785
|
-
*/
|
|
786
|
-
async onSave(record, data, mode) {
|
|
787
|
-
// Override in child class
|
|
788
|
-
}
|
|
789
|
-
/**
|
|
790
|
-
* Called before deleting a record
|
|
791
|
-
* @param id - Record ID
|
|
792
|
-
* @protected
|
|
793
|
-
*/
|
|
794
|
-
async onDeleting(id) {
|
|
795
|
-
// Override in child class
|
|
796
|
-
}
|
|
797
|
-
/**
|
|
798
|
-
* Called after deleting a record
|
|
799
|
-
* @param id - Record ID
|
|
800
|
-
* @protected
|
|
801
|
-
*/
|
|
802
|
-
async onDelete(id) {
|
|
803
|
-
// Override in child class
|
|
804
|
-
}
|
|
805
|
-
// ============================================================================
|
|
806
|
-
// COUNT METHODS
|
|
807
|
-
// ============================================================================
|
|
808
|
-
/**
|
|
809
|
-
* Count total records matching options
|
|
810
|
-
* @param options - Repository options
|
|
811
|
-
* @returns Promise resolving to count
|
|
812
|
-
* @public
|
|
813
|
-
*/
|
|
814
|
-
async count(options) {
|
|
815
|
-
const query = this.newQuery();
|
|
816
|
-
const opts = this.prepareOptions(options);
|
|
817
|
-
this.applyOptionsToQuery(query, opts);
|
|
818
|
-
return await query.count();
|
|
819
|
-
}
|
|
820
|
-
/**
|
|
821
|
-
* Count total active records
|
|
822
|
-
* @param options - Repository options
|
|
823
|
-
* @returns Promise resolving to count of active records
|
|
824
|
-
* @public
|
|
825
|
-
*/
|
|
826
|
-
async countActive(options) {
|
|
827
|
-
return await this.count(this.asTyped({ ...this.getIsActiveFilter(), ...options }));
|
|
828
|
-
}
|
|
829
|
-
/**
|
|
830
|
-
* Count records with caching
|
|
831
|
-
* @param options - Repository options
|
|
832
|
-
* @returns Promise resolving to cached count
|
|
833
|
-
* @public
|
|
834
|
-
*/
|
|
835
|
-
async countCached(options) {
|
|
836
|
-
if (!this.isCacheable || !this.cacheDriver) {
|
|
837
|
-
return await this.count(options);
|
|
838
|
-
}
|
|
839
|
-
const opts = this.prepareOptions(options);
|
|
840
|
-
const cacheKey = this.cacheKey("count", opts);
|
|
841
|
-
let count = await this.cacheDriver.get(cacheKey);
|
|
842
|
-
if (count !== undefined)
|
|
843
|
-
return count;
|
|
844
|
-
count = await this.count(options);
|
|
845
|
-
await this.cache(cacheKey, count);
|
|
846
|
-
return count;
|
|
847
|
-
}
|
|
848
|
-
/**
|
|
849
|
-
* Count active records with caching
|
|
850
|
-
* @param options - Repository options
|
|
851
|
-
* @returns Promise resolving to cached count of active records
|
|
852
|
-
* @public
|
|
853
|
-
*/
|
|
854
|
-
async countActiveCached(options) {
|
|
855
|
-
return await this.countCached(this.asTyped({ ...this.getIsActiveFilter(), ...options }));
|
|
856
|
-
}
|
|
857
|
-
// ============================================================================
|
|
858
|
-
// CACHING METHODS
|
|
859
|
-
// ============================================================================
|
|
860
|
-
/**
|
|
861
|
-
* Set cache driver
|
|
862
|
-
* @param driver - Cache driver instance
|
|
863
|
-
* @returns This repository for chaining
|
|
864
|
-
* @public
|
|
865
|
-
*/
|
|
866
|
-
setCacheDriver(driver) {
|
|
867
|
-
this.cacheDriver = driver;
|
|
868
|
-
return this;
|
|
869
|
-
}
|
|
870
|
-
/**
|
|
871
|
-
* Get cache driver
|
|
872
|
-
* @returns Cache driver instance
|
|
873
|
-
* @public
|
|
874
|
-
*/
|
|
875
|
-
getCacheDriver() {
|
|
876
|
-
return this.cacheDriver;
|
|
877
|
-
}
|
|
878
|
-
/**
|
|
879
|
-
* Generate cache key
|
|
880
|
-
* @param key - Base key or object
|
|
881
|
-
* @param moreOptions - Additional options for key
|
|
882
|
-
* @returns Generated cache key
|
|
883
|
-
* @protected
|
|
884
|
-
*/
|
|
885
|
-
cacheKey(key, moreOptions) {
|
|
886
|
-
let cacheKey = `repositories.${this.getName()}`;
|
|
887
|
-
if (key) {
|
|
888
|
-
cacheKey += "." + (typeof key === "string" ? key : JSON.stringify(key));
|
|
889
|
-
}
|
|
890
|
-
if (moreOptions) {
|
|
891
|
-
cacheKey += "." + JSON.stringify(moreOptions);
|
|
892
|
-
}
|
|
893
|
-
return cacheKey;
|
|
894
|
-
}
|
|
895
|
-
/**
|
|
896
|
-
* Cache a value
|
|
897
|
-
* @param key - Cache key
|
|
898
|
-
* @param value - Value to cache
|
|
899
|
-
* @protected
|
|
900
|
-
*/
|
|
901
|
-
async cache(key, value) {
|
|
902
|
-
if (!this.isCacheable || !this.cacheDriver)
|
|
903
|
-
return;
|
|
904
|
-
await this.cacheDriver.set(key, value);
|
|
905
|
-
}
|
|
906
|
-
/**
|
|
907
|
-
* Get cached record by ID
|
|
908
|
-
* @param id - Record ID
|
|
909
|
-
* @returns Promise resolving to cached record or null
|
|
910
|
-
* @public
|
|
911
|
-
*/
|
|
912
|
-
async getCached(id) {
|
|
913
|
-
return await this.getCachedBy("id", id);
|
|
914
|
-
}
|
|
915
|
-
/**
|
|
916
|
-
* @alias getCached
|
|
917
|
-
*/
|
|
918
|
-
async findCached(id) {
|
|
919
|
-
return await this.getCachedBy("id", id);
|
|
920
|
-
}
|
|
921
|
-
/**
|
|
922
|
-
* Get cached record by column value
|
|
923
|
-
* @param column - Column name
|
|
924
|
-
* @param value - Column value
|
|
925
|
-
* @param cacheKeyOptions - Additional cache key options
|
|
926
|
-
* @returns Promise resolving to cached record or undefined
|
|
927
|
-
* @public
|
|
928
|
-
*/
|
|
929
|
-
async getCachedBy(column, value, cacheKeyOptions) {
|
|
930
|
-
if (!this.isCacheable || !this.cacheDriver) {
|
|
931
|
-
return await this.findBy(column, value);
|
|
932
|
-
}
|
|
933
|
-
const cacheKey = this.cacheKey(`${column}.${value}`, cacheKeyOptions);
|
|
934
|
-
const cachedData = await this.cacheDriver.get(cacheKey);
|
|
935
|
-
if (cachedData) {
|
|
936
|
-
return this.adapter.deserializeModel(cachedData);
|
|
937
|
-
}
|
|
938
|
-
const model = await this.findBy(column, value);
|
|
939
|
-
if (!model)
|
|
940
|
-
return null;
|
|
941
|
-
this.cache(cacheKey, this.adapter.serializeModel(model));
|
|
942
|
-
return model;
|
|
943
|
-
}
|
|
944
|
-
/**
|
|
945
|
-
* Get all cached records
|
|
946
|
-
* @param options - Repository options
|
|
947
|
-
* @returns Promise resolving to array of cached records
|
|
948
|
-
* @public
|
|
949
|
-
*/
|
|
950
|
-
async allCached(options) {
|
|
951
|
-
if (!this.isCacheable || !this.cacheDriver) {
|
|
952
|
-
return await this.all(options);
|
|
953
|
-
}
|
|
954
|
-
const opts = this.prepareOptions(options);
|
|
955
|
-
const cacheKey = this.cacheKey("all", opts);
|
|
956
|
-
const cachedData = await this.cacheDriver.get(cacheKey);
|
|
957
|
-
if (cachedData) {
|
|
958
|
-
return cachedData.map((record) => this.adapter.deserializeModel(record));
|
|
959
|
-
}
|
|
960
|
-
const records = await this.all(options);
|
|
961
|
-
await this.cache(cacheKey, records.map((record) => this.adapter.serializeModel(record)));
|
|
962
|
-
return records;
|
|
963
|
-
}
|
|
964
|
-
/**
|
|
965
|
-
* Get all active cached records
|
|
966
|
-
* @param options - Repository options
|
|
967
|
-
* @returns Promise resolving to array of cached active records
|
|
968
|
-
* @public
|
|
969
|
-
*/
|
|
970
|
-
async allActiveCached(options) {
|
|
971
|
-
return await this.allCached(this.asTypedAll({ ...this.getIsActiveFilter(), ...options }));
|
|
972
|
-
}
|
|
973
|
-
/**
|
|
974
|
-
* List cached records with pagination
|
|
975
|
-
* @param options - Repository options
|
|
976
|
-
* @returns Promise resolving to cached pagination result
|
|
977
|
-
* @public
|
|
978
|
-
*/
|
|
979
|
-
async listCached(options) {
|
|
980
|
-
if (!this.isCacheable || !this.cacheDriver) {
|
|
981
|
-
return (await this._listImpl(options));
|
|
982
|
-
}
|
|
983
|
-
const opts = this.prepareOptions(options);
|
|
984
|
-
const cacheKey = this.cacheKey("list", opts);
|
|
985
|
-
const cachedData = await this.cacheDriver.get(cacheKey);
|
|
986
|
-
if (cachedData) {
|
|
987
|
-
return {
|
|
988
|
-
data: (cachedData?.data || []).map((record) => this.adapter.deserializeModel(record)),
|
|
989
|
-
pagination: cachedData.pagination,
|
|
990
|
-
};
|
|
991
|
-
}
|
|
992
|
-
const result = (await this._listImpl(options));
|
|
993
|
-
await this.cache(cacheKey, {
|
|
994
|
-
data: result.data.map((record) => this.adapter.serializeModel(record)),
|
|
995
|
-
pagination: result.pagination,
|
|
996
|
-
});
|
|
997
|
-
return result;
|
|
998
|
-
}
|
|
999
|
-
/**
|
|
1000
|
-
* List active cached records with pagination
|
|
1001
|
-
* @param options - Repository options
|
|
1002
|
-
* @returns Promise resolving to cached pagination result of active records
|
|
1003
|
-
* @public
|
|
1004
|
-
*/
|
|
1005
|
-
async listActiveCached(options) {
|
|
1006
|
-
return await this.listCached(this.asTyped({ ...this.getIsActiveFilter(), ...options }));
|
|
1007
|
-
}
|
|
1008
|
-
/**
|
|
1009
|
-
* Get active cached record by ID
|
|
1010
|
-
* @param id - Record ID
|
|
1011
|
-
* @returns Promise resolving to cached active record or undefined
|
|
1012
|
-
* @public
|
|
1013
|
-
*/
|
|
1014
|
-
async getActiveCached(id) {
|
|
1015
|
-
const model = await this.getCached(id);
|
|
1016
|
-
if (!model)
|
|
1017
|
-
return undefined;
|
|
1018
|
-
if (typeof model.get === "function") {
|
|
1019
|
-
return model.get(this.getIsActiveColumn()) === this.getIsActiveValue()
|
|
1020
|
-
? model
|
|
1021
|
-
: undefined;
|
|
1022
|
-
}
|
|
1023
|
-
// Check if model is active
|
|
1024
|
-
const isActive = model[this.getIsActiveColumn()] === this.getIsActiveValue();
|
|
1025
|
-
return isActive ? model : undefined;
|
|
1026
|
-
}
|
|
1027
|
-
/**
|
|
1028
|
-
* Cache a model
|
|
1029
|
-
* @param model - Model to cache
|
|
1030
|
-
* @public
|
|
1031
|
-
*/
|
|
1032
|
-
async cacheModel(model) {
|
|
1033
|
-
if (!this.isCacheable || !this.cacheDriver)
|
|
1034
|
-
return;
|
|
1035
|
-
const id = model.id;
|
|
1036
|
-
if (!id)
|
|
1037
|
-
return;
|
|
1038
|
-
const cacheKey = this.cacheKey(`id.${id}`);
|
|
1039
|
-
await this.cache(cacheKey, this.adapter.serializeModel(model));
|
|
1040
|
-
}
|
|
1041
|
-
/**
|
|
1042
|
-
* Cleanup all events and cache as well
|
|
1043
|
-
* Please note this is mostly used with development server to be
|
|
1044
|
-
* exported as cleanup
|
|
1045
|
-
*
|
|
1046
|
-
* @example
|
|
1047
|
-
* ```typescript
|
|
1048
|
-
*/
|
|
1049
|
-
cleanup() {
|
|
1050
|
-
this.clearCache();
|
|
1051
|
-
this.cleanuEvents();
|
|
1052
|
-
}
|
|
1053
|
-
/**
|
|
1054
|
-
* Cleanup all events and cache as well
|
|
1055
|
-
* Please note this is mostly used with development server to be
|
|
1056
|
-
* exported as cleanup
|
|
1057
|
-
* export const cleanup = usersRepository.cleanup.bind(usersRepository);
|
|
1058
|
-
*/
|
|
1059
|
-
$cleanup() {
|
|
1060
|
-
this.cleanup();
|
|
1061
|
-
this.cacheDriver.flush();
|
|
1062
|
-
}
|
|
1063
|
-
/**
|
|
1064
|
-
* Clear all cache for this repository
|
|
1065
|
-
* @public
|
|
1066
|
-
*/
|
|
1067
|
-
async clearCache(key) {
|
|
1068
|
-
if (!this.isCacheable || !this.cacheDriver)
|
|
1069
|
-
return;
|
|
1070
|
-
await this.cacheDriver.removeNamespace(this.cacheKey(key || ""));
|
|
1071
|
-
}
|
|
1072
|
-
/**
|
|
1073
|
-
* Clear cache for specific model
|
|
1074
|
-
* @param model - Model to clear cache for
|
|
1075
|
-
* @public
|
|
1076
|
-
*/
|
|
1077
|
-
async clearModelCache(model) {
|
|
1078
|
-
if (!this.isCacheable || !this.cacheDriver)
|
|
1079
|
-
return;
|
|
1080
|
-
const id = model.id;
|
|
1081
|
-
if (!id)
|
|
1082
|
-
return;
|
|
1083
|
-
const cacheKey = this.cacheKey(`id.${id}`);
|
|
1084
|
-
await this.cacheDriver.removeNamespace(cacheKey);
|
|
1085
|
-
}
|
|
1086
|
-
/**
|
|
1087
|
-
* Map documents to models
|
|
1088
|
-
* @param documents - Array of document data
|
|
1089
|
-
* @returns Array of model instances
|
|
1090
|
-
* @protected
|
|
1091
|
-
*/
|
|
1092
|
-
mapModels(documents) {
|
|
1093
|
-
return documents.map((doc) => this.newModel(doc));
|
|
1094
|
-
}
|
|
1095
|
-
// ============================================================================
|
|
1096
|
-
// CONVENIENCE METHODS
|
|
1097
|
-
// ============================================================================
|
|
1098
|
-
/**
|
|
1099
|
-
* Find or create a record
|
|
1100
|
-
* @param where - Conditions to find by
|
|
1101
|
-
* @param data - Data to create if not found
|
|
1102
|
-
* @returns Promise resolving to found or created record
|
|
1103
|
-
* @public
|
|
1104
|
-
*/
|
|
1105
|
-
async findOrCreate(where, data) {
|
|
1106
|
-
const model = await this.first(where);
|
|
1107
|
-
return model || (await this.create(data));
|
|
1108
|
-
}
|
|
1109
|
-
/**
|
|
1110
|
-
* Update or create a record
|
|
1111
|
-
* @param where - Conditions to find by
|
|
1112
|
-
* @param data - Data to update or create
|
|
1113
|
-
* @returns Promise resolving to updated or created record
|
|
1114
|
-
* @public
|
|
1115
|
-
*/
|
|
1116
|
-
async updateOrCreate(where, data) {
|
|
1117
|
-
const model = await this.first(where);
|
|
1118
|
-
if (model) {
|
|
1119
|
-
return await this.update(model, data);
|
|
1120
|
-
}
|
|
1121
|
-
return await this.create(data);
|
|
1122
|
-
}
|
|
1123
|
-
}export{RepositoryManager};//# sourceMappingURL=repository.manager.js.map
|