{"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":";;;;AAOgB,SAAA,kBAAA,CACd,QACA,EAAA,KAAA,EACA,OACS,EAAA;AACT,EAAA,KAAA,IAAS,IAAI,KAAM,CAAA,UAAA,GAAa,GAAG,CAAK,IAAA,KAAA,CAAM,UAAU,CAAK,EAAA,EAAA;AAC3D,IAAM,MAAA,IAAA,GAAO,QAAS,CAAA,CAAA,GAAI,CAAC,CAAA,CAAA;AAC3B,IAAM,MAAA,IAAA,GAAO,SAAS,CAAC,CAAA,CAAA;AAEvB,IAAI,IAAA,CAAC,QAAQ,CAAC,IAAA,IAAS,QAAQ,UAAc,IAAAA,WAAA,CAAM,IAAM,EAAA,KAAK,CAAI,EAAA;AAChE,MAAA,SAAA;AAAA,KACF;AAEA,IAAM,MAAA,sBAAA,GAAyB,KAAK,KAAM,CAAA,IAAA,GAAO,KAAM,CAAA,GAAG,EAAE,CAAC,CAAA,CAAA;AAC7D,IAAM,MAAA,gBAAA,GACJ,KAAK,KAAM,CAAA,MAAA,GAAS,QAAQ,eAAkB,GAAA,OAAA,CAAQ,WAAW,IAAO,GAAA,CAAA,CAAA;AAE1E,IAAA,IACE,mBAAmB,CAAK,IAAA,sBAAA,EAAwB,MAAU,IAAA,CAAA,CAAA,IAC1D,QAAQ,SACR,EAAA;AACA,MAAO,OAAA,IAAA,CAAA;AAAA,KACT;AAAA,GACF;AAEA,EAAO,OAAA,KAAA,CAAA;AACT;;;;"}