MCPcopy Create free account
hub / github.com/hydro-dev/Hydro / parseLang

Function parseLang

packages/common/lang.ts:30–60  ·  view source on GitHub ↗
(config: string)

Source from the content-addressed store, hash-verified

28}
29
30export function parseLang(config: string): Record<string, LangConfig> {
31 const file = yaml.load(config) as Record<string, LangConfig>;
32 if (typeof file === 'undefined' || typeof file === 'string' || typeof file === 'number') throw new Error();
33 for (const key of Object.keys(file)) if (key.startsWith('_')) delete file[key];
34 for (const key in file) {
35 const entry = file[key];
36 if (key.includes('.')) {
37 const base = key.split('.')[0];
38 const baseCfg = file[base];
39 for (const bkey in baseCfg || {}) {
40 if (!(bkey in entry)) entry[bkey] = baseCfg[bkey];
41 }
42 }
43 }
44 for (const key in file) {
45 const entry = file[key];
46 entry.highlight ||= key;
47 entry.monaco ||= entry.highlight;
48 entry.time_limit_rate ||= 1;
49 entry.memory_limit_rate ||= 1;
50 entry.code_file ||= `foo.${key}`;
51 entry.execute ||= '/w/foo';
52 entry.key = key;
53 entry.remote = !!entry.remote;
54 entry.hidden ||= false;
55 entry.disabled ||= false;
56 entry.isBinary ||= false;
57 entry.validAs ||= {};
58 }
59 return file;
60}

Callers 2

applyFunction · 0.90
vj4.tsFile · 0.90

Calls 1

loadMethod · 0.45

Tested by

no test coverage detected