1234567891011121314151617181920212223 |
- 'use strict';
- var match = require('gulp-match');
- var ternaryStream = require('ternary-stream');
- var through2 = require('through2');
- module.exports = function (condition, trueChild, falseChild, minimatchOptions) {
- if (!trueChild) {
- throw new Error('gulp-if: child action is required');
- }
- if (typeof condition === 'boolean') {
- // no need to evaluate the condition for each file
- // other benefit is it never loads the other stream
- return condition ? trueChild : (falseChild || through2.obj());
- }
- function classifier (file) {
- return !!match(file, condition, minimatchOptions);
- }
- return ternaryStream(classifier, trueChild, falseChild);
- };
|