function build () {
return new Promise(
(resolve, reject) => gulp.series(
clean_build,
gulp.parallel(
html_build,
js_build,
css_build,
php_build,
fonts_build,
image_build
)
)(error => error === undefined ? resolve() : reject(error))
);
}
exports.build = build;
const { promisify } = require('util');
function build () {
return promisify(
gulp.series(
clean_build,
gulp.parallel(
html_build,
js_build,
css_build,
php_build,
fonts_build,
image_build
)
)
)();
}
exports.build = build;
function build (done) {
gulp.series(
clean_build,
gulp.parallel(
html_build,
js_build,
css_build,
php_build,
fonts_build,
image_build
)
)(done);
}
type type1 = {
a: number;
b: number;
};
type type2 = {
c: number;
};
type type3 = type1 | type2;
const test0 = {
c: 111,
d: 333, // этого поля нет ни в type1, ни в type2,
// но "лишние" поля не делают тип несовместимым
// только отсутсвующие
a: 'string, not a number!', // здесь вообще не тот тип
}
const test1: type3 = test0; // ошибки нет, ведь test0 совместим с type2