@thethracian/oxlint-config 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/codemods/arrow-body-style.d.ts.map +1 -1
  3. package/dist/codemods/arrow-body-style.js +29 -68
  4. package/dist/codemods/arrow-body-style.js.map +1 -1
  5. package/dist/codemods/comment-format.d.ts.map +1 -1
  6. package/dist/codemods/comment-format.js +22 -32
  7. package/dist/codemods/comment-format.js.map +1 -1
  8. package/dist/codemods/explicit-return-types.d.ts.map +1 -1
  9. package/dist/codemods/explicit-return-types.js +58 -167
  10. package/dist/codemods/explicit-return-types.js.map +1 -1
  11. package/dist/codemods/format-file-header.d.ts.map +1 -1
  12. package/dist/codemods/format-file-header.js +33 -72
  13. package/dist/codemods/format-file-header.js.map +1 -1
  14. package/dist/codemods/format-jsdoc-comments.d.ts.map +1 -1
  15. package/dist/codemods/format-jsdoc-comments.js +58 -66
  16. package/dist/codemods/format-jsdoc-comments.js.map +1 -1
  17. package/dist/codemods/function-declarations.d.ts.map +1 -1
  18. package/dist/codemods/function-declarations.js +45 -80
  19. package/dist/codemods/function-declarations.js.map +1 -1
  20. package/dist/codemods/inline-export-lists.d.ts.map +1 -1
  21. package/dist/codemods/inline-export-lists.js +60 -108
  22. package/dist/codemods/inline-export-lists.js.map +1 -1
  23. package/dist/codemods/internal-export-docs.d.ts.map +1 -1
  24. package/dist/codemods/internal-export-docs.js +21 -59
  25. package/dist/codemods/internal-export-docs.js.map +1 -1
  26. package/dist/codemods/no-ternary-branch-initializers.d.ts.map +1 -1
  27. package/dist/codemods/no-ternary-branch-initializers.js +72 -144
  28. package/dist/codemods/no-ternary-branch-initializers.js.map +1 -1
  29. package/dist/codemods/no-ternary-variable-initializers.d.ts.map +1 -1
  30. package/dist/codemods/no-ternary-variable-initializers.js +69 -152
  31. package/dist/codemods/no-ternary-variable-initializers.js.map +1 -1
  32. package/dist/codemods/no-ternary.d.ts.map +1 -1
  33. package/dist/codemods/no-ternary.js +44 -108
  34. package/dist/codemods/no-ternary.js.map +1 -1
  35. package/dist/codemods/rename-acronyms.d.ts.map +1 -1
  36. package/dist/codemods/rename-acronyms.js +73 -99
  37. package/dist/codemods/rename-acronyms.js.map +1 -1
  38. package/dist/codemods/run.d.ts.map +1 -1
  39. package/dist/codemods/run.js +15 -7
  40. package/dist/codemods/run.js.map +1 -1
  41. package/dist/codemods/sort-imports.d.ts.map +1 -1
  42. package/dist/codemods/sort-imports.js +52 -94
  43. package/dist/codemods/sort-imports.js.map +1 -1
  44. package/dist/rules/acronym-case.d.ts.map +1 -1
  45. package/dist/rules/acronym-case.js +68 -141
  46. package/dist/rules/acronym-case.js.map +1 -1
  47. package/dist/rules/acronyms-1.d.ts +1 -1
  48. package/dist/rules/acronyms-1.d.ts.map +1 -1
  49. package/dist/rules/acronyms-1.js +2 -402
  50. package/dist/rules/acronyms-1.js.map +1 -1
  51. package/dist/rules/acronyms-2.d.ts +1 -1
  52. package/dist/rules/acronyms-2.d.ts.map +1 -1
  53. package/dist/rules/acronyms-2.js +2 -402
  54. package/dist/rules/acronyms-2.js.map +1 -1
  55. package/dist/rules/acronyms-3.d.ts +1 -1
  56. package/dist/rules/acronyms-3.d.ts.map +1 -1
  57. package/dist/rules/acronyms-3.js +2 -402
  58. package/dist/rules/acronyms-3.js.map +1 -1
  59. package/dist/rules/acronyms-4.d.ts +1 -1
  60. package/dist/rules/acronyms-4.d.ts.map +1 -1
  61. package/dist/rules/acronyms-4.js +2 -372
  62. package/dist/rules/acronyms-4.js.map +1 -1
  63. package/dist/rules/acronyms.d.ts.map +1 -1
  64. package/dist/rules/acronyms.js +3 -6
  65. package/dist/rules/acronyms.js.map +1 -1
  66. package/dist/rules/boolean-prefix.d.ts.map +1 -1
  67. package/dist/rules/boolean-prefix.js +25 -71
  68. package/dist/rules/boolean-prefix.js.map +1 -1
  69. package/dist/rules/camel-case-identifiers.d.ts.map +1 -1
  70. package/dist/rules/camel-case-identifiers.js +15 -54
  71. package/dist/rules/camel-case-identifiers.js.map +1 -1
  72. package/dist/rules/char-class.d.ts +1 -1
  73. package/dist/rules/char-class.d.ts.map +1 -1
  74. package/dist/rules/char-class.js +16 -16
  75. package/dist/rules/char-class.js.map +1 -1
  76. package/dist/rules/diagnostic-guidance.d.ts.map +1 -1
  77. package/dist/rules/diagnostic-guidance.js +11 -20
  78. package/dist/rules/diagnostic-guidance.js.map +1 -1
  79. package/dist/rules/effect-default-ast.d.ts.map +1 -1
  80. package/dist/rules/effect-default-ast.js +35 -116
  81. package/dist/rules/effect-default-ast.js.map +1 -1
  82. package/dist/rules/effect-default-compat-rules.d.ts.map +1 -1
  83. package/dist/rules/effect-default-compat-rules.js +41 -79
  84. package/dist/rules/effect-default-compat-rules.js.map +1 -1
  85. package/dist/rules/effect-default-env-rules.d.ts.map +1 -1
  86. package/dist/rules/effect-default-env-rules.js +23 -29
  87. package/dist/rules/effect-default-env-rules.js.map +1 -1
  88. package/dist/rules/effect-default-fiber-helpers.d.ts.map +1 -1
  89. package/dist/rules/effect-default-fiber-helpers.js +12 -26
  90. package/dist/rules/effect-default-fiber-helpers.js.map +1 -1
  91. package/dist/rules/effect-default-floating-helpers.d.ts.map +1 -1
  92. package/dist/rules/effect-default-floating-helpers.js +59 -67
  93. package/dist/rules/effect-default-floating-helpers.js.map +1 -1
  94. package/dist/rules/effect-default-resource-helpers.d.ts.map +1 -1
  95. package/dist/rules/effect-default-resource-helpers.js +36 -44
  96. package/dist/rules/effect-default-resource-helpers.js.map +1 -1
  97. package/dist/rules/effect-default-safety-helpers.d.ts.map +1 -1
  98. package/dist/rules/effect-default-safety-helpers.js +29 -68
  99. package/dist/rules/effect-default-safety-helpers.js.map +1 -1
  100. package/dist/rules/effect-default-scan-helpers.d.ts.map +1 -1
  101. package/dist/rules/effect-default-scan-helpers.js +51 -70
  102. package/dist/rules/effect-default-scan-helpers.js.map +1 -1
  103. package/dist/rules/effect-default-schema-helpers.d.ts.map +1 -1
  104. package/dist/rules/effect-default-schema-helpers.js +32 -43
  105. package/dist/rules/effect-default-schema-helpers.js.map +1 -1
  106. package/dist/rules/effect-default-test-helpers.d.ts.map +1 -1
  107. package/dist/rules/effect-default-test-helpers.js +13 -25
  108. package/dist/rules/effect-default-test-helpers.js.map +1 -1
  109. package/dist/rules/effect-default-workflow-helpers.d.ts.map +1 -1
  110. package/dist/rules/effect-default-workflow-helpers.js +53 -113
  111. package/dist/rules/effect-default-workflow-helpers.js.map +1 -1
  112. package/dist/rules/effect-exported-declarations.d.ts.map +1 -1
  113. package/dist/rules/effect-exported-declarations.js +90 -177
  114. package/dist/rules/effect-exported-declarations.js.map +1 -1
  115. package/dist/rules/effect-path-options.d.ts.map +1 -1
  116. package/dist/rules/effect-path-options.js +48 -58
  117. package/dist/rules/effect-path-options.js.map +1 -1
  118. package/dist/rules/effect-rule-aliases.d.ts.map +1 -1
  119. package/dist/rules/effect-rule-aliases.js +43 -101
  120. package/dist/rules/effect-rule-aliases.js.map +1 -1
  121. package/dist/rules/effect-rule-core.d.ts.map +1 -1
  122. package/dist/rules/effect-rule-core.js +42 -78
  123. package/dist/rules/effect-rule-core.js.map +1 -1
  124. package/dist/rules/effect-rule-names.d.ts +2 -2
  125. package/dist/rules/effect-rule-names.d.ts.map +1 -1
  126. package/dist/rules/effect-rule-names.js +3 -145
  127. package/dist/rules/effect-rule-names.js.map +1 -1
  128. package/dist/rules/effect-source-comments.d.ts.map +1 -1
  129. package/dist/rules/effect-source-comments.js +112 -167
  130. package/dist/rules/effect-source-comments.js.map +1 -1
  131. package/dist/rules/effect-source-navigation.d.ts.map +1 -1
  132. package/dist/rules/effect-source-navigation.js +103 -185
  133. package/dist/rules/effect-source-navigation.js.map +1 -1
  134. package/dist/rules/effect-source-regex-scan.d.ts +13 -0
  135. package/dist/rules/effect-source-regex-scan.d.ts.map +1 -0
  136. package/dist/rules/effect-source-regex-scan.js +126 -0
  137. package/dist/rules/effect-source-regex-scan.js.map +1 -0
  138. package/dist/rules/effect-source-scan.d.ts +1 -12
  139. package/dist/rules/effect-source-scan.d.ts.map +1 -1
  140. package/dist/rules/effect-source-scan.js +93 -239
  141. package/dist/rules/effect-source-scan.js.map +1 -1
  142. package/dist/rules/effect-strict-ast-specs.d.ts.map +1 -1
  143. package/dist/rules/effect-strict-ast-specs.js +11 -8
  144. package/dist/rules/effect-strict-ast-specs.js.map +1 -1
  145. package/dist/rules/effect-strict-boundary-helpers.d.ts.map +1 -1
  146. package/dist/rules/effect-strict-boundary-helpers.js +51 -87
  147. package/dist/rules/effect-strict-boundary-helpers.js.map +1 -1
  148. package/dist/rules/effect-strict-core-specs.d.ts.map +1 -1
  149. package/dist/rules/effect-strict-core-specs.js +8 -6
  150. package/dist/rules/effect-strict-core-specs.js.map +1 -1
  151. package/dist/rules/effect-strict-external-helpers.d.ts.map +1 -1
  152. package/dist/rules/effect-strict-external-helpers.js +20 -40
  153. package/dist/rules/effect-strict-external-helpers.js.map +1 -1
  154. package/dist/rules/effect-strict-helpers.d.ts.map +1 -1
  155. package/dist/rules/effect-strict-helpers.js +47 -72
  156. package/dist/rules/effect-strict-helpers.js.map +1 -1
  157. package/dist/rules/effect-strict-internals.d.ts.map +1 -1
  158. package/dist/rules/effect-strict-internals.js +46 -101
  159. package/dist/rules/effect-strict-internals.js.map +1 -1
  160. package/dist/rules/effect-strict-segment-helpers.d.ts.map +1 -1
  161. package/dist/rules/effect-strict-segment-helpers.js +103 -174
  162. package/dist/rules/effect-strict-segment-helpers.js.map +1 -1
  163. package/dist/rules/effect-strict.d.ts.map +1 -1
  164. package/dist/rules/effect-strict.js +3 -2
  165. package/dist/rules/effect-strict.js.map +1 -1
  166. package/dist/rules/max-import-depth.d.ts +2 -1
  167. package/dist/rules/max-import-depth.d.ts.map +1 -1
  168. package/dist/rules/max-import-depth.js +13 -15
  169. package/dist/rules/max-import-depth.js.map +1 -1
  170. package/dist/rules/max-line-length.d.ts.map +1 -1
  171. package/dist/rules/max-line-length.js +26 -39
  172. package/dist/rules/max-line-length.js.map +1 -1
  173. package/dist/rules/no-commented-out-code.d.ts.map +1 -1
  174. package/dist/rules/no-commented-out-code.js +53 -156
  175. package/dist/rules/no-commented-out-code.js.map +1 -1
  176. package/dist/rules/pascal-case-types.d.ts.map +1 -1
  177. package/dist/rules/pascal-case-types.js +16 -70
  178. package/dist/rules/pascal-case-types.js.map +1 -1
  179. package/dist/rules/plugin-commented-out-code-rule.d.ts.map +1 -1
  180. package/dist/rules/plugin-commented-out-code-rule.js +50 -77
  181. package/dist/rules/plugin-commented-out-code-rule.js.map +1 -1
  182. package/dist/rules/plugin.d.ts +5 -1
  183. package/dist/rules/plugin.d.ts.map +1 -1
  184. package/dist/rules/plugin.js +19 -36
  185. package/dist/rules/plugin.js.map +1 -1
  186. package/dist/rules/private-underscore.d.ts +3 -1
  187. package/dist/rules/private-underscore.d.ts.map +1 -1
  188. package/dist/rules/private-underscore.js +7 -9
  189. package/dist/rules/private-underscore.js.map +1 -1
  190. package/dist/rules/require-file-doc.d.ts.map +1 -1
  191. package/dist/rules/require-file-doc.js +28 -94
  192. package/dist/rules/require-file-doc.js.map +1 -1
  193. package/dist/rules/require-function-doc-ignored-text.d.ts.map +1 -1
  194. package/dist/rules/require-function-doc-ignored-text.js +6 -9
  195. package/dist/rules/require-function-doc-ignored-text.js.map +1 -1
  196. package/dist/rules/require-function-doc-local-exports.d.ts.map +1 -1
  197. package/dist/rules/require-function-doc-local-exports.js +16 -58
  198. package/dist/rules/require-function-doc-local-exports.js.map +1 -1
  199. package/dist/rules/require-function-doc.d.ts.map +1 -1
  200. package/dist/rules/require-function-doc.js +87 -196
  201. package/dist/rules/require-function-doc.js.map +1 -1
  202. package/dist/rules/source-cache.d.ts.map +1 -1
  203. package/dist/rules/source-cache.js +23 -33
  204. package/dist/rules/source-cache.js.map +1 -1
  205. package/package.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"max-import-depth.js","sourceRoot":"","sources":["../../src/rules/max-import-depth.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAEhF;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,IAAY;IACnD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,sBAAsB,CAAC;IAChC,CAAC;IACD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,OAAO,yBAAyB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAC9C,KAAK,EAAE,CAAC;QACR,KAAK,IAAI,+BAA+B,CAAC;IAC3C,CAAC;IAED,IAAI,0BAA0B,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;QAC5C,KAAK,EAAE,CAAC;IACV,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAC3B,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,MAAM,+BAA+B,GAAG,CAAC,CAAC;AAC1C,MAAM,6BAA6B,GAAG,CAAC,CAAC;AAExC,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAW,EAAE;IACrD,IAAI,IAAI,CAAC,MAAM,GAAG,6BAA6B,EAAE,CAAC;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,QAAQ,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,KAAK,QAAQ,CAAC;AACxD,CAAC,CAAC;AAEF,MAAM,yBAAyB,GAAG,CAAC,IAAY,EAAE,KAAa,EAAW,EAAE;IACzE,IAAI,KAAK,GAAG,6BAA6B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC5D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,gBAAgB,CAAC,KAAK,UAAU,CAAC;AAClE,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAE,KAAa,EAAW,EAAE;IAC1E,IAAI,KAAK,GAAG,6BAA6B,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1D,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,iBAAiB,CAAC,KAAK,QAAQ,CAAC;AACjE,CAAC,CAAC"}
