@forgehive/runner 0.1.7 → 0.1.8

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/dist/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import { TaskInstanceType, BaseFunction } from '@forgehive/task';
2
2
  import { type SchemaDescription } from '@forgehive/schema';
3
- type TaskRecord<T extends TaskInstanceType = TaskInstanceType> = {
4
- task: T;
3
+ export type GenericTask = TaskInstanceType<BaseFunction, any>;
4
+ type TaskRecord = {
5
+ task: GenericTask;
5
6
  };
6
7
  type Tasks = Record<string, TaskRecord>;
7
8
  export interface RunnerParsedArguments {
@@ -29,11 +30,11 @@ export declare class Runner<InputType = unknown, ParseResult extends RunnerParse
29
30
  description?: string;
30
31
  schema?: SchemaDescription;
31
32
  }>;
32
- load<T extends BaseFunction>(name: string, task: TaskInstanceType<T>): void;
33
- getTask<T extends BaseFunction = BaseFunction>(name: string): TaskInstanceType<T> | undefined;
33
+ load(name: string, task: GenericTask): void;
34
+ getTask(name: string): GenericTask | undefined;
34
35
  getTasks(): Tasks;
35
36
  getTaskList(): string[];
36
- run<T extends BaseFunction, P extends Parameters<T>[0], R = ReturnType<T>>(name: string, args: P): Promise<Awaited<R>>;
37
+ run<F extends BaseFunction = BaseFunction, P = Parameters<F>[0], R = ReturnType<F>>(name: string, args: P): Promise<Awaited<R>>;
37
38
  }
38
39
  export default Runner;
39
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,KAAK,UAAU,CAAC,CAAC,SAAS,gBAAgB,GAAG,gBAAgB,IAAI;IAC/D,IAAI,EAAE,CAAC,CAAA;CACR,CAAA;AAED,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;AAGvC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,qBAAa,MAAM,CAAC,SAAS,GAAG,OAAO,EAAE,WAAW,SAAS,qBAAqB,GAAG,qBAAqB;IACjG,MAAM,EAAE,KAAK,CAAA;IACb,cAAc,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,WAAW,CAAA;IAChD,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;gBAEzC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,WAAW;IAsB/D;;;OAGG;IACH,UAAU,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI;IAIlE;;;;OAIG;YACW,cAAc;IAM5B,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAe9F,IAAI,CAAC,CAAC,SAAS,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,IAAI;IAI3E,OAAO,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS;IAU7F,QAAQ,IAAI,KAAK;IAIjB,WAAW,IAAI,MAAM,EAAE;IAIjB,GAAG,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EAC7E,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,GACN,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAgBvB;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAChE,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAK1D,MAAM,MAAM,WAAW,GAAG,gBAAgB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAA;AAE7D,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,WAAW,CAAA;CAClB,CAAA;AAED,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;AAGvC,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,qBAAa,MAAM,CAAC,SAAS,GAAG,OAAO,EAAE,WAAW,SAAS,qBAAqB,GAAG,qBAAqB;IACjG,MAAM,EAAE,KAAK,CAAA;IACb,cAAc,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,WAAW,CAAA;IAChD,OAAO,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;gBAEzC,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,WAAW;IAsB/D;;;OAGG;IACH,UAAU,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI;IAIlE;;;;OAIG;YACW,cAAc;IAM5B,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAe9F,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,GAAG,IAAI;IAI3C,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAS9C,QAAQ,IAAI,KAAK;IAIjB,WAAW,IAAI,MAAM,EAAE;IAIjB,GAAG,CAAC,CAAC,SAAS,YAAY,GAAG,YAAY,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,EACtF,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,CAAC,GACN,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;CAgBvB;AAED,eAAe,MAAM,CAAA"}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -8,10 +8,8 @@ describe('Runner describe', () => {
8
8
  const schema = new task_1.Schema({
9
9
  value: task_1.Schema.number()
10
10
  });
