| 'use strict' |
| |
| const metadata = require('undertaker/lib/helpers/metadata') |
| const { watch } = require('gulp') |
| |
| module.exports = ({ name, desc, opts, call: fn, loop }) => { |
| if (name) { |
| const displayName = fn.displayName |
| if (displayName === '<series>' || displayName === '<parallel>') { |
| metadata.get(fn).tree.label = `${displayName} ${name}` |
| } |
| fn.displayName = name |
| } |
| if (loop) { |
| const delegate = fn |
| name = delegate.displayName |
| delegate.displayName = `${name}:loop` |
| fn = () => watch(loop, { ignoreInitial: false }, delegate) |
| fn.displayName = name |
| } |
| if (desc) fn.description = desc |
| if (opts) fn.flags = opts |
| return fn |
| } |