UNPKG

charlike

Version:

Small, fast, simple and streaming project scaffolder for myself, but not only. Supports hundreds of template engines through the @JSTransformers API or if you want custom `render` function passed through options

47 lines (35 loc) 947 B
'use strict'; var isSubset = require('is-subset'); var modifyValues = require('modify-values'); function modifyValue(val) { if (typeof val === 'string') { return val.trim(); } return val; } function conventionalCommitsFilter (commits) { if (!Array.isArray(commits)) { throw new TypeError('Expected an array'); } var ret = []; var ignores = []; commits.forEach(function (commit) { if (commit.revert) { ignores.push(commit.revert); } else { ret.push(commit); } }); ret = ret.filter(function (commit) { var ignoreThis = false; commit = commit.raw ? modifyValues(commit.raw, modifyValue) : modifyValues(commit, modifyValue); ignores.some(function (ignore) { ignore = modifyValues(ignore, modifyValue); ignoreThis = isSubset(commit, ignore); return ignoreThis; }); return !ignoreThis; }); return ret; } module.exports = conventionalCommitsFilter;