diff options
| author | Christian Cleberg <[email protected]> | 2026-04-18 22:32:53 -0500 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2026-04-18 22:32:53 -0500 |
| commit | 580e798e16346eb894eb899edac82d2efdf40adc (patch) | |
| tree | 6dec3b7db678f781138b40d34da37d21ac8fbe7d /node_modules/@babel/traverse/lib/path/comments.js | |
| download | brand-bench-580e798e16346eb894eb899edac82d2efdf40adc.tar.gz brand-bench-580e798e16346eb894eb899edac82d2efdf40adc.tar.bz2 brand-bench-580e798e16346eb894eb899edac82d2efdf40adc.zip | |
initial commit
Diffstat (limited to 'node_modules/@babel/traverse/lib/path/comments.js')
| -rw-r--r-- | node_modules/@babel/traverse/lib/path/comments.js | 52 |
1 files changed, 52 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..43b3b72 --- /dev/null +++ b/node_modules/@babel/traverse/lib/path/comments.js @@ -0,0 +1,52 @@ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.addComment = addComment; +exports.addComments = addComments; +exports.shareCommentsWithSiblings = shareCommentsWithSiblings; +var _t = require("@babel/types"); +const { + addComment: _addComment, + addComments: _addComments +} = _t; +function shareCommentsWithSiblings() { + if (typeof this.key === "string") return; + const node = this.node; + if (!node) return; + const trailing = node.trailingComments; + const leading = node.leadingComments; + if (!trailing && !leading) return; + const prev = this.getSibling(this.key - 1); + const next = this.getSibling(this.key + 1); + const hasPrev = Boolean(prev.node); + const hasNext = Boolean(next.node); + if (hasPrev) { + if (leading) { + prev.addComments("trailing", removeIfExisting(leading, prev.node.trailingComments)); + } + if (trailing && !hasNext) prev.addComments("trailing", trailing); + } + if (hasNext) { + if (trailing) { + next.addComments("leading", removeIfExisting(trailing, next.node.leadingComments)); + } + if (leading && !hasPrev) next.addComments("leading", leading); + } +} +function removeIfExisting(list, toRemove) { + if (!(toRemove != null && toRemove.length)) return list; + const set = new Set(toRemove); + return list.filter(el => { + return !set.has(el); + }); +} +function addComment(type, content, line) { + _addComment(this.node, type, content, line); +} +function addComments(type, comments) { + _addComments(this.node, type, comments); +} + +//# sourceMappingURL=comments.js.map |
