@codeperfect/eslint-plugin 1.0.0 → 2.0.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/README.md +26 -4
- package/dist/.tsbuildinfo +1 -1
- package/dist/{custom-rules.d.ts → application/custom-rules.d.ts} +3 -0
- package/dist/application/custom-rules.d.ts.map +1 -0
- package/dist/application/custom-rules.js +74 -0
- package/dist/application/index.d.ts +4 -0
- package/dist/application/index.d.ts.map +1 -0
- package/dist/application/index.js +3 -0
- package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
- package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts +56 -0
- package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.js +149 -0
- package/dist/{architecture → domain/architecture}/consistent-barrel-files/consistent-barrel-files-listeners.d.ts +4 -4
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +98 -0
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +45 -0
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-options.js +64 -0
- package/dist/{architecture → domain/architecture}/consistent-barrel-files/exports-only-rule-test-utilities.d.ts +5 -4
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +87 -0
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +140 -0
- package/dist/domain/architecture/consistent-barrel-files/index.d.ts +5 -0
- package/dist/domain/architecture/consistent-barrel-files/index.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/index.js +4 -0
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +85 -0
- package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts +1 -1
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +91 -0
- package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts +4 -6
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +95 -0
- package/dist/domain/architecture/consistent-barrel-files/rule.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/rule.js +43 -0
- package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts +4 -0
- package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.js +4 -0
- package/dist/{architecture → domain/architecture}/consistent-barrel-files/test-helpers.d.ts +48 -48
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts +20 -0
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.js +25 -0
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.js +235 -0
- package/dist/domain/architecture/consistent-barrel-files/types.d.ts +19 -0
- package/dist/domain/architecture/consistent-barrel-files/types.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/types.js +2 -0
- package/dist/{architecture → domain/architecture}/index.d.ts +1 -1
- package/dist/domain/architecture/index.d.ts.map +1 -0
- package/dist/domain/architecture/index.js +2 -0
- package/dist/{core → domain/core}/index.d.ts +2 -2
- package/dist/domain/core/index.d.ts.map +1 -0
- package/dist/domain/core/index.js +3 -0
- package/dist/domain/core/no-multiple-declarators/index.d.ts +2 -0
- package/dist/domain/core/no-multiple-declarators/index.d.ts.map +1 -0
- package/dist/domain/core/no-multiple-declarators/index.js +2 -0
- package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts +101 -0
- package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts.map +1 -0
- package/dist/domain/core/no-multiple-declarators/rule-test-helpers.js +108 -0
- package/dist/{core → domain/core}/no-multiple-declarators/rule.d.ts +1 -0
- package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -0
- package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts +35 -0
- package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts.map +1 -0
- package/dist/domain/core/no-multiple-declarators/rule.fixes.js +95 -0
- package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts +4 -0
- package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts.map +1 -0
- package/dist/domain/core/no-multiple-declarators/rule.guardrails.js +4 -0
- package/dist/domain/core/no-multiple-declarators/rule.js +219 -0
- package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts +4 -0
- package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts.map +1 -0
- package/dist/domain/core/no-multiple-declarators/rule.mocked-types.js +4 -0
- package/dist/domain/core/no-multiple-declarators/types.d.ts +77 -0
- package/dist/domain/core/no-multiple-declarators/types.d.ts.map +1 -0
- package/dist/domain/core/no-multiple-declarators/types.js +38 -0
- package/dist/domain/core/prefer-interface-types/index.d.ts +2 -0
- package/dist/domain/core/prefer-interface-types/index.d.ts.map +1 -0
- package/dist/domain/core/prefer-interface-types/index.js +2 -0
- package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -0
- package/dist/domain/core/prefer-interface-types/rule.js +145 -0
- package/dist/domain/core/prefer-interface-types/test-helpers.d.ts.map +1 -0
- package/dist/domain/core/prefer-interface-types/test-helpers.js +116 -0
- package/dist/{custom-rule-documentation.d.ts → domain/custom-rule-documentation.d.ts} +1 -1
- package/dist/domain/custom-rule-documentation.d.ts.map +1 -0
- package/dist/domain/custom-rule-documentation.js +35 -0
- package/dist/domain/docs/index.d.ts +4 -0
- package/dist/domain/docs/index.d.ts.map +1 -0
- package/dist/domain/docs/index.js +4 -0
- package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +1 -0
- package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.js +129 -0
- package/dist/{docs → domain/docs}/no-interface-member-docs/comment-utilities.d.ts +1 -1
- package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -0
- package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +146 -0
- package/dist/domain/docs/no-interface-member-docs/index.d.ts +2 -0
- package/dist/domain/docs/no-interface-member-docs/index.d.ts.map +1 -0
- package/dist/domain/docs/no-interface-member-docs/index.js +2 -0
- package/dist/{docs → domain/docs}/no-interface-member-docs/parameter-tags.d.ts +1 -1
- package/dist/domain/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -0
- package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +101 -0
- package/dist/{docs → domain/docs}/no-interface-member-docs/parameter-utilities.d.ts +1 -1
- package/dist/domain/docs/no-interface-member-docs/parameter-utilities.d.ts.map +1 -0
- package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +125 -0
- package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -0
- package/dist/domain/docs/no-interface-member-docs/rule.js +168 -0
- package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts.map +1 -0
- package/dist/domain/docs/no-interface-member-docs/test-helpers.js +157 -0
- package/dist/{docs → domain/docs}/no-interface-member-docs/types.d.ts +2 -2
- package/dist/domain/docs/no-interface-member-docs/types.d.ts.map +1 -0
- package/dist/domain/docs/no-interface-member-docs/types.js +2 -0
- package/dist/domain/docs/require-example-language/create-fixer.d.ts +5 -0
- package/dist/domain/docs/require-example-language/create-fixer.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/create-fixer.js +5 -0
- package/dist/domain/docs/require-example-language/empty-fence-fixes.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/empty-fence-fixes.js +169 -0
- package/dist/domain/docs/require-example-language/example-utilities.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/example-utilities.js +76 -0
- package/dist/{docs → domain/docs}/require-example-language/examples.d.ts +1 -1
- package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/examples.js +181 -0
- package/dist/{docs → domain/docs}/require-example-language/fixes.d.ts +2 -2
- package/dist/domain/docs/require-example-language/fixes.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/fixes.js +182 -0
- package/dist/domain/docs/require-example-language/index.d.ts +3 -0
- package/dist/domain/docs/require-example-language/index.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/index.js +2 -0
- package/dist/{docs → domain/docs}/require-example-language/reporting.d.ts +1 -1
- package/dist/domain/docs/require-example-language/reporting.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/reporting.js +148 -0
- package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/rule.js +34 -0
- package/dist/domain/docs/require-example-language/types.d.ts.map +1 -0
- package/dist/domain/docs/require-example-language/types.js +2 -0
- package/dist/domain/docs/single-line-jsdoc/index.d.ts +2 -0
- package/dist/domain/docs/single-line-jsdoc/index.d.ts.map +1 -0
- package/dist/domain/docs/single-line-jsdoc/index.js +2 -0
- package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -0
- package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts +4 -0
- package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts.map +1 -0
- package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.js +5 -0
- package/dist/domain/docs/single-line-jsdoc/rule.js +196 -0
- package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts +4 -0
- package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts.map +1 -0
- package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.js +5 -0
- package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +1 -0
- package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-content.js +95 -0
- package/dist/{docs → domain/docs}/single-line-jsdoc/single-line-jsdoc-utilities.d.ts +1 -1
- package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +1 -0
- package/dist/domain/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +140 -0
- package/dist/domain/docs/test-helpers.d.ts.map +1 -0
- package/dist/domain/docs/test-helpers.js +107 -0
- package/dist/domain/index.d.ts +6 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +6 -0
- package/dist/domain/testing/aaa/analyzer.analysis.d.ts +92 -0
- package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts +4 -0
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +4 -0
- package/dist/domain/testing/aaa/analyzer.analysis.js +247 -0
- package/dist/domain/testing/aaa/analyzer.assertions.d.ts +93 -0
- package/dist/domain/testing/aaa/analyzer.assertions.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.assertions.js +283 -0
- package/dist/domain/testing/aaa/analyzer.classification.d.ts +75 -0
- package/dist/domain/testing/aaa/analyzer.classification.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.classification.js +201 -0
- package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts +9 -0
- package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.classification.member-patterns.js +10 -0
- package/dist/domain/testing/aaa/analyzer.d.ts +46 -0
- package/dist/domain/testing/aaa/analyzer.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.js +59 -0
- package/dist/domain/testing/aaa/analyzer.super.d.ts +107 -0
- package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.super.js +228 -0
- package/dist/{testing → domain/testing}/aaa/index.d.ts +2 -2
- package/dist/domain/testing/aaa/index.d.ts.map +1 -0
- package/dist/domain/testing/aaa/index.js +2 -0
- package/dist/domain/testing/aaa/types.d.ts +58 -0
- package/dist/domain/testing/aaa/types.d.ts.map +1 -0
- package/dist/domain/testing/aaa/types.js +2 -0
- package/dist/domain/testing/assert-actual-expected-names/index.d.ts +2 -0
- package/dist/domain/testing/assert-actual-expected-names/index.d.ts.map +1 -0
- package/dist/domain/testing/assert-actual-expected-names/index.js +2 -0
- package/dist/{testing → domain/testing}/assert-actual-expected-names/rule.d.ts +1 -0
- package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -0
- package/dist/domain/testing/assert-actual-expected-names/rule.js +113 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts +2 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/index.js +2 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts +13 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/pattern-identifiers.js +134 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts +25 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.js +138 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts +4 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.js +4 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts +14 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +180 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts +42 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.js +188 -0
- package/dist/{testing → domain/testing}/enforce-aaa-phase-purity/rule.d.ts +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-phase-purity/rule.js +34 -0
- package/dist/domain/testing/enforce-aaa-structure/index.d.ts +2 -0
- package/dist/domain/testing/enforce-aaa-structure/index.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-structure/index.js +2 -0
- package/dist/{testing → domain/testing}/enforce-aaa-structure/rule.d.ts +1 -0
- package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-structure/rule.js +85 -0
- package/dist/{testing → domain/testing}/index.d.ts +9 -8
- package/dist/domain/testing/index.d.ts.map +1 -0
- package/dist/domain/testing/index.js +10 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts +29 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.js +90 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts +31 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-updates.js +43 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts +16 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +205 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts +28 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/fix.js +171 -0
- package/dist/domain/testing/prefer-vi-mocked-import/index.d.ts +2 -0
- package/dist/domain/testing/prefer-vi-mocked-import/index.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/index.js +2 -0
- package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-bindings.d.ts +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.js +52 -0
- package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-declarations.d.ts +2 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.js +131 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-helpers.js +102 -0
- package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-imports.d.ts +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-imports.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-imports.js +156 -0
- package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-rewrites.d.ts +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +119 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-walk.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match-walk.js +62 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts +26 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/match.js +198 -0
- package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts +20 -0
- package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.js +39 -0
- package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/rule.js +36 -0
- package/dist/{testing → domain/testing}/prefer-vi-mocked-import/types.d.ts +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/types.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vi-mocked-import/types.js +2 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts +86 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.js +150 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts +2 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/index.js +2 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts +14 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.js +81 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts +13 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/match.js +189 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts +25 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.js +92 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts +32 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.js +164 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts +5 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts +4 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.js +4 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts +4 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.js +4 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.js +62 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts +4 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.js +4 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts +24 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.js +113 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts +36 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.js +138 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts +203 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts.map +1 -0
- package/dist/domain/testing/prefer-vitest-incremental-casts/types.js +2 -0
- package/dist/domain/testing/require-aaa-sections/index.d.ts +2 -0
- package/dist/domain/testing/require-aaa-sections/index.d.ts.map +1 -0
- package/dist/domain/testing/require-aaa-sections/index.js +2 -0
- package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts +17 -0
- package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts.map +1 -0
- package/dist/domain/testing/require-aaa-sections/missing-section-fixes.js +150 -0
- package/dist/{testing → domain/testing}/require-aaa-sections/rule.d.ts +1 -0
- package/dist/domain/testing/require-aaa-sections/rule.d.ts.map +1 -0
- package/dist/domain/testing/require-aaa-sections/rule.js +129 -0
- package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts +104 -0
- package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts.map +1 -0
- package/dist/domain/testing/require-aaa-sections/rule.reporting.js +217 -0
- package/dist/domain/testing/require-act-result-capture/index.d.ts +2 -0
- package/dist/domain/testing/require-act-result-capture/index.d.ts.map +1 -0
- package/dist/domain/testing/require-act-result-capture/index.js +2 -0
- package/dist/{testing → domain/testing}/require-act-result-capture/rule.d.ts +1 -0
- package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -0
- package/dist/domain/testing/require-act-result-capture/rule.js +106 -0
- package/dist/domain/testing/require-test-companion/index.d.ts +3 -0
- package/dist/domain/testing/require-test-companion/index.d.ts.map +1 -0
- package/dist/domain/testing/require-test-companion/index.js +3 -0
- package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-listeners.d.ts +1 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -0
- package/dist/domain/testing/require-test-companion/require-test-companion-listeners.js +145 -0
- package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts.map +1 -0
- package/dist/domain/testing/require-test-companion/require-test-companion-options.js +113 -0
- package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-test-helpers.d.ts +1 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +1 -0
- package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.js +184 -0
- package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-utilities.d.ts +1 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts.map +1 -0
- package/dist/domain/testing/require-test-companion/require-test-companion-utilities.js +26 -0
- package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -0
- package/dist/domain/testing/require-test-companion/rule.js +57 -0
- package/dist/domain/testing/require-test-companion/types.d.ts.map +1 -0
- package/dist/domain/testing/require-test-companion/types.js +2 -0
- package/dist/domain/testing/single-act-statement/index.d.ts +2 -0
- package/dist/domain/testing/single-act-statement/index.d.ts.map +1 -0
- package/dist/domain/testing/single-act-statement/index.js +2 -0
- package/dist/{testing → domain/testing}/single-act-statement/rule.d.ts +1 -0
- package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -0
- package/dist/domain/testing/single-act-statement/rule.js +34 -0
- package/dist/index.d.ts +4 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -6
- package/dist/{codeperfect-plugin.d.ts → infrastructure/codeperfect-plugin.d.ts} +2 -0
- package/dist/infrastructure/codeperfect-plugin.d.ts.map +1 -0
- package/dist/infrastructure/codeperfect-plugin.js +30 -0
- package/dist/infrastructure/index.d.ts +5 -0
- package/dist/infrastructure/index.d.ts.map +1 -0
- package/dist/infrastructure/index.js +4 -0
- package/dist/infrastructure/presets.d.ts +18 -0
- package/dist/infrastructure/presets.d.ts.map +1 -0
- package/dist/infrastructure/presets.js +81 -0
- package/package.json +54 -27
- package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +0 -131
- package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts +0 -48
- package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/consistent-barrel-files-options.js +0 -126
- package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +0 -90
- package/dist/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/exports-only-rule.js +0 -218
- package/dist/architecture/consistent-barrel-files/index.d.ts +0 -5
- package/dist/architecture/consistent-barrel-files/index.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/index.js +0 -4
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +0 -100
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +0 -90
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/no-reexports-outside-barrels-utilities.js +0 -154
- package/dist/architecture/consistent-barrel-files/rule.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/rule.js +0 -58
- package/dist/architecture/consistent-barrel-files/test-helpers.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/test-helpers.js +0 -229
- package/dist/architecture/consistent-barrel-files/types.d.ts +0 -25
- package/dist/architecture/consistent-barrel-files/types.d.ts.map +0 -1
- package/dist/architecture/consistent-barrel-files/types.js +0 -2
- package/dist/architecture/index.d.ts.map +0 -1
- package/dist/architecture/index.js +0 -2
- package/dist/benchmark-rules.d.ts +0 -83
- package/dist/benchmark-rules.d.ts.map +0 -1
- package/dist/benchmark-rules.js +0 -175
- package/dist/codeperfect-plugin.d.ts.map +0 -1
- package/dist/codeperfect-plugin.js +0 -29
- package/dist/core/index.d.ts.map +0 -1
- package/dist/core/index.js +0 -3
- package/dist/core/no-multiple-declarators/index.d.ts +0 -2
- package/dist/core/no-multiple-declarators/index.d.ts.map +0 -1
- package/dist/core/no-multiple-declarators/index.js +0 -2
- package/dist/core/no-multiple-declarators/rule.d.ts.map +0 -1
- package/dist/core/no-multiple-declarators/rule.js +0 -100
- package/dist/core/prefer-interface-types/index.d.ts +0 -2
- package/dist/core/prefer-interface-types/index.d.ts.map +0 -1
- package/dist/core/prefer-interface-types/index.js +0 -2
- package/dist/core/prefer-interface-types/rule.d.ts.map +0 -1
- package/dist/core/prefer-interface-types/rule.js +0 -145
- package/dist/core/prefer-interface-types/test-helpers.d.ts.map +0 -1
- package/dist/core/prefer-interface-types/test-helpers.js +0 -116
- package/dist/custom-rule-documentation.d.ts.map +0 -1
- package/dist/custom-rule-documentation.js +0 -35
- package/dist/custom-rules.d.ts.map +0 -1
- package/dist/custom-rules.js +0 -70
- package/dist/docs/index.d.ts +0 -4
- package/dist/docs/index.d.ts.map +0 -1
- package/dist/docs/index.js +0 -4
- package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +0 -1
- package/dist/docs/no-interface-member-docs/comment-utilities-test-helpers.js +0 -129
- package/dist/docs/no-interface-member-docs/comment-utilities.d.ts.map +0 -1
- package/dist/docs/no-interface-member-docs/comment-utilities.js +0 -146
- package/dist/docs/no-interface-member-docs/index.d.ts +0 -2
- package/dist/docs/no-interface-member-docs/index.d.ts.map +0 -1
- package/dist/docs/no-interface-member-docs/index.js +0 -2
- package/dist/docs/no-interface-member-docs/parameter-tags.d.ts.map +0 -1
- package/dist/docs/no-interface-member-docs/parameter-tags.js +0 -101
- package/dist/docs/no-interface-member-docs/parameter-utilities.d.ts.map +0 -1
- package/dist/docs/no-interface-member-docs/parameter-utilities.js +0 -125
- package/dist/docs/no-interface-member-docs/rule.d.ts.map +0 -1
- package/dist/docs/no-interface-member-docs/rule.js +0 -168
- package/dist/docs/no-interface-member-docs/test-helpers.d.ts.map +0 -1
- package/dist/docs/no-interface-member-docs/test-helpers.js +0 -157
- package/dist/docs/no-interface-member-docs/types.d.ts.map +0 -1
- package/dist/docs/no-interface-member-docs/types.js +0 -2
- package/dist/docs/require-example-language/empty-fence-fixes.d.ts.map +0 -1
- package/dist/docs/require-example-language/empty-fence-fixes.js +0 -169
- package/dist/docs/require-example-language/example-utilities.d.ts.map +0 -1
- package/dist/docs/require-example-language/example-utilities.js +0 -76
- package/dist/docs/require-example-language/examples.d.ts.map +0 -1
- package/dist/docs/require-example-language/examples.js +0 -181
- package/dist/docs/require-example-language/fixes.d.ts.map +0 -1
- package/dist/docs/require-example-language/fixes.js +0 -182
- package/dist/docs/require-example-language/index.d.ts +0 -3
- package/dist/docs/require-example-language/index.d.ts.map +0 -1
- package/dist/docs/require-example-language/index.js +0 -2
- package/dist/docs/require-example-language/reporting.d.ts.map +0 -1
- package/dist/docs/require-example-language/reporting.js +0 -145
- package/dist/docs/require-example-language/rule.d.ts.map +0 -1
- package/dist/docs/require-example-language/rule.js +0 -34
- package/dist/docs/require-example-language/types.d.ts.map +0 -1
- package/dist/docs/require-example-language/types.js +0 -2
- package/dist/docs/single-line-jsdoc/index.d.ts +0 -2
- package/dist/docs/single-line-jsdoc/index.d.ts.map +0 -1
- package/dist/docs/single-line-jsdoc/index.js +0 -2
- package/dist/docs/single-line-jsdoc/rule.d.ts.map +0 -1
- package/dist/docs/single-line-jsdoc/rule.js +0 -196
- package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.d.ts.map +0 -1
- package/dist/docs/single-line-jsdoc/single-line-jsdoc-content.js +0 -95
- package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.d.ts.map +0 -1
- package/dist/docs/single-line-jsdoc/single-line-jsdoc-utilities.js +0 -140
- package/dist/docs/test-helpers.d.ts.map +0 -1
- package/dist/docs/test-helpers.js +0 -107
- package/dist/presets.d.ts +0 -10
- package/dist/presets.d.ts.map +0 -1
- package/dist/presets.js +0 -50
- package/dist/rules/index.d.ts +0 -5
- package/dist/rules/index.d.ts.map +0 -1
- package/dist/rules/index.js +0 -6
- package/dist/testing/aaa/analyzer.d.ts +0 -36
- package/dist/testing/aaa/analyzer.d.ts.map +0 -1
- package/dist/testing/aaa/analyzer.js +0 -490
- package/dist/testing/aaa/index.d.ts.map +0 -1
- package/dist/testing/aaa/index.js +0 -2
- package/dist/testing/aaa/types.d.ts +0 -31
- package/dist/testing/aaa/types.d.ts.map +0 -1
- package/dist/testing/aaa/types.js +0 -2
- package/dist/testing/assert-actual-expected-names/index.d.ts +0 -2
- package/dist/testing/assert-actual-expected-names/index.d.ts.map +0 -1
- package/dist/testing/assert-actual-expected-names/index.js +0 -2
- package/dist/testing/assert-actual-expected-names/rule.d.ts.map +0 -1
- package/dist/testing/assert-actual-expected-names/rule.js +0 -54
- package/dist/testing/enforce-aaa-phase-purity/index.d.ts +0 -2
- package/dist/testing/enforce-aaa-phase-purity/index.d.ts.map +0 -1
- package/dist/testing/enforce-aaa-phase-purity/index.js +0 -2
- package/dist/testing/enforce-aaa-phase-purity/rule.d.ts.map +0 -1
- package/dist/testing/enforce-aaa-phase-purity/rule.js +0 -110
- package/dist/testing/enforce-aaa-structure/index.d.ts +0 -2
- package/dist/testing/enforce-aaa-structure/index.d.ts.map +0 -1
- package/dist/testing/enforce-aaa-structure/index.js +0 -2
- package/dist/testing/enforce-aaa-structure/rule.d.ts.map +0 -1
- package/dist/testing/enforce-aaa-structure/rule.js +0 -48
- package/dist/testing/index.d.ts.map +0 -1
- package/dist/testing/index.js +0 -9
- package/dist/testing/prefer-vi-mocked-import/fix.d.ts +0 -16
- package/dist/testing/prefer-vi-mocked-import/fix.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/fix.js +0 -224
- package/dist/testing/prefer-vi-mocked-import/index.d.ts +0 -2
- package/dist/testing/prefer-vi-mocked-import/index.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/index.js +0 -2
- package/dist/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/match-bindings.js +0 -52
- package/dist/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/match-declarations.js +0 -99
- package/dist/testing/prefer-vi-mocked-import/match-helpers.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/match-helpers.js +0 -102
- package/dist/testing/prefer-vi-mocked-import/match-imports.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/match-imports.js +0 -156
- package/dist/testing/prefer-vi-mocked-import/match-rewrites.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/match-rewrites.js +0 -119
- package/dist/testing/prefer-vi-mocked-import/match-walk.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/match-walk.js +0 -62
- package/dist/testing/prefer-vi-mocked-import/match.d.ts +0 -15
- package/dist/testing/prefer-vi-mocked-import/match.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/match.js +0 -193
- package/dist/testing/prefer-vi-mocked-import/rule.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/rule.js +0 -32
- package/dist/testing/prefer-vi-mocked-import/types.d.ts.map +0 -1
- package/dist/testing/prefer-vi-mocked-import/types.js +0 -2
- package/dist/testing/require-aaa-sections/index.d.ts +0 -2
- package/dist/testing/require-aaa-sections/index.d.ts.map +0 -1
- package/dist/testing/require-aaa-sections/index.js +0 -2
- package/dist/testing/require-aaa-sections/rule.d.ts.map +0 -1
- package/dist/testing/require-aaa-sections/rule.js +0 -111
- package/dist/testing/require-act-result-capture/index.d.ts +0 -2
- package/dist/testing/require-act-result-capture/index.d.ts.map +0 -1
- package/dist/testing/require-act-result-capture/index.js +0 -2
- package/dist/testing/require-act-result-capture/rule.d.ts.map +0 -1
- package/dist/testing/require-act-result-capture/rule.js +0 -34
- package/dist/testing/require-test-companion/index.d.ts +0 -3
- package/dist/testing/require-test-companion/index.d.ts.map +0 -1
- package/dist/testing/require-test-companion/index.js +0 -3
- package/dist/testing/require-test-companion/require-test-companion-listeners.d.ts.map +0 -1
- package/dist/testing/require-test-companion/require-test-companion-listeners.js +0 -145
- package/dist/testing/require-test-companion/require-test-companion-options.d.ts.map +0 -1
- package/dist/testing/require-test-companion/require-test-companion-options.js +0 -112
- package/dist/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +0 -1
- package/dist/testing/require-test-companion/require-test-companion-test-helpers.js +0 -183
- package/dist/testing/require-test-companion/require-test-companion-utilities.d.ts.map +0 -1
- package/dist/testing/require-test-companion/require-test-companion-utilities.js +0 -26
- package/dist/testing/require-test-companion/rule.d.ts.map +0 -1
- package/dist/testing/require-test-companion/rule.js +0 -57
- package/dist/testing/require-test-companion/types.d.ts.map +0 -1
- package/dist/testing/require-test-companion/types.js +0 -2
- package/dist/testing/single-act-statement/index.d.ts +0 -2
- package/dist/testing/single-act-statement/index.d.ts.map +0 -1
- package/dist/testing/single-act-statement/index.js +0 -2
- package/dist/testing/single-act-statement/rule.d.ts.map +0 -1
- package/dist/testing/single-act-statement/rule.js +0 -33
- /package/dist/{architecture → domain/architecture}/consistent-barrel-files/exports-only-rule.d.ts +0 -0
- /package/dist/{architecture → domain/architecture}/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts +0 -0
- /package/dist/{architecture → domain/architecture}/consistent-barrel-files/rule.d.ts +0 -0
- /package/dist/{core → domain/core}/prefer-interface-types/rule.d.ts +0 -0
- /package/dist/{core → domain/core}/prefer-interface-types/test-helpers.d.ts +0 -0
- /package/dist/{docs → domain/docs}/no-interface-member-docs/comment-utilities-test-helpers.d.ts +0 -0
- /package/dist/{docs → domain/docs}/no-interface-member-docs/rule.d.ts +0 -0
- /package/dist/{docs → domain/docs}/no-interface-member-docs/test-helpers.d.ts +0 -0
- /package/dist/{docs → domain/docs}/require-example-language/empty-fence-fixes.d.ts +0 -0
- /package/dist/{docs → domain/docs}/require-example-language/example-utilities.d.ts +0 -0
- /package/dist/{docs → domain/docs}/require-example-language/rule.d.ts +0 -0
- /package/dist/{docs → domain/docs}/require-example-language/types.d.ts +0 -0
- /package/dist/{docs → domain/docs}/single-line-jsdoc/rule.d.ts +0 -0
- /package/dist/{docs → domain/docs}/single-line-jsdoc/single-line-jsdoc-content.d.ts +0 -0
- /package/dist/{docs → domain/docs}/test-helpers.d.ts +0 -0
- /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-helpers.d.ts +0 -0
- /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/match-walk.d.ts +0 -0
- /package/dist/{testing → domain/testing}/prefer-vi-mocked-import/rule.d.ts +0 -0
- /package/dist/{testing → domain/testing}/require-test-companion/require-test-companion-options.d.ts +0 -0
- /package/dist/{testing → domain/testing}/require-test-companion/rule.d.ts +0 -0
- /package/dist/{testing → domain/testing}/require-test-companion/types.d.ts +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/no-interface-member-docs/test-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAInC,qCAAqC;AACrC,KAAK,OAAO,GAAG,UAAU,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,gBAAgB,CAAC,CACjD,CAAC,MAAM,CAAC,CAAC;AAEV,qCAAqC;AACrC,UAAU,eAAe;IACvB,2BAA2B;IAC3B,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;IAE1B,wBAAwB;IACxB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC;IAEhB,2BAA2B;IAC3B,OAAO,EAAE,WAAW,EAAE,CAAC;IAEvB,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;CACpB;AAWD,qCAAqC;AACrC,UAAU,WAAW;IACnB,wBAAwB;IACxB,GAAG,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;IAE1C,8BAA8B;IAC9B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,qCAAqC;AACrC,UAAU,gBAAgB;IACxB,2BAA2B;IAC3B,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC;IAE1B,2BAA2B;IAC3B,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AA+CD;;;;;;;;;GASG;AACH,QAAA,MAAM,aAAa,GACjB,YAAY,MAAM,EAClB,UAAU,OAAO,EAAE,KAClB,gBAKF,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,aAAa,GAAI,cAAc,MAAM,EAAE,YAAY,MAAM,KAAG,OAQjE,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,kBAAkB,GACtB,YAAY,MAAM,EAClB,YAAY,OAAO,EAAE,KACpB,IAAI,CAAC,IAKS,CAAC;AAElB;;;;;;;;GAQG;AACH,QAAA,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,OAMtC,CAAC;AAEH;;;;;;;;GAQG;AACH,QAAA,MAAM,mBAAmB,GACvB,SAAS,IAAI,CAAC,WAAW,EACzB,MAAM,IAAI,CAAC,IAAI,KACd,IAOF,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,eAAe,GAAI,cAAc,MAAM,KAAG,MAMlC,CAAC;AAEf;;;;;;;GAOG;AACH,QAAA,MAAM,qBAAqB,QAAO,eAmBjC,CAAC;AAEF,OAAO,EACL,eAAe,EACf,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,mBAAmB,GACpB,CAAC;AACF,YAAY,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { noInterfaceMemberDocumentationRule } from "./rule.js";
|
|
2
|
+
/**
|
|
3
|
+
* Creates a SourceCode stub with the provided comments.
|
|
4
|
+
* @param text Source text to attach.
|
|
5
|
+
* @param comments Comment nodes to expose.
|
|
6
|
+
* @returns SourceCode stub for tests.
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* const sourceCode = createSourceCode("", []);
|
|
10
|
+
* ```
|
|
11
|
+
*/
|
|
12
|
+
const createSourceCode = (text, comments) => ({
|
|
13
|
+
getAllComments: () => comments,
|
|
14
|
+
text,
|
|
15
|
+
});
|
|
16
|
+
/**
|
|
17
|
+
* Builds a rule context for collecting reports.
|
|
18
|
+
* @param sourceCode SourceCode stub.
|
|
19
|
+
* @param reports Report sink.
|
|
20
|
+
* @returns Rule context that records reports.
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* const context = buildRuleContext(sourceCode, reports);
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
const buildRuleContext = (sourceCode, reports) => ({
|
|
27
|
+
id: "no-interface-member-docs",
|
|
28
|
+
options: [],
|
|
29
|
+
report: (descriptor) => {
|
|
30
|
+
const { fix, messageId } = descriptor;
|
|
31
|
+
const entry = { fix, messageId };
|
|
32
|
+
reports.push(entry);
|
|
33
|
+
},
|
|
34
|
+
sourceCode,
|
|
35
|
+
});
|
|
36
|
+
/**
|
|
37
|
+
* Creates a rule context state for the given source text.
|
|
38
|
+
* @param sourceText Source text to analyze.
|
|
39
|
+
* @param comments Comment nodes for the source.
|
|
40
|
+
* @returns Context state for tests.
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* const state = createContext("", []);
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
const createContext = (sourceText, comments) => {
|
|
47
|
+
const reports = [];
|
|
48
|
+
const sourceCode = createSourceCode(sourceText, comments);
|
|
49
|
+
return { context: buildRuleContext(sourceCode, reports), reports };
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Creates a JSDoc block comment for the given source text.
|
|
53
|
+
* @param commentValue Comment value without delimiters.
|
|
54
|
+
* @param sourceText Source text containing the comment.
|
|
55
|
+
* @returns Comment node for the source text.
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* const comment = createComment("*\n * ok\n ", "function demo() {}");
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
const createComment = (commentValue, sourceText) => {
|
|
62
|
+
const end = sourceText.indexOf("*/") + 2;
|
|
63
|
+
return {
|
|
64
|
+
range: [0, end],
|
|
65
|
+
type: "Block",
|
|
66
|
+
value: commentValue,
|
|
67
|
+
};
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Creates a function node for the given source text.
|
|
71
|
+
* @param sourceText Source text containing the function.
|
|
72
|
+
* @param parameters Parameter nodes for the function.
|
|
73
|
+
* @returns Function declaration node.
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* const node = createFunctionNode("function demo() {}", []);
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
const createFunctionNode = (sourceText, parameters) => ({
|
|
80
|
+
params: parameters,
|
|
81
|
+
range: [sourceText.indexOf("function"), sourceText.length],
|
|
82
|
+
type: "FunctionDeclaration",
|
|
83
|
+
});
|
|
84
|
+
/**
|
|
85
|
+
* Creates a parameter node with a type annotation.
|
|
86
|
+
* @param type Type annotation kind to assign.
|
|
87
|
+
* @returns Parameter node for tests.
|
|
88
|
+
* @example
|
|
89
|
+
* ```typescript
|
|
90
|
+
* const param = createParameter("TSTypeReference");
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
const createParameter = (type) => ({
|
|
94
|
+
name: "context",
|
|
95
|
+
type: "Identifier",
|
|
96
|
+
typeAnnotation: {
|
|
97
|
+
typeAnnotation: { type },
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
/**
|
|
101
|
+
* Runs the rule listener for a function declaration node.
|
|
102
|
+
* @param context Rule execution context.
|
|
103
|
+
* @param node Function node to inspect.
|
|
104
|
+
* @example
|
|
105
|
+
* ```typescript
|
|
106
|
+
* runFunctionListener(context, node);
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
const runFunctionListener = (context, node) => {
|
|
110
|
+
const listeners = noInterfaceMemberDocumentationRule.create(context);
|
|
111
|
+
const listener = listeners.FunctionDeclaration;
|
|
112
|
+
listener?.(node);
|
|
113
|
+
};
|
|
114
|
+
/**
|
|
115
|
+
* Builds source text with a leading JSDoc comment.
|
|
116
|
+
* @param commentValue Comment value used in the source.
|
|
117
|
+
* @returns Source text containing the comment and function.
|
|
118
|
+
* @example
|
|
119
|
+
* ```typescript
|
|
120
|
+
* const text = buildSourceText("*\n * ok\n ");
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
const buildSourceText = (commentValue) => [
|
|
124
|
+
"/**",
|
|
125
|
+
commentValue.trimEnd(),
|
|
126
|
+
"*/",
|
|
127
|
+
"function getLineMeta(context: LineMetaContext): void {}",
|
|
128
|
+
].join("\n");
|
|
129
|
+
/**
|
|
130
|
+
* Creates a sample test fixture for interface member docs.
|
|
131
|
+
* @returns Sample context, node, and reports.
|
|
132
|
+
* @example
|
|
133
|
+
* ```typescript
|
|
134
|
+
* const sample = createInterfaceSample();
|
|
135
|
+
* ```
|
|
136
|
+
*/
|
|
137
|
+
const createInterfaceSample = () => {
|
|
138
|
+
const commentValue = [
|
|
139
|
+
"*",
|
|
140
|
+
" * Compute line metadata from the raw comment value.",
|
|
141
|
+
" * @param context The metadata context.",
|
|
142
|
+
" * @param context.commentValue The full comment value.",
|
|
143
|
+
" * @param context.full The full matched example text.",
|
|
144
|
+
" * @param context.startOffset The match start offset.",
|
|
145
|
+
" * @returns The line metadata for the example.",
|
|
146
|
+
" ",
|
|
147
|
+
].join("\n");
|
|
148
|
+
const sourceText = buildSourceText(commentValue);
|
|
149
|
+
const comment = createComment(commentValue, sourceText);
|
|
150
|
+
const { context, reports } = createContext(sourceText, [comment]);
|
|
151
|
+
const node = createFunctionNode(sourceText, [
|
|
152
|
+
createParameter("TSTypeReference"),
|
|
153
|
+
]);
|
|
154
|
+
return { context, node, reports, sourceText };
|
|
155
|
+
};
|
|
156
|
+
export { buildSourceText, createComment, createContext, createFunctionNode, createInterfaceSample, createParameter, runFunctionListener, };
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdC1oZWxwZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9kb2NzL25vLWludGVyZmFjZS1tZW1iZXItZG9jcy90ZXN0LWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBaUQ1RDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLGdCQUFnQixHQUFHLENBQ3ZCLElBQVksRUFDWixRQUFtQixFQUNhLEVBQUUsQ0FDbEMsQ0FBQztJQUNDLGNBQWMsRUFBRSxHQUFjLEVBQUUsQ0FBQyxRQUFRO0lBQ3pDLElBQUk7Q0FDTCxDQUFtQyxDQUFDO0FBRXZDOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sZ0JBQWdCLEdBQUcsQ0FDdkIsVUFBMEMsRUFDMUMsT0FBc0IsRUFDSixFQUFFLENBQ3BCLENBQUM7SUFDQyxFQUFFLEVBQUUsMEJBQTBCO0lBQzlCLE9BQU8sRUFBRSxFQUFFO0lBQ1gsTUFBTSxFQUFFLENBQUMsVUFBaUMsRUFBUSxFQUFFO1FBQ2xELE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsVUFBcUMsQ0FBQztRQUNqRSxNQUFNLEtBQUssR0FBZ0IsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLENBQUM7UUFFOUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN0QixDQUFDO0lBQ0QsVUFBVTtDQUNYLENBQWdDLENBQUM7QUFFcEM7Ozs7Ozs7OztHQVNHO0FBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FDcEIsVUFBa0IsRUFDbEIsUUFBbUIsRUFDRCxFQUFFO0lBQ3BCLE1BQU0sT0FBTyxHQUFrQixFQUFFLENBQUM7SUFDbEMsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRTFELE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsVUFB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IHsgbm9JbnRlcmZhY2VNZW1iZXJEb2N1bWVudGF0aW9uUnVsZSB9IGZyb20gXCIuL3J1bGVcIjtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xudHlwZSBDb21tZW50ID0gUmV0dXJuVHlwZTxcbiAgUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl1bXCJnZXRBbGxDb21tZW50c1wiXVxuPltudW1iZXJdO1xuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgSW50ZXJmYWNlU2FtcGxlIHtcbiAgLyoqIENvbnRleHQgZmllbGQgdmFsdWUuICovXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQ7XG5cbiAgLyoqIE5vZGUgZmllbGQgdmFsdWUuICovXG4gIG5vZGU6IFJ1bGUuTm9kZTtcblxuICAvKiogUmVwb3J0cyBmaWVsZCB2YWx1ZS4gKi9cbiAgcmVwb3J0czogUmVwb3J0RW50cnlbXTtcblxuICAvKiogU291cmNlVGV4dCBmaWVsZCB2YWx1ZS4gKi9cbiAgc291cmNlVGV4dDogc3RyaW5nO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgUmVwb3J0RGVzY3JpcHRvckRldGFpbHMge1xuICAvKiogRml4IGZpZWxkIHZhbHVlLiAqL1xuICBmaXg/OiBudWxsIHwgUnVsZS5SZXBvcnRGaXhlciB8IHVuZGVmaW5lZDtcblxuICAvKiogTWVzc2FnZUlkIGZpZWxkIHZhbHVlLiAqL1xuICBtZXNzYWdlSWQ/OiBzdHJpbmc7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBSZXBvcnRFbnRyeSB7XG4gIC8qKiBGaXggaGVscGVyIHZhbHVlLiAqL1xuICBmaXg/OiBudWxsIHwgUnVsZS5SZXBvcnRGaXhlciB8IHVuZGVmaW5lZDtcblxuICAvKiogTWVzc2FnZUlkIGhlbHBlciB2YWx1ZS4gKi9cbiAgbWVzc2FnZUlkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBSdWxlQ29udGV4dFN0YXRlIHtcbiAgLyoqIENvbnRleHQgZmllbGQgdmFsdWUuICovXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQ7XG5cbiAgLyoqIFJlcG9ydHMgZmllbGQgdmFsdWUuICovXG4gIHJlcG9ydHM6IFJlcG9ydEVudHJ5W107XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIFNvdXJjZUNvZGUgc3R1YiB3aXRoIHRoZSBwcm92aWRlZCBjb21tZW50cy5cbiAqIEBwYXJhbSB0ZXh0IFNvdXJjZSB0ZXh0IHRvIGF0dGFjaC5cbiAqIEBwYXJhbSBjb21tZW50cyBDb21tZW50IG5vZGVzIHRvIGV4cG9zZS5cbiAqIEByZXR1cm5zIFNvdXJjZUNvZGUgc3R1YiBmb3IgdGVzdHMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc291cmNlQ29kZSA9IGNyZWF0ZVNvdXJjZUNvZGUoXCJcIiwgW10pO1xuICogYGBgXG4gKi9cbmNvbnN0IGNyZWF0ZVNvdXJjZUNvZGUgPSAoXG4gIHRleHQ6IHN0cmluZyxcbiAgY29tbWVudHM6IENvbW1lbnRbXSxcbik6IFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdID0+XG4gICh7XG4gICAgZ2V0QWxsQ29tbWVudHM6ICgpOiBDb21tZW50W10gPT4gY29tbWVudHMsXG4gICAgdGV4dCxcbiAgfSkgYXMgUnVsZS5SdWxlQ29udGV4dFtcInNvdXJjZUNvZGVcIl07XG5cbi8qKlxuICogQnVpbGRzIGEgcnVsZSBjb250ZXh0IGZvciBjb2xsZWN0aW5nIHJlcG9ydHMuXG4gKiBAcGFyYW0gc291cmNlQ29kZSBTb3VyY2VDb2RlIHN0dWIuXG4gKiBAcGFyYW0gcmVwb3J0cyBSZXBvcnQgc2luay5cbiAqIEByZXR1cm5zIFJ1bGUgY29udGV4dCB0aGF0IHJlY29yZHMgcmVwb3J0cy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjb250ZXh0ID0gYnVpbGRSdWxlQ29udGV4dChzb3VyY2VDb2RlLCByZXBvcnRzKTtcbiAqIGBgYFxuICovXG5jb25zdCBidWlsZFJ1bGVDb250ZXh0ID0gKFxuICBzb3VyY2VDb2RlOiBSdWxlLlJ1bGVDb250ZXh0W1wic291cmNlQ29kZVwiXSxcbiAgcmVwb3J0czogUmVwb3J0RW50cnlbXSxcbik6IFJ1bGUuUnVsZUNvbnRleHQgPT5cbiAgKHtcbiAgICBpZDogXCJuby1pbnRlcmZhY2UtbWVtYmVyLWRvY3NcIixcbiAgICBvcHRpb25zOiBbXSxcbiAgICByZXBvcnQ6IChkZXNjcmlwdG9yOiBSdWxlLlJlcG9ydERlc2NyaXB0b3IpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IHsgZml4LCBtZXNzYWdlSWQgfSA9IGRlc2NyaXB0b3IgYXMgUmVwb3J0RGVzY3JpcHRvckRldGFpbHM7XG4gICAgICBjb25zdCBlbnRyeTogUmVwb3J0RW50cnkgPSB7IGZpeCwgbWVzc2FnZUlkIH07XG5cbiAgICAgIHJlcG9ydHMucHVzaChlbnRyeSk7XG4gICAgfSxcbiAgICBzb3VyY2VDb2RlLFxuICB9KSBhcyB1bmtub3duIGFzIFJ1bGUuUnVsZUNvbnRleHQ7XG5cbi8qKlxuICogQ3JlYXRlcyBhIHJ1bGUgY29udGV4dCBzdGF0ZSBmb3IgdGhlIGdpdmVuIHNvdXJjZSB0ZXh0LlxuICogQHBhcmFtIHNvdXJjZVRleHQgU291cmNlIHRleHQgdG8gYW5hbHl6ZS5cbiAqIEBwYXJhbSBjb21tZW50cyBDb21tZW50IG5vZGVzIGZvciB0aGUgc291cmNlLlxuICogQHJldHVybnMgQ29udGV4dCBzdGF0ZSBmb3IgdGVzdHMuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgc3RhdGUgPSBjcmVhdGVDb250ZXh0KFwiXCIsIFtdKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVDb250ZXh0ID0gKFxuICBzb3VyY2VUZXh0OiBzdHJpbmcsXG4gIGNvbW1lbnRzOiBDb21tZW50W10sXG4pOiBSdWxlQ29udGV4dFN0YXRlID0+IHtcbiAgY29uc3QgcmVwb3J0czogUmVwb3J0RW50cnlbXSA9IFtdO1xuICBjb25zdCBzb3VyY2VDb2RlID0gY3JlYXRlU291cmNlQ29kZShzb3VyY2VUZXh0LCBjb21tZW50cyk7XG5cbiAgcmV0dXJuIHsgY29udGV4dDogYnVpbGRSdWxlQ29udGV4dChzb3VyY2VDb2RlLCByZXBvcnRzKSwgcmVwb3J0cyB9O1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgSlNEb2MgYmxvY2sgY29tbWVudCBmb3IgdGhlIGdpdmVuIHNvdXJjZSB0ZXh0LlxuICogQHBhcmFtIGNvbW1lbnRWYWx1ZSBDb21tZW50IHZhbHVlIHdpdGhvdXQgZGVsaW1pdGVycy5cbiAqIEBwYXJhbSBzb3VyY2VUZXh0IFNvdXJjZSB0ZXh0IGNvbnRhaW5pbmcgdGhlIGNvbW1lbnQuXG4gKiBAcmV0dXJucyBDb21tZW50IG5vZGUgZm9yIHRoZSBzb3VyY2UgdGV4dC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBjb21tZW50ID0gY3JlYXRlQ29tbWVudChcIipcXG4gKiBva1xcbiBcIiwgXCJmdW5jdGlvbiBkZW1vKCkge31cIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgY3JlYXRlQ29tbWVudCA9IChjb21tZW50VmFsdWU6IHN0cmluZywgc291cmNlVGV4dDogc3RyaW5nKTogQ29tbWVudCA9PiB7XG4gIGNvbnN0IGVuZCA9IHNvdXJjZVRleHQuaW5kZXhPZihcIiovXCIpICsgMjtcblxuICByZXR1cm4ge1xuICAgIHJhbmdlOiBbMCwgZW5kXSxcbiAgICB0eXBlOiBcIkJsb2NrXCIsXG4gICAgdmFsdWU6IGNvbW1lbnRWYWx1ZSxcbiAgfSBhcyBDb21tZW50O1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgZnVuY3Rpb24gbm9kZSBmb3IgdGhlIGdpdmVuIHNvdXJjZSB0ZXh0LlxuICogQHBhcmFtIHNvdXJjZVRleHQgU291cmNlIHRleHQgY29udGFpbmluZyB0aGUgZnVuY3Rpb24uXG4gKiBAcGFyYW0gcGFyYW1ldGVycyBQYXJhbWV0ZXIgbm9kZXMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIEZ1bmN0aW9uIGRlY2xhcmF0aW9uIG5vZGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgbm9kZSA9IGNyZWF0ZUZ1bmN0aW9uTm9kZShcImZ1bmN0aW9uIGRlbW8oKSB7fVwiLCBbXSk7XG4gKiBgYGBcbiAqL1xuY29uc3QgY3JlYXRlRnVuY3Rpb25Ob2RlID0gKFxuICBzb3VyY2VUZXh0OiBzdHJpbmcsXG4gIHBhcmFtZXRlcnM6IHVua25vd25bXSxcbik6IFJ1bGUuTm9kZSA9PlxuICAoe1xuICAgIHBhcmFtczogcGFyYW1ldGVycyxcbiAgICByYW5nZTogW3NvdXJjZVRleHQuaW5kZXhPZihcImZ1bmN0aW9uXCIpLCBzb3VyY2VUZXh0Lmxlbmd0aF0sXG4gICAgdHlwZTogXCJGdW5jdGlvbkRlY2xhcmF0aW9uXCIsXG4gIH0pIGFzIFJ1bGUuTm9kZTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgcGFyYW1ldGVyIG5vZGUgd2l0aCBhIHR5cGUgYW5ub3RhdGlvbi5cbiAqIEBwYXJhbSB0eXBlIFR5cGUgYW5ub3RhdGlvbiBraW5kIHRvIGFzc2lnbi5cbiAqIEByZXR1cm5zIFBhcmFtZXRlciBub2RlIGZvciB0ZXN0cy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBwYXJhbSA9IGNyZWF0ZVBhcmFtZXRlcihcIlRTVHlwZVJlZmVyZW5jZVwiKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVQYXJhbWV0ZXIgPSAodHlwZTogc3RyaW5nKTogdW5rbm93biA9PiAoe1xuICBuYW1lOiBcImNvbnRleHRcIixcbiAgdHlwZTogXCJJZGVudGlmaWVyXCIsXG4gIHR5cGVBbm5vdGF0aW9uOiB7XG4gICAgdHlwZUFubm90YXRpb246IHsgdHlwZSB9LFxuICB9LFxufSk7XG5cbi8qKlxuICogUnVucyB0aGUgcnVsZSBsaXN0ZW5lciBmb3IgYSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBub2RlLlxuICogQHBhcmFtIGNvbnRleHQgUnVsZSBleGVjdXRpb24gY29udGV4dC5cbiAqIEBwYXJhbSBub2RlIEZ1bmN0aW9uIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBydW5GdW5jdGlvbkxpc3RlbmVyKGNvbnRleHQsIG5vZGUpO1xuICogYGBgXG4gKi9cbmNvbnN0IHJ1bkZ1bmN0aW9uTGlzdGVuZXIgPSAoXG4gIGNvbnRleHQ6IFJ1bGUuUnVsZUNvbnRleHQsXG4gIG5vZGU6IFJ1bGUuTm9kZSxcbik6IHZvaWQgPT4ge1xuICBjb25zdCBsaXN0ZW5lcnMgPSBub0ludGVyZmFjZU1lbWJlckRvY3VtZW50YXRpb25SdWxlLmNyZWF0ZShjb250ZXh0KTtcbiAgY29uc3QgbGlzdGVuZXIgPSBsaXN0ZW5lcnMuRnVuY3Rpb25EZWNsYXJhdGlvbiBhc1xuICAgIHwgKChub2RlOiBSdWxlLk5vZGUpID0+IHZvaWQpXG4gICAgfCB1bmRlZmluZWQ7XG5cbiAgbGlzdGVuZXI/Lihub2RlKTtcbn07XG5cbi8qKlxuICogQnVpbGRzIHNvdXJjZSB0ZXh0IHdpdGggYSBsZWFkaW5nIEpTRG9jIGNvbW1lbnQuXG4gKiBAcGFyYW0gY29tbWVudFZhbHVlIENvbW1lbnQgdmFsdWUgdXNlZCBpbiB0aGUgc291cmNlLlxuICogQHJldHVybnMgU291cmNlIHRleHQgY29udGFpbmluZyB0aGUgY29tbWVudCBhbmQgZnVuY3Rpb24uXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgdGV4dCA9IGJ1aWxkU291cmNlVGV4dChcIipcXG4gKiBva1xcbiBcIik7XG4gKiBgYGBcbiAqL1xuY29uc3QgYnVpbGRTb3VyY2VUZXh0ID0gKGNvbW1lbnRWYWx1ZTogc3RyaW5nKTogc3RyaW5nID0+XG4gIFtcbiAgICBcIi8qKlwiLFxuICAgIGNvbW1lbnRWYWx1ZS50cmltRW5kKCksXG4gICAgXCIqL1wiLFxuICAgIFwiZnVuY3Rpb24gZ2V0TGluZU1ldGEoY29udGV4dDogTGluZU1ldGFDb250ZXh0KTogdm9pZCB7fVwiLFxuICBdLmpvaW4oXCJcXG5cIik7XG5cbi8qKlxuICogQ3JlYXRlcyBhIHNhbXBsZSB0ZXN0IGZpeHR1cmUgZm9yIGludGVyZmFjZSBtZW1iZXIgZG9jcy5cbiAqIEByZXR1cm5zIFNhbXBsZSBjb250ZXh0LCBub2RlLCBhbmQgcmVwb3J0cy5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBzYW1wbGUgPSBjcmVhdGVJbnRlcmZhY2VTYW1wbGUoKTtcbiAqIGBgYFxuICovXG5jb25zdCBjcmVhdGVJbnRlcmZhY2VTYW1wbGUgPSAoKTogSW50ZXJmYWNlU2FtcGxlID0+IHtcbiAgY29uc3QgY29tbWVudFZhbHVlID0gW1xuICAgIFwiKlwiLFxuICAgIFwiICogQ29tcHV0ZSBsaW5lIG1ldGFkYXRhIGZyb20gdGhlIHJhdyBjb21tZW50IHZhbHVlLlwiLFxuICAgIFwiICogQHBhcmFtIGNvbnRleHQgVGhlIG1ldGFkYXRhIGNvbnRleHQuXCIsXG4gICAgXCIgKiBAcGFyYW0gY29udGV4dC5jb21tZW50VmFsdWUgVGhlIGZ1bGwgY29tbWVudCB2YWx1ZS5cIixcbiAgICBcIiAqIEBwYXJhbSBjb250ZXh0LmZ1bGwgVGhlIGZ1bGwgbWF0Y2hlZCBleGFtcGxlIHRleHQuXCIsXG4gICAgXCIgKiBAcGFyYW0gY29udGV4dC5zdGFydE9mZnNldCBUaGUgbWF0Y2ggc3RhcnQgb2Zmc2V0LlwiLFxuICAgIFwiICogQHJldHVybnMgVGhlIGxpbmUgbWV0YWRhdGEgZm9yIHRoZSBleGFtcGxlLlwiLFxuICAgIFwiIFwiLFxuICBdLmpvaW4oXCJcXG5cIik7XG4gIGNvbnN0IHNvdXJjZVRleHQgPSBidWlsZFNvdXJjZVRleHQoY29tbWVudFZhbHVlKTtcbiAgY29uc3QgY29tbWVudCA9IGNyZWF0ZUNvbW1lbnQoY29tbWVudFZhbHVlLCBzb3VyY2VUZXh0KTtcbiAgY29uc3QgeyBjb250ZXh0LCByZXBvcnRzIH0gPSBjcmVhdGVDb250ZXh0KHNvdXJjZVRleHQsIFtjb21tZW50XSk7XG4gIGNvbnN0IG5vZGUgPSBjcmVhdGVGdW5jdGlvbk5vZGUoc291cmNlVGV4dCwgW1xuICAgIGNyZWF0ZVBhcmFtZXRlcihcIlRTVHlwZVJlZmVyZW5jZVwiKSxcbiAgXSk7XG5cbiAgcmV0dXJuIHsgY29udGV4dCwgbm9kZSwgcmVwb3J0cywgc291cmNlVGV4dCB9O1xufTtcblxuZXhwb3J0IHtcbiAgYnVpbGRTb3VyY2VUZXh0LFxuICBjcmVhdGVDb21tZW50LFxuICBjcmVhdGVDb250ZXh0LFxuICBjcmVhdGVGdW5jdGlvbk5vZGUsXG4gIGNyZWF0ZUludGVyZmFjZVNhbXBsZSxcbiAgY3JlYXRlUGFyYW1ldGVyLFxuICBydW5GdW5jdGlvbkxpc3RlbmVyLFxufTtcbmV4cG9ydCB0eXBlIHsgQ29tbWVudCB9O1xuIl19
|
|
@@ -14,8 +14,8 @@ interface CommentLine {
|
|
|
14
14
|
}
|
|
15
15
|
/** Type definition for rule data. */
|
|
16
16
|
interface ParameterMemberTag {
|
|
17
|
-
/**
|
|
18
|
-
|
|
17
|
+
/** Basename field value. */
|
|
18
|
+
basename: string;
|
|
19
19
|
/** FullName field value. */
|
|
20
20
|
fullName: string;
|
|
21
21
|
/** Line field value. */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/no-interface-member-docs/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAEnC,qCAAqC;AACrC,KAAK,OAAO,GAAG,UAAU,CACvB,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,gBAAgB,CAAC,CACjD,CAAC,MAAM,CAAC,CAAC;AAEV,qCAAqC;AACrC,UAAU,WAAW;IACnB,uBAAuB;IACvB,GAAG,EAAE,MAAM,CAAC;IAEZ,mCAAmC;IACnC,eAAe,EAAE,MAAM,CAAC;IAExB,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IAEd,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,qCAAqC;AACrC,UAAU,kBAAkB;IAC1B,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,wBAAwB;IACxB,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,qCAAqC;AACrC,UAAU,kBAAkB;IAC1B,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3Mvbm8taW50ZXJmYWNlLW1lbWJlci1kb2NzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tIFwiZXNsaW50XCI7XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbnR5cGUgQ29tbWVudCA9IFJldHVyblR5cGU8XG4gIFJ1bGUuUnVsZUNvbnRleHRbXCJzb3VyY2VDb2RlXCJdW1wiZ2V0QWxsQ29tbWVudHNcIl1cbj5bbnVtYmVyXTtcblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIENvbW1lbnRMaW5lIHtcbiAgLyoqIEVuZCBmaWVsZCB2YWx1ZS4gKi9cbiAgZW5kOiBudW1iZXI7XG5cbiAgLyoqIExpbmVCcmVha0xlbmd0aCBmaWVsZCB2YWx1ZS4gKi9cbiAgbGluZUJyZWFrTGVuZ3RoOiBudW1iZXI7XG5cbiAgLyoqIFN0YXJ0IGZpZWxkIHZhbHVlLiAqL1xuICBzdGFydDogbnVtYmVyO1xuXG4gIC8qKiBUZXh0IGZpZWxkIHZhbHVlLiAqL1xuICB0ZXh0OiBzdHJpbmc7XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBQYXJhbWV0ZXJNZW1iZXJUYWcge1xuICAvKiogQmFzZW5hbWUgZmllbGQgdmFsdWUuICovXG4gIGJhc2VuYW1lOiBzdHJpbmc7XG5cbiAgLyoqIEZ1bGxOYW1lIGZpZWxkIHZhbHVlLiAqL1xuICBmdWxsTmFtZTogc3RyaW5nO1xuXG4gIC8qKiBMaW5lIGZpZWxkIHZhbHVlLiAqL1xuICBsaW5lOiBDb21tZW50TGluZTtcbn1cblxuLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIFR5cGVBbm5vdGF0aW9uTm9kZSB7XG4gIC8qKiBUeXBlIGZpZWxkIHZhbHVlLiAqL1xuICB0eXBlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIHsgQ29tbWVudCwgQ29tbWVudExpbmUsIFBhcmFtZXRlck1lbWJlclRhZywgVHlwZUFubm90YXRpb25Ob2RlIH07XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-fixer.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/create-fixer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,sDAAsD;AACtD,QAAA,MAAM,oBAAoB,oBAAc,CAAC;AAEzC,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { createFixer } from "./fixes.js";
|
|
2
|
+
/** Companion module for createFixer-focused tests. */
|
|
3
|
+
const createFixerCompanion = createFixer;
|
|
4
|
+
export { createFixerCompanion };
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWZpeGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2RvbWFpbi9kb2NzL3JlcXVpcmUtZXhhbXBsZS1sYW5ndWFnZS9jcmVhdGUtZml4ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV0QyxzREFBc0Q7QUFDdEQsTUFBTSxvQkFBb0IsR0FBRyxXQUFXLENBQUM7QUFFekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVGaXhlciB9IGZyb20gXCIuL2ZpeGVzXCI7XHJcblxyXG4vKiogQ29tcGFuaW9uIG1vZHVsZSBmb3IgY3JlYXRlRml4ZXItZm9jdXNlZCB0ZXN0cy4gKi9cclxuY29uc3QgY3JlYXRlRml4ZXJDb21wYW5pb24gPSBjcmVhdGVGaXhlcjtcclxuXHJcbmV4cG9ydCB7IGNyZWF0ZUZpeGVyQ29tcGFuaW9uIH07Il19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty-fence-fixes.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/empty-fence-fixes.ts"],"names":[],"mappings":"AAqBA,qCAAqC;AACrC,UAAU,aAAa;IACrB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB;AAuFD;;;;;;;;GAQG;AACH,iBAAS,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAe/D;AAED;;;;;;;;GAQG;AACH,iBAAS,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CA0B/D;AAgDD,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Closes a fence and updates the state.
|
|
3
|
+
* @param state Current fence state.
|
|
4
|
+
* @param line Fence line being processed.
|
|
5
|
+
* @returns Updated fence state.
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* const next = closeFence(state, " * ```");
|
|
9
|
+
* ```
|
|
10
|
+
*/
|
|
11
|
+
function closeFence(state, line) {
|
|
12
|
+
const fenceLines = [...state.currentFence, line];
|
|
13
|
+
const shouldRemove = !state.hasFenceContent;
|
|
14
|
+
const hasNonEmptyFence = state.hasNonEmptyFence || state.hasFenceContent;
|
|
15
|
+
const output = shouldRemove ? state.output : [...state.output, ...fenceLines];
|
|
16
|
+
return {
|
|
17
|
+
...state,
|
|
18
|
+
currentFence: [],
|
|
19
|
+
hasFenceContent: false,
|
|
20
|
+
hasNonEmptyFence,
|
|
21
|
+
inFence: false,
|
|
22
|
+
output,
|
|
23
|
+
removed: state.removed || shouldRemove,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Finalizes fence output, including any unclosed fences.
|
|
28
|
+
* @param state Current fence state.
|
|
29
|
+
* @returns Finalized fence state.
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const next = finalizeFenceState(state);
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
35
|
+
function finalizeFenceState(state) {
|
|
36
|
+
if (state.inFence) {
|
|
37
|
+
return {
|
|
38
|
+
...state,
|
|
39
|
+
currentFence: [],
|
|
40
|
+
hasFenceContent: false,
|
|
41
|
+
hasNonEmptyFence: state.hasNonEmptyFence || state.hasFenceContent,
|
|
42
|
+
inFence: false,
|
|
43
|
+
output: [...state.output, ...state.currentFence],
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
return state;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Determines whether a line contains non-empty content.
|
|
50
|
+
* @param line Line text to check.
|
|
51
|
+
* @returns True when the line contains content.
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* const ok = isContentLine(" * const ok = true;");
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
57
|
+
function isContentLine(line) {
|
|
58
|
+
const trimmed = line.replace(/^\s*\*?\s?/u, "").trim();
|
|
59
|
+
return trimmed.length > 0;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Opens a new fenced block.
|
|
63
|
+
* @param state Current fence state.
|
|
64
|
+
* @param line Fence line being processed.
|
|
65
|
+
* @returns Updated fence state.
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* const next = openFence(state, " * ```typescript");
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
function openFence(state, line) {
|
|
72
|
+
return {
|
|
73
|
+
...state,
|
|
74
|
+
currentFence: [line],
|
|
75
|
+
hasFenceContent: false,
|
|
76
|
+
hasNonEmptyFence: state.hasNonEmptyFence,
|
|
77
|
+
inFence: true,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Parses a fence line for its leading prefix and language.
|
|
82
|
+
* @param line Fence line to parse.
|
|
83
|
+
* @returns Parsed fence info when matched.
|
|
84
|
+
* @example
|
|
85
|
+
* ```typescript
|
|
86
|
+
* const info = parseFenceLine(" * ```typescript");
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
function parseFenceLine(line) {
|
|
90
|
+
const fenceMatch = /^(?<leading>\s*\*?\s*)```(?<lang>[^\s`]+)?[ \t]*$/u.exec(line);
|
|
91
|
+
if (fenceMatch === null) {
|
|
92
|
+
return void 0;
|
|
93
|
+
}
|
|
94
|
+
const groups = fenceMatch.groups ?? {};
|
|
95
|
+
const leading = typeof groups["leading"] === "string" ? groups["leading"] : "";
|
|
96
|
+
const language = typeof groups["lang"] === "string" ? groups["lang"] : "";
|
|
97
|
+
return { language, leading };
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Removes fenced blocks that contain no content.
|
|
101
|
+
* @param original Original comment text.
|
|
102
|
+
* @returns Updated comment text when a fence is removed.
|
|
103
|
+
* @example
|
|
104
|
+
* ```typescript
|
|
105
|
+
* const updated = removeEmptyFences("* ```typescript\n* ```\n* ok");
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
function removeEmptyFences(original) {
|
|
109
|
+
const lineBreak = original.includes("\r\n") ? "\r\n" : "\n";
|
|
110
|
+
const lines = original.split(/\r?\n/u);
|
|
111
|
+
const initialState = {
|
|
112
|
+
currentFence: [],
|
|
113
|
+
hasFenceContent: false,
|
|
114
|
+
hasNonEmptyFence: false,
|
|
115
|
+
inFence: false,
|
|
116
|
+
output: [],
|
|
117
|
+
removed: false,
|
|
118
|
+
};
|
|
119
|
+
let state = initialState;
|
|
120
|
+
for (const line of lines) {
|
|
121
|
+
const fenceInfo = parseFenceLine(line);
|
|
122
|
+
state =
|
|
123
|
+
fenceInfo === void 0
|
|
124
|
+
? updateContentState(state, line)
|
|
125
|
+
: updateFenceState(state, line);
|
|
126
|
+
}
|
|
127
|
+
const finalState = finalizeFenceState(state);
|
|
128
|
+
return finalState.removed && finalState.hasNonEmptyFence
|
|
129
|
+
? finalState.output.join(lineBreak)
|
|
130
|
+
: void 0;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Updates the state with a non-fence line.
|
|
134
|
+
* @param state Current fence state.
|
|
135
|
+
* @param line Line being processed.
|
|
136
|
+
* @returns Updated fence state.
|
|
137
|
+
* @example
|
|
138
|
+
* ```typescript
|
|
139
|
+
* const next = updateContentState(state, " * const ok = true;");
|
|
140
|
+
* ```
|
|
141
|
+
*/
|
|
142
|
+
function updateContentState(state, line) {
|
|
143
|
+
if (state.inFence) {
|
|
144
|
+
return {
|
|
145
|
+
...state,
|
|
146
|
+
currentFence: [...state.currentFence, line],
|
|
147
|
+
hasFenceContent: state.hasFenceContent || isContentLine(line),
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
return { ...state, output: [...state.output, line] };
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Opens or closes a fence based on the current state.
|
|
154
|
+
* @param state Current fence state.
|
|
155
|
+
* @param line Fence line being processed.
|
|
156
|
+
* @returns Updated fence state.
|
|
157
|
+
* @example
|
|
158
|
+
* ```typescript
|
|
159
|
+
* const next = updateFenceState(state, " * ```");
|
|
160
|
+
* ```
|
|
161
|
+
*/
|
|
162
|
+
function updateFenceState(state, line) {
|
|
163
|
+
if (state.inFence) {
|
|
164
|
+
return closeFence(state, line);
|
|
165
|
+
}
|
|
166
|
+
return openFence(state, line);
|
|
167
|
+
}
|
|
168
|
+
export { parseFenceLine, removeEmptyFences };
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wdHktZmVuY2UtZml4ZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL2VtcHR5LWZlbmNlLWZpeGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThCQTs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFTLFVBQVUsQ0FBQyxLQUFzQixFQUFFLElBQVk7SUFDdEQsTUFBTSxVQUFVLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakQsTUFBTSxZQUFZLEdBQUcsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDO0lBQzVDLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixJQUFJLEtBQUssQ0FBQyxlQUFlLENBQUM7SUFDekUsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRSxHQUFHLFVBQVUsQ0FBQyxDQUFDO0lBRTlFLE9BQU87UUFDTCxHQUFHLEtBQUs7UUFDUixZQUFZLEVBQUUsRUFBRTtRQUNoQixlQUFlLEVBQUUsS0FBSztRQUN0QixnQkFBZ0I7UUFDaEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxNQUFNO1FBQ04sT0FBTyxFQUFFLEtBQUssQ0FBQyxPQUFPLElBQUksWUFBWTtLQUN2QyxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxrQkFBa0IsQ0FBQyxLQUFzQjtJQUNoRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsQixPQUFPO1lBQ0wsR0FBRyxLQUFLO1lBQ1IsWUFBWSxFQUFFLEVBQUU7WUFDaEIsZUFBZSxFQUFFLEtBQUs7WUFDdEIsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQixJQUFJLEtBQUssQ0FBQyxlQUFlO1lB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QztRQUNuQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDYixDQUFDO0FBRUQ7Ozs7Ozs7OztHQVNHO0FBQ0gsU0FBUyxrQkFBa0IsQ0FDekIsS0FBc0IsRUFDdEIsSUFBWTtJQUVaLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2xCLE9BQU87WUFDTCxHQUFHLEtBQUs7WUFDUixZQUFZLEVBQUUsQ0FBQyxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDO1lBQzNDLGVBQWUsRUFBRSxLQUFLLENBQUMsZUFBZSxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUM7U0FDOUQsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUM7QUFDdkQsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQVMsZ0JBQWdCLENBQ3ZCLEtBQXNCLEVBQ3RCLElBQVk7SUFFWixJQUFJLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNsQixPQUFPLFVBQVUsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELE9BQU8sU0FBUyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztBQUNoQyxDQUFDO0FBRUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIEVtcHR5RmVuY2VTdGF0ZSB7XG4gIC8qKiBDdXJyZW50RmVuY2UgZmllbGQgdmFsdWUuICovXG4gIGN1cnJlbnRGZW5jZTogc3RyaW5nW107XG5cbiAgLyoqIEhhc0ZlbmNlQ29udGVudCBmaWVsZCB2YWx1ZS4gKi9cbiAgaGFzRmVuY2VDb250ZW50OiBib29sZWFuO1xuXG4gIC8qKiBIYXNOb25FbXB0eUZlbmNlIGZpZWxkIHZhbHVlLiAqL1xuICBoYXNOb25FbXB0eUZlbmNlOiBib29sZWFuO1xuXG4gIC8qKiBJbkZlbmNlIGZpZWxkIHZhbHVlLiAqL1xuICBpbkZlbmNlOiBib29sZWFuO1xuXG4gIC8qKiBPdXRwdXQgZmllbGQgdmFsdWUuICovXG4gIG91dHB1dDogc3RyaW5nW107XG5cbiAgLyoqIFJlbW92ZWQgZmllbGQgdmFsdWUuICovXG4gIHJlbW92ZWQ6IGJvb2xlYW47XG59XG5cbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cbmludGVyZmFjZSBGZW5jZUxpbmVJbmZvIHtcbiAgLyoqIExhbmd1YWdlIGZpZWxkIHZhbHVlLiAqL1xuICBsYW5ndWFnZTogc3RyaW5nO1xuXG4gIC8qKiBMZWFkaW5nIGZpZWxkIHZhbHVlLiAqL1xuICBsZWFkaW5nOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ2xvc2VzIGEgZmVuY2UgYW5kIHVwZGF0ZXMgdGhlIHN0YXRlLlxuICogQHBhcmFtIHN0YXRlIEN1cnJlbnQgZmVuY2Ugc3RhdGUuXG4gKiBAcGFyYW0gbGluZSBGZW5jZSBsaW5lIGJlaW5nIHByb2Nlc3NlZC5cbiAqIEByZXR1cm5zIFVwZGF0ZWQgZmVuY2Ugc3RhdGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbmV4dCA9IGNsb3NlRmVuY2Uoc3RhdGUsIFwiICogYGBgXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGNsb3NlRmVuY2Uoc3RhdGU6IEVtcHR5RmVuY2VTdGF0ZSwgbGluZTogc3RyaW5nKTogRW1wdHlGZW5jZVN0YXRlIHtcbiAgY29uc3QgZmVuY2VMaW5lcyA9IFsuLi5zdGF0ZS5jdXJyZW50RmVuY2UsIGxpbmVdO1xuICBjb25zdCBzaG91bGRSZW1vdmUgPSAhc3RhdGUuaGFzRmVuY2VDb250ZW50O1xuICBjb25zdCBoYXNOb25FbXB0eUZlbmNlID0gc3RhdGUuaGFzTm9uRW1wdHlGZW5jZSB8fCBzdGF0ZS5oYXNGZW5jZUNvbnRlbnQ7XG4gIGNvbnN0IG91dHB1dCA9IHNob3VsZFJlbW92ZSA/IHN0YXRlLm91dHB1dCA6IFsuLi5zdGF0ZS5vdXRwdXQsIC4uLmZlbmNlTGluZXNdO1xuXG4gIHJldHVybiB7XG4gICAgLi4uc3RhdGUsXG4gICAgY3VycmVudEZlbmNlOiBbXSxcbiAgICBoYXNGZW5jZUNvbnRlbnQ6IGZhbHNlLFxuICAgIGhhc05vbkVtcHR5RmVuY2UsXG4gICAgaW5GZW5jZTogZmFsc2UsXG4gICAgb3V0cHV0LFxuICAgIHJlbW92ZWQ6IHN0YXRlLnJlbW92ZWQgfHwgc2hvdWxkUmVtb3ZlLFxuICB9O1xufVxuXG4vKipcbiAqIEZpbmFsaXplcyBmZW5jZSBvdXRwdXQsIGluY2x1ZGluZyBhbnkgdW5jbG9zZWQgZmVuY2VzLlxuICogQHBhcmFtIHN0YXRlIEN1cnJlbnQgZmVuY2Ugc3RhdGUuXG4gKiBAcmV0dXJucyBGaW5hbGl6ZWQgZmVuY2Ugc3RhdGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbmV4dCA9IGZpbmFsaXplRmVuY2VTdGF0ZShzdGF0ZSk7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZmluYWxpemVGZW5jZVN0YXRlKHN0YXRlOiBFbXB0eUZlbmNlU3RhdGUpOiBFbXB0eUZlbmNlU3RhdGUge1xuICBpZiAoc3RhdGUuaW5GZW5jZSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGN1cnJlbnRGZW5jZTogW10sXG4gICAgICBoYXNGZW5jZUNvbnRlbnQ6IGZhbHNlLFxuICAgICAgaGFzTm9uRW1wdHlGZW5jZTogc3RhdGUuaGFzTm9uRW1wdHlGZW5jZSB8fCBzdGF0ZS5oYXNGZW5jZUNvbnRlbnQsXG4gICAgICBpbkZlbmNlOiBmYWxzZSxcbiAgICAgIG91dHB1dDogWy4uLnN0YXRlLm91dHB1dCwgLi4uc3RhdGUuY3VycmVudEZlbmNlXSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHN0YXRlO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIGxpbmUgY29udGFpbnMgbm9uLWVtcHR5IGNvbnRlbnQuXG4gKiBAcGFyYW0gbGluZSBMaW5lIHRleHQgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGxpbmUgY29udGFpbnMgY29udGVudC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBvayA9IGlzQ29udGVudExpbmUoXCIgKiBjb25zdCBvayA9IHRydWU7XCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGlzQ29udGVudExpbmUobGluZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IHRyaW1tZWQgPSBsaW5lLnJlcGxhY2UoL15cXHMqXFwqP1xccz8vdSwgXCJcIikudHJpbSgpO1xuICByZXR1cm4gdHJpbW1lZC5sZW5ndGggPiAwO1xufVxuXG4vKipcbiAqIE9wZW5zIGEgbmV3IGZlbmNlZCBibG9jay5cbiAqIEBwYXJhbSBzdGF0ZSBDdXJyZW50IGZlbmNlIHN0YXRlLlxuICogQHBhcmFtIGxpbmUgRmVuY2UgbGluZSBiZWluZyBwcm9jZXNzZWQuXG4gKiBAcmV0dXJucyBVcGRhdGVkIGZlbmNlIHN0YXRlLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IG5leHQgPSBvcGVuRmVuY2Uoc3RhdGUsIFwiICogYGBgdHlwZXNjcmlwdFwiKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiBvcGVuRmVuY2Uoc3RhdGU6IEVtcHR5RmVuY2VTdGF0ZSwgbGluZTogc3RyaW5nKTogRW1wdHlGZW5jZVN0YXRlIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICBjdXJyZW50RmVuY2U6IFtsaW5lXSxcbiAgICBoYXNGZW5jZUNvbnRlbnQ6IGZhbHNlLFxuICAgIGhhc05vbkVtcHR5RmVuY2U6IHN0YXRlLmhhc05vbkVtcHR5RmVuY2UsXG4gICAgaW5GZW5jZTogdHJ1ZSxcbiAgfTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgYSBmZW5jZSBsaW5lIGZvciBpdHMgbGVhZGluZyBwcmVmaXggYW5kIGxhbmd1YWdlLlxuICogQHBhcmFtIGxpbmUgRmVuY2UgbGluZSB0byBwYXJzZS5cbiAqIEByZXR1cm5zIFBhcnNlZCBmZW5jZSBpbmZvIHdoZW4gbWF0Y2hlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBpbmZvID0gcGFyc2VGZW5jZUxpbmUoXCIgKiBgYGB0eXBlc2NyaXB0XCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHBhcnNlRmVuY2VMaW5lKGxpbmU6IHN0cmluZyk6IEZlbmNlTGluZUluZm8gfCB1bmRlZmluZWQge1xuICBjb25zdCBmZW5jZU1hdGNoID0gL14oPzxsZWFkaW5nPlxccypcXCo/XFxzKilgYGAoPzxsYW5nPlteXFxzYF0rKT9bIFxcdF0qJC91LmV4ZWMoXG4gICAgbGluZSxcbiAgKTtcblxuICBpZiAoZmVuY2VNYXRjaCA9PT0gbnVsbCkge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cblxuICBjb25zdCBncm91cHMgPSBmZW5jZU1hdGNoLmdyb3VwcyA/PyB7fTtcbiAgY29uc3QgbGVhZGluZyA9XG4gICAgdHlwZW9mIGdyb3Vwc1tcImxlYWRpbmdcIl0gPT09IFwic3RyaW5nXCIgPyBncm91cHNbXCJsZWFkaW5nXCJdIDogXCJcIjtcbiAgY29uc3QgbGFuZ3VhZ2UgPSB0eXBlb2YgZ3JvdXBzW1wibGFuZ1wiXSA9PT0gXCJzdHJpbmdcIiA/IGdyb3Vwc1tcImxhbmdcIl0gOiBcIlwiO1xuXG4gIHJldHVybiB7IGxhbmd1YWdlLCBsZWFkaW5nIH07XG59XG5cbi8qKlxuICogUmVtb3ZlcyBmZW5jZWQgYmxvY2tzIHRoYXQgY29udGFpbiBubyBjb250ZW50LlxuICogQHBhcmFtIG9yaWdpbmFsIE9yaWdpbmFsIGNvbW1lbnQgdGV4dC5cbiAqIEByZXR1cm5zIFVwZGF0ZWQgY29tbWVudCB0ZXh0IHdoZW4gYSBmZW5jZSBpcyByZW1vdmVkLlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHVwZGF0ZWQgPSByZW1vdmVFbXB0eUZlbmNlcyhcIiogYGBgdHlwZXNjcmlwdFxcbiogYGBgXFxuKiBva1wiKTtcbiAqIGBgYFxuICovXG5mdW5jdGlvbiByZW1vdmVFbXB0eUZlbmNlcyhvcmlnaW5hbDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgbGluZUJyZWFrID0gb3JpZ2luYWwuaW5jbHVkZXMoXCJcXHJcXG5cIikgPyBcIlxcclxcblwiIDogXCJcXG5cIjtcbiAgY29uc3QgbGluZXMgPSBvcmlnaW5hbC5zcGxpdCgvXFxyP1xcbi91KTtcbiAgY29uc3QgaW5pdGlhbFN0YXRlOiBFbXB0eUZlbmNlU3RhdGUgPSB7XG4gICAgY3VycmVudEZlbmNlOiBbXSxcbiAgICBoYXNGZW5jZUNvbnRlbnQ6IGZhbHNlLFxuICAgIGhhc05vbkVtcHR5RmVuY2U6IGZhbHNlLFxuICAgIGluRmVuY2U6IGZhbHNlLFxuICAgIG91dHB1dDogW10sXG4gICAgcmVtb3ZlZDogZmFsc2UsXG4gIH07XG4gIGxldCBzdGF0ZSA9IGluaXRpYWxTdGF0ZTtcblxuICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZXMpIHtcbiAgICBjb25zdCBmZW5jZUluZm8gPSBwYXJzZUZlbmNlTGluZShsaW5lKTtcbiAgICBzdGF0ZSA9XG4gICAgICBmZW5jZUluZm8gPT09IHZvaWQgMFxuICAgICAgICA/IHVwZGF0ZUNvbnRlbnRTdGF0ZShzdGF0ZSwgbGluZSlcbiAgICAgICAgOiB1cGRhdGVGZW5jZVN0YXRlKHN0YXRlLCBsaW5lKTtcbiAgfVxuXG4gIGNvbnN0IGZpbmFsU3RhdGUgPSBmaW5hbGl6ZUZlbmNlU3RhdGUoc3RhdGUpO1xuXG4gIHJldHVybiBmaW5hbFN0YXRlLnJlbW92ZWQgJiYgZmluYWxTdGF0ZS5oYXNOb25FbXB0eUZlbmNlXG4gICAgPyBmaW5hbFN0YXRlLm91dHB1dC5qb2luKGxpbmVCcmVhaylcbiAgICA6IHZvaWQgMDtcbn1cblxuLyoqXG4gKiBVcGRhdGVzIHRoZSBzdGF0ZSB3aXRoIGEgbm9uLWZlbmNlIGxpbmUuXG4gKiBAcGFyYW0gc3RhdGUgQ3VycmVudCBmZW5jZSBzdGF0ZS5cbiAqIEBwYXJhbSBsaW5lIExpbmUgYmVpbmcgcHJvY2Vzc2VkLlxuICogQHJldHVybnMgVXBkYXRlZCBmZW5jZSBzdGF0ZS5cbiAqIEBleGFtcGxlXG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdCBuZXh0ID0gdXBkYXRlQ29udGVudFN0YXRlKHN0YXRlLCBcIiAqIGNvbnN0IG9rID0gdHJ1ZTtcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gdXBkYXRlQ29udGVudFN0YXRlKFxuICBzdGF0ZTogRW1wdHlGZW5jZVN0YXRlLFxuICBsaW5lOiBzdHJpbmcsXG4pOiBFbXB0eUZlbmNlU3RhdGUge1xuICBpZiAoc3RhdGUuaW5GZW5jZSkge1xuICAgIHJldHVybiB7XG4gICAgICAuLi5zdGF0ZSxcbiAgICAgIGN1cnJlbnRGZW5jZTogWy4uLnN0YXRlLmN1cnJlbnRGZW5jZSwgbGluZV0sXG4gICAgICBoYXNGZW5jZUNvbnRlbnQ6IHN0YXRlLmhhc0ZlbmNlQ29udGVudCB8fCBpc0NvbnRlbnRMaW5lKGxpbmUpLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4geyAuLi5zdGF0ZSwgb3V0cHV0OiBbLi4uc3RhdGUub3V0cHV0LCBsaW5lXSB9O1xufVxuXG4vKipcbiAqIE9wZW5zIG9yIGNsb3NlcyBhIGZlbmNlIGJhc2VkIG9uIHRoZSBjdXJyZW50IHN0YXRlLlxuICogQHBhcmFtIHN0YXRlIEN1cnJlbnQgZmVuY2Ugc3RhdGUuXG4gKiBAcGFyYW0gbGluZSBGZW5jZSBsaW5lIGJlaW5nIHByb2Nlc3NlZC5cbiAqIEByZXR1cm5zIFVwZGF0ZWQgZmVuY2Ugc3RhdGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbmV4dCA9IHVwZGF0ZUZlbmNlU3RhdGUoc3RhdGUsIFwiICogYGBgXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIHVwZGF0ZUZlbmNlU3RhdGUoXG4gIHN0YXRlOiBFbXB0eUZlbmNlU3RhdGUsXG4gIGxpbmU6IHN0cmluZyxcbik6IEVtcHR5RmVuY2VTdGF0ZSB7XG4gIGlmIChzdGF0ZS5pbkZlbmNlKSB7XG4gICAgcmV0dXJuIGNsb3NlRmVuY2Uoc3RhdGUsIGxpbmUpO1xuICB9XG5cbiAgcmV0dXJuIG9wZW5GZW5jZShzdGF0ZSwgbGluZSk7XG59XG5cbmV4cG9ydCB7IHBhcnNlRmVuY2VMaW5lLCByZW1vdmVFbXB0eUZlbmNlcyB9O1xuIl19
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"example-utilities.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/example-utilities.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,UAAU,QAAQ;IAChB,4BAA4B;IAC5B,QAAQ,EAAE,MAAM,CAAC;IAEjB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qCAAqC;AACrC,UAAU,eAAe;IACvB,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IAErB,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IAEb,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAU1D;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED;;;;;;;;GAQG;AACH,iBAAS,WAAW,CAAC,OAAO,EAAE,eAAe,GAAG,QAAQ,CAQvD;AAED;;;;;;;;GAQG;AACH,iBAAS,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQzC;AAED;;;;;;;;GAQG;AACH,iBAAS,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG7C;AAED,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,cAAc,GACf,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extracts the language from a fence line when present.
|
|
3
|
+
* @param line Fence line to inspect.
|
|
4
|
+
* @returns Language tag when present.
|
|
5
|
+
* @example
|
|
6
|
+
* ```typescript
|
|
7
|
+
* const lang = getFenceLanguage(" * ```typescript");
|
|
8
|
+
* ```
|
|
9
|
+
*/
|
|
10
|
+
function getFenceLanguage(line) {
|
|
11
|
+
const fenceMatch = /^(?<leading>\s*\*?\s*)```(?<lang>[^\s`]+)?[ \t]*$/u.exec(line);
|
|
12
|
+
if (fenceMatch === null) {
|
|
13
|
+
return void 0;
|
|
14
|
+
}
|
|
15
|
+
return fenceMatch.groups?.["lang"] ?? "";
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Extracts inline example content from the header line.
|
|
19
|
+
* @param header Example header line.
|
|
20
|
+
* @returns Inline example content.
|
|
21
|
+
* @example
|
|
22
|
+
* ```typescript
|
|
23
|
+
* const text = getInlineContent("* @example hello");
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
function getInlineContent(header) {
|
|
27
|
+
const inlineMatch = /^.*@example\b\s?(?<c>.*)$/u.exec(header);
|
|
28
|
+
return inlineMatch?.groups?.["c"] ?? "";
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Computes line metadata from the raw comment value.
|
|
32
|
+
* @param context Comment metadata context.
|
|
33
|
+
* @returns Line metadata for the example.
|
|
34
|
+
* @example
|
|
35
|
+
* ```typescript
|
|
36
|
+
* const meta = getLineMeta({ commentValue: "* ok", full: "* ok", startOffset: 0 });
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
function getLineMeta(context) {
|
|
40
|
+
const { commentValue, full, startOffset } = context;
|
|
41
|
+
const lineIndex = commentValue.slice(0, startOffset).split(/\r?\n/u).length - 1;
|
|
42
|
+
const endOffset = startOffset + full.length;
|
|
43
|
+
const endIndex = lineIndex + full.split(/\r?\n/u).length - 1;
|
|
44
|
+
return { endIndex, endOffset, lineIndex };
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Resolves the leading prefix used by example lines.
|
|
48
|
+
* @param header Example header line.
|
|
49
|
+
* @returns The leading prefix string.
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* const prefix = getPrefix(" * @example");
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
function getPrefix(header) {
|
|
56
|
+
const prefixMatch = header.indexOf("@example");
|
|
57
|
+
if (prefixMatch === -1) {
|
|
58
|
+
return "";
|
|
59
|
+
}
|
|
60
|
+
return header.slice(0, prefixMatch);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Determines whether a content line contains non-empty example text.
|
|
64
|
+
* @param line Line text to check.
|
|
65
|
+
* @returns True when the line contains content.
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* const ok = hasLineContent(" * const value = 1;");
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
71
|
+
function hasLineContent(line) {
|
|
72
|
+
const trimmed = line.replace(/^\s*\*?\s?/u, "").trim();
|
|
73
|
+
return trimmed.length > 0;
|
|
74
|
+
}
|
|
75
|
+
export { getFenceLanguage, getInlineContent, getLineMeta, getPrefix, hasLineContent, };
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhhbXBsZS11dGlsaXRpZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL2RvY3MvcmVxdWlyZS1leGFtcGxlLWxhbmd1YWdlL2V4YW1wbGUtdXRpbGl0aWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCQTs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsSUFBWTtJQUNwQyxNQUFNLFVBQVUsR0FBRyxvREFBb0QsQ0FBQyxJQUFJLENBQzFFLElBQUksQ0FDTCxDQUFDO0lBRUYsSUFBSSxVQUFVLEtBQUssSUFBSSxFQUFFLENBQUM7UUFDeEIsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0FBQzNDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsTUFBYztJQUN0QyxNQUFNLFdBQVcsR0FBRyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFFOUQsT0FBTyxXQUFXLEVBQUUsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQzFDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsV0FBVyxDQUFDLE9BQXdCO0lBQzNDLE1BQU0sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQztJQUNwRCxNQUFNLFNBQVMsR0FDYixZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNoRSxNQUFNLFNBQVMsR0FBRyxXQUFXLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUM1QyxNQUFNLFFBQVEsR0FBRyxTQUFTLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBRTdELE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDO0FBQzVDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsU0FBUyxDQUFDLE1BQWM7SUFDL0IsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUUvQyxJQUFJLFdBQVcsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUM7QUFDdEMsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxjQUFjLENBQUMsSUFBWTtJQUNsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2RCxPQUFPLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGdCQUFnQixFQUNoQixXQUFXLEVBQ1gsU0FBUyxFQUNULGNBQWMsR0FDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFR5cGUgZGVmaW5pdGlvbiBmb3IgcnVsZSBkYXRhLiAqL1xuaW50ZXJmYWNlIExpbmVNZXRhIHtcbiAgLyoqIEVuZEluZGV4IGZpZWxkIHZhbHVlLiAqL1xuICBlbmRJbmRleDogbnVtYmVyO1xuXG4gIC8qKiBFbmRPZmZzZXQgZmllbGQgdmFsdWUuICovXG4gIGVuZE9mZnNldDogbnVtYmVyO1xuXG4gIC8qKiBMaW5lSW5kZXggZmllbGQgdmFsdWUuICovXG4gIGxpbmVJbmRleDogbnVtYmVyO1xufVxuXG4vKiogVHlwZSBkZWZpbml0aW9uIGZvciBydWxlIGRhdGEuICovXG5pbnRlcmZhY2UgTGluZU1ldGFDb250ZXh0IHtcbiAgLyoqIENvbW1lbnRWYWx1ZSBmaWVsZCB2YWx1ZS4gKi9cbiAgY29tbWVudFZhbHVlOiBzdHJpbmc7XG5cbiAgLyoqIEZ1bGwgZmllbGQgdmFsdWUuICovXG4gIGZ1bGw6IHN0cmluZztcblxuICAvKiogU3RhcnRPZmZzZXQgZmllbGQgdmFsdWUuICovXG4gIHN0YXJ0T2Zmc2V0OiBudW1iZXI7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgdGhlIGxhbmd1YWdlIGZyb20gYSBmZW5jZSBsaW5lIHdoZW4gcHJlc2VudC5cbiAqIEBwYXJhbSBsaW5lIEZlbmNlIGxpbmUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIExhbmd1YWdlIHRhZyB3aGVuIHByZXNlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbGFuZyA9IGdldEZlbmNlTGFuZ3VhZ2UoXCIgKiBgYGB0eXBlc2NyaXB0XCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldEZlbmNlTGFuZ3VhZ2UobGluZTogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgZmVuY2VNYXRjaCA9IC9eKD88bGVhZGluZz5cXHMqXFwqP1xccyopYGBgKD88bGFuZz5bXlxcc2BdKyk/WyBcXHRdKiQvdS5leGVjKFxuICAgIGxpbmUsXG4gICk7XG5cbiAgaWYgKGZlbmNlTWF0Y2ggPT09IG51bGwpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG5cbiAgcmV0dXJuIGZlbmNlTWF0Y2guZ3JvdXBzPy5bXCJsYW5nXCJdID8/IFwiXCI7XG59XG5cbi8qKlxuICogRXh0cmFjdHMgaW5saW5lIGV4YW1wbGUgY29udGVudCBmcm9tIHRoZSBoZWFkZXIgbGluZS5cbiAqIEBwYXJhbSBoZWFkZXIgRXhhbXBsZSBoZWFkZXIgbGluZS5cbiAqIEByZXR1cm5zIElubGluZSBleGFtcGxlIGNvbnRlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgdGV4dCA9IGdldElubGluZUNvbnRlbnQoXCIqIEBleGFtcGxlIGhlbGxvXCIpO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldElubGluZUNvbnRlbnQoaGVhZGVyOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBpbmxpbmVNYXRjaCA9IC9eLipAZXhhbXBsZVxcYlxccz8oPzxjPi4qKSQvdS5leGVjKGhlYWRlcik7XG5cbiAgcmV0dXJuIGlubGluZU1hdGNoPy5ncm91cHM/LltcImNcIl0gPz8gXCJcIjtcbn1cblxuLyoqXG4gKiBDb21wdXRlcyBsaW5lIG1ldGFkYXRhIGZyb20gdGhlIHJhdyBjb21tZW50IHZhbHVlLlxuICogQHBhcmFtIGNvbnRleHQgQ29tbWVudCBtZXRhZGF0YSBjb250ZXh0LlxuICogQHJldHVybnMgTGluZSBtZXRhZGF0YSBmb3IgdGhlIGV4YW1wbGUuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgbWV0YSA9IGdldExpbmVNZXRhKHsgY29tbWVudFZhbHVlOiBcIiogb2tcIiwgZnVsbDogXCIqIG9rXCIsIHN0YXJ0T2Zmc2V0OiAwIH0pO1xuICogYGBgXG4gKi9cbmZ1bmN0aW9uIGdldExpbmVNZXRhKGNvbnRleHQ6IExpbmVNZXRhQ29udGV4dCk6IExpbmVNZXRhIHtcbiAgY29uc3QgeyBjb21tZW50VmFsdWUsIGZ1bGwsIHN0YXJ0T2Zmc2V0IH0gPSBjb250ZXh0O1xuICBjb25zdCBsaW5lSW5kZXggPVxuICAgIGNvbW1lbnRWYWx1ZS5zbGljZSgwLCBzdGFydE9mZnNldCkuc3BsaXQoL1xccj9cXG4vdSkubGVuZ3RoIC0gMTtcbiAgY29uc3QgZW5kT2Zmc2V0ID0gc3RhcnRPZmZzZXQgKyBmdWxsLmxlbmd0aDtcbiAgY29uc3QgZW5kSW5kZXggPSBsaW5lSW5kZXggKyBmdWxsLnNwbGl0KC9cXHI/XFxuL3UpLmxlbmd0aCAtIDE7XG5cbiAgcmV0dXJuIHsgZW5kSW5kZXgsIGVuZE9mZnNldCwgbGluZUluZGV4IH07XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIGxlYWRpbmcgcHJlZml4IHVzZWQgYnkgZXhhbXBsZSBsaW5lcy5cbiAqIEBwYXJhbSBoZWFkZXIgRXhhbXBsZSBoZWFkZXIgbGluZS5cbiAqIEByZXR1cm5zIFRoZSBsZWFkaW5nIHByZWZpeCBzdHJpbmcuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3QgcHJlZml4ID0gZ2V0UHJlZml4KFwiICogQGV4YW1wbGVcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gZ2V0UHJlZml4KGhlYWRlcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgcHJlZml4TWF0Y2ggPSBoZWFkZXIuaW5kZXhPZihcIkBleGFtcGxlXCIpO1xuXG4gIGlmIChwcmVmaXhNYXRjaCA9PT0gLTEpIHtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuXG4gIHJldHVybiBoZWFkZXIuc2xpY2UoMCwgcHJlZml4TWF0Y2gpO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciBhIGNvbnRlbnQgbGluZSBjb250YWlucyBub24tZW1wdHkgZXhhbXBsZSB0ZXh0LlxuICogQHBhcmFtIGxpbmUgTGluZSB0ZXh0IHRvIGNoZWNrLlxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBsaW5lIGNvbnRhaW5zIGNvbnRlbnQuXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3Qgb2sgPSBoYXNMaW5lQ29udGVudChcIiAqIGNvbnN0IHZhbHVlID0gMTtcIik7XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gaGFzTGluZUNvbnRlbnQobGluZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIGNvbnN0IHRyaW1tZWQgPSBsaW5lLnJlcGxhY2UoL15cXHMqXFwqP1xccz8vdSwgXCJcIikudHJpbSgpO1xuICByZXR1cm4gdHJpbW1lZC5sZW5ndGggPiAwO1xufVxuXG5leHBvcnQge1xuICBnZXRGZW5jZUxhbmd1YWdlLFxuICBnZXRJbmxpbmVDb250ZW50LFxuICBnZXRMaW5lTWV0YSxcbiAgZ2V0UHJlZml4LFxuICBoYXNMaW5lQ29udGVudCxcbn07XG4iXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"examples.d.ts","sourceRoot":"","sources":["../../../../src/domain/docs/require-example-language/examples.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AA6KhD;;;;;;;;;GASG;AACH,iBAAS,qBAAqB,CAC5B,KAAK,EAAE,gBAAgB,EACvB,YAAY,EAAE,MAAM,GACnB,OAAO,CAqBT;AAED;;;;;;;;GAQG;AACH,iBAAS,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAoBjE;AAED;;;;;;;;;;GAUG;AACH,iBAAS,WAAW,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,EAAE,CAQpD;AAED,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,WAAW,EAAE,CAAC"}
|