@decaf-ts/core 0.9.2 → 0.9.3
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/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/tasks/TaskEventService.d.ts +7 -0
- package/lib/esm/tasks/TaskEventService.js +15 -0
- package/lib/esm/tasks/TaskEventService.js.map +1 -0
- package/lib/esm/tasks/index.d.ts +1 -0
- package/lib/esm/tasks/index.js +1 -0
- package/lib/esm/tasks/index.js.map +1 -1
- package/lib/esm/utils/utils.d.ts +2 -1
- package/lib/esm/utils/utils.js +22 -5
- package/lib/esm/utils/utils.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/tasks/TaskEventService.cjs +19 -0
- package/lib/tasks/TaskEventService.d.ts +7 -0
- package/lib/tasks/TaskEventService.js.map +1 -0
- package/lib/tasks/index.cjs +1 -0
- package/lib/tasks/index.d.ts +1 -0
- package/lib/tasks/index.js.map +1 -1
- package/lib/utils/utils.cjs +21 -4
- package/lib/utils/utils.d.ts +2 -1
- package/lib/utils/utils.js.map +1 -1
- package/package.json +1 -1
package/lib/esm/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export * from "./persistence";
|
|
|
22
22
|
* @const VERSION
|
|
23
23
|
* @memberOf module:core
|
|
24
24
|
*/
|
|
25
|
-
export declare const VERSION = "0.9.
|
|
25
|
+
export declare const VERSION = "0.9.2";
|
|
26
26
|
/**
|
|
27
27
|
* @description Stores the current package version
|
|
28
28
|
* @summary A constant representing the version of the core package
|
package/lib/esm/index.js
CHANGED
|
@@ -32,7 +32,7 @@ export * from "./persistence/index.js";
|
|
|
32
32
|
* @const VERSION
|
|
33
33
|
* @memberOf module:core
|
|
34
34
|
*/
|
|
35
|
-
export const VERSION = "0.9.
|
|
35
|
+
export const VERSION = "0.9.2";
|
|
36
36
|
/**
|
|
37
37
|
* @description Stores the current package version
|
|
38
38
|
* @summary A constant representing the version of the core package
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type Repo } from "../repository/Repository";
|
|
2
|
+
import { ModelService } from "../services/ModelService";
|
|
3
|
+
import { TaskEventModel } from "./models/index";
|
|
4
|
+
export declare class TaskEventService extends ModelService<TaskEventModel> {
|
|
5
|
+
constructor();
|
|
6
|
+
get repo(): Repo<TaskEventModel>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Service } from "./../services/services.js";
|
|
2
|
+
import { ModelService } from "./../services/ModelService.js";
|
|
3
|
+
import { TaskEventModel } from "./models/index.js";
|
|
4
|
+
export class TaskEventService extends ModelService {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(TaskEventModel);
|
|
7
|
+
}
|
|
8
|
+
get repo() {
|
|
9
|
+
if (!this._repository) {
|
|
10
|
+
this._repository = Service.get(TaskEventModel)["events"];
|
|
11
|
+
}
|
|
12
|
+
return this._repository;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=TaskEventService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskEventService.js","sourceRoot":"","sources":["../../../src/tasks/TaskEventService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,kCAA6B;AAE/C,OAAO,EAAE,YAAY,EAAE,sCAAiC;AACxD,OAAO,EAAE,cAAc,EAAE,0BAAuB;AAGhD,MAAM,OAAO,gBAAiB,SAAQ,YAA4B;IAChE;QACE,KAAK,CAAC,cAAc,CAAC,CAAC;IACxB,CAAC;IAED,IAAa,IAAI;QACf,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GACd,OAAO,CAAC,GAAG,CAAC,cAAqB,CAClC,CAAC,QAAQ,CAAC,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF"}
|
package/lib/esm/tasks/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export * from "./logging";
|
|
|
12
12
|
export * from "./TaskContext";
|
|
13
13
|
export * from "./TaskEngine";
|
|
14
14
|
export * from "./TaskEventBus";
|
|
15
|
+
export * from "./TaskEventService";
|
|
15
16
|
export * from "./TaskHandler";
|
|
16
17
|
export * from "./TaskHandlerRegistry";
|
|
17
18
|
export * from "./TaskService";
|
package/lib/esm/tasks/index.js
CHANGED
|
@@ -12,6 +12,7 @@ export * from "./logging.js";
|
|
|
12
12
|
export * from "./TaskContext.js";
|
|
13
13
|
export * from "./TaskEngine.js";
|
|
14
14
|
export * from "./TaskEventBus.js";
|
|
15
|
+
export * from "./TaskEventService.js";
|
|
15
16
|
export * from "./TaskHandler.js";
|
|
16
17
|
export * from "./TaskHandlerRegistry.js";
|
|
17
18
|
export * from "./TaskService.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tasks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,kCAAyB;AACzB,6BAA0B;AAC1B,iCAA8B;AAC9B,+BAA4B;AAC5B,gCAA6B;AAC7B,6BAA0B;AAC1B,iCAA8B;AAC9B,gCAA6B;AAC7B,kCAA+B;AAC/B,iCAA8B;AAC9B,yCAAsC;AACtC,iCAA8B;AAC9B,iCAA8B;AAC9B,2BAAwB;AACxB,2BAAwB;AACxB,gCAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tasks/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,kCAAyB;AACzB,6BAA0B;AAC1B,iCAA8B;AAC9B,+BAA4B;AAC5B,gCAA6B;AAC7B,6BAA0B;AAC1B,iCAA8B;AAC9B,gCAA6B;AAC7B,kCAA+B;AAC/B,sCAAmC;AACnC,iCAA8B;AAC9B,yCAAsC;AACtC,iCAA8B;AAC9B,iCAA8B;AAC9B,2BAAwB;AACxB,2BAAwB;AACxB,gCAA6B"}
|
package/lib/esm/utils/utils.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { CrudOperations } from "@decaf-ts/db-decorators";
|
|
1
|
+
import { BlockOperationKind, CrudOperations } from "@decaf-ts/db-decorators";
|
|
2
2
|
import type { ModelConstructor } from "@decaf-ts/decorator-validation";
|
|
3
3
|
import { Constructor } from "@decaf-ts/decoration";
|
|
4
4
|
export declare function injectableServiceKey(name: string | symbol | Constructor): string;
|
|
5
5
|
export declare function promiseSequence<T>(tasks: (() => Promise<T>)[], continueOnError?: false): Promise<T[]>;
|
|
6
6
|
export declare function promiseSequence<T>(tasks: (() => Promise<T>)[], continueOnError: true): Promise<PromiseSettledResult<T>[]>;
|
|
7
7
|
export declare function isOperationBlocked(ModelConstructor: ModelConstructor<any>, op: CrudOperations): boolean;
|
|
8
|
+
export declare function isOperationBlocked(ModelConstructor: ModelConstructor<any>, kind: BlockOperationKind, value: string): boolean;
|
|
8
9
|
/**
|
|
9
10
|
* @description Normalizes imports to handle both CommonJS and ESModule formats.
|
|
10
11
|
* @summary Utility function to handle module import differences between formats.
|
package/lib/esm/utils/utils.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { InternalError } from "@decaf-ts/db-decorators";
|
|
2
|
-
import { OperationKeys } from "@decaf-ts/db-decorators";
|
|
1
|
+
import { InternalError, OperationKeys, } from "@decaf-ts/db-decorators";
|
|
3
2
|
import { Metadata } from "@decaf-ts/decoration";
|
|
4
3
|
import { MigrationRuleError } from "./../persistence/errors.js";
|
|
5
4
|
export function injectableServiceKey(name) {
|
|
@@ -30,9 +29,27 @@ export async function promiseSequence(tasks, continueOnError = false) {
|
|
|
30
29
|
}
|
|
31
30
|
return settled;
|
|
32
31
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
const crudOperations = [
|
|
33
|
+
OperationKeys.CREATE,
|
|
34
|
+
OperationKeys.READ,
|
|
35
|
+
OperationKeys.UPDATE,
|
|
36
|
+
OperationKeys.DELETE,
|
|
37
|
+
];
|
|
38
|
+
function isCrudOperation(value) {
|
|
39
|
+
return crudOperations.includes(value);
|
|
40
|
+
}
|
|
41
|
+
export function isOperationBlocked(ModelConstructor, kindOrOperation, value) {
|
|
42
|
+
const metadata = (Metadata.get(ModelConstructor, OperationKeys.REFLECT + OperationKeys.BLOCK) || {});
|
|
43
|
+
if (!metadata?.handler)
|
|
44
|
+
return false;
|
|
45
|
+
const kind = value === undefined && isCrudOperation(kindOrOperation)
|
|
46
|
+
? "crud"
|
|
47
|
+
: kindOrOperation;
|
|
48
|
+
const targetValue = value === undefined && isCrudOperation(kindOrOperation)
|
|
49
|
+
? kindOrOperation
|
|
50
|
+
: value;
|
|
51
|
+
const storedTargets = (metadata.args?.[0] || []);
|
|
52
|
+
return metadata.handler(storedTargets, kind, targetValue) ?? false;
|
|
36
53
|
}
|
|
37
54
|
/**
|
|
38
55
|
* @description Normalizes imports to handle both CommonJS and ESModule formats.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/utils/utils.ts"],"names":[],"mappings":"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"}
|
package/lib/index.cjs
CHANGED
|
@@ -49,7 +49,7 @@ __exportStar(require("./persistence/index.cjs"), exports);
|
|
|
49
49
|
* @const VERSION
|
|
50
50
|
* @memberOf module:core
|
|
51
51
|
*/
|
|
52
|
-
exports.VERSION = "0.9.
|
|
52
|
+
exports.VERSION = "0.9.2";
|
|
53
53
|
/**
|
|
54
54
|
* @description Stores the current package version
|
|
55
55
|
* @summary A constant representing the version of the core package
|
package/lib/index.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export * from "./persistence";
|
|
|
22
22
|
* @const VERSION
|
|
23
23
|
* @memberOf module:core
|
|
24
24
|
*/
|
|
25
|
-
export declare const VERSION = "0.9.
|
|
25
|
+
export declare const VERSION = "0.9.2";
|
|
26
26
|
/**
|
|
27
27
|
* @description Stores the current package version
|
|
28
28
|
* @summary A constant representing the version of the core package
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TaskEventService = void 0;
|
|
4
|
+
const services_1 = require("./../services/services.cjs");
|
|
5
|
+
const ModelService_1 = require("./../services/ModelService.cjs");
|
|
6
|
+
const index_1 = require("./models/index.cjs");
|
|
7
|
+
class TaskEventService extends ModelService_1.ModelService {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(index_1.TaskEventModel);
|
|
10
|
+
}
|
|
11
|
+
get repo() {
|
|
12
|
+
if (!this._repository) {
|
|
13
|
+
this._repository = services_1.Service.get(index_1.TaskEventModel)["events"];
|
|
14
|
+
}
|
|
15
|
+
return this._repository;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.TaskEventService = TaskEventService;
|
|
19
|
+
//# sourceMappingURL=TaskEventService.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type Repo } from "../repository/Repository";
|
|
2
|
+
import { ModelService } from "../services/ModelService";
|
|
3
|
+
import { TaskEventModel } from "./models/index";
|
|
4
|
+
export declare class TaskEventService extends ModelService<TaskEventModel> {
|
|
5
|
+
constructor();
|
|
6
|
+
get repo(): Repo<TaskEventModel>;
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskEventService.js","sourceRoot":"","sources":["../../src/tasks/TaskEventService.ts"],"names":[],"mappings":";;;AAAA,yDAA+C;AAE/C,iEAAwD;AACxD,8CAAgD;AAGhD,MAAa,gBAAiB,SAAQ,2BAA4B;IAChE;QACE,KAAK,CAAC,sBAAc,CAAC,CAAC;IACxB,CAAC;IAED,IAAa,IAAI;QACf,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC,WAAW,GACd,kBAAO,CAAC,GAAG,CAAC,sBAAqB,CAClC,CAAC,QAAQ,CAAC,CAAC;QACd,CAAC;QACD,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;CACF;AAbD,4CAaC"}
|
package/lib/tasks/index.cjs
CHANGED
|
@@ -28,6 +28,7 @@ __exportStar(require("./logging.cjs"), exports);
|
|
|
28
28
|
__exportStar(require("./TaskContext.cjs"), exports);
|
|
29
29
|
__exportStar(require("./TaskEngine.cjs"), exports);
|
|
30
30
|
__exportStar(require("./TaskEventBus.cjs"), exports);
|
|
31
|
+
__exportStar(require("./TaskEventService.cjs"), exports);
|
|
31
32
|
__exportStar(require("./TaskHandler.cjs"), exports);
|
|
32
33
|
__exportStar(require("./TaskHandlerRegistry.cjs"), exports);
|
|
33
34
|
__exportStar(require("./TaskService.cjs"), exports);
|
package/lib/tasks/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export * from "./logging";
|
|
|
12
12
|
export * from "./TaskContext";
|
|
13
13
|
export * from "./TaskEngine";
|
|
14
14
|
export * from "./TaskEventBus";
|
|
15
|
+
export * from "./TaskEventService";
|
|
15
16
|
export * from "./TaskHandler";
|
|
16
17
|
export * from "./TaskHandlerRegistry";
|
|
17
18
|
export * from "./TaskService";
|
package/lib/tasks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tasks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,qDAAyB;AACzB,gDAA0B;AAC1B,oDAA8B;AAC9B,kDAA4B;AAC5B,mDAA6B;AAC7B,gDAA0B;AAC1B,oDAA8B;AAC9B,mDAA6B;AAC7B,qDAA+B;AAC/B,oDAA8B;AAC9B,4DAAsC;AACtC,oDAA8B;AAC9B,oDAA8B;AAC9B,8CAAwB;AACxB,8CAAwB;AACxB,mDAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tasks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;GAIG;AACH,qDAAyB;AACzB,gDAA0B;AAC1B,oDAA8B;AAC9B,kDAA4B;AAC5B,mDAA6B;AAC7B,gDAA0B;AAC1B,oDAA8B;AAC9B,mDAA6B;AAC7B,qDAA+B;AAC/B,yDAAmC;AACnC,oDAA8B;AAC9B,4DAAsC;AACtC,oDAA8B;AAC9B,oDAA8B;AAC9B,8CAAwB;AACxB,8CAAwB;AACxB,mDAA6B"}
|
package/lib/utils/utils.cjs
CHANGED
|
@@ -6,7 +6,6 @@ exports.isOperationBlocked = isOperationBlocked;
|
|
|
6
6
|
exports.normalizeImport = normalizeImport;
|
|
7
7
|
exports.prefixMethod = prefixMethod;
|
|
8
8
|
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
9
|
-
const db_decorators_2 = require("@decaf-ts/db-decorators");
|
|
10
9
|
const decoration_1 = require("@decaf-ts/decoration");
|
|
11
10
|
const errors_1 = require("./../persistence/errors.cjs");
|
|
12
11
|
function injectableServiceKey(name) {
|
|
@@ -37,9 +36,27 @@ async function promiseSequence(tasks, continueOnError = false) {
|
|
|
37
36
|
}
|
|
38
37
|
return settled;
|
|
39
38
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
39
|
+
const crudOperations = [
|
|
40
|
+
db_decorators_1.OperationKeys.CREATE,
|
|
41
|
+
db_decorators_1.OperationKeys.READ,
|
|
42
|
+
db_decorators_1.OperationKeys.UPDATE,
|
|
43
|
+
db_decorators_1.OperationKeys.DELETE,
|
|
44
|
+
];
|
|
45
|
+
function isCrudOperation(value) {
|
|
46
|
+
return crudOperations.includes(value);
|
|
47
|
+
}
|
|
48
|
+
function isOperationBlocked(ModelConstructor, kindOrOperation, value) {
|
|
49
|
+
const metadata = (decoration_1.Metadata.get(ModelConstructor, db_decorators_1.OperationKeys.REFLECT + db_decorators_1.OperationKeys.BLOCK) || {});
|
|
50
|
+
if (!metadata?.handler)
|
|
51
|
+
return false;
|
|
52
|
+
const kind = value === undefined && isCrudOperation(kindOrOperation)
|
|
53
|
+
? "crud"
|
|
54
|
+
: kindOrOperation;
|
|
55
|
+
const targetValue = value === undefined && isCrudOperation(kindOrOperation)
|
|
56
|
+
? kindOrOperation
|
|
57
|
+
: value;
|
|
58
|
+
const storedTargets = (metadata.args?.[0] || []);
|
|
59
|
+
return metadata.handler(storedTargets, kind, targetValue) ?? false;
|
|
43
60
|
}
|
|
44
61
|
/**
|
|
45
62
|
* @description Normalizes imports to handle both CommonJS and ESModule formats.
|
package/lib/utils/utils.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { CrudOperations } from "@decaf-ts/db-decorators";
|
|
1
|
+
import { BlockOperationKind, CrudOperations } from "@decaf-ts/db-decorators";
|
|
2
2
|
import type { ModelConstructor } from "@decaf-ts/decorator-validation";
|
|
3
3
|
import { Constructor } from "@decaf-ts/decoration";
|
|
4
4
|
export declare function injectableServiceKey(name: string | symbol | Constructor): string;
|
|
5
5
|
export declare function promiseSequence<T>(tasks: (() => Promise<T>)[], continueOnError?: false): Promise<T[]>;
|
|
6
6
|
export declare function promiseSequence<T>(tasks: (() => Promise<T>)[], continueOnError: true): Promise<PromiseSettledResult<T>[]>;
|
|
7
7
|
export declare function isOperationBlocked(ModelConstructor: ModelConstructor<any>, op: CrudOperations): boolean;
|
|
8
|
+
export declare function isOperationBlocked(ModelConstructor: ModelConstructor<any>, kind: BlockOperationKind, value: string): boolean;
|
|
8
9
|
/**
|
|
9
10
|
* @description Normalizes imports to handle both CommonJS and ESModule formats.
|
|
10
11
|
* @summary Utility function to handle module import differences between formats.
|
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":"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"}
|