11
- const task = new task_1.Task(({ value }) => {
11
+ const task = (0, task_1.createTask)(schema, {}, async ({ value }) => {
12
12
  return value;
13
- }, {
14
- schema
15
13
  });
16
14
  task.setDescription('A test task that processes numbers');
17
15
  runner.load('testTask', task);
@@ -30,7 +28,8 @@ describe('Runner describe', () => {
30
28
  });
31
29
  it('should handle tasks without description or schema', () => {
32
30
  const runner = new index_1.Runner();
33
- const task = new task_1.Task(() => {
31
+ const schema = new task_1.Schema({});
32
+ const task = (0, task_1.createTask)(schema, {}, async () => {
34
33
  return 'test';
35
34
  });
36
35
  runner.load('simpleTask', task);
@@ -45,10 +44,11 @@ describe('Runner describe', () => {
45
44
  });
46
45
  it('should handle multiple tasks with task: prefix', () => {
47
46
  const runner = new index_1.Runner();
48
- const runTask = (0, task_1.createTask)(new task_1.Schema({
47
+ const schema = new task_1.Schema({
49
48
  descriptorName: task_1.Schema.string(),
50
49
  args: task_1.Schema.mixedRecord()
51
- }), {}, async () => 'running');
50
+ });
51
+ const runTask = (0, task_1.createTask)(schema, {}, async () => 'running');
52
52
  runTask.setDescription('Executes the task');
53
53
  const createTaskInstance = (0, task_1.createTask)(new task_1.Schema({
54
54
  descriptorName: task_1.Schema.string()
@@ -1 +1 @@
1
- {"version":3,"file":"describe.test.js","sourceRoot":"","sources":["../../src/test/describe.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"describe.test.js","sourceRoot":"","sources":["../../src/test/describe.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- /* eslint-disable @typescript-eslint/no-unused-vars */
4
3
  const index_1 = require("../index");
4
+ const schema_1 = require("@forgehive/schema");
5
5
  const task_1 = require("@forgehive/task");
6
6
  describe('Runner', () => {
7
7
  it('should create a new Runner instance', () => {
@@ -27,16 +27,18 @@ describe('Runner', () => {
27
27
  });
28
28
  });
29
29
  it('should run a task', async () => {
30
- const task = new task_1.Task(() => {
31
- return 'hi five!!!';
32
- });
30
+ const schema = new schema_1.Schema({});
31
+ const task = (0, task_1.createTask)(schema, {}, async () => 'hi five!!!');
33
32
  const runner = new index_1.Runner();
34
33
  runner.load('sample', task);
35
34
  const result = await runner.run('sample', {});
36
35
  expect(result).toBe('hi five!!!');
37
36
  });
38
37
  it('should run a task with params', async () => {
39
- const taskInt = new task_1.Task(({ int }) => {
38
+ const schema = new schema_1.Schema({
39
+ int: schema_1.Schema.number()
40
+ });
41
+ const taskInt = (0, task_1.createTask)(schema, {}, async ({ int }) => {
40
42
  return int + 5;
41
43
  });
42
44
  const runner = new index_1.Runner();
@@ -45,10 +47,16 @@ describe('Runner', () => {
45
47
  expect(result).toBe(11);
46
48
  });
47
49
  it('should run multiple tasks with different params', async () => {
48
- const taskInt = new task_1.Task(({ int }) => {
50
+ const schema = new schema_1.Schema({
51
+ int: schema_1.Schema.number(),
52
+ });
53
+ const schema2 = new schema_1.Schema({
54
+ str: schema_1.Schema.string()
55
+ });
56
+ const taskInt = (0, task_1.createTask)(schema, {}, async ({ int }) => {
49
57
  return int + 5;
50
58
  });
51
- const taskString = new task_1.Task(({ str }) => {
59
+ const taskString = (0, task_1.createTask)(schema2, {}, async ({ str }) => {
52
60
  return str + ' world';
53
61
  });
54
62
  const runner = new index_1.Runner();
@@ -60,10 +68,13 @@ describe('Runner', () => {
60
68
  expect(str).toBe('hello world');
61
69
  });
62
70
  it('should get task back and be able to run it', async () => {
63
- const taskInt = new task_1.Task(async ({ int }) => {
71
+ const schema = new schema_1.Schema({
72
+ int: schema_1.Schema.number()
73
+ });
74
+ const taskInt = (0, task_1.createTask)(schema, {}, async ({ int }) => {
64
75
  return int + 5;
65
76
  });
66
- const indentity = new task_1.Task(async function ({ int }) {
77
+ const indentity = (0, task_1.createTask)(schema, {}, async ({ int }) => {
67
78
  return int + 5;
68
79
  });
69
80
  const runner = new index_1.Runner();
@@ -1 +1 @@
1
- {"version":3,"file":"runner.test.js","sourceRoot":"","sources":["../../src/test/runner.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.test.js","sourceRoot":"","sources":["../../src/test/runner.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@forgehive/runner",
3
- "version": "0.1.7",
3
+ "version": "0.1.8",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -13,8 +13,8 @@
13
13
  }
14
14
  },
15
15
  "dependencies": {
16
- "@forgehive/schema": "0.1.4",
17
- "@forgehive/task": "0.1.7"
16
+ "@forgehive/task": "0.1.8",
17
+ "@forgehive/schema": "0.1.4"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@types/jest": "^29.5.12",
package/src/index.ts CHANGED
@@ -2,8 +2,13 @@
2
2
  import { TaskInstanceType, BaseFunction } from '@forgehive/task'
3
3
  import { type SchemaDescription } from '@forgehive/schema'
4
4
 
5
- type TaskRecord<T extends TaskInstanceType = TaskInstanceType> = {
6
- task: T
5
+ // Export a generic task type that is more permissive with boundaries
6
+ // Allows the load method to accept any task type
7
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
+ export type GenericTask = TaskInstanceType<BaseFunction, any>
9
+
10
+ type TaskRecord = {
11
+ task: GenericTask
7
12
  }
8
13
 
9
14
  type Tasks = Record<string, TaskRecord>
@@ -75,18 +80,17 @@ export class Runner<InputType = unknown, ParseResult extends RunnerParsedArgumen
75
80
  return result
76
81
  }
77
82
 
78
- load<T extends BaseFunction>(name: string, task: TaskInstanceType<T>): void {
83
+ load(name: string, task: GenericTask): void {
79
84
  this._tasks[name] = { task }
80
85
  }
81
86
 
82
- getTask<T extends BaseFunction = BaseFunction>(name: string): TaskInstanceType<T> | undefined {
87
+ getTask(name: string): GenericTask | undefined {
83
88
  if (this._tasks[name] === undefined) {
84
89
  return undefined
85
90
  }
86
91
 
87
92
  const { task } = this._tasks[name]
88
-
89
- return task as TaskInstanceType<T>
93
+ return task
90
94
  }
91
95
 
92
96
  getTasks(): Tasks {
@@ -97,7 +101,7 @@ export class Runner<InputType = unknown, ParseResult extends RunnerParsedArgumen
97
101
  return Object.keys(this._tasks)
98
102
  }
99
103
 
100
- async run<T extends BaseFunction, P extends Parameters<T>[0], R = ReturnType<T>>(
104
+ async run<F extends BaseFunction = BaseFunction, P = Parameters<F>[0], R = ReturnType<F>>(
101
105
  name: string,
102
106
  args: P
103
107
  ): Promise<Awaited<R>> {
@@ -1,5 +1,5 @@
1
1
  import { Runner } from '../index'
2
- import { Task, Schema, createTask } from '@forgehive/task'
2
+ import { Schema, createTask } from '@forgehive/task'
3
3
 
4
4
  describe('Runner describe', () => {
5
5
  it('should return task details including name, description and schema', () => {
@@ -8,10 +8,8 @@ describe('Runner describe', () => {
8
8
  value: Schema.number()
9
9
  })
10
10
 
11
- const task = new Task(({ value }: { value: number }) => {
11
+ const task = createTask(schema, {}, async ({ value }) => {
12
12
  return value
13
- }, {
14
- schema
15
13
  })
16
14
 
17
15
  task.setDescription('A test task that processes numbers')
@@ -34,7 +32,9 @@ describe('Runner describe', () => {
34
32
 
35
33
  it('should handle tasks without description or schema', () => {
36
34
  const runner = new Runner()
37
- const task = new Task(() => {
35
+ const schema = new Schema({})
36
+
37
+ const task = createTask(schema, {}, async () => {
38
38
  return 'test'
39
39
  })
40
40
 
@@ -53,14 +53,13 @@ describe('Runner describe', () => {
53
53
  it('should handle multiple tasks with task: prefix', () => {
54
54
  const runner = new Runner()
55
55
 
56
- const runTask = createTask(
57
- new Schema({
58
- descriptorName: Schema.string(),
59
- args: Schema.mixedRecord()
60
- }),
61
- {},
62
- async () => 'running'
63
- )
56
+ const schema = new Schema({
57
+ descriptorName: Schema.string(),
58
+ args: Schema.mixedRecord()
59
+ })
60
+
61
+ const runTask = createTask(schema, {}, async () => 'running')
62
+
64
63
  runTask.setDescription('Executes the task')
65
64
 
66
65
  const createTaskInstance = createTask(
@@ -72,6 +71,7 @@ describe('Runner describe', () => {
72
71
  return descriptorName
73
72
  }
74
73
  )
74
+
75
75
  createTaskInstance.setDescription('Creates a new task')
76
76
 
77
77
  runner.load('task:run', runTask)
@@ -1,6 +1,6 @@
1
- /* eslint-disable @typescript-eslint/no-unused-vars */
2
1
  import { Runner } from '../index'
3
- import { Task } from '@forgehive/task'
2
+ import { Schema } from '@forgehive/schema'
3
+ import { createTask } from '@forgehive/task'
4
4
 
5
5
  describe('Runner', () => {
6
6
  it('should create a new Runner instance', () => {
@@ -32,9 +32,9 @@ describe('Runner', () => {
32
32
  })
33
33
 
34
34
  it('should run a task', async () => {
35
- const task = new Task(() => {
36
- return 'hi five!!!'
37
- })
35
+ const schema = new Schema({})
36
+
37
+ const task = createTask(schema, {}, async () => 'hi five!!!')
38
38
 
39
39
  const runner = new Runner()
40
40
  runner.load('sample', task)
@@ -45,24 +45,36 @@ describe('Runner', () => {
45
45
  })
46
46
 
47
47
  it('should run a task with params', async () => {
48
- const taskInt = new Task(({ int }: { int: number }) => {
48
+ const schema = new Schema({
49
+ int: Schema.number()
50
+ })
51
+
52
+ const taskInt = createTask(schema, {}, async ({ int }) => {
49
53
  return int + 5
50
54
  })
51
55
 
52
56
  const runner = new Runner()
53
57
  runner.load('sample', taskInt)
54
58
 
55
- const result = await runner.run<typeof taskInt['_fn'], { int: number }, number>('sample', { int: 6 })
59
+ const result = await runner.run('sample', { int: 6 })
56
60
 
57
61
  expect(result).toBe(11)
58
62
  })
59
63
 
60
64
  it('should run multiple tasks with different params', async () => {
61
- const taskInt = new Task(({ int }: { int: number }) => {
65
+ const schema = new Schema({
66
+ int: Schema.number(),
67
+ })
68
+
69
+ const schema2 = new Schema({
70
+ str: Schema.string()
71
+ })
72
+
73
+ const taskInt = createTask(schema, {}, async ({ int }) => {
62
74
  return int + 5
63
75
  })
64
76
 
65
- const taskString = new Task(({ str }: { str: string }) => {
77
+ const taskString = createTask(schema2, {}, async ({ str }) => {
66
78
  return str + ' world'
67
79
  })
68
80
 
@@ -70,26 +82,30 @@ describe('Runner', () => {
70
82
  runner.load('int', taskInt)
71
83
  runner.load('string', taskString)
72
84
 
73
- const int = await runner.run<typeof taskInt['_fn'], { int: number }, number>('int', { int: 6 })
74
- const str = await runner.run<typeof taskString['_fn'], { str: string }, string>('string', { str: 'hello' })
85
+ const int = await runner.run('int', { int: 6 })
86
+ const str = await runner.run('string', { str: 'hello' })
75
87
 
76
88
  expect(int).toBe(11)
77
89
  expect(str).toBe('hello world')
78
90
  })
79
91
 
80
92
  it('should get task back and be able to run it', async () => {
81
- const taskInt = new Task(async ({ int }: { int: number }): Promise<number> => {
93
+ const schema = new Schema({
94
+ int: Schema.number()
95
+ })
96
+
97
+ const taskInt = createTask(schema, {}, async ({ int }) => {
82
98
  return int + 5
83
99
  })
84
100
 
85
- const indentity = new Task(async function ({ int }: { int: number }): Promise<number> {
101
+ const indentity = createTask(schema, {}, async ({ int }) => {
86
102
  return int + 5
87
103
  })
88
104
 
89
105
  const runner = new Runner()
90
106
  runner.load('int', taskInt)
91
107
 
92
- const task = runner.getTask<typeof taskInt['_fn']>('int')
108
+ const task = runner.getTask('int')
93
109
 
94
110
  let int = 0
95
111
  if (task !== undefined) {