2
0
mirror of https://github.com/tenrok/BBob.git synced 2026-06-14 18:42:24 +03:00
Files
bbob/packages/bbob-preset/src/index.js
T
Nikolay Kostyurin 32a7fb51da refactor(*): convert to babel and generation to lib, es, dist folders (#2)
* refactor(*): convert to babel and generation to lib, es, dist

* chore(*): remove generated files

* fix(*): lint run command
2018-09-09 23:55:28 +02:00

28 lines
577 B
JavaScript

/* eslint-disable indent */
import { isTagNode } from '@bbob/plugin-helper';
function process(tags, tree, ...rest) {
tree.walk(node => (isTagNode(node) && tags[node.tag]
? tags[node.tag](node, ...rest)
: node));
}
/**
* @param tags
* @return {function(*=, *=)}
*/
function createPreset(tags) {
const instance = (tree, ...rest) => process(tags, tree, ...rest);
instance.extend = (callback) => {
const newTags = callback(tags);
return () => createPreset(newTags);
};
return instance;
}
export { createPreset };
export default createPreset;