diff options
| author | Michael Williamson <mike@zwobble.org> | 2016-04-02 17:56:07 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2016-04-02 17:56:07 +0100 |
| commit | 3433c9bfcc62c095d96af81df9a742e98b582715 (patch) | |
| tree | e497febb6cd2859294d074be319a6890d9b3a835 /lib/transforms.js | |
| parent | b0c2003c41431443412b451a679a4f1493feacc6 (diff) | |
Change document transforms to create copies of elements
Diffstat (limited to 'lib/transforms.js')
| -rw-r--r-- | lib/transforms.js | 14 |
1 files changed, 8 insertions, 6 deletions
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; }; |
