UNPKG

tsd-lite-cli

Version:

Test runner for testing TypeScript typings. CLI over tsd-lite, a per-file version of tsd

50 lines (42 loc) 1.11 kB
/** @typedef {import("./run-one").TestResult} TestResult */ import { runTest } from "./run-one.js" /** * @callback OnTestFinish * @param {TestResult} result * @param {number} index * @returns {void} */ /** * @callback OnSuiteFinish * @param {TestResult[]} results * @returns {void} */ /** * Run a suite of test files and return a more friendly result format. * Sequential version. * * @param {string[]} paths * @param {Object} props * @param {OnTestFinish} props.onTestFinish * @param {OnSuiteFinish} props.onSuiteFinish * @returns {void} * * @example * runSuite(["/home/lorem/src/fn.test-d.ts"], { * onTestFinish: (result, index) => { * // print nicely formatted test result * }, * onSuiteFinish: (results) => { * // print nicely formatted summary * }, * }) */ export const runSuite = (paths, { onTestFinish, onSuiteFinish }) => { const results = paths.map((item, index) => { // TODO: async via worker threads maybe? const result = runTest(item) onTestFinish(result, index) return result }) onSuiteFinish(results) }