From 96b8496dc47880693b646f81cfd440de8aa5f9ae Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 4 Apr 2017 19:49:59 +0100 Subject: Extract elementsOfType from paragraph in transforms module --- lib/transforms.js | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) (limited to 'lib/transforms.js') 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); + }; } -- cgit v1.2.3