1
0
Fork 0
salty-dog/src/parser/YamlParser.ts

26 lines
624 B
TypeScript
Raw Normal View History

import { safeDump, safeLoadAll } from 'js-yaml';
2019-08-30 05:24:12 +00:00
import { CONFIG_SCHEMA } from '../config/schema';
import { Parser } from '../parser';
export class YamlParser implements Parser {
2019-09-11 13:48:14 +00:00
public dump(...data: Array<any>): string {
2019-06-25 04:02:28 +00:00
const docs: Array<any> = [];
for (const doc of data) {
const part = safeDump(doc, {
schema: CONFIG_SCHEMA,
});
docs.push(part);
}
return docs.join('\n---\n\n');
}
2019-09-11 13:48:14 +00:00
public parse(body: string): Array<any> {
const docs: Array<any> = [];
safeLoadAll(body, (doc: any) => docs.push(doc), {
schema: CONFIG_SCHEMA,
});
return docs;
}
2019-09-01 06:55:11 +00:00
}