owncast/build/javascript/node_modules/postcss-inline-svg/lib/processors.js
dependabot[bot] dab7914eab
Bump @justinribeiro/lite-youtube from 0.9.0 to 0.9.1 in /build/javascript (#273)
* Commit updated Javascript packages

* Bump preact from 10.5.4 to 10.5.5 in /build/javascript (#265)

* Trying a new github workflow to install javascript packages

* Bump tailwindcss from 1.9.2 to 1.9.4 in /build/javascript (#266)

Bumps [tailwindcss](https://github.com/tailwindlabs/tailwindcss) from 1.9.2 to 1.9.4.
- [Release notes](https://github.com/tailwindlabs/tailwindcss/releases)
- [Changelog](https://github.com/tailwindlabs/tailwindcss/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tailwindlabs/tailwindcss/compare/v1.9.2...v1.9.4)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Commit updated Javascript packages

* Bump preact from 10.5.4 to 10.5.5 in /build/javascript

Bumps [preact](https://github.com/preactjs/preact) from 10.5.4 to 10.5.5.
- [Release notes](https://github.com/preactjs/preact/releases)
- [Commits](https://github.com/preactjs/preact/compare/10.5.4...10.5.5)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: Gabe Kangas <gabek@real-ity.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Owncast <owncast@owncast.online>

* Bump @justinribeiro/lite-youtube in /build/javascript

Bumps [@justinribeiro/lite-youtube](https://github.com/justinribeiro/lite-youtube) from 0.9.0 to 0.9.1.
- [Release notes](https://github.com/justinribeiro/lite-youtube/releases)
- [Commits](https://github.com/justinribeiro/lite-youtube/commits)

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: Owncast <owncast@owncast.online>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Gabe Kangas <gabek@real-ity.com>
2020-10-20 15:15:56 -07:00

60 lines
1.2 KiB
JavaScript

const { selectOne, selectAll } = require("css-select");
function matchId(exp, id) {
return exp instanceof RegExp ? exp.test(id) : Boolean(exp);
}
function removeFillAttrib(element) {
delete element.attribs.fill;
}
function removeFill(id, opts) {
return dom => {
if (matchId(opts.removeFill, id)) {
selectAll("[fill]", dom).forEach(removeFillAttrib);
}
};
}
function removeStrokeAttrib(element) {
delete element.attribs.stroke;
}
function removeStroke(id, opts) {
return dom => {
if (matchId(opts.removeStroke, id)) {
selectAll("[stroke]", dom).forEach(removeStrokeAttrib);
}
};
}
function applyParams(params) {
return ({ attribs }) => {
Object.keys(params).forEach(name => {
attribs[name] = params[name];
});
};
}
function applyRootParams(params) {
return dom => {
applyParams(params)(selectOne("svg", dom));
};
}
function applySelectedParams(selectors) {
return dom => {
const svg = selectOne("svg", dom);
Object.keys(selectors).forEach(selector => {
selectAll(selector, svg).forEach(applyParams(selectors[selector]));
});
};
}
module.exports = {
removeFill,
removeStroke,
applyRootParams,
applySelectedParams
};