@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.
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const index_1 = require("../index");
4
+ describe('RecordTape Data Methods', () => {
5
+ let tape;
6
+ beforeEach(() => {
7
+ tape = new index_1.RecordTape();
8
+ });
9
+ describe('getLength', () => {
10
+ test('should return 0 for empty tape', () => {
11
+ expect(tape.getLength()).toBe(0);
12
+ });
13
+ test('should return correct length after adding records', () => {
14
+ const record1 = {
15
+ input: { userId: 1 },
16
+ output: { name: 'John' },
17
+ taskName: 'getUser',
18
+ boundaries: {},
19
+ type: 'success'
20
+ };
21
+ const record2 = {
22
+ input: { userId: 2 },
23
+ output: { name: 'Jane' },
24
+ taskName: 'getUser',
25
+ boundaries: {},
26
+ type: 'success'
27
+ };
28
+ tape.push(record1);
29
+ expect(tape.getLength()).toBe(1);
30
+ tape.push(record2);
31
+ expect(tape.getLength()).toBe(2);
32
+ });
33
+ test('should return correct length after removing records', () => {
34
+ const record = {
35
+ input: { userId: 1 },
36
+ output: { name: 'John' },
37
+ taskName: 'getUser',
38
+ boundaries: {},
39
+ type: 'success'
40
+ };
41
+ tape.push(record);
42
+ tape.push(record);
43
+ expect(tape.getLength()).toBe(2);
44
+ tape.shift();
45
+ expect(tape.getLength()).toBe(1);
46
+ tape.shift();
47
+ expect(tape.getLength()).toBe(0);
48
+ });
49
+ });
50
+ describe('shift', () => {
51
+ test('should return undefined for empty tape', () => {
52
+ expect(tape.shift()).toBeUndefined();
53
+ });
54
+ test('should return and remove first record', () => {
55
+ const record1 = {
56
+ input: { userId: 1 },
57
+ output: { name: 'John' },
58
+ taskName: 'getUser',
59
+ boundaries: {},
60
+ type: 'success'
61
+ };
62
+ const record2 = {
63
+ input: { userId: 2 },
64
+ output: { name: 'Jane' },
65
+ taskName: 'getUser',
66
+ boundaries: {},
67
+ type: 'success'
68
+ };
69
+ tape.push(record1);
70
+ tape.push(record2);
71
+ const shiftedRecord = tape.shift();
72
+ // Should return the first record
73
+ expect(shiftedRecord).toEqual(expect.objectContaining({
74
+ taskName: 'getUser',
75
+ input: { userId: 1 },
76
+ output: { name: 'John' },
77
+ type: 'success'
78
+ }));
79
+ // Should have removed the first record
80
+ expect(tape.getLength()).toBe(1);
81
+ expect(tape.getLog()[0]).toEqual(expect.objectContaining({
82
+ taskName: 'getUser',
83
+ input: { userId: 2 },
84
+ output: { name: 'Jane' },
85
+ type: 'success'
86
+ }));
87
+ });
88
+ test('should work correctly with multiple shifts', () => {
89
+ const records = [
90
+ {
91
+ input: { userId: 1 },
92
+ output: { name: 'John' },
93
+ taskName: 'getUser',
94
+ boundaries: {},
95
+ type: 'success'
96
+ },
97
+ {
98
+ input: { userId: 2 },
99
+ output: { name: 'Jane' },
100
+ taskName: 'getUser',
101
+ boundaries: {},
102
+ type: 'success'
103
+ },
104
+ {
105
+ input: { userId: 3 },
106
+ output: { name: 'Bob' },
107
+ taskName: 'getUser',
108
+ boundaries: {},
109
+ type: 'success'
110
+ }
111
+ ];
112
+ records.forEach(record => tape.push(record));
113
+ expect(tape.getLength()).toBe(3);
114
+ const first = tape.shift();
115
+ expect(first === null || first === void 0 ? void 0 : first.input).toEqual({ userId: 1 });
116
+ expect(tape.getLength()).toBe(2);
117
+ const second = tape.shift();
118
+ expect(second === null || second === void 0 ? void 0 : second.input).toEqual({ userId: 2 });
119
+ expect(tape.getLength()).toBe(1);
120
+ const third = tape.shift();
121
+ expect(third === null || third === void 0 ? void 0 : third.input).toEqual({ userId: 3 });
122
+ expect(tape.getLength()).toBe(0);
123
+ const fourth = tape.shift();
124
+ expect(fourth).toBeUndefined();
125
+ expect(tape.getLength()).toBe(0);
126
+ });
127
+ });
128
+ });
129
+ //# sourceMappingURL=data-methods.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-methods.test.js","sourceRoot":"","sources":["../../src/tests/data-methods.test.ts"],"names":[],"mappings":"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"}
@@ -74,8 +74,8 @@ describe('Base tests', () => {
74
74
  });
