-
Notifications
You must be signed in to change notification settings - Fork 255
Expand file tree
/
Copy pathCoreSettingsSerializer.ts
More file actions
79 lines (78 loc) · 2.71 KB
/
CoreSettingsSerializer.ts
File metadata and controls
79 lines (78 loc) · 2.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
// <auto-generated>
// This code was auto-generated.
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
import { CoreSettings } from "@src/CoreSettings";
import { JsonHelper } from "@src/io/JsonHelper";
import { LogLevel } from "@src/LogLevel";
export class CoreSettingsSerializer {
public static fromJson(obj: CoreSettings, m: unknown): void {
if (!m) {
return;
}
JsonHelper.forEach(m, (v, k) => this.setProperty(obj, k.toLowerCase(), v));
}
public static toJson(obj: CoreSettings | null): Map<string, unknown> | null {
if (!obj) {
return null;
}
const o = new Map<string, unknown>();
/*@target web*/
o.set("scriptFile", obj.scriptFile);
/*@target web*/
o.set("fontDirectory", obj.fontDirectory);
/*@target web*/
o.set("file", obj.file);
/*@target web*/
o.set("tex", obj.tex);
/*@target web*/
o.set("tracks", obj.tracks);
o.set("enableLazyLoading", obj.enableLazyLoading);
o.set("engine", obj.engine);
o.set("logLevel", (obj.logLevel as number));
o.set("useWorkers", obj.useWorkers);
o.set("includeNoteBounds", obj.includeNoteBounds);
return o;
}
public static setProperty(obj: CoreSettings, property: string, v: unknown): boolean {
switch (property) {
/*@target web*/
case "scriptfile":
obj.scriptFile = (v as string | null);
return true;
/*@target web*/
case "fontdirectory":
obj.fontDirectory = (v as string | null);
return true;
/*@target web*/
case "file":
obj.file = (v as string | null);
return true;
/*@target web*/
case "tex":
obj.tex = (v as boolean);
return true;
/*@target web*/
case "tracks":
obj.tracks = (v as unknown);
return true;
case "enablelazyloading":
obj.enableLazyLoading = (v as boolean);
return true;
case "engine":
obj.engine = (v as string);
return true;
case "loglevel":
obj.logLevel = (JsonHelper.parseEnum<LogLevel>(v, LogLevel)!);
return true;
case "useworkers":
obj.useWorkers = (v as boolean);
return true;
case "includenotebounds":
obj.includeNoteBounds = (v as boolean);
return true;
}
return false;
}
}