@agentica/core 0.32.6 → 0.32.7

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,13 +1,108 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.JsonUtil = void 0;
4
+ exports.correctMissingLastBrace = correctMissingLastBrace;
5
+ exports.JsonUtil = {
6
+ parse,
7
+ };
4
8
  function parse(str) {
5
- if (str.startsWith("{}{") === true) {
6
- str = str.substring(2);
9
+ const corrected = pipe(stripFirstBrace, correctMissingLastBrace)(str);
10
+ return JSON.parse(corrected);
11
+ }
12
+ const pipe = (...fns) => (str) => fns.reduce((acc, fn) => fn(acc), str);
13
+ function stripFirstBrace(str) {
14
+ if (RegExp("^{}.").test(str) === true) {
15
+ return str.substring(2);
7
16
  }
8
- return JSON.parse(str);
17
+ return str;
9
18
  }
10
- exports.JsonUtil = {
11
- parse,
19
+ function correctMissingLastBrace(input) {
20
+ const initial = { s: "OUT", stack: [], line: 1, col: 0, edits: [] };
21
+ const scanned = Array.from(input).reduce((ps, ch, i) => {
22
+ var _a;
23
+ const updated = ch === "\n"
24
+ ? Object.assign(Object.assign({}, ps), { line: ps.line + 1, col: 0 }) : Object.assign(Object.assign({}, ps), { col: ps.col + 1 });
25
+ const tok = categorize(ch);
26
+ const trans = (_a = table[updated.s]) === null || _a === void 0 ? void 0 : _a[tok];
27
+ return trans ? trans(updated, ch, i) : updated;
28
+ }, initial);
29
+ // Return original string if string is not closed (do not modify)
30
+ if (scanned.s !== "OUT")
31
+ return input;
32
+ // Insert closing braces at the end for remaining open braces (LIFO)
33
+ const withTail = scanned.stack.length === 0
34
+ ? scanned
35
+ : (() => {
36
+ const closers = scanned.stack.slice().reverse().map(e => closeOf[e.type]).join("");
37
+ return Object.assign(Object.assign({}, scanned), { edits: [...scanned.edits, { op: "insert", index: input.length, text: closers }], stack: [] });
38
+ })();
39
+ return applyEditsImmutable(input, withTail.edits);
40
+ }
41
+ // Apply edits immutably
42
+ function applyEditsImmutable(src, edits) {
43
+ const sorted = [...edits].sort((a, b) => a.index - b.index);
44
+ const built = sorted.reduce((acc, e) => {
45
+ const prefix = src.slice(acc.cursor, e.index);
46
+ const acc1 = { out: acc.out + prefix, cursor: e.index };
47
+ return e.op === "delete"
48
+ ? { out: acc1.out, cursor: acc1.cursor + 1 }
49
+ : e.op === "replace"
50
+ ? { out: acc1.out + e.text, cursor: acc1.cursor + 1 }
51
+ : /* insert */ { out: acc1.out + e.text, cursor: acc1.cursor };
52
+ }, { out: "", cursor: 0 });
53
+ return built.out + src.slice(built.cursor);
54
+ }
55
+ const openOf = Object.freeze({ "}": "{", "]": "[" });
56
+ const closeOf = Object.freeze({ "{": "}", "[": "]" });
57
+ const categorize = (ch) => {
58
+ switch (ch) {
59
+ case '"': return "DQUOTE";
60
+ case "\\": return "BSLASH";
61
+ case "{": return "OCB";
62
+ case "[": return "OSB";
63
+ case "}": return "CCB";
64
+ case "]": return "CSB";
65
+ case "\n": return "NEWLINE";
66
+ default: return "CHAR";
67
+ }
68
+ };
69
+ const push = (ps, type, index) => (Object.assign(Object.assign({}, ps), { stack: [...ps.stack, { type, index }] }));
70
+ const withEdit = (ps, edit) => (Object.assign(Object.assign({}, ps), { edits: [...ps.edits, edit] }));
71
+ const popOrFix = (ps, closer, idx) => (() => {
72
+ if (ps.stack.length === 0) {
73
+ // Extra closing brace → delete
74
+ return withEdit(ps, { op: "delete", index: idx });
75
+ }
76
+ const top = ps.stack[ps.stack.length - 1];
77
+ if (top !== undefined && top.type !== openOf[closer]) {
78
+ // Type mismatch → replace with expected value + pop
79
+ const expected = closeOf[top.type];
80
+ return withEdit(Object.assign(Object.assign({}, ps), { stack: ps.stack.slice(0, -1) }), { op: "replace", index: idx, text: expected });
81
+ }
82
+ // Normal matching → pop
83
+ return Object.assign(Object.assign({}, ps), { stack: ps.stack.slice(0, -1) });
84
+ })();
85
+ const table = {
86
+ OUT: {
87
+ DQUOTE: (ps) => (Object.assign(Object.assign({}, ps), { s: "IN" })),
88
+ OCB: (ps, _ch, i) => push(ps, "{", i),
89
+ OSB: (ps, _ch, i) => push(ps, "[", i),
90
+ CCB: (ps, _ch, i) => popOrFix(ps, "}", i),
91
+ CSB: (ps, _ch, i) => popOrFix(ps, "]", i),
92
+ },
93
+ IN: {
94
+ BSLASH: (ps) => (Object.assign(Object.assign({}, ps), { s: "ESC" })),
95
+ DQUOTE: (ps) => (Object.assign(Object.assign({}, ps), { s: "OUT" })),
96
+ },
97
+ ESC: {
98
+ DQUOTE: (ps) => (Object.assign(Object.assign({}, ps), { s: "IN" })),
99
+ BSLASH: (ps) => (Object.assign(Object.assign({}, ps), { s: "IN" })),
100
+ OCB: (ps) => (Object.assign(Object.assign({}, ps), { s: "IN" })),
101
+ OSB: (ps) => (Object.assign(Object.assign({}, ps), { s: "IN" })),
102
+ CCB: (ps) => (Object.assign(Object.assign({}, ps), { s: "IN" })),
103
+ CSB: (ps) => (Object.assign(Object.assign({}, ps), { s: "IN" })),
104
+ CHAR: (ps) => (Object.assign(Object.assign({}, ps), { s: "IN" })),
105
+ NEWLINE: (ps) => (Object.assign(Object.assign({}, ps), { s: "IN" })),
106
+ },
12
107
  };
13
108
  //# sourceMappingURL=JsonUtil.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"JsonUtil.js","sourceRoot":"","sources":["../../src/utils/JsonUtil.ts"],"names":[],"mappings":";;;AAAA,SAAS,KAAK,CAAC,GAAW;IACxB,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAEY,QAAA,QAAQ,GAAG;IACtB,KAAK;CACN,CAAC"}
1
+ {"version":3,"file":"JsonUtil.js","sourceRoot":"","sources":["../../src/utils/JsonUtil.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const JsonUtil_1 = require("./JsonUtil");
4
+ describe("JsonUtil", () => {
5
+ describe("parse", () => {
6
+ it("should handle string that starts with '{}'", () => {
7
+ const jsonString = '{}{"name": "test", "value": 42}';
8
+ const result = JsonUtil_1.JsonUtil.parse(jsonString);
9
+ expect(result).toEqual({ name: "test", value: 42 });
10
+ });
11
+ it("should handle array with '{}' prefix", () => {
12
+ const jsonString = '{}[1, 2, 3, "test"]';
13
+ const result = JsonUtil_1.JsonUtil.parse(jsonString);
14
+ expect(result).toEqual([1, 2, 3, "test"]);
15
+ });
16
+ it("should handle nested object with '{}' prefix", () => {
17
+ const jsonString = '{}{"user": {"id": 1, "name": "John"}}';
18
+ const result = JsonUtil_1.JsonUtil.parse(jsonString);
19
+ expect(result).toEqual({
20
+ user: { id: 1, name: "John" }
21
+ });
22
+ });
23
+ it("should handle primitive values with '{}' prefix", () => {
24
+ expect(JsonUtil_1.JsonUtil.parse('{}42')).toBe(42);
25
+ expect(JsonUtil_1.JsonUtil.parse('{}"hello"')).toBe("hello");
26
+ expect(JsonUtil_1.JsonUtil.parse('{}true')).toBe(true);
27
+ expect(JsonUtil_1.JsonUtil.parse('{}null')).toBeNull();
28
+ });
29
+ it("should not modify string that doesn't start with '{}'", () => {
30
+ const jsonString = '{"normal": "json"}';
31
+ const result = JsonUtil_1.JsonUtil.parse(jsonString);
32
+ expect(result).toEqual({ normal: "json" });
33
+ });
34
+ // 마지막 괄호 누락 보정 테스트 (예상 기능)
35
+ it("should handle missing closing brace in object", () => {
36
+ const jsonString = '{"name": "test", "value": 42';
37
+ const result = JsonUtil_1.JsonUtil.parse(jsonString);
38
+ expect(result).toEqual({ name: "test", value: 42 });
39
+ });
40
+ it("should handle missing closing bracket in array", () => {
41
+ const jsonString = '[1, 2, 3, "test"';
42
+ const result = JsonUtil_1.JsonUtil.parse(jsonString);
43
+ expect(result).toEqual([1, 2, 3, "test"]);
44
+ });
45
+ it("should handle nested object with missing closing brace", () => {
46
+ const jsonString = '{"user": {"id": 1, "name": "John"}';
47
+ const result = JsonUtil_1.JsonUtil.parse(jsonString);
48
+ expect(result).toEqual({
49
+ user: { id: 1, name: "John" }
50
+ });
51
+ });
52
+ it("should handle complex nested structure with missing closing brace", () => {
53
+ const jsonString = '{"users": [{"id": 1, "name": "John"}, {"id": 2, "name": "Jane"}], "count": 2';
54
+ const result = JsonUtil_1.JsonUtil.parse(jsonString);
55
+ expect(result).toEqual({
56
+ users: [
57
+ { id: 1, name: "John" },
58
+ { id: 2, name: "Jane" }
59
+ ],
60
+ count: 2
61
+ });
62
+ });
63
+ it("should handle both '{}' prefix and missing closing brace", () => {
64
+ const jsonString = '{}{"name": "test", "value": 42';
65
+ const result = JsonUtil_1.JsonUtil.parse(jsonString);
66
+ expect(result).toEqual({ name: "test", value: 42 });
67
+ });
68
+ it("should handle both '{}' prefix and missing closing bracket in array", () => {
69
+ const jsonString = '{}[1, 2, 3, "test"';
70
+ const result = JsonUtil_1.JsonUtil.parse(jsonString);
71
+ expect(result).toEqual([1, 2, 3, "test"]);
72
+ });
73
+ // 에러 케이스 (보정할 수 없는 경우)
74
+ it("should throw error for completely invalid JSON", () => {
75
+ const invalidJson = '{invalid: json without quotes}';
76
+ expect(() => JsonUtil_1.JsonUtil.parse(invalidJson)).toThrow();
77
+ });
78
+ it("should throw error for empty string", () => {
79
+ expect(() => JsonUtil_1.JsonUtil.parse("")).toThrow();
80
+ });
81
+ });
82
+ });
83
+ //# sourceMappingURL=JsonUtil.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JsonUtil.spec.js","sourceRoot":"","sources":["../../src/utils/JsonUtil.spec.ts"],"names":[],"mappings":"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"}
@@ -159,11 +159,6 @@ describe("streamUtil", () => {
159
159
  const emptyResult = yield StreamUtil_1.StreamUtil.reduce(emptyStream, (acc, cur) => acc + cur.toString(), { initial: "initial value" });
160
160
  expect(emptyResult).toBe("initial value");
161
161
  }));
162
- it("should return null for empty stream without initial value", () => __awaiter(void 0, void 0, void 0, function* () {
163
- const emptyNoInitialStream = createEmptyStream();
164
- const emptyNoInitialResult = yield StreamUtil_1.StreamUtil.reduce(emptyNoInitialStream, (acc, cur) => acc + cur, { initial: 0 });
165
- expect(emptyNoInitialResult).toBeNull();
166
- }));
167
162
  it("should work with async generated stream", () => __awaiter(void 0, void 0, void 0, function* () {
168
163
  const stringStream = yield createDelayedNumberStream(1, 3, 10);
169
164
  const stringResult = yield StreamUtil_1.StreamUtil.reduce(stringStream, (acc, cur) => acc + cur.toString(), { initial: "" });
@@ -1 +1 @@
1
- {"version":3,"file":"StreamUtil.spec.js","sourceRoot":"","sources":["../../src/utils/StreamUtil.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StreamUtil.spec.js","sourceRoot":"","sources":["../../src/utils/StreamUtil.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentica/core",
3
- "version": "0.32.6",
3
+ "version": "0.32.7",
4
4
  "description": "Agentic AI Library specialized in LLM Function Calling",
5
5
  "author": "Wrtn Technologies",
6
6
  "license": "MIT",
@@ -0,0 +1,104 @@
1
+ import { JsonUtil } from "./JsonUtil";
2
+
3
+ describe("JsonUtil", () => {
4
+ describe("parse", () => {
5
+ it("should handle string that starts with '{}'", () => {
6
+ const jsonString = '{}{"name": "test", "value": 42}';
7
+ const result = JsonUtil.parse(jsonString);
8
+
9
+ expect(result).toEqual({ name: "test", value: 42 });
10
+ });
11
+
12
+ it("should handle array with '{}' prefix", () => {
13
+ const jsonString = '{}[1, 2, 3, "test"]';
14
+ const result = JsonUtil.parse(jsonString);
15
+
16
+ expect(result).toEqual([1, 2, 3, "test"]);
17
+ });
18
+
19
+ it("should handle nested object with '{}' prefix", () => {
20
+ const jsonString = '{}{"user": {"id": 1, "name": "John"}}';
21
+ const result = JsonUtil.parse(jsonString);
22
+
23
+ expect(result).toEqual({
24
+ user: { id: 1, name: "John" }
25
+ });
26
+ });
27
+
28
+ it("should handle primitive values with '{}' prefix", () => {
29
+ expect(JsonUtil.parse('{}42')).toBe(42);
30
+ expect(JsonUtil.parse('{}"hello"')).toBe("hello");
31
+ expect(JsonUtil.parse('{}true')).toBe(true);
32
+ expect(JsonUtil.parse('{}null')).toBeNull();
33
+ });
34
+
35
+ it("should not modify string that doesn't start with '{}'", () => {
36
+ const jsonString = '{"normal": "json"}';
37
+ const result = JsonUtil.parse(jsonString);
38
+
39
+ expect(result).toEqual({ normal: "json" });
40
+ });
41
+
42
+ // 마지막 괄호 누락 보정 테스트 (예상 기능)
43
+ it("should handle missing closing brace in object", () => {
44
+ const jsonString = '{"name": "test", "value": 42';
45
+ const result = JsonUtil.parse(jsonString);
46
+
47
+ expect(result).toEqual({ name: "test", value: 42 });
48
+ });
49
+
50
+ it("should handle missing closing bracket in array", () => {
51
+ const jsonString = '[1, 2, 3, "test"';
52
+ const result = JsonUtil.parse(jsonString);
53
+
54
+ expect(result).toEqual([1, 2, 3, "test"]);
55
+ });
56
+
57
+ it("should handle nested object with missing closing brace", () => {
58
+ const jsonString = '{"user": {"id": 1, "name": "John"}';
59
+ const result = JsonUtil.parse(jsonString);
60
+
61
+ expect(result).toEqual({
62
+ user: { id: 1, name: "John" }
63
+ });
64
+ });
65
+
66
+ it("should handle complex nested structure with missing closing brace", () => {
67
+ const jsonString = '{"users": [{"id": 1, "name": "John"}, {"id": 2, "name": "Jane"}], "count": 2';
68
+ const result = JsonUtil.parse(jsonString);
69
+
70
+ expect(result).toEqual({
71
+ users: [
72
+ { id: 1, name: "John" },
73
+ { id: 2, name: "Jane" }
74
+ ],
75
+ count: 2
76
+ });
77
+ });
78
+
79
+ it("should handle both '{}' prefix and missing closing brace", () => {
80
+ const jsonString = '{}{"name": "test", "value": 42';
81
+ const result = JsonUtil.parse(jsonString);
82
+
83
+ expect(result).toEqual({ name: "test", value: 42 });
84
+ });
85
+
86
+ it("should handle both '{}' prefix and missing closing bracket in array", () => {
87
+ const jsonString = '{}[1, 2, 3, "test"';
88
+ const result = JsonUtil.parse(jsonString);
89
+
90
+ expect(result).toEqual([1, 2, 3, "test"]);
91
+ });
92
+
93
+ // 에러 케이스 (보정할 수 없는 경우)
94
+ it("should throw error for completely invalid JSON", () => {
95
+ const invalidJson = '{invalid: json without quotes}';
96
+
97
+ expect(() => JsonUtil.parse(invalidJson)).toThrow();
98
+ });
99
+
100
+ it("should throw error for empty string", () => {
101
+ expect(() => JsonUtil.parse("")).toThrow();
102
+ });
103
+ });
104
+ });
@@ -1,10 +1,150 @@
1
+ export const JsonUtil = {
2
+ parse,
3
+ };
4
+
1
5
  function parse(str: string) {
2
- if (str.startsWith("{}{") === true) {
3
- str = str.substring(2);
6
+ const corrected = pipe(stripFirstBrace, correctMissingLastBrace)(str);
7
+ return JSON.parse(corrected);
8
+ }
9
+
10
+ const pipe = (...fns: ((str: string) => string)[]) => (str: string) => fns.reduce((acc, fn) => fn(acc), str);
11
+
12
+ function stripFirstBrace(str: string) {
13
+ if(RegExp("^{}.").test(str) === true) {
14
+ return str.substring(2);
4
15
  }
5
- return JSON.parse(str);
16
+ return str;
6
17
  }
7
18
 
8
- export const JsonUtil = {
9
- parse,
19
+ export function correctMissingLastBrace(input: string): string {
20
+ const initial: ParseState = { s: "OUT", stack: [], line: 1, col: 0, edits: [] };
21
+
22
+ const scanned = Array.from(input).reduce<ParseState>((ps, ch, i) => {
23
+ const updated = ch === "\n"
24
+ ? { ...ps, line: ps.line + 1, col: 0 }
25
+ : { ...ps, col: ps.col + 1 };
26
+
27
+ const tok = categorize(ch);
28
+ const trans = (table[updated.s] as Record<Token, Transition>)?.[tok];
29
+ return trans ? trans(updated, ch, i) : updated;
30
+ }, initial);
31
+
32
+ // Return original string if string is not closed (do not modify)
33
+ if (scanned.s !== "OUT") return input;
34
+
35
+ // Insert closing braces at the end for remaining open braces (LIFO)
36
+ const withTail = scanned.stack.length === 0
37
+ ? scanned
38
+ : ((): ParseState => {
39
+ const closers = scanned.stack.slice().reverse().map(e => closeOf[e.type]).join("");
40
+ return {
41
+ ...scanned,
42
+ edits: [...scanned.edits, { op: "insert", index: input.length, text: closers }],
43
+ stack: [],
44
+ };
45
+ })();
46
+
47
+ return applyEditsImmutable(input, withTail.edits);
48
+ }
49
+
50
+ // Apply edits immutably
51
+ function applyEditsImmutable(src: string, edits: ReadonlyArray<Edit>): string {
52
+ const sorted = [...edits].sort((a, b) => a.index - b.index);
53
+
54
+ type Build = { out: string; cursor: number };
55
+ const built = sorted.reduce<Build>((acc, e) => {
56
+ const prefix = src.slice(acc.cursor, e.index);
57
+ const acc1 = { out: acc.out + prefix, cursor: e.index };
58
+ return e.op === "delete"
59
+ ? { out: acc1.out, cursor: acc1.cursor + 1 }
60
+ : e.op === "replace"
61
+ ? { out: acc1.out + e.text, cursor: acc1.cursor + 1 }
62
+ : /* insert */ { out: acc1.out + e.text, cursor: acc1.cursor };
63
+ }, { out: "", cursor: 0 });
64
+
65
+ return built.out + src.slice(built.cursor);
66
+ }
67
+
68
+ const openOf = Object.freeze<Readonly<Record<BraceClose, BraceOpen>>>({ "}": "{", "]": "[" });
69
+ const closeOf = Object.freeze<Readonly<Record<BraceOpen, BraceClose>>>({ "{": "}", "[": "]" });
70
+
71
+ const categorize = (ch: string): Token => {
72
+ switch (ch) {
73
+ case '"': return "DQUOTE";
74
+ case "\\": return "BSLASH";
75
+ case "{": return "OCB";
76
+ case "[": return "OSB";
77
+ case "}": return "CCB";
78
+ case "]": return "CSB";
79
+ case "\n": return "NEWLINE";
80
+ default: return "CHAR";
81
+ }
82
+ }
83
+
84
+ type Transition = (ps: ParseState, ch: string, i: number) => ParseState;
85
+ type Table = Readonly<Partial<Record<StateName, Partial<Record<Token, Transition>>>>>;
86
+
87
+ const push = (ps: ParseState, type: BraceOpen, index: number): ParseState =>
88
+ ({ ...ps, stack: [...ps.stack, { type, index }] });
89
+
90
+ const withEdit = (ps: ParseState, edit: Edit): ParseState =>
91
+ ({ ...ps, edits: [...ps.edits, edit] });
92
+
93
+ const popOrFix = (ps: ParseState, closer: BraceClose, idx: number): ParseState =>
94
+ ((): ParseState => {
95
+ if (ps.stack.length === 0) {
96
+ // Extra closing brace → delete
97
+ return withEdit(ps, { op: "delete", index: idx });
98
+ }
99
+ const top = ps.stack[ps.stack.length - 1];
100
+ if (top !== undefined && top.type !== openOf[closer]) {
101
+ // Type mismatch → replace with expected value + pop
102
+ const expected = closeOf[top.type];
103
+ return withEdit({ ...ps, stack: ps.stack.slice(0, -1) }, { op: "replace", index: idx, text: expected });
104
+ }
105
+ // Normal matching → pop
106
+ return { ...ps, stack: ps.stack.slice(0, -1) };
107
+ })();
108
+
109
+ const table: Table = {
110
+ OUT: {
111
+ DQUOTE: (ps) => ({ ...ps, s: "IN" }),
112
+ OCB: (ps, _ch, i) => push(ps, "{", i),
113
+ OSB: (ps, _ch, i) => push(ps, "[", i),
114
+ CCB: (ps, _ch, i) => popOrFix(ps, "}", i),
115
+ CSB: (ps, _ch, i) => popOrFix(ps, "]", i),
116
+ },
117
+ IN: {
118
+ BSLASH: (ps) => ({ ...ps, s: "ESC" }),
119
+ DQUOTE: (ps) => ({ ...ps, s: "OUT" }),
120
+ },
121
+ ESC: {
122
+ DQUOTE: (ps) => ({ ...ps, s: "IN" }),
123
+ BSLASH: (ps) => ({ ...ps, s: "IN" }),
124
+ OCB: (ps) => ({ ...ps, s: "IN" }),
125
+ OSB: (ps) => ({ ...ps, s: "IN" }),
126
+ CCB: (ps) => ({ ...ps, s: "IN" }),
127
+ CSB: (ps) => ({ ...ps, s: "IN" }),
128
+ CHAR: (ps) => ({ ...ps, s: "IN" }),
129
+ NEWLINE:(ps) => ({ ...ps, s: "IN" }),
130
+ },
131
+ };
132
+
133
+ type StateName = "OUT" | "IN" | "ESC";
134
+ type BraceOpen = "{" | "[";
135
+ type BraceClose = "}" | "]";
136
+ type Token = "DQUOTE" | "BSLASH" | "OCB" | "OSB" | "CCB" | "CSB" | "NEWLINE" | "CHAR";
137
+
138
+ type StackEntry = { type: BraceOpen; index: number };
139
+ type Edit =
140
+ | { op: "delete"; index: number }
141
+ | { op: "replace"; index: number; text: string }
142
+ | { op: "insert"; index: number; text: string };
143
+
144
+ type ParseState = {
145
+ s: StateName;
146
+ stack: ReadonlyArray<StackEntry>;
147
+ line: number;
148
+ col: number;
149
+ edits: ReadonlyArray<Edit>;
10
150
  };
@@ -188,17 +188,6 @@ describe("streamUtil", () => {
188
188
  expect(emptyResult).toBe("initial value");
189
189
  });
190
190
 
191
- it("should return null for empty stream without initial value", async () => {
192
- const emptyNoInitialStream = createEmptyStream<number>();
193
- const emptyNoInitialResult = await StreamUtil.reduce<number>(
194
- emptyNoInitialStream,
195
- (acc, cur) => acc + cur,
196
- { initial: 0 },
197
- );
198
-
199
- expect(emptyNoInitialResult).toBeNull();
200
- });
201
-
202
191
  it("should work with async generated stream", async () => {
203
192
  const stringStream = await createDelayedNumberStream(1, 3, 10);
204
193
  const stringResult = await StreamUtil.reduce<number, string>(