@aalis/util-json-repair 0.5.2 → 0.5.3
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.map +1 -1
- package/dist/index.js +40 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAwNA;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CA+CxD;AAED,MAAM,WAAW,YAAY;IAC3B,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACvC,oCAAoC;IACpC,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAwBhE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,YAAY,CAE5D"}
|
package/dist/index.js
CHANGED
|
@@ -24,7 +24,7 @@ const repairSteps = [
|
|
|
24
24
|
},
|
|
25
25
|
{
|
|
26
26
|
name: '移除尾部多余逗号',
|
|
27
|
-
apply:
|
|
27
|
+
apply: stripTrailingCommasOutsideStrings,
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
30
|
// 模型截断(max_tokens 触发、推理块被中途切断等)常常少一个或多个 '}'。
|
|
@@ -92,6 +92,45 @@ function isLikelyClosingQuote(s, quoteIndex) {
|
|
|
92
92
|
const afterComma = nextNonWhitespace(s, commaIndex + 1);
|
|
93
93
|
return isJsonValueStart(afterComma) || afterComma === '}' || afterComma === ']';
|
|
94
94
|
}
|
|
95
|
+
/**
|
|
96
|
+
* 移除对象/数组尾部多余逗号(`,]` / `,}`),只在字符串外生效。
|
|
97
|
+
* 无状态的全局 replace 会把字符串**内容**里的 `,]` / `,}` 一并吃掉,
|
|
98
|
+
* 静默改写模型写的正文(落库后无人复核),故与其它两步同款走 inString 状态机。
|
|
99
|
+
*/
|
|
100
|
+
function stripTrailingCommasOutsideStrings(s) {
|
|
101
|
+
let out = '';
|
|
102
|
+
let inString = false;
|
|
103
|
+
let escaped = false;
|
|
104
|
+
let changed = false;
|
|
105
|
+
for (let i = 0; i < s.length; i++) {
|
|
106
|
+
const c = s[i];
|
|
107
|
+
if (escaped) {
|
|
108
|
+
out += c;
|
|
109
|
+
escaped = false;
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
if (c === '\\') {
|
|
113
|
+
out += c;
|
|
114
|
+
if (inString)
|
|
115
|
+
escaped = true;
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
if (c === '"') {
|
|
119
|
+
inString = !inString;
|
|
120
|
+
out += c;
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
if (!inString && c === ',') {
|
|
124
|
+
const next = nextNonWhitespace(s, i + 1);
|
|
125
|
+
if (next === ']' || next === '}') {
|
|
126
|
+
changed = true;
|
|
127
|
+
continue; // 丢掉这个逗号,其后空白原样保留
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
out += c;
|
|
131
|
+
}
|
|
132
|
+
return changed ? out : s;
|
|
133
|
+
}
|
|
95
134
|
function escapeBareQuotesInStrings(s) {
|
|
96
135
|
let out = '';
|
|
97
136
|
let inString = false;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,EAAE;AACF,gDAAgD;AAChD,qCAAqC;AACrC,+CAA+C;AAC/C,EAAE;AACF,qDAAqD;AACrD,4DAA4D;AAC5D,oBAAoB;AAKpB,MAAM,WAAW,GAAiB;IAChC;QACE,8BAA8B;QAC9B,0BAA0B;QAC1B,wCAAwC;QACxC,0CAA0C;QAC1C,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,yBAAyB;KACjC;IACD;QACE,gDAAgD;QAChD,gCAAgC;QAChC,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,kCAAkC,EAAE,oBAAoB,CAAC;KAChF;IACD;QACE,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|