diff options
Diffstat (limited to 'node_modules/babel-traverse/lib/path/comments.js')
-rw-r--r-- | node_modules/babel-traverse/lib/path/comments.js | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/node_modules/babel-traverse/lib/path/comments.js b/node_modules/babel-traverse/lib/path/comments.js new file mode 100644 index 0000000..800018c --- /dev/null +++ b/node_modules/babel-traverse/lib/path/comments.js @@ -0,0 +1,47 @@ +"use strict"; + +exports.__esModule = true; +exports.shareCommentsWithSiblings = shareCommentsWithSiblings; +exports.addComment = addComment; +exports.addComments = addComments; +function shareCommentsWithSiblings() { + if (typeof this.key === "string") return; + + var node = this.node; + if (!node) return; + + var trailing = node.trailingComments; + var leading = node.leadingComments; + if (!trailing && !leading) return; + + var prev = this.getSibling(this.key - 1); + var next = this.getSibling(this.key + 1); + + if (!prev.node) prev = next; + if (!next.node) next = prev; + + prev.addComments("trailing", leading); + next.addComments("leading", trailing); +} + +function addComment(type, content, line) { + this.addComments(type, [{ + type: line ? "CommentLine" : "CommentBlock", + value: content + }]); +} + +function addComments(type, comments) { + if (!comments) return; + + var node = this.node; + if (!node) return; + + var key = type + "Comments"; + + if (node[key]) { + node[key] = node[key].concat(comments); + } else { + node[key] = comments; + } +}
\ No newline at end of file |