UNPKG

@tonkite/tlb-parser

Version:

Parse TL-B syntax into TypeScript objects

30 lines (25 loc) 789 B
import fs from 'fs'; import path from 'path'; import dedent from 'dedent'; import yaml from 'js-yaml'; interface OneLinerTestCase { case: string; code: string; error: string | undefined; errorStart: string | undefined; result: string | undefined; skip: boolean; } export function loadYamlCases(...pathParts: string[]): OneLinerTestCase[] { const cases = yaml.load( fs.readFileSync(path.resolve(...pathParts), 'utf-8'), ) as OneLinerTestCase[]; return cases.map((caseDef: OneLinerTestCase): OneLinerTestCase => { return { ...caseDef, code: dedent(caseDef.code), error: caseDef.error !== undefined ? dedent(caseDef.error) : undefined, errorStart: caseDef.errorStart !== undefined ? dedent(caseDef.errorStart) : undefined, }; }); }