0.10.3 • Published 11 months ago

@e-mc/task v0.10.3

Weekly downloads
-
License
BSD-3-Clause
Repository
github
Last release
11 months ago

@e-mc/task

  • NodeJS 16
  • ES2020

General Usage

Interface

import type { IFileManager, IHost, ModuleConstructor } from "./index";
import type { ExternalAsset, IFileThread } from "./asset";
import type { IClient } from "./core";
import type { TaskModule } from "./settings";
import type { Command, SpawnResult } from "./task";

interface ITask extends IClient<IHost, TaskModule> {
    using?(data: IFileThread): Promise<unknown>;
    collect?(items: unknown[], preceding?: boolean): Promise<SpawnResult>[];
    map?(tasks: Command[]): Promise<SpawnResult | void>[];
    series?(tasks: Command[]): Promise<unknown>;
    parallel?(tasks: Command[]): Promise<unknown>;
    spawn?(task: Record<string | number | symbol, unknown>, callback: (result?: SpawnResult) => void): void;
    execute?(manager: IFileManager, task: Record<string | number | symbol, unknown>, callback: (value?: unknown) => void): void;
}

interface TaskConstructor extends ModuleConstructor {
    finalize(this: IHost, instance: ITask, assets: ExternalAsset[]): Promise<void>;
    readonly prototype: ITask;
    new(module?: TaskModule, ...args: unknown[]): ITask;
}

Settings

import type { PermittedDirectories } from "./core";

interface TaskModule {
    // handler: "@pi-r/gulp";
    settings?: {
        broadcast_id?: string | string[];
        users?: Record<string, Record<string, unknown>>;
        exec?: {
            uid?: number;
            gid?: number;
        };
    };
    permission?: PermittedDirectories;
}

Example usage

NOTE: Usage without a Host is conducted through static methods. The using class method is called by the Host to perform the transformation.

References

LICENSE

BSD 3-Clause

0.5.10

1 year ago

0.5.11

1 year ago

0.5.16

11 months ago

0.5.14

11 months ago

0.5.15

11 months ago

0.5.12

1 year ago

0.5.13

12 months ago

0.9.8

1 year ago

0.7.11

1 year ago

0.9.7

1 year ago

0.7.10

1 year ago

0.7.13

1 year ago

0.9.9

1 year ago

0.7.12

1 year ago

0.9.4

1 year ago

0.5.8

1 year ago

0.9.3

1 year ago

0.5.7

1 year ago

0.9.6

1 year ago

0.5.9

1 year ago

0.9.5

1 year ago

0.7.15

11 months ago

0.7.14

12 months ago

0.7.17

11 months ago

0.7.16

11 months ago

0.10.1

1 year ago

0.10.2

12 months ago

0.10.3

11 months ago

0.10.0

1 year ago

0.9.12

11 months ago

0.9.13

11 months ago

0.6.7

1 year ago

0.6.6

1 year ago

0.9.10

12 months ago

0.6.9

1 year ago

0.9.11

11 months ago

0.6.8

1 year ago

0.6.10

1 year ago

0.6.12

11 months ago

0.6.11

12 months ago

0.6.14

11 months ago

0.6.13

11 months ago

0.9.2

1 year ago

0.7.9

1 year ago

0.8.21

11 months ago

0.7.8

1 year ago

0.8.20

11 months ago

0.7.7

1 year ago

0.8.12

1 year ago

0.8.11

1 year ago

0.8.14

1 year ago

0.8.13

1 year ago

0.8.19

11 months ago

0.8.16

1 year ago

0.8.15

1 year ago

0.8.18

12 months ago

0.8.17

1 year ago

0.6.5

1 year ago

0.6.4

1 year ago

0.8.9

1 year ago

0.8.8

1 year ago

0.7.6

1 year ago

0.7.5

1 year ago

0.8.10

1 year ago

0.6.3

1 year ago

0.7.4

1 year ago

0.5.6

1 year ago

0.9.1

1 year ago

0.9.0

1 year ago

0.8.7

1 year ago

0.6.2

1 year ago

0.7.3

1 year ago

0.5.5

1 year ago

0.8.6

2 years ago

0.7.2

2 years ago

0.5.4

2 years ago

0.6.1

2 years ago

0.8.5

2 years ago

0.8.4

2 years ago

0.8.3

2 years ago

0.8.2

2 years ago

0.8.1

2 years ago

0.8.0

2 years ago

0.7.1

2 years ago

0.7.0

2 years ago

0.6.0

2 years ago

0.5.3

2 years ago

0.5.2

2 years ago

0.5.1

2 years ago

0.5.0

2 years ago

0.4.2

2 years ago

0.4.1

2 years ago

0.4.0

2 years ago

0.3.3

2 years ago

0.3.2

3 years ago

0.3.1

3 years ago

0.3.0

3 years ago

0.2.0

3 years ago

0.1.0

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago