Sha256: 0eeaa912247a9260cb969abe77003b93b8953b7d0540ab86c2a9f95bae4f5f5a
Contents?: true
Size: 1.25 KB
Versions: 26
Compression:
Stored size: 1.25 KB
Contents
import { getCurrentSuite } from '@vitest/runner'; import { createChainable } from '@vitest/runner/utils'; import { noop } from '@vitest/utils'; import { i as isRunningInBenchmark } from './index.CxRxs566.js'; const benchFns = /* @__PURE__ */ new WeakMap(); const benchOptsMap = /* @__PURE__ */ new WeakMap(); function getBenchOptions(key) { return benchOptsMap.get(key); } function getBenchFn(key) { return benchFns.get(key); } const bench = createBenchmark(function(name, fn = noop, options = {}) { if (!isRunningInBenchmark()) { throw new Error("`bench()` is only available in benchmark mode."); } const task = getCurrentSuite().task(formatName(name), { ...this, meta: { benchmark: true } }); benchFns.set(task, fn); benchOptsMap.set(task, options); }); function createBenchmark(fn) { const benchmark = createChainable( ["skip", "only", "todo"], fn ); benchmark.skipIf = (condition) => condition ? benchmark.skip : benchmark; benchmark.runIf = (condition) => condition ? benchmark : benchmark.skip; return benchmark; } function formatName(name) { return typeof name === "string" ? name : name instanceof Function ? name.name || "<anonymous>" : String(name); } export { getBenchOptions as a, bench as b, getBenchFn as g };
Version data entries
26 entries across 26 versions & 1 rubygems