From 3433c9bfcc62c095d96af81df9a742e98b582715 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sat, 2 Apr 2016 17:56:07 +0100 Subject: Change document transforms to create copies of elements --- lib/transforms.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'lib/transforms.js') diff --git a/lib/transforms.js b/lib/transforms.js index 988b456..5078387 100644 --- a/lib/transforms.js +++ b/lib/transforms.js @@ -1,15 +1,17 @@ +var _ = require("underscore"); + exports.paragraph = function(transform) { function transformElement(element) { if (element.children) { - for (var i = 0; i < element.children.length; i++) { - element.children[i] = transformElement(element.children[i]); - } + var children = _.map(element.children, transformElement); + element = _.extend(element, {children: children}); } + if (element.type === "paragraph") { - return transform(element); - } else { - return element; + element = transform(element); } + + return element; } return transformElement; }; -- cgit v1.2.3