aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2017-04-04 19:49:59 +0100
committerMichael Williamson <mike@zwobble.org>2017-04-04 19:49:59 +0100
commit96b8496dc47880693b646f81cfd440de8aa5f9ae (patch)
tree3f1b44b6cbb8f3386b18f7224ea4d9c7e922f337 /lib
parentb17b79b040c654780a2705199eefe8996b0b8eec (diff)
Extract elementsOfType from paragraph in transforms module
Diffstat (limited to 'lib')
-rw-r--r--lib/transforms.js26
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);
+ };
}