glotto 2.8.0 → 2.9.0
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/esm/cli.js +2 -2
- package/esm/deno.d.ts +1 -0
- package/esm/deno.js +7 -6
- package/esm/deps/jsr.io/@std/cli/1.0.29/_data.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/_run_length.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/mod.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/parse_args.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/parse_args.js +17 -3
- package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/prompt_secret.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/prompt_secret.js +1 -1
- package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/unicode_width.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/unstable_spinner.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/internal/1.0.13/_os.d.ts.map +1 -0
- package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/_os.js +1 -1
- package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/os.d.ts.map +1 -1
- package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/os.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/basename.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/constants.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/dirname.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/extname.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/format.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/from_file_url.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/glob_to_regexp.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/is_absolute.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/join.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/join_globs.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/normalize.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/normalize_glob.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/parse.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/relative.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/resolve.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/to_file_url.js +1 -1
- package/esm/deps/jsr.io/@std/path/1.1.4/to_namespaced_path.js +1 -1
- package/esm/src/contants.d.ts +0 -1
- package/esm/src/contants.d.ts.map +1 -1
- package/esm/src/contants.js +0 -1
- package/esm/src/file.d.ts +1 -1
- package/esm/src/file.d.ts.map +1 -1
- package/esm/src/file.js +19 -4
- package/esm/src/providers/anthropic.d.ts.map +1 -1
- package/esm/src/providers/anthropic.js +10 -5
- package/esm/src/providers/gemini.d.ts.map +1 -1
- package/esm/src/providers/gemini.js +10 -5
- package/esm/src/providers/openai.d.ts.map +1 -1
- package/esm/src/providers/openai.js +10 -5
- package/esm/src/utilites.d.ts +2 -1
- package/esm/src/utilites.d.ts.map +1 -1
- package/esm/src/utilites.js +55 -0
- package/package.json +4 -4
- package/script/cli.js +2 -2
- package/script/deno.d.ts +1 -0
- package/script/deno.js +7 -6
- package/script/deps/jsr.io/@std/cli/1.0.29/_data.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/_run_length.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/mod.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/parse_args.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/parse_args.js +17 -3
- package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/prompt_secret.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/prompt_secret.js +1 -1
- package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/unicode_width.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/unstable_spinner.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/internal/1.0.13/_os.d.ts.map +1 -0
- package/script/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/_os.js +1 -1
- package/script/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/os.d.ts.map +1 -1
- package/script/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/os.js +1 -1
- package/script/deps/jsr.io/@std/path/1.1.4/basename.js +1 -1
- package/script/deps/jsr.io/@std/path/1.1.4/constants.js +1 -1
- package/script/deps/jsr.io/@std/path/1.1.4/dirname.js +1 -1
- package/script/deps/jsr.io/@std/path/1.1.4/extname.js +1 -1
- package/script/deps/jsr.io/@std/path/1.1.4/format.js +1 -1
- package/script/deps/jsr.io/@std/path/1.1.4/from_file_url.js +1 -1
- package/script/deps/jsr.io/@std/path/1.1.4/glob_to_regexp.js +1 -1
- package/script/deps/jsr.io/@std/path/1.1.4/is_absolute.js +1 -1
- package/script/deps/jsr.io/@std/path/1.1.4/join.js +1 -1
- package/script/deps/jsr.io/@std/path/1.1.4/join_globs.js +1 -1
- package/script/deps/jsr.io/@std/path/1.1.4/normalize.js +1 -1
- package/script/deps/jsr.io/@std/path/1.1.4/normalize_glob.js +1 -1
- package/script/deps/jsr.io/@std/path/1.1.4/parse.js +1 -1
- package/script/deps/jsr.io/@std/path/1.1.4/relative.js +1 -1
- package/script/deps/jsr.io/@std/path/1.1.4/resolve.js +1 -1
- package/script/deps/jsr.io/@std/path/1.1.4/to_file_url.js +1 -1
- package/script/deps/jsr.io/@std/path/1.1.4/to_namespaced_path.js +1 -1
- package/script/src/contants.d.ts +0 -1
- package/script/src/contants.d.ts.map +1 -1
- package/script/src/contants.js +1 -2
- package/script/src/file.d.ts +1 -1
- package/script/src/file.d.ts.map +1 -1
- package/script/src/file.js +19 -4
- package/script/src/providers/anthropic.d.ts.map +1 -1
- package/script/src/providers/anthropic.js +9 -4
- package/script/src/providers/gemini.d.ts.map +1 -1
- package/script/src/providers/gemini.js +9 -4
- package/script/src/providers/openai.d.ts.map +1 -1
- package/script/src/providers/openai.js +9 -4
- package/script/src/utilites.d.ts +2 -1
- package/script/src/utilites.d.ts.map +1 -1
- package/script/src/utilites.js +57 -1
- package/esm/deps/jsr.io/@std/cli/1.0.27/_data.d.ts.map +0 -1
- package/esm/deps/jsr.io/@std/internal/1.0.12/_os.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/cli/1.0.27/_data.d.ts.map +0 -1
- package/script/deps/jsr.io/@std/internal/1.0.12/_os.d.ts.map +0 -1
- /package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/_data.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/_data.js +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/_run_length.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/_run_length.js +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/mod.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/mod.js +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/parse_args.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/prompt_secret.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/unicode_width.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/unicode_width.js +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/unstable_spinner.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/unstable_spinner.js +0 -0
- /package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/_os.d.ts +0 -0
- /package/esm/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/os.d.ts +0 -0
- /package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/_data.d.ts +0 -0
- /package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/_data.js +0 -0
- /package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/_run_length.d.ts +0 -0
- /package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/_run_length.js +0 -0
- /package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/mod.d.ts +0 -0
- /package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/mod.js +0 -0
- /package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/parse_args.d.ts +0 -0
- /package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/prompt_secret.d.ts +0 -0
- /package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/unicode_width.d.ts +0 -0
- /package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/unicode_width.js +0 -0
- /package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/unstable_spinner.d.ts +0 -0
- /package/script/deps/jsr.io/@std/cli/{1.0.27 → 1.0.29}/unstable_spinner.js +0 -0
- /package/script/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/_os.d.ts +0 -0
- /package/script/deps/jsr.io/@std/internal/{1.0.12 → 1.0.13}/os.d.ts +0 -0
|
@@ -80,14 +80,19 @@ class Gemini {
|
|
|
80
80
|
logger_js_1.logger.error(`${chunkLabel} Empty response from Gemini AI`);
|
|
81
81
|
continue;
|
|
82
82
|
}
|
|
83
|
-
const
|
|
84
|
-
|
|
85
|
-
|
|
83
|
+
const cleanedText = (0, utilites_js_1.stripJsonMarkdown)(text);
|
|
84
|
+
const tempJsonFileName = `chunk_${chunk.index + 1}.json`;
|
|
85
|
+
await (0, file_js_1.writeTemp)(this.to, tempJsonFileName, cleanedText);
|
|
86
|
+
if (!(0, utilites_js_1.isValidJson)(cleanedText)) {
|
|
87
|
+
if (attempt === contants_js_1.MAX_RETRIES) {
|
|
88
|
+
logger_js_1.logger.error(`${chunkLabel} Failed after ${contants_js_1.MAX_RETRIES + 1} attempts: Invalid JSON response`);
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
86
91
|
logger_js_1.logger.error(`${chunkLabel} Invalid JSON response, saved to ${tempJsonFileName}`);
|
|
87
92
|
continue;
|
|
88
93
|
}
|
|
89
94
|
logger_js_1.logger.info(`${chunkLabel} Translated successfully (${(0, utilites_js_1.formatBytes)(chunk.byteSize)}, ${chunk.keyCount} keys)`);
|
|
90
|
-
return
|
|
95
|
+
return cleanedText;
|
|
91
96
|
}
|
|
92
97
|
catch (error) {
|
|
93
98
|
const isLastAttempt = attempt === contants_js_1.MAX_RETRIES;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/src/providers/openai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAc,YAAY,EAAE,MAAM,aAAa,CAAC;AAQvE,cAAM,WAAY,YAAW,YAAY;IACvC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;gBAEF,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;YAW9F,cAAc;
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../src/src/providers/openai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAE,SAAS,EAAc,YAAY,EAAE,MAAM,aAAa,CAAC;AAQvE,cAAM,WAAY,YAAW,YAAY;IACvC,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;gBAEF,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM;YAW9F,cAAc;IAkEtB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;CAqCnC;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -79,14 +79,19 @@ class OpenAIModel {
|
|
|
79
79
|
logger_js_1.logger.error(`${chunkLabel} Empty response from OpenAI`);
|
|
80
80
|
continue;
|
|
81
81
|
}
|
|
82
|
-
const
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
const cleanedText = (0, utilites_js_1.stripJsonMarkdown)(text);
|
|
83
|
+
const tempJsonFileName = `chunk_${chunk.index + 1}.json`;
|
|
84
|
+
await (0, file_js_1.writeTemp)(this.to, tempJsonFileName, cleanedText);
|
|
85
|
+
if (!(0, utilites_js_1.isValidJson)(cleanedText)) {
|
|
86
|
+
if (attempt === contants_js_1.MAX_RETRIES) {
|
|
87
|
+
logger_js_1.logger.error(`${chunkLabel} Failed after ${contants_js_1.MAX_RETRIES + 1} attempts: Invalid JSON response`);
|
|
88
|
+
return null;
|
|
89
|
+
}
|
|
85
90
|
logger_js_1.logger.error(`${chunkLabel} Invalid JSON response, saved to ${tempJsonFileName}`);
|
|
86
91
|
continue;
|
|
87
92
|
}
|
|
88
93
|
logger_js_1.logger.info(`${chunkLabel} Translated successfully (${(0, utilites_js_1.formatBytes)(chunk.byteSize)}, ${chunk.keyCount} keys)`);
|
|
89
|
-
return
|
|
94
|
+
return cleanedText;
|
|
90
95
|
}
|
|
91
96
|
catch (error) {
|
|
92
97
|
const isLastAttempt = attempt === contants_js_1.MAX_RETRIES;
|
package/script/src/utilites.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { TranslateArgs, ValidatedTranslateArgs } from './types.js';
|
|
2
|
-
import type { Args } from '../deps/jsr.io/@std/cli/1.0.
|
|
2
|
+
import type { Args } from '../deps/jsr.io/@std/cli/1.0.29/mod.js';
|
|
3
3
|
export declare const validateArgs: (args: Args<TranslateArgs>) => ValidatedTranslateArgs;
|
|
4
4
|
export declare const generatePrompts: (from: string, to: string) => {
|
|
5
5
|
systemPrompt: string;
|
|
6
6
|
userPrompt: string;
|
|
7
7
|
};
|
|
8
|
+
export declare const stripJsonMarkdown: (text: string) => string;
|
|
8
9
|
export declare const isValidJson: (value: string) => boolean;
|
|
9
10
|
export declare const formatBytes: (bytes: number) => string;
|
|
10
11
|
export declare const delay: (ms: number) => Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilites.d.ts","sourceRoot":"","sources":["../../src/src/utilites.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,aAAa,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uCAAuC,CAAC;AAElE,eAAO,MAAM,YAAY,GAAI,MAAM,IAAI,CAAC,aAAa,CAAC,KAAG,sBAmCxD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,IAAI,MAAM;;;CA2DvD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,OAO3C,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAI3C,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,IAAI,MAAM,KAAG,OAAO,CAAC,IAAI,CAE9C,CAAC"}
|
|
1
|
+
{"version":3,"file":"utilites.d.ts","sourceRoot":"","sources":["../../src/src/utilites.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAY,aAAa,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAClF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uCAAuC,CAAC;AAElE,eAAO,MAAM,YAAY,GAAI,MAAM,IAAI,CAAC,aAAa,CAAC,KAAG,sBAmCxD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,IAAI,MAAM;;;CA2DvD,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,MAAM,MAAM,KAAG,MAyDhD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,OAO3C,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,OAAO,MAAM,KAAG,MAI3C,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,IAAI,MAAM,KAAG,OAAO,CAAC,IAAI,CAE9C,CAAC"}
|
package/script/src/utilites.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.delay = exports.formatBytes = exports.isValidJson = exports.generatePrompts = exports.validateArgs = void 0;
|
|
3
|
+
exports.delay = exports.formatBytes = exports.isValidJson = exports.stripJsonMarkdown = exports.generatePrompts = exports.validateArgs = void 0;
|
|
4
4
|
const validateArgs = (args) => {
|
|
5
5
|
if (!args.key) {
|
|
6
6
|
throw new Error('AI Key is required');
|
|
@@ -90,6 +90,62 @@ const generatePrompts = (from, to) => {
|
|
|
90
90
|
return { systemPrompt, userPrompt };
|
|
91
91
|
};
|
|
92
92
|
exports.generatePrompts = generatePrompts;
|
|
93
|
+
const stripJsonMarkdown = (text) => {
|
|
94
|
+
const trimmed = text.trim();
|
|
95
|
+
// Extract from code fence if present (handles surrounding text too)
|
|
96
|
+
const fenceMatch = trimmed.match(/```(?:\w+)?\s*\n?([\s\S]*?)\n?```/);
|
|
97
|
+
if (fenceMatch) {
|
|
98
|
+
const candidate = fenceMatch[1].trim();
|
|
99
|
+
if (candidate.startsWith('{') || candidate.startsWith('[')) {
|
|
100
|
+
return candidate;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
// Find outermost JSON structure by tracking bracket depth,
|
|
104
|
+
// correctly ignoring brackets inside strings and escape sequences
|
|
105
|
+
const firstBrace = trimmed.indexOf('{');
|
|
106
|
+
const firstBracket = trimmed.indexOf('[');
|
|
107
|
+
if (firstBrace === -1 && firstBracket === -1)
|
|
108
|
+
return trimmed;
|
|
109
|
+
let startIndex;
|
|
110
|
+
let openChar;
|
|
111
|
+
let closeChar;
|
|
112
|
+
if (firstBrace === -1 || (firstBracket !== -1 && firstBracket < firstBrace)) {
|
|
113
|
+
startIndex = firstBracket;
|
|
114
|
+
openChar = '[';
|
|
115
|
+
closeChar = ']';
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
startIndex = firstBrace;
|
|
119
|
+
openChar = '{';
|
|
120
|
+
closeChar = '}';
|
|
121
|
+
}
|
|
122
|
+
let depth = 0;
|
|
123
|
+
let inString = false;
|
|
124
|
+
let escaped = false;
|
|
125
|
+
for (let i = startIndex; i < trimmed.length; i++) {
|
|
126
|
+
const char = trimmed[i];
|
|
127
|
+
if (escaped) {
|
|
128
|
+
escaped = false;
|
|
129
|
+
continue;
|
|
130
|
+
}
|
|
131
|
+
if (char === '\\' && inString) {
|
|
132
|
+
escaped = true;
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
if (char === '"') {
|
|
136
|
+
inString = !inString;
|
|
137
|
+
continue;
|
|
138
|
+
}
|
|
139
|
+
if (inString)
|
|
140
|
+
continue;
|
|
141
|
+
if (char === openChar)
|
|
142
|
+
depth++;
|
|
143
|
+
else if (char === closeChar && --depth === 0)
|
|
144
|
+
return trimmed.slice(startIndex, i + 1);
|
|
145
|
+
}
|
|
146
|
+
return trimmed;
|
|
147
|
+
};
|
|
148
|
+
exports.stripJsonMarkdown = stripJsonMarkdown;
|
|
93
149
|
const isValidJson = (value) => {
|
|
94
150
|
try {
|
|
95
151
|
JSON.parse(value);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_data.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/cli/1.0.27/_data.js"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_os.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.12/_os.ts"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,IAAI,OAAO,CAUtC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_data.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/cli/1.0.27/_data.js"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"_os.d.ts","sourceRoot":"","sources":["../../../../../../src/deps/jsr.io/@std/internal/1.0.12/_os.ts"],"names":[],"mappings":"AAIA,wBAAgB,YAAY,IAAI,OAAO,CAUtC"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|