{"version":3,"file":"util.can-block-be-compacted.cjs","sources":["../../../../src/rules/limit-single-line-comments/util.can-block-be-compacted.ts"],"sourcesContent":["import type { TSESTree } from \"@typescript-eslint/utils\";\n\nimport { type Context } from \"../../typings.context.js\";\nimport { isURL } from \"../../utils/is-url.js\";\n\nimport type { CommentBlock } from \"./typings.block.js\";\n\nexport function canBlockBeCompated(\n  comments: TSESTree.LineComment[],\n  block: CommentBlock,\n  context: Context,\n): boolean {\n  for (let i = block.startIndex + 1; i <= block.endIndex; i++) {\n    const prev = comments[i - 1];\n    const curr = comments[i];\n\n    if (!prev || !curr || (context.ignoreUrls && isURL(curr?.value))) {\n      continue;\n    }\n\n    const firstWordOnCurrentLine = curr.value.trim().split(\" \")[0];\n    const lengthOfPrevLine =\n      prev.value.length + context.boilerplateSize + context.whitespace.size + 1;\n\n    if (\n      lengthOfPrevLine + 1 + (firstWordOnCurrentLine?.length ?? 0) <=\n      context.maxLength\n    ) {\n      return true;\n    }\n  }\n\n  return false;\n}\n"],"names":["isURL"],"mappings":";;;;AAOO,SAAS,kBAAA,CACd,QAAA,EACA,KAAA,EACA,OAAA,EACS;AACT,EAAA,KAAA,IAAS,IAAI,KAAA,CAAM,UAAA,GAAa,GAAG,CAAA,IAAK,KAAA,CAAM,UAAU,CAAA,EAAA,EAAK;AAC3D,IAAA,MAAM,IAAA,GAAO,QAAA,CAAS,CAAA,GAAI,CAAC,CAAA;AAC3B,IAAA,MAAM,IAAA,GAAO,SAAS,CAAC,CAAA;AAEvB,IAAA,IAAI,CAAC,QAAQ,CAAC,IAAA,IAAS,QAAQ,UAAA,IAAcA,WAAA,CAAM,IAAA,EAAM,KAAK,CAAA,EAAI;AAChE,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,sBAAA,GAAyB,KAAK,KAAA,CAAM,IAAA,GAAO,KAAA,CAAM,GAAG,EAAE,CAAC,CAAA;AAC7D,IAAA,MAAM,gBAAA,GACJ,KAAK,KAAA,CAAM,MAAA,GAAS,QAAQ,eAAA,GAAkB,OAAA,CAAQ,WAAW,IAAA,GAAO,CAAA;AAE1E,IAAA,IACE,mBAAmB,CAAA,IAAK,sBAAA,EAAwB,MAAA,IAAU,CAAA,CAAA,IAC1D,QAAQ,SAAA,EACR;AACA,MAAA,OAAO,IAAA;AAAA,IACT;AAAA,EACF;AAEA,EAAA,OAAO,KAAA;AACT;;;;"}