75
75
  it('Should create a new tape with generic types', () => {
76
76
  const tape = new index_1.RecordTape({ path: emptyPath });
77
- tape.addLogItem('test', { input: [{ name: 'test' }], output: { age: 1 } });
78
- tape.addLogItem('test', { input: [{ name: 'test' }], error: new Error('test') });
77
+ tape.push({ input: [{ name: 'test' }], output: { age: 1 }, type: 'success', boundaries: {}, taskName: 'test' });
78
+ tape.push({ input: [{ name: 'test' }], error: 'test', type: 'error', boundaries: {}, taskName: 'test' });
79
79
  const data = tape.getLog();
80
80
  expect(data.length).toBe(2);
81
81
  const input = data[0].input;
@@ -92,7 +92,7 @@ describe('Base tests', () => {
92
92
  const error2 = data[1].error;
93
93
  expect(input2).toEqual([{ name: 'test' }]);
94
94
  expect(output2).toBeUndefined();
95
- expect(error2).toEqual(new Error('test'));
95
+ expect(error2).toEqual('test');
96
96
  expect(type2).toBe('error');
97
97
  });
98
98
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/tests/index.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/tests/index.test.ts"],"names":[],"mappings":"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"}
@@ -1,36 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const index_1 = require("../index");
4
- const baseTapeData = [
5
- {
6
- name: 'name',
7
- type: 'success',
8
- input: [true],
9
- output: true,
10
- boundaries: {}
11
- },
12
- {
13
- name: 'name',
14
- type: 'error',
15
- input: [true],
16
- error: 'invalid data',
17
- boundaries: {}
18
- }
19
- ];
20
- const logFileData = '{"name":"name","type":"success","input":[true],"output":true,"boundaries":{}}\n{"name":"name","type":"error","input":[true],"error":"invalid data","boundaries":{}}\n';
21
- describe('Log format', () => {
22
- it('Should ensure format', () => {
4
+ describe('Test log item formating', () => {
5
+ it('Should format a log items into valid JSON', async () => {
23
6
  const tape = new index_1.RecordTape({});
24
- tape.addLogItem('name', { input: [true], output: true, boundaries: {} });
25
- tape.addLogItem('name', { input: [true], error: 'invalid data', boundaries: {} });
26
- expect(tape.getLog()).toEqual(baseTapeData);
7
+ tape.push({ input: true, output: true, boundaries: {}, type: 'success', taskName: 'name' });
8
+ tape.push({ input: true, error: 'invalid data', boundaries: {}, type: 'error', taskName: 'name' });
9
+ const str = tape.stringify();
10
+ expect(str).toEqual(`{"input":true,"output":true,"boundaries":{},"type":"success","taskName":"name","metadata":{}}
11
+ {"input":true,"error":"invalid data","boundaries":{},"type":"error","taskName":"name","metadata":{}}
12
+ `);
27
13
  });
28
- it('Should serialize to one line per item', () => {
14
+ it('Should parse the string to a list of records', async () => {
29
15
  const tape = new index_1.RecordTape({});
30
- tape.addLogItem('name', { input: [true], output: true, boundaries: {} });
31
- tape.addLogItem('name', { input: [true], error: 'invalid data', boundaries: {} });
32
- const logFile = tape.stringify();
33
- expect(logFile).toBe(logFileData);
16
+ tape.push({ input: true, output: true, boundaries: {}, type: 'success', taskName: 'name' });
17
+ tape.push({ input: true, error: 'invalid data', boundaries: {}, type: 'error', taskName: 'name' });
18
+ const str = tape.stringify();
19
+ const tape2 = new index_1.RecordTape({});
20
+ const records = tape2.parse(str);
21
+ expect(records).toEqual([
22
+ { input: true, output: true, boundaries: {}, type: 'success', taskName: 'name', metadata: {} },
23
+ { input: true, error: 'invalid data', boundaries: {}, type: 'error', taskName: 'name', metadata: {} }
24
+ ]);
34
25
  });
35
26
  });
36
27
  //# sourceMappingURL=log-format.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"log-format.test.js","sourceRoot":"","sources":["../../src/tests/log-format.test.ts"],"names":[],"mappings":";;AAAA,oCAAqC;AAErC,MAAM,YAAY,GAAG;IACnB;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,CAAC,IAAI,CAAC;QACb,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,EAAE;KACf;IACD;QACE,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,OAAO;QACb,KAAK,EAAE,CAAC,IAAI,CAAC;QACb,KAAK,EAAE,cAAc;QACrB,UAAU,EAAE,EAAE;KACf;CACF,CAAA;AAED,MAAM,WAAW,GAAG,uKAAuK,CAAA;AAE3L,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAI9B,MAAM,IAAI,GAAG,IAAI,kBAAU,CAAwB,EAAE,CAAC,CAAA;QAEtD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAA;QACxE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAA;QAEjF,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAI/C,MAAM,IAAI,GAAG,IAAI,kBAAU,CAAwB,EAAE,CAAC,CAAA;QAEtD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAA;QACxE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAA;QAEjF,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAEhC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"log-format.test.js","sourceRoot":"","sources":["../../src/tests/log-format.test.ts"],"names":[],"mappings":";;AAAA,oCAAqC;AAErC,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACvC,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QAIzD,MAAM,IAAI,GAAG,IAAI,kBAAU,CAAwB,EAAE,CAAC,CAAA;QACtD,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;QAC3F,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;QAElG,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAE5B,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;;CAEvB,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAI5D,MAAM,IAAI,GAAG,IAAI,kBAAU,CAAwB,EAAE,CAAC,CAAA;QACtD,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;QAC3F,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;QAElG,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,CAAA;QAC5B,MAAM,KAAK,GAAG,IAAI,kBAAU,CAAwB,EAAE,CAAC,CAAA;QACvD,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAEhC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC;YACtB,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;YAC9F,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE;SACtG,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
@@ -1,73 +1,85 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const index_1 = require("../index");
4
- describe('Mode behavior', () => {
5
- it('Should start in record mode by default', () => {
6
- const tape = new index_1.RecordTape();
7
- expect(tape.getMode()).toBe('record');
8
- });
9
- it('Should not add log items in replay mode', () => {
10
- const tape = new index_1.RecordTape();
11
- tape.setMode('replay');
12
- tape.addLogItem('test', {
13
- input: { value: 1 },
14
- output: { result: 2 }
15
- });
16
- expect(tape.getLog()).toEqual([]);
17
- });
18
- it('Should add log items in record mode', () => {
19
- const tape = new index_1.RecordTape();
4
+ describe('Test mode', () => {
5
+ it('Should record items if mode is record', () => {
6
+ const tape = new index_1.RecordTape({});
20
7
  tape.setMode('record');
21
- tape.addLogItem('test', {
22
- input: { value: 1 },
23
- output: { result: 2 }
8
+ tape.addLogRecord({
9
+ name: 'test',
10
+ input: { name: 'test' },
11
+ output: { age: 1 },
12
+ boundaries: {},
13
+ type: 'success'
24
14
  });
25
- expect(tape.getLog()).toEqual([
26
- {
15
+ const data = tape.getLog();
16
+ expect(data).toEqual([{
27
17
  name: 'test',
28
- type: 'success',
29
- input: { value: 1 },
30
- output: { result: 2 },
31
- boundaries: {}
32
- }
33
- ]);
18
+ input: { name: 'test' },
19
+ output: { age: 1 },
20
+ boundaries: {},
21
+ type: 'success'
22
+ }]);
34
23
  });
35
- it('Should switch between modes', () => {
36
- const tape = new index_1.RecordTape();
37
- // Start in record mode
38
- expect(tape.getMode()).toBe('record');
39
- tape.addLogItem('test1', {
40
- input: { value: 1 },
41
- output: { result: 2 }
42
- });
43
- // Switch to replay mode
24
+ it('Should not record items if mode is replay', () => {
25
+ const tape = new index_1.RecordTape({});
44
26
  tape.setMode('replay');
45
- expect(tape.getMode()).toBe('replay');
46
- tape.addLogItem('test2', {
47
- input: { value: 3 },
48
- output: { result: 4 }
27
+ tape.addLogRecord({
28
+ name: 'test',
29
+ input: { name: 'test' },
30
+ output: { age: 1 },
31
+ boundaries: {},
32
+ type: 'success'
49
33
  });
50
- // Switch back to record mode
34
+ const data = tape.getLog();
35
+ expect(data).toEqual([]);
36
+ });
37
+ it('Should append logs with same name', () => {
38
+ const tape = new index_1.RecordTape({});
51
39
  tape.setMode('record');
52
- expect(tape.getMode()).toBe('record');
53
- tape.addLogItem('test3', {
54
- input: { value: 5 },
55
- output: { result: 6 }
40
+ tape.addLogRecord({
41
+ name: 'test1',
42
+ input: { name: 'test' },
43
+ output: { age: 1 },
44
+ boundaries: {},
45
+ type: 'success'
46
+ });
47
+ tape.addLogRecord({
48
+ name: 'test2',
49
+ input: { name: 'test' },
50
+ output: { age: 2 },
51
+ boundaries: {},
52
+ type: 'success'
56
53
  });
57
- expect(tape.getLog()).toEqual([
54
+ tape.addLogRecord({
55
+ name: 'test3',
56
+ input: { name: 'test' },
57
+ output: { age: 3 },
58
+ boundaries: {},
59
+ type: 'success'
60
+ });
61
+ const data = tape.getLog();
62
+ expect(data).toEqual([
58
63
  {
59
64
  name: 'test1',
60
- type: 'success',
61
- input: { value: 1 },
62
- output: { result: 2 },
63
- boundaries: {}
65
+ input: { name: 'test' },
66
+ output: { age: 1 },
67
+ boundaries: {},
68
+ type: 'success'
69
+ },
70
+ {
71
+ name: 'test2',
72
+ input: { name: 'test' },
73
+ output: { age: 2 },
74
+ boundaries: {},
75
+ type: 'success'
64
76
  },
65
77
  {
66
78
  name: 'test3',
67
- type: 'success',
68
- input: { value: 5 },
69
- output: { result: 6 },
70
- boundaries: {}
79
+ input: { name: 'test' },
80
+ output: { age: 3 },
81
+ boundaries: {},
82
+ type: 'success'
71
83
  }
72
84
  ]);
73
85
  });
@@ -1 +1 @@
1
- {"version":3,"file":"mode.test.js","sourceRoot":"","sources":["../../src/tests/mode.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mode.test.js","sourceRoot":"","sources":["../../src/tests/mode.test.ts"],"names":[],"mappings":"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"}