@forgehive/record-tape 0.1.6 → 0.2.1

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.
@@ -1,281 +1,149 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const index_1 = require("../index");
4
3
  const task_1 = require("@forgehive/task");
5
- describe('RecordTape safeRun integration tests', () => {
6
- it('should record log items directly from safeRun result', async () => {
7
- // Create a schema
8
- const schema = new task_1.Schema({
9
- value: task_1.Schema.number()
10
- });
11
- // Define the boundaries
12
- const boundaries = {
13
- fetchData: async (value) => {
14
- return value * 2;
15
- }
16
- };
17
- // Create the task
18
- const task = (0, task_1.createTask)(schema, boundaries, async function ({ value }, { fetchData }) {
19
- const result = await fetchData(value);
20
- return { result, success: true };
21
- });
22
- // Create a record tape
23
- const tape = new index_1.RecordTape();
24
- // Run the task with safeRun and directly use the logItem
25
- const [result, error, record] = await task.safeRun({ value: 5 });
26
- tape.push('test-task', record);
27
- // Verify the execution was successful
28
- expect(error).toBeNull();
29
- expect(result).toEqual({ result: 10, success: true });
30
- // Get the recorded log from the tape
31
- const recordedLog = tape.getLog();
32
- // Verify the log was recorded correctly
33
- expect(recordedLog).toHaveLength(1);
34
- const logItem = recordedLog[0];
35
- expect(logItem.name).toEqual('test-task');
36
- expect(logItem.type).toEqual('success');
37
- expect(logItem.input).toEqual({ value: 5 });
38
- expect(logItem.output).toEqual({ result: 10, success: true });
39
- expect(logItem.boundaries).toEqual({
40
- fetchData: [{
41
- input: [5],
42
- output: 10,
43
- error: null
44
- }]
45
- });
46
- });
47
- it('should record log items from safeRun successfully', async () => {
48
- // Create a schema
49
- const schema = new task_1.Schema({
50
- value: task_1.Schema.number()
51
- });
52
- // Define the boundaries
53
- const boundaries = {
54
- fetchData: async (value) => {
55
- return value * 2;
4
+ const index_1 = require("../index");
5
+ describe('Safe run', () => {
6
+ it('Should run a simple task with no boundaries and register to a tape', async () => {
7
+ const tape = new index_1.RecordTape({});
8
+ const task = (0, task_1.createTask)({
9
+ name: 'simple-task',
10
+ schema: new task_1.Schema({
11
+ value: task_1.Schema.number()
12
+ }),
13
+ boundaries: {},
14
+ fn: async ({ value }) => {
15
+ return { doubled: value * 2 };
56
16
  }
57
- };
58
- // Create the task
59
- const task = (0, task_1.createTask)(schema, boundaries, async function ({ value }, { fetchData }) {
60
- const result = await fetchData(value);
61
- return { result, success: true };
62
17
  });
63
- // Create a record tape
64
- const tape = new index_1.RecordTape();
65
- // Add listener to record the log items
66
18
  task.addListener((record) => {
67
- // Manually ensure boundary records have error field for consistency with safeRun
68
- if (record.boundaries && record.boundaries.fetchData && Array.isArray(record.boundaries.fetchData)) {
69
- record.boundaries.fetchData = record.boundaries.fetchData.map((entry) => {
70
- var _a, _b;
71
- return (Object.assign(Object.assign({}, entry), { error: (_a = entry.error) !== null && _a !== void 0 ? _a : null, output: (_b = entry.output) !== null && _b !== void 0 ? _b : null }));
72
- });
73
- }
74
- // Cast the record to LogItem type to satisfy TypeScript
75
- tape.addLogItem('test-task', record);
19
+ tape.push(record);
76
20
  });
77
- // Run the task with safeRun
21
+ // Test simple execution
78
22
  const [result, error] = await task.safeRun({ value: 5 });
79
- // Verify the execution was successful
80
23
  expect(error).toBeNull();
81
- expect(result).toEqual({ result: 10, success: true });
82
- // Get the recorded log from the tape
83
- const recordedLog = tape.getLog();
84
- // Verify the log was recorded correctly
85
- expect(recordedLog).toHaveLength(1);
86
- expect(recordedLog[0]).toEqual({
87
- name: 'test-task',
24
+ expect(result).toEqual({ doubled: 10 });
25
+ const log = tape.getLog();
26
+ expect(log).toHaveLength(1);
27
+ expect(log[0]).toEqual({
88
28
  type: 'success',
89
29
  input: { value: 5 },
90
- output: { result: 10, success: true },
91
- boundaries: {
92
- fetchData: [{
93
- input: [5],
94
- output: 10,
95
- error: null
96
- }]
97
- }
30
+ output: { doubled: 10 },
31
+ boundaries: {},
32
+ metadata: {},
33
+ taskName: 'simple-task'
98
34
  });
99
35
  });
100
- it('should record error log items from safeRun', async () => {
101
- // Create a schema
102
- const schema = new task_1.Schema({
103
- value: task_1.Schema.number()
104
- });
105
- // Define the boundaries with a function that will throw an error
106
- const boundaries = {
107
- fetchData: async (value) => {
108
- if (value < 0) {
109
- throw new Error('Value cannot be negative');
36
+ it('Should run a task with boundaries and register to a tape', async () => {
37
+ const tape = new index_1.RecordTape({});
38
+ const task = (0, task_1.createTask)({
39
+ name: 'test',
40
+ schema: new task_1.Schema({
41
+ value: task_1.Schema.number().min(10).max(20)
42
+ }),
43
+ boundaries: {
44
+ multiply: async (value) => {
45
+ return value * 2;
110
46
  }
111
- return value * 2;
47
+ },
48
+ fn: async ({ value }, { multiply }) => {
49
+ const result = await multiply(value);
50
+ return { result, success: result > 10 };
112
51
  }
113
- };
114
- // Create the task
115
- const task = (0, task_1.createTask)(schema, boundaries, async function ({ value }, { fetchData }) {
116
- const result = await fetchData(value);
117
- return { result, success: true };
118
52
  });
119
- // Create a record tape
120
- const tape = new index_1.RecordTape();
121
- // Add listener to record the log items
122
53
  task.addListener((record) => {
123
- // Manually ensure boundary records have error field for consistency with safeRun
124
- if (record.boundaries && record.boundaries.fetchData && Array.isArray(record.boundaries.fetchData)) {
125
- record.boundaries.fetchData = record.boundaries.fetchData.map((entry) => {
126
- var _a, _b;
127
- return (Object.assign(Object.assign({}, entry), { error: (_a = entry.error) !== null && _a !== void 0 ? _a : null, output: (_b = entry.output) !== null && _b !== void 0 ? _b : null }));
128
- });
129
- }
130
- // Cast the record to LogItem type to satisfy TypeScript
131
- tape.addLogItem('test-task', record);
54
+ tape.push(record);
132
55
  });
133
- // Run the task with safeRun with a value that will cause an error
134
- const [result, error] = await task.safeRun({ value: -5 });
135
- // Verify the execution failed as expected
136
- expect(result).toBeNull();
137
- expect(error).not.toBeNull();
138
- expect(error === null || error === void 0 ? void 0 : error.message).toContain('Value cannot be negative');
139
- // Get the recorded log from the tape
140
- const recordedLog = tape.getLog();
141
- // Verify the error log was recorded correctly
142
- expect(recordedLog).toHaveLength(1);
143
- expect(recordedLog[0]).toEqual({
144
- name: 'test-task',
56
+ // Test invalid input
57
+ let [result, error] = await task.safeRun({ value: 5 });
58
+ expect(error).toBeDefined();
59
+ expect(error === null || error === void 0 ? void 0 : error.message).toContain('Invalid input');
60
+ [result, error] = await task.safeRun({ value: 15 });
61
+ expect(error).toBeNull();
62
+ expect(result).toEqual({ result: 30, success: true });
63
+ const log = tape.getLog();
64
+ expect(log).toHaveLength(2);
65
+ expect(log[0]).toEqual({
145
66
  type: 'error',
146
- input: { value: -5 },
147
- error: 'Value cannot be negative',
67
+ input: { value: 5 },
68
+ error: 'Invalid input on: value: Number must be greater than or equal to 10',
69
+ boundaries: {
70
+ multiply: []
71
+ },
72
+ metadata: {},
73
+ taskName: 'test'
74
+ });
75
+ expect(log[1]).toEqual({
76
+ type: 'success',
77
+ input: { value: 15 },
78
+ output: { result: 30, success: true },
148
79
  boundaries: {
149
- fetchData: [{
150
- input: [-5],
151
- error: 'Value cannot be negative',
152
- output: null
80
+ multiply: [{
81
+ input: [15],
82
+ output: 30
153
83
  }]
154
- }
84
+ },
85
+ metadata: {},
86
+ taskName: 'test'
155
87
  });
156
88
  });
157
- it('should handle error records directly with push', async () => {
158
- // Create a schema
159
- const schema = new task_1.Schema({
160
- value: task_1.Schema.number()
161
- });
162
- // Define the boundaries with a function that will throw an error
163
- const boundaries = {
164
- fetchData: async (value) => {
165
- if (value < 0) {
166
- throw new Error('Value cannot be negative');
89
+ it('Should run a task with boundaries and register errors to a tape', async () => {
90
+ const tape = new index_1.RecordTape({});
91
+ const task = (0, task_1.createTask)({
92
+ name: 'test',
93
+ schema: new task_1.Schema({
94
+ value: task_1.Schema.number()
95
+ }),
96
+ boundaries: {
97
+ divide: async (value) => {
98
+ if (value === 0) {
99
+ throw new Error('Division by zero');
100
+ }
101
+ return 100 / value;
167
102
  }
168
- return value * 2;
103
+ },
104
+ fn: async ({ value }, { divide }) => {
105
+ const result = await divide(value);
106
+ return { result };
169
107
  }
170
- };
171
- // Create the task
172
- const task = (0, task_1.createTask)(schema, boundaries, async function ({ value }, { fetchData }) {
173
- const result = await fetchData(value);
174
- return { result, success: true };
175
108
  });
176
- // Create a record tape
177
- const tape = new index_1.RecordTape();
178
- // Run the task with safeRun with a value that will cause an error
179
- const [result, error, record] = await task.safeRun({ value: -5 });
180
- // Push the error record directly with type parameter
181
- tape.push('test-error', record);
182
- // Verify the execution failed as expected
183
- expect(result).toBeNull();
184
- expect(error).not.toBeNull();
185
- expect(error instanceof Error).toBe(true);
186
- if (error instanceof Error) {
187
- expect(error.message).toContain('Value cannot be negative');
188
- }
189
- // Get the recorded log from the tape
190
- const recordedLog = tape.getLog();
191
- // Verify the error log was recorded correctly
192
- expect(recordedLog).toHaveLength(1);
193
- expect(recordedLog[0]).toEqual({
194
- name: 'test-error',
109
+ task.addListener((record) => {
110
+ tape.push(record);
111
+ });
112
+ // Test division by zero
113
+ const [, error] = await task.safeRun({ value: 0 });
114
+ expect(error).toBeDefined();
115
+ expect(error === null || error === void 0 ? void 0 : error.message).toBe('Division by zero');
116
+ // Test valid input
117
+ const [secondResult, secondError] = await task.safeRun({ value: 10 });
118
+ expect(secondError).toBeNull();
119
+ expect(secondResult).toEqual({ result: 10 });
120
+ const log = tape.getLog();
121
+ expect(log).toHaveLength(2);
122
+ expect(log[0]).toEqual({
195
123
  type: 'error',
196
- input: { value: -5 },
197
- error: 'Value cannot be negative',
124
+ input: { value: 0 },
125
+ error: 'Division by zero',
198
126
  boundaries: {
199
- fetchData: [{
200
- input: [-5],
201
- output: null,
202
- error: 'Value cannot be negative'
127
+ divide: [{
128
+ input: [0],
129
+ error: 'Division by zero'
203
130
  }]
204
- }
131
+ },
132
+ metadata: {},
133
+ taskName: 'test'
205
134
  });
206
- });
207
- it('should handle custom execution records with push', async () => {
208
- // Create a record tape
209
- const tape = new index_1.RecordTape();
210
- // Create a custom execution record
211
- const customRecord = {
212
- input: { value: 10 },
213
- output: { result: 20 },
214
- boundaries: {
215
- fetchData: [
216
- {
217
- input: [10],
218
- output: 20
219
- }
220
- ]
221
- }
222
- };
223
- // Push the custom record
224
- tape.push('custom-record', customRecord);
225
- // Get the recorded log from the tape
226
- const recordedLog = tape.getLog();
227
- // Verify the log was recorded correctly
228
- expect(recordedLog).toHaveLength(1);
229
- expect(recordedLog[0]).toEqual({
230
- name: 'custom-record',
135
+ expect(log[1]).toEqual({
231
136
  type: 'success',
232
137
  input: { value: 10 },
233
- output: { result: 20 },
138
+ output: { result: 10 },
234
139
  boundaries: {
235
- fetchData: [{
140
+ divide: [{
236
141
  input: [10],
237
- output: 20,
238
- error: null
142
+ output: 10
239
143
  }]
240
144
  },
241
- context: undefined
242
- });
243
- });
244
- it('should handle execution records with Promise outputs correctly', async () => {
245
- // Create a record tape
246
- const tape = new index_1.RecordTape();
247
- // Create a custom execution record with a Promise output
248
- const promiseResult = Promise.resolve({ result: 30 });
249
- const promiseRecord = {
250
- input: { value: 15 },
251
- output: promiseResult,
252
- boundaries: {
253
- fetchData: [
254
- {
255
- input: [15],
256
- output: 30
257
- }
258
- ]
259
- }
260
- };
261
- // Push the record with Promise output using type parameter
262
- tape.push('promise-record', promiseRecord);
263
- // Get the recorded log from the tape
264
- const recordedLog = tape.getLog();
265
- // Verify the log was recorded correctly, with Promise output set to null
266
- expect(recordedLog).toHaveLength(1);
267
- expect(recordedLog[0]).toEqual({
268
- name: 'promise-record',
269
- type: 'success',
270
- input: { value: 15 },
271
- output: null, // Promise output should be set to null
272
- boundaries: {
273
- fetchData: [{
274
- input: [15],
275
- output: 30,
276
- error: null
277
- }]
278
- }
145
+ metadata: {},
146
+ taskName: 'test'
279
147
  });
280
148
  });
281
149
  });
@@ -1 +1 @@
1
- {"version":3,"file":"safe-run.test.js","sourceRoot":"","sources":["../../src/tests/safe-run.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"safe-run.test.js","sourceRoot":"","sources":["../../src/tests/safe-run.test.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const fs_1 = __importDefault(require("fs"));
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const index_1 = require("../index");
9
- const logFileData = '{"name":"name","type":"success","input":[true],"output":true,"boundaries":{}}\n{"name":"name","type":"error","input":[true],"error":"invalid data","boundaries":{}}\n';
9
+ const logFileData = '{"input":true,"output":true,"boundaries":{},"type":"success","taskName":"name","metadata":{}}\n{"input":true,"error":"invalid data","boundaries":{},"type":"error","taskName":"name","metadata":{}}\n';
10
10
  describe('Save to file async', () => {
11
11
  it('Save async to existing file(should add new logs)', async () => {
12
12
  const tapeFilePath = path_1.default.resolve(__dirname, './fixtures/save');
@@ -19,8 +19,8 @@ describe('Save to file async', () => {
19
19
  }
20
20
  const tape = new index_1.RecordTape({ path: tapeFilePath });
21
21
  await tape.load();
22
- tape.addLogItem('name', { input: [true], output: true, boundaries: {} });
23
- tape.addLogItem('name', { input: [true], error: 'invalid data', boundaries: {} });
22
+ tape.push({ input: true, output: true, boundaries: {}, type: 'success', taskName: 'name' });
23
+ tape.push({ input: true, error: 'invalid data', boundaries: {}, type: 'error', taskName: 'name' });
24
24
  await tape.save();
25
25
  const content = await fs_1.default.promises.readFile(tapeFilePath + '.log', 'utf8');
26
26
  expect(tape.getLog().length).toBe(4);
@@ -30,8 +30,8 @@ describe('Save to file async', () => {
30
30
  it('Save async to a path of invalid folder', async () => {
31
31
  const tapeFilePath = path_1.default.resolve(__dirname, './nowhere/nop');
32
32
  const tape = new index_1.RecordTape({ path: tapeFilePath });
33
- tape.addLogItem('name', { input: [true], output: true, boundaries: {} });
34
- tape.addLogItem('name', { input: [true], error: 'invalid data', boundaries: {} });
33
+ tape.push({ input: true, output: true, boundaries: {}, type: 'success', taskName: 'name' });
34
+ tape.push({ input: true, error: 'invalid data', boundaries: {}, type: 'error', taskName: 'name' });
35
35
  await expect(tape.save()).rejects.toThrow('Folder doesn\'t exists');
36
36
  });
37
37
  it('Save async to a log file that doesnt exist', async () => {
@@ -44,8 +44,8 @@ describe('Save to file async', () => {
44
44
  // console.warn('Didnt found a file to unlink')
45
45
  }
46
46
  const tape = new index_1.RecordTape({ path: tapeFilePath });
47
- tape.addLogItem('name', { input: [true], output: true, boundaries: {} });
48
- tape.addLogItem('name', { input: [true], error: 'invalid data', boundaries: {} });
47
+ tape.push({ input: true, output: true, boundaries: {}, type: 'success', taskName: 'name' });
48
+ tape.push({ input: true, error: 'invalid data', boundaries: {}, type: 'error', taskName: 'name' });
49
49
  await tape.save();
50
50
  const content = await fs_1.default.promises.readFile(tapeFilePath + '.log', 'utf8');
51
51
  expect(content).toBe(logFileData);
@@ -62,8 +62,8 @@ describe('Save to file sync', () => {
62
62
  // console.warn('didnt found a file to unlink')
63
63
  }
64
64
  const tape = new index_1.RecordTape({ path: tapeFilePath });
65
- tape.addLogItem('name', { input: [true], output: true, boundaries: {} });
66
- tape.addLogItem('name', { input: [true], error: 'invalid data', boundaries: {} });
65
+ tape.push({ input: true, output: true, boundaries: {}, type: 'success', taskName: 'name' });
66
+ tape.push({ input: true, error: 'invalid data', boundaries: {}, type: 'error', taskName: 'name' });
67
67
  tape.saveSync();
68
68
  const content = fs_1.default.readFileSync(tapeFilePath + '.log', 'utf8');
69
69
  expect(content).toBe(logFileData);
@@ -71,8 +71,8 @@ describe('Save to file sync', () => {
71
71
  it('Save sync to a path of invalid folder', () => {
72
72
  const tapeFilePath = path_1.default.resolve(__dirname, './nowhere/nop');
73
73
  const tape = new index_1.RecordTape({ path: tapeFilePath });
74
- tape.addLogItem('name', { input: [true], output: true, boundaries: {} });
75
- tape.addLogItem('name', { input: [true], error: 'invalid data', boundaries: {} });
74
+ tape.push({ input: true, output: true, boundaries: {}, type: 'success', taskName: 'name' });
75
+ tape.push({ input: true, error: 'invalid data', boundaries: {}, type: 'error', taskName: 'name' });
76
76
  expect(() => tape.saveSync()).toThrow('Folder doesn\'t exists');
77
77
  });
78
78
  it('Save sync to a log file that doesnt exist', () => {
@@ -85,8 +85,8 @@ describe('Save to file sync', () => {
85
85
  // console.warn('Didnt found a file to unlink')
86
86
  }
87
87
  const tape = new index_1.RecordTape({ path: tapeFilePath });
88
- tape.addLogItem('name', { input: [true], output: true, boundaries: {} });
89
- tape.addLogItem('name', { input: [true], error: 'invalid data', boundaries: {} });
88
+ tape.push({ input: true, output: true, boundaries: {}, type: 'success', taskName: 'name' });
89
+ tape.push({ input: true, error: 'invalid data', boundaries: {}, type: 'error', taskName: 'name' });
90
90
  tape.saveSync();
91
91
  const content = fs_1.default.readFileSync(tapeFilePath + '.log', 'utf8');
92
92
  expect(content).toBe(logFileData);
@@ -1 +1 @@
1
- {"version":3,"file":"save.test.js","sourceRoot":"","sources":["../../src/tests/save.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"save.test.js","sourceRoot":"","sources":["../../src/tests/save.test.ts"],"names":[],"mappings":"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"}