@thethracian/oxlint-config 0.2.0 → 0.3.0
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.
- package/CHANGELOG.md +13 -0
- package/README.md +125 -19
- package/dist/codemod-fix/cli.d.ts +3 -0
- package/dist/codemod-fix/cli.d.ts.map +1 -0
- package/dist/codemod-fix/cli.js +22 -0
- package/dist/codemod-fix/cli.js.map +1 -0
- package/dist/codemod-fix/index.d.ts +44 -0
- package/dist/codemod-fix/index.d.ts.map +1 -0
- package/dist/codemod-fix/index.js +110 -0
- package/dist/codemod-fix/index.js.map +1 -0
- package/dist/codemods/arrow-body-style.d.ts +7 -0
- package/dist/codemods/arrow-body-style.d.ts.map +1 -0
- package/dist/codemods/arrow-body-style.js +106 -0
- package/dist/codemods/arrow-body-style.js.map +1 -0
- package/dist/codemods/comment-format.d.ts +24 -0
- package/dist/codemods/comment-format.d.ts.map +1 -0
- package/dist/codemods/comment-format.js +100 -0
- package/dist/codemods/comment-format.js.map +1 -0
- package/dist/codemods/explicit-return-types.d.ts +7 -0
- package/dist/codemods/explicit-return-types.d.ts.map +1 -0
- package/dist/codemods/explicit-return-types.js +350 -0
- package/dist/codemods/explicit-return-types.js.map +1 -0
- package/dist/codemods/format-file-header.d.ts +7 -0
- package/dist/codemods/format-file-header.d.ts.map +1 -0
- package/dist/codemods/format-file-header.js +163 -0
- package/dist/codemods/format-file-header.js.map +1 -0
- package/dist/codemods/format-jsdoc-comments.d.ts +7 -0
- package/dist/codemods/format-jsdoc-comments.d.ts.map +1 -0
- package/dist/codemods/format-jsdoc-comments.js +129 -0
- package/dist/codemods/format-jsdoc-comments.js.map +1 -0
- package/dist/codemods/function-declarations.d.ts +7 -0
- package/dist/codemods/function-declarations.d.ts.map +1 -0
- package/dist/codemods/function-declarations.js +202 -0
- package/dist/codemods/function-declarations.js.map +1 -0
- package/dist/codemods/inline-export-lists.d.ts +7 -0
- package/dist/codemods/inline-export-lists.d.ts.map +1 -0
- package/dist/codemods/inline-export-lists.js +168 -0
- package/dist/codemods/inline-export-lists.js.map +1 -0
- package/dist/codemods/internal-export-docs.d.ts +7 -0
- package/dist/codemods/internal-export-docs.d.ts.map +1 -0
- package/dist/codemods/internal-export-docs.js +93 -0
- package/dist/codemods/internal-export-docs.js.map +1 -0
- package/dist/codemods/no-ternary-branch-initializers.d.ts +14 -0
- package/dist/codemods/no-ternary-branch-initializers.d.ts.map +1 -0
- package/dist/codemods/no-ternary-branch-initializers.js +240 -0
- package/dist/codemods/no-ternary-branch-initializers.js.map +1 -0
- package/dist/codemods/no-ternary-variable-initializers.d.ts +14 -0
- package/dist/codemods/no-ternary-variable-initializers.d.ts.map +1 -0
- package/dist/codemods/no-ternary-variable-initializers.js +235 -0
- package/dist/codemods/no-ternary-variable-initializers.js.map +1 -0
- package/dist/codemods/no-ternary.d.ts +7 -0
- package/dist/codemods/no-ternary.d.ts.map +1 -0
- package/dist/codemods/no-ternary.js +215 -0
- package/dist/codemods/no-ternary.js.map +1 -0
- package/dist/codemods/rename-acronyms.d.ts +8 -0
- package/dist/codemods/rename-acronyms.d.ts.map +1 -0
- package/dist/codemods/rename-acronyms.js +193 -0
- package/dist/codemods/rename-acronyms.js.map +1 -0
- package/dist/codemods/run.d.ts +2 -0
- package/dist/codemods/run.d.ts.map +1 -0
- package/dist/codemods/run.js +14 -0
- package/dist/codemods/run.js.map +1 -0
- package/dist/codemods/sort-imports.d.ts +7 -0
- package/dist/codemods/sort-imports.d.ts.map +1 -0
- package/dist/codemods/sort-imports.js +235 -0
- package/dist/codemods/sort-imports.js.map +1 -0
- package/dist/index.d.ts +30 -96
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +157 -95
- package/dist/index.js.map +1 -1
- package/dist/rules/acronym-case.d.ts +7 -3
- package/dist/rules/acronym-case.d.ts.map +1 -1
- package/dist/rules/acronym-case.js +129 -120
- package/dist/rules/acronym-case.js.map +1 -1
- package/dist/rules/acronyms-1.d.ts +3 -0
- package/dist/rules/acronyms-1.d.ts.map +1 -0
- package/dist/rules/acronyms-1.js +407 -0
- package/dist/rules/acronyms-1.js.map +1 -0
- package/dist/rules/acronyms-2.d.ts +3 -0
- package/dist/rules/acronyms-2.d.ts.map +1 -0
- package/dist/rules/acronyms-2.js +407 -0
- package/dist/rules/acronyms-2.js.map +1 -0
- package/dist/rules/acronyms-3.d.ts +3 -0
- package/dist/rules/acronyms-3.d.ts.map +1 -0
- package/dist/rules/acronyms-3.js +407 -0
- package/dist/rules/acronyms-3.js.map +1 -0
- package/dist/rules/acronyms-4.d.ts +3 -0
- package/dist/rules/acronyms-4.d.ts.map +1 -0
- package/dist/rules/acronyms-4.js +377 -0
- package/dist/rules/acronyms-4.js.map +1 -0
- package/dist/rules/acronyms.d.ts +1 -8
- package/dist/rules/acronyms.d.ts.map +1 -1
- package/dist/rules/acronyms.js +14 -1578
- package/dist/rules/acronyms.js.map +1 -1
- package/dist/rules/boolean-prefix.d.ts +11 -2
- package/dist/rules/boolean-prefix.d.ts.map +1 -1
- package/dist/rules/boolean-prefix.js +95 -59
- package/dist/rules/boolean-prefix.js.map +1 -1
- package/dist/rules/camel-case-identifiers.d.ts +3 -4
- package/dist/rules/camel-case-identifiers.d.ts.map +1 -1
- package/dist/rules/camel-case-identifiers.js +59 -40
- package/dist/rules/camel-case-identifiers.js.map +1 -1
- package/dist/rules/char-class.d.ts +26 -13
- package/dist/rules/char-class.d.ts.map +1 -1
- package/dist/rules/char-class.js +56 -24
- package/dist/rules/char-class.js.map +1 -1
- package/dist/rules/diagnostic-guidance.d.ts +91 -0
- package/dist/rules/diagnostic-guidance.d.ts.map +1 -0
- package/dist/rules/diagnostic-guidance.js +243 -0
- package/dist/rules/diagnostic-guidance.js.map +1 -0
- package/dist/rules/effect-default-ast.d.ts +89 -0
- package/dist/rules/effect-default-ast.d.ts.map +1 -0
- package/dist/rules/effect-default-ast.js +208 -0
- package/dist/rules/effect-default-ast.js.map +1 -0
- package/dist/rules/effect-default-compat-rules.d.ts +76 -0
- package/dist/rules/effect-default-compat-rules.d.ts.map +1 -0
- package/dist/rules/effect-default-compat-rules.js +270 -0
- package/dist/rules/effect-default-compat-rules.js.map +1 -0
- package/dist/rules/effect-default-env-rules.d.ts +60 -0
- package/dist/rules/effect-default-env-rules.d.ts.map +1 -0
- package/dist/rules/effect-default-env-rules.js +259 -0
- package/dist/rules/effect-default-env-rules.js.map +1 -0
- package/dist/rules/effect-default-fiber-helpers.d.ts +13 -0
- package/dist/rules/effect-default-fiber-helpers.d.ts.map +1 -0
- package/dist/rules/effect-default-fiber-helpers.js +76 -0
- package/dist/rules/effect-default-fiber-helpers.js.map +1 -0
- package/dist/rules/effect-default-floating-helpers.d.ts +7 -0
- package/dist/rules/effect-default-floating-helpers.d.ts.map +1 -0
- package/dist/rules/effect-default-floating-helpers.js +113 -0
- package/dist/rules/effect-default-floating-helpers.js.map +1 -0
- package/dist/rules/effect-default-helpers.d.ts +8 -32
- package/dist/rules/effect-default-helpers.d.ts.map +1 -1
- package/dist/rules/effect-default-helpers.js +11 -458
- package/dist/rules/effect-default-helpers.js.map +1 -1
- package/dist/rules/effect-default-resource-helpers.d.ts +18 -4
- package/dist/rules/effect-default-resource-helpers.d.ts.map +1 -1
- package/dist/rules/effect-default-resource-helpers.js +30 -13
- package/dist/rules/effect-default-resource-helpers.js.map +1 -1
- package/dist/rules/effect-default-safety-helpers.d.ts +43 -0
- package/dist/rules/effect-default-safety-helpers.d.ts.map +1 -0
- package/dist/rules/effect-default-safety-helpers.js +126 -0
- package/dist/rules/effect-default-safety-helpers.js.map +1 -0
- package/dist/rules/effect-default-scan-helpers.d.ts +43 -0
- package/dist/rules/effect-default-scan-helpers.d.ts.map +1 -0
- package/dist/rules/effect-default-scan-helpers.js +141 -0
- package/dist/rules/effect-default-scan-helpers.js.map +1 -0
- package/dist/rules/effect-default-schema-helpers.d.ts +37 -0
- package/dist/rules/effect-default-schema-helpers.d.ts.map +1 -0
- package/dist/rules/effect-default-schema-helpers.js +104 -0
- package/dist/rules/effect-default-schema-helpers.js.map +1 -0
- package/dist/rules/effect-default-test-helpers.d.ts +18 -4
- package/dist/rules/effect-default-test-helpers.d.ts.map +1 -1
- package/dist/rules/effect-default-test-helpers.js +41 -20
- package/dist/rules/effect-default-test-helpers.js.map +1 -1
- package/dist/rules/effect-default-workflow-helpers.d.ts +91 -0
- package/dist/rules/effect-default-workflow-helpers.d.ts.map +1 -0
- package/dist/rules/effect-default-workflow-helpers.js +247 -0
- package/dist/rules/effect-default-workflow-helpers.js.map +1 -0
- package/dist/rules/effect-default.d.ts +1 -1
- package/dist/rules/effect-default.d.ts.map +1 -1
- package/dist/rules/effect-default.js +198 -637
- package/dist/rules/effect-default.js.map +1 -1
- package/dist/rules/effect-exported-declarations.d.ts +19 -0
- package/dist/rules/effect-exported-declarations.d.ts.map +1 -0
- package/dist/rules/effect-exported-declarations.js +237 -0
- package/dist/rules/effect-exported-declarations.js.map +1 -0
- package/dist/rules/effect-path-options.d.ts +49 -11
- package/dist/rules/effect-path-options.d.ts.map +1 -1
- package/dist/rules/effect-path-options.js +85 -52
- package/dist/rules/effect-path-options.js.map +1 -1
- package/dist/rules/effect-rule-aliases.d.ts +55 -0
- package/dist/rules/effect-rule-aliases.d.ts.map +1 -0
- package/dist/rules/effect-rule-aliases.js +278 -0
- package/dist/rules/effect-rule-aliases.js.map +1 -0
- package/dist/rules/effect-rule-core.d.ts +46 -24
- package/dist/rules/effect-rule-core.d.ts.map +1 -1
- package/dist/rules/effect-rule-core.js +263 -303
- package/dist/rules/effect-rule-core.js.map +1 -1
- package/dist/rules/effect-rule-names.d.ts +12 -3
- package/dist/rules/effect-rule-names.d.ts.map +1 -1
- package/dist/rules/effect-rule-names.js +15 -3
- package/dist/rules/effect-rule-names.js.map +1 -1
- package/dist/rules/effect-source-comments.d.ts +7 -0
- package/dist/rules/effect-source-comments.d.ts.map +1 -0
- package/dist/rules/effect-source-comments.js +227 -0
- package/dist/rules/effect-source-comments.js.map +1 -0
- package/dist/rules/effect-source-helpers.d.ts +4 -9
- package/dist/rules/effect-source-helpers.d.ts.map +1 -1
- package/dist/rules/effect-source-helpers.js +7 -333
- package/dist/rules/effect-source-helpers.js.map +1 -1
- package/dist/rules/effect-source-navigation.d.ts +25 -0
- package/dist/rules/effect-source-navigation.d.ts.map +1 -0
- package/dist/rules/effect-source-navigation.js +244 -0
- package/dist/rules/effect-source-navigation.js.map +1 -0
- package/dist/rules/effect-source-scan.d.ts +30 -7
- package/dist/rules/effect-source-scan.d.ts.map +1 -1
- package/dist/rules/effect-source-scan.js +377 -297
- package/dist/rules/effect-source-scan.js.map +1 -1
- package/dist/rules/effect-strict-ast-specs.d.ts +8 -0
- package/dist/rules/effect-strict-ast-specs.d.ts.map +1 -0
- package/dist/rules/effect-strict-ast-specs.js +166 -0
- package/dist/rules/effect-strict-ast-specs.js.map +1 -0
- package/dist/rules/effect-strict-boundary-helpers.d.ts +25 -0
- package/dist/rules/effect-strict-boundary-helpers.d.ts.map +1 -0
- package/dist/rules/effect-strict-boundary-helpers.js +127 -0
- package/dist/rules/effect-strict-boundary-helpers.js.map +1 -0
- package/dist/rules/effect-strict-core-specs.d.ts +8 -0
- package/dist/rules/effect-strict-core-specs.d.ts.map +1 -0
- package/dist/rules/effect-strict-core-specs.js +334 -0
- package/dist/rules/effect-strict-core-specs.js.map +1 -0
- package/dist/rules/effect-strict-external-helpers.d.ts +25 -0
- package/dist/rules/effect-strict-external-helpers.d.ts.map +1 -0
- package/dist/rules/effect-strict-external-helpers.js +87 -0
- package/dist/rules/effect-strict-external-helpers.js.map +1 -0
- package/dist/rules/effect-strict-helpers.d.ts +75 -33
- package/dist/rules/effect-strict-helpers.d.ts.map +1 -1
- package/dist/rules/effect-strict-helpers.js +124 -246
- package/dist/rules/effect-strict-helpers.js.map +1 -1
- package/dist/rules/effect-strict-internals.d.ts +198 -0
- package/dist/rules/effect-strict-internals.d.ts.map +1 -0
- package/dist/rules/effect-strict-internals.js +477 -0
- package/dist/rules/effect-strict-internals.js.map +1 -0
- package/dist/rules/effect-strict-segment-helpers.d.ts +79 -0
- package/dist/rules/effect-strict-segment-helpers.d.ts.map +1 -0
- package/dist/rules/effect-strict-segment-helpers.js +308 -0
- package/dist/rules/effect-strict-segment-helpers.js.map +1 -0
- package/dist/rules/effect-strict.d.ts +1 -1
- package/dist/rules/effect-strict.d.ts.map +1 -1
- package/dist/rules/effect-strict.js +10 -661
- package/dist/rules/effect-strict.js.map +1 -1
- package/dist/rules/max-import-depth.d.ts +2 -2
- package/dist/rules/max-import-depth.d.ts.map +1 -1
- package/dist/rules/max-import-depth.js +52 -17
- package/dist/rules/max-import-depth.js.map +1 -1
- package/dist/rules/max-line-length.d.ts +9 -2
- package/dist/rules/max-line-length.d.ts.map +1 -1
- package/dist/rules/max-line-length.js +62 -7
- package/dist/rules/max-line-length.js.map +1 -1
- package/dist/rules/no-commented-out-code.d.ts +3 -7
- package/dist/rules/no-commented-out-code.d.ts.map +1 -1
- package/dist/rules/no-commented-out-code.js +157 -102
- package/dist/rules/no-commented-out-code.js.map +1 -1
- package/dist/rules/pascal-case-types.d.ts +1 -1
- package/dist/rules/pascal-case-types.d.ts.map +1 -1
- package/dist/rules/pascal-case-types.js +65 -46
- package/dist/rules/pascal-case-types.js.map +1 -1
- package/dist/rules/plugin-commented-out-code-rule.d.ts +32 -0
- package/dist/rules/plugin-commented-out-code-rule.d.ts.map +1 -0
- package/dist/rules/plugin-commented-out-code-rule.js +135 -0
- package/dist/rules/plugin-commented-out-code-rule.js.map +1 -0
- package/dist/rules/plugin.d.ts +3 -121
- package/dist/rules/plugin.d.ts.map +1 -1
- package/dist/rules/plugin.js +195 -201
- package/dist/rules/plugin.js.map +1 -1
- package/dist/rules/private-underscore.d.ts +1 -1
- package/dist/rules/private-underscore.d.ts.map +1 -1
- package/dist/rules/private-underscore.js +11 -4
- package/dist/rules/private-underscore.js.map +1 -1
- package/dist/rules/require-file-doc.d.ts +5 -6
- package/dist/rules/require-file-doc.d.ts.map +1 -1
- package/dist/rules/require-file-doc.js +127 -78
- package/dist/rules/require-file-doc.js.map +1 -1
- package/dist/rules/require-function-doc-ignored-text.d.ts +7 -0
- package/dist/rules/require-function-doc-ignored-text.d.ts.map +1 -0
- package/dist/rules/require-function-doc-ignored-text.js +67 -0
- package/dist/rules/require-function-doc-ignored-text.js.map +1 -0
- package/dist/rules/require-function-doc-local-exports.d.ts +7 -0
- package/dist/rules/require-function-doc-local-exports.d.ts.map +1 -0
- package/dist/rules/require-function-doc-local-exports.js +114 -0
- package/dist/rules/require-function-doc-local-exports.js.map +1 -0
- package/dist/rules/require-function-doc.d.ts +3 -18
- package/dist/rules/require-function-doc.d.ts.map +1 -1
- package/dist/rules/require-function-doc.js +404 -218
- package/dist/rules/require-function-doc.js.map +1 -1
- package/dist/rules/source-cache.d.ts +19 -0
- package/dist/rules/source-cache.d.ts.map +1 -0
- package/dist/rules/source-cache.js +63 -0
- package/dist/rules/source-cache.js.map +1 -0
- package/package.json +15 -10
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"private-underscore.js","sourceRoot":"","sources":["../../src/rules/private-underscore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,IAAY;IACvD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"private-underscore.js","sourceRoot":"","sources":["../../src/rules/private-underscore.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAEhF,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAEhC;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,IAAY;IACvD,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,oBAAoB,CAAC;AACxE,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAU,EAAE;IACzD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,OAAO,IAAI,IAAI,EAAE,CAAC;AACpB,CAAC,CAAC"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Extract the JSDoc file header comment from source text.
|
|
3
|
-
*
|
|
4
|
-
* Returns the full JSDoc block or null.
|
|
2
|
+
* Extract the JSDoc file header comment from source text. Skips leading shebang lines and whitespace.
|
|
3
|
+
* Returns the full JSDoc block or undefined.
|
|
5
4
|
*/
|
|
6
|
-
export declare
|
|
5
|
+
export declare const extractDocHeader: (source: string) => string | undefined;
|
|
7
6
|
/**
|
|
8
|
-
* Returns true if the source file satisfies the file doc requirement.
|
|
9
|
-
*
|
|
7
|
+
* Returns true if the source file satisfies the file doc requirement. Requires: divider header,
|
|
8
|
+
* opt-out marker, or empty/whitespace-only.
|
|
10
9
|
*/
|
|
11
10
|
export default function hasRequiredFileDoc(source: string): boolean;
|
|
12
11
|
//# sourceMappingURL=require-file-doc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"require-file-doc.d.ts","sourceRoot":"","sources":["../../src/rules/require-file-doc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"require-file-doc.d.ts","sourceRoot":"","sources":["../../src/rules/require-file-doc.ts"],"names":[],"mappings":"AA0IA;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,MAAM,GAAG,SAO1D,CAAC;AAiBF;;;GAGG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAWlE"}
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
/* -------------------------------------------------------------------------- */
|
|
2
|
+
/* File-level documentation requirement helper for custom Oxlint rules. */
|
|
3
|
+
/* -------------------------------------------------------------------------- */
|
|
1
4
|
// Character code constants
|
|
2
5
|
const CH_HASH = 35;
|
|
3
6
|
const CH_SLASH = 47;
|
|
@@ -5,101 +8,147 @@ const CH_SPACE = 32;
|
|
|
5
8
|
const CH_NEWLINE = 10;
|
|
6
9
|
const CH_RETURN = 13;
|
|
7
10
|
const CH_TAB = 9;
|
|
11
|
+
const CH_ASTERISK = 42;
|
|
12
|
+
const JSDOC_PREFIX_LENGTH = 3;
|
|
13
|
+
const LINE_MARKER_LOOKAHEAD = 20;
|
|
14
|
+
const BLOCK_MARKER_LOOKAHEAD = 15;
|
|
8
15
|
// Pre-computed search strings
|
|
9
|
-
const JSDOC_START = '/**';
|
|
10
16
|
const JSDOC_END = '*/';
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const len = source.length;
|
|
17
|
+
const DIVIDER_PREFIX = '/* ';
|
|
18
|
+
const DIVIDER_SUFFIX = ' */';
|
|
19
|
+
const DIVIDER_LENGTH = 80;
|
|
20
|
+
const DIVIDER_RULE = '/* -------------------------------------------------------------------------- */';
|
|
21
|
+
const isWhitespace = (code) => code === CH_SPACE || code === CH_NEWLINE || code === CH_RETURN || code === CH_TAB;
|
|
22
|
+
const skipShebangLines = (source, emptyResult) => {
|
|
18
23
|
let pos = 0;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
return null;
|
|
24
|
+
while (pos < source.length && source.charCodeAt(pos) === CH_HASH) {
|
|
25
|
+
const nextLine = source.indexOf('\n', pos);
|
|
26
|
+
if (nextLine === -1) {
|
|
27
|
+
return emptyResult;
|
|
24
28
|
}
|
|
29
|
+
pos = nextLine + 1;
|
|
30
|
+
}
|
|
31
|
+
return pos;
|
|
32
|
+
};
|
|
33
|
+
const skipLeadingWhitespace = (source, start) => {
|
|
34
|
+
let pos = start;
|
|
35
|
+
while (pos < source.length && isWhitespace(source.charCodeAt(pos))) {
|
|
25
36
|
pos++;
|
|
26
37
|
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
38
|
+
return pos;
|
|
39
|
+
};
|
|
40
|
+
const leadingContentPosition = (source, emptyResult) => skipLeadingWhitespace(source, skipShebangLines(source, emptyResult));
|
|
41
|
+
const hasJSDocStartAt = (source, pos) => pos + 2 < source.length &&
|
|
42
|
+
source.charCodeAt(pos) === CH_SLASH &&
|
|
43
|
+
source.charCodeAt(pos + 1) === CH_ASTERISK &&
|
|
44
|
+
source.charCodeAt(pos + 2) === CH_ASTERISK;
|
|
45
|
+
const lineEndAt = (source, start) => {
|
|
46
|
+
const newline = source.indexOf('\n', start);
|
|
47
|
+
if (newline === -1) {
|
|
48
|
+
return source.length;
|
|
49
|
+
}
|
|
50
|
+
return newline;
|
|
51
|
+
};
|
|
52
|
+
const nextLineStartAt = (source, start) => {
|
|
53
|
+
const newline = source.indexOf('\n', start);
|
|
54
|
+
if (newline === -1) {
|
|
55
|
+
return source.length;
|
|
56
|
+
}
|
|
57
|
+
return newline + 1;
|
|
58
|
+
};
|
|
59
|
+
const isDividerTextLine = (line) => line.length === DIVIDER_LENGTH &&
|
|
60
|
+
line.startsWith(DIVIDER_PREFIX) &&
|
|
61
|
+
line.endsWith(DIVIDER_SUFFIX);
|
|
62
|
+
const isDividerRuleLine = (line) => line === DIVIDER_RULE;
|
|
63
|
+
const nextDividerEnd = (source, start) => {
|
|
64
|
+
let cursor = nextLineStartAt(source, start);
|
|
65
|
+
while (cursor < source.length) {
|
|
66
|
+
const end = lineEndAt(source, cursor);
|
|
67
|
+
if (isDividerRuleLine(source.slice(cursor, end))) {
|
|
68
|
+
return end;
|
|
32
69
|
}
|
|
33
|
-
|
|
70
|
+
cursor = nextLineStartAt(source, cursor);
|
|
71
|
+
}
|
|
72
|
+
return undefined;
|
|
73
|
+
};
|
|
74
|
+
const dividerHeaderEnd = (source, pos) => {
|
|
75
|
+
const firstEnd = lineEndAt(source, pos);
|
|
76
|
+
if (!isDividerRuleLine(source.slice(pos, firstEnd))) {
|
|
77
|
+
return undefined;
|
|
34
78
|
}
|
|
35
|
-
|
|
36
|
-
|
|
79
|
+
const closingDividerEnd = nextDividerEnd(source, firstEnd);
|
|
80
|
+
if (closingDividerEnd !== undefined) {
|
|
81
|
+
const body = source.slice(nextLineStartAt(source, firstEnd), closingDividerEnd);
|
|
82
|
+
if (body.split('\n').every(isDividerTextLine)) {
|
|
83
|
+
return closingDividerEnd;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return undefined;
|
|
87
|
+
};
|
|
88
|
+
const boundedEnd = (source, pos, lookahead) => {
|
|
89
|
+
if (pos + lookahead < source.length) {
|
|
90
|
+
return pos + lookahead;
|
|
37
91
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
92
|
+
return source.length;
|
|
93
|
+
};
|
|
94
|
+
const hasLineOptOutMarker = (source, pos) => {
|
|
95
|
+
const end = boundedEnd(source, pos, LINE_MARKER_LOOKAHEAD);
|
|
96
|
+
const frag = source.slice(pos, end);
|
|
97
|
+
return frag.startsWith('// @internal') || frag.startsWith('// @generated');
|
|
98
|
+
};
|
|
99
|
+
const hasBlockOptOutMarker = (source, pos) => pos + 2 < source.length &&
|
|
100
|
+
source.charCodeAt(pos + 2) !== CH_ASTERISK &&
|
|
101
|
+
source.slice(pos, boundedEnd(source, pos, BLOCK_MARKER_LOOKAHEAD)).startsWith('/* @internal');
|
|
102
|
+
const hasOptOutMarker = (source, pos) => {
|
|
103
|
+
if (source.charCodeAt(pos) !== CH_SLASH || pos + 1 >= source.length) {
|
|
104
|
+
return false;
|
|
44
105
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
return null;
|
|
106
|
+
const next = source.charCodeAt(pos + 1);
|
|
107
|
+
if (next === CH_SLASH) {
|
|
108
|
+
return hasLineOptOutMarker(source, pos);
|
|
49
109
|
}
|
|
50
|
-
|
|
51
|
-
|
|
110
|
+
if (next === CH_ASTERISK) {
|
|
111
|
+
return hasBlockOptOutMarker(source, pos);
|
|
112
|
+
}
|
|
113
|
+
return false;
|
|
114
|
+
};
|
|
52
115
|
/**
|
|
53
|
-
*
|
|
54
|
-
*
|
|
116
|
+
* Extract the JSDoc file header comment from source text. Skips leading shebang lines and whitespace.
|
|
117
|
+
* Returns the full JSDoc block or undefined.
|
|
55
118
|
*/
|
|
56
|
-
export
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
while (pos < len && source.charCodeAt(pos) === CH_HASH) {
|
|
61
|
-
pos = source.indexOf('\n', pos);
|
|
62
|
-
if (pos === -1) {
|
|
63
|
-
return true;
|
|
64
|
-
}
|
|
65
|
-
pos++;
|
|
119
|
+
export const extractDocHeader = (source) => {
|
|
120
|
+
const pos = leadingContentPosition(source, source.length);
|
|
121
|
+
if (pos >= source.length) {
|
|
122
|
+
return undefined;
|
|
66
123
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
pos++;
|
|
124
|
+
return extractDocHeaderAt(source, pos);
|
|
125
|
+
};
|
|
126
|
+
const extractDocHeaderAt = (source, pos) => {
|
|
127
|
+
const dividerEnd = dividerHeaderEnd(source, pos);
|
|
128
|
+
if (dividerEnd !== undefined) {
|
|
129
|
+
return source.slice(pos, dividerEnd);
|
|
74
130
|
}
|
|
75
|
-
if (pos
|
|
76
|
-
return
|
|
131
|
+
if (!hasJSDocStartAt(source, pos)) {
|
|
132
|
+
return undefined;
|
|
77
133
|
}
|
|
78
|
-
|
|
79
|
-
if (
|
|
80
|
-
|
|
81
|
-
if (next === CH_SLASH) {
|
|
82
|
-
// Line comment: check @internal or @generated
|
|
83
|
-
const end = pos + 20 < len ? pos + 20 : len;
|
|
84
|
-
const frag = source.slice(pos, end);
|
|
85
|
-
if (frag.indexOf('// @internal') === 0 || frag.indexOf('// @generated') === 0) {
|
|
86
|
-
return true;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
else if (next === 42 && pos + 2 < len && source.charCodeAt(pos + 2) !== 42) {
|
|
90
|
-
// Block comment (not JSDoc): check @internal at start
|
|
91
|
-
const end = pos + 15 < len ? pos + 15 : len;
|
|
92
|
-
if (source.slice(pos, end).indexOf('/* @internal') === 0) {
|
|
93
|
-
return true;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
134
|
+
const closePOS = source.indexOf(JSDOC_END, pos + JSDOC_PREFIX_LENGTH);
|
|
135
|
+
if (closePOS === -1) {
|
|
136
|
+
return undefined;
|
|
96
137
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
138
|
+
return source.slice(pos, closePOS + 2);
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Returns true if the source file satisfies the file doc requirement. Requires: divider header,
|
|
142
|
+
* opt-out marker, or empty/whitespace-only.
|
|
143
|
+
*/
|
|
144
|
+
export default function hasRequiredFileDoc(source) {
|
|
145
|
+
const pos = leadingContentPosition(source, source.length);
|
|
146
|
+
if (pos >= source.length) {
|
|
147
|
+
return true;
|
|
148
|
+
}
|
|
149
|
+
if (hasOptOutMarker(source, pos)) {
|
|
150
|
+
return true;
|
|
101
151
|
}
|
|
102
|
-
|
|
103
|
-
return source.indexOf(JSDOC_END, jsdocPos + 3) !== -1;
|
|
152
|
+
return dividerHeaderEnd(source, pos) !== undefined;
|
|
104
153
|
}
|
|
105
154
|
//# sourceMappingURL=require-file-doc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"require-file-doc.js","sourceRoot":"","sources":["../../src/rules/require-file-doc.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,MAAM,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"require-file-doc.js","sourceRoot":"","sources":["../../src/rules/require-file-doc.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"require-function-doc-ignored-text.d.ts","sourceRoot":"","sources":["../../src/rules/require-function-doc-ignored-text.ts"],"names":[],"mappings":"AA6EA;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,EAAE,KAAK,MAAM,KAAG,OAMjE,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/* -------------------------------------------------------------------------- */
|
|
2
|
+
/* Ignored source-region helpers for exported JSDoc checks. */
|
|
3
|
+
/* -------------------------------------------------------------------------- */
|
|
4
|
+
const initialState = {
|
|
5
|
+
isBlockComment: false,
|
|
6
|
+
isEscaped: false,
|
|
7
|
+
isLineComment: false,
|
|
8
|
+
quote: undefined,
|
|
9
|
+
};
|
|
10
|
+
const quoteCharacters = new Set(['"', "'", '`']);
|
|
11
|
+
const lineCommentState = (state, char) => ({
|
|
12
|
+
...state,
|
|
13
|
+
isLineComment: char !== '\n',
|
|
14
|
+
});
|
|
15
|
+
const blockCommentState = (state, char, nextChar) => ({
|
|
16
|
+
...state,
|
|
17
|
+
isBlockComment: !(char === '*' && nextChar === '/'),
|
|
18
|
+
});
|
|
19
|
+
const quotedState = (state, char) => {
|
|
20
|
+
if (state.isEscaped) {
|
|
21
|
+
return { ...state, isEscaped: false };
|
|
22
|
+
}
|
|
23
|
+
if (char === '\\') {
|
|
24
|
+
return { ...state, isEscaped: true };
|
|
25
|
+
}
|
|
26
|
+
if (char === state.quote) {
|
|
27
|
+
return { ...state, quote: undefined };
|
|
28
|
+
}
|
|
29
|
+
return state;
|
|
30
|
+
};
|
|
31
|
+
const unquotedState = (state, char, nextChar) => {
|
|
32
|
+
if (char === '/' && nextChar === '/') {
|
|
33
|
+
return { ...state, isLineComment: true };
|
|
34
|
+
}
|
|
35
|
+
if (char === '/' && nextChar === '*') {
|
|
36
|
+
return { ...state, isBlockComment: true };
|
|
37
|
+
}
|
|
38
|
+
if (quoteCharacters.has(char)) {
|
|
39
|
+
return { ...state, quote: char };
|
|
40
|
+
}
|
|
41
|
+
return state;
|
|
42
|
+
};
|
|
43
|
+
const nextIgnoredState = (state, char, nextChar) => {
|
|
44
|
+
if (state.isLineComment) {
|
|
45
|
+
return lineCommentState(state, char);
|
|
46
|
+
}
|
|
47
|
+
if (state.isBlockComment) {
|
|
48
|
+
return blockCommentState(state, char, nextChar);
|
|
49
|
+
}
|
|
50
|
+
if (state.quote) {
|
|
51
|
+
return quotedState(state, char);
|
|
52
|
+
}
|
|
53
|
+
return unquotedState(state, char, nextChar);
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Checks whether a source offset is inside a comment or string literal.
|
|
57
|
+
*
|
|
58
|
+
* @internal
|
|
59
|
+
*/
|
|
60
|
+
export const isInsideIgnoredText = (source, pos) => {
|
|
61
|
+
let state = initialState;
|
|
62
|
+
for (let index = 0; index < pos; index++) {
|
|
63
|
+
state = nextIgnoredState(state, source[index] ?? '', source[index + 1]);
|
|
64
|
+
}
|
|
65
|
+
return state.isBlockComment || state.isLineComment || state.quote !== undefined;
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=require-function-doc-ignored-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"require-function-doc-ignored-text.js","sourceRoot":"","sources":["../../src/rules/require-function-doc-ignored-text.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal helper exported for package-local composition.
|
|
3
|
+
*
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export declare const isDocumentedLocalExportList: (source: string, afterExport: number, exportPOS: number, hasJSDocBefore: (source: string, declarationPOS: number) => boolean) => boolean | undefined;
|
|
7
|
+
//# sourceMappingURL=require-function-doc-local-exports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"require-function-doc-local-exports.d.ts","sourceRoot":"","sources":["../../src/rules/require-function-doc-local-exports.ts"],"names":[],"mappings":"AA4HA;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,GACtC,QAAQ,MAAM,EACd,aAAa,MAAM,EACnB,WAAW,MAAM,EACjB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,KAAK,OAAO,KAClE,OAAO,GAAG,SASZ,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/* -------------------------------------------------------------------------- */
|
|
2
|
+
/* Local export-list documentation helpers for exported JSDoc checks. */
|
|
3
|
+
/* -------------------------------------------------------------------------- */
|
|
4
|
+
const CHAR_CODE_OPEN_BRACE = 123;
|
|
5
|
+
const CHAR_CODE_LOWER_A = 97;
|
|
6
|
+
const CHAR_CODE_LOWER_Z = 122;
|
|
7
|
+
const CHAR_CODE_UPPER_A = 65;
|
|
8
|
+
const CHAR_CODE_UPPER_Z = 90;
|
|
9
|
+
const TYPE_KEYWORD_LENGTH = 'type '.length;
|
|
10
|
+
const skipWhitespace = (source, pos) => {
|
|
11
|
+
let cursor = pos;
|
|
12
|
+
while (cursor < source.length && /\s/u.test(source[cursor] ?? '')) {
|
|
13
|
+
cursor++;
|
|
14
|
+
}
|
|
15
|
+
return cursor;
|
|
16
|
+
};
|
|
17
|
+
const exportStatementEnd = (source, afterExport) => {
|
|
18
|
+
const semicolon = source.indexOf(';', afterExport);
|
|
19
|
+
if (semicolon === -1) {
|
|
20
|
+
return source.indexOf('\n', afterExport);
|
|
21
|
+
}
|
|
22
|
+
return semicolon;
|
|
23
|
+
};
|
|
24
|
+
const hasFromClauseBefore = (source, openBrace, statementEnd) => {
|
|
25
|
+
let end = statementEnd;
|
|
26
|
+
if (end === -1) {
|
|
27
|
+
end = source.length;
|
|
28
|
+
}
|
|
29
|
+
return source.slice(openBrace, end).includes(' from ');
|
|
30
|
+
};
|
|
31
|
+
const localExportOpenBrace = (source, afterExport) => {
|
|
32
|
+
if (source.slice(afterExport, afterExport + TYPE_KEYWORD_LENGTH) === 'type ' &&
|
|
33
|
+
afterExport + TYPE_KEYWORD_LENGTH < source.length) {
|
|
34
|
+
return skipWhitespace(source, afterExport + TYPE_KEYWORD_LENGTH);
|
|
35
|
+
}
|
|
36
|
+
return afterExport;
|
|
37
|
+
};
|
|
38
|
+
const localExportListBounds = (source, afterExport) => {
|
|
39
|
+
const openBrace = localExportOpenBrace(source, afterExport);
|
|
40
|
+
if (source.charCodeAt(openBrace) !== CHAR_CODE_OPEN_BRACE) {
|
|
41
|
+
return undefined;
|
|
42
|
+
}
|
|
43
|
+
const closeBrace = source.indexOf('}', openBrace);
|
|
44
|
+
if (closeBrace === -1) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
if (hasFromClauseBefore(source, openBrace, exportStatementEnd(source, closeBrace))) {
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
50
|
+
return { closeBrace, openBrace };
|
|
51
|
+
};
|
|
52
|
+
const localExportName = (part) => part
|
|
53
|
+
.trim()
|
|
54
|
+
.replace(/^type\s+/u, '')
|
|
55
|
+
.split(/\s+as\s+/u)[0]
|
|
56
|
+
?.trim() ?? '';
|
|
57
|
+
const localExportNames = (source, afterExport) => {
|
|
58
|
+
const bounds = localExportListBounds(source, afterExport);
|
|
59
|
+
if (!bounds) {
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
return source
|
|
63
|
+
.slice(bounds.openBrace + 1, bounds.closeBrace)
|
|
64
|
+
.split(',')
|
|
65
|
+
.map(localExportName)
|
|
66
|
+
.filter(Boolean);
|
|
67
|
+
};
|
|
68
|
+
const declarationNeedles = (name) => [
|
|
69
|
+
`const ${name}`,
|
|
70
|
+
`let ${name}`,
|
|
71
|
+
`var ${name}`,
|
|
72
|
+
`function ${name}`,
|
|
73
|
+
`class ${name}`,
|
|
74
|
+
`interface ${name}`,
|
|
75
|
+
`type ${name}`,
|
|
76
|
+
`enum ${name}`,
|
|
77
|
+
];
|
|
78
|
+
const isIdentifierBoundaryAfter = (source, pos) => {
|
|
79
|
+
if (pos >= source.length) {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
const code = source.charCodeAt(pos);
|
|
83
|
+
return !((code >= CHAR_CODE_LOWER_A && code <= CHAR_CODE_LOWER_Z) ||
|
|
84
|
+
(code >= CHAR_CODE_UPPER_A && code <= CHAR_CODE_UPPER_Z));
|
|
85
|
+
};
|
|
86
|
+
const localDeclarationPosition = (source, name, exportPOS) => {
|
|
87
|
+
let bestPosition = -1;
|
|
88
|
+
for (const needle of declarationNeedles(name)) {
|
|
89
|
+
const pos = source.lastIndexOf(needle, exportPOS);
|
|
90
|
+
if (pos > bestPosition && isIdentifierBoundaryAfter(source, pos + needle.length)) {
|
|
91
|
+
bestPosition = pos;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
if (bestPosition === -1) {
|
|
95
|
+
return undefined;
|
|
96
|
+
}
|
|
97
|
+
return bestPosition;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Internal helper exported for package-local composition.
|
|
101
|
+
*
|
|
102
|
+
* @internal
|
|
103
|
+
*/
|
|
104
|
+
export const isDocumentedLocalExportList = (source, afterExport, exportPOS, hasJSDocBefore) => {
|
|
105
|
+
const names = localExportNames(source, afterExport);
|
|
106
|
+
if (!names) {
|
|
107
|
+
return undefined;
|
|
108
|
+
}
|
|
109
|
+
return names.every((name) => {
|
|
110
|
+
const declarationPOS = localDeclarationPosition(source, name, exportPOS);
|
|
111
|
+
return declarationPOS !== undefined && hasJSDocBefore(source, declarationPOS);
|
|
112
|
+
});
|
|
113
|
+
};
|
|
114
|
+
//# sourceMappingURL=require-function-doc-local-exports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"require-function-doc-local-exports.js","sourceRoot":"","sources":["../../src/rules/require-function-doc-local-exports.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Checks whether exported declarations have meaningful JSDoc comments.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* - `export default function`, `export default class`
|
|
7
|
-
* - `export type`, `export interface`, `export enum`
|
|
8
|
-
* - `export abstract class`
|
|
9
|
-
*
|
|
10
|
-
* Skips:
|
|
11
|
-
* - `export { ... } from ...` (re-exports)
|
|
12
|
-
* - `export * from ...` (wildcard re-exports)
|
|
13
|
-
* - `export type { ... } from ...` (type re-exports)
|
|
14
|
-
* - `export default <expression>` (not a declaration)
|
|
15
|
-
* - Non-exported declarations
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* Returns true if all exported declarations have a non-empty JSDoc comment
|
|
19
|
-
* preceding them. Returns false if any export is undocumented or has an
|
|
20
|
-
* empty JSDoc.
|
|
4
|
+
* @param source - TypeScript source text to inspect.
|
|
5
|
+
* @returns True when every public declaration is documented or no public declarations exist.
|
|
21
6
|
*/
|
|
22
7
|
export default function hasRequiredFunctionDocs(source: string): boolean;
|
|
23
8
|
//# sourceMappingURL=require-function-doc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"require-function-doc.d.ts","sourceRoot":"","sources":["../../src/rules/require-function-doc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"require-function-doc.d.ts","sourceRoot":"","sources":["../../src/rules/require-function-doc.ts"],"names":[],"mappings":"AAmiBA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAUvE"}
|