metaltest/lib/runifmain.js

22 lines
490 B
JavaScript

import { fileURLToPath } from 'node:url'
const isMain = (meta) => {
const path = fileURLToPath(meta.url)
return path.includes(process.argv[1])
}
import { errorreporter, summaryreporter } from '../index.js'
const runifmain = async (meta, fn, ...args) => {
if (!isMain(meta)) return
if (fn.name === 'runner' && fn.run) {
if (args.length == 0) args.push(summaryreporter(), errorreporter())
await fn.run(...args)
} else {
await fn(...args)
}
}
export { runifmain }