@bemedev/cli-test
Version:
A library for testing CLI libraries (INCEPTION !!)
1 lines • 5.23 kB
Source Map (JSON)
{"version":3,"file":"describe.cjs","sources":["../src/describe.ts"],"sourcesContent":["import { describe } from 'vitest';\nimport { buildFn } from './describe.utils';\nimport type {\n DescribeFn,\n DescribeFnOptional,\n DescribeFnOptionalParams,\n DescribeFnParams,\n ReturnIf,\n ReturnIfFalse,\n ReturnIfTrue,\n} from './types';\n\n// #region Simple Extensions\nexport function describe_cli(...[invite, fn, options]: DescribeFnParams) {\n const _fn = buildFn(fn);\n return describe(invite, _fn, options);\n}\n\ndescribe_cli.todo = ((invite, fn, options) => {\n const _fn = buildFn(fn);\n return describe.todo(invite, _fn, options);\n}) as DescribeFnOptional;\n\ndescribe_cli.skip = ((invite, fn, options) => {\n const _fn = buildFn(fn);\n return describe.skip(invite, _fn, options);\n}) as DescribeFnOptional;\n\ndescribe_cli.only = ((invite, fn, options) => {\n const _fn = buildFn(fn);\n return describe.only(invite, _fn, options);\n}) as DescribeFn;\n\ndescribe_cli.sequential = ((invite, fn, options) => {\n const _fn = buildFn(fn);\n return describe.sequential(invite, _fn, options);\n}) as DescribeFn;\n\ndescribe_cli.concurrent = ((invite, fn, options) => {\n const _fn = buildFn(fn);\n return describe.concurrent(invite, _fn, options);\n}) as DescribeFn;\n\ndescribe_cli.shuffle = ((invite, fn, options) => {\n const _fn = buildFn(fn);\n return describe.shuffle(invite, _fn, options);\n}) as DescribeFn;\n// #endregion\n\n// #region Hooks\nconst useTrue = (): ReturnIfTrue => {\n function _true(...[invite, fn, options]: DescribeFnParams) {\n return describe_cli(invite, fn, options);\n }\n\n _true.skip = describe_cli.skip;\n _true.todo = describe_cli.todo;\n _true.only = describe_cli.only;\n _true.concurrent = describe_cli.concurrent;\n _true.sequential = describe_cli.sequential;\n _true.shuffle = describe_cli.shuffle;\n\n return _true;\n};\n\nconst useFalse = (): ReturnIfFalse => {\n function _false(...[invite, fn, options]: DescribeFnOptionalParams) {\n return describe_cli.skip(invite, fn, options);\n }\n\n _false.skip = describe_cli.skip;\n _false.todo = describe_cli.todo;\n\n return _false;\n};\n// #endregion\n\n// #region Conditionnal extensions\ndescribe_cli.runIf = <T extends boolean>(cond: T) => {\n const _true = useTrue();\n const _false = useFalse();\n\n return (cond ? _true : _false) as ReturnIf<T>;\n};\n\ndescribe_cli.skipIf = <T extends boolean>(cond: T) => {\n const _true = useTrue();\n const _false = useFalse();\n\n return (cond ? _true : _false) as ReturnIf<T>;\n};\n// #endregion\n"],"names":["buildFn","describe"],"mappings":"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"}