2022-01-04 15:09:10 -05:00
|
|
|
import { selectAll } from 'hast-util-select';
|
|
|
|
|
2022-01-04 15:10:42 -05:00
|
|
|
export default (additions) => {
|
|
|
|
const adders = Object.entries(additions).map(adder);
|
|
|
|
return (node) => adders.forEach((a) => a(node));
|
2022-01-04 15:09:10 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
const adder = ([selector, className]) => {
|
2022-01-04 15:10:42 -05:00
|
|
|
const writer = write(className);
|
|
|
|
return (node) => selectAll(selector, node).forEach(writer);
|
2022-01-04 15:09:10 -05:00
|
|
|
};
|
|
|
|
|
2022-01-04 15:10:42 -05:00
|
|
|
const write =
|
|
|
|
(className) =>
|
|
|
|
({ properties }) => {
|
|
|
|
if (!properties.className) properties.className = className;
|
|
|
|
else properties.className += ` ${className}`;
|
|
|
|
};
|