fix(tests): Update CI workflows, fix tests and refresh README/package metadata

This commit is contained in:
2025-08-26 20:16:47 +00:00
parent 863adb3b8c
commit dc47bc3d2a
20 changed files with 201 additions and 125 deletions

View File

@@ -16,7 +16,7 @@ export type TPreOrAfterTaskFunction = () => Task<any>;
export class Task<T = undefined> {
public static extractTask<T = undefined>(
preOrAfterTaskArg: Task<T> | TPreOrAfterTaskFunction
preOrAfterTaskArg: Task<T> | TPreOrAfterTaskFunction,
): Task<T> {
switch (true) {
case !preOrAfterTaskArg:
@@ -47,7 +47,7 @@ export class Task<T = undefined> {
public static isTaskTouched<T = undefined>(
taskArg: Task<T> | TPreOrAfterTaskFunction,
touchedTasksArray: Task<T>[]
touchedTasksArray: Task<T>[],
): boolean {
const taskToCheck = Task.extractTask(taskArg);
let result = false;
@@ -61,7 +61,7 @@ export class Task<T = undefined> {
public static runTask = async <T>(
taskArg: Task<T> | TPreOrAfterTaskFunction,
optionsArg: { x?: any; touchedTasksArray?: Task<T>[] }
optionsArg: { x?: any; touchedTasksArray?: Task<T>[] },
) => {
const taskToRun = Task.extractTask(taskArg);
const done = plugins.smartpromise.defer();
@@ -105,7 +105,10 @@ export class Task<T = undefined> {
const localDeferred = plugins.smartpromise.defer();
localDeferred.promise
.then(() => {
if (taskToRun.preTask && !Task.isTaskTouched(taskToRun.preTask, touchedTasksArray)) {
if (
taskToRun.preTask &&
!Task.isTaskTouched(taskToRun.preTask, touchedTasksArray)
) {
return Task.runTask(taskToRun.preTask, { x, touchedTasksArray });
} else {
const done2 = plugins.smartpromise.defer();
@@ -121,8 +124,14 @@ export class Task<T = undefined> {
}
})
.then((x) => {
if (taskToRun.afterTask && !Task.isTaskTouched(taskToRun.afterTask, touchedTasksArray)) {
return Task.runTask(taskToRun.afterTask, { x: x, touchedTasksArray: touchedTasksArray });
if (
taskToRun.afterTask &&
!Task.isTaskTouched(taskToRun.afterTask, touchedTasksArray)
) {
return Task.runTask(taskToRun.afterTask, {
x: x,
touchedTasksArray: touchedTasksArray,
});
} else {
const done2 = plugins.smartpromise.defer();
done2.resolve(x);