UNPKG

eslint-plugin-comment-length

Version:

An ESLint plugin that provides rules that limit the line length of your comments

1 lines 2.14 kB
{"version":3,"file":"util.capture-nearby-comments.cjs","sources":["../../../../src/rules/limit-single-line-comments/util.capture-nearby-comments.ts"],"sourcesContent":["import type { TSESTree } from \"@typescript-eslint/utils\";\n\nimport { mergeComments } from \"./util.merge-comments.js\";\n\nexport function captureNearbyComments(\n comments: TSESTree.LineComment[],\n startIndex: number,\n): TSESTree.LineComment | undefined {\n let comment = comments[startIndex];\n\n if (!comment) {\n return;\n }\n\n // Previous comments\n for (let i = startIndex - 1; i >= 0; i--) {\n const prevComment = comments[i];\n\n if (\n !prevComment ||\n (prevComment.loc?.end.line ?? 0) + 1 !== comment.loc?.start.line\n ) {\n break;\n }\n\n comment = mergeComments(prevComment, comment, \"\\n\");\n }\n\n // Following comments\n for (let i = startIndex + 1; i < comments.length; i++) {\n const nextComment = comments[i];\n\n if (\n !nextComment ||\n nextComment.loc?.start.line !== (comment.loc?.end.line ?? 0) + 1\n ) {\n break;\n }\n\n comment = mergeComments(comment, nextComment, \"\\n\");\n }\n\n return comment;\n}\n"],"names":["mergeComments"],"mappings":";;;;AAIgB,SAAA,qBAAA,CACd,UACA,UACkC,EAAA;AAClC,EAAI,IAAA,OAAA,GAAU,SAAS,UAAU,CAAA,CAAA;AAEjC,EAAA,IAAI,CAAC,OAAS,EAAA;AACZ,IAAA,OAAA;AAAA,GACF;AAGA,EAAA,KAAA,IAAS,CAAI,GAAA,UAAA,GAAa,CAAG,EAAA,CAAA,IAAK,GAAG,CAAK,EAAA,EAAA;AACxC,IAAM,MAAA,WAAA,GAAc,SAAS,CAAC,CAAA,CAAA;AAE9B,IACE,IAAA,CAAC,WACA,IAAA,CAAA,WAAA,CAAY,GAAK,EAAA,GAAA,CAAI,IAAQ,IAAA,CAAA,IAAK,CAAM,KAAA,OAAA,CAAQ,GAAK,EAAA,KAAA,CAAM,IAC5D,EAAA;AACA,MAAA,MAAA;AAAA,KACF;AAEA,IAAU,OAAA,GAAAA,gCAAA,CAAc,WAAa,EAAA,OAAA,EAAS,IAAI,CAAA,CAAA;AAAA,GACpD;AAGA,EAAA,KAAA,IAAS,IAAI,UAAa,GAAA,CAAA,EAAG,CAAI,GAAA,QAAA,CAAS,QAAQ,CAAK,EAAA,EAAA;AACrD,IAAM,MAAA,WAAA,GAAc,SAAS,CAAC,CAAA,CAAA;AAE9B,IACE,IAAA,CAAC,WACD,IAAA,WAAA,CAAY,GAAK,EAAA,KAAA,CAAM,IAAU,KAAA,CAAA,OAAA,CAAQ,GAAK,EAAA,GAAA,CAAI,IAAQ,IAAA,CAAA,IAAK,CAC/D,EAAA;AACA,MAAA,MAAA;AAAA,KACF;AAEA,IAAU,OAAA,GAAAA,gCAAA,CAAc,OAAS,EAAA,WAAA,EAAa,IAAI,CAAA,CAAA;AAAA,GACpD;AAEA,EAAO,OAAA,OAAA,CAAA;AACT;;;;"}