diff options
| author | Michael Williamson <mike@zwobble.org> | 2017-04-04 19:49:59 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2017-04-04 19:49:59 +0100 |
| commit | 96b8496dc47880693b646f81cfd440de8aa5f9ae (patch) | |
| tree | 3f1b44b6cbb8f3386b18f7224ea4d9c7e922f337 /lib | |
| parent | b17b79b040c654780a2705199eefe8996b0b8eec (diff) | |
Extract elementsOfType from paragraph in transforms module
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/transforms.js | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/lib/transforms.js b/lib/transforms.js index 22be1af..5d45153 100644 --- a/lib/transforms.js +++ b/lib/transforms.js @@ -5,19 +5,27 @@ exports.getDescendantsOfType = getDescendantsOfType; exports.getDescendants = getDescendants; function paragraph(transform) { - function transformElement(element) { + return elementsOfType("paragraph", transform); +} + +function elementsOfType(elementType, transform) { + return elements(function(element) { + if (element.type === elementType) { + return transform(element); + } else { + return element; + } + }); +} + +function elements(transform) { + return function transformElement(element) { if (element.children) { var children = _.map(element.children, transformElement); element = _.extend(element, {children: children}); } - - if (element.type === "paragraph") { - element = transform(element); - } - - return element; - } - return transformElement; + return transform(element); + }; } |
