summaryrefslogtreecommitdiff
path: root/node_modules/@babel/traverse/lib/path/comments.js
diff options
context:
space:
mode:
authorChristian Cleberg <[email protected]>2026-04-18 22:32:53 -0500
committerChristian Cleberg <[email protected]>2026-04-18 22:32:53 -0500
commit580e798e16346eb894eb899edac82d2efdf40adc (patch)
tree6dec3b7db678f781138b40d34da37d21ac8fbe7d /node_modules/@babel/traverse/lib/path/comments.js
downloadbrand-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.js52
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