@decaf-ts/core 0.17.0 → 0.19.0
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/lib/cjs/auth/constants.cjs +2 -2
- package/lib/cjs/auth/constants.cjs.map +1 -0
- package/lib/cjs/auth/decorators.cjs +1 -0
- package/lib/cjs/auth/decorators.cjs.map +1 -0
- package/lib/cjs/auth/index.cjs +1 -0
- package/lib/cjs/auth/index.cjs.map +1 -0
- package/lib/cjs/fs/FilesystemAdapter.cjs +40 -39
- package/lib/cjs/fs/FilesystemAdapter.cjs.map +1 -0
- package/lib/cjs/fs/FsDispatch.cjs +3 -2
- package/lib/cjs/fs/FsDispatch.cjs.map +1 -0
- package/lib/cjs/fs/helpers.cjs +1 -0
- package/lib/cjs/fs/helpers.cjs.map +1 -0
- package/lib/cjs/fs/index.cjs +1 -0
- package/lib/cjs/fs/index.cjs.map +1 -0
- package/lib/cjs/fs/indexStore.cjs +8 -7
- package/lib/cjs/fs/indexStore.cjs.map +1 -0
- package/lib/cjs/fs/locks/FilesystemLock.cjs +3 -2
- package/lib/cjs/fs/locks/FilesystemLock.cjs.map +1 -0
- package/lib/cjs/fs/locks/FilesystemMultiLock.cjs +5 -4
- package/lib/cjs/fs/locks/FilesystemMultiLock.cjs.map +1 -0
- package/lib/cjs/fs/types.cjs +1 -0
- package/lib/cjs/fs/types.cjs.map +1 -0
- package/lib/cjs/identity/decorators.cjs +11 -10
- package/lib/cjs/identity/decorators.cjs.map +1 -0
- package/lib/cjs/identity/index.cjs +1 -0
- package/lib/cjs/identity/index.cjs.map +1 -0
- package/lib/cjs/index.cjs +4 -3
- package/lib/cjs/index.cjs.map +1 -0
- package/lib/cjs/interfaces/ContextuallyLogged.cjs +1 -0
- package/lib/cjs/interfaces/ContextuallyLogged.cjs.map +1 -0
- package/lib/cjs/interfaces/ErrorParser.cjs +1 -0
- package/lib/cjs/interfaces/ErrorParser.cjs.map +1 -0
- package/lib/cjs/interfaces/Executor.cjs +1 -0
- package/lib/cjs/interfaces/Executor.cjs.map +1 -0
- package/lib/cjs/interfaces/Observable.cjs +1 -0
- package/lib/cjs/interfaces/Observable.cjs.map +1 -0
- package/lib/cjs/interfaces/Observer.cjs +1 -0
- package/lib/cjs/interfaces/Observer.cjs.map +1 -0
- package/lib/cjs/interfaces/Paginatable.cjs +1 -0
- package/lib/cjs/interfaces/Paginatable.cjs.map +1 -0
- package/lib/cjs/interfaces/Queriable.cjs +1 -0
- package/lib/cjs/interfaces/Queriable.cjs.map +1 -0
- package/lib/cjs/interfaces/RawExecutor.cjs +1 -0
- package/lib/cjs/interfaces/RawExecutor.cjs.map +1 -0
- package/lib/cjs/interfaces/SequenceOptions.cjs +1 -0
- package/lib/cjs/interfaces/SequenceOptions.cjs.map +1 -0
- package/lib/cjs/interfaces/index.cjs +1 -0
- package/lib/cjs/interfaces/index.cjs.map +1 -0
- package/lib/cjs/migrations/Migration.cjs +16 -15
- package/lib/cjs/migrations/Migration.cjs.map +1 -0
- package/lib/cjs/migrations/MigrationService.cjs +38 -37
- package/lib/cjs/migrations/MigrationService.cjs.map +1 -0
- package/lib/cjs/migrations/MigrationTaskBuilder.cjs +3 -2
- package/lib/cjs/migrations/MigrationTaskBuilder.cjs.map +1 -0
- package/lib/cjs/migrations/MigrationTasks.cjs +22 -17
- package/lib/cjs/migrations/MigrationTasks.cjs.map +1 -0
- package/lib/cjs/migrations/MigrationVersioning.cjs +1 -0
- package/lib/cjs/migrations/MigrationVersioning.cjs.map +1 -0
- package/lib/cjs/migrations/SemverMigrationVersioning.cjs +1 -0
- package/lib/cjs/migrations/SemverMigrationVersioning.cjs.map +1 -0
- package/lib/cjs/migrations/StandardMigrationVersioning.cjs +1 -0
- package/lib/cjs/migrations/StandardMigrationVersioning.cjs.map +1 -0
- package/lib/cjs/migrations/constants.cjs +3 -2
- package/lib/cjs/migrations/constants.cjs.map +1 -0
- package/lib/cjs/migrations/decorators.cjs +10 -9
- package/lib/cjs/migrations/decorators.cjs.map +1 -0
- package/lib/cjs/migrations/index.cjs +6 -5
- package/lib/cjs/migrations/index.cjs.map +1 -0
- package/lib/cjs/migrations/types.cjs +1 -0
- package/lib/cjs/migrations/types.cjs.map +1 -0
- package/lib/cjs/model/BaseModel.cjs +14 -8
- package/lib/cjs/model/BaseModel.cjs.map +1 -0
- package/lib/cjs/model/SequenceModel.cjs +19 -13
- package/lib/cjs/model/SequenceModel.cjs.map +1 -0
- package/lib/cjs/model/construction.cjs +27 -26
- package/lib/cjs/model/construction.cjs.map +1 -0
- package/lib/cjs/model/decorators.cjs +48 -47
- package/lib/cjs/model/decorators.cjs.map +1 -0
- package/lib/cjs/model/index.cjs +1 -0
- package/lib/cjs/model/index.cjs.map +1 -0
- package/lib/cjs/model/indexing.cjs +6 -5
- package/lib/cjs/model/indexing.cjs.map +1 -0
- package/lib/cjs/model/types.cjs +1 -0
- package/lib/cjs/model/types.cjs.map +1 -0
- package/lib/cjs/overrides/Metadata.cjs +1 -0
- package/lib/cjs/overrides/Metadata.cjs.map +1 -0
- package/lib/cjs/overrides/Model.cjs +1 -0
- package/lib/cjs/overrides/Model.cjs.map +1 -0
- package/lib/cjs/overrides/ModelBuilder.cjs +1 -0
- package/lib/cjs/overrides/ModelBuilder.cjs.map +1 -0
- package/lib/cjs/overrides/index.cjs +1 -0
- package/lib/cjs/overrides/index.cjs.map +1 -0
- package/lib/cjs/overrides/injectables.cjs +1 -0
- package/lib/cjs/overrides/injectables.cjs.map +1 -0
- package/lib/cjs/overrides/overrides.cjs +22 -21
- package/lib/cjs/overrides/overrides.cjs.map +1 -0
- package/lib/cjs/persistence/Adapter.cjs +47 -41
- package/lib/cjs/persistence/Adapter.cjs.map +1 -0
- package/lib/cjs/persistence/Context.cjs +10 -7
- package/lib/cjs/persistence/Context.cjs.map +1 -0
- package/lib/cjs/persistence/ContextLock.cjs +1 -0
- package/lib/cjs/persistence/ContextLock.cjs.map +1 -0
- package/lib/cjs/persistence/Dispatch.cjs +15 -14
- package/lib/cjs/persistence/Dispatch.cjs.map +1 -0
- package/lib/cjs/persistence/ObserverHandler.cjs +3 -2
- package/lib/cjs/persistence/ObserverHandler.cjs.map +1 -0
- package/lib/cjs/persistence/Sequence.cjs +19 -18
- package/lib/cjs/persistence/Sequence.cjs.map +1 -0
- package/lib/cjs/persistence/constants.cjs +14 -21
- package/lib/cjs/persistence/constants.cjs.map +1 -0
- package/lib/cjs/persistence/decorators.cjs +6 -5
- package/lib/cjs/persistence/decorators.cjs.map +1 -0
- package/lib/cjs/persistence/errors.cjs +1 -0
- package/lib/cjs/persistence/errors.cjs.map +1 -0
- package/lib/cjs/persistence/event-filters.cjs +5 -4
- package/lib/cjs/persistence/event-filters.cjs.map +1 -0
- package/lib/cjs/persistence/generators.cjs +1 -0
- package/lib/cjs/persistence/generators.cjs.map +1 -0
- package/lib/cjs/persistence/index.cjs +1 -0
- package/lib/cjs/persistence/index.cjs.map +1 -0
- package/lib/cjs/persistence/transactions.cjs +9 -8
- package/lib/cjs/persistence/transactions.cjs.map +1 -0
- package/lib/cjs/persistence/types.cjs +1 -0
- package/lib/cjs/persistence/types.cjs.map +1 -0
- package/lib/cjs/query/Condition.cjs +173 -165
- package/lib/cjs/query/Condition.cjs.map +1 -0
- package/lib/cjs/query/MethodQueryBuilder.cjs +37 -34
- package/lib/cjs/query/MethodQueryBuilder.cjs.map +1 -0
- package/lib/cjs/query/Paginator.cjs +28 -27
- package/lib/cjs/query/Paginator.cjs.map +1 -0
- package/lib/cjs/query/Statement.cjs +90 -84
- package/lib/cjs/query/Statement.cjs.map +1 -0
- package/lib/cjs/query/constants.cjs +5 -21
- package/lib/cjs/query/constants.cjs.map +1 -0
- package/lib/cjs/query/decorators.cjs +16 -15
- package/lib/cjs/query/decorators.cjs.map +1 -0
- package/lib/cjs/query/errors.cjs +1 -0
- package/lib/cjs/query/errors.cjs.map +1 -0
- package/lib/cjs/query/index.cjs +1 -0
- package/lib/cjs/query/index.cjs.map +1 -0
- package/lib/cjs/query/options.cjs +1 -0
- package/lib/cjs/query/options.cjs.map +1 -0
- package/lib/cjs/query/selectors.cjs +1 -0
- package/lib/cjs/query/selectors.cjs.map +1 -0
- package/lib/cjs/query/types.cjs +2 -13
- package/lib/cjs/query/types.cjs.map +1 -0
- package/lib/cjs/query/utils.cjs +10 -9
- package/lib/cjs/query/utils.cjs.map +1 -0
- package/lib/cjs/ram/RamAdapter.cjs +21 -20
- package/lib/cjs/ram/RamAdapter.cjs.map +1 -0
- package/lib/cjs/ram/RamPaginator.cjs +3 -2
- package/lib/cjs/ram/RamPaginator.cjs.map +1 -0
- package/lib/cjs/ram/RamStatement.cjs +38 -37
- package/lib/cjs/ram/RamStatement.cjs.map +1 -0
- package/lib/cjs/ram/constants.cjs +1 -0
- package/lib/cjs/ram/constants.cjs.map +1 -0
- package/lib/cjs/ram/handlers.cjs +3 -2
- package/lib/cjs/ram/handlers.cjs.map +1 -0
- package/lib/cjs/ram/index.cjs +8 -7
- package/lib/cjs/ram/index.cjs.map +1 -0
- package/lib/cjs/ram/types.cjs +1 -0
- package/lib/cjs/ram/types.cjs.map +1 -0
- package/lib/cjs/repository/Repository.cjs +85 -79
- package/lib/cjs/repository/Repository.cjs.map +1 -0
- package/lib/cjs/repository/constants.cjs +5 -20
- package/lib/cjs/repository/constants.cjs.map +1 -0
- package/lib/cjs/repository/decorators.cjs +7 -6
- package/lib/cjs/repository/decorators.cjs.map +1 -0
- package/lib/cjs/repository/errors.cjs +1 -0
- package/lib/cjs/repository/errors.cjs.map +1 -0
- package/lib/cjs/repository/index.cjs +1 -0
- package/lib/cjs/repository/index.cjs.map +1 -0
- package/lib/cjs/repository/injectables.cjs +14 -13
- package/lib/cjs/repository/injectables.cjs.map +1 -0
- package/lib/cjs/repository/types.cjs +1 -0
- package/lib/cjs/repository/types.cjs.map +1 -0
- package/lib/cjs/repository/utils.cjs +3 -2
- package/lib/cjs/repository/utils.cjs.map +1 -0
- package/lib/cjs/services/ModelService.cjs +36 -30
- package/lib/cjs/services/ModelService.cjs.map +1 -0
- package/lib/cjs/services/PersistenceService.cjs +9 -8
- package/lib/cjs/services/PersistenceService.cjs.map +1 -0
- package/lib/cjs/services/index.cjs +1 -0
- package/lib/cjs/services/index.cjs.map +1 -0
- package/lib/cjs/services/services.cjs +37 -31
- package/lib/cjs/services/services.cjs.map +1 -0
- package/lib/cjs/tasks/CleanUpTask.cjs +30 -24
- package/lib/cjs/tasks/CleanUpTask.cjs.map +1 -0
- package/lib/cjs/tasks/TaskContext.cjs +16 -15
- package/lib/cjs/tasks/TaskContext.cjs.map +1 -0
- package/lib/cjs/tasks/TaskEngine.cjs +112 -111
- package/lib/cjs/tasks/TaskEngine.cjs.map +1 -0
- package/lib/cjs/tasks/TaskErrors.cjs +1 -0
- package/lib/cjs/tasks/TaskErrors.cjs.map +1 -0
- package/lib/cjs/tasks/TaskEventBus.cjs +7 -6
- package/lib/cjs/tasks/TaskEventBus.cjs.map +1 -0
- package/lib/cjs/tasks/TaskEventService.cjs +8 -7
- package/lib/cjs/tasks/TaskEventService.cjs.map +1 -0
- package/lib/cjs/tasks/TaskHandler.cjs +5 -4
- package/lib/cjs/tasks/TaskHandler.cjs.map +1 -0
- package/lib/cjs/tasks/TaskHandlerRegistry.cjs +1 -0
- package/lib/cjs/tasks/TaskHandlerRegistry.cjs.map +1 -0
- package/lib/cjs/tasks/TaskService.cjs +43 -37
- package/lib/cjs/tasks/TaskService.cjs.map +1 -0
- package/lib/cjs/tasks/TaskStateChangeError.cjs +1 -0
- package/lib/cjs/tasks/TaskStateChangeError.cjs.map +1 -0
- package/lib/cjs/tasks/TaskTracker.cjs +62 -61
- package/lib/cjs/tasks/TaskTracker.cjs.map +1 -0
- package/lib/cjs/tasks/builder.cjs +30 -24
- package/lib/cjs/tasks/builder.cjs.map +1 -0
- package/lib/cjs/tasks/constants.cjs +6 -10
- package/lib/cjs/tasks/constants.cjs.map +1 -0
- package/lib/cjs/tasks/decorators.cjs +5 -4
- package/lib/cjs/tasks/decorators.cjs.map +1 -0
- package/lib/cjs/tasks/index.cjs +6 -5
- package/lib/cjs/tasks/index.cjs.map +1 -0
- package/lib/cjs/tasks/logging.cjs +12 -11
- package/lib/cjs/tasks/logging.cjs.map +1 -0
- package/lib/cjs/tasks/models/TaskBackoffModel.cjs +16 -10
- package/lib/cjs/tasks/models/TaskBackoffModel.cjs.map +1 -0
- package/lib/cjs/tasks/models/TaskErrorModel.cjs +11 -5
- package/lib/cjs/tasks/models/TaskErrorModel.cjs.map +1 -0
- package/lib/cjs/tasks/models/TaskEventModel.cjs +29 -23
- package/lib/cjs/tasks/models/TaskEventModel.cjs.map +1 -0
- package/lib/cjs/tasks/models/TaskIOSerializer.cjs +4 -3
- package/lib/cjs/tasks/models/TaskIOSerializer.cjs.map +1 -0
- package/lib/cjs/tasks/models/TaskLogEntryModel.cjs +11 -5
- package/lib/cjs/tasks/models/TaskLogEntryModel.cjs.map +1 -0
- package/lib/cjs/tasks/models/TaskModel.cjs +72 -66
- package/lib/cjs/tasks/models/TaskModel.cjs.map +1 -0
- package/lib/cjs/tasks/models/TaskStepResultModel.cjs +14 -8
- package/lib/cjs/tasks/models/TaskStepResultModel.cjs.map +1 -0
- package/lib/cjs/tasks/models/TaskStepSpecModel.cjs +11 -5
- package/lib/cjs/tasks/models/TaskStepSpecModel.cjs.map +1 -0
- package/lib/cjs/tasks/models/index.cjs +1 -0
- package/lib/cjs/tasks/models/index.cjs.map +1 -0
- package/lib/cjs/tasks/types.cjs +1 -0
- package/lib/cjs/tasks/types.cjs.map +1 -0
- package/lib/cjs/tasks/utils.cjs +6 -5
- package/lib/cjs/tasks/utils.cjs.map +1 -0
- package/lib/cjs/utils/ContextualLoggedClass.cjs +5 -4
- package/lib/cjs/utils/ContextualLoggedClass.cjs.map +1 -0
- package/lib/cjs/utils/decorators.cjs +9 -8
- package/lib/cjs/utils/decorators.cjs.map +1 -0
- package/lib/cjs/utils/errors.cjs +1 -0
- package/lib/cjs/utils/errors.cjs.map +1 -0
- package/lib/cjs/utils/index.cjs +1 -0
- package/lib/cjs/utils/index.cjs.map +1 -0
- package/lib/cjs/utils/throttling.cjs +4 -3
- package/lib/cjs/utils/throttling.cjs.map +1 -0
- package/lib/cjs/utils/types.cjs +1 -0
- package/lib/cjs/utils/types.cjs.map +1 -0
- package/lib/cjs/utils/utils.cjs +3 -2
- package/lib/cjs/utils/utils.cjs.map +1 -0
- package/lib/cjs/workers/TaskEngine.cjs +30 -29
- package/lib/cjs/workers/TaskEngine.cjs.map +1 -0
- package/lib/cjs/workers/WorkThreadEnvironment.cjs +1 -0
- package/lib/cjs/workers/WorkThreadEnvironment.cjs.map +1 -0
- package/lib/cjs/workers/index.cjs +1 -0
- package/lib/cjs/workers/index.cjs.map +1 -0
- package/lib/cjs/workers/messages.cjs +1 -0
- package/lib/cjs/workers/messages.cjs.map +1 -0
- package/lib/cjs/workers/types.cjs +1 -0
- package/lib/cjs/workers/types.cjs.map +1 -0
- package/lib/cjs/workers/workerThread.cjs +18 -17
- package/lib/cjs/workers/workerThread.cjs.map +1 -0
- package/lib/esm/index.js +1 -1
- package/lib/types/auth/constants.d.cts +5 -0
- package/lib/types/auth/constants.d.mts +5 -0
- package/lib/types/auth/decorators.d.cts +5 -0
- package/lib/types/auth/decorators.d.mts +5 -0
- package/lib/types/auth/index.d.cts +2 -0
- package/lib/types/auth/index.d.mts +2 -0
- package/lib/types/fs/FilesystemAdapter.d.cts +70 -0
- package/lib/types/fs/FilesystemAdapter.d.mts +70 -0
- package/lib/types/fs/FsDispatch.d.cts +7 -0
- package/lib/types/fs/FsDispatch.d.mts +7 -0
- package/lib/types/fs/helpers.d.cts +17 -0
- package/lib/types/fs/helpers.d.mts +17 -0
- package/lib/types/fs/index.d.cts +4 -0
- package/lib/types/fs/index.d.mts +4 -0
- package/lib/types/fs/indexStore.d.cts +28 -0
- package/lib/types/fs/indexStore.d.mts +28 -0
- package/lib/types/fs/locks/FilesystemLock.d.cts +13 -0
- package/lib/types/fs/locks/FilesystemLock.d.mts +13 -0
- package/lib/types/fs/locks/FilesystemMultiLock.d.cts +8 -0
- package/lib/types/fs/locks/FilesystemMultiLock.d.mts +8 -0
- package/lib/types/fs/types.d.cts +40 -0
- package/lib/types/fs/types.d.mts +40 -0
- package/lib/types/identity/decorators.d.cts +72 -0
- package/lib/types/identity/decorators.d.mts +72 -0
- package/lib/types/identity/index.d.cts +6 -0
- package/lib/types/identity/index.d.mts +6 -0
- package/lib/types/index.d.cts +34 -0
- package/lib/types/index.d.mts +34 -0
- package/lib/types/index.d.ts +1 -1
- package/lib/types/interfaces/ContextuallyLogged.d.cts +8 -0
- package/lib/types/interfaces/ContextuallyLogged.d.mts +8 -0
- package/lib/types/interfaces/ErrorParser.d.cts +16 -0
- package/lib/types/interfaces/ErrorParser.d.mts +16 -0
- package/lib/types/interfaces/Executor.d.cts +16 -0
- package/lib/types/interfaces/Executor.d.mts +16 -0
- package/lib/types/interfaces/Observable.d.cts +33 -0
- package/lib/types/interfaces/Observable.d.mts +33 -0
- package/lib/types/interfaces/Observer.d.cts +15 -0
- package/lib/types/interfaces/Observer.d.mts +15 -0
- package/lib/types/interfaces/Paginatable.d.cts +20 -0
- package/lib/types/interfaces/Paginatable.d.mts +20 -0
- package/lib/types/interfaces/Queriable.d.cts +47 -0
- package/lib/types/interfaces/Queriable.d.mts +47 -0
- package/lib/types/interfaces/RawExecutor.d.cts +28 -0
- package/lib/types/interfaces/RawExecutor.d.mts +28 -0
- package/lib/types/interfaces/SequenceOptions.d.cts +79 -0
- package/lib/types/interfaces/SequenceOptions.d.mts +79 -0
- package/lib/types/interfaces/index.d.cts +12 -0
- package/lib/types/interfaces/index.d.mts +12 -0
- package/lib/types/migrations/Migration.d.cts +19 -0
- package/lib/types/migrations/Migration.d.mts +19 -0
- package/lib/types/migrations/MigrationService.d.cts +63 -0
- package/lib/types/migrations/MigrationService.d.mts +63 -0
- package/lib/types/migrations/MigrationTaskBuilder.d.cts +10 -0
- package/lib/types/migrations/MigrationTaskBuilder.d.mts +10 -0
- package/lib/types/migrations/MigrationTasks.d.cts +9 -0
- package/lib/types/migrations/MigrationTasks.d.mts +9 -0
- package/lib/types/migrations/MigrationVersioning.d.cts +7 -0
- package/lib/types/migrations/MigrationVersioning.d.mts +7 -0
- package/lib/types/migrations/SemverMigrationVersioning.d.cts +10 -0
- package/lib/types/migrations/SemverMigrationVersioning.d.mts +10 -0
- package/lib/types/migrations/StandardMigrationVersioning.d.cts +12 -0
- package/lib/types/migrations/StandardMigrationVersioning.d.mts +12 -0
- package/lib/types/migrations/constants.d.cts +2 -0
- package/lib/types/migrations/constants.d.mts +2 -0
- package/lib/types/migrations/decorators.d.cts +12 -0
- package/lib/types/migrations/decorators.d.mts +12 -0
- package/lib/types/migrations/index.d.cts +15 -0
- package/lib/types/migrations/index.d.mts +15 -0
- package/lib/types/migrations/types.d.cts +46 -0
- package/lib/types/migrations/types.d.mts +46 -0
- package/lib/types/model/BaseModel.d.cts +37 -0
- package/lib/types/model/BaseModel.d.mts +37 -0
- package/lib/types/model/SequenceModel.d.cts +32 -0
- package/lib/types/model/SequenceModel.d.mts +32 -0
- package/lib/types/model/construction.d.cts +455 -0
- package/lib/types/model/construction.d.mts +455 -0
- package/lib/types/model/decorators.d.cts +237 -0
- package/lib/types/model/decorators.d.mts +237 -0
- package/lib/types/model/index.d.cts +11 -0
- package/lib/types/model/index.d.mts +11 -0
- package/lib/types/model/indexing.d.cts +20 -0
- package/lib/types/model/indexing.d.mts +20 -0
- package/lib/types/model/types.d.cts +60 -0
- package/lib/types/model/types.d.mts +60 -0
- package/lib/types/overrides/Metadata.d.cts +22 -0
- package/lib/types/overrides/Metadata.d.mts +22 -0
- package/lib/types/overrides/Model.d.cts +94 -0
- package/lib/types/overrides/Model.d.mts +94 -0
- package/lib/types/overrides/ModelBuilder.d.cts +31 -0
- package/lib/types/overrides/ModelBuilder.d.mts +31 -0
- package/lib/types/overrides/index.d.cts +11 -0
- package/lib/types/overrides/index.d.mts +11 -0
- package/lib/types/overrides/injectables.d.cts +10 -0
- package/lib/types/overrides/injectables.d.mts +10 -0
- package/lib/types/overrides/overrides.d.cts +1 -0
- package/lib/types/overrides/overrides.d.mts +1 -0
- package/lib/types/persistence/Adapter.d.cts +469 -0
- package/lib/types/persistence/Adapter.d.mts +469 -0
- package/lib/types/persistence/Context.d.cts +16 -0
- package/lib/types/persistence/Context.d.mts +16 -0
- package/lib/types/persistence/ContextLock.d.cts +18 -0
- package/lib/types/persistence/ContextLock.d.mts +18 -0
- package/lib/types/persistence/Dispatch.d.cts +128 -0
- package/lib/types/persistence/Dispatch.d.mts +128 -0
- package/lib/types/persistence/ObserverHandler.d.cts +111 -0
- package/lib/types/persistence/ObserverHandler.d.mts +111 -0
- package/lib/types/persistence/Sequence.d.cts +126 -0
- package/lib/types/persistence/Sequence.d.mts +126 -0
- package/lib/types/persistence/constants.d.cts +74 -0
- package/lib/types/persistence/constants.d.mts +74 -0
- package/lib/types/persistence/decorators.d.cts +28 -0
- package/lib/types/persistence/decorators.d.mts +28 -0
- package/lib/types/persistence/errors.d.cts +33 -0
- package/lib/types/persistence/errors.d.mts +33 -0
- package/lib/types/persistence/event-filters.d.cts +20 -0
- package/lib/types/persistence/event-filters.d.mts +20 -0
- package/lib/types/persistence/generators.d.cts +14 -0
- package/lib/types/persistence/generators.d.mts +14 -0
- package/lib/types/persistence/index.d.cts +18 -0
- package/lib/types/persistence/index.d.mts +18 -0
- package/lib/types/persistence/transactions.d.cts +4 -0
- package/lib/types/persistence/transactions.d.mts +4 -0
- package/lib/types/persistence/types.d.cts +86 -0
- package/lib/types/persistence/types.d.mts +86 -0
- package/lib/types/query/Condition.d.cts +131 -0
- package/lib/types/query/Condition.d.mts +131 -0
- package/lib/types/query/MethodQueryBuilder.d.cts +185 -0
- package/lib/types/query/MethodQueryBuilder.d.mts +185 -0
- package/lib/types/query/Paginator.d.cts +105 -0
- package/lib/types/query/Paginator.d.mts +105 -0
- package/lib/types/query/Statement.d.cts +136 -0
- package/lib/types/query/Statement.d.mts +136 -0
- package/lib/types/query/constants.d.cts +69 -0
- package/lib/types/query/constants.d.mts +69 -0
- package/lib/types/query/decorators.d.cts +8 -0
- package/lib/types/query/decorators.d.mts +8 -0
- package/lib/types/query/errors.d.cts +21 -0
- package/lib/types/query/errors.d.mts +21 -0
- package/lib/types/query/index.d.cts +16 -0
- package/lib/types/query/index.d.mts +16 -0
- package/lib/types/query/options.d.cts +393 -0
- package/lib/types/query/options.d.mts +393 -0
- package/lib/types/query/selectors.d.cts +39 -0
- package/lib/types/query/selectors.d.mts +39 -0
- package/lib/types/query/types.d.cts +158 -0
- package/lib/types/query/types.d.mts +158 -0
- package/lib/types/query/utils.d.cts +40 -0
- package/lib/types/query/utils.d.mts +40 -0
- package/lib/types/ram/RamAdapter.d.cts +341 -0
- package/lib/types/ram/RamAdapter.d.mts +341 -0
- package/lib/types/ram/RamPaginator.d.cts +54 -0
- package/lib/types/ram/RamPaginator.d.mts +54 -0
- package/lib/types/ram/RamStatement.d.cts +92 -0
- package/lib/types/ram/RamStatement.d.mts +92 -0
- package/lib/types/ram/constants.d.cts +8 -0
- package/lib/types/ram/constants.d.mts +8 -0
- package/lib/types/ram/handlers.d.cts +24 -0
- package/lib/types/ram/handlers.d.mts +24 -0
- package/lib/types/ram/index.d.cts +12 -0
- package/lib/types/ram/index.d.mts +12 -0
- package/lib/types/ram/types.d.cts +50 -0
- package/lib/types/ram/types.d.mts +50 -0
- package/lib/types/repository/Repository.d.cts +501 -0
- package/lib/types/repository/Repository.d.mts +501 -0
- package/lib/types/repository/constants.d.cts +36 -0
- package/lib/types/repository/constants.d.mts +36 -0
- package/lib/types/repository/decorators.d.cts +30 -0
- package/lib/types/repository/decorators.d.mts +30 -0
- package/lib/types/repository/errors.d.cts +19 -0
- package/lib/types/repository/errors.d.mts +19 -0
- package/lib/types/repository/index.d.cts +12 -0
- package/lib/types/repository/index.d.mts +12 -0
- package/lib/types/repository/injectables.d.cts +95 -0
- package/lib/types/repository/injectables.d.mts +95 -0
- package/lib/types/repository/types.d.cts +28 -0
- package/lib/types/repository/types.d.mts +28 -0
- package/lib/types/repository/utils.d.cts +36 -0
- package/lib/types/repository/utils.d.mts +36 -0
- package/lib/types/services/ModelService.d.cts +45 -0
- package/lib/types/services/ModelService.d.mts +45 -0
- package/lib/types/services/PersistenceService.d.cts +17 -0
- package/lib/types/services/PersistenceService.d.mts +17 -0
- package/lib/types/services/index.d.cts +8 -0
- package/lib/types/services/index.d.mts +8 -0
- package/lib/types/services/services.d.cts +96 -0
- package/lib/types/services/services.d.mts +96 -0
- package/lib/types/tasks/CleanUpTask.d.cts +15 -0
- package/lib/types/tasks/CleanUpTask.d.mts +15 -0
- package/lib/types/tasks/TaskContext.d.cts +30 -0
- package/lib/types/tasks/TaskContext.d.mts +30 -0
- package/lib/types/tasks/TaskEngine.d.cts +97 -0
- package/lib/types/tasks/TaskEngine.d.mts +97 -0
- package/lib/types/tasks/TaskErrors.d.cts +65 -0
- package/lib/types/tasks/TaskErrors.d.mts +65 -0
- package/lib/types/tasks/TaskEventBus.d.cts +17 -0
- package/lib/types/tasks/TaskEventBus.d.mts +17 -0
- package/lib/types/tasks/TaskEventService.d.cts +7 -0
- package/lib/types/tasks/TaskEventService.d.mts +7 -0
- package/lib/types/tasks/TaskHandler.d.cts +12 -0
- package/lib/types/tasks/TaskHandler.d.mts +12 -0
- package/lib/types/tasks/TaskHandlerRegistry.d.cts +8 -0
- package/lib/types/tasks/TaskHandlerRegistry.d.mts +8 -0
- package/lib/types/tasks/TaskService.d.cts +65 -0
- package/lib/types/tasks/TaskService.d.mts +65 -0
- package/lib/types/tasks/TaskStateChangeError.d.cts +11 -0
- package/lib/types/tasks/TaskStateChangeError.d.mts +11 -0
- package/lib/types/tasks/TaskTracker.d.cts +47 -0
- package/lib/types/tasks/TaskTracker.d.mts +47 -0
- package/lib/types/tasks/builder.d.cts +72 -0
- package/lib/types/tasks/builder.d.mts +72 -0
- package/lib/types/tasks/constants.d.cts +31 -0
- package/lib/types/tasks/constants.d.mts +31 -0
- package/lib/types/tasks/decorators.d.cts +4 -0
- package/lib/types/tasks/decorators.d.mts +4 -0
- package/lib/types/tasks/index.d.cts +23 -0
- package/lib/types/tasks/index.d.mts +23 -0
- package/lib/types/tasks/logging.d.cts +31 -0
- package/lib/types/tasks/logging.d.mts +31 -0
- package/lib/types/tasks/models/TaskBackoffModel.d.cts +9 -0
- package/lib/types/tasks/models/TaskBackoffModel.d.mts +9 -0
- package/lib/types/tasks/models/TaskErrorModel.d.cts +8 -0
- package/lib/types/tasks/models/TaskErrorModel.d.mts +8 -0
- package/lib/types/tasks/models/TaskEventModel.d.cts +11 -0
- package/lib/types/tasks/models/TaskEventModel.d.mts +11 -0
- package/lib/types/tasks/models/TaskIOSerializer.d.cts +33 -0
- package/lib/types/tasks/models/TaskIOSerializer.d.mts +33 -0
- package/lib/types/tasks/models/TaskLogEntryModel.d.cts +10 -0
- package/lib/types/tasks/models/TaskLogEntryModel.d.mts +10 -0
- package/lib/types/tasks/models/TaskModel.d.cts +43 -0
- package/lib/types/tasks/models/TaskModel.d.mts +43 -0
- package/lib/types/tasks/models/TaskStepResultModel.d.cts +9 -0
- package/lib/types/tasks/models/TaskStepResultModel.d.mts +9 -0
- package/lib/types/tasks/models/TaskStepSpecModel.d.cts +9 -0
- package/lib/types/tasks/models/TaskStepSpecModel.d.mts +9 -0
- package/lib/types/tasks/models/index.d.cts +8 -0
- package/lib/types/tasks/models/index.d.mts +8 -0
- package/lib/types/tasks/types.d.cts +71 -0
- package/lib/types/tasks/types.d.mts +71 -0
- package/lib/types/tasks/utils.d.cts +5 -0
- package/lib/types/tasks/utils.d.mts +5 -0
- package/lib/types/utils/ContextualLoggedClass.d.cts +37 -0
- package/lib/types/utils/ContextualLoggedClass.d.mts +37 -0
- package/lib/types/utils/decorators.d.cts +27 -0
- package/lib/types/utils/decorators.d.mts +27 -0
- package/lib/types/utils/errors.d.cts +56 -0
- package/lib/types/utils/errors.d.mts +56 -0
- package/lib/types/utils/index.d.cts +11 -0
- package/lib/types/utils/index.d.mts +11 -0
- package/lib/types/utils/throttling.d.cts +9 -0
- package/lib/types/utils/throttling.d.mts +9 -0
- package/lib/types/utils/types.d.cts +23 -0
- package/lib/types/utils/types.d.mts +23 -0
- package/lib/types/utils/utils.d.cts +22 -0
- package/lib/types/utils/utils.d.mts +22 -0
- package/lib/types/workers/TaskEngine.d.cts +40 -0
- package/lib/types/workers/TaskEngine.d.mts +40 -0
- package/lib/types/workers/WorkThreadEnvironment.d.cts +35 -0
- package/lib/types/workers/WorkThreadEnvironment.d.mts +35 -0
- package/lib/types/workers/index.d.cts +5 -0
- package/lib/types/workers/index.d.mts +5 -0
- package/lib/types/workers/messages.d.cts +69 -0
- package/lib/types/workers/messages.d.mts +69 -0
- package/lib/types/workers/types.d.cts +41 -0
- package/lib/types/workers/types.d.mts +41 -0
- package/lib/types/workers/workerThread.d.cts +1 -0
- package/lib/types/workers/workerThread.d.mts +1 -0
- package/package.json +4 -4
- package/lib/cjs/auth/constants.js.map +0 -1
- package/lib/cjs/auth/decorators.js.map +0 -1
- package/lib/cjs/auth/index.js.map +0 -1
- package/lib/cjs/fs/FilesystemAdapter.js.map +0 -1
- package/lib/cjs/fs/FsDispatch.js.map +0 -1
- package/lib/cjs/fs/helpers.js.map +0 -1
- package/lib/cjs/fs/index.js.map +0 -1
- package/lib/cjs/fs/indexStore.js.map +0 -1
- package/lib/cjs/fs/locks/FilesystemLock.js.map +0 -1
- package/lib/cjs/fs/locks/FilesystemMultiLock.js.map +0 -1
- package/lib/cjs/fs/types.js.map +0 -1
- package/lib/cjs/identity/decorators.js.map +0 -1
- package/lib/cjs/identity/index.js.map +0 -1
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/interfaces/ContextuallyLogged.js.map +0 -1
- package/lib/cjs/interfaces/ErrorParser.js.map +0 -1
- package/lib/cjs/interfaces/Executor.js.map +0 -1
- package/lib/cjs/interfaces/Observable.js.map +0 -1
- package/lib/cjs/interfaces/Observer.js.map +0 -1
- package/lib/cjs/interfaces/Paginatable.js.map +0 -1
- package/lib/cjs/interfaces/Queriable.js.map +0 -1
- package/lib/cjs/interfaces/RawExecutor.js.map +0 -1
- package/lib/cjs/interfaces/SequenceOptions.js.map +0 -1
- package/lib/cjs/interfaces/index.js.map +0 -1
- package/lib/cjs/migrations/Migration.js.map +0 -1
- package/lib/cjs/migrations/MigrationService.js.map +0 -1
- package/lib/cjs/migrations/MigrationTaskBuilder.js.map +0 -1
- package/lib/cjs/migrations/MigrationTasks.js.map +0 -1
- package/lib/cjs/migrations/MigrationVersioning.js.map +0 -1
- package/lib/cjs/migrations/SemverMigrationVersioning.js.map +0 -1
- package/lib/cjs/migrations/StandardMigrationVersioning.js.map +0 -1
- package/lib/cjs/migrations/constants.js.map +0 -1
- package/lib/cjs/migrations/decorators.js.map +0 -1
- package/lib/cjs/migrations/index.js.map +0 -1
- package/lib/cjs/migrations/types.js.map +0 -1
- package/lib/cjs/model/BaseModel.js.map +0 -1
- package/lib/cjs/model/SequenceModel.js.map +0 -1
- package/lib/cjs/model/construction.js.map +0 -1
- package/lib/cjs/model/decorators.js.map +0 -1
- package/lib/cjs/model/index.js.map +0 -1
- package/lib/cjs/model/indexing.js.map +0 -1
- package/lib/cjs/model/types.js.map +0 -1
- package/lib/cjs/overrides/Metadata.js.map +0 -1
- package/lib/cjs/overrides/Model.js.map +0 -1
- package/lib/cjs/overrides/ModelBuilder.js.map +0 -1
- package/lib/cjs/overrides/index.js.map +0 -1
- package/lib/cjs/overrides/injectables.js.map +0 -1
- package/lib/cjs/overrides/overrides.js.map +0 -1
- package/lib/cjs/persistence/Adapter.js.map +0 -1
- package/lib/cjs/persistence/Context.js.map +0 -1
- package/lib/cjs/persistence/ContextLock.js.map +0 -1
- package/lib/cjs/persistence/Dispatch.js.map +0 -1
- package/lib/cjs/persistence/ObserverHandler.js.map +0 -1
- package/lib/cjs/persistence/Sequence.js.map +0 -1
- package/lib/cjs/persistence/constants.js.map +0 -1
- package/lib/cjs/persistence/decorators.js.map +0 -1
- package/lib/cjs/persistence/errors.js.map +0 -1
- package/lib/cjs/persistence/event-filters.js.map +0 -1
- package/lib/cjs/persistence/generators.js.map +0 -1
- package/lib/cjs/persistence/index.js.map +0 -1
- package/lib/cjs/persistence/transactions.js.map +0 -1
- package/lib/cjs/persistence/types.js.map +0 -1
- package/lib/cjs/query/Condition.js.map +0 -1
- package/lib/cjs/query/MethodQueryBuilder.js.map +0 -1
- package/lib/cjs/query/Paginator.js.map +0 -1
- package/lib/cjs/query/Statement.js.map +0 -1
- package/lib/cjs/query/constants.js.map +0 -1
- package/lib/cjs/query/decorators.js.map +0 -1
- package/lib/cjs/query/errors.js.map +0 -1
- package/lib/cjs/query/index.js.map +0 -1
- package/lib/cjs/query/options.js.map +0 -1
- package/lib/cjs/query/selectors.js.map +0 -1
- package/lib/cjs/query/types.js.map +0 -1
- package/lib/cjs/query/utils.js.map +0 -1
- package/lib/cjs/ram/RamAdapter.js.map +0 -1
- package/lib/cjs/ram/RamPaginator.js.map +0 -1
- package/lib/cjs/ram/RamStatement.js.map +0 -1
- package/lib/cjs/ram/constants.js.map +0 -1
- package/lib/cjs/ram/handlers.js.map +0 -1
- package/lib/cjs/ram/index.js.map +0 -1
- package/lib/cjs/ram/types.js.map +0 -1
- package/lib/cjs/repository/Repository.js.map +0 -1
- package/lib/cjs/repository/constants.js.map +0 -1
- package/lib/cjs/repository/decorators.js.map +0 -1
- package/lib/cjs/repository/errors.js.map +0 -1
- package/lib/cjs/repository/index.js.map +0 -1
- package/lib/cjs/repository/injectables.js.map +0 -1
- package/lib/cjs/repository/types.js.map +0 -1
- package/lib/cjs/repository/utils.js.map +0 -1
- package/lib/cjs/services/ModelService.js.map +0 -1
- package/lib/cjs/services/PersistenceService.js.map +0 -1
- package/lib/cjs/services/index.js.map +0 -1
- package/lib/cjs/services/services.js.map +0 -1
- package/lib/cjs/tasks/CleanUpTask.js.map +0 -1
- package/lib/cjs/tasks/TaskContext.js.map +0 -1
- package/lib/cjs/tasks/TaskEngine.js.map +0 -1
- package/lib/cjs/tasks/TaskErrors.js.map +0 -1
- package/lib/cjs/tasks/TaskEventBus.js.map +0 -1
- package/lib/cjs/tasks/TaskEventService.js.map +0 -1
- package/lib/cjs/tasks/TaskHandler.js.map +0 -1
- package/lib/cjs/tasks/TaskHandlerRegistry.js.map +0 -1
- package/lib/cjs/tasks/TaskService.js.map +0 -1
- package/lib/cjs/tasks/TaskStateChangeError.js.map +0 -1
- package/lib/cjs/tasks/TaskTracker.js.map +0 -1
- package/lib/cjs/tasks/builder.js.map +0 -1
- package/lib/cjs/tasks/constants.js.map +0 -1
- package/lib/cjs/tasks/decorators.js.map +0 -1
- package/lib/cjs/tasks/index.js.map +0 -1
- package/lib/cjs/tasks/logging.js.map +0 -1
- package/lib/cjs/tasks/models/TaskBackoffModel.js.map +0 -1
- package/lib/cjs/tasks/models/TaskErrorModel.js.map +0 -1
- package/lib/cjs/tasks/models/TaskEventModel.js.map +0 -1
- package/lib/cjs/tasks/models/TaskIOSerializer.js.map +0 -1
- package/lib/cjs/tasks/models/TaskLogEntryModel.js.map +0 -1
- package/lib/cjs/tasks/models/TaskModel.js.map +0 -1
- package/lib/cjs/tasks/models/TaskStepResultModel.js.map +0 -1
- package/lib/cjs/tasks/models/TaskStepSpecModel.js.map +0 -1
- package/lib/cjs/tasks/models/index.js.map +0 -1
- package/lib/cjs/tasks/types.js.map +0 -1
- package/lib/cjs/tasks/utils.js.map +0 -1
- package/lib/cjs/utils/ContextualLoggedClass.js.map +0 -1
- package/lib/cjs/utils/decorators.js.map +0 -1
- package/lib/cjs/utils/errors.js.map +0 -1
- package/lib/cjs/utils/index.js.map +0 -1
- package/lib/cjs/utils/throttling.js.map +0 -1
- package/lib/cjs/utils/types.js.map +0 -1
- package/lib/cjs/utils/utils.js.map +0 -1
- package/lib/cjs/workers/TaskEngine.js.map +0 -1
- package/lib/cjs/workers/WorkThreadEnvironment.js.map +0 -1
- package/lib/cjs/workers/index.js.map +0 -1
- package/lib/cjs/workers/messages.js.map +0 -1
- package/lib/cjs/workers/types.js.map +0 -1
- package/lib/cjs/workers/workerThread.js.map +0 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Model, type ModelArg } from "@decaf-ts/decorator-validation";
|
|
2
|
+
import { TaskEventType } from "../constants.js";
|
|
3
|
+
export declare class TaskEventModel extends Model {
|
|
4
|
+
id: string;
|
|
5
|
+
uuid: string;
|
|
6
|
+
taskId: string;
|
|
7
|
+
ts: Date;
|
|
8
|
+
classification: TaskEventType;
|
|
9
|
+
payload?: any;
|
|
10
|
+
constructor(arg?: ModelArg<TaskEventModel>);
|
|
11
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { JSONSerializer, Model } from "@decaf-ts/decorator-validation";
|
|
2
|
+
export declare class TaskIOSerializer<M extends Model> extends JSONSerializer<M> {
|
|
3
|
+
constructor();
|
|
4
|
+
/**
|
|
5
|
+
* @summary prepares the model for serialization
|
|
6
|
+
* @description returns a shallow copy of the object, containing an enumerable {@link ModelKeys#ANCHOR} property
|
|
7
|
+
* so the object can be recognized upon deserialization
|
|
8
|
+
*
|
|
9
|
+
* @param {any} value
|
|
10
|
+
* @protected
|
|
11
|
+
*/
|
|
12
|
+
protected preSerialize(value: any, ...args: any[]): any;
|
|
13
|
+
/**
|
|
14
|
+
* @summary Rebuilds a model from a serialization
|
|
15
|
+
* @param {string} str
|
|
16
|
+
*
|
|
17
|
+
* @throws {Error} If it fails to parse the string, or to build the model
|
|
18
|
+
*/
|
|
19
|
+
deserialize(str: string, ...args: any[]): M;
|
|
20
|
+
private serializeValue;
|
|
21
|
+
private serializeModel;
|
|
22
|
+
private serializePlain;
|
|
23
|
+
private getMetadata;
|
|
24
|
+
private rebuildValue;
|
|
25
|
+
private rebuildObject;
|
|
26
|
+
/**
|
|
27
|
+
* @summary Serializes a model
|
|
28
|
+
* @param {T} model
|
|
29
|
+
*
|
|
30
|
+
* @throws {Error} if fails to serialize
|
|
31
|
+
*/
|
|
32
|
+
serialize(model: M, ...args: any[]): string;
|
|
33
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { JSONSerializer, Model } from "@decaf-ts/decorator-validation";
|
|
2
|
+
export declare class TaskIOSerializer<M extends Model> extends JSONSerializer<M> {
|
|
3
|
+
constructor();
|
|
4
|
+
/**
|
|
5
|
+
* @summary prepares the model for serialization
|
|
6
|
+
* @description returns a shallow copy of the object, containing an enumerable {@link ModelKeys#ANCHOR} property
|
|
7
|
+
* so the object can be recognized upon deserialization
|
|
8
|
+
*
|
|
9
|
+
* @param {any} value
|
|
10
|
+
* @protected
|
|
11
|
+
*/
|
|
12
|
+
protected preSerialize(value: any, ...args: any[]): any;
|
|
13
|
+
/**
|
|
14
|
+
* @summary Rebuilds a model from a serialization
|
|
15
|
+
* @param {string} str
|
|
16
|
+
*
|
|
17
|
+
* @throws {Error} If it fails to parse the string, or to build the model
|
|
18
|
+
*/
|
|
19
|
+
deserialize(str: string, ...args: any[]): M;
|
|
20
|
+
private serializeValue;
|
|
21
|
+
private serializeModel;
|
|
22
|
+
private serializePlain;
|
|
23
|
+
private getMetadata;
|
|
24
|
+
private rebuildValue;
|
|
25
|
+
private rebuildObject;
|
|
26
|
+
/**
|
|
27
|
+
* @summary Serializes a model
|
|
28
|
+
* @param {T} model
|
|
29
|
+
*
|
|
30
|
+
* @throws {Error} if fails to serialize
|
|
31
|
+
*/
|
|
32
|
+
serialize(model: M, ...args: any[]): string;
|
|
33
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { LogLevel } from "@decaf-ts/logging";
|
|
2
|
+
import { type ModelArg, Model } from "@decaf-ts/decorator-validation";
|
|
3
|
+
export declare class TaskLogEntryModel extends Model {
|
|
4
|
+
ts: Date;
|
|
5
|
+
level: LogLevel;
|
|
6
|
+
step?: number;
|
|
7
|
+
msg: string;
|
|
8
|
+
meta?: any;
|
|
9
|
+
constructor(arg?: ModelArg<TaskLogEntryModel>);
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { LogLevel } from "@decaf-ts/logging";
|
|
2
|
+
import { type ModelArg, Model } from "@decaf-ts/decorator-validation";
|
|
3
|
+
export declare class TaskLogEntryModel extends Model {
|
|
4
|
+
ts: Date;
|
|
5
|
+
level: LogLevel;
|
|
6
|
+
step?: number;
|
|
7
|
+
msg: string;
|
|
8
|
+
meta?: any;
|
|
9
|
+
constructor(arg?: ModelArg<TaskLogEntryModel>);
|
|
10
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Model, type ModelArg } from "@decaf-ts/decorator-validation";
|
|
2
|
+
import { TaskStatus, TaskType } from "../constants.cjs";
|
|
3
|
+
import { TaskErrorModel } from "./TaskErrorModel.cjs";
|
|
4
|
+
import { TaskBackoffModel } from "./TaskBackoffModel.cjs";
|
|
5
|
+
import { TaskStepSpecModel } from "./TaskStepSpecModel.cjs";
|
|
6
|
+
import { TaskStepResultModel } from "./TaskStepResultModel.cjs";
|
|
7
|
+
import { TaskLogEntryModel } from "./TaskLogEntryModel.cjs";
|
|
8
|
+
export declare class TaskModel<INPUT = any, OUTPUT = any> extends Model {
|
|
9
|
+
id: string;
|
|
10
|
+
atomicity: TaskType;
|
|
11
|
+
classification: string;
|
|
12
|
+
name?: string;
|
|
13
|
+
lock?: string;
|
|
14
|
+
status: TaskStatus;
|
|
15
|
+
input?: INPUT;
|
|
16
|
+
output?: OUTPUT;
|
|
17
|
+
error?: TaskErrorModel;
|
|
18
|
+
attempt: number;
|
|
19
|
+
maxAttempts: number;
|
|
20
|
+
backoff: TaskBackoffModel;
|
|
21
|
+
nextRunAt?: Date;
|
|
22
|
+
scheduledTo?: Date;
|
|
23
|
+
dependencies?: string[];
|
|
24
|
+
leaseOwner?: string;
|
|
25
|
+
leaseExpiry?: Date;
|
|
26
|
+
steps?: TaskStepSpecModel[];
|
|
27
|
+
currentStep?: number;
|
|
28
|
+
stepResults?: TaskStepResultModel[];
|
|
29
|
+
logTail?: TaskLogEntryModel[];
|
|
30
|
+
/**
|
|
31
|
+
* @description Creation timestamp for the model
|
|
32
|
+
* @summary Automatically set to the current date and time when the model is created
|
|
33
|
+
*/
|
|
34
|
+
createdAt: Date;
|
|
35
|
+
/**
|
|
36
|
+
* @description Last update timestamp for the model
|
|
37
|
+
* @summary Automatically updated to the current date and time whenever the model is modified
|
|
38
|
+
*/
|
|
39
|
+
updatedAt: Date;
|
|
40
|
+
createdBy: string;
|
|
41
|
+
updatedBy: string;
|
|
42
|
+
constructor(arg?: ModelArg<TaskModel>);
|
|
43
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Model, type ModelArg } from "@decaf-ts/decorator-validation";
|
|
2
|
+
import { TaskStatus, TaskType } from "../constants.js";
|
|
3
|
+
import { TaskErrorModel } from "./TaskErrorModel.js";
|
|
4
|
+
import { TaskBackoffModel } from "./TaskBackoffModel.js";
|
|
5
|
+
import { TaskStepSpecModel } from "./TaskStepSpecModel.js";
|
|
6
|
+
import { TaskStepResultModel } from "./TaskStepResultModel.js";
|
|
7
|
+
import { TaskLogEntryModel } from "./TaskLogEntryModel.js";
|
|
8
|
+
export declare class TaskModel<INPUT = any, OUTPUT = any> extends Model {
|
|
9
|
+
id: string;
|
|
10
|
+
atomicity: TaskType;
|
|
11
|
+
classification: string;
|
|
12
|
+
name?: string;
|
|
13
|
+
lock?: string;
|
|
14
|
+
status: TaskStatus;
|
|
15
|
+
input?: INPUT;
|
|
16
|
+
output?: OUTPUT;
|
|
17
|
+
error?: TaskErrorModel;
|
|
18
|
+
attempt: number;
|
|
19
|
+
maxAttempts: number;
|
|
20
|
+
backoff: TaskBackoffModel;
|
|
21
|
+
nextRunAt?: Date;
|
|
22
|
+
scheduledTo?: Date;
|
|
23
|
+
dependencies?: string[];
|
|
24
|
+
leaseOwner?: string;
|
|
25
|
+
leaseExpiry?: Date;
|
|
26
|
+
steps?: TaskStepSpecModel[];
|
|
27
|
+
currentStep?: number;
|
|
28
|
+
stepResults?: TaskStepResultModel[];
|
|
29
|
+
logTail?: TaskLogEntryModel[];
|
|
30
|
+
/**
|
|
31
|
+
* @description Creation timestamp for the model
|
|
32
|
+
* @summary Automatically set to the current date and time when the model is created
|
|
33
|
+
*/
|
|
34
|
+
createdAt: Date;
|
|
35
|
+
/**
|
|
36
|
+
* @description Last update timestamp for the model
|
|
37
|
+
* @summary Automatically updated to the current date and time whenever the model is modified
|
|
38
|
+
*/
|
|
39
|
+
updatedAt: Date;
|
|
40
|
+
createdBy: string;
|
|
41
|
+
updatedBy: string;
|
|
42
|
+
constructor(arg?: ModelArg<TaskModel>);
|
|
43
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Model, type ModelArg } from "@decaf-ts/decorator-validation";
|
|
2
|
+
import { TaskStatus } from "../constants.cjs";
|
|
3
|
+
import { TaskErrorModel } from "./TaskErrorModel.cjs";
|
|
4
|
+
export declare class TaskStepResultModel extends Model {
|
|
5
|
+
status: TaskStatus;
|
|
6
|
+
output?: any;
|
|
7
|
+
error?: TaskErrorModel;
|
|
8
|
+
constructor(arg?: ModelArg<TaskStepResultModel>);
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Model, type ModelArg } from "@decaf-ts/decorator-validation";
|
|
2
|
+
import { TaskStatus } from "../constants.js";
|
|
3
|
+
import { TaskErrorModel } from "./TaskErrorModel.js";
|
|
4
|
+
export declare class TaskStepResultModel extends Model {
|
|
5
|
+
status: TaskStatus;
|
|
6
|
+
output?: any;
|
|
7
|
+
error?: TaskErrorModel;
|
|
8
|
+
constructor(arg?: ModelArg<TaskStepResultModel>);
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Model, type ModelArg } from "@decaf-ts/decorator-validation";
|
|
2
|
+
export declare class TaskStepSpecModel extends Model {
|
|
3
|
+
classification: string;
|
|
4
|
+
name?: string;
|
|
5
|
+
input?: any;
|
|
6
|
+
lock?: string;
|
|
7
|
+
dependsOn?: string[];
|
|
8
|
+
constructor(arg?: ModelArg<TaskStepSpecModel>);
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Model, type ModelArg } from "@decaf-ts/decorator-validation";
|
|
2
|
+
export declare class TaskStepSpecModel extends Model {
|
|
3
|
+
classification: string;
|
|
4
|
+
name?: string;
|
|
5
|
+
input?: any;
|
|
6
|
+
lock?: string;
|
|
7
|
+
dependsOn?: string[];
|
|
8
|
+
constructor(arg?: ModelArg<TaskStepSpecModel>);
|
|
9
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./TaskBackoffModel.cjs";
|
|
2
|
+
export * from "./TaskErrorModel.cjs";
|
|
3
|
+
export * from "./TaskEventModel.cjs";
|
|
4
|
+
export * from "./TaskIOSerializer.cjs";
|
|
5
|
+
export * from "./TaskLogEntryModel.cjs";
|
|
6
|
+
export * from "./TaskModel.cjs";
|
|
7
|
+
export * from "./TaskStepResultModel.cjs";
|
|
8
|
+
export * from "./TaskStepSpecModel.cjs";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from "./TaskBackoffModel.js";
|
|
2
|
+
export * from "./TaskErrorModel.js";
|
|
3
|
+
export * from "./TaskEventModel.js";
|
|
4
|
+
export * from "./TaskIOSerializer.js";
|
|
5
|
+
export * from "./TaskLogEntryModel.js";
|
|
6
|
+
export * from "./TaskModel.js";
|
|
7
|
+
export * from "./TaskStepResultModel.js";
|
|
8
|
+
export * from "./TaskStepSpecModel.js";
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { TaskContext } from "./TaskContext.cjs";
|
|
2
|
+
import { TaskLogger } from "./logging.cjs";
|
|
3
|
+
import { LogLevel } from "@decaf-ts/logging";
|
|
4
|
+
import { Adapter, ContextFlags } from "../persistence/index.cjs";
|
|
5
|
+
import { ConfOf } from "../persistence/types.cjs";
|
|
6
|
+
import { TaskEventBus } from "./TaskEventBus.cjs";
|
|
7
|
+
import { TaskHandlerRegistry } from "./TaskHandlerRegistry.cjs";
|
|
8
|
+
import { TaskEventModel } from "./models/TaskEventModel.cjs";
|
|
9
|
+
import { TaskStatus } from "./constants.cjs";
|
|
10
|
+
import { TaskErrorModel } from "./models/TaskErrorModel.cjs";
|
|
11
|
+
import { TaskStepSpecModel } from "./models/TaskStepSpecModel.cjs";
|
|
12
|
+
export interface ITaskHandler<I = any, O = any> {
|
|
13
|
+
type: string;
|
|
14
|
+
run(input: I, ctx: TaskContext): Promise<O>;
|
|
15
|
+
catch?(input: I, error: unknown, ctx: TaskContext): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
export type TaskDependencySpec = {
|
|
18
|
+
dependencies?: string[];
|
|
19
|
+
};
|
|
20
|
+
export type LogPipeOptions = {
|
|
21
|
+
style: boolean;
|
|
22
|
+
logProgress: boolean;
|
|
23
|
+
logStatus: boolean;
|
|
24
|
+
};
|
|
25
|
+
export type EventPipe = (evt: TaskEventModel, ...args: any[]) => Promise<void>;
|
|
26
|
+
export interface LogPipe {
|
|
27
|
+
(logs: [LogLevel, string, any][]): Promise<void>;
|
|
28
|
+
(entry: [LogLevel, string] | [LogLevel, string, any]): Promise<void>;
|
|
29
|
+
(level: LogLevel, msg: string, meta?: any): Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
export interface TaskFlags<LOG extends TaskLogger<any> = TaskLogger<any>> extends ContextFlags<LOG> {
|
|
32
|
+
taskId: string;
|
|
33
|
+
attempt: number;
|
|
34
|
+
pipe: LogPipe;
|
|
35
|
+
flush: () => Promise<void>;
|
|
36
|
+
progress: (data: any) => Promise<void>;
|
|
37
|
+
heartbeat: () => Promise<void>;
|
|
38
|
+
scheduleCompositeSteps?: (steps: TaskStepSpecModel[]) => Promise<void>;
|
|
39
|
+
resultCache?: Record<string, any>;
|
|
40
|
+
}
|
|
41
|
+
export type TaskEngineConfig<A extends Adapter<any, any, any, any>> = {
|
|
42
|
+
adapter: A;
|
|
43
|
+
overrides?: Partial<ConfOf<A>>;
|
|
44
|
+
bus?: TaskEventBus;
|
|
45
|
+
registry?: TaskHandlerRegistry;
|
|
46
|
+
workerId: string;
|
|
47
|
+
concurrency: number;
|
|
48
|
+
leaseMs: number;
|
|
49
|
+
pollMsIdle: number;
|
|
50
|
+
pollMsBusy: number;
|
|
51
|
+
logTailMax: number;
|
|
52
|
+
streamBufferSize: number;
|
|
53
|
+
maxLoggingBuffer: number;
|
|
54
|
+
loggingBufferTruncation: number;
|
|
55
|
+
gracefulShutdownMsTimeout: number;
|
|
56
|
+
autoShutdown?: TaskEngineAutoShutdownConfig;
|
|
57
|
+
};
|
|
58
|
+
export type TaskProgressPayload = {
|
|
59
|
+
status: TaskStatus | "update";
|
|
60
|
+
currentStep?: number;
|
|
61
|
+
totalSteps?: number;
|
|
62
|
+
output?: any;
|
|
63
|
+
error?: TaskErrorModel;
|
|
64
|
+
nextRunAt?: Date;
|
|
65
|
+
scheduledTo?: Date;
|
|
66
|
+
};
|
|
67
|
+
export interface TaskEngineAutoShutdownConfig {
|
|
68
|
+
enabled?: boolean;
|
|
69
|
+
backoffStepMs?: number;
|
|
70
|
+
maxIdleDelayMs?: number;
|
|
71
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { TaskContext } from "./TaskContext.js";
|
|
2
|
+
import { TaskLogger } from "./logging.js";
|
|
3
|
+
import { LogLevel } from "@decaf-ts/logging";
|
|
4
|
+
import { Adapter, ContextFlags } from "../persistence/index.js";
|
|
5
|
+
import { ConfOf } from "../persistence/types.js";
|
|
6
|
+
import { TaskEventBus } from "./TaskEventBus.js";
|
|
7
|
+
import { TaskHandlerRegistry } from "./TaskHandlerRegistry.js";
|
|
8
|
+
import { TaskEventModel } from "./models/TaskEventModel.js";
|
|
9
|
+
import { TaskStatus } from "./constants.js";
|
|
10
|
+
import { TaskErrorModel } from "./models/TaskErrorModel.js";
|
|
11
|
+
import { TaskStepSpecModel } from "./models/TaskStepSpecModel.js";
|
|
12
|
+
export interface ITaskHandler<I = any, O = any> {
|
|
13
|
+
type: string;
|
|
14
|
+
run(input: I, ctx: TaskContext): Promise<O>;
|
|
15
|
+
catch?(input: I, error: unknown, ctx: TaskContext): Promise<void>;
|
|
16
|
+
}
|
|
17
|
+
export type TaskDependencySpec = {
|
|
18
|
+
dependencies?: string[];
|
|
19
|
+
};
|
|
20
|
+
export type LogPipeOptions = {
|
|
21
|
+
style: boolean;
|
|
22
|
+
logProgress: boolean;
|
|
23
|
+
logStatus: boolean;
|
|
24
|
+
};
|
|
25
|
+
export type EventPipe = (evt: TaskEventModel, ...args: any[]) => Promise<void>;
|
|
26
|
+
export interface LogPipe {
|
|
27
|
+
(logs: [LogLevel, string, any][]): Promise<void>;
|
|
28
|
+
(entry: [LogLevel, string] | [LogLevel, string, any]): Promise<void>;
|
|
29
|
+
(level: LogLevel, msg: string, meta?: any): Promise<void>;
|
|
30
|
+
}
|
|
31
|
+
export interface TaskFlags<LOG extends TaskLogger<any> = TaskLogger<any>> extends ContextFlags<LOG> {
|
|
32
|
+
taskId: string;
|
|
33
|
+
attempt: number;
|
|
34
|
+
pipe: LogPipe;
|
|
35
|
+
flush: () => Promise<void>;
|
|
36
|
+
progress: (data: any) => Promise<void>;
|
|
37
|
+
heartbeat: () => Promise<void>;
|
|
38
|
+
scheduleCompositeSteps?: (steps: TaskStepSpecModel[]) => Promise<void>;
|
|
39
|
+
resultCache?: Record<string, any>;
|
|
40
|
+
}
|
|
41
|
+
export type TaskEngineConfig<A extends Adapter<any, any, any, any>> = {
|
|
42
|
+
adapter: A;
|
|
43
|
+
overrides?: Partial<ConfOf<A>>;
|
|
44
|
+
bus?: TaskEventBus;
|
|
45
|
+
registry?: TaskHandlerRegistry;
|
|
46
|
+
workerId: string;
|
|
47
|
+
concurrency: number;
|
|
48
|
+
leaseMs: number;
|
|
49
|
+
pollMsIdle: number;
|
|
50
|
+
pollMsBusy: number;
|
|
51
|
+
logTailMax: number;
|
|
52
|
+
streamBufferSize: number;
|
|
53
|
+
maxLoggingBuffer: number;
|
|
54
|
+
loggingBufferTruncation: number;
|
|
55
|
+
gracefulShutdownMsTimeout: number;
|
|
56
|
+
autoShutdown?: TaskEngineAutoShutdownConfig;
|
|
57
|
+
};
|
|
58
|
+
export type TaskProgressPayload = {
|
|
59
|
+
status: TaskStatus | "update";
|
|
60
|
+
currentStep?: number;
|
|
61
|
+
totalSteps?: number;
|
|
62
|
+
output?: any;
|
|
63
|
+
error?: TaskErrorModel;
|
|
64
|
+
nextRunAt?: Date;
|
|
65
|
+
scheduledTo?: Date;
|
|
66
|
+
};
|
|
67
|
+
export interface TaskEngineAutoShutdownConfig {
|
|
68
|
+
enabled?: boolean;
|
|
69
|
+
backoffStepMs?: number;
|
|
70
|
+
maxIdleDelayMs?: number;
|
|
71
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { TaskErrorModel } from "./models/TaskErrorModel.cjs";
|
|
2
|
+
import { TaskBackoffModel } from "./models/TaskBackoffModel.cjs";
|
|
3
|
+
export declare function computeBackoffMs(attempt: number, cfg: TaskBackoffModel): number;
|
|
4
|
+
export declare function serializeError(err: any): TaskErrorModel;
|
|
5
|
+
export declare function sleep(ms: number): Promise<unknown>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { TaskErrorModel } from "./models/TaskErrorModel.js";
|
|
2
|
+
import { TaskBackoffModel } from "./models/TaskBackoffModel.js";
|
|
3
|
+
export declare function computeBackoffMs(attempt: number, cfg: TaskBackoffModel): number;
|
|
4
|
+
export declare function serializeError(err: any): TaskErrorModel;
|
|
5
|
+
export declare function sleep(ms: number): Promise<unknown>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { LoggedClass, Logger } from "@decaf-ts/logging";
|
|
2
|
+
import { BulkCrudOperationKeys, Contextual, OperationKeys } from "@decaf-ts/db-decorators";
|
|
3
|
+
import { Context } from "../persistence/Context.cjs";
|
|
4
|
+
import { FlagsOf, LoggerOf } from "../persistence/types.cjs";
|
|
5
|
+
import type { Constructor } from "@decaf-ts/decoration";
|
|
6
|
+
import { PersistenceKeys } from "../persistence/index.cjs";
|
|
7
|
+
import { PreparedStatementKeys } from "../query/index.cjs";
|
|
8
|
+
export type ContextualArgs<C extends Context<any>, ARGS extends any[] = any[]> = [...ARGS, C];
|
|
9
|
+
export type MethodOrOperation = ((...args: any[]) => any) | string | OperationKeys | PersistenceKeys | BulkCrudOperationKeys | PreparedStatementKeys;
|
|
10
|
+
export type MaybeContextualArg<C extends Context<any>, ARGS extends any[] = any[]> = any[] | ContextualArgs<C, ARGS>;
|
|
11
|
+
export type ContextualizedArgs<C extends Context<any>, ARGS extends any[] = any[], EXTEND extends boolean = false> = EXTEND extends true ? {
|
|
12
|
+
ctx: C;
|
|
13
|
+
log: LoggerOf<C>;
|
|
14
|
+
ctxArgs: ContextualArgs<C, ARGS>;
|
|
15
|
+
for: (...any: any[]) => ContextualizedArgs<C, ARGS, false>;
|
|
16
|
+
} : {
|
|
17
|
+
ctx: C;
|
|
18
|
+
log: LoggerOf<C>;
|
|
19
|
+
ctxArgs: ContextualArgs<C, ARGS>;
|
|
20
|
+
};
|
|
21
|
+
export declare abstract class ContextualLoggedClass<C extends Context<any>> extends LoggedClass {
|
|
22
|
+
protected logCtx<CONTEXT extends Context<any> = C, ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<CONTEXT, ARGS>, operation: METHOD): ContextualizedArgs<CONTEXT, ARGS, METHOD extends string ? true : false>;
|
|
23
|
+
protected logCtx<CONTEXT extends Context<any> = C, ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<CONTEXT, ARGS>, operation: METHOD, allowCreate: false, overrides?: Partial<FlagsOf<CONTEXT>>): ContextualizedArgs<CONTEXT, ARGS, METHOD extends string ? true : false>;
|
|
24
|
+
protected logCtx<CONTEXT extends Context<any> = C, ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<CONTEXT, ARGS>, operation: METHOD, allowCreate: true, overrides?: Partial<FlagsOf<CONTEXT>>): Promise<ContextualizedArgs<CONTEXT, ARGS, METHOD extends string ? true : false>>;
|
|
25
|
+
static logFrom<CONTEXT extends Context<any>, A = any | Contextual<CONTEXT>, METHOD extends MethodOrOperation = MethodOrOperation>(obj: A, logger: LoggerOf<any>, ctx: CONTEXT, method?: METHOD | keyof A): Logger;
|
|
26
|
+
static logCtx<CONTEXT extends Context<any>, ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(this: any, operation: METHOD, ...args: MaybeContextualArg<CONTEXT, ARGS>): ContextualizedArgs<CONTEXT, ARGS, METHOD extends string ? true : false>;
|
|
27
|
+
}
|
|
28
|
+
export declare abstract class AbsContextual<C extends Context<any>> extends ContextualLoggedClass<C> implements Contextual<C> {
|
|
29
|
+
protected constructor();
|
|
30
|
+
/**
|
|
31
|
+
* @description The context constructor for this adapter
|
|
32
|
+
* @summary Reference to the context class constructor used by this adapter
|
|
33
|
+
*/
|
|
34
|
+
private readonly _Context;
|
|
35
|
+
protected get Context(): Constructor<C>;
|
|
36
|
+
context(operation: ((...args: any[]) => any) | OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE | string, overrides: Partial<FlagsOf<C>>, ...args: MaybeContextualArg<Context<any>, any[]>): Promise<C>;
|
|
37
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { LoggedClass, Logger } from "@decaf-ts/logging";
|
|
2
|
+
import { BulkCrudOperationKeys, Contextual, OperationKeys } from "@decaf-ts/db-decorators";
|
|
3
|
+
import { Context } from "../persistence/Context.js";
|
|
4
|
+
import { FlagsOf, LoggerOf } from "../persistence/types.js";
|
|
5
|
+
import type { Constructor } from "@decaf-ts/decoration";
|
|
6
|
+
import { PersistenceKeys } from "../persistence/index.js";
|
|
7
|
+
import { PreparedStatementKeys } from "../query/index.js";
|
|
8
|
+
export type ContextualArgs<C extends Context<any>, ARGS extends any[] = any[]> = [...ARGS, C];
|
|
9
|
+
export type MethodOrOperation = ((...args: any[]) => any) | string | OperationKeys | PersistenceKeys | BulkCrudOperationKeys | PreparedStatementKeys;
|
|
10
|
+
export type MaybeContextualArg<C extends Context<any>, ARGS extends any[] = any[]> = any[] | ContextualArgs<C, ARGS>;
|
|
11
|
+
export type ContextualizedArgs<C extends Context<any>, ARGS extends any[] = any[], EXTEND extends boolean = false> = EXTEND extends true ? {
|
|
12
|
+
ctx: C;
|
|
13
|
+
log: LoggerOf<C>;
|
|
14
|
+
ctxArgs: ContextualArgs<C, ARGS>;
|
|
15
|
+
for: (...any: any[]) => ContextualizedArgs<C, ARGS, false>;
|
|
16
|
+
} : {
|
|
17
|
+
ctx: C;
|
|
18
|
+
log: LoggerOf<C>;
|
|
19
|
+
ctxArgs: ContextualArgs<C, ARGS>;
|
|
20
|
+
};
|
|
21
|
+
export declare abstract class ContextualLoggedClass<C extends Context<any>> extends LoggedClass {
|
|
22
|
+
protected logCtx<CONTEXT extends Context<any> = C, ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<CONTEXT, ARGS>, operation: METHOD): ContextualizedArgs<CONTEXT, ARGS, METHOD extends string ? true : false>;
|
|
23
|
+
protected logCtx<CONTEXT extends Context<any> = C, ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<CONTEXT, ARGS>, operation: METHOD, allowCreate: false, overrides?: Partial<FlagsOf<CONTEXT>>): ContextualizedArgs<CONTEXT, ARGS, METHOD extends string ? true : false>;
|
|
24
|
+
protected logCtx<CONTEXT extends Context<any> = C, ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<CONTEXT, ARGS>, operation: METHOD, allowCreate: true, overrides?: Partial<FlagsOf<CONTEXT>>): Promise<ContextualizedArgs<CONTEXT, ARGS, METHOD extends string ? true : false>>;
|
|
25
|
+
static logFrom<CONTEXT extends Context<any>, A = any | Contextual<CONTEXT>, METHOD extends MethodOrOperation = MethodOrOperation>(obj: A, logger: LoggerOf<any>, ctx: CONTEXT, method?: METHOD | keyof A): Logger;
|
|
26
|
+
static logCtx<CONTEXT extends Context<any>, ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(this: any, operation: METHOD, ...args: MaybeContextualArg<CONTEXT, ARGS>): ContextualizedArgs<CONTEXT, ARGS, METHOD extends string ? true : false>;
|
|
27
|
+
}
|
|
28
|
+
export declare abstract class AbsContextual<C extends Context<any>> extends ContextualLoggedClass<C> implements Contextual<C> {
|
|
29
|
+
protected constructor();
|
|
30
|
+
/**
|
|
31
|
+
* @description The context constructor for this adapter
|
|
32
|
+
* @summary Reference to the context class constructor used by this adapter
|
|
33
|
+
*/
|
|
34
|
+
private readonly _Context;
|
|
35
|
+
protected get Context(): Constructor<C>;
|
|
36
|
+
context(operation: ((...args: any[]) => any) | OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE | string, overrides: Partial<FlagsOf<C>>, ...args: MaybeContextualArg<Context<any>, any[]>): Promise<C>;
|
|
37
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Constructor } from "@decaf-ts/decoration";
|
|
2
|
+
import type { ModelConstructor } from "@decaf-ts/decorator-validation";
|
|
3
|
+
import { HttpVerbs } from "./types.cjs";
|
|
4
|
+
export declare const create: () => (target: any, _propertyKey?: any, descriptor?: any) => any;
|
|
5
|
+
export declare const read: () => (target: any, _propertyKey?: any, descriptor?: any) => any;
|
|
6
|
+
export declare const update: () => (target: any, _propertyKey?: any, descriptor?: any) => any;
|
|
7
|
+
export declare const del: () => (target: any, _propertyKey?: any, descriptor?: any) => any;
|
|
8
|
+
export declare function service(key?: string | ModelConstructor<any>): (target: any, prop?: any, descriptor?: any) => void;
|
|
9
|
+
export declare function auth(model: string | Constructor): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
|
|
10
|
+
/**
|
|
11
|
+
* A decorator function that sets the roles required for authentication and authorization to the model in NestJS.
|
|
12
|
+
*
|
|
13
|
+
* @param roles - An array of role names required for access.
|
|
14
|
+
*
|
|
15
|
+
* @returns - A function that applies the role decorators to the target.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* @model('users')
|
|
20
|
+
* @Roles(['admin'])
|
|
21
|
+
* export class UserModel {
|
|
22
|
+
* //...
|
|
23
|
+
* }
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
export declare const roles: (roles: string[]) => (model: any, prop?: any, descriptor?: PropertyDescriptor | number) => void;
|
|
27
|
+
export declare function route(httpMethod: HttpVerbs, path: string): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Constructor } from "@decaf-ts/decoration";
|
|
2
|
+
import type { ModelConstructor } from "@decaf-ts/decorator-validation";
|
|
3
|
+
import { HttpVerbs } from "./types.js";
|
|
4
|
+
export declare const create: () => (target: any, _propertyKey?: any, descriptor?: any) => any;
|
|
5
|
+
export declare const read: () => (target: any, _propertyKey?: any, descriptor?: any) => any;
|
|
6
|
+
export declare const update: () => (target: any, _propertyKey?: any, descriptor?: any) => any;
|
|
7
|
+
export declare const del: () => (target: any, _propertyKey?: any, descriptor?: any) => any;
|
|
8
|
+
export declare function service(key?: string | ModelConstructor<any>): (target: any, prop?: any, descriptor?: any) => void;
|
|
9
|
+
export declare function auth(model: string | Constructor): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
|
|
10
|
+
/**
|
|
11
|
+
* A decorator function that sets the roles required for authentication and authorization to the model in NestJS.
|
|
12
|
+
*
|
|
13
|
+
* @param roles - An array of role names required for access.
|
|
14
|
+
*
|
|
15
|
+
* @returns - A function that applies the role decorators to the target.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* @model('users')
|
|
20
|
+
* @Roles(['admin'])
|
|
21
|
+
* export class UserModel {
|
|
22
|
+
* //...
|
|
23
|
+
* }
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
export declare const roles: (roles: string[]) => (model: any, prop?: any, descriptor?: PropertyDescriptor | number) => void;
|
|
27
|
+
export declare function route(httpMethod: HttpVerbs, path: string): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { BadRequestError, InternalError } from "@decaf-ts/db-decorators";
|
|
2
|
+
/**
|
|
3
|
+
* @description Error thrown when a user is not authorized to perform an action
|
|
4
|
+
* @summary This error is thrown when a user attempts to access a resource or perform an action without proper authentication
|
|
5
|
+
* @param {string|Error} msg - The error message or Error object
|
|
6
|
+
* @class AuthorizationError
|
|
7
|
+
* @category Errors
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* // Example of throwing an AuthorizationError
|
|
11
|
+
* if (!user.isAuthenticated()) {
|
|
12
|
+
* throw new AuthorizationError('User not authenticated');
|
|
13
|
+
* }
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare class AuthorizationError extends BadRequestError {
|
|
17
|
+
constructor(msg: string | Error, name?: string, code?: number);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* @description Error thrown when a user is forbidden from accessing a resource
|
|
21
|
+
* @summary This error is thrown when an authenticated user attempts to access a resource or perform an action they don't have permission for
|
|
22
|
+
* @param {string|Error} msg - The error message or Error object
|
|
23
|
+
* @return {void}
|
|
24
|
+
* @class ForbiddenError
|
|
25
|
+
* @category Errors
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* // Example of throwing a ForbiddenError
|
|
29
|
+
* if (!user.hasPermission('admin')) {
|
|
30
|
+
* throw new ForbiddenError('User does not have admin permissions');
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare class ForbiddenError extends AuthorizationError {
|
|
35
|
+
constructor(msg: string | Error, name?: string);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @description Error thrown when a connection to a service fails
|
|
39
|
+
* @summary This error is thrown when the application fails to establish a connection to a required service or resource
|
|
40
|
+
* @param {string|Error} msg - The error message or Error object
|
|
41
|
+
* @return {void}
|
|
42
|
+
* @class ConnectionError
|
|
43
|
+
* @category Errors
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* // Example of throwing a ConnectionError
|
|
47
|
+
* try {
|
|
48
|
+
* await database.connect();
|
|
49
|
+
* } catch (error) {
|
|
50
|
+
* throw new ConnectionError('Failed to connect to database');
|
|
51
|
+
* }
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare class ConnectionError extends InternalError {
|
|
55
|
+
constructor(msg: string | Error);
|
|
56
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { BadRequestError, InternalError } from "@decaf-ts/db-decorators";
|
|
2
|
+
/**
|
|
3
|
+
* @description Error thrown when a user is not authorized to perform an action
|
|
4
|
+
* @summary This error is thrown when a user attempts to access a resource or perform an action without proper authentication
|
|
5
|
+
* @param {string|Error} msg - The error message or Error object
|
|
6
|
+
* @class AuthorizationError
|
|
7
|
+
* @category Errors
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* // Example of throwing an AuthorizationError
|
|
11
|
+
* if (!user.isAuthenticated()) {
|
|
12
|
+
* throw new AuthorizationError('User not authenticated');
|
|
13
|
+
* }
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export declare class AuthorizationError extends BadRequestError {
|
|
17
|
+
constructor(msg: string | Error, name?: string, code?: number);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* @description Error thrown when a user is forbidden from accessing a resource
|
|
21
|
+
* @summary This error is thrown when an authenticated user attempts to access a resource or perform an action they don't have permission for
|
|
22
|
+
* @param {string|Error} msg - The error message or Error object
|
|
23
|
+
* @return {void}
|
|
24
|
+
* @class ForbiddenError
|
|
25
|
+
* @category Errors
|
|
26
|
+
* @example
|
|
27
|
+
* ```typescript
|
|
28
|
+
* // Example of throwing a ForbiddenError
|
|
29
|
+
* if (!user.hasPermission('admin')) {
|
|
30
|
+
* throw new ForbiddenError('User does not have admin permissions');
|
|
31
|
+
* }
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare class ForbiddenError extends AuthorizationError {
|
|
35
|
+
constructor(msg: string | Error, name?: string);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @description Error thrown when a connection to a service fails
|
|
39
|
+
* @summary This error is thrown when the application fails to establish a connection to a required service or resource
|
|
40
|
+
* @param {string|Error} msg - The error message or Error object
|
|
41
|
+
* @return {void}
|
|
42
|
+
* @class ConnectionError
|
|
43
|
+
* @category Errors
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* // Example of throwing a ConnectionError
|
|
47
|
+
* try {
|
|
48
|
+
* await database.connect();
|
|
49
|
+
* } catch (error) {
|
|
50
|
+
* throw new ConnectionError('Failed to connect to database');
|
|
51
|
+
* }
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
export declare class ConnectionError extends InternalError {
|
|
55
|
+
constructor(msg: string | Error);
|
|
56
|
+
}
|