@thethracian/oxlint-config 0.3.1 → 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 (204) hide show
  1. package/CHANGELOG.md +7 -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.map +1 -1
  183. package/dist/rules/plugin.js +14 -35
  184. package/dist/rules/plugin.js.map +1 -1
  185. package/dist/rules/private-underscore.d.ts +3 -1
  186. package/dist/rules/private-underscore.d.ts.map +1 -1
  187. package/dist/rules/private-underscore.js +7 -9
  188. package/dist/rules/private-underscore.js.map +1 -1
  189. package/dist/rules/require-file-doc.d.ts.map +1 -1
  190. package/dist/rules/require-file-doc.js +28 -94
  191. package/dist/rules/require-file-doc.js.map +1 -1
  192. package/dist/rules/require-function-doc-ignored-text.d.ts.map +1 -1
  193. package/dist/rules/require-function-doc-ignored-text.js +6 -9
  194. package/dist/rules/require-function-doc-ignored-text.js.map +1 -1
  195. package/dist/rules/require-function-doc-local-exports.d.ts.map +1 -1
  196. package/dist/rules/require-function-doc-local-exports.js +16 -58
  197. package/dist/rules/require-function-doc-local-exports.js.map +1 -1
  198. package/dist/rules/require-function-doc.d.ts.map +1 -1
  199. package/dist/rules/require-function-doc.js +87 -196
  200. package/dist/rules/require-function-doc.js.map +1 -1
  201. package/dist/rules/source-cache.d.ts.map +1 -1
  202. package/dist/rules/source-cache.js +23 -33
  203. package/dist/rules/source-cache.js.map +1 -1
  204. package/package.json +3 -1
@@ -1,6 +1,7 @@
1
1
  /* -------------------------------------------------------------------------- */
2
2
  /* Exported declaration extraction helpers for Effect lint rules. */
3
3
  /* -------------------------------------------------------------------------- */
4
+ import { Array, Match, Option, pipe } from 'effect';
4
5
  import { findMatchingBrace, stripCommentsAndStrings } from './effect-source-scan.js';
5
6
  import { findStatementEnd } from './effect-source-navigation.js';
6
7
  const EXPORTED_DECLARATION_CACHE_MAX = 256;
@@ -8,55 +9,36 @@ const exportedDeclarationCache = new Map();
8
9
  const exportedDeclarationSegmentCache = new Map();
9
10
  const exportedCallableDeclarationSegmentCache = new Map();
10
11
  const cachedExportedDeclarations = (source) => exportedDeclarationCache.get(source);
