MCPcopy Create free account
hub / github.com/FlashpointProject/launcher / parseMetaEditMeta

Function parseMetaEditMeta

src/back/MetaEdit.ts:33–65  ·  view source on GitHub ↗
(parser: IObjectParserProp<any>)

Source from the content-addressed store, hash-verified

31}
32
33function parseMetaEditMeta(parser: IObjectParserProp<any>) : MetaEditMeta {
34 const parsed: MetaEditMeta = {
35 id: '',
36 };
37
38 parser.prop('id', v => parsed.id = str(v));
39 parser.prop('title', v => parsed.title = str(v), true);
40 parser.prop('alternateTitles', v => parsed.alternateTitles = str(v), true);
41 parser.prop('series', v => parsed.series = str(v), true);
42 parser.prop('developer', v => parsed.developer = str(v), true);
43 parser.prop('publisher', v => parsed.publisher = str(v), true);
44 parser.prop('playMode', v => parsed.playMode = str(v), true);
45 parser.prop('status', v => parsed.status = str(v), true);
46 parser.prop('notes', v => parsed.notes = str(v), true);
47 parser.prop('source', v => parsed.source = str(v), true);
48 parser.prop('releaseDate', v => parsed.releaseDate = str(v), true);
49 parser.prop('version', v => parsed.version = str(v), true);
50 parser.prop('originalDescription', v => parsed.originalDescription = str(v), true);
51 parser.prop('language', v => parsed.language = str(v), true);
52 parser.prop('library', v => parsed.library = str(v), true);
53 parser.prop('platform', v => parsed.platforms?.push(str(v)));
54
55 parser.prop('platforms', v => parsed.platforms = (v !== undefined) ? [] : undefined, true).arrayRaw(v => {
56 if (!parsed.platforms) { throw new Error('"parsed.tags" is missing (bug)'); }
57 parsed.platforms.push(str(v));
58 });
59 parser.prop('tags', v => parsed.tags = (v !== undefined) ? [] : undefined, true).arrayRaw(v => {
60 if (!parsed.tags) { throw new Error('"parsed.tags" is missing (bug)'); }
61 parsed.tags.push(str(v));
62 });
63
64 return parsed;
65}
66
67type LoadedMetaEditFile = {
68 filename: string;

Callers 1

parseMetaEditFunction · 0.85

Calls 4

strFunction · 0.85
propMethod · 0.65
pushMethod · 0.65
arrayRawMethod · 0.65

Tested by

no test coverage detected