(filePath: string, logger?: Logger)
| 129 | } |
| 130 | |
| 131 | export function loadFixtureFile(filePath: string, logger?: Logger): Fixture[] { |
| 132 | let raw: string; |
| 133 | try { |
| 134 | raw = readFileSync(filePath, "utf-8"); |
| 135 | } catch (err) { |
| 136 | warn(logger, `Could not read file ${filePath}:`, err); |
| 137 | return []; |
| 138 | } |
| 139 | |
| 140 | let parsed: unknown; |
| 141 | try { |
| 142 | parsed = JSON.parse(raw); |
| 143 | } catch (err) { |
| 144 | warn(logger, `Invalid JSON in ${filePath}:`, err); |
| 145 | return []; |
| 146 | } |
| 147 | |
| 148 | if ( |
| 149 | typeof parsed !== "object" || |
| 150 | parsed === null || |
| 151 | !Array.isArray((parsed as FixtureFile).fixtures) |
| 152 | ) { |
| 153 | warn(logger, `Missing or invalid "fixtures" array in ${filePath}`); |
| 154 | return []; |
| 155 | } |
| 156 | |
| 157 | return (parsed as FixtureFile).fixtures.map((e) => entryToFixture(e, logger)); |
| 158 | } |
| 159 | |
| 160 | export function loadFixturesFromDir(dirPath: string, logger?: Logger): Fixture[] { |
| 161 | let entries: string[]; |
no test coverage detected
searching dependent graphs…