11
- const cacheExportedDeclarations = (source, declarations) => {
12
- if (exportedDeclarationCache.size >= EXPORTED_DECLARATION_CACHE_MAX) {
13
- const firstKey = exportedDeclarationCache.keys().next().value;
14
- if (firstKey !== undefined) {
15
- exportedDeclarationCache.delete(firstKey);
16
- }
17
- }
18
- exportedDeclarationCache.set(source, declarations);
19
- return declarations;
20
- };
21
- const cacheExportedDeclarationSegments = (source, segments) => {
22
- if (exportedDeclarationSegmentCache.size >= EXPORTED_DECLARATION_CACHE_MAX) {
23
- const firstKey = exportedDeclarationSegmentCache.keys().next().value;
24
- if (firstKey !== undefined) {
25
- exportedDeclarationSegmentCache.delete(firstKey);
26
- }
27
- }
28
- exportedDeclarationSegmentCache.set(source, segments);
29
- return segments;
30
- };
31
- const cacheExportedCallableDeclarationSegments = (source, segments) => {
32
- if (exportedCallableDeclarationSegmentCache.size >= EXPORTED_DECLARATION_CACHE_MAX) {
33
- const firstKey = exportedCallableDeclarationSegmentCache.keys().next().value;
34
- if (firstKey !== undefined) {
35
- exportedCallableDeclarationSegmentCache.delete(firstKey);
36
- }
37
- }
38
- exportedCallableDeclarationSegmentCache.set(source, segments);
39
- return segments;
12
+ const cacheValue = (cache, source, value) => {
13
+ pipe(Match.value(cache.size), Match.when((size) => size >= EXPORTED_DECLARATION_CACHE_MAX, () => {
14
+ pipe(Option.fromNullable(cache.keys().next().value), Option.match({
15
+ onNone: () => undefined,
16
+ onSome: (firstKey) => {
17
+ cache.delete(firstKey);
18
+ },
19
+ }));
20
+ }), Match.orElse(() => undefined));
21
+ cache.set(source, value);
22
+ return value;
40
23
  };
24
+ const cacheExportedDeclarations = (source, declarations) => cacheValue(exportedDeclarationCache, source, declarations);
25
+ const cacheExportedDeclarationSegments = (source, segments) => cacheValue(exportedDeclarationSegmentCache, source, segments);
26
+ const cacheExportedCallableDeclarationSegments = (source, segments) => cacheValue(exportedCallableDeclarationSegmentCache, source, segments);
41
27
  const declarationWithBraceBody = (source, startIndex) => {
42
28
  const bodyStart = source.indexOf('{', startIndex);
43
- if (bodyStart === -1) {
44
- return undefined;
45
- }
46
- const bodyEnd = findMatchingBrace(source, bodyStart);
47
- if (bodyEnd === -1) {
48
- return undefined;
49
- }
50
- return source.slice(startIndex, bodyEnd + 1);
51
- };
52
- const exportedNamesFromList = (exportedList) => exportedList
53
- .split(',')
54
- .map((name) => name
55
- .trim()
56
- .replace(/^type\s+/, '')
57
- .split(/\s+as\s+/)[0]
58
- ?.trim())
59
- .filter(Boolean);
29
+ return Match.value(bodyStart).pipe(Match.when(-1, () => undefined), Match.orElse((start) => {
30
+ const bodyEnd = findMatchingBrace(source, start);
31
+ return Match.value(bodyEnd).pipe(Match.when(-1, () => undefined), Match.orElse((end) => source.slice(startIndex, end + 1)));
32
+ }));
33
+ };
34
+ const exportedNamesFromList = (exportedList) => pipe(exportedList.split(','), Array.filterMap((name) => {
35
+ const exportedName = name
36
+ .trim()
37
+ .replace(/^type\s+/, '')
38
+ .split(/\s+as\s+/)[0]
39
+ ?.trim();
40
+ return pipe(Option.fromNullable(exportedName), Option.filter((value) => value.length > 0));
41
+ }));
60
42
  const namedExportDeclarationPattern = (exportedName) => new RegExp(`\\b(?:(?:const|let|var)\\s+${exportedName}\\b|` +
61
43
  `(?:async\\s+)?function\\s+${exportedName}\\b|` +
62
44
  `type\\s+${exportedName}\\b|interface\\s+${exportedName}\\b|` +
@@ -64,59 +46,34 @@ const namedExportDeclarationPattern = (exportedName) => new RegExp(`\\b(?:(?:con
64
46
  const isBraceBodyDeclaration = (declarationText) => /\b(?:async\s+)?function\b|\b(?:abstract\s+)?class\b|\binterface\b/.test(declarationText);
65
47
  const namedExportDeclarationText = (source, code, exportedName) => {
66
48
  const declarationMatch = namedExportDeclarationPattern(exportedName).exec(code);
67
- if (!declarationMatch) {
68
- return undefined;
69
- }
70
- if (isBraceBodyDeclaration(declarationMatch[0])) {
71
- return declarationWithBraceBody(source, declarationMatch.index);
72
- }
73
- const statementEnd = findStatementEnd(source, declarationMatch.index);
74
- return source.slice(declarationMatch.index, statementEnd + 1);
75
- };
76
- const addNamedExportDeclarations = (source, code, exportedList, declarations) => {
77
- for (const exportedName of exportedNamesFromList(exportedList)) {
78
- const declaration = namedExportDeclarationText(source, code, exportedName);
79
- if (declaration) {
80
- declarations.push(declaration);
81
- }
82
- }
83
- };
84
- const addStatementDeclarations = (source, matches, declarations) => {
85
- for (const match of matches) {
86
- if (match.index !== undefined) {
49
+ return pipe(Option.fromNullable(declarationMatch), Option.match({
50
+ onNone: () => undefined,
51
+ onSome: (match) => Match.value(isBraceBodyDeclaration(match[0])).pipe(Match.when(true, () => declarationWithBraceBody(source, match.index)), Match.orElse(() => {
87
52
  const statementEnd = findStatementEnd(source, match.index);
88
- declarations.push(source.slice(match.index, statementEnd + 1));
89
- }
90
- }
91
- };
92
- const addBraceDeclarations = (source, matches, declarations) => {
93
- for (const match of matches) {
94
- if (match.index !== undefined) {
95
- const declaration = declarationWithBraceBody(source, match.index);
96
- if (declaration) {
97
- declarations.push(declaration);
98
- }
99
- }
100
- }
101
- };
102
- const addDirectExportDeclarations = (source, code, declarations) => {
103
- addStatementDeclarations(source, code.matchAll(/\bexport\s+default\s+(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)?\s*=>/g), declarations);
104
- addBraceDeclarations(source, code.matchAll(/\bexport\s+(?:default\s+)?(?:async\s+)?function(?:\s+[A-Za-z_$][\w$]*)?\b/g), declarations);
105
- addStatementDeclarations(source, code.matchAll(/\bexport\s+(?:const|let|var)\s+[A-Za-z_$][\w$]*\b/g), declarations);
106
- addStatementDeclarations(source, code.matchAll(/\bexport\s+type\s+[A-Za-z_$][\w$]*\b/g), declarations);
107
- addBraceDeclarations(source, code.matchAll(/\bexport\s+interface\s+[A-Za-z_$][\w$]*\b/g), declarations);
108
- addBraceDeclarations(source, code.matchAll(/\bexport\s+(?:default\s+)?(?:abstract\s+)?class(?:\s+[A-Za-z_$][\w$]*)?\b/g), declarations);
109
- addStatementDeclarations(source, code.matchAll(/\bexport\s+default\s+(?!class\b|(?:async\s+)?function\b)/g), declarations);
110
- };
111
- const addNamedExportLists = (source, code, declarations) => {
112
- for (const exportMatch of code.matchAll(/\bexport\s+(?:type\s+)?{\s*([^}]+)\s*}/g)) {
113
- const exportStatementEnd = findStatementEnd(code, exportMatch.index);
114
- const exportStatement = code.slice(exportMatch.index, exportStatementEnd + 1);
115
- if (!/\bfrom\s*['"]/.test(exportStatement)) {
116
- addNamedExportDeclarations(source, code, exportMatch[1], declarations);
117
- }
118
- }
119
- };
53
+ return source.slice(match.index, statementEnd + 1);
54
+ })),
55
+ }));
56
+ };
57
+ const addNamedExportDeclarations = (source, code, exportedList) => pipe(exportedNamesFromList(exportedList), Array.filterMap((exportedName) => Option.fromNullable(namedExportDeclarationText(source, code, exportedName))));
58
+ const addStatementDeclarations = (source, matches) => pipe(Array.fromIterable(matches), Array.filterMap((match) => pipe(Option.fromNullable(match.index), Option.map((index) => {
59
+ const statementEnd = findStatementEnd(source, index);
60
+ return source.slice(index, statementEnd + 1);
61
+ }))));
62
+ const addBraceDeclarations = (source, matches) => pipe(Array.fromIterable(matches), Array.filterMap((match) => pipe(Option.fromNullable(match.index), Option.flatMap((index) => Option.fromNullable(declarationWithBraceBody(source, index))))));
63
+ const addDirectExportDeclarations = (source, code) => pipe([
64
+ addStatementDeclarations(source, code.matchAll(/\bexport\s+default\s+(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)?\s*=>/g)),
65
+ addBraceDeclarations(source, code.matchAll(/\bexport\s+(?:default\s+)?(?:async\s+)?function(?:\s+[A-Za-z_$][\w$]*)?\b/g)),
66
+ addStatementDeclarations(source, code.matchAll(/\bexport\s+(?:const|let|var)\s+[A-Za-z_$][\w$]*\b/g)),
67
+ addStatementDeclarations(source, code.matchAll(/\bexport\s+type\s+[A-Za-z_$][\w$]*\b/g)),
68
+ addBraceDeclarations(source, code.matchAll(/\bexport\s+interface\s+[A-Za-z_$][\w$]*\b/g)),
69
+ addBraceDeclarations(source, code.matchAll(/\bexport\s+(?:default\s+)?(?:abstract\s+)?class(?:\s+[A-Za-z_$][\w$]*)?\b/g)),
70
+ addStatementDeclarations(source, code.matchAll(/\bexport\s+default\s+(?!class\b|(?:async\s+)?function\b)/g)),
71
+ ], Array.flatten);
72
+ const addNamedExportLists = (source, code) => pipe(Array.fromIterable(code.matchAll(/\bexport\s+(?:type\s+)?{\s*([^}]+)\s*}/g)), Array.flatMap((exportMatch) => {
73
+ const exportStatementEnd = findStatementEnd(code, exportMatch.index);
74
+ const exportStatement = code.slice(exportMatch.index, exportStatementEnd + 1);
75
+ return Match.value(/\bfrom\s*['"]/.test(exportStatement)).pipe(Match.when(true, () => []), Match.orElse(() => addNamedExportDeclarations(source, code, exportMatch[1])));
76
+ }));
120
77
  /**
121
78
  * Internal helper exported for package-local composition.
122
79
  *
@@ -124,59 +81,35 @@ const addNamedExportLists = (source, code, declarations) => {
124
81
  */
125
82
  export const exportedDeclarationTexts = (source) => {
126
83
  const cachedValue = cachedExportedDeclarations(source);
127
- if (cachedValue) {
128
- return cachedValue;
129
- }
130
- const code = stripCommentsAndStrings(source);
131
- const declarations = [];
132
- addDirectExportDeclarations(source, code, declarations);
133
- addNamedExportLists(source, code, declarations);
134
- return cacheExportedDeclarations(source, declarations);
135
- };
136
- const findAssignmentEquals = (declaration) => {
137
- for (let index = 0; index < declaration.length; index++) {
138
- const char = declaration[index];
139
- const previousChar = declaration[index - 1];
140
- const nextChar = declaration[index + 1];
141
- if (char === '=' &&
142
- previousChar !== '=' &&
143
- previousChar !== '!' &&
144
- previousChar !== '<' &&
145
- previousChar !== '>' &&
146
- nextChar !== '=' &&
147
- nextChar !== '>') {
148
- return index;
149
- }
150
- }
151
- return -1;
152
- };
84
+ return pipe(Option.fromNullable(cachedValue), Option.match({
85
+ onNone: () => {
86
+ const code = stripCommentsAndStrings(source);
87
+ return cacheExportedDeclarations(source, pipe([addDirectExportDeclarations(source, code), addNamedExportLists(source, code)], Array.flatten));
88
+ },
89
+ onSome: (value) => value,
90
+ }));
91
+ };
92
+ const findAssignmentEquals = (declaration) => pipe(Array.range(0, declaration.length - 1), Array.findFirst((index) => {
93
+ const char = declaration[index];
94
+ const previousChar = declaration[index - 1];
95
+ const nextChar = declaration[index + 1];
96
+ return (char === '=' &&
97
+ previousChar !== '=' &&
98
+ previousChar !== '!' &&
99
+ previousChar !== '<' &&
100
+ previousChar !== '>' &&
101
+ nextChar !== '=' &&
102
+ nextChar !== '>');
103
+ }), Option.getOrElse(() => -1));
153
104
  const arrowValueSegment = (value) => {
154
105
  const arrowIndex = value.indexOf('=>');
155
- if (/^\s*(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)\s*=>/.test(value)) {
156
- return value.slice(arrowIndex + 2);
157
- }
158
- return value;
106
+ return Match.value(/^\s*(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)\s*=>/.test(value)).pipe(Match.when(true, () => value.slice(arrowIndex + 2)), Match.orElse(() => value));
159
107
  };
160
108
  const declarationInitializerValue = (declaration) => {
161
109
  const equalsIndex = findAssignmentEquals(declaration);
162
- if (equalsIndex !== -1) {
163
- return declaration.slice(equalsIndex + 1);
164
- }
165
- return declaration;
166
- };
167
- const exportedDeclarationSegment = (declaration) => {
168
- if (/^\s*export\s+default\b/.test(declaration)) {
169
- return arrowValueSegment(declaration.replace(/^\s*export\s+default\s+/, ''));
170
- }
171
- if (/^\s*(?:export\s+)?(?:const|let|var)\b/.test(declaration)) {
172
- return arrowValueSegment(declarationInitializerValue(declaration));
173
- }
174
- const bodyStart = declaration.indexOf('{');
175
- if (bodyStart === -1) {
176
- return declaration;
177
- }
178
- return declaration.slice(bodyStart);
110
+ return Match.value(equalsIndex).pipe(Match.when(-1, () => declaration), Match.orElse((index) => declaration.slice(index + 1)));
179
111
  };
112
+ const exportedDeclarationSegment = (declaration) => Match.value(declaration).pipe(Match.when((value) => /^\s*export\s+default\b/.test(value), (value) => arrowValueSegment(value.replace(/^\s*export\s+default\s+/, ''))), Match.when((value) => /^\s*(?:export\s+)?(?:const|let|var)\b/.test(value), (value) => arrowValueSegment(declarationInitializerValue(value))), Match.orElse((value) => Match.value(value.indexOf('{')).pipe(Match.when(-1, () => value), Match.orElse((bodyStart) => value.slice(bodyStart)))));
180
113
  /**
181
114
  * Internal helper exported for package-local composition.
182
115
  *
@@ -184,44 +117,24 @@ const exportedDeclarationSegment = (declaration) => {
184
117
  */
185
118
  export const exportedDeclarationSegments = (source) => {
186
119
  const cachedValue = exportedDeclarationSegmentCache.get(source);
187
- if (cachedValue) {
188
- return cachedValue;
189
- }
190
- return cacheExportedDeclarationSegments(source, exportedDeclarationTexts(source).map(exportedDeclarationSegment));
120
+ return pipe(Option.fromNullable(cachedValue), Option.match({
121
+ onNone: () => cacheExportedDeclarationSegments(source, pipe(exportedDeclarationTexts(source), Array.map(exportedDeclarationSegment))),
122
+ onSome: (value) => value,
123
+ }));
191
124
  };
192
125
  const callableFunctionSegment = (declaration) => {
193
126
  const bodyStart = declaration.indexOf('{');
194
- if (bodyStart === -1) {
195
- return [];
196
- }
197
- return [declaration.slice(bodyStart)];
127
+ return Match.value(bodyStart).pipe(Match.when(-1, () => []), Match.orElse((start) => [declaration.slice(start)]));
198
128
  };
199
129
  const callableDefaultSegment = (declaration) => {
200
130
  const value = declaration.replace(/^\s*export\s+default\s+/, '');
201
- if (!/^\s*(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)\s*=>/.test(value)) {
202
- return [];
203
- }
204
- return [value.slice(value.indexOf('=>') + 2)];
131
+ return Match.value(/^\s*(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)\s*=>/.test(value)).pipe(Match.when(true, () => [value.slice(value.indexOf('=>') + 2)]), Match.orElse(() => []));
205
132
  };
206
133
  const callableVariableSegment = (declaration) => {
207
134
  const value = declarationInitializerValue(declaration);
208
- if (!/^\s*(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)\s*=>/.test(value)) {
209
- return [];
210
- }
211
- return [value.slice(value.indexOf('=>') + 2)];
212
- };
213
- const exportedCallableDeclarationSegment = (declaration) => {
214
- if (/^\s*(?:export\s+)?(?:async\s+)?function\b/.test(declaration)) {
215
- return callableFunctionSegment(declaration);
216
- }
217
- if (/^\s*export\s+default\b/.test(declaration)) {
218
- return callableDefaultSegment(declaration);
219
- }
220
- if (/^\s*(?:export\s+)?(?:const|let|var)\b/.test(declaration)) {
221
- return callableVariableSegment(declaration);
222
- }
223
- return [];
135
+ return Match.value(/^\s*(?:async\s*)?(?:\([^)]*\)|[A-Za-z_$][\w$]*)\s*=>/.test(value)).pipe(Match.when(true, () => [value.slice(value.indexOf('=>') + 2)]), Match.orElse(() => []));
224
136
  };
137
+ const exportedCallableDeclarationSegment = (declaration) => Match.value(declaration).pipe(Match.when((value) => /^\s*(?:export\s+)?(?:async\s+)?function\b/.test(value), callableFunctionSegment), Match.when((value) => /^\s*export\s+default\b/.test(value), callableDefaultSegment), Match.when((value) => /^\s*(?:export\s+)?(?:const|let|var)\b/.test(value), callableVariableSegment), Match.orElse(() => []));
225
138
  /**
226
139
  * Internal helper exported for package-local composition.
227
140
  *
@@ -229,9 +142,9 @@ const exportedCallableDeclarationSegment = (declaration) => {
229
142
  */
230
143
  export const exportedCallableDeclarationSegments = (source) => {
231
144
  const cachedValue = exportedCallableDeclarationSegmentCache.get(source);
232
- if (cachedValue) {
233
- return cachedValue;
234
- }
235
- return cacheExportedCallableDeclarationSegments(source, exportedDeclarationTexts(source).flatMap(exportedCallableDeclarationSegment));
145
+ return pipe(Option.fromNullable(cachedValue), Option.match({
146
+ onNone: () => cacheExportedCallableDeclarationSegments(source, pipe(exportedDeclarationTexts(source), Array.flatMap(exportedCallableDeclarationSegment))),
147
+ onSome: (value) => value,
148
+ }));
236
149
  };
237
150
  //# sourceMappingURL=effect-exported-declarations.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"effect-exported-declarations.js","sourceRoot":"","sources":["../../src/rules/effect-exported-declarations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"effect-exported-declarations.js","sourceRoot":"","sources":["../../src/rules/effect-exported-declarations.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"effect-path-options.d.ts","sourceRoot":"","sources":["../../src/rules/effect-path-options.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,kBAAkB,GAClB,cAAc,GACd,QAAQ,GACR,aAAa,GACb,kBAAkB,GAClB,WAAW,CAAC;AAEhB;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;AAExF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,0HAQkB,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc1B,CAAC;AAiFX;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GACpC,SAAS,iBAAiB,GAAG,SAAS,KACrC,iBAAiB,GAAG,SAgBtB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,SAAS,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,EAC9C,KAAK,mBAAmB,KACvB,OAKF,CAAC;AAKF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,KAAG,OAEhC,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,KAAG,OAGnC,CAAC"}
1
+ {"version":3,"file":"effect-path-options.d.ts","sourceRoot":"","sources":["../../src/rules/effect-path-options.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAC3B,eAAe,GACf,kBAAkB,GAClB,cAAc,GACd,QAAQ,GACR,aAAa,GACb,kBAAkB,GAClB,WAAW,CAAC;AAEhB;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,CAAC;AAExF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,0HAQkB,CAAC;AAEpD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAc1B,CAAC;AA8HX;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,GACpC,SAAS,iBAAiB,GAAG,SAAS,KACrC,iBAAiB,GAAG,SA+BpB,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,SAAS,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,EAC9C,KAAK,mBAAmB,KACvB,OAQF,CAAC;AAQF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,SAAS,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,KAAG,OAEhC,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS,IAAI,CAAC,OAAO,EAAE,UAAU,GAAG,SAAS,CAAC,KAAG,OAGnC,CAAC"}
@@ -1,3 +1,7 @@
1
+ /* -------------------------------------------------------------------------- */
2
+ /* Path option schema helpers for strict Effect lint rules. */
3
+ /* -------------------------------------------------------------------------- */
4
+ import { Array, Match, Option, pipe } from 'effect';
1
5
  /**
2
6
  * Internal helper exported for package-local composition.
3
7
  *
@@ -48,76 +52,62 @@ const globToken = (pattern, index) => {
48
52
  const char = pattern[index];
49
53
  const nextChar = pattern[index + 1];
50
54
  const afterNextChar = pattern[index + 2];
51
- if (char === '*' && nextChar === '*' && afterNextChar === '/') {
52
- return { index: index + 2, text: '(?:.*/)?' };
53
- }
54
- if (char === '*' && nextChar === '*') {
55
- return { index: index + 1, text: '.*' };
56
- }
57
- if (char === '*') {
58
- return { index, text: '[^/]*' };
59
- }
60
- return { index, text: escapeRegExp(char ?? '') };
55
+ return Match.value(char).pipe(Match.when((character) => character === '*' && nextChar === '*' && afterNextChar === '/', () => ({ index: index + 2, text: '(?:.*/)?' })), Match.when((character) => character === '*' && nextChar === '*', () => ({ index: index + 1, text: '.*' })), Match.when((character) => character === '*', () => ({ index, text: '[^/]*' })), Match.orElse((character) => ({
56
+ index,
57
+ text: escapeRegExp(character ?? ''),
58
+ })));
61
59
  };
62
60
  const globBody = (normalizedPattern) => {
63
- let body = '';
64
- for (let index = 0; index < normalizedPattern.length; index++) {
65
- const token = globToken(normalizedPattern, index);
66
- const { index: nextIndex, text } = token;
67
- body += text;
68
- index = nextIndex;
69
- }
70
- return body;
71
- };
72
- const globPrefix = (normalizedPattern) => {
73
- if (normalizedPattern.startsWith('/')) {
74
- return '^';
75
- }
76
- return '(?:^|/)';
61
+ const appendToken = (index, body) => Match.value(index).pipe(Match.when((currentIndex) => currentIndex >= normalizedPattern.length, () => body), Match.orElse((currentIndex) => {
62
+ const token = globToken(normalizedPattern, currentIndex);
63
+ return appendToken(token.index + 1, body + token.text);
64
+ }));
65
+ return appendToken(0, '');
77
66
  };
67
+ const globPrefix = (normalizedPattern) => Match.value(normalizedPattern.startsWith('/')).pipe(Match.when(true, () => '^'), Match.orElse(() => '(?:^|/)'));
78
68
  const globToRegExp = (pattern) => {
79
69
  const cached = globCache.get(pattern);
80
- if (cached) {
81
- return cached;
82
- }
83
- const normalizedPattern = pattern.replace(/\\/g, '/').replace(/^\.\//, '');
84
- const matcher = new RegExp(`${globPrefix(normalizedPattern)}${globBody(normalizedPattern)}$`);
85
- globCache.set(pattern, matcher);
86
- return matcher;
87
- };
88
- const matchesPath = (filename, pattern) => {
89
- if (!filename) {
90
- return false;
91
- }
92
- return globToRegExp(pattern).test(filename.replace(/\\/g, '/'));
70
+ return pipe(Option.fromNullable(cached), Option.match({
71
+ onNone: () => {
72
+ const normalizedPattern = pattern.replace(/\\/g, '/').replace(/^\.\//, '');
73
+ const matcher = new RegExp(`${globPrefix(normalizedPattern)}${globBody(normalizedPattern)}$`);
74
+ globCache.set(pattern, matcher);
75
+ return matcher;
76
+ },
77
+ onSome: (matcher) => matcher,
78
+ }));
93
79
  };
80
+ const matchesPath = (filename, pattern) => pipe(Option.fromNullable(filename), Option.exists((value) => globToRegExp(pattern).test(value.replace(/\\/g, '/'))));
81
+ const isReadonlyStringArray = (value) => Array.isArray(value) &&
82
+ pipe(value, Array.every((entry) => typeof entry === 'string'));
83
+ const strictOptionsFromUnknown = (options) => pipe(strictPathOptionKeys, Array.reduce({}, (current, optionKey) => {
84
+ const optionValue = Reflect.get(options, optionKey);
85
+ return pipe(Option.fromNullable(optionValue), Option.filter(isReadonlyStringArray), Option.match({
86
+ onNone: () => current,
87
+ onSome: (optionArray) => {
88
+ const next = { ...current };
89
+ next[optionKey] = optionArray;
90
+ return next;
91
+ },
92
+ }));
93
+ }));
94
94
  const getStrictOptions = (context) => {
95
95
  const options = context.options?.[0];
96
- if (!options || typeof options !== 'object') {
97
- return {};
98
- }
99
- return options;
96
+ return pipe(Option.fromNullable(options), Option.filter((value) => typeof value === 'object'), Option.map(strictOptionsFromUnknown), Option.getOrElse(() => ({})));
100
97
  };
101
98
  /**
102
99
  * Internal helper exported for package-local composition.
103
100
  *
104
101
  * @internal
105
102
  */
106
- export const sanitizeStrictPathOptions = (options) => {
107
- if (!options) {
108
- return undefined;
109
- }
110
- const sanitized = {};
111
- for (const optionKey of strictPathOptionKeys) {
112
- if (Object.hasOwn(options, optionKey)) {
113
- sanitized[optionKey] = options[optionKey];
114
- }
115
- }
116
- if (Object.keys(sanitized).length === 0) {
117
- return undefined;
118
- }
119
- return sanitized;
120
- };
103
+ export const sanitizeStrictPathOptions = (options) => pipe(Option.fromNullable(options), Option.flatMap((value) => {
104
+ const sanitized = pipe(strictPathOptionKeys, Array.reduce({}, (current, optionKey) => Match.value(Object.hasOwn(value, optionKey)).pipe(Match.when((hasOption) => hasOption, () => {
105
+ const next = { ...current };
106
+ next[optionKey] = value[optionKey];
107
+ return next;
108
+ }), Match.orElse(() => current))));
109
+ return Match.value(Object.keys(sanitized).length).pipe(Match.when((length) => length === 0, () => Option.none()), Match.orElse(() => Option.some(sanitized)));
110
+ }), Option.getOrUndefined);
121
111
  /**
122
112
  * Internal helper exported for package-local composition.
123
113
  *
@@ -126,9 +116,9 @@ export const sanitizeStrictPathOptions = (options) => {
126
116
  export const isConfiguredPath = (context, key) => {
127
117
  const configuredPatterns = getStrictOptions(context)[key];
128
118
  const patterns = configuredPatterns ?? defaultPathOptions[key];
129
- return patterns.some((pattern) => matchesPath(context.filename, pattern));
119
+ return pipe(patterns, Array.some((pattern) => matchesPath(context.filename, pattern)));
130
120
  };
131
- const isTestFile = (filename) => Boolean(filename && testFilePattern.test(filename));
121
+ const isTestFile = (filename) => pipe(Option.fromNullable(filename), Option.exists((value) => testFilePattern.test(value)));
132
122
  /**
133
123
  * Internal helper exported for package-local composition.
134
124
  *
@@ -1 +1 @@
1
- {"version":3,"file":"effect-path-options.js","sourceRoot":"","sources":["../../src/rules/effect-path-options.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"effect-path-options.js","sourceRoot":"","sources":["../../src/rules/effect-path-options.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"effect-rule-aliases.d.ts","sourceRoot":"","sources":["../../src/rules/effect-rule-aliases.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QACkF,CAAC;AA4IlH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,KAAG,MAAM,EAiB1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,EAAE,SAAS,MAAM,KAAG,MAAM,EAqBxE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,MAAM,EACd,YAAY,MAAM,EAClB,eAAe,MAAM,KACpB,MAAM,EAaR,CAAC;AAiEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GAAI,QAAQ,MAAM,KAAG,MAiB7D,CAAC;AAoBF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,OAuB/C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,OAmBhD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,GAAG,SAAS,KAAG,OACL,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,UAAU,MAAM,GAAG,SAAS,KAAG,OACL,CAAC"}
1
+ {"version":3,"file":"effect-rule-aliases.d.ts","sourceRoot":"","sources":["../../src/rules/effect-rule-aliases.ts"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,QACkF,CAAC;AAoKlH;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,KAAG,MAAM,EAiB1D,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,EAAE,SAAS,MAAM,KAAG,MAAM,EAyBxE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAChC,QAAQ,MAAM,EACd,YAAY,MAAM,EAClB,eAAe,MAAM,KACpB,MAAM,EAgBR,CAAC;AAwEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,GAAI,QAAQ,MAAM,KAAG,MAkB3D,CAAC;AA+BJ;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,OAuB/C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,MAAM,KAAG,OAmBhD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,GAAG,SAAS,KAAG,OACL,CAAC;AAE1D;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,UAAU,MAAM,GAAG,SAAS,KAAG,OACL,CAAC"}