@codeperfect/eslint-plugin 2.0.0 → 2.2.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 +3 -2
- package/dist/.tsbuildinfo +1 -1
- package/dist/application/custom-rules.d.ts +8 -8
- package/dist/application/custom-rules.js +14 -14
- package/dist/application/index.d.ts +1 -1
- package/dist/application/index.d.ts.map +1 -1
- package/dist/application/index.js +2 -2
- package/dist/codeperfect-eslint-plugin-1.0.0.tgz +0 -0
- package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts +3 -4
- package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/barrel-file-utilities.js +5 -3
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/consistent-barrel-files-listeners.js +17 -7
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule.js +36 -4
- package/dist/domain/architecture/consistent-barrel-files/index.d.ts +2 -0
- package/dist/domain/architecture/consistent-barrel-files/index.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/index.js +3 -1
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.d.ts +5 -0
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-aliases-rule.js +247 -0
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.d.ts +5 -0
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.d.ts.map +1 -0
- package/dist/domain/architecture/consistent-barrel-files/no-import-export-extensions-rule.js +136 -0
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-rule.js +8 -3
- package/dist/domain/architecture/consistent-barrel-files/rule.d.ts.map +1 -1
- package/dist/domain/architecture/consistent-barrel-files/rule.js +12 -5
- package/dist/domain/architecture/index.d.ts +2 -1
- package/dist/domain/architecture/index.d.ts.map +1 -1
- package/dist/domain/architecture/index.js +3 -2
- package/dist/domain/architecture/no-unused-exports/index.d.ts +3 -0
- package/dist/domain/architecture/no-unused-exports/index.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-exports/index.js +2 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.d.ts +50 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-options.js +141 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts +49 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-exports/no-unused-exports-utilities.js +608 -0
- package/dist/domain/architecture/no-unused-exports/rule.d.ts +5 -0
- package/dist/domain/architecture/no-unused-exports/rule.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-exports/rule.js +82 -0
- package/dist/domain/architecture/no-unused-exports/types.d.ts +32 -0
- package/dist/domain/architecture/no-unused-exports/types.d.ts.map +1 -0
- package/dist/domain/architecture/no-unused-exports/types.js +2 -0
- package/dist/domain/core/no-multiple-declarators/rule.d.ts.map +1 -1
- package/dist/domain/core/no-multiple-declarators/rule.js +58 -6
- package/dist/domain/core/no-multiple-declarators/types.d.ts +3 -1
- package/dist/domain/core/no-multiple-declarators/types.d.ts.map +1 -1
- package/dist/domain/core/no-multiple-declarators/types.js +5 -2
- package/dist/domain/core/prefer-interface-types/rule.d.ts.map +1 -1
- package/dist/domain/core/prefer-interface-types/rule.js +94 -23
- package/dist/domain/custom-rule-documentation.d.ts +3 -14
- package/dist/domain/custom-rule-documentation.d.ts.map +1 -1
- package/dist/domain/custom-rule-documentation.js +3 -2
- package/dist/domain/docs/no-interface-member-docs/comment-utilities.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/comment-utilities.js +11 -2
- package/dist/domain/docs/no-interface-member-docs/parameter-tags.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/parameter-tags.js +1 -1
- package/dist/domain/docs/no-interface-member-docs/parameter-utilities.js +1 -1
- package/dist/domain/docs/no-interface-member-docs/rule.d.ts.map +1 -1
- package/dist/domain/docs/no-interface-member-docs/rule.js +12 -4
- package/dist/domain/docs/require-example-language/examples.d.ts +4 -15
- package/dist/domain/docs/require-example-language/examples.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/examples.js +119 -26
- package/dist/domain/docs/require-example-language/fixes.d.ts +1 -21
- package/dist/domain/docs/require-example-language/fixes.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/fixes.js +5 -2
- package/dist/domain/docs/require-example-language/reporting.d.ts +2 -38
- package/dist/domain/docs/require-example-language/reporting.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/reporting.js +2 -2
- package/dist/domain/docs/require-example-language/rule.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/rule.js +7 -3
- package/dist/domain/docs/require-example-language/types.d.ts +1 -1
- package/dist/domain/docs/require-example-language/types.d.ts.map +1 -1
- package/dist/domain/docs/require-example-language/types.js +1 -1
- package/dist/domain/docs/single-line-jsdoc/rule.d.ts +1 -2
- package/dist/domain/docs/single-line-jsdoc/rule.d.ts.map +1 -1
- package/dist/domain/docs/single-line-jsdoc/rule.js +18 -13
- package/dist/domain/index.d.ts +2 -3
- package/dist/domain/index.d.ts.map +1 -1
- package/dist/domain/index.js +3 -4
- package/dist/domain/testing/aaa/analyzer.analysis.d.ts +2 -78
- package/dist/domain/testing/aaa/analyzer.analysis.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts +121 -3
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.analysis.helpers.js +199 -4
- package/dist/domain/testing/aaa/analyzer.analysis.js +30 -188
- package/dist/domain/testing/aaa/analyzer.assertions.d.ts +1 -92
- package/dist/domain/testing/aaa/analyzer.assertions.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts +93 -0
- package/dist/domain/testing/aaa/analyzer.assertions.helpers.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.assertions.helpers.js +184 -0
- package/dist/domain/testing/aaa/analyzer.assertions.js +5 -283
- package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts +62 -0
- package/dist/domain/testing/aaa/analyzer.assertions.operands.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.assertions.operands.js +106 -0
- package/dist/domain/testing/aaa/analyzer.classification.d.ts +1 -74
- package/dist/domain/testing/aaa/analyzer.classification.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts +75 -0
- package/dist/domain/testing/aaa/analyzer.classification.helpers.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.classification.helpers.js +202 -0
- package/dist/domain/testing/aaa/analyzer.classification.js +5 -201
- package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts +13 -0
- package/dist/domain/testing/aaa/analyzer.classification.traversal.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.classification.traversal.js +32 -0
- package/dist/domain/testing/aaa/analyzer.super.d.ts +6 -13
- package/dist/domain/testing/aaa/analyzer.super.d.ts.map +1 -1
- package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts +14 -0
- package/dist/domain/testing/aaa/analyzer.super.helpers.d.ts.map +1 -0
- package/dist/domain/testing/aaa/analyzer.super.helpers.js +64 -0
- package/dist/domain/testing/aaa/analyzer.super.js +29 -61
- package/dist/domain/testing/aaa/index.d.ts +1 -2
- package/dist/domain/testing/aaa/index.d.ts.map +1 -1
- package/dist/domain/testing/aaa/index.js +2 -2
- package/dist/domain/testing/aaa/types.d.ts +1 -1
- package/dist/domain/testing/aaa/types.d.ts.map +1 -1
- package/dist/domain/testing/aaa/types.js +1 -1
- package/dist/domain/testing/assert-actual-expected-names/rule.d.ts.map +1 -1
- package/dist/domain/testing/assert-actual-expected-names/rule.js +33 -5
- package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts +2 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/index.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/index.js +3 -2
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-identifiers.js +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.js +78 -16
- package/dist/domain/testing/{require-aaa-sections → enforce-aaa-structure}/missing-section-fixes.d.ts +1 -1
- package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.d.ts.map +1 -0
- package/dist/domain/testing/enforce-aaa-structure/missing-section-fixes.js +150 -0
- package/dist/domain/testing/enforce-aaa-structure/rule.d.ts.map +1 -1
- package/dist/domain/testing/enforce-aaa-structure/rule.js +165 -3
- package/dist/domain/testing/index.d.ts +0 -3
- package/dist/domain/testing/index.d.ts.map +1 -1
- package/dist/domain/testing/index.js +1 -4
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts +1 -15
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/fix-import-statements.js +2 -71
- package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/fix-imports.js +4 -2
- package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts +1 -13
- package/dist/domain/testing/prefer-vi-mocked-import/fix.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/fix.js +3 -21
- package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-bindings.js +2 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-declarations.js +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match-rewrites.js +6 -6
- package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts +1 -12
- package/dist/domain/testing/prefer-vi-mocked-import/match.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/match.js +149 -15
- package/dist/domain/testing/prefer-vi-mocked-import/rule.d.ts.map +1 -1
- package/dist/domain/testing/prefer-vi-mocked-import/rule.js +6 -3
- package/dist/domain/testing/require-act-result-capture/rule.d.ts.map +1 -1
- package/dist/domain/testing/require-act-result-capture/rule.js +42 -10
- package/dist/domain/testing/require-test-companion/index.d.ts +0 -1
- package/dist/domain/testing/require-test-companion/index.d.ts.map +1 -1
- package/dist/domain/testing/require-test-companion/index.js +1 -2
- package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts +2 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-listeners.d.ts.map +1 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-listeners.js +13 -58
- package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts +2 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-options.d.ts.map +1 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-options.js +6 -5
- package/dist/domain/testing/require-test-companion/rule.d.ts.map +1 -1
- package/dist/domain/testing/require-test-companion/rule.js +34 -9
- package/dist/domain/testing/single-act-statement/rule.d.ts.map +1 -1
- package/dist/domain/testing/single-act-statement/rule.js +11 -5
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/infrastructure/codeperfect-plugin.d.ts +6 -6
- package/dist/infrastructure/codeperfect-plugin.js +5 -5
- package/dist/infrastructure/presets.d.ts.map +1 -1
- package/dist/infrastructure/presets.js +23 -7
- package/package.json +37 -38
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts +0 -41
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.d.ts.map +0 -1
- package/dist/domain/architecture/consistent-barrel-files/exports-only-rule-test-utilities.js +0 -87
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts +0 -40
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.d.ts.map +0 -1
- package/dist/domain/architecture/consistent-barrel-files/no-reexports-outside-barrels-test-utilities.js +0 -91
- package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts +0 -4
- package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.d.ts.map +0 -1
- package/dist/domain/architecture/consistent-barrel-files/rule.repeat-runs.js +0 -4
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts +0 -141
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.d.ts.map +0 -1
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts +0 -20
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.d.ts.map +0 -1
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.file-writers.js +0 -25
- package/dist/domain/architecture/consistent-barrel-files/test-helpers.js +0 -235
- package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts +0 -101
- package/dist/domain/core/no-multiple-declarators/rule-test-helpers.d.ts.map +0 -1
- package/dist/domain/core/no-multiple-declarators/rule-test-helpers.js +0 -108
- package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts +0 -35
- package/dist/domain/core/no-multiple-declarators/rule.fixes.d.ts.map +0 -1
- package/dist/domain/core/no-multiple-declarators/rule.fixes.js +0 -95
- package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts +0 -4
- package/dist/domain/core/no-multiple-declarators/rule.guardrails.d.ts.map +0 -1
- package/dist/domain/core/no-multiple-declarators/rule.guardrails.js +0 -4
- package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts +0 -4
- package/dist/domain/core/no-multiple-declarators/rule.mocked-types.d.ts.map +0 -1
- package/dist/domain/core/no-multiple-declarators/rule.mocked-types.js +0 -4
- package/dist/domain/core/prefer-interface-types/test-helpers.d.ts +0 -110
- package/dist/domain/core/prefer-interface-types/test-helpers.d.ts.map +0 -1
- package/dist/domain/core/prefer-interface-types/test-helpers.js +0 -116
- package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts +0 -89
- package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.d.ts.map +0 -1
- package/dist/domain/docs/no-interface-member-docs/comment-utilities-test-helpers.js +0 -129
- package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts +0 -103
- package/dist/domain/docs/no-interface-member-docs/test-helpers.d.ts.map +0 -1
- package/dist/domain/docs/no-interface-member-docs/test-helpers.js +0 -157
- package/dist/domain/docs/require-example-language/create-fixer.d.ts +0 -5
- package/dist/domain/docs/require-example-language/create-fixer.d.ts.map +0 -1
- package/dist/domain/docs/require-example-language/create-fixer.js +0 -5
- package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts +0 -4
- package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.d.ts.map +0 -1
- package/dist/domain/docs/single-line-jsdoc/rule.edge-cases.js +0 -5
- package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts +0 -4
- package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.d.ts.map +0 -1
- package/dist/domain/docs/single-line-jsdoc/rule.node-lookups.js +0 -5
- package/dist/domain/docs/test-helpers.d.ts +0 -50
- package/dist/domain/docs/test-helpers.d.ts.map +0 -1
- package/dist/domain/docs/test-helpers.js +0 -107
- package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts +0 -9
- package/dist/domain/testing/aaa/analyzer.classification.member-patterns.d.ts.map +0 -1
- package/dist/domain/testing/aaa/analyzer.classification.member-patterns.js +0 -10
- package/dist/domain/testing/aaa/analyzer.d.ts +0 -46
- package/dist/domain/testing/aaa/analyzer.d.ts.map +0 -1
- package/dist/domain/testing/aaa/analyzer.js +0 -59
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts +0 -4
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.d.ts.map +0 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/phase-purity-reporting.behavior.js +0 -4
- package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts +0 -42
- package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.d.ts.map +0 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/rule-test-helpers.js +0 -188
- package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts +0 -5
- package/dist/domain/testing/enforce-aaa-phase-purity/rule.d.ts.map +0 -1
- package/dist/domain/testing/enforce-aaa-phase-purity/rule.js +0 -34
- package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts +0 -20
- package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vi-mocked-import/rule-test-helpers.js +0 -39
- package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts +0 -86
- package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/ast-helpers.js +0 -150
- package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts +0 -2
- package/dist/domain/testing/prefer-vitest-incremental-casts/index.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/index.js +0 -2
- package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts +0 -14
- package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/match-input.js +0 -81
- package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts +0 -13
- package/dist/domain/testing/prefer-vitest-incremental-casts/match.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/match.js +0 -189
- package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts +0 -25
- package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/replacement-helpers.js +0 -92
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts +0 -32
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule-test-helpers.js +0 -164
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts +0 -5
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts +0 -4
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.guardrails.js +0 -4
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts +0 -4
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.input-shapes.js +0 -4
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.js +0 -62
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts +0 -4
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/rule.signature-fallback.js +0 -4
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts +0 -24
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-helpers.js +0 -113
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts +0 -36
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/type-shape-helpers.js +0 -138
- package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts +0 -203
- package/dist/domain/testing/prefer-vitest-incremental-casts/types.d.ts.map +0 -1
- package/dist/domain/testing/prefer-vitest-incremental-casts/types.js +0 -2
- package/dist/domain/testing/require-aaa-sections/index.d.ts +0 -2
- package/dist/domain/testing/require-aaa-sections/index.d.ts.map +0 -1
- package/dist/domain/testing/require-aaa-sections/index.js +0 -2
- package/dist/domain/testing/require-aaa-sections/missing-section-fixes.d.ts.map +0 -1
- package/dist/domain/testing/require-aaa-sections/missing-section-fixes.js +0 -150
- package/dist/domain/testing/require-aaa-sections/rule.d.ts +0 -5
- package/dist/domain/testing/require-aaa-sections/rule.d.ts.map +0 -1
- package/dist/domain/testing/require-aaa-sections/rule.js +0 -129
- package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts +0 -104
- package/dist/domain/testing/require-aaa-sections/rule.reporting.d.ts.map +0 -1
- package/dist/domain/testing/require-aaa-sections/rule.reporting.js +0 -217
- package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts +0 -51
- package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.d.ts.map +0 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-test-helpers.js +0 -184
- package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts +0 -28
- package/dist/domain/testing/require-test-companion/require-test-companion-utilities.d.ts.map +0 -1
- package/dist/domain/testing/require-test-companion/require-test-companion-utilities.js +0 -26
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rule-test-helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vi-mocked-import/rule-test-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAKhC,qCAAqC;AACrC,UAAU,YAAY;IACpB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;IAE/B,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;GAQG;AACH,QAAA,MAAM,MAAM,GAAI,MAAM,MAAM,KAAG,YA8B9B,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { Linter } from "eslint";
|
|
2
|
-
import { parser } from "typescript-eslint";
|
|
3
|
-
import { preferViMockedImportRule } from "./rule.js";
|
|
4
|
-
/**
|
|
5
|
-
* Runs the prefer-vi-mocked-import rule with autofix enabled.
|
|
6
|
-
* @param code Input code.
|
|
7
|
-
* @returns Fixed output and messages.
|
|
8
|
-
* @example
|
|
9
|
-
* ```typescript
|
|
10
|
-
* const result = runFix("const value = 1;\n");
|
|
11
|
-
* ```
|
|
12
|
-
*/
|
|
13
|
-
const runFix = (code) => {
|
|
14
|
-
const linter = new Linter({ configType: "flat" });
|
|
15
|
-
const result = linter.verifyAndFix(code, [
|
|
16
|
-
{
|
|
17
|
-
files: ["**/*.ts"],
|
|
18
|
-
languageOptions: {
|
|
19
|
-
ecmaVersion: 2022,
|
|
20
|
-
parser,
|
|
21
|
-
parserOptions: { range: true },
|
|
22
|
-
sourceType: "module",
|
|
23
|
-
},
|
|
24
|
-
plugins: {
|
|
25
|
-
codeperfect: {
|
|
26
|
-
rules: {
|
|
27
|
-
"prefer-vi-mocked-import": preferViMockedImportRule,
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
},
|
|
31
|
-
rules: {
|
|
32
|
-
"codeperfect/prefer-vi-mocked-import": "error",
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
], { filename: "example.spec.ts" });
|
|
36
|
-
return { messages: result.messages, output: result.output };
|
|
37
|
-
};
|
|
38
|
-
export { runFix };
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVsZS10ZXN0LWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvcHJlZmVyLXZpLW1vY2tlZC1pbXBvcnQvcnVsZS10ZXN0LWhlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNoQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFM0MsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sUUFBUSxDQUFDO0FBV2xEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxNQUFNLEdBQUcsQ0FBQyxJQUFZLEVBQWdCLEVBQUU7SUFDNUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUVsRCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsWUFBWSxDQUNoQyxJQUFJLEVBQ0o7UUFDRTtZQUNFLEtBQUssRUFBRSxDQUFDLFNBQVMsQ0FBQztZQUNsQixlQUFlLEVBQUU7Z0JBQ2YsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLE1BQU07Z0JBQ04sYUFBYSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtnQkFDOUIsVUFBVSxFQUFFLFFBQVE7YUFDckI7WUFDRCxPQUFPLEVBQUU7Z0JBQ1AsV0FBVyxFQUFFO29CQUNYLEtBQUssRUFBRTt3QkFDTCx5QkFBeUIsRUFBRSx3QkFBd0I7cUJBQ3BEO2lCQUNGO2FBQ0Y7WUFDRCxLQUFLLEVBQUU7Z0JBQ0wscUNBQXFDLEVBQUUsT0FBTzthQUMvQztTQUNGO0tBQ0YsRUFDRCxFQUFFLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxDQUNoQyxDQUFDO0lBRUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7QUFDOUQsQ0FBQyxDQUFDO0FBRUYsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGludGVyIH0gZnJvbSBcImVzbGludFwiO1xyXG5pbXBvcnQgeyBwYXJzZXIgfSBmcm9tIFwidHlwZXNjcmlwdC1lc2xpbnRcIjtcclxuXHJcbmltcG9ydCB7IHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZSB9IGZyb20gXCIuL3J1bGVcIjtcclxuXHJcbi8qKiBUeXBlIGRlZmluaXRpb24gZm9yIHJ1bGUgZGF0YS4gKi9cclxuaW50ZXJmYWNlIEZpeFJ1blJlc3VsdCB7XHJcbiAgLyoqIExpbnQgbWVzc2FnZXMgcHJvZHVjZWQgZHVyaW5nIHRoZSBydW4uICovXHJcbiAgbWVzc2FnZXM6IExpbnRlci5MaW50TWVzc2FnZVtdO1xyXG5cclxuICAvKiogT3V0cHV0IGNvZGUgYWZ0ZXIgZml4ZXMuICovXHJcbiAgb3V0cHV0OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSdW5zIHRoZSBwcmVmZXItdmktbW9ja2VkLWltcG9ydCBydWxlIHdpdGggYXV0b2ZpeCBlbmFibGVkLlxyXG4gKiBAcGFyYW0gY29kZSBJbnB1dCBjb2RlLlxyXG4gKiBAcmV0dXJucyBGaXhlZCBvdXRwdXQgYW5kIG1lc3NhZ2VzLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHJlc3VsdCA9IHJ1bkZpeChcImNvbnN0IHZhbHVlID0gMTtcXG5cIik7XHJcbiAqIGBgYFxyXG4gKi9cclxuY29uc3QgcnVuRml4ID0gKGNvZGU6IHN0cmluZyk6IEZpeFJ1blJlc3VsdCA9PiB7XHJcbiAgY29uc3QgbGludGVyID0gbmV3IExpbnRlcih7IGNvbmZpZ1R5cGU6IFwiZmxhdFwiIH0pO1xyXG5cclxuICBjb25zdCByZXN1bHQgPSBsaW50ZXIudmVyaWZ5QW5kRml4KFxyXG4gICAgY29kZSxcclxuICAgIFtcclxuICAgICAge1xyXG4gICAgICAgIGZpbGVzOiBbXCIqKi8qLnRzXCJdLFxyXG4gICAgICAgIGxhbmd1YWdlT3B0aW9uczoge1xyXG4gICAgICAgICAgZWNtYVZlcnNpb246IDIwMjIsXHJcbiAgICAgICAgICBwYXJzZXIsXHJcbiAgICAgICAgICBwYXJzZXJPcHRpb25zOiB7IHJhbmdlOiB0cnVlIH0sXHJcbiAgICAgICAgICBzb3VyY2VUeXBlOiBcIm1vZHVsZVwiLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgcGx1Z2luczoge1xyXG4gICAgICAgICAgY29kZXBlcmZlY3Q6IHtcclxuICAgICAgICAgICAgcnVsZXM6IHtcclxuICAgICAgICAgICAgICBcInByZWZlci12aS1tb2NrZWQtaW1wb3J0XCI6IHByZWZlclZpTW9ja2VkSW1wb3J0UnVsZSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICBydWxlczoge1xyXG4gICAgICAgICAgXCJjb2RlcGVyZmVjdC9wcmVmZXItdmktbW9ja2VkLWltcG9ydFwiOiBcImVycm9yXCIsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgICB7IGZpbGVuYW1lOiBcImV4YW1wbGUuc3BlYy50c1wiIH0sXHJcbiAgKTtcclxuXHJcbiAgcmV0dXJuIHsgbWVzc2FnZXM6IHJlc3VsdC5tZXNzYWdlcywgb3V0cHV0OiByZXN1bHQub3V0cHV0IH07XHJcbn07XHJcblxyXG5leHBvcnQgeyBydW5GaXggfTtcclxuIl19
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { TSESTree } from "@typescript-eslint/utils";
|
|
2
|
-
import type { ShorthandContext, SupportedProperty } from "./types.js";
|
|
3
|
-
/**
|
|
4
|
-
* Checks whether a property can remain in shorthand form after replacement.
|
|
5
|
-
* @param context Property shorthand decision context.
|
|
6
|
-
* @returns True when shorthand syntax remains valid.
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* const keepShorthand = canUseShorthand(context);
|
|
10
|
-
* ```
|
|
11
|
-
*/
|
|
12
|
-
declare function canUseShorthand(context: ShorthandContext): boolean;
|
|
13
|
-
/**
|
|
14
|
-
* Resolves the expression returned by the mock factory.
|
|
15
|
-
* @param factoryArgument Mock factory function expression.
|
|
16
|
-
* @returns Returned expression when one is present.
|
|
17
|
-
* @example
|
|
18
|
-
* ```typescript
|
|
19
|
-
* const returnExpression = getFactoryReturnExpression(factoryArgument);
|
|
20
|
-
* ```
|
|
21
|
-
*/
|
|
22
|
-
declare function getFactoryReturnExpression(factoryArgument: TSESTree.ArrowFunctionExpression | TSESTree.FunctionExpression): TSESTree.Expression | undefined;
|
|
23
|
-
/**
|
|
24
|
-
* Extracts the module specifier from a mock call argument.
|
|
25
|
-
* @param moduleArgument Import expression or string literal argument.
|
|
26
|
-
* @returns Static module specifier when it can be determined.
|
|
27
|
-
* @example
|
|
28
|
-
* ```typescript
|
|
29
|
-
* const moduleSpecifier = getModuleSpecifier(moduleArgument);
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
declare function getModuleSpecifier(moduleArgument: TSESTree.Expression): string | undefined;
|
|
33
|
-
/**
|
|
34
|
-
* Converts an object property key node into a stable string name.
|
|
35
|
-
* @param propertyKey Property key node from the object literal.
|
|
36
|
-
* @returns Property name when the key is statically known.
|
|
37
|
-
* @example
|
|
38
|
-
* ```typescript
|
|
39
|
-
* const propertyName = getPropertyName(property.key);
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
|
-
declare function getPropertyName(propertyKey: TSESTree.PropertyName): string | undefined;
|
|
43
|
-
/**
|
|
44
|
-
* Narrows object literal elements to the subset the fixer can rewrite safely.
|
|
45
|
-
* @param property Object literal element to inspect.
|
|
46
|
-
* @returns True when the property is supported by the fixer.
|
|
47
|
-
* @example
|
|
48
|
-
* ```typescript
|
|
49
|
-
* const supported = isSupportedProperty(property);
|
|
50
|
-
* ```
|
|
51
|
-
*/
|
|
52
|
-
declare function isSupportedProperty(property: TSESTree.ObjectLiteralElement): property is SupportedProperty;
|
|
53
|
-
/**
|
|
54
|
-
* Detects `vi.mock(...)` and `vi.doMock(...)` calls.
|
|
55
|
-
* @param node Call expression being inspected.
|
|
56
|
-
* @returns True when the call targets a Vitest mock factory.
|
|
57
|
-
* @example
|
|
58
|
-
* ```typescript
|
|
59
|
-
* const isMockCall = isVitestMockCall(callExpression);
|
|
60
|
-
* ```
|
|
61
|
-
*/
|
|
62
|
-
declare function isVitestMockCall(node: TSESTree.CallExpression): boolean;
|
|
63
|
-
/**
|
|
64
|
-
* Determines whether the fixed object literal must be parenthesized.
|
|
65
|
-
* @param factoryArgument Mock factory function expression.
|
|
66
|
-
* @param returnExpression Expression returned by the factory.
|
|
67
|
-
* @param objectExpression Object literal being rewritten.
|
|
68
|
-
* @returns True when parentheses are required around the object literal.
|
|
69
|
-
* @example
|
|
70
|
-
* ```typescript
|
|
71
|
-
* const wrapObject = shouldWrapImplicitObject(factoryArgument, returnExpression, objectExpression);
|
|
72
|
-
* ```
|
|
73
|
-
*/
|
|
74
|
-
declare function shouldWrapImplicitObject(factoryArgument: TSESTree.ArrowFunctionExpression | TSESTree.FunctionExpression, returnExpression: TSESTree.Expression, objectExpression: TSESTree.ObjectExpression): boolean;
|
|
75
|
-
/**
|
|
76
|
-
* Removes surrounding cast wrappers from an expression.
|
|
77
|
-
* @param expression Expression to unwrap.
|
|
78
|
-
* @returns The innermost non-cast expression.
|
|
79
|
-
* @example
|
|
80
|
-
* ```typescript
|
|
81
|
-
* const baseExpression = unwrapExpression(expression);
|
|
82
|
-
* ```
|
|
83
|
-
*/
|
|
84
|
-
declare function unwrapExpression(expression: TSESTree.Expression): TSESTree.Expression;
|
|
85
|
-
export { canUseShorthand, getFactoryReturnExpression, getModuleSpecifier, getPropertyName, isSupportedProperty, isVitestMockCall, shouldWrapImplicitObject, unwrapExpression, };
|
|
86
|
-
//# sourceMappingURL=ast-helpers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ast-helpers.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vitest-incremental-casts/ast-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEnE;;;;;;;;GAQG;AACH,iBAAS,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAU3D;AAED;;;;;;;;GAQG;AACH,iBAAS,0BAA0B,CACjC,eAAe,EACX,QAAQ,CAAC,uBAAuB,GAChC,QAAQ,CAAC,kBAAkB,GAC9B,QAAQ,CAAC,UAAU,GAAG,SAAS,CAYjC;AAED;;;;;;;;GAQG;AACH,iBAAS,kBAAkB,CACzB,cAAc,EAAE,QAAQ,CAAC,UAAU,GAClC,MAAM,GAAG,SAAS,CAkBpB;AAED;;;;;;;;GAQG;AACH,iBAAS,eAAe,CACtB,WAAW,EAAE,QAAQ,CAAC,YAAY,GACjC,MAAM,GAAG,SAAS,CAapB;AAED;;;;;;;;GAQG;AACH,iBAAS,mBAAmB,CAC1B,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,GACtC,QAAQ,IAAI,iBAAiB,CAQ/B;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,cAAc,GAAG,OAAO,CAahE;AAED;;;;;;;;;;GAUG;AACH,iBAAS,wBAAwB,CAC/B,eAAe,EACX,QAAQ,CAAC,uBAAuB,GAChC,QAAQ,CAAC,kBAAkB,EAC/B,gBAAgB,EAAE,QAAQ,CAAC,UAAU,EACrC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,GAC1C,OAAO,CAMT;AAED;;;;;;;;GAQG;AACH,iBAAS,gBAAgB,CACvB,UAAU,EAAE,QAAQ,CAAC,UAAU,GAC9B,QAAQ,CAAC,UAAU,CAYrB;AAED,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,kBAAkB,EAClB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,wBAAwB,EACxB,gBAAgB,GACjB,CAAC"}
|
|
@@ -1,150 +0,0 @@
|
|
|
1
|
-
import { TSESTree } from "@typescript-eslint/utils";
|
|
2
|
-
/**
|
|
3
|
-
* Checks whether a property can remain in shorthand form after replacement.
|
|
4
|
-
* @param context Property shorthand decision context.
|
|
5
|
-
* @returns True when shorthand syntax remains valid.
|
|
6
|
-
* @example
|
|
7
|
-
* ```typescript
|
|
8
|
-
* const keepShorthand = canUseShorthand(context);
|
|
9
|
-
* ```
|
|
10
|
-
*/
|
|
11
|
-
function canUseShorthand(context) {
|
|
12
|
-
const { baseValue, keyName, needsCast, property } = context;
|
|
13
|
-
return (!needsCast &&
|
|
14
|
-
baseValue.type === TSESTree.AST_NODE_TYPES.Identifier &&
|
|
15
|
-
property.key.type === TSESTree.AST_NODE_TYPES.Identifier &&
|
|
16
|
-
property.key.name === keyName &&
|
|
17
|
-
baseValue.name === keyName);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Resolves the expression returned by the mock factory.
|
|
21
|
-
* @param factoryArgument Mock factory function expression.
|
|
22
|
-
* @returns Returned expression when one is present.
|
|
23
|
-
* @example
|
|
24
|
-
* ```typescript
|
|
25
|
-
* const returnExpression = getFactoryReturnExpression(factoryArgument);
|
|
26
|
-
* ```
|
|
27
|
-
*/
|
|
28
|
-
function getFactoryReturnExpression(factoryArgument) {
|
|
29
|
-
if (factoryArgument.body.type !== TSESTree.AST_NODE_TYPES.BlockStatement) {
|
|
30
|
-
return factoryArgument.body;
|
|
31
|
-
}
|
|
32
|
-
const returnStatement = factoryArgument.body.body.find((statement) => statement.type === TSESTree.AST_NODE_TYPES.ReturnStatement &&
|
|
33
|
-
statement.argument !== null);
|
|
34
|
-
return returnStatement?.argument ?? void 0;
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Extracts the module specifier from a mock call argument.
|
|
38
|
-
* @param moduleArgument Import expression or string literal argument.
|
|
39
|
-
* @returns Static module specifier when it can be determined.
|
|
40
|
-
* @example
|
|
41
|
-
* ```typescript
|
|
42
|
-
* const moduleSpecifier = getModuleSpecifier(moduleArgument);
|
|
43
|
-
* ```
|
|
44
|
-
*/
|
|
45
|
-
function getModuleSpecifier(moduleArgument) {
|
|
46
|
-
if (moduleArgument.type === TSESTree.AST_NODE_TYPES.ImportExpression) {
|
|
47
|
-
const { source } = moduleArgument;
|
|
48
|
-
if (source.type === TSESTree.AST_NODE_TYPES.Literal &&
|
|
49
|
-
typeof source.value === "string") {
|
|
50
|
-
return source.value;
|
|
51
|
-
}
|
|
52
|
-
return void 0;
|
|
53
|
-
}
|
|
54
|
-
return moduleArgument.type === TSESTree.AST_NODE_TYPES.Literal &&
|
|
55
|
-
typeof moduleArgument.value === "string"
|
|
56
|
-
? moduleArgument.value
|
|
57
|
-
: void 0;
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Converts an object property key node into a stable string name.
|
|
61
|
-
* @param propertyKey Property key node from the object literal.
|
|
62
|
-
* @returns Property name when the key is statically known.
|
|
63
|
-
* @example
|
|
64
|
-
* ```typescript
|
|
65
|
-
* const propertyName = getPropertyName(property.key);
|
|
66
|
-
* ```
|
|
67
|
-
*/
|
|
68
|
-
function getPropertyName(propertyKey) {
|
|
69
|
-
if (propertyKey.type === TSESTree.AST_NODE_TYPES.Identifier) {
|
|
70
|
-
return propertyKey.name;
|
|
71
|
-
}
|
|
72
|
-
if (propertyKey.type === TSESTree.AST_NODE_TYPES.Literal) {
|
|
73
|
-
return typeof propertyKey.value === "string" ||
|
|
74
|
-
typeof propertyKey.value === "number"
|
|
75
|
-
? String(propertyKey.value)
|
|
76
|
-
: void 0;
|
|
77
|
-
}
|
|
78
|
-
return void 0;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Narrows object literal elements to the subset the fixer can rewrite safely.
|
|
82
|
-
* @param property Object literal element to inspect.
|
|
83
|
-
* @returns True when the property is supported by the fixer.
|
|
84
|
-
* @example
|
|
85
|
-
* ```typescript
|
|
86
|
-
* const supported = isSupportedProperty(property);
|
|
87
|
-
* ```
|
|
88
|
-
*/
|
|
89
|
-
function isSupportedProperty(property) {
|
|
90
|
-
return (property.type === TSESTree.AST_NODE_TYPES.Property &&
|
|
91
|
-
!property.computed &&
|
|
92
|
-
property.kind === "init" &&
|
|
93
|
-
!property.method &&
|
|
94
|
-
property.value.type !== TSESTree.AST_NODE_TYPES.AssignmentPattern);
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Detects `vi.mock(...)` and `vi.doMock(...)` calls.
|
|
98
|
-
* @param node Call expression being inspected.
|
|
99
|
-
* @returns True when the call targets a Vitest mock factory.
|
|
100
|
-
* @example
|
|
101
|
-
* ```typescript
|
|
102
|
-
* const isMockCall = isVitestMockCall(callExpression);
|
|
103
|
-
* ```
|
|
104
|
-
*/
|
|
105
|
-
function isVitestMockCall(node) {
|
|
106
|
-
if (node.callee.type !== TSESTree.AST_NODE_TYPES.MemberExpression) {
|
|
107
|
-
return false;
|
|
108
|
-
}
|
|
109
|
-
const { object, property } = node.callee;
|
|
110
|
-
return (object.type === TSESTree.AST_NODE_TYPES.Identifier &&
|
|
111
|
-
object.name === "vi" &&
|
|
112
|
-
property.type === TSESTree.AST_NODE_TYPES.Identifier &&
|
|
113
|
-
(property.name === "mock" || property.name === "doMock"));
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Determines whether the fixed object literal must be parenthesized.
|
|
117
|
-
* @param factoryArgument Mock factory function expression.
|
|
118
|
-
* @param returnExpression Expression returned by the factory.
|
|
119
|
-
* @param objectExpression Object literal being rewritten.
|
|
120
|
-
* @returns True when parentheses are required around the object literal.
|
|
121
|
-
* @example
|
|
122
|
-
* ```typescript
|
|
123
|
-
* const wrapObject = shouldWrapImplicitObject(factoryArgument, returnExpression, objectExpression);
|
|
124
|
-
* ```
|
|
125
|
-
*/
|
|
126
|
-
function shouldWrapImplicitObject(factoryArgument, returnExpression, objectExpression) {
|
|
127
|
-
return (factoryArgument.body.type !== TSESTree.AST_NODE_TYPES.BlockStatement &&
|
|
128
|
-
(returnExpression.range[0] !== objectExpression.range[0] ||
|
|
129
|
-
returnExpression.range[1] !== objectExpression.range[1]));
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Removes surrounding cast wrappers from an expression.
|
|
133
|
-
* @param expression Expression to unwrap.
|
|
134
|
-
* @returns The innermost non-cast expression.
|
|
135
|
-
* @example
|
|
136
|
-
* ```typescript
|
|
137
|
-
* const baseExpression = unwrapExpression(expression);
|
|
138
|
-
* ```
|
|
139
|
-
*/
|
|
140
|
-
function unwrapExpression(expression) {
|
|
141
|
-
let currentExpression = expression;
|
|
142
|
-
while (currentExpression.type === TSESTree.AST_NODE_TYPES.TSAsExpression ||
|
|
143
|
-
currentExpression.type === TSESTree.AST_NODE_TYPES.TSSatisfiesExpression ||
|
|
144
|
-
currentExpression.type === TSESTree.AST_NODE_TYPES.TSTypeAssertion) {
|
|
145
|
-
currentExpression = currentExpression.expression;
|
|
146
|
-
}
|
|
147
|
-
return currentExpression;
|
|
148
|
-
}
|
|
149
|
-
export { canUseShorthand, getFactoryReturnExpression, getModuleSpecifier, getPropertyName, isSupportedProperty, isVitestMockCall, shouldWrapImplicitObject, unwrapExpression, };
|
|
150
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN0LWhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvcHJlZmVyLXZpdGVzdC1pbmNyZW1lbnRhbC1jYXN0cy9hc3QtaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJcEQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGVBQWUsQ0FBQyxPQUF5QjtJQUNoRCxNQUFNLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBRTVELE9BQU8sQ0FDTCxDQUFDLFNBQVM7UUFDVixTQUFTLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxjQUFjLENBQUMsVUFBVTtRQUNyRCxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDLFVBQVU7UUFDeEQsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEtBQUssT0FBTztRQUM3QixTQUFTLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FDM0IsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsMEJBQTBCLENBQ2pDLGVBRStCO0lBRS9CLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGNBQWMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN6RSxPQUFPLGVBQWUsQ0FBQyxJQUFJLENBQUM7SUFDOUIsQ0FBQztJQUVELE1BQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDcEQsQ0FBQyxTQUFTLEVBQXlDLEVBQUUsQ0FDbkQsU0FBUyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDLGVBQWU7UUFDMUQsU0FBUyxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQzlCLENBQUM7SUFFRixPQUFPLGVBQWUsRUFBRSxRQUFRLElBQUksS0FBSyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxrQkFBa0IsQ0FDekIsY0FBbUM7SUFFbkMsSUFBSSxjQUFjLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxjQUFjLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNyRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsY0FBYyxDQUFDO1FBRWxDLElBQ0UsTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDLE9BQU87WUFDL0MsT0FBTyxNQUFNLENBQUMsS0FBSyxLQUFLLFFBQVEsRUFDaEMsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQztRQUN0QixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTyxjQUFjLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxjQUFjLENBQUMsT0FBTztRQUM1RCxPQUFPLGNBQWMsQ0FBQyxLQUFLLEtBQUssUUFBUTtRQUN4QyxDQUFDLENBQUMsY0FBYyxDQUFDLEtBQUs7UUFDdEIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2IsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxlQUFlLENBQ3RCLFdBQWtDO0lBRWxDLElBQUksV0FBVyxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzVELE9BQU8sV0FBVyxDQUFDLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDekQsT0FBTyxPQUFPLFdBQVcsQ0FBQyxLQUFLLEtBQUssUUFBUTtZQUMxQyxPQUFPLFdBQVcsQ0FBQyxLQUFLLEtBQUssUUFBUTtZQUNyQyxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7WUFDM0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELE9BQU8sS0FBSyxDQUFDLENBQUM7QUFDaEIsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxtQkFBbUIsQ0FDMUIsUUFBdUM7SUFFdkMsT0FBTyxDQUNMLFFBQVEsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGNBQWMsQ0FBQyxRQUFRO1FBQ2xELENBQUMsUUFBUSxDQUFDLFFBQVE7UUFDbEIsUUFBUSxDQUFDLElBQUksS0FBSyxNQUFNO1FBQ3hCLENBQUMsUUFBUSxDQUFDLE1BQU07UUFDaEIsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGNBQWMsQ0FBQyxpQkFBaUIsQ0FDbEUsQ0FBQztBQUNKLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsZ0JBQWdCLENBQUMsSUFBNkI7SUFDckQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDbEUsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsTUFBTSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBRXpDLE9BQU8sQ0FDTCxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxjQUFjLENBQUMsVUFBVTtRQUNsRCxNQUFNLENBQUMsSUFBSSxLQUFLLElBQUk7UUFDcEIsUUFBUSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDLFVBQVU7UUFDcEQsQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLE1BQU0sSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUN6RCxDQUFDO0FBQ0osQ0FBQztBQUVEOzs7Ozs7Ozs7O0dBVUc7QUFDSCxTQUFTLHdCQUF3QixDQUMvQixlQUUrQixFQUMvQixnQkFBcUMsRUFDckMsZ0JBQTJDO0lBRTNDLE9BQU8sQ0FDTCxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDLGNBQWM7UUFDcEUsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUN0RCxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQzNELENBQUM7QUFDSixDQUFDO0FBRUQ7Ozs7Ozs7O0dBUUc7QUFDSCxTQUFTLGdCQUFnQixDQUN2QixVQUErQjtJQUUvQixJQUFJLGlCQUFpQixHQUFHLFVBQVUsQ0FBQztJQUVuQyxPQUNFLGlCQUFpQixDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDLGNBQWM7UUFDakUsaUJBQWlCLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxjQUFjLENBQUMscUJBQXFCO1FBQ3hFLGlCQUFpQixDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsY0FBYyxDQUFDLGVBQWUsRUFDbEUsQ0FBQztRQUNELGlCQUFpQixHQUFHLGlCQUFpQixDQUFDLFVBQVUsQ0FBQztJQUNuRCxDQUFDO0lBRUQsT0FBTyxpQkFBaUIsQ0FBQztBQUMzQixDQUFDO0FBRUQsT0FBTyxFQUNMLGVBQWUsRUFDZiwwQkFBMEIsRUFDMUIsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDZixtQkFBbUIsRUFDbkIsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN4QixnQkFBZ0IsR0FDakIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRTRVNUcmVlIH0gZnJvbSBcIkB0eXBlc2NyaXB0LWVzbGludC91dGlsc1wiO1xyXG5cclxuaW1wb3J0IHR5cGUgeyBTaG9ydGhhbmRDb250ZXh0LCBTdXBwb3J0ZWRQcm9wZXJ0eSB9IGZyb20gXCIuL3R5cGVzXCI7XHJcblxyXG4vKipcclxuICogQ2hlY2tzIHdoZXRoZXIgYSBwcm9wZXJ0eSBjYW4gcmVtYWluIGluIHNob3J0aGFuZCBmb3JtIGFmdGVyIHJlcGxhY2VtZW50LlxyXG4gKiBAcGFyYW0gY29udGV4dCBQcm9wZXJ0eSBzaG9ydGhhbmQgZGVjaXNpb24gY29udGV4dC5cclxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHNob3J0aGFuZCBzeW50YXggcmVtYWlucyB2YWxpZC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBrZWVwU2hvcnRoYW5kID0gY2FuVXNlU2hvcnRoYW5kKGNvbnRleHQpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGNhblVzZVNob3J0aGFuZChjb250ZXh0OiBTaG9ydGhhbmRDb250ZXh0KTogYm9vbGVhbiB7XHJcbiAgY29uc3QgeyBiYXNlVmFsdWUsIGtleU5hbWUsIG5lZWRzQ2FzdCwgcHJvcGVydHkgfSA9IGNvbnRleHQ7XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICAhbmVlZHNDYXN0ICYmXHJcbiAgICBiYXNlVmFsdWUudHlwZSA9PT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuSWRlbnRpZmllciAmJlxyXG4gICAgcHJvcGVydHkua2V5LnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLklkZW50aWZpZXIgJiZcclxuICAgIHByb3BlcnR5LmtleS5uYW1lID09PSBrZXlOYW1lICYmXHJcbiAgICBiYXNlVmFsdWUubmFtZSA9PT0ga2V5TmFtZVxyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXNvbHZlcyB0aGUgZXhwcmVzc2lvbiByZXR1cm5lZCBieSB0aGUgbW9jayBmYWN0b3J5LlxyXG4gKiBAcGFyYW0gZmFjdG9yeUFyZ3VtZW50IE1vY2sgZmFjdG9yeSBmdW5jdGlvbiBleHByZXNzaW9uLlxyXG4gKiBAcmV0dXJucyBSZXR1cm5lZCBleHByZXNzaW9uIHdoZW4gb25lIGlzIHByZXNlbnQuXHJcbiAqIEBleGFtcGxlXHJcbiAqIGBgYHR5cGVzY3JpcHRcclxuICogY29uc3QgcmV0dXJuRXhwcmVzc2lvbiA9IGdldEZhY3RvcnlSZXR1cm5FeHByZXNzaW9uKGZhY3RvcnlBcmd1bWVudCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0RmFjdG9yeVJldHVybkV4cHJlc3Npb24oXHJcbiAgZmFjdG9yeUFyZ3VtZW50OlxyXG4gICAgfCBUU0VTVHJlZS5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblxyXG4gICAgfCBUU0VTVHJlZS5GdW5jdGlvbkV4cHJlc3Npb24sXHJcbik6IFRTRVNUcmVlLkV4cHJlc3Npb24gfCB1bmRlZmluZWQge1xyXG4gIGlmIChmYWN0b3J5QXJndW1lbnQuYm9keS50eXBlICE9PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5CbG9ja1N0YXRlbWVudCkge1xyXG4gICAgcmV0dXJuIGZhY3RvcnlBcmd1bWVudC5ib2R5O1xyXG4gIH1cclxuXHJcbiAgY29uc3QgcmV0dXJuU3RhdGVtZW50ID0gZmFjdG9yeUFyZ3VtZW50LmJvZHkuYm9keS5maW5kKFxyXG4gICAgKHN0YXRlbWVudCk6IHN0YXRlbWVudCBpcyBUU0VTVHJlZS5SZXR1cm5TdGF0ZW1lbnQgPT5cclxuICAgICAgc3RhdGVtZW50LnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLlJldHVyblN0YXRlbWVudCAmJlxyXG4gICAgICBzdGF0ZW1lbnQuYXJndW1lbnQgIT09IG51bGwsXHJcbiAgKTtcclxuXHJcbiAgcmV0dXJuIHJldHVyblN0YXRlbWVudD8uYXJndW1lbnQgPz8gdm9pZCAwO1xyXG59XHJcblxyXG4vKipcclxuICogRXh0cmFjdHMgdGhlIG1vZHVsZSBzcGVjaWZpZXIgZnJvbSBhIG1vY2sgY2FsbCBhcmd1bWVudC5cclxuICogQHBhcmFtIG1vZHVsZUFyZ3VtZW50IEltcG9ydCBleHByZXNzaW9uIG9yIHN0cmluZyBsaXRlcmFsIGFyZ3VtZW50LlxyXG4gKiBAcmV0dXJucyBTdGF0aWMgbW9kdWxlIHNwZWNpZmllciB3aGVuIGl0IGNhbiBiZSBkZXRlcm1pbmVkLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IG1vZHVsZVNwZWNpZmllciA9IGdldE1vZHVsZVNwZWNpZmllcihtb2R1bGVBcmd1bWVudCk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gZ2V0TW9kdWxlU3BlY2lmaWVyKFxyXG4gIG1vZHVsZUFyZ3VtZW50OiBUU0VTVHJlZS5FeHByZXNzaW9uLFxyXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gIGlmIChtb2R1bGVBcmd1bWVudC50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5JbXBvcnRFeHByZXNzaW9uKSB7XHJcbiAgICBjb25zdCB7IHNvdXJjZSB9ID0gbW9kdWxlQXJndW1lbnQ7XHJcblxyXG4gICAgaWYgKFxyXG4gICAgICBzb3VyY2UudHlwZSA9PT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuTGl0ZXJhbCAmJlxyXG4gICAgICB0eXBlb2Ygc291cmNlLnZhbHVlID09PSBcInN0cmluZ1wiXHJcbiAgICApIHtcclxuICAgICAgcmV0dXJuIHNvdXJjZS52YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG1vZHVsZUFyZ3VtZW50LnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLkxpdGVyYWwgJiZcclxuICAgIHR5cGVvZiBtb2R1bGVBcmd1bWVudC52YWx1ZSA9PT0gXCJzdHJpbmdcIlxyXG4gICAgPyBtb2R1bGVBcmd1bWVudC52YWx1ZVxyXG4gICAgOiB2b2lkIDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDb252ZXJ0cyBhbiBvYmplY3QgcHJvcGVydHkga2V5IG5vZGUgaW50byBhIHN0YWJsZSBzdHJpbmcgbmFtZS5cclxuICogQHBhcmFtIHByb3BlcnR5S2V5IFByb3BlcnR5IGtleSBub2RlIGZyb20gdGhlIG9iamVjdCBsaXRlcmFsLlxyXG4gKiBAcmV0dXJucyBQcm9wZXJ0eSBuYW1lIHdoZW4gdGhlIGtleSBpcyBzdGF0aWNhbGx5IGtub3duLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHByb3BlcnR5TmFtZSA9IGdldFByb3BlcnR5TmFtZShwcm9wZXJ0eS5rZXkpO1xyXG4gKiBgYGBcclxuICovXHJcbmZ1bmN0aW9uIGdldFByb3BlcnR5TmFtZShcclxuICBwcm9wZXJ0eUtleTogVFNFU1RyZWUuUHJvcGVydHlOYW1lLFxyXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xyXG4gIGlmIChwcm9wZXJ0eUtleS50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5JZGVudGlmaWVyKSB7XHJcbiAgICByZXR1cm4gcHJvcGVydHlLZXkubmFtZTtcclxuICB9XHJcblxyXG4gIGlmIChwcm9wZXJ0eUtleS50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5MaXRlcmFsKSB7XHJcbiAgICByZXR1cm4gdHlwZW9mIHByb3BlcnR5S2V5LnZhbHVlID09PSBcInN0cmluZ1wiIHx8XHJcbiAgICAgIHR5cGVvZiBwcm9wZXJ0eUtleS52YWx1ZSA9PT0gXCJudW1iZXJcIlxyXG4gICAgICA/IFN0cmluZyhwcm9wZXJ0eUtleS52YWx1ZSlcclxuICAgICAgOiB2b2lkIDA7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdm9pZCAwO1xyXG59XHJcblxyXG4vKipcclxuICogTmFycm93cyBvYmplY3QgbGl0ZXJhbCBlbGVtZW50cyB0byB0aGUgc3Vic2V0IHRoZSBmaXhlciBjYW4gcmV3cml0ZSBzYWZlbHkuXHJcbiAqIEBwYXJhbSBwcm9wZXJ0eSBPYmplY3QgbGl0ZXJhbCBlbGVtZW50IHRvIGluc3BlY3QuXHJcbiAqIEByZXR1cm5zIFRydWUgd2hlbiB0aGUgcHJvcGVydHkgaXMgc3VwcG9ydGVkIGJ5IHRoZSBmaXhlci5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBzdXBwb3J0ZWQgPSBpc1N1cHBvcnRlZFByb3BlcnR5KHByb3BlcnR5KTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBpc1N1cHBvcnRlZFByb3BlcnR5KFxyXG4gIHByb3BlcnR5OiBUU0VTVHJlZS5PYmplY3RMaXRlcmFsRWxlbWVudCxcclxuKTogcHJvcGVydHkgaXMgU3VwcG9ydGVkUHJvcGVydHkge1xyXG4gIHJldHVybiAoXHJcbiAgICBwcm9wZXJ0eS50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5Qcm9wZXJ0eSAmJlxyXG4gICAgIXByb3BlcnR5LmNvbXB1dGVkICYmXHJcbiAgICBwcm9wZXJ0eS5raW5kID09PSBcImluaXRcIiAmJlxyXG4gICAgIXByb3BlcnR5Lm1ldGhvZCAmJlxyXG4gICAgcHJvcGVydHkudmFsdWUudHlwZSAhPT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuQXNzaWdubWVudFBhdHRlcm5cclxuICApO1xyXG59XHJcblxyXG4vKipcclxuICogRGV0ZWN0cyBgdmkubW9jayguLi4pYCBhbmQgYHZpLmRvTW9jayguLi4pYCBjYWxscy5cclxuICogQHBhcmFtIG5vZGUgQ2FsbCBleHByZXNzaW9uIGJlaW5nIGluc3BlY3RlZC5cclxuICogQHJldHVybnMgVHJ1ZSB3aGVuIHRoZSBjYWxsIHRhcmdldHMgYSBWaXRlc3QgbW9jayBmYWN0b3J5LlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IGlzTW9ja0NhbGwgPSBpc1ZpdGVzdE1vY2tDYWxsKGNhbGxFeHByZXNzaW9uKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBpc1ZpdGVzdE1vY2tDYWxsKG5vZGU6IFRTRVNUcmVlLkNhbGxFeHByZXNzaW9uKTogYm9vbGVhbiB7XHJcbiAgaWYgKG5vZGUuY2FsbGVlLnR5cGUgIT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLk1lbWJlckV4cHJlc3Npb24pIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGNvbnN0IHsgb2JqZWN0LCBwcm9wZXJ0eSB9ID0gbm9kZS5jYWxsZWU7XHJcblxyXG4gIHJldHVybiAoXHJcbiAgICBvYmplY3QudHlwZSA9PT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuSWRlbnRpZmllciAmJlxyXG4gICAgb2JqZWN0Lm5hbWUgPT09IFwidmlcIiAmJlxyXG4gICAgcHJvcGVydHkudHlwZSA9PT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuSWRlbnRpZmllciAmJlxyXG4gICAgKHByb3BlcnR5Lm5hbWUgPT09IFwibW9ja1wiIHx8IHByb3BlcnR5Lm5hbWUgPT09IFwiZG9Nb2NrXCIpXHJcbiAgKTtcclxufVxyXG5cclxuLyoqXHJcbiAqIERldGVybWluZXMgd2hldGhlciB0aGUgZml4ZWQgb2JqZWN0IGxpdGVyYWwgbXVzdCBiZSBwYXJlbnRoZXNpemVkLlxyXG4gKiBAcGFyYW0gZmFjdG9yeUFyZ3VtZW50IE1vY2sgZmFjdG9yeSBmdW5jdGlvbiBleHByZXNzaW9uLlxyXG4gKiBAcGFyYW0gcmV0dXJuRXhwcmVzc2lvbiBFeHByZXNzaW9uIHJldHVybmVkIGJ5IHRoZSBmYWN0b3J5LlxyXG4gKiBAcGFyYW0gb2JqZWN0RXhwcmVzc2lvbiBPYmplY3QgbGl0ZXJhbCBiZWluZyByZXdyaXR0ZW4uXHJcbiAqIEByZXR1cm5zIFRydWUgd2hlbiBwYXJlbnRoZXNlcyBhcmUgcmVxdWlyZWQgYXJvdW5kIHRoZSBvYmplY3QgbGl0ZXJhbC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCB3cmFwT2JqZWN0ID0gc2hvdWxkV3JhcEltcGxpY2l0T2JqZWN0KGZhY3RvcnlBcmd1bWVudCwgcmV0dXJuRXhwcmVzc2lvbiwgb2JqZWN0RXhwcmVzc2lvbik7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gc2hvdWxkV3JhcEltcGxpY2l0T2JqZWN0KFxyXG4gIGZhY3RvcnlBcmd1bWVudDpcclxuICAgIHwgVFNFU1RyZWUuQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cclxuICAgIHwgVFNFU1RyZWUuRnVuY3Rpb25FeHByZXNzaW9uLFxyXG4gIHJldHVybkV4cHJlc3Npb246IFRTRVNUcmVlLkV4cHJlc3Npb24sXHJcbiAgb2JqZWN0RXhwcmVzc2lvbjogVFNFU1RyZWUuT2JqZWN0RXhwcmVzc2lvbixcclxuKTogYm9vbGVhbiB7XHJcbiAgcmV0dXJuIChcclxuICAgIGZhY3RvcnlBcmd1bWVudC5ib2R5LnR5cGUgIT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLkJsb2NrU3RhdGVtZW50ICYmXHJcbiAgICAocmV0dXJuRXhwcmVzc2lvbi5yYW5nZVswXSAhPT0gb2JqZWN0RXhwcmVzc2lvbi5yYW5nZVswXSB8fFxyXG4gICAgICByZXR1cm5FeHByZXNzaW9uLnJhbmdlWzFdICE9PSBvYmplY3RFeHByZXNzaW9uLnJhbmdlWzFdKVxyXG4gICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZW1vdmVzIHN1cnJvdW5kaW5nIGNhc3Qgd3JhcHBlcnMgZnJvbSBhbiBleHByZXNzaW9uLlxyXG4gKiBAcGFyYW0gZXhwcmVzc2lvbiBFeHByZXNzaW9uIHRvIHVud3JhcC5cclxuICogQHJldHVybnMgVGhlIGlubmVybW9zdCBub24tY2FzdCBleHByZXNzaW9uLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IGJhc2VFeHByZXNzaW9uID0gdW53cmFwRXhwcmVzc2lvbihleHByZXNzaW9uKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiB1bndyYXBFeHByZXNzaW9uKFxyXG4gIGV4cHJlc3Npb246IFRTRVNUcmVlLkV4cHJlc3Npb24sXHJcbik6IFRTRVNUcmVlLkV4cHJlc3Npb24ge1xyXG4gIGxldCBjdXJyZW50RXhwcmVzc2lvbiA9IGV4cHJlc3Npb247XHJcblxyXG4gIHdoaWxlIChcclxuICAgIGN1cnJlbnRFeHByZXNzaW9uLnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLlRTQXNFeHByZXNzaW9uIHx8XHJcbiAgICBjdXJyZW50RXhwcmVzc2lvbi50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5UU1NhdGlzZmllc0V4cHJlc3Npb24gfHxcclxuICAgIGN1cnJlbnRFeHByZXNzaW9uLnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLlRTVHlwZUFzc2VydGlvblxyXG4gICkge1xyXG4gICAgY3VycmVudEV4cHJlc3Npb24gPSBjdXJyZW50RXhwcmVzc2lvbi5leHByZXNzaW9uO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGN1cnJlbnRFeHByZXNzaW9uO1xyXG59XHJcblxyXG5leHBvcnQge1xyXG4gIGNhblVzZVNob3J0aGFuZCxcclxuICBnZXRGYWN0b3J5UmV0dXJuRXhwcmVzc2lvbixcclxuICBnZXRNb2R1bGVTcGVjaWZpZXIsXHJcbiAgZ2V0UHJvcGVydHlOYW1lLFxyXG4gIGlzU3VwcG9ydGVkUHJvcGVydHksXHJcbiAgaXNWaXRlc3RNb2NrQ2FsbCxcclxuICBzaG91bGRXcmFwSW1wbGljaXRPYmplY3QsXHJcbiAgdW53cmFwRXhwcmVzc2lvbixcclxufTtcclxuIl19
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vitest-incremental-casts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export { preferVitestIncrementalCastsRule } from "./rule.js";
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvcHJlZmVyLXZpdGVzdC1pbmNyZW1lbnRhbC1jYXN0cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBwcmVmZXJWaXRlc3RJbmNyZW1lbnRhbENhc3RzUnVsZSB9IGZyb20gXCIuL3J1bGVcIjtcbiJdfQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { TSESTree } from "@typescript-eslint/utils";
|
|
2
|
-
import type { FactoryMatchInput } from "./types.js";
|
|
3
|
-
/**
|
|
4
|
-
* Extracts the mock-factory inputs needed for a rewrite attempt.
|
|
5
|
-
* @param callExpression Call expression to inspect.
|
|
6
|
-
* @returns Normalized factory input when the call is supported.
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* const factoryInput = getFactoryMatchInput(callExpression);
|
|
10
|
-
* ```
|
|
11
|
-
*/
|
|
12
|
-
declare function getFactoryMatchInput(callExpression: TSESTree.CallExpression): FactoryMatchInput | undefined;
|
|
13
|
-
export { getFactoryMatchInput };
|
|
14
|
-
//# sourceMappingURL=match-input.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"match-input.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vitest-incremental-casts/match-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,KAAK,EAEV,iBAAiB,EAElB,MAAM,SAAS,CAAC;AAyCjB;;;;;;;;GAQG;AACH,iBAAS,oBAAoB,CAC3B,cAAc,EAAE,QAAQ,CAAC,cAAc,GACtC,iBAAiB,GAAG,SAAS,CAU/B;AA+CD,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { TSESTree } from "@typescript-eslint/utils";
|
|
2
|
-
import { getFactoryReturnExpression, getModuleSpecifier, isVitestMockCall, unwrapExpression, } from "./ast-helpers.js";
|
|
3
|
-
/**
|
|
4
|
-
* Builds normalized match input from a supported factory call.
|
|
5
|
-
* @param mockArguments Supported mock-call arguments.
|
|
6
|
-
* @returns Normalized factory input when the returned value is an object literal.
|
|
7
|
-
* @example
|
|
8
|
-
* ```typescript
|
|
9
|
-
* const factoryInput = buildFactoryMatchInput(mockArguments);
|
|
10
|
-
* ```
|
|
11
|
-
*/
|
|
12
|
-
function buildFactoryMatchInput(mockArguments) {
|
|
13
|
-
const { factoryArgument, moduleArgument } = mockArguments;
|
|
14
|
-
const moduleSpecifier = getModuleSpecifier(moduleArgument);
|
|
15
|
-
const returnExpression = getFactoryReturnExpression(factoryArgument);
|
|
16
|
-
if (moduleSpecifier === void 0 || returnExpression === void 0) {
|
|
17
|
-
return void 0;
|
|
18
|
-
}
|
|
19
|
-
const objectExpression = unwrapExpression(returnExpression);
|
|
20
|
-
return objectExpression.type === TSESTree.AST_NODE_TYPES.ObjectExpression
|
|
21
|
-
? {
|
|
22
|
-
factoryArgument,
|
|
23
|
-
moduleSpecifier,
|
|
24
|
-
objectExpression,
|
|
25
|
-
returnExpression,
|
|
26
|
-
}
|
|
27
|
-
: void 0;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Extracts the mock-factory inputs needed for a rewrite attempt.
|
|
31
|
-
* @param callExpression Call expression to inspect.
|
|
32
|
-
* @returns Normalized factory input when the call is supported.
|
|
33
|
-
* @example
|
|
34
|
-
* ```typescript
|
|
35
|
-
* const factoryInput = getFactoryMatchInput(callExpression);
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
function getFactoryMatchInput(callExpression) {
|
|
39
|
-
if (!isVitestMockCall(callExpression)) {
|
|
40
|
-
return void 0;
|
|
41
|
-
}
|
|
42
|
-
const mockArguments = getMockFactoryArguments(callExpression.arguments);
|
|
43
|
-
return mockArguments === void 0
|
|
44
|
-
? void 0
|
|
45
|
-
: buildFactoryMatchInput(mockArguments);
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Extracts valid mock-factory arguments from a call expression.
|
|
49
|
-
* @param argumentsList Arguments supplied to the mock call.
|
|
50
|
-
* @returns Normalized arguments when the call shape is supported.
|
|
51
|
-
* @example
|
|
52
|
-
* ```typescript
|
|
53
|
-
* const mockArguments = getMockFactoryArguments(callExpression.arguments);
|
|
54
|
-
* ```
|
|
55
|
-
*/
|
|
56
|
-
function getMockFactoryArguments(argumentsList) {
|
|
57
|
-
const [moduleArgument, factoryArgument] = argumentsList;
|
|
58
|
-
if (moduleArgument === void 0 ||
|
|
59
|
-
factoryArgument === void 0 ||
|
|
60
|
-
moduleArgument.type === TSESTree.AST_NODE_TYPES.SpreadElement ||
|
|
61
|
-
factoryArgument.type === TSESTree.AST_NODE_TYPES.SpreadElement ||
|
|
62
|
-
!isFactoryFunctionExpression(factoryArgument)) {
|
|
63
|
-
return void 0;
|
|
64
|
-
}
|
|
65
|
-
return { factoryArgument, moduleArgument };
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Determines whether an expression is a supported mock factory function.
|
|
69
|
-
* @param expression Expression to inspect.
|
|
70
|
-
* @returns True when the expression is a function compatible with the fixer.
|
|
71
|
-
* @example
|
|
72
|
-
* ```typescript
|
|
73
|
-
* const supported = isFactoryFunctionExpression(expression);
|
|
74
|
-
* ```
|
|
75
|
-
*/
|
|
76
|
-
function isFactoryFunctionExpression(expression) {
|
|
77
|
-
return (expression.type === TSESTree.AST_NODE_TYPES.ArrowFunctionExpression ||
|
|
78
|
-
expression.type === TSESTree.AST_NODE_TYPES.FunctionExpression);
|
|
79
|
-
}
|
|
80
|
-
export { getFactoryMatchInput };
|
|
81
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0Y2gtaW5wdXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvZG9tYWluL3Rlc3RpbmcvcHJlZmVyLXZpdGVzdC1pbmNyZW1lbnRhbC1jYXN0cy9tYXRjaC1pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFRcEQsT0FBTyxFQUNMLDBCQUEwQixFQUMxQixrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2Qjs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsc0JBQXNCLENBQzdCLGFBQW1DO0lBRW5DLE1BQU0sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLEdBQUcsYUFBYSxDQUFDO0lBQzFELE1BQU0sZUFBZSxHQUFHLGtCQUFrQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzNELE1BQU0sZ0JBQWdCLEdBQUcsMEJBQTBCLENBQUMsZUFBZSxDQUFDLENBQUM7SUFFckUsSUFBSSxlQUFlLEtBQUssS0FBSyxDQUFDLElBQUksZ0JBQWdCLEtBQUssS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM5RCxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFFNUQsT0FBTyxnQkFBZ0IsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0I7UUFDdkUsQ0FBQyxDQUFDO1lBQ0UsZUFBZTtZQUNmLGVBQWU7WUFDZixnQkFBZ0I7WUFDaEIsZ0JBQWdCO1NBQ2pCO1FBQ0gsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2IsQ0FBQztBQUVEOzs7Ozs7OztHQVFHO0FBQ0gsU0FBUyxvQkFBb0IsQ0FDM0IsY0FBdUM7SUFFdkMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUM7UUFDdEMsT0FBTyxLQUFLLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxhQUFhLEdBQUcsdUJBQXVCLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXhFLE9BQU8sYUFBYSxLQUFLLEtBQUssQ0FBQztRQUM3QixDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ1IsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsdUJBQXVCLENBQzlCLGFBQXlEO0lBRXpELE1BQU0sQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDLEdBQUcsYUFBYSxDQUFDO0lBRXhELElBQ0UsY0FBYyxLQUFLLEtBQUssQ0FBQztRQUN6QixlQUFlLEtBQUssS0FBSyxDQUFDO1FBQzFCLGNBQWMsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGNBQWMsQ0FBQyxhQUFhO1FBQzdELGVBQWUsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGNBQWMsQ0FBQyxhQUFhO1FBQzlELENBQUMsMkJBQTJCLENBQUMsZUFBZSxDQUFDLEVBQzdDLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxDQUFDO0FBQzdDLENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQVMsMkJBQTJCLENBQ2xDLFVBQStCO0lBRS9CLE9BQU8sQ0FDTCxVQUFVLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxjQUFjLENBQUMsdUJBQXVCO1FBQ25FLFVBQVUsQ0FBQyxJQUFJLEtBQUssUUFBUSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FDL0QsQ0FBQztBQUNKLENBQUM7QUFFRCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRTRVNUcmVlIH0gZnJvbSBcIkB0eXBlc2NyaXB0LWVzbGludC91dGlsc1wiO1xyXG5cclxuaW1wb3J0IHR5cGUge1xyXG4gIEZhY3RvcnlGdW5jdGlvbkV4cHJlc3Npb24sXHJcbiAgRmFjdG9yeU1hdGNoSW5wdXQsXHJcbiAgTW9ja0ZhY3RvcnlBcmd1bWVudHMsXHJcbn0gZnJvbSBcIi4vdHlwZXNcIjtcclxuXHJcbmltcG9ydCB7XHJcbiAgZ2V0RmFjdG9yeVJldHVybkV4cHJlc3Npb24sXHJcbiAgZ2V0TW9kdWxlU3BlY2lmaWVyLFxyXG4gIGlzVml0ZXN0TW9ja0NhbGwsXHJcbiAgdW53cmFwRXhwcmVzc2lvbixcclxufSBmcm9tIFwiLi9hc3QtaGVscGVyc1wiO1xyXG5cclxuLyoqXHJcbiAqIEJ1aWxkcyBub3JtYWxpemVkIG1hdGNoIGlucHV0IGZyb20gYSBzdXBwb3J0ZWQgZmFjdG9yeSBjYWxsLlxyXG4gKiBAcGFyYW0gbW9ja0FyZ3VtZW50cyBTdXBwb3J0ZWQgbW9jay1jYWxsIGFyZ3VtZW50cy5cclxuICogQHJldHVybnMgTm9ybWFsaXplZCBmYWN0b3J5IGlucHV0IHdoZW4gdGhlIHJldHVybmVkIHZhbHVlIGlzIGFuIG9iamVjdCBsaXRlcmFsLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IGZhY3RvcnlJbnB1dCA9IGJ1aWxkRmFjdG9yeU1hdGNoSW5wdXQobW9ja0FyZ3VtZW50cyk7XHJcbiAqIGBgYFxyXG4gKi9cclxuZnVuY3Rpb24gYnVpbGRGYWN0b3J5TWF0Y2hJbnB1dChcclxuICBtb2NrQXJndW1lbnRzOiBNb2NrRmFjdG9yeUFyZ3VtZW50cyxcclxuKTogRmFjdG9yeU1hdGNoSW5wdXQgfCB1bmRlZmluZWQge1xyXG4gIGNvbnN0IHsgZmFjdG9yeUFyZ3VtZW50LCBtb2R1bGVBcmd1bWVudCB9ID0gbW9ja0FyZ3VtZW50cztcclxuICBjb25zdCBtb2R1bGVTcGVjaWZpZXIgPSBnZXRNb2R1bGVTcGVjaWZpZXIobW9kdWxlQXJndW1lbnQpO1xyXG4gIGNvbnN0IHJldHVybkV4cHJlc3Npb24gPSBnZXRGYWN0b3J5UmV0dXJuRXhwcmVzc2lvbihmYWN0b3J5QXJndW1lbnQpO1xyXG5cclxuICBpZiAobW9kdWxlU3BlY2lmaWVyID09PSB2b2lkIDAgfHwgcmV0dXJuRXhwcmVzc2lvbiA9PT0gdm9pZCAwKSB7XHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgY29uc3Qgb2JqZWN0RXhwcmVzc2lvbiA9IHVud3JhcEV4cHJlc3Npb24ocmV0dXJuRXhwcmVzc2lvbik7XHJcblxyXG4gIHJldHVybiBvYmplY3RFeHByZXNzaW9uLnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLk9iamVjdEV4cHJlc3Npb25cclxuICAgID8ge1xyXG4gICAgICAgIGZhY3RvcnlBcmd1bWVudCxcclxuICAgICAgICBtb2R1bGVTcGVjaWZpZXIsXHJcbiAgICAgICAgb2JqZWN0RXhwcmVzc2lvbixcclxuICAgICAgICByZXR1cm5FeHByZXNzaW9uLFxyXG4gICAgICB9XHJcbiAgICA6IHZvaWQgMDtcclxufVxyXG5cclxuLyoqXHJcbiAqIEV4dHJhY3RzIHRoZSBtb2NrLWZhY3RvcnkgaW5wdXRzIG5lZWRlZCBmb3IgYSByZXdyaXRlIGF0dGVtcHQuXHJcbiAqIEBwYXJhbSBjYWxsRXhwcmVzc2lvbiBDYWxsIGV4cHJlc3Npb24gdG8gaW5zcGVjdC5cclxuICogQHJldHVybnMgTm9ybWFsaXplZCBmYWN0b3J5IGlucHV0IHdoZW4gdGhlIGNhbGwgaXMgc3VwcG9ydGVkLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IGZhY3RvcnlJbnB1dCA9IGdldEZhY3RvcnlNYXRjaElucHV0KGNhbGxFeHByZXNzaW9uKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRGYWN0b3J5TWF0Y2hJbnB1dChcclxuICBjYWxsRXhwcmVzc2lvbjogVFNFU1RyZWUuQ2FsbEV4cHJlc3Npb24sXHJcbik6IEZhY3RvcnlNYXRjaElucHV0IHwgdW5kZWZpbmVkIHtcclxuICBpZiAoIWlzVml0ZXN0TW9ja0NhbGwoY2FsbEV4cHJlc3Npb24pKSB7XHJcbiAgICByZXR1cm4gdm9pZCAwO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgbW9ja0FyZ3VtZW50cyA9IGdldE1vY2tGYWN0b3J5QXJndW1lbnRzKGNhbGxFeHByZXNzaW9uLmFyZ3VtZW50cyk7XHJcblxyXG4gIHJldHVybiBtb2NrQXJndW1lbnRzID09PSB2b2lkIDBcclxuICAgID8gdm9pZCAwXHJcbiAgICA6IGJ1aWxkRmFjdG9yeU1hdGNoSW5wdXQobW9ja0FyZ3VtZW50cyk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBFeHRyYWN0cyB2YWxpZCBtb2NrLWZhY3RvcnkgYXJndW1lbnRzIGZyb20gYSBjYWxsIGV4cHJlc3Npb24uXHJcbiAqIEBwYXJhbSBhcmd1bWVudHNMaXN0IEFyZ3VtZW50cyBzdXBwbGllZCB0byB0aGUgbW9jayBjYWxsLlxyXG4gKiBAcmV0dXJucyBOb3JtYWxpemVkIGFyZ3VtZW50cyB3aGVuIHRoZSBjYWxsIHNoYXBlIGlzIHN1cHBvcnRlZC5cclxuICogQGV4YW1wbGVcclxuICogYGBgdHlwZXNjcmlwdFxyXG4gKiBjb25zdCBtb2NrQXJndW1lbnRzID0gZ2V0TW9ja0ZhY3RvcnlBcmd1bWVudHMoY2FsbEV4cHJlc3Npb24uYXJndW1lbnRzKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBnZXRNb2NrRmFjdG9yeUFyZ3VtZW50cyhcclxuICBhcmd1bWVudHNMaXN0OiByZWFkb25seSBUU0VTVHJlZS5DYWxsRXhwcmVzc2lvbkFyZ3VtZW50W10sXHJcbik6IE1vY2tGYWN0b3J5QXJndW1lbnRzIHwgdW5kZWZpbmVkIHtcclxuICBjb25zdCBbbW9kdWxlQXJndW1lbnQsIGZhY3RvcnlBcmd1bWVudF0gPSBhcmd1bWVudHNMaXN0O1xyXG5cclxuICBpZiAoXHJcbiAgICBtb2R1bGVBcmd1bWVudCA9PT0gdm9pZCAwIHx8XHJcbiAgICBmYWN0b3J5QXJndW1lbnQgPT09IHZvaWQgMCB8fFxyXG4gICAgbW9kdWxlQXJndW1lbnQudHlwZSA9PT0gVFNFU1RyZWUuQVNUX05PREVfVFlQRVMuU3ByZWFkRWxlbWVudCB8fFxyXG4gICAgZmFjdG9yeUFyZ3VtZW50LnR5cGUgPT09IFRTRVNUcmVlLkFTVF9OT0RFX1RZUEVTLlNwcmVhZEVsZW1lbnQgfHxcclxuICAgICFpc0ZhY3RvcnlGdW5jdGlvbkV4cHJlc3Npb24oZmFjdG9yeUFyZ3VtZW50KVxyXG4gICkge1xyXG4gICAgcmV0dXJuIHZvaWQgMDtcclxuICB9XHJcblxyXG4gIHJldHVybiB7IGZhY3RvcnlBcmd1bWVudCwgbW9kdWxlQXJndW1lbnQgfTtcclxufVxyXG5cclxuLyoqXHJcbiAqIERldGVybWluZXMgd2hldGhlciBhbiBleHByZXNzaW9uIGlzIGEgc3VwcG9ydGVkIG1vY2sgZmFjdG9yeSBmdW5jdGlvbi5cclxuICogQHBhcmFtIGV4cHJlc3Npb24gRXhwcmVzc2lvbiB0byBpbnNwZWN0LlxyXG4gKiBAcmV0dXJucyBUcnVlIHdoZW4gdGhlIGV4cHJlc3Npb24gaXMgYSBmdW5jdGlvbiBjb21wYXRpYmxlIHdpdGggdGhlIGZpeGVyLlxyXG4gKiBAZXhhbXBsZVxyXG4gKiBgYGB0eXBlc2NyaXB0XHJcbiAqIGNvbnN0IHN1cHBvcnRlZCA9IGlzRmFjdG9yeUZ1bmN0aW9uRXhwcmVzc2lvbihleHByZXNzaW9uKTtcclxuICogYGBgXHJcbiAqL1xyXG5mdW5jdGlvbiBpc0ZhY3RvcnlGdW5jdGlvbkV4cHJlc3Npb24oXHJcbiAgZXhwcmVzc2lvbjogVFNFU1RyZWUuRXhwcmVzc2lvbixcclxuKTogZXhwcmVzc2lvbiBpcyBGYWN0b3J5RnVuY3Rpb25FeHByZXNzaW9uIHtcclxuICByZXR1cm4gKFxyXG4gICAgZXhwcmVzc2lvbi50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiB8fFxyXG4gICAgZXhwcmVzc2lvbi50eXBlID09PSBUU0VTVHJlZS5BU1RfTk9ERV9UWVBFUy5GdW5jdGlvbkV4cHJlc3Npb25cclxuICApO1xyXG59XHJcblxyXG5leHBvcnQgeyBnZXRGYWN0b3J5TWF0Y2hJbnB1dCB9O1xyXG4iXX0=
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { CollectMatchContext, MatchResult } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Collects a fix match for a supported Vitest mock factory call.
|
|
4
|
-
* @param context Match collection context.
|
|
5
|
-
* @returns Match result when the object literal can be safely rewritten.
|
|
6
|
-
* @example
|
|
7
|
-
* ```typescript
|
|
8
|
-
* const match = collectMatch(context);
|
|
9
|
-
* ```
|
|
10
|
-
*/
|
|
11
|
-
declare function collectMatch(context: CollectMatchContext): MatchResult | undefined;
|
|
12
|
-
export { collectMatch };
|
|
13
|
-
//# sourceMappingURL=match.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"match.d.ts","sourceRoot":"","sources":["../../../../src/domain/testing/prefer-vitest-incremental-casts/match.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,mBAAmB,EAEnB,WAAW,EAKZ,MAAM,SAAS,CAAC;AA2GjB;;;;;;;;GAQG;AACH,iBAAS,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,WAAW,GAAG,SAAS,CAyC3E;AA4GD,OAAO,EAAE,YAAY,EAAE,CAAC"}
|