@decaf-ts/core 0.7.58 → 0.7.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +1 -1
- package/dist/core.js.map +1 -1
- package/lib/esm/identity/decorators.js +3 -3
- package/lib/esm/identity/decorators.js.map +1 -1
- package/lib/esm/index.d.ts +2 -2
- package/lib/esm/index.js +6 -3
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/migrations/Migration.d.ts +19 -0
- package/lib/esm/migrations/Migration.js +73 -0
- package/lib/esm/migrations/Migration.js.map +1 -0
- package/lib/esm/migrations/MigrationService.d.ts +25 -0
- package/lib/esm/migrations/MigrationService.js +206 -0
- package/lib/esm/migrations/MigrationService.js.map +1 -0
- package/lib/esm/migrations/constants.d.ts +2 -0
- package/lib/esm/migrations/constants.js +5 -0
- package/lib/esm/migrations/constants.js.map +1 -0
- package/lib/esm/migrations/decorators.d.ts +7 -0
- package/lib/esm/migrations/decorators.js +49 -0
- package/lib/esm/migrations/decorators.js.map +1 -0
- package/lib/esm/migrations/index.d.ts +5 -0
- package/lib/esm/migrations/index.js +6 -0
- package/lib/esm/migrations/index.js.map +1 -0
- package/lib/esm/migrations/types.d.ts +23 -0
- package/lib/esm/migrations/types.js +2 -0
- package/lib/esm/migrations/types.js.map +1 -0
- package/lib/esm/model/SequenceModel.js +1 -1
- package/lib/esm/model/SequenceModel.js.map +1 -1
- package/lib/esm/model/construction.js +4 -3
- package/lib/esm/model/construction.js.map +1 -1
- package/lib/esm/model/decorators.d.ts +0 -1
- package/lib/esm/model/decorators.js +3 -8
- package/lib/esm/model/decorators.js.map +1 -1
- package/lib/esm/overrides/Metadata.d.ts +6 -1
- package/lib/esm/overrides/Model.d.ts +0 -1
- package/lib/esm/overrides/index.d.ts +0 -1
- package/lib/esm/overrides/index.js +0 -1
- package/lib/esm/overrides/index.js.map +1 -1
- package/lib/esm/overrides/injectables.d.ts +1 -1
- package/lib/esm/overrides/overrides.js +17 -9
- package/lib/esm/overrides/overrides.js.map +1 -1
- package/lib/esm/persistence/Adapter.d.ts +11 -18
- package/lib/esm/persistence/Adapter.js +74 -54
- package/lib/esm/persistence/Adapter.js.map +1 -1
- package/lib/esm/persistence/Context.d.ts +3 -3
- package/lib/esm/persistence/Context.js +2 -2
- package/lib/esm/persistence/Context.js.map +1 -1
- package/lib/esm/persistence/Dispatch.d.ts +7 -3
- package/lib/esm/persistence/Dispatch.js +34 -13
- package/lib/esm/persistence/Dispatch.js.map +1 -1
- package/lib/esm/persistence/ObserverHandler.js +1 -1
- package/lib/esm/persistence/ObserverHandler.js.map +1 -1
- package/lib/esm/persistence/Sequence.d.ts +9 -5
- package/lib/esm/persistence/Sequence.js +19 -15
- package/lib/esm/persistence/Sequence.js.map +1 -1
- package/lib/esm/persistence/constants.d.ts +11 -1
- package/lib/esm/persistence/constants.js +26 -3
- package/lib/esm/persistence/constants.js.map +1 -1
- package/lib/esm/persistence/decorators.d.ts +24 -0
- package/lib/esm/persistence/decorators.js +50 -0
- package/lib/esm/persistence/decorators.js.map +1 -0
- package/lib/esm/persistence/errors.d.ts +3 -3
- package/lib/esm/persistence/errors.js.map +1 -1
- package/lib/esm/persistence/event-filters.d.ts +20 -0
- package/lib/esm/persistence/event-filters.js +60 -0
- package/lib/esm/persistence/event-filters.js.map +1 -0
- package/lib/esm/persistence/index.d.ts +1 -1
- package/lib/esm/persistence/index.js +1 -1
- package/lib/esm/persistence/index.js.map +1 -1
- package/lib/esm/persistence/types.d.ts +9 -6
- package/lib/esm/query/Paginator.d.ts +4 -4
- package/lib/esm/query/Paginator.js +18 -8
- package/lib/esm/query/Paginator.js.map +1 -1
- package/lib/esm/query/Statement.d.ts +5 -4
- package/lib/esm/query/Statement.js +16 -13
- package/lib/esm/query/Statement.js.map +1 -1
- package/lib/esm/query/selectors.d.ts +4 -1
- package/lib/esm/ram/RamAdapter.d.ts +6 -5
- package/lib/esm/ram/RamAdapter.js +20 -16
- package/lib/esm/ram/RamAdapter.js.map +1 -1
- package/lib/esm/ram/RamPaginator.d.ts +1 -1
- package/lib/esm/ram/RamPaginator.js +7 -2
- package/lib/esm/ram/RamPaginator.js.map +1 -1
- package/lib/esm/ram/types.d.ts +2 -0
- package/lib/esm/repository/Repository.d.ts +10 -8
- package/lib/esm/repository/Repository.js +107 -76
- package/lib/esm/repository/Repository.js.map +1 -1
- package/lib/esm/repository/decorators.d.ts +1 -1
- package/lib/esm/repository/decorators.js +1 -1
- package/lib/esm/repository/decorators.js.map +1 -1
- package/lib/esm/repository/injectables.d.ts +2 -1
- package/lib/esm/repository/injectables.js.map +1 -1
- package/lib/esm/services/ModelService.d.ts +42 -0
- package/lib/esm/services/ModelService.js +236 -0
- package/lib/esm/services/ModelService.js.map +1 -0
- package/lib/esm/services/PersistenceService.d.ts +16 -0
- package/lib/esm/services/PersistenceService.js +34 -0
- package/lib/esm/services/PersistenceService.js.map +1 -0
- package/lib/esm/services/index.d.ts +3 -0
- package/lib/esm/services/index.js +4 -0
- package/lib/esm/services/index.js.map +1 -0
- package/lib/esm/services/services.d.ts +93 -0
- package/lib/esm/services/services.js +241 -0
- package/lib/esm/services/services.js.map +1 -0
- package/lib/esm/tasks/TaskContext.d.ts +10 -0
- package/lib/esm/tasks/TaskContext.js +22 -0
- package/lib/esm/tasks/TaskContext.js.map +1 -0
- package/lib/esm/tasks/TaskEngine.d.ts +64 -0
- package/lib/esm/tasks/TaskEngine.js +341 -0
- package/lib/esm/tasks/TaskEngine.js.map +1 -0
- package/lib/esm/tasks/TaskEventBus.d.ts +6 -0
- package/lib/esm/tasks/TaskEventBus.js +14 -0
- package/lib/esm/tasks/TaskEventBus.js.map +1 -0
- package/lib/esm/tasks/TaskEventRepository.d.ts +10 -0
- package/lib/esm/tasks/TaskEventRepository.js +35 -0
- package/lib/esm/tasks/TaskEventRepository.js.map +1 -0
- package/lib/esm/tasks/TaskHandler.d.ts +11 -0
- package/lib/esm/tasks/TaskHandler.js +28 -0
- package/lib/esm/tasks/TaskHandler.js.map +1 -0
- package/lib/esm/tasks/TaskHandlerRegistry.d.ts +8 -0
- package/lib/esm/tasks/TaskHandlerRegistry.js +32 -0
- package/lib/esm/tasks/TaskHandlerRegistry.js.map +1 -0
- package/lib/esm/tasks/TaskService.d.ts +11 -0
- package/lib/esm/tasks/TaskService.js +25 -0
- package/lib/esm/tasks/TaskService.js.map +1 -0
- package/lib/esm/tasks/constants.d.ts +26 -0
- package/lib/esm/tasks/constants.js +32 -0
- package/lib/esm/tasks/constants.js.map +1 -0
- package/lib/esm/tasks/decorators.d.ts +4 -0
- package/lib/esm/tasks/decorators.js +20 -0
- package/lib/esm/tasks/decorators.js.map +1 -0
- package/lib/esm/tasks/index.d.ts +3 -0
- package/lib/esm/tasks/index.js +4 -0
- package/lib/esm/tasks/index.js.map +1 -0
- package/lib/esm/tasks/models/TaskBackoffModel.d.ts +10 -0
- package/lib/esm/tasks/models/TaskBackoffModel.js +47 -0
- package/lib/esm/tasks/models/TaskBackoffModel.js.map +1 -0
- package/lib/esm/tasks/models/TaskBaseModel.d.ts +14 -0
- package/lib/esm/tasks/models/TaskBaseModel.js +30 -0
- package/lib/esm/tasks/models/TaskBaseModel.js.map +1 -0
- package/lib/esm/tasks/models/TaskErrorModel.d.ts +9 -0
- package/lib/esm/tasks/models/TaskErrorModel.js +43 -0
- package/lib/esm/tasks/models/TaskErrorModel.js.map +1 -0
- package/lib/esm/tasks/models/TaskEventModel.d.ts +11 -0
- package/lib/esm/tasks/models/TaskEventModel.js +60 -0
- package/lib/esm/tasks/models/TaskEventModel.js.map +1 -0
- package/lib/esm/tasks/models/TaskLogEntryModel.d.ts +9 -0
- package/lib/esm/tasks/models/TaskLogEntryModel.js +41 -0
- package/lib/esm/tasks/models/TaskLogEntryModel.js.map +1 -0
- package/lib/esm/tasks/models/TaskModel.d.ts +28 -0
- package/lib/esm/tasks/models/TaskModel.js +114 -0
- package/lib/esm/tasks/models/TaskModel.js.map +1 -0
- package/lib/esm/tasks/models/TaskStepResultModel.d.ts +10 -0
- package/lib/esm/tasks/models/TaskStepResultModel.js +40 -0
- package/lib/esm/tasks/models/TaskStepResultModel.js.map +1 -0
- package/lib/esm/tasks/models/TaskStepSpecModel.d.ts +7 -0
- package/lib/esm/tasks/models/TaskStepSpecModel.js +32 -0
- package/lib/esm/tasks/models/TaskStepSpecModel.js.map +1 -0
- package/lib/esm/tasks/models/index.d.ts +1 -0
- package/lib/esm/tasks/models/index.js +2 -0
- package/lib/esm/tasks/models/index.js.map +1 -0
- package/lib/esm/tasks/types.d.ts +22 -0
- package/lib/esm/tasks/types.js +2 -0
- package/lib/esm/tasks/types.js.map +1 -0
- package/lib/esm/tasks/utils.d.ts +5 -0
- package/lib/esm/tasks/utils.js +24 -0
- package/lib/esm/tasks/utils.js.map +1 -0
- package/lib/esm/utils/ContextualLoggedClass.d.ts +28 -7
- package/lib/esm/utils/ContextualLoggedClass.js +100 -22
- package/lib/esm/utils/ContextualLoggedClass.js.map +1 -1
- package/lib/esm/utils/decorators.d.ts +4 -4
- package/lib/esm/utils/decorators.js +1 -1
- package/lib/esm/utils/decorators.js.map +1 -1
- package/lib/esm/utils/index.d.ts +0 -1
- package/lib/esm/utils/index.js +0 -1
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/esm/utils/utils.d.ts +1 -0
- package/lib/esm/utils/utils.js +24 -0
- package/lib/esm/utils/utils.js.map +1 -1
- package/lib/identity/decorators.cjs +2 -2
- package/lib/identity/decorators.js.map +1 -1
- package/lib/index.cjs +6 -3
- package/lib/index.d.ts +2 -2
- package/lib/index.js.map +1 -1
- package/lib/migrations/Migration.cjs +77 -0
- package/lib/migrations/Migration.d.ts +19 -0
- package/lib/migrations/Migration.js.map +1 -0
- package/lib/migrations/MigrationService.cjs +210 -0
- package/lib/migrations/MigrationService.d.ts +25 -0
- package/lib/migrations/MigrationService.js.map +1 -0
- package/lib/migrations/constants.cjs +8 -0
- package/lib/migrations/constants.d.ts +2 -0
- package/lib/migrations/constants.js.map +1 -0
- package/lib/migrations/decorators.cjs +52 -0
- package/lib/migrations/decorators.d.ts +7 -0
- package/lib/migrations/decorators.js.map +1 -0
- package/lib/migrations/index.cjs +22 -0
- package/lib/migrations/index.d.ts +5 -0
- package/lib/migrations/index.js.map +1 -0
- package/lib/migrations/types.cjs +3 -0
- package/lib/migrations/types.d.ts +23 -0
- package/lib/migrations/types.js.map +1 -0
- package/lib/model/SequenceModel.cjs +1 -1
- package/lib/model/SequenceModel.js.map +1 -1
- package/lib/model/construction.cjs +4 -3
- package/lib/model/construction.js.map +1 -1
- package/lib/model/decorators.cjs +2 -8
- package/lib/model/decorators.d.ts +0 -1
- package/lib/model/decorators.js.map +1 -1
- package/lib/overrides/Metadata.d.ts +6 -1
- package/lib/overrides/Model.d.ts +0 -1
- package/lib/overrides/index.cjs +0 -1
- package/lib/overrides/index.d.ts +0 -1
- package/lib/overrides/index.js.map +1 -1
- package/lib/overrides/injectables.d.ts +1 -1
- package/lib/overrides/overrides.cjs +17 -9
- package/lib/overrides/overrides.js.map +1 -1
- package/lib/persistence/Adapter.cjs +72 -52
- package/lib/persistence/Adapter.d.ts +11 -18
- package/lib/persistence/Adapter.js.map +1 -1
- package/lib/persistence/Context.cjs +2 -2
- package/lib/persistence/Context.d.ts +3 -3
- package/lib/persistence/Context.js.map +1 -1
- package/lib/persistence/Dispatch.cjs +34 -13
- package/lib/persistence/Dispatch.d.ts +7 -3
- package/lib/persistence/Dispatch.js.map +1 -1
- package/lib/persistence/ObserverHandler.cjs +1 -1
- package/lib/persistence/ObserverHandler.js.map +1 -1
- package/lib/persistence/Sequence.cjs +19 -15
- package/lib/persistence/Sequence.d.ts +9 -5
- package/lib/persistence/Sequence.js.map +1 -1
- package/lib/persistence/constants.cjs +26 -3
- package/lib/persistence/constants.d.ts +11 -1
- package/lib/persistence/constants.js.map +1 -1
- package/lib/persistence/decorators.cjs +54 -0
- package/lib/persistence/decorators.d.ts +24 -0
- package/lib/persistence/decorators.js.map +1 -0
- package/lib/persistence/errors.d.ts +3 -3
- package/lib/persistence/errors.js.map +1 -1
- package/lib/persistence/event-filters.cjs +71 -0
- package/lib/persistence/event-filters.d.ts +20 -0
- package/lib/persistence/event-filters.js.map +1 -0
- package/lib/persistence/index.cjs +1 -1
- package/lib/persistence/index.d.ts +1 -1
- package/lib/persistence/index.js.map +1 -1
- package/lib/persistence/types.d.ts +9 -6
- package/lib/query/Paginator.cjs +26 -16
- package/lib/query/Paginator.d.ts +4 -4
- package/lib/query/Paginator.js.map +1 -1
- package/lib/query/Statement.cjs +40 -37
- package/lib/query/Statement.d.ts +5 -4
- package/lib/query/Statement.js.map +1 -1
- package/lib/query/selectors.d.ts +4 -1
- package/lib/ram/RamAdapter.cjs +20 -16
- package/lib/ram/RamAdapter.d.ts +6 -5
- package/lib/ram/RamAdapter.js.map +1 -1
- package/lib/ram/RamPaginator.cjs +7 -2
- package/lib/ram/RamPaginator.d.ts +1 -1
- package/lib/ram/RamPaginator.js.map +1 -1
- package/lib/ram/types.d.ts +2 -0
- package/lib/repository/Repository.cjs +106 -75
- package/lib/repository/Repository.d.ts +10 -8
- package/lib/repository/Repository.js.map +1 -1
- package/lib/repository/decorators.d.ts +1 -1
- package/lib/repository/decorators.js.map +1 -1
- package/lib/repository/injectables.d.ts +2 -1
- package/lib/repository/injectables.js.map +1 -1
- package/lib/services/ModelService.cjs +240 -0
- package/lib/services/ModelService.d.ts +42 -0
- package/lib/services/ModelService.js.map +1 -0
- package/lib/services/PersistenceService.cjs +38 -0
- package/lib/services/PersistenceService.d.ts +16 -0
- package/lib/services/PersistenceService.js.map +1 -0
- package/lib/services/index.cjs +20 -0
- package/lib/services/index.d.ts +3 -0
- package/lib/services/index.js.map +1 -0
- package/lib/services/services.cjs +246 -0
- package/lib/services/services.d.ts +93 -0
- package/lib/services/services.js.map +1 -0
- package/lib/tasks/TaskContext.cjs +26 -0
- package/lib/tasks/TaskContext.d.ts +10 -0
- package/lib/tasks/TaskContext.js.map +1 -0
- package/lib/tasks/TaskEngine.cjs +345 -0
- package/lib/tasks/TaskEngine.d.ts +64 -0
- package/lib/tasks/TaskEngine.js.map +1 -0
- package/lib/tasks/TaskEventBus.cjs +18 -0
- package/lib/tasks/TaskEventBus.d.ts +6 -0
- package/lib/tasks/TaskEventBus.js.map +1 -0
- package/lib/tasks/TaskEventRepository.cjs +38 -0
- package/lib/tasks/TaskEventRepository.d.ts +10 -0
- package/lib/tasks/TaskEventRepository.js.map +1 -0
- package/lib/tasks/TaskHandler.cjs +32 -0
- package/lib/tasks/TaskHandler.d.ts +11 -0
- package/lib/tasks/TaskHandler.js.map +1 -0
- package/lib/tasks/TaskHandlerRegistry.cjs +36 -0
- package/lib/tasks/TaskHandlerRegistry.d.ts +8 -0
- package/lib/tasks/TaskHandlerRegistry.js.map +1 -0
- package/lib/tasks/TaskService.cjs +29 -0
- package/lib/tasks/TaskService.d.ts +11 -0
- package/lib/tasks/TaskService.js.map +1 -0
- package/lib/tasks/constants.cjs +35 -0
- package/lib/tasks/constants.d.ts +26 -0
- package/lib/tasks/constants.js.map +1 -0
- package/lib/tasks/decorators.cjs +23 -0
- package/lib/tasks/decorators.d.ts +4 -0
- package/lib/tasks/decorators.js.map +1 -0
- package/lib/tasks/index.cjs +20 -0
- package/lib/tasks/index.d.ts +3 -0
- package/lib/tasks/index.js.map +1 -0
- package/lib/tasks/models/TaskBackoffModel.cjs +50 -0
- package/lib/tasks/models/TaskBackoffModel.d.ts +10 -0
- package/lib/tasks/models/TaskBackoffModel.js.map +1 -0
- package/lib/tasks/models/TaskBaseModel.cjs +34 -0
- package/lib/tasks/models/TaskBaseModel.d.ts +14 -0
- package/lib/tasks/models/TaskBaseModel.js.map +1 -0
- package/lib/tasks/models/TaskErrorModel.cjs +46 -0
- package/lib/tasks/models/TaskErrorModel.d.ts +9 -0
- package/lib/tasks/models/TaskErrorModel.js.map +1 -0
- package/lib/tasks/models/TaskEventModel.cjs +63 -0
- package/lib/tasks/models/TaskEventModel.d.ts +11 -0
- package/lib/tasks/models/TaskEventModel.js.map +1 -0
- package/lib/tasks/models/TaskLogEntryModel.cjs +44 -0
- package/lib/tasks/models/TaskLogEntryModel.d.ts +9 -0
- package/lib/tasks/models/TaskLogEntryModel.js.map +1 -0
- package/lib/tasks/models/TaskModel.cjs +117 -0
- package/lib/tasks/models/TaskModel.d.ts +28 -0
- package/lib/tasks/models/TaskModel.js.map +1 -0
- package/lib/tasks/models/TaskStepResultModel.cjs +43 -0
- package/lib/tasks/models/TaskStepResultModel.d.ts +10 -0
- package/lib/tasks/models/TaskStepResultModel.js.map +1 -0
- package/lib/tasks/models/TaskStepSpecModel.cjs +35 -0
- package/lib/tasks/models/TaskStepSpecModel.d.ts +7 -0
- package/lib/tasks/models/TaskStepSpecModel.js.map +1 -0
- package/lib/tasks/models/index.cjs +18 -0
- package/lib/tasks/models/index.d.ts +1 -0
- package/lib/tasks/models/index.js.map +1 -0
- package/lib/tasks/types.cjs +3 -0
- package/lib/tasks/types.d.ts +22 -0
- package/lib/tasks/types.js.map +1 -0
- package/lib/tasks/utils.cjs +29 -0
- package/lib/tasks/utils.d.ts +5 -0
- package/lib/tasks/utils.js.map +1 -0
- package/lib/utils/ContextualLoggedClass.cjs +100 -21
- package/lib/utils/ContextualLoggedClass.d.ts +28 -7
- package/lib/utils/ContextualLoggedClass.js.map +1 -1
- package/lib/utils/decorators.cjs +2 -2
- package/lib/utils/decorators.d.ts +4 -4
- package/lib/utils/decorators.js.map +1 -1
- package/lib/utils/index.cjs +0 -1
- package/lib/utils/index.d.ts +0 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/utils.cjs +25 -0
- package/lib/utils/utils.d.ts +1 -0
- package/lib/utils/utils.js.map +1 -1
- package/package.json +12 -2
- package/lib/esm/overrides/decoration.d.ts +0 -1
- package/lib/esm/overrides/decoration.js +0 -6
- package/lib/esm/overrides/decoration.js.map +0 -1
- package/lib/esm/persistence/migrations.d.ts +0 -21
- package/lib/esm/persistence/migrations.js +0 -103
- package/lib/esm/persistence/migrations.js.map +0 -1
- package/lib/esm/utils/Services.d.ts +0 -83
- package/lib/esm/utils/Services.js +0 -392
- package/lib/esm/utils/Services.js.map +0 -1
- package/lib/overrides/decoration.cjs +0 -8
- package/lib/overrides/decoration.d.ts +0 -1
- package/lib/overrides/decoration.js.map +0 -1
- package/lib/persistence/migrations.cjs +0 -109
- package/lib/persistence/migrations.d.ts +0 -21
- package/lib/persistence/migrations.js.map +0 -1
- package/lib/utils/Services.cjs +0 -398
- package/lib/utils/Services.d.ts +0 -83
- package/lib/utils/Services.js.map +0 -1
package/lib/utils/utils.cjs
CHANGED
|
@@ -4,9 +4,11 @@ exports.injectableServiceKey = injectableServiceKey;
|
|
|
4
4
|
exports.promiseSequence = promiseSequence;
|
|
5
5
|
exports.isOperationBlocked = isOperationBlocked;
|
|
6
6
|
exports.normalizeImport = normalizeImport;
|
|
7
|
+
exports.prefixMethod = prefixMethod;
|
|
7
8
|
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
8
9
|
const db_decorators_2 = require("@decaf-ts/db-decorators");
|
|
9
10
|
const decoration_1 = require("@decaf-ts/decoration");
|
|
11
|
+
const errors_1 = require("./../persistence/errors.cjs");
|
|
10
12
|
function injectableServiceKey(name) {
|
|
11
13
|
if (!name)
|
|
12
14
|
throw new db_decorators_1.InternalError(`No name provided`);
|
|
@@ -39,4 +41,27 @@ async function normalizeImport(importPromise) {
|
|
|
39
41
|
// CommonJS's `module.exports` is wrapped as `default` in ESModule.
|
|
40
42
|
return importPromise.then((m) => (m.default || m));
|
|
41
43
|
}
|
|
44
|
+
function prefixMethod(obj, after, prefix, afterName) {
|
|
45
|
+
async function wrapper(...args) {
|
|
46
|
+
let results;
|
|
47
|
+
try {
|
|
48
|
+
results = await Promise.resolve(prefix.call(this, ...args));
|
|
49
|
+
}
|
|
50
|
+
catch (e) {
|
|
51
|
+
if (e instanceof errors_1.MigrationRuleError)
|
|
52
|
+
return;
|
|
53
|
+
throw e;
|
|
54
|
+
}
|
|
55
|
+
return Promise.resolve(after.apply(this, results));
|
|
56
|
+
}
|
|
57
|
+
const wrapped = wrapper.bind(obj);
|
|
58
|
+
const name = afterName ? afterName : after.name;
|
|
59
|
+
Object.defineProperty(wrapped, "name", {
|
|
60
|
+
enumerable: true,
|
|
61
|
+
configurable: true,
|
|
62
|
+
writable: false,
|
|
63
|
+
value: name,
|
|
64
|
+
});
|
|
65
|
+
obj[name] = wrapped;
|
|
66
|
+
}
|
|
42
67
|
//# sourceMappingURL=utils.js.map
|
package/lib/utils/utils.d.ts
CHANGED
|
@@ -17,3 +17,4 @@ export declare function isOperationBlocked(ModelConstructor: ModelConstructor<an
|
|
|
17
17
|
* @memberOf module:core
|
|
18
18
|
*/
|
|
19
19
|
export declare function normalizeImport<T>(importPromise: Promise<T>): Promise<T>;
|
|
20
|
+
export declare function prefixMethod(obj: any, after: (...args: any[]) => any, prefix: (...args: any[]) => any, afterName?: string): void;
|
package/lib/utils/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils/utils.ts"],"names":[],"mappings":";;AAMA,oDASC;AAED,0CAKC;AAED,gDAiBC;AAcD,0CAKC;AAED,oCA0BC;AAxFD,2DAAwE;AACxE,2DAAwD;AAExD,qDAA6D;AAC7D,wDAA2D;AAE3D,SAAgB,oBAAoB,CAClC,IAAmC;IAEnC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,6BAAa,CAAC,kBAAkB,CAAC,CAAC;IACvD,OAAO,OAAO,IAAI,KAAK,QAAQ;QAC7B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC;QAC3B,CAAC,CAAC,qBAAQ,CAAC,MAAM,CAAC,qBAAQ,CAAC,MAAM,CAAC,IAA6B,CAAC,CAAC;aAC5D,QAAQ,EAAE;aACV,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED,SAAgB,eAAe,CAAI,KAA2B;IAC5D,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,EAC1E,OAAO,CAAC,OAAO,CAAC,EAAS,CAAC,CAC3B,CAAC;AACJ,CAAC;AAED,SAAgB,kBAAkB,CAChC,gBAAuC,EACvC,EAAkB;IAElB,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GACrB,CAAC,qBAAQ,CAAC,GAAG,CACX,gBAAuB,EACvB,6BAAa,CAAC,OAAO,GAAG,6BAAa,CAAC,KAAK,CAC5C,IAAI,EAAE,CAMN,CAAC;IAEJ,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;;;;GAWG;AACI,KAAK,UAAU,eAAe,CACnC,aAAyB;IAEzB,mEAAmE;IACnE,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,CAAM,CAAC,CAAC;AAC/D,CAAC;AAED,SAAgB,YAAY,CAC1B,GAAQ,EACR,KAA8B,EAC9B,MAA+B,EAC/B,SAAkB;IAElB,KAAK,UAAU,OAAO,CAAY,GAAG,IAAW;QAC9C,IAAI,OAAc,CAAC;QACnB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,IAAI,CAAC,YAAY,2BAAkB;gBAAE,OAAO;YAC5C,MAAM,CAAC,CAAC;QACV,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IAChD,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE;QACrC,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,IAAI;QAClB,QAAQ,EAAE,KAAK;QACf,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;AACtB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@decaf-ts/core",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.60",
|
|
4
4
|
"description": "Core persistence module for the decaf framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"exports": {
|
|
@@ -9,10 +9,20 @@
|
|
|
9
9
|
"import": "./lib/esm/index.js",
|
|
10
10
|
"types": "./lib/index.d.ts"
|
|
11
11
|
},
|
|
12
|
+
"./migrations": {
|
|
13
|
+
"require": "./lib/migrations/index.cjs",
|
|
14
|
+
"import": "./lib/esm/migrations/index.js",
|
|
15
|
+
"types": "./lib/migrations/index.d.ts"
|
|
16
|
+
},
|
|
12
17
|
"./ram": {
|
|
13
18
|
"require": "./lib/ram/index.cjs",
|
|
14
19
|
"import": "./lib/esm/ram/index.js",
|
|
15
|
-
"types": "./lib/
|
|
20
|
+
"types": "./lib/ram/index.d.ts"
|
|
21
|
+
},
|
|
22
|
+
"./tasks": {
|
|
23
|
+
"require": "./lib/tasks/index.cjs",
|
|
24
|
+
"import": "./lib/esm/tasks/index.js",
|
|
25
|
+
"types": "./lib/tasks/index.d.ts"
|
|
16
26
|
}
|
|
17
27
|
},
|
|
18
28
|
"types": "lib/index.d.ts",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { Decoration } from "@decaf-ts/decoration";
|
|
2
|
-
import { DBKeys } from "@decaf-ts/db-decorators";
|
|
3
|
-
import { generated } from "./../model/decorators.js";
|
|
4
|
-
Decoration.for(DBKeys.TIMESTAMP).extend(generated()).apply();
|
|
5
|
-
Decoration.for(DBKeys.COMPOSED).extend(generated()).apply();
|
|
6
|
-
//# sourceMappingURL=decoration.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"decoration.js","sourceRoot":"","sources":["../../../src/overrides/decoration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,iCAA4B;AAEhD,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;AAE7D,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { ContextOf, Migration } from "./types";
|
|
2
|
-
import { Adapter } from "./Adapter";
|
|
3
|
-
import { LoggedClass } from "@decaf-ts/logging";
|
|
4
|
-
export declare function prefixMethod(obj: any, after: (...args: any[]) => any, prefix: (...args: any[]) => any, afterName?: string): void;
|
|
5
|
-
export type ConnectionForAdapter<A extends Adapter<any, any, any, any>> = A extends Adapter<any, any, infer CONN, any> ? CONN : never;
|
|
6
|
-
export declare abstract class AbsMigration<A extends Adapter<any, any, any, any>, QUERYRUNNER = ConnectionForAdapter<A>> extends LoggedClass implements Migration<QUERYRUNNER, A> {
|
|
7
|
-
transaction: boolean;
|
|
8
|
-
protected constructor();
|
|
9
|
-
protected get adapter(): A;
|
|
10
|
-
protected abstract getQueryRunner(conn: ConnectionForAdapter<A>): QUERYRUNNER;
|
|
11
|
-
private enforceRules;
|
|
12
|
-
private prefix;
|
|
13
|
-
abstract down(qr: QUERYRUNNER, adapter: A, ctx: ContextOf<A>): Promise<void>;
|
|
14
|
-
abstract up(qr: QUERYRUNNER, adapter: A, ctx: ContextOf<A>): Promise<void>;
|
|
15
|
-
}
|
|
16
|
-
export type MigrationRule<A extends Adapter<any, any, any, any> = any, QUERYRUNNER = ConnectionForAdapter<A>> = (qr: QUERYRUNNER, adapter: A, ctx: ContextOf<A>) => Promise<boolean>;
|
|
17
|
-
export type MigrationMetadata = {
|
|
18
|
-
flavour: string;
|
|
19
|
-
rules?: MigrationRule[];
|
|
20
|
-
};
|
|
21
|
-
export declare function migration(flavour: string, rules?: MigrationRule[]): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
import { Adapter } from "./Adapter.js";
|
|
2
|
-
import { InternalError } from "@decaf-ts/db-decorators";
|
|
3
|
-
import { LoggedClass } from "@decaf-ts/logging";
|
|
4
|
-
import { PersistenceKeys } from "./constants.js";
|
|
5
|
-
import { Decoration, Metadata, metadata } from "@decaf-ts/decoration";
|
|
6
|
-
import { MigrationRuleError } from "./errors.js";
|
|
7
|
-
import { Model } from "@decaf-ts/decorator-validation";
|
|
8
|
-
import { Context } from "./Context.js";
|
|
9
|
-
export function prefixMethod(obj, after, prefix, afterName) {
|
|
10
|
-
async function wrapper(...args) {
|
|
11
|
-
let results;
|
|
12
|
-
try {
|
|
13
|
-
results = await Promise.resolve(prefix.call(this, ...args));
|
|
14
|
-
}
|
|
15
|
-
catch (e) {
|
|
16
|
-
if (e instanceof MigrationRuleError)
|
|
17
|
-
return;
|
|
18
|
-
throw e;
|
|
19
|
-
}
|
|
20
|
-
return Promise.resolve(after.apply(this, results));
|
|
21
|
-
}
|
|
22
|
-
const wrapped = wrapper.bind(obj);
|
|
23
|
-
const name = afterName ? afterName : after.name;
|
|
24
|
-
Object.defineProperty(wrapped, "name", {
|
|
25
|
-
enumerable: true,
|
|
26
|
-
configurable: true,
|
|
27
|
-
writable: false,
|
|
28
|
-
value: name,
|
|
29
|
-
});
|
|
30
|
-
obj[name] = wrapped;
|
|
31
|
-
}
|
|
32
|
-
export class AbsMigration extends LoggedClass {
|
|
33
|
-
constructor() {
|
|
34
|
-
super();
|
|
35
|
-
this.transaction = true;
|
|
36
|
-
[this.up, this.down].forEach((m) => {
|
|
37
|
-
const name = m.name;
|
|
38
|
-
prefixMethod(this, m, this.prefix(name));
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
get adapter() {
|
|
42
|
-
const meta = Metadata.get(this.constructor, PersistenceKeys.MIGRATION);
|
|
43
|
-
if (!meta)
|
|
44
|
-
throw new InternalError(`No migration metadata for ${this.constructor.name}`);
|
|
45
|
-
const flavour = meta.flavour;
|
|
46
|
-
return Adapter.get(flavour);
|
|
47
|
-
}
|
|
48
|
-
async enforceRules(qr, adapter, ctx) {
|
|
49
|
-
const rules = Metadata.get(this.constructor, PersistenceKeys.MIGRATION)?.rules;
|
|
50
|
-
if (!rules || !rules.length)
|
|
51
|
-
return true;
|
|
52
|
-
for (const rule of rules) {
|
|
53
|
-
const result = await rule(qr, adapter, ctx);
|
|
54
|
-
if (!result)
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
return true;
|
|
58
|
-
}
|
|
59
|
-
prefix(name) {
|
|
60
|
-
return async function preffix(qrOrAdapter) {
|
|
61
|
-
let qr;
|
|
62
|
-
if (qrOrAdapter instanceof Adapter) {
|
|
63
|
-
qr = this.getQueryRunner(qrOrAdapter.client);
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
qr = qrOrAdapter;
|
|
67
|
-
qrOrAdapter = this.adapter;
|
|
68
|
-
}
|
|
69
|
-
const ctx = await Context.args("migration", Model, [name], qrOrAdapter);
|
|
70
|
-
const allowed = await this.enforceRules(qr, qrOrAdapter, ctx.context);
|
|
71
|
-
if (!allowed) {
|
|
72
|
-
ctx.context.logger.verbose(`Skipping migration ${this.constructor.name} due to rules`);
|
|
73
|
-
throw new MigrationRuleError("Migration skipped for rule enforcement");
|
|
74
|
-
}
|
|
75
|
-
return [qr, qrOrAdapter, ctx.context];
|
|
76
|
-
}.bind(this);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
export function migration(flavour, rules) {
|
|
80
|
-
function innerMigration(flavour, rules) {
|
|
81
|
-
return function (original) {
|
|
82
|
-
const current = Metadata["innerGet"](Symbol.for(PersistenceKeys.MIGRATION), flavour) ||
|
|
83
|
-
[];
|
|
84
|
-
Metadata.set(PersistenceKeys.MIGRATION, flavour, [
|
|
85
|
-
...current,
|
|
86
|
-
{
|
|
87
|
-
class: original,
|
|
88
|
-
},
|
|
89
|
-
]);
|
|
90
|
-
return metadata(PersistenceKeys.MIGRATION, {
|
|
91
|
-
flavour: flavour,
|
|
92
|
-
rules: rules,
|
|
93
|
-
})(original);
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
return Decoration.for(PersistenceKeys.MIGRATION)
|
|
97
|
-
.define({
|
|
98
|
-
decorator: innerMigration,
|
|
99
|
-
args: [flavour, rules],
|
|
100
|
-
})
|
|
101
|
-
.apply();
|
|
102
|
-
}
|
|
103
|
-
//# sourceMappingURL=migrations.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../src/persistence/migrations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import type { ContextOfRepository, Contextual, FlagsOf as ContextualFlagsOf } from "@decaf-ts/db-decorators";
|
|
2
|
-
import { IRepository, OperationKeys, type PrimaryKeyType } from "@decaf-ts/db-decorators";
|
|
3
|
-
import { Constructor } from "@decaf-ts/decoration";
|
|
4
|
-
import type { ContextualArgs, ContextualizedArgs, MaybeContextualArg } from "./ContextualLoggedClass";
|
|
5
|
-
import { type AdapterFlags, type FlagsOf } from "../persistence/types";
|
|
6
|
-
import { Model, type ModelConstructor } from "@decaf-ts/decorator-validation";
|
|
7
|
-
import { Repository } from "../repository/Repository";
|
|
8
|
-
import { Context } from "../persistence/Context";
|
|
9
|
-
import { OrderDirection } from "../repository/constants";
|
|
10
|
-
import { DirectionLimitOffset } from "../query/index";
|
|
11
|
-
export declare abstract class Service<C extends Context<AdapterFlags> = Context<AdapterFlags>> {
|
|
12
|
-
readonly name?: string | undefined;
|
|
13
|
-
protected constructor(name?: string | undefined);
|
|
14
|
-
/**
|
|
15
|
-
* @description Creates repository flags for an operation
|
|
16
|
-
* @summary Generates a set of flags that describe a database operation, combining default flags with overrides
|
|
17
|
-
* @template F - The Repository Flags type
|
|
18
|
-
* @template M - The model type
|
|
19
|
-
* @param {OperationKeys} operation - The type of operation being performed
|
|
20
|
-
* @param {Constructor<M>} model - The model constructor
|
|
21
|
-
* @param {Partial<F>} flags - Custom flag overrides
|
|
22
|
-
* @param {...any[]} args - Additional arguments
|
|
23
|
-
* @return {Promise<F>} The complete set of flags
|
|
24
|
-
*/
|
|
25
|
-
protected flags(operation: OperationKeys | string, flags: Partial<FlagsOf<C>>, ...args: any[]): Promise<FlagsOf<C>>;
|
|
26
|
-
/**
|
|
27
|
-
* @description The context constructor for this adapter
|
|
28
|
-
* @summary Reference to the context class constructor used by this adapter
|
|
29
|
-
*/
|
|
30
|
-
protected readonly Context: Constructor<C>;
|
|
31
|
-
context(operation: OperationKeys.CREATE | OperationKeys.READ | OperationKeys.UPDATE | OperationKeys.DELETE | string, overrides: Partial<ContextualFlagsOf<C>>, ...args: any[]): Promise<C>;
|
|
32
|
-
protected logCtx<ARGS extends any[]>(args: ARGS, method: ((...args: any[]) => any) | string, allowCreate?: boolean): Promise<ContextualizedArgs<any, ARGS>>;
|
|
33
|
-
protected static logCtx<CONTEXT extends Context<any>, ARGS extends any[]>(this: Contextual, args: ARGS, operation: ((...args: any[]) => any) | string, allowCreate?: boolean, ...argz: any[]): Promise<ContextualizedArgs<CONTEXT, ARGS>>;
|
|
34
|
-
/**
|
|
35
|
-
* @description Retrieves a Service instance by name/class
|
|
36
|
-
* @summary Looks up and returns a cached API instance by its name or constructor
|
|
37
|
-
* @template A Type extending Api
|
|
38
|
-
* @param {string | Constructor<A>} name - Name of the API or its constructor
|
|
39
|
-
* @return {A} The requested API instance
|
|
40
|
-
*/
|
|
41
|
-
static get<A extends Service>(name: string | symbol | Constructor<A>): A;
|
|
42
|
-
static boot<C extends Context<any> = any>(...args: MaybeContextualArg<C>): Promise<void>;
|
|
43
|
-
}
|
|
44
|
-
export declare abstract class ClientBasedService<CLIENT, CONF, C extends Context<any> = any> extends Service {
|
|
45
|
-
protected _client?: CLIENT;
|
|
46
|
-
protected _config?: CONF;
|
|
47
|
-
protected constructor();
|
|
48
|
-
boot(...args: MaybeContextualArg<C>): Promise<void>;
|
|
49
|
-
abstract initialize(...args: ContextualArgs<C>): Promise<{
|
|
50
|
-
config: CONF;
|
|
51
|
-
client: CLIENT;
|
|
52
|
-
}>;
|
|
53
|
-
protected get config(): CONF;
|
|
54
|
-
get client(): CLIENT;
|
|
55
|
-
shutdown(...args: MaybeContextualArg<C>): Promise<void>;
|
|
56
|
-
}
|
|
57
|
-
export type ArrayMode = "one" | "many";
|
|
58
|
-
export declare class ModelService<M extends Model<boolean>, R extends Repository<M, any> = Repository<M, any>> extends Service implements IRepository<M, ContextOfRepository<R>> {
|
|
59
|
-
private readonly clazz;
|
|
60
|
-
protected _repository: R;
|
|
61
|
-
get class(): Constructor<M>;
|
|
62
|
-
get repo(): R;
|
|
63
|
-
constructor(clazz: Constructor<M>, name?: string);
|
|
64
|
-
static getService<M extends Model<boolean>, S extends ModelService<M>>(name: string | symbol | Constructor<M>): S;
|
|
65
|
-
for(conf: any, ...args: any[]): this;
|
|
66
|
-
create(model: M, ...args: MaybeContextualArg<ContextOfRepository<R>>): Promise<M>;
|
|
67
|
-
createAll(models: M[], ...args: MaybeContextualArg<ContextOfRepository<R>>): Promise<M[]>;
|
|
68
|
-
delete(key: PrimaryKeyType, ...args: MaybeContextualArg<ContextOfRepository<R>>): Promise<M>;
|
|
69
|
-
deleteAll(keys: PrimaryKeyType[], ...args: MaybeContextualArg<ContextOfRepository<R>>): Promise<M[]>;
|
|
70
|
-
read(key: PrimaryKeyType, ...args: MaybeContextualArg<ContextOfRepository<R>>): Promise<M>;
|
|
71
|
-
readAll(keys: PrimaryKeyType[], ...args: MaybeContextualArg<ContextOfRepository<R>>): Promise<M[]>;
|
|
72
|
-
query<M, R extends ArrayMode = "one">(methodName: string, ...args: unknown[]): Promise<R extends "one" ? M : M[]>;
|
|
73
|
-
update(model: M, ...args: MaybeContextualArg<ContextOfRepository<R>>): Promise<M>;
|
|
74
|
-
updateAll(models: M[], ...args: any[]): Promise<M[]>;
|
|
75
|
-
listBy(key: keyof M, order: OrderDirection, ...args: MaybeContextualArg<ContextOfRepository<R>>): Promise<M[]>;
|
|
76
|
-
paginateBy(key: keyof M, order: OrderDirection, ref: Omit<DirectionLimitOffset, "direction">, ...args: MaybeContextualArg<ContextOfRepository<R>>): Promise<import("../query/Paginator").SerializedPage<M>>;
|
|
77
|
-
findOneBy(key: keyof M, value: any, ...args: MaybeContextualArg<ContextOfRepository<R>>): Promise<M>;
|
|
78
|
-
findBy(key: keyof M, value: any, ...args: MaybeContextualArg<ContextOfRepository<R>>): Promise<M[]>;
|
|
79
|
-
statement(name: string, ...args: MaybeContextualArg<ContextOfRepository<R>>): Promise<any>;
|
|
80
|
-
protected logCtx<ARGS extends any[]>(args: ARGS, method: ((...args: any[]) => any) | string, allowCreate?: boolean): Promise<ContextualizedArgs<any, ARGS>>;
|
|
81
|
-
static forModel<M extends Model<boolean>, S extends ModelService<M>>(this: new (model: ModelConstructor<M>) => S, model: ModelConstructor<M>, alias?: string | symbol): S;
|
|
82
|
-
protected static logCtx<CONTEXT extends Context<any>, ARGS extends any[]>(this: Contextual, args: ARGS, operation: ((...args: any[]) => any) | string, allowCreate: boolean | undefined, overrides: Partial<FlagsOf<CONTEXT>> | undefined, constructor: ModelConstructor<any>): Promise<ContextualizedArgs<CONTEXT, ARGS>>;
|
|
83
|
-
}
|