1
+ {"version":3,"file":"max-import-depth.js","sourceRoot":"","sources":["../../src/rules/max-import-depth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"max-line-length.d.ts","sourceRoot":"","sources":["../../src/rules/max-line-length.ts"],"names":[],"mappings":"AAGA,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AA4ED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,MAAM,EAAE,MAAM,EACd,SAAS,SAAqB,GAC7B,mBAAmB,EAAE,CAmBvB"}
1
+ {"version":3,"file":"max-line-length.d.ts","sourceRoot":"","sources":["../../src/rules/max-line-length.ts"],"names":[],"mappings":"AAKA,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AA+GD;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,aAAa,CACnC,MAAM,EAAE,MAAM,EACd,SAAS,SAAqB,GAC7B,mBAAmB,EAAE,CAUvB"}
@@ -1,49 +1,46 @@
1
+ /* -------------------------------------------------------------------------- */
2
+ /* Maximum source line length helper used by the custom Oxlint plugin. */
3
+ /* -------------------------------------------------------------------------- */
4
+ import { Array, Match, Option, pipe } from 'effect';
1
5
  const DEFAULT_MAX_LENGTH = 150;
2
6
  const CHAR_CODE_CARRIAGE_RETURN = 13;
3
- const lineContainsURL = (source, start, end) => {
4
- const httpIndex = source.indexOf('http://', start);
5
- if (httpIndex !== -1 && httpIndex < end) {
6
- return true;
7
- }
8
- const httpsIndex = source.indexOf('https://', start);
9
- return httpsIndex !== -1 && httpsIndex < end;
10
- };
7
+ const lineContainsURL = (source, start, end) => pipe(['http://', 'https://'], Array.some((protocol) => {
8
+ const protocolIndex = source.indexOf(protocol, start);
9
+ return protocolIndex !== -1 && protocolIndex < end;
10
+ }));
11
11
  const nextLineEnd = (source, lineStart) => {
12
12
  const newlineIndex = source.indexOf('\n', lineStart);
13
- if (newlineIndex === -1) {
14
- return source.length;
15
- }
16
- return newlineIndex;
17
- };
18
- const contentEndForLine = (source, lineStart, lineEnd) => {
19
- if (lineEnd > lineStart && source.charCodeAt(lineEnd - 1) === CHAR_CODE_CARRIAGE_RETURN) {
20
- return lineEnd - 1;
21
- }
22
- return lineEnd;
13
+ return Match.value(newlineIndex).pipe(Match.when((index) => index === -1, () => source.length), Match.orElse((index) => index));
23
14
  };
24
- const addLineViolation = (violations, check) => {
15
+ const contentEndForLine = (source, lineStart, lineEnd) => Match.value(lineEnd).pipe(Match.when((end) => end > lineStart && source.charCodeAt(end - 1) === CHAR_CODE_CARRIAGE_RETURN, (end) => end - 1), Match.orElse((end) => end));
16
+ const lineViolationForCheck = (check) => {
25
17
  const { lineEnd, lineNumber, lineStart, maxLength, source } = check;
26
18
  const contentEnd = contentEndForLine(source, lineStart, lineEnd);
27
19
  const length = contentEnd - lineStart;
28
- if (length > maxLength && !lineContainsURL(source, lineStart, contentEnd)) {
29
- violations.push({ length, line: lineNumber });
30
- }
20
+ return Match.value(length).pipe(Match.when((lineLength) => lineLength > maxLength && !lineContainsURL(source, lineStart, contentEnd), (lineLength) => Option.some({ length: lineLength, line: lineNumber })), Match.orElse(() => Option.none()));
31
21
  };
32
22
  const nextLineStart = (lineEnd) => lineEnd + 1;
33
23
  const nextLineCursor = (cursor, lineEnd) => ({
34
24
  lineNumber: cursor.lineNumber + 1,
35
25
  lineStart: nextLineStart(lineEnd),
36
26
  });
37
- const addCursorViolation = (violations, source, maxLength, cursor) => {
27
+ const appendCursorViolation = (violations, source, maxLength, cursor) => {
38
28
  const lineEnd = nextLineEnd(source, cursor.lineStart);
39
- addLineViolation(violations, {
29
+ return pipe(lineViolationForCheck({
40
30
  lineEnd,
41
31
  lineNumber: cursor.lineNumber,
42
32
  lineStart: cursor.lineStart,
43
33
  maxLength,
44
34
  source,
45
- });
46
- return lineEnd;
35
+ }), Option.match({
36
+ onNone: () => violations,
37
+ onSome: (violation) => pipe(violations, Array.append(violation)),
38
+ }));
39
+ };
40
+ const collectLongLines = (source, maxLength, cursor, violations) => {
41
+ const lineEnd = nextLineEnd(source, cursor.lineStart);
42
+ const nextViolations = appendCursorViolation(violations, source, maxLength, cursor);
43
+ return Match.value(lineEnd).pipe(Match.when((end) => end === source.length, () => nextViolations), Match.orElse((end) => collectLongLines(source, maxLength, nextLineCursor(cursor, end), nextViolations)));
47
44
  };
48
45
  /**
49
46
  * Finds source lines that exceed the configured maximum width.
@@ -53,18 +50,8 @@ const addCursorViolation = (violations, source, maxLength, cursor) => {
53
50
  * @returns Line-length violations with one-based line numbers.
54
51
  */
55
52
  export default function findLongLines(source, maxLength = DEFAULT_MAX_LENGTH) {
56
- if (source.length <= maxLength) {
57
- return [];
58
- }
59
- const violations = [];
60
- let cursor = { lineNumber: 1, lineStart: 0 };
61
- while (cursor.lineStart <= source.length) {
62
- const lineEnd = addCursorViolation(violations, source, maxLength, cursor);
63
- if (lineEnd === source.length) {
64
- break;
65
- }
66
- cursor = nextLineCursor(cursor, lineEnd);
67
- }
68
- return violations;
53
+ return Match.value(source.length).pipe(Match.when((length) => length <= maxLength, () => []), Match.orElse(() => [
54
+ ...collectLongLines(source, maxLength, { lineNumber: 1, lineStart: 0 }, []),
55
+ ]));
69
56
  }
70
57
  //# sourceMappingURL=max-line-length.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"max-line-length.js","sourceRoot":"","sources":["../../src/rules/max-line-length.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"max-line-length.js","sourceRoot":"","sources":["../../src/rules/max-line-length.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"no-commented-out-code.d.ts","sourceRoot":"","sources":["../../src/rules/no-commented-out-code.ts"],"names":[],"mappings":"AAgQA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAehE"}
1
+ {"version":3,"file":"no-commented-out-code.d.ts","sourceRoot":"","sources":["../../src/rules/no-commented-out-code.ts"],"names":[],"mappings":"AA8RA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAiBhE"}
@@ -5,6 +5,7 @@
5
5
  /* Meets the threshold, the comment is flagged. Optimized: pre-compiled */
6
6
  /* Regex, line scanning via indexOf, minimal string allocations. */
7
7
  /* -------------------------------------------------------------------------- */
8
+ import { Array, HashSet, Match, pipe } from 'effect';
8
9
  // Pre-compiled regex patterns
9
10
  const RE_ARROW_FN = /\b=>\s*[{(\w]/;
10
11
  const RE_ASSIGNMENT = /\b\w+\s*=\s*[^=]/;
@@ -35,107 +36,31 @@ const URL_PENALTY = 5;
35
36
  const SENTENCE_CASE_PENALTY = 2;
36
37
  const FLAG_SCORE_THRESHOLD = 3;
37
38
  // Code-indicative keywords
38
- const CODE_KEYWORDS = new Set([
39
- 'const',
40
- 'let',
41
- 'var',
42
- 'function',
43
- 'class',
44
- 'import',
45
- 'export',
46
- 'return',
47
- 'if',
48
- 'for',
49
- 'while',
50
- 'switch',
51
- 'try',
52
- 'catch',
53
- 'throw',
54
- 'await',
55
- 'async',
56
- 'interface',
57
- 'type',
58
- 'enum',
59
- 'new',
60
- 'yield',
61
- 'extends',
62
- 'implements',
63
- 'typeof',
64
- 'instanceof',
65
- 'break',
66
- 'continue',
67
- 'default',
68
- 'case',
69
- 'finally',
70
- 'static',
71
- 'get',
72
- 'set',
73
- 'readonly',
74
- 'abstract',
75
- 'declare',
76
- 'protected',
77
- 'private',
78
- 'public',
79
- ]);
39
+ const CODE_KEYWORDS = HashSet.make('const', 'let', 'var', 'function', 'class', 'import', 'export', 'return', 'if', 'for', 'while', 'switch', 'try', 'catch', 'throw', 'await', 'async', 'interface', 'type', 'enum', 'new', 'yield', 'extends', 'implements', 'typeof', 'instanceof', 'break', 'continue', 'default', 'case', 'finally', 'static', 'get', 'set', 'readonly', 'abstract', 'declare', 'protected', 'private', 'public');
40
+ const scanIndexes = (startIndex, endIndex) => Match.value(startIndex).pipe(Match.when((value) => value > endIndex, () => []), Match.orElse((value) => Array.range(value, endIndex)));
80
41
  /**
81
42
  * Extract first whitespace-delimited word from text.
82
43
  */
83
- const firstWord = (text) => {
84
- let end = 0;
85
- const len = text.length;
86
- while (end < len && text.charCodeAt(end) > CHAR_CODE_SPACE) {
87
- end++;
88
- }
89
- return text.slice(0, end).toLowerCase();
90
- };
91
- const countOpenBraces = (source, start, end) => {
92
- let count = 0;
93
- for (let idx = start; idx < end; idx++) {
94
- if (source.charCodeAt(idx) === CHAR_CODE_OPEN_BRACE) {
95
- count++;
96
- }
97
- }
98
- return count;
99
- };
100
- const hasCodeTokenSignal = (normalized) => {
101
- if (RE_CODE_TOKEN.test(normalized)) {
102
- return true;
103
- }
104
- if (CODE_KEYWORDS.has(firstWord(normalized))) {
105
- return true;
106
- }
107
- return RE_KEYWORD_SCAN.test(normalized);
108
- };
109
- const nextLineEnd = (source, position) => {
110
- const lineEnd = source.indexOf('\n', position);
111
- if (lineEnd === -1) {
112
- return source.length;
113
- }
114
- return lineEnd;
115
- };
116
- const firstNonWhitespaceIndex = (source, start, end) => {
117
- let index = start;
118
- while (index < end && source.charCodeAt(index) <= CHAR_CODE_SPACE) {
119
- index++;
120
- }
121
- return index;
122
- };
123
- const firstLineWord = (source, start, end) => {
124
- let wordEnd = start;
125
- while (wordEnd < end && source.charCodeAt(wordEnd) > CHAR_CODE_SPACE) {
126
- wordEnd++;
127
- }
128
- return source
129
- .slice(start, wordEnd)
130
- .toLowerCase()
131
- .replace(/[;:,]$/, '');
132
- };
44
+ const firstWhitespaceIndex = (text, index) => Match.value(index).pipe(Match.when((current) => current >= text.length || text.charCodeAt(current) <= CHAR_CODE_SPACE, (current) => current), Match.orElse((current) => firstWhitespaceIndex(text, current + 1)));
45
+ const firstWord = (text) => text.slice(0, firstWhitespaceIndex(text, 0)).toLowerCase();
46
+ const countOpenBraces = (source, start, end) => pipe(scanIndexes(start, end - 1), Array.reduce(0, (count, idx) => Match.value(source.charCodeAt(idx)).pipe(Match.when(CHAR_CODE_OPEN_BRACE, () => count + 1), Match.orElse(() => count))));
47
+ const hasCodeTokenSignal = (normalized) => Match.value(RE_CODE_TOKEN.test(normalized)).pipe(Match.when(true, () => true), Match.when(() => HashSet.has(CODE_KEYWORDS, firstWord(normalized)), () => true), Match.orElse(() => RE_KEYWORD_SCAN.test(normalized)));
48
+ const nextLineEnd = (source, position) => Match.value(source.indexOf('\n', position)).pipe(Match.when(-1, () => source.length), Match.orElse((lineEnd) => lineEnd));
49
+ const firstNonWhitespaceIndex = (source, start, end) => Match.value(start).pipe(Match.when((index) => index >= end || source.charCodeAt(index) > CHAR_CODE_SPACE, (index) => index), Match.orElse((index) => firstNonWhitespaceIndex(source, index + 1, end)));
50
+ const lineWordEnd = (source, start, end) => Match.value(start).pipe(Match.when((wordEnd) => wordEnd >= end || source.charCodeAt(wordEnd) <= CHAR_CODE_SPACE, (wordEnd) => wordEnd), Match.orElse((wordEnd) => lineWordEnd(source, wordEnd + 1, end)));
51
+ const firstLineWord = (source, start, end) => source
52
+ .slice(start, lineWordEnd(source, start, end))
53
+ .toLowerCase()
54
+ .replace(/[;:,]$/, '');
133
55
  const lineKeywordScore = (source, lineStart, lineEnd) => {
134
56
  const clean = firstLineWord(source, lineStart, lineEnd);
135
- if (CODE_KEYWORDS.has(clean)) {
136
- return { hasFoundKeyword: true, score: KEYWORD_SCORE };
137
- }
138
- return { hasFoundKeyword: false, score: 0 };
57
+ return Match.value(HashSet.has(CODE_KEYWORDS, clean)).pipe(Match.when(true, () => ({
58
+ hasFoundKeyword: true,
59
+ score: KEYWORD_SCORE,
60
+ })), Match.orElse(() => ({
61
+ hasFoundKeyword: false,
62
+ score: 0,
63
+ })));
139
64
  };
140
65
  const addLineStats = (stats, normalized, lineStart, lineEnd) => {
141
66
  const keywordScore = lineKeywordScore(normalized, lineStart, lineEnd);
@@ -146,24 +71,19 @@ const addLineStats = (stats, normalized, lineStart, lineEnd) => {
146
71
  score: stats.score + keywordScore.score,
147
72
  };
148
73
  };
149
- const scanLineStats = (normalized) => {
150
- let stats = {
151
- braceCount: 0,
152
- hasFoundKeyword: false,
153
- lineCount: 0,
154
- score: 0,
155
- };
156
- let pos = 0;
157
- while (pos < normalized.length) {
158
- const lineEnd = nextLineEnd(normalized, pos);
159
- const lineStart = firstNonWhitespaceIndex(normalized, pos, lineEnd);
160
- if (lineStart < lineEnd) {
161
- stats = addLineStats(stats, normalized, lineStart, lineEnd);
162
- }
163
- pos = lineEnd + 1;
164
- }
165
- return stats;
166
- };
74
+ const initialLineStats = () => ({
75
+ braceCount: 0,
76
+ hasFoundKeyword: false,
77
+ lineCount: 0,
78
+ score: 0,
79
+ });
80
+ const scanLineStatsFrom = (normalized, pos, stats) => Match.value(pos).pipe(Match.when((position) => position >= normalized.length, () => stats), Match.orElse((position) => {
81
+ const lineEnd = nextLineEnd(normalized, position);
82
+ const lineStart = firstNonWhitespaceIndex(normalized, position, lineEnd);
83
+ const nextStats = Match.value(lineStart < lineEnd).pipe(Match.when(true, () => addLineStats(stats, normalized, lineStart, lineEnd)), Match.orElse(() => stats));
84
+ return scanLineStatsFrom(normalized, lineEnd + 1, nextStats);
85
+ }));
86
+ const scanLineStats = (normalized) => scanLineStatsFrom(normalized, 0, initialLineStats());
167
87
  const patternScore = (normalized) => {
168
88
  const patterns = [
169
89
  RE_ARROW_FN,
@@ -174,12 +94,7 @@ const patternScore = (normalized) => {
174
94
  RE_JSX_TAG,
175
95
  RE_SPREAD,
176
96
  ];
177
- return patterns.reduce((score, pattern) => {
178
- if (pattern.test(normalized)) {
179
- return score + PATTERN_SCORE;
180
- }
181
- return score;
182
- }, 0);
97
+ return pipe(patterns, Array.reduce(0, (score, pattern) => Match.value(pattern.test(normalized)).pipe(Match.when(true, () => score + PATTERN_SCORE), Match.orElse(() => score))));
183
98
  };
184
99
  const isSentenceCaseSingleLine = (normalized, stats) => !stats.hasFoundKeyword &&
185
100
  stats.braceCount === 0 &&
@@ -188,33 +103,19 @@ const isSentenceCaseSingleLine = (normalized, stats) => !stats.hasFoundKeyword &
188
103
  normalized.charCodeAt(0) <= CHAR_CODE_UPPER_Z &&
189
104
  normalized.charCodeAt(1) >= CHAR_CODE_LOWER_A &&
190
105
  normalized.charCodeAt(1) <= CHAR_CODE_LOWER_Z;
191
- const languagePenalty = (normalized, stats) => {
192
- let penalty = 0;
193
- if (!stats.hasFoundKeyword && RE_NATURAL_START.test(normalized)) {
194
- penalty += NATURAL_LANGUAGE_PENALTY;
195
- }
196
- if (RE_JSDOC_TAG.test(normalized)) {
197
- penalty += JSDOC_TAG_PENALTY;
198
- }
199
- if (!stats.hasFoundKeyword && RE_URL.test(normalized)) {
200
- penalty += URL_PENALTY;
201
- }
202
- if (isSentenceCaseSingleLine(normalized, stats)) {
203
- penalty += SENTENCE_CASE_PENALTY;
204
- }
205
- return penalty;
206
- };
207
- const structuralScore = (stats) => {
208
- const { braceCount, lineCount, score: baseScore } = stats;
209
- let score = baseScore;
210
- if (braceCount >= 1) {
211
- score += braceCount;
212
- }
213
- if (lineCount >= MULTILINE_LINE_THRESHOLD) {
214
- score += MULTILINE_SCORE;
215
- }
216
- return score;
217
- };
106
+ const scoreWhen = (condition, score) => Match.value(condition).pipe(Match.when(true, () => score), Match.orElse(() => 0));
107
+ const languagePenaltyChecks = (normalized, stats) => [
108
+ scoreWhen(!stats.hasFoundKeyword && RE_NATURAL_START.test(normalized), NATURAL_LANGUAGE_PENALTY),
109
+ scoreWhen(RE_JSDOC_TAG.test(normalized), JSDOC_TAG_PENALTY),
110
+ scoreWhen(!stats.hasFoundKeyword && RE_URL.test(normalized), URL_PENALTY),
111
+ scoreWhen(isSentenceCaseSingleLine(normalized, stats), SENTENCE_CASE_PENALTY),
112
+ ];
113
+ const languagePenalty = (normalized, stats) => pipe(languagePenaltyChecks(normalized, stats), Array.reduce(0, (penalty, value) => penalty + value));
114
+ const structuralScore = (stats) => pipe([
115
+ stats.score,
116
+ scoreWhen(stats.braceCount >= 1, stats.braceCount),
117
+ scoreWhen(stats.lineCount >= MULTILINE_LINE_THRESHOLD, MULTILINE_SCORE),
118
+ ], Array.reduce(0, (score, value) => score + value));
218
119
  /**
219
120
  * Determines whether comment text is likely dead source code.
220
121
  *
@@ -223,14 +124,10 @@ const structuralScore = (stats) => {
223
124
  */
224
125
  export default function isCommentedOutCode(text) {
225
126
  const normalized = text.trim();
226
- if (normalized.length < MIN_COMMENT_LENGTH) {
227
- return false;
228
- }
229
- if (!hasCodeTokenSignal(normalized)) {
230
- return false;
231
- }
232
- const stats = scanLineStats(normalized);
233
- const score = structuralScore(stats) + patternScore(normalized) - languagePenalty(normalized, stats);
234
- return score >= FLAG_SCORE_THRESHOLD;
127
+ return Match.value(normalized).pipe(Match.when((value) => value.length < MIN_COMMENT_LENGTH, () => false), Match.when((value) => !hasCodeTokenSignal(value), () => false), Match.orElse((value) => {
128
+ const stats = scanLineStats(value);
129
+ const score = structuralScore(stats) + patternScore(value) - languagePenalty(value, stats);
130
+ return score >= FLAG_SCORE_THRESHOLD;
131
+ }));
235
132
  }
236
133
  //# sourceMappingURL=no-commented-out-code.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"no-commented-out-code.js","sourceRoot":"","sources":["../../src/rules/no-commented-out-code.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAEhF,8BAA8B;AAC9B,MAAM,WAAW,GAAG,eAAe,CAAC;AACpC,MAAM,aAAa,GAAG,kBAAkB,CAAC;AACzC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AACnC,MAAM,WAAW,GAAG,SAAS,CAAC;AAC9B,MAAM,WAAW,GAAG,YAAY,CAAC;AACjC,MAAM,UAAU,GAAG,cAAc,CAAC;AAClC,MAAM,SAAS,GAAG,WAAW,CAAC;AAC9B,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAC3C,MAAM,eAAe,GACnB,sGAAsG,CAAC;AACzG,MAAM,gBAAgB,GACpB,6GAA6G,CAAC;AAChH,MAAM,YAAY,GAAG,OAAO,CAAC;AAC7B,MAAM,MAAM,GAAG,aAAa,CAAC;AAC7B,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,oBAAoB,GAAG,GAAG,CAAC;AACjC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAC9B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAC7B,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,wBAAwB,GAAG,CAAC,CAAC;AACnC,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,oBAAoB,GAAG,CAAC,CAAC;AAE/B,2BAA2B;AAC3B,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,OAAO;IACP,KAAK;IACL,KAAK;IACL,UAAU;IACV,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,OAAO;IACP,QAAQ;IACR,KAAK;IACL,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,WAAW;IACX,MAAM;IACN,MAAM;IACN,KAAK;IACL,OAAO;IACP,SAAS;IACT,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,OAAO;IACP,UAAU;IACV,SAAS;IACT,MAAM;IACN,SAAS;IACT,QAAQ;IACR,KAAK;IACL,KAAK;IACL,UAAU;IACV,UAAU;IACV,SAAS;IACT,WAAW;IACX,SAAS;IACT,QAAQ;CACT,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE;IACzC,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACxB,OAAO,GAAG,GAAG,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,eAAe,EAAE,CAAC;QAC3D,GAAG,EAAE,CAAC;IACR,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,GAAW,EAAU,EAAE;IAC7E,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,GAAG,GAAG,KAAK,EAAE,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;QACvC,IAAI,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,oBAAoB,EAAE,CAAC;YACpD,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AASF,MAAM,kBAAkB,GAAG,CAAC,UAAkB,EAAW,EAAE;IACzD,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,MAAc,EAAE,QAAgB,EAAU,EAAE;IAC/D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC/C,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE,CAAC;QACnB,OAAO,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,GAAW,EAAU,EAAE;IACrF,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,OAAO,KAAK,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,eAAe,EAAE,CAAC;QAClE,KAAK,EAAE,CAAC;IACV,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,GAAW,EAAU,EAAE;IAC3E,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,OAAO,OAAO,GAAG,GAAG,IAAI,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,eAAe,EAAE,CAAC;QACrE,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAO,MAAM;SACV,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC;SACrB,WAAW,EAAE;SACb,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CACvB,MAAc,EACd,SAAiB,EACjB,OAAe,EAC8B,EAAE;IAC/C,MAAM,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACxD,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;IACzD,CAAC;IACD,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;AAC9C,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CACnB,KAAgB,EAChB,UAAkB,EAClB,SAAiB,EACjB,OAAe,EACJ,EAAE;IACb,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACtE,OAAO;QACL,UAAU,EAAE,KAAK,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC;QAC9E,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,YAAY,CAAC,eAAe;QACtE,SAAS,EAAE,KAAK,CAAC,SAAS,GAAG,CAAC;QAC9B,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK;KACxC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,UAAkB,EAAa,EAAE;IACtD,IAAI,KAAK,GAAc;QACrB,UAAU,EAAE,CAAC;QACb,eAAe,EAAE,KAAK;QACtB,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE,CAAC;KACT,CAAC;IACF,IAAI,GAAG,GAAG,CAAC,CAAC;IAEZ,OAAO,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC;QAC/B,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,uBAAuB,CAAC,UAAU,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;QAEpE,IAAI,SAAS,GAAG,OAAO,EAAE,CAAC;YACxB,KAAK,GAAG,YAAY,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC9D,CAAC;QAED,GAAG,GAAG,OAAO,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,UAAkB,EAAU,EAAE;IAClD,MAAM,QAAQ,GAAG;QACf,WAAW;QACX,aAAa;QACb,iBAAiB;QACjB,WAAW;QACX,WAAW;QACX,UAAU;QACV,SAAS;KACV,CAAC;IACF,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,EAAU,EAAE;QAChD,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,OAAO,KAAK,GAAG,aAAa,CAAC;QAC/B,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,EAAE,CAAC,CAAC,CAAC;AACR,CAAC,CAAC;AAEF,MAAM,wBAAwB,GAAG,CAAC,UAAkB,EAAE,KAAgB,EAAW,EAAE,CACjF,CAAC,KAAK,CAAC,eAAe;IACtB,KAAK,CAAC,UAAU,KAAK,CAAC;IACtB,KAAK,CAAC,SAAS,KAAK,CAAC;IACrB,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,iBAAiB;IAC7C,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,iBAAiB;IAC7C,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,iBAAiB;IAC7C,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC;AAEhD,MAAM,eAAe,GAAG,CAAC,UAAkB,EAAE,KAAgB,EAAU,EAAE;IACvE,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAChE,OAAO,IAAI,wBAAwB,CAAC;IACtC,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAClC,OAAO,IAAI,iBAAiB,CAAC;IAC/B,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACtD,OAAO,IAAI,WAAW,CAAC;IACzB,CAAC;IACD,IAAI,wBAAwB,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,IAAI,qBAAqB,CAAC;IACnC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,KAAgB,EAAU,EAAE;IACnD,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;IAC1D,IAAI,KAAK,GAAG,SAAS,CAAC;IACtB,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACpB,KAAK,IAAI,UAAU,CAAC;IACtB,CAAC;IACD,IAAI,SAAS,IAAI,wBAAwB,EAAE,CAAC;QAC1C,KAAK,IAAI,eAAe,CAAC;IAC3B,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,IAAY;IACrD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAC/B,IAAI,UAAU,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QAC3C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,KAAK,GACT,eAAe,CAAC,KAAK,CAAC,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IAEzF,OAAO,KAAK,IAAI,oBAAoB,CAAC;AACvC,CAAC"}
1
+ {"version":3,"file":"no-commented-out-code.js","sourceRoot":"","sources":["../../src/rules/no-commented-out-code.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pascal-case-types.d.ts","sourceRoot":"","sources":["../../src/rules/pascal-case-types.ts"],"names":[],"mappings":"AA0EA;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAe1D;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,MAU3C,CAAC"}
1
+ {"version":3,"file":"pascal-case-types.d.ts","sourceRoot":"","sources":["../../src/rules/pascal-case-types.ts"],"names":[],"mappings":"AA6EA;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAS1D;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,KAAG,MAWzC,CAAC"}
@@ -1,93 +1,39 @@
1
1
  /* -------------------------------------------------------------------------- */
2
2
  /* PascalCase naming helpers for type-like declarations. */
3
3
  /* -------------------------------------------------------------------------- */
4
+ import { Array, Match, pipe } from 'effect';
4
5
  import { CHAR_CLASS, CLS_LOWER, CLS_UPPER } from './char-class.js';
5
6
  const CHAR_CODE_UNDERSCORE = 95;
6
7
  const isUp = (code) => (CHAR_CLASS[code] & CLS_UPPER) !== 0;
7
8
  const isLo = (code) => (CHAR_CLASS[code] & CLS_LOWER) !== 0;
8
9
  const isLt = (code) => (CHAR_CLASS[code] & (CLS_UPPER | CLS_LOWER)) !== 0;
9
- const hasLowercaseLetter = (name) => {
10
- for (let idx = 0; idx < name.length; idx++) {
11
- if (isLo(name.charCodeAt(idx))) {
12
- return true;
13
- }
14
- }
15
- return false;
16
- };
17
- const alphaLetterCount = (name) => {
18
- let count = 0;
19
- for (let idx = 0; idx < name.length; idx++) {
20
- if (isLt(name.charCodeAt(idx))) {
21
- count++;
22
- }
23
- }
24
- return count;
25
- };
26
- const nextSegmentStart = (name, start) => {
27
- let segmentStart = start;
28
- while (segmentStart < name.length && name.charCodeAt(segmentStart) === CHAR_CODE_UNDERSCORE) {
29
- segmentStart++;
30
- }
31
- return segmentStart;
32
- };
33
- const nextSegmentEnd = (name, start) => {
34
- let segmentEnd = start;
35
- while (segmentEnd < name.length && name.charCodeAt(segmentEnd) !== CHAR_CODE_UNDERSCORE) {
36
- segmentEnd++;
37
- }
38
- return segmentEnd;
39
- };
10
+ const nameChars = (name) => Array.fromIterable(name);
11
+ const hasLowercaseLetter = (name) => pipe(nameChars(name), Array.some((char) => isLo(char.charCodeAt(0))));
12
+ const alphaLetterCount = (name) => pipe(nameChars(name), Array.filter((char) => isLt(char.charCodeAt(0))), Array.length);
13
+ const nextSegmentStart = (name, start) => Match.value(start).pipe(Match.when((segmentStart) => segmentStart < name.length && name.charCodeAt(segmentStart) === CHAR_CODE_UNDERSCORE, (segmentStart) => nextSegmentStart(name, segmentStart + 1)), Match.orElse((segmentStart) => segmentStart));
14
+ const nextSegmentEnd = (name, start) => Match.value(start).pipe(Match.when((segmentEnd) => segmentEnd < name.length && name.charCodeAt(segmentEnd) !== CHAR_CODE_UNDERSCORE, (segmentEnd) => nextSegmentEnd(name, segmentEnd + 1)), Match.orElse((segmentEnd) => segmentEnd));
40
15
  const pascalSegment = (name, start, end) => name.charAt(start).toUpperCase() + name.slice(start + 1, end).toLowerCase();
41
16
  const appendPascalSegments = (name, result, start) => {
42
- let output = result;
43
- let segStart = start;
44
- while (segStart < name.length) {
45
- segStart = nextSegmentStart(name, segStart);
46
- if (segStart >= name.length) {
47
- break;
48
- }
49
- const segEnd = nextSegmentEnd(name, segStart);
50
- output += pascalSegment(name, segStart, segEnd);
51
- segStart = segEnd + 1;
52
- }
53
- return output;
17
+ const segmentStart = nextSegmentStart(name, start);
18
+ return Match.value(segmentStart).pipe(Match.when((normalizedSegmentStart) => normalizedSegmentStart >= name.length, () => result), Match.orElse((normalizedSegmentStart) => {
19
+ const segmentEnd = nextSegmentEnd(name, normalizedSegmentStart);
20
+ const nextResult = result + pascalSegment(name, normalizedSegmentStart, segmentEnd);
21
+ return appendPascalSegments(name, nextResult, segmentEnd + 1);
22
+ }));
54
23
  };
55
- const underscoreNameToPascalCase = (name) => {
56
- const start = nextSegmentStart(name, 0);
57
- if (start >= name.length) {
58
- return '';
59
- }
24
+ const underscoreNameToPascalCase = (name) => Match.value(nextSegmentStart(name, 0)).pipe(Match.when((start) => start >= name.length, () => ''), Match.orElse((start) => {
60
25
  const end = nextSegmentEnd(name, start);
61
26
  return appendPascalSegments(name, pascalSegment(name, start, end), end + 1);
62
- };
27
+ }));
63
28
  /**
64
29
  * Check if a name follows PascalCase convention.
65
30
  */
66
31
  export default function isPascalCase(name) {
67
32
  const len = name.length;
68
- if (len === 0) {
69
- return false;
70
- }
71
- if (!isUp(name.charCodeAt(0))) {
72
- return false;
73
- }
74
- if (name.includes('_')) {
75
- return false;
76
- }
77
- // Must not be entirely uppercase (that's the constant convention).
78
- // Digits are fine — only check alphabetic characters.
79
- return hasLowercaseLetter(name) || alphaLetterCount(name) <= 1;
33
+ return Match.value(name).pipe(Match.when((value) => len === 0 || !isUp(value.charCodeAt(0)) || value.includes('_'), () => false), Match.orElse((value) => hasLowercaseLetter(value) || alphaLetterCount(value) <= 1));
80
34
  }
81
35
  /**
82
36
  * Convert a name to PascalCase.
83
37
  */
84
- export const toPascalCase = (name) => {
85
- if (name.length === 0) {
86
- return '';
87
- }
88
- if (name.includes('_')) {
89
- return underscoreNameToPascalCase(name);
90
- }
91
- return name.charAt(0).toUpperCase() + name.slice(1);
92
- };
38
+ export const toPascalCase = (name) => Match.value(name).pipe(Match.when((value) => value.length === 0, () => ''), Match.when((value) => value.includes('_'), (value) => underscoreNameToPascalCase(value)), Match.orElse((value) => value.charAt(0).toUpperCase() + value.slice(1)));
93
39
  //# sourceMappingURL=pascal-case-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pascal-case-types.js","sourceRoot":"","sources":["../../src/rules/pascal-case-types.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEhE,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC,MAAM,IAAI,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;AAC7E,MAAM,IAAI,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;AAC7E,MAAM,IAAI,GAAG,CAAC,IAAY,EAAW,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,KAAK,CAAC,CAAC;AAE3F,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAW,EAAE;IACnD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAU,EAAE;IAChD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QAC3C,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC/B,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE;IAC/D,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,OAAO,YAAY,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,oBAAoB,EAAE,CAAC;QAC5F,YAAY,EAAE,CAAC;IACjB,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,IAAY,EAAE,KAAa,EAAU,EAAE;IAC7D,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,OAAO,UAAU,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,oBAAoB,EAAE,CAAC;QACxF,UAAU,EAAE,CAAC;IACf,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW,EAAU,EAAE,CACzE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;AAE9E,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,KAAa,EAAU,EAAE;IACnF,IAAI,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,OAAO,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC9B,QAAQ,GAAG,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC5C,IAAI,QAAQ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC9C,MAAM,IAAI,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChD,QAAQ,GAAG,MAAM,GAAG,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,0BAA0B,GAAG,CAAC,IAAY,EAAU,EAAE;IAC1D,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACxC,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,GAAG,GAAG,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACxC,OAAO,oBAAoB,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,IAAY;IAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC;IACxB,IAAI,GAAG,KAAK,CAAC,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,mEAAmE;IACnE,sDAAsD;IACtD,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE;IACnD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACtD,CAAC,CAAC"}
1
+ {"version":3,"file":"pascal-case-types.js","sourceRoot":"","sources":["../../src/rules/pascal-case-types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-commented-out-code-rule.d.ts","sourceRoot":"","sources":["../../src/rules/plugin-commented-out-code-rule.ts"],"names":[],"mappings":"AAOA,UAAU,GAAG;IACX,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,KAAK;IACb,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC;CAC3C;AAED,KAAK,WAAW,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;AAEzC,UAAU,gBAAgB;IACxB,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,OAAO;IACf,MAAM,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAqKD,QAAA,MAAM,sBAAsB;wBACN,OAAO;sBAET,MAAM,GAAG,IAAI;;;;;;;sBAFX,OAAO;sBAET,MAAM,GAAG,IAAI;;CAc/B,CAAC;AAEH,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"plugin-commented-out-code-rule.d.ts","sourceRoot":"","sources":["../../src/rules/plugin-commented-out-code-rule.ts"],"names":[],"mappings":"AAQA,UAAU,GAAG;IACX,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,KAAK;IACb,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC;CAC3C;AAED,KAAK,WAAW,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,GAAG,CAAC;AAEzC,UAAU,gBAAgB;IACxB,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,OAAO;IACf,MAAM,EAAE,CAAC,UAAU,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA0PD,QAAA,MAAM,sBAAsB;wBACN,OAAO;sBAET,MAAM,GAAG,IAAI;;;;;;;sBAFX,OAAO;sBAET,MAAM,GAAG,IAAI;;CAgB/B,CAAC;AAEH,eAAe,sBAAsB,CAAC"}