UNPKG

fava

Version:

A wannabe tiny largely-drop-in replacement for ava that works in the browser too.

32 lines (31 loc) 862 B
/* IMPORT */ import chainer from 'call-chainer'; import Executor from './executor.js'; import Flags from './flags.js'; /* MAIN */ const Enhancer = { /* API */ withFlags: (fn) => { return chainer(Flags, (flags, ...args) => { return fn(flags, ...args); }); }, withHooks: (fn) => { const makeHookSetter = (hook) => { return (fn) => { const suiter = Executor.get(); const describer = suiter.current; describer.hooks[hook](fn); }; }; Object.assign(fn, { before: makeHookSetter('before'), after: makeHookSetter('after'), beforeEach: makeHookSetter('beforeEach'), afterEach: makeHookSetter('afterEach') }); return fn; } }; /* EXPORT */ export default Enhancer;