@thethracian/oxlint-config 0.3.5 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/README.md +14 -2
- package/dist/codemods/arrow-body-style.d.ts.map +1 -1
- package/dist/codemods/arrow-body-style.js +13 -1
- package/dist/codemods/arrow-body-style.js.map +1 -1
- package/dist/codemods/explicit-return-types.d.ts.map +1 -1
- package/dist/codemods/explicit-return-types.js +15 -3
- package/dist/codemods/explicit-return-types.js.map +1 -1
- package/dist/codemods/function-declarations.d.ts.map +1 -1
- package/dist/codemods/function-declarations.js +7 -0
- package/dist/codemods/function-declarations.js.map +1 -1
- package/dist/codemods/inline-export-lists.d.ts.map +1 -1
- package/dist/codemods/inline-export-lists.js +17 -3
- package/dist/codemods/inline-export-lists.js.map +1 -1
- package/dist/codemods/internal-export-docs.d.ts.map +1 -1
- package/dist/codemods/internal-export-docs.js +17 -5
- package/dist/codemods/internal-export-docs.js.map +1 -1
- package/dist/codemods/no-ternary-variable-initializers.d.ts.map +1 -1
- package/dist/codemods/no-ternary-variable-initializers.js +24 -14
- package/dist/codemods/no-ternary-variable-initializers.js.map +1 -1
- package/dist/codemods/rename-acronyms.d.ts.map +1 -1
- package/dist/codemods/rename-acronyms.js +31 -1
- package/dist/codemods/rename-acronyms.js.map +1 -1
- package/dist/rules/diagnostic-guidance.d.ts.map +1 -1
- package/dist/rules/diagnostic-guidance.js +26 -2
- package/dist/rules/diagnostic-guidance.js.map +1 -1
- package/dist/rules/effect-alias-canonicalization.d.ts +27 -0
- package/dist/rules/effect-alias-canonicalization.d.ts.map +1 -0
- package/dist/rules/effect-alias-canonicalization.js +60 -0
- package/dist/rules/effect-alias-canonicalization.js.map +1 -0
- package/dist/rules/effect-ast-scope.d.ts +25 -0
- package/dist/rules/effect-ast-scope.d.ts.map +1 -0
- package/dist/rules/effect-ast-scope.js +286 -0
- package/dist/rules/effect-ast-scope.js.map +1 -0
- package/dist/rules/effect-ast.d.ts +42 -0
- package/dist/rules/effect-ast.d.ts.map +1 -0
- package/dist/rules/effect-ast.js +74 -0
- package/dist/rules/effect-ast.js.map +1 -0
- package/dist/rules/effect-boundary-ast-shared.d.ts +42 -0
- package/dist/rules/effect-boundary-ast-shared.d.ts.map +1 -0
- package/dist/rules/effect-boundary-ast-shared.js +203 -0
- package/dist/rules/effect-boundary-ast-shared.js.map +1 -0
- package/dist/rules/effect-default-boundary-ast.d.ts +10 -0
- package/dist/rules/effect-default-boundary-ast.d.ts.map +1 -0
- package/dist/rules/effect-default-boundary-ast.js +320 -0
- package/dist/rules/effect-default-boundary-ast.js.map +1 -0
- package/dist/rules/effect-default-compat-rules.d.ts +11 -15
- package/dist/rules/effect-default-compat-rules.d.ts.map +1 -1
- package/dist/rules/effect-default-compat-rules.js +20 -0
- package/dist/rules/effect-default-compat-rules.js.map +1 -1
- package/dist/rules/effect-default-scan-helpers.js +1 -1
- package/dist/rules/effect-default-scan-helpers.js.map +1 -1
- package/dist/rules/effect-default-workflow-helpers.d.ts.map +1 -1
- package/dist/rules/effect-default-workflow-helpers.js +7 -29
- package/dist/rules/effect-default-workflow-helpers.js.map +1 -1
- package/dist/rules/effect-default.d.ts +4 -1
- package/dist/rules/effect-default.d.ts.map +1 -1
- package/dist/rules/effect-default.js +14 -5
- package/dist/rules/effect-default.js.map +1 -1
- package/dist/rules/effect-export-binding-patterns.d.ts +9 -0
- package/dist/rules/effect-export-binding-patterns.d.ts.map +1 -0
- package/dist/rules/effect-export-binding-patterns.js +149 -0
- package/dist/rules/effect-export-binding-patterns.js.map +1 -0
- package/dist/rules/effect-export-declaration-boundaries.d.ts +21 -0
- package/dist/rules/effect-export-declaration-boundaries.d.ts.map +1 -0
- package/dist/rules/effect-export-declaration-boundaries.js +119 -0
- package/dist/rules/effect-export-declaration-boundaries.js.map +1 -0
- package/dist/rules/effect-export-default-binding.d.ts +5 -0
- package/dist/rules/effect-export-default-binding.d.ts.map +1 -0
- package/dist/rules/effect-export-default-binding.js +350 -0
- package/dist/rules/effect-export-default-binding.js.map +1 -0
- package/dist/rules/effect-export-segments.d.ts +9 -0
- package/dist/rules/effect-export-segments.d.ts.map +1 -0
- package/dist/rules/effect-export-segments.js +67 -0
- package/dist/rules/effect-export-segments.js.map +1 -0
- package/dist/rules/effect-exported-declarations.d.ts +3 -15
- package/dist/rules/effect-exported-declarations.d.ts.map +1 -1
- package/dist/rules/effect-exported-declarations.js +139 -94
- package/dist/rules/effect-exported-declarations.js.map +1 -1
- package/dist/rules/effect-global-fetch-ast.d.ts +14 -0
- package/dist/rules/effect-global-fetch-ast.d.ts.map +1 -0
- package/dist/rules/effect-global-fetch-ast.js +321 -0
- package/dist/rules/effect-global-fetch-ast.js.map +1 -0
- package/dist/rules/effect-global-fetch-imports.d.ts +29 -0
- package/dist/rules/effect-global-fetch-imports.d.ts.map +1 -0
- package/dist/rules/effect-global-fetch-imports.js +91 -0
- package/dist/rules/effect-global-fetch-imports.js.map +1 -0
- package/dist/rules/effect-import-bindings.d.ts +13 -0
- package/dist/rules/effect-import-bindings.d.ts.map +1 -0
- package/dist/rules/effect-import-bindings.js +133 -0
- package/dist/rules/effect-import-bindings.js.map +1 -0
- package/dist/rules/effect-imported-call-matcher.d.ts +24 -0
- package/dist/rules/effect-imported-call-matcher.d.ts.map +1 -0
- package/dist/rules/effect-imported-call-matcher.js +271 -0
- package/dist/rules/effect-imported-call-matcher.js.map +1 -0
- package/dist/rules/effect-module-source-index.d.ts +44 -0
- package/dist/rules/effect-module-source-index.d.ts.map +1 -0
- package/dist/rules/effect-module-source-index.js +306 -0
- package/dist/rules/effect-module-source-index.js.map +1 -0
- package/dist/rules/effect-native-references.d.ts +66 -0
- package/dist/rules/effect-native-references.d.ts.map +1 -0
- package/dist/rules/effect-native-references.js +164 -0
- package/dist/rules/effect-native-references.js.map +1 -0
- package/dist/rules/effect-object-assign-provenance.d.ts +20 -0
- package/dist/rules/effect-object-assign-provenance.d.ts.map +1 -0
- package/dist/rules/effect-object-assign-provenance.js +37 -0
- package/dist/rules/effect-object-assign-provenance.js.map +1 -0
- package/dist/rules/effect-prefer-map-over-flatmap-succeed.d.ts +4 -0
- package/dist/rules/effect-prefer-map-over-flatmap-succeed.d.ts.map +1 -0
- package/dist/rules/effect-prefer-map-over-flatmap-succeed.js +294 -0
- package/dist/rules/effect-prefer-map-over-flatmap-succeed.js.map +1 -0
- package/dist/rules/effect-prefer-succeed-for-stable-values.d.ts +4 -0
- package/dist/rules/effect-prefer-succeed-for-stable-values.d.ts.map +1 -0
- package/dist/rules/effect-prefer-succeed-for-stable-values.js +292 -0
- package/dist/rules/effect-prefer-succeed-for-stable-values.js.map +1 -0
- package/dist/rules/effect-promise-ast-values.d.ts +26 -0
- package/dist/rules/effect-promise-ast-values.d.ts.map +1 -0
- package/dist/rules/effect-promise-ast-values.js +66 -0
- package/dist/rules/effect-promise-ast-values.js.map +1 -0
- package/dist/rules/effect-promise-callable-declarations.d.ts +22 -0
- package/dist/rules/effect-promise-callable-declarations.d.ts.map +1 -0
- package/dist/rules/effect-promise-callable-declarations.js +255 -0
- package/dist/rules/effect-promise-callable-declarations.js.map +1 -0
- package/dist/rules/effect-promise-callable-lookup.d.ts +40 -0
- package/dist/rules/effect-promise-callable-lookup.d.ts.map +1 -0
- package/dist/rules/effect-promise-callable-lookup.js +99 -0
- package/dist/rules/effect-promise-callable-lookup.js.map +1 -0
- package/dist/rules/effect-promise-callable-scopes.d.ts +16 -0
- package/dist/rules/effect-promise-callable-scopes.d.ts.map +1 -0
- package/dist/rules/effect-promise-callable-scopes.js +43 -0
- package/dist/rules/effect-promise-callable-scopes.js.map +1 -0
- package/dist/rules/effect-promise-callable-types.d.ts +43 -0
- package/dist/rules/effect-promise-callable-types.d.ts.map +1 -0
- package/dist/rules/effect-promise-callable-types.js +5 -0
- package/dist/rules/effect-promise-callable-types.js.map +1 -0
- package/dist/rules/effect-promise-callables.d.ts +5 -0
- package/dist/rules/effect-promise-callables.d.ts.map +1 -0
- package/dist/rules/effect-promise-callables.js +7 -0
- package/dist/rules/effect-promise-callables.js.map +1 -0
- package/dist/rules/effect-promise-collections.d.ts +20 -0
- package/dist/rules/effect-promise-collections.d.ts.map +1 -0
- package/dist/rules/effect-promise-collections.js +199 -0
- package/dist/rules/effect-promise-collections.js.map +1 -0
- package/dist/rules/effect-promise-completion.d.ts +141 -0
- package/dist/rules/effect-promise-completion.d.ts.map +1 -0
- package/dist/rules/effect-promise-completion.js +200 -0
- package/dist/rules/effect-promise-completion.js.map +1 -0
- package/dist/rules/effect-promise-environment-projections.d.ts +23 -0
- package/dist/rules/effect-promise-environment-projections.d.ts.map +1 -0
- package/dist/rules/effect-promise-environment-projections.js +191 -0
- package/dist/rules/effect-promise-environment-projections.js.map +1 -0
- package/dist/rules/effect-promise-environment-types.d.ts +96 -0
- package/dist/rules/effect-promise-environment-types.d.ts.map +1 -0
- package/dist/rules/effect-promise-environment-types.js +10 -0
- package/dist/rules/effect-promise-environment-types.js.map +1 -0
- package/dist/rules/effect-promise-environment-values.d.ts +41 -0
- package/dist/rules/effect-promise-environment-values.d.ts.map +1 -0
- package/dist/rules/effect-promise-environment-values.js +214 -0
- package/dist/rules/effect-promise-environment-values.js.map +1 -0
- package/dist/rules/effect-promise-environments.d.ts +5 -0
- package/dist/rules/effect-promise-environments.d.ts.map +1 -0
- package/dist/rules/effect-promise-environments.js +7 -0
- package/dist/rules/effect-promise-environments.js.map +1 -0
- package/dist/rules/effect-promise-execution-ast.d.ts +12 -0
- package/dist/rules/effect-promise-execution-ast.d.ts.map +1 -0
- package/dist/rules/effect-promise-execution-ast.js +30 -0
- package/dist/rules/effect-promise-execution-ast.js.map +1 -0
- package/dist/rules/effect-promise-execution-engine.d.ts +9 -0
- package/dist/rules/effect-promise-execution-engine.d.ts.map +1 -0
- package/dist/rules/effect-promise-execution-engine.js +280 -0
- package/dist/rules/effect-promise-execution-engine.js.map +1 -0
- package/dist/rules/effect-promise-execution-flow.d.ts +48 -0
- package/dist/rules/effect-promise-execution-flow.d.ts.map +1 -0
- package/dist/rules/effect-promise-execution-flow.js +193 -0
- package/dist/rules/effect-promise-execution-flow.js.map +1 -0
- package/dist/rules/effect-promise-execution-navigation.d.ts +34 -0
- package/dist/rules/effect-promise-execution-navigation.d.ts.map +1 -0
- package/dist/rules/effect-promise-execution-navigation.js +66 -0
- package/dist/rules/effect-promise-execution-navigation.js.map +1 -0
- package/dist/rules/effect-promise-execution-types.d.ts +36 -0
- package/dist/rules/effect-promise-execution-types.d.ts.map +1 -0
- package/dist/rules/effect-promise-execution-types.js +5 -0
- package/dist/rules/effect-promise-execution-types.js.map +1 -0
- package/dist/rules/effect-promise-execution-values.d.ts +40 -0
- package/dist/rules/effect-promise-execution-values.d.ts.map +1 -0
- package/dist/rules/effect-promise-execution-values.js +268 -0
- package/dist/rules/effect-promise-execution-values.js.map +1 -0
- package/dist/rules/effect-promise-expression-flow.d.ts +27 -0
- package/dist/rules/effect-promise-expression-flow.d.ts.map +1 -0
- package/dist/rules/effect-promise-expression-flow.js +80 -0
- package/dist/rules/effect-promise-expression-flow.js.map +1 -0
- package/dist/rules/effect-promise-invocation-memo.d.ts +16 -0
- package/dist/rules/effect-promise-invocation-memo.d.ts.map +1 -0
- package/dist/rules/effect-promise-invocation-memo.js +44 -0
- package/dist/rules/effect-promise-invocation-memo.js.map +1 -0
- package/dist/rules/effect-promise-invocations.d.ts +16 -0
- package/dist/rules/effect-promise-invocations.d.ts.map +1 -0
- package/dist/rules/effect-promise-invocations.js +126 -0
- package/dist/rules/effect-promise-invocations.js.map +1 -0
- package/dist/rules/effect-promise-node-children.d.ts +22 -0
- package/dist/rules/effect-promise-node-children.d.ts.map +1 -0
- package/dist/rules/effect-promise-node-children.js +49 -0
- package/dist/rules/effect-promise-node-children.js.map +1 -0
- package/dist/rules/effect-promise-node-evaluation.d.ts +43 -0
- package/dist/rules/effect-promise-node-evaluation.d.ts.map +1 -0
- package/dist/rules/effect-promise-node-evaluation.js +150 -0
- package/dist/rules/effect-promise-node-evaluation.js.map +1 -0
- package/dist/rules/effect-promise-parameter-bindings.d.ts +28 -0
- package/dist/rules/effect-promise-parameter-bindings.d.ts.map +1 -0
- package/dist/rules/effect-promise-parameter-bindings.js +187 -0
- package/dist/rules/effect-promise-parameter-bindings.js.map +1 -0
- package/dist/rules/effect-promise-pattern-bindings.d.ts +9 -0
- package/dist/rules/effect-promise-pattern-bindings.d.ts.map +1 -0
- package/dist/rules/effect-promise-pattern-bindings.js +54 -0
- package/dist/rules/effect-promise-pattern-bindings.js.map +1 -0
- package/dist/rules/effect-promise-program-traversal.d.ts +40 -0
- package/dist/rules/effect-promise-program-traversal.d.ts.map +1 -0
- package/dist/rules/effect-promise-program-traversal.js +115 -0
- package/dist/rules/effect-promise-program-traversal.js.map +1 -0
- package/dist/rules/effect-promise-rule-bindings.d.ts +23 -0
- package/dist/rules/effect-promise-rule-bindings.d.ts.map +1 -0
- package/dist/rules/effect-promise-rule-bindings.js +41 -0
- package/dist/rules/effect-promise-rule-bindings.js.map +1 -0
- package/dist/rules/effect-promise-runtime-arguments.d.ts +18 -0
- package/dist/rules/effect-promise-runtime-arguments.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-arguments.js +49 -0
- package/dist/rules/effect-promise-runtime-arguments.js.map +1 -0
- package/dist/rules/effect-promise-runtime-call-targets.d.ts +21 -0
- package/dist/rules/effect-promise-runtime-call-targets.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-call-targets.js +55 -0
- package/dist/rules/effect-promise-runtime-call-targets.js.map +1 -0
- package/dist/rules/effect-promise-runtime-callable-properties.d.ts +20 -0
- package/dist/rules/effect-promise-runtime-callable-properties.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-callable-properties.js +30 -0
- package/dist/rules/effect-promise-runtime-callable-properties.js.map +1 -0
- package/dist/rules/effect-promise-runtime-callables.d.ts +51 -0
- package/dist/rules/effect-promise-runtime-callables.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-callables.js +214 -0
- package/dist/rules/effect-promise-runtime-callables.js.map +1 -0
- package/dist/rules/effect-promise-runtime-choice-operations.d.ts +32 -0
- package/dist/rules/effect-promise-runtime-choice-operations.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-choice-operations.js +145 -0
- package/dist/rules/effect-promise-runtime-choice-operations.js.map +1 -0
- package/dist/rules/effect-promise-runtime-choice.d.ts +26 -0
- package/dist/rules/effect-promise-runtime-choice.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-choice.js +95 -0
- package/dist/rules/effect-promise-runtime-choice.js.map +1 -0
- package/dist/rules/effect-promise-runtime-control-branches.d.ts +14 -0
- package/dist/rules/effect-promise-runtime-control-branches.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-control-branches.js +74 -0
- package/dist/rules/effect-promise-runtime-control-branches.js.map +1 -0
- package/dist/rules/effect-promise-runtime-control-completions.d.ts +26 -0
- package/dist/rules/effect-promise-runtime-control-completions.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-control-completions.js +116 -0
- package/dist/rules/effect-promise-runtime-control-completions.js.map +1 -0
- package/dist/rules/effect-promise-runtime-control-flow.d.ts +9 -0
- package/dist/rules/effect-promise-runtime-control-flow.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-control-flow.js +94 -0
- package/dist/rules/effect-promise-runtime-control-flow.js.map +1 -0
- package/dist/rules/effect-promise-runtime-control-patterns.d.ts +15 -0
- package/dist/rules/effect-promise-runtime-control-patterns.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-control-patterns.js +84 -0
- package/dist/rules/effect-promise-runtime-control-patterns.js.map +1 -0
- package/dist/rules/effect-promise-runtime-control-scalars.d.ts +23 -0
- package/dist/rules/effect-promise-runtime-control-scalars.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-control-scalars.js +178 -0
- package/dist/rules/effect-promise-runtime-control-scalars.js.map +1 -0
- package/dist/rules/effect-promise-runtime-expressions.d.ts +22 -0
- package/dist/rules/effect-promise-runtime-expressions.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-expressions.js +265 -0
- package/dist/rules/effect-promise-runtime-expressions.js.map +1 -0
- package/dist/rules/effect-promise-runtime-heap.d.ts +39 -0
- package/dist/rules/effect-promise-runtime-heap.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-heap.js +73 -0
- package/dist/rules/effect-promise-runtime-heap.js.map +1 -0
- package/dist/rules/effect-promise-runtime-interpreter.d.ts +39 -0
- package/dist/rules/effect-promise-runtime-interpreter.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-interpreter.js +260 -0
- package/dist/rules/effect-promise-runtime-interpreter.js.map +1 -0
- package/dist/rules/effect-promise-runtime-intrinsics.d.ts +15 -0
- package/dist/rules/effect-promise-runtime-intrinsics.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-intrinsics.js +54 -0
- package/dist/rules/effect-promise-runtime-intrinsics.js.map +1 -0
- package/dist/rules/effect-promise-runtime-loops.d.ts +9 -0
- package/dist/rules/effect-promise-runtime-loops.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-loops.js +277 -0
- package/dist/rules/effect-promise-runtime-loops.js.map +1 -0
- package/dist/rules/effect-promise-runtime-members.d.ts +28 -0
- package/dist/rules/effect-promise-runtime-members.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-members.js +88 -0
- package/dist/rules/effect-promise-runtime-members.js.map +1 -0
- package/dist/rules/effect-promise-runtime-memo.d.ts +40 -0
- package/dist/rules/effect-promise-runtime-memo.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-memo.js +124 -0
- package/dist/rules/effect-promise-runtime-memo.js.map +1 -0
- package/dist/rules/effect-promise-runtime-model.d.ts +251 -0
- package/dist/rules/effect-promise-runtime-model.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-model.js +84 -0
- package/dist/rules/effect-promise-runtime-model.js.map +1 -0
- package/dist/rules/effect-promise-runtime-mutations.d.ts +17 -0
- package/dist/rules/effect-promise-runtime-mutations.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-mutations.js +165 -0
- package/dist/rules/effect-promise-runtime-mutations.js.map +1 -0
- package/dist/rules/effect-promise-runtime-patterns.d.ts +21 -0
- package/dist/rules/effect-promise-runtime-patterns.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-patterns.js +179 -0
- package/dist/rules/effect-promise-runtime-patterns.js.map +1 -0
- package/dist/rules/effect-promise-runtime-proof.d.ts +74 -0
- package/dist/rules/effect-promise-runtime-proof.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-proof.js +253 -0
- package/dist/rules/effect-promise-runtime-proof.js.map +1 -0
- package/dist/rules/effect-promise-runtime-reporting.d.ts +16 -0
- package/dist/rules/effect-promise-runtime-reporting.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-reporting.js +11 -0
- package/dist/rules/effect-promise-runtime-reporting.js.map +1 -0
- package/dist/rules/effect-promise-runtime-scalar-operations.d.ts +2 -0
- package/dist/rules/effect-promise-runtime-scalar-operations.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-scalar-operations.js +5 -0
- package/dist/rules/effect-promise-runtime-scalar-operations.js.map +1 -0
- package/dist/rules/effect-promise-runtime-scalars.d.ts +24 -0
- package/dist/rules/effect-promise-runtime-scalars.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-scalars.js +125 -0
- package/dist/rules/effect-promise-runtime-scalars.js.map +1 -0
- package/dist/rules/effect-promise-runtime-statements.d.ts +15 -0
- package/dist/rules/effect-promise-runtime-statements.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-statements.js +251 -0
- package/dist/rules/effect-promise-runtime-statements.js.map +1 -0
- package/dist/rules/effect-promise-runtime-store.d.ts +44 -0
- package/dist/rules/effect-promise-runtime-store.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-store.js +186 -0
- package/dist/rules/effect-promise-runtime-store.js.map +1 -0
- package/dist/rules/effect-promise-runtime-structures.d.ts +9 -0
- package/dist/rules/effect-promise-runtime-structures.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-structures.js +181 -0
- package/dist/rules/effect-promise-runtime-structures.js.map +1 -0
- package/dist/rules/effect-promise-runtime-switch.d.ts +9 -0
- package/dist/rules/effect-promise-runtime-switch.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-switch.js +91 -0
- package/dist/rules/effect-promise-runtime-switch.js.map +1 -0
- package/dist/rules/effect-promise-runtime-tasks.d.ts +72 -0
- package/dist/rules/effect-promise-runtime-tasks.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-tasks.js +158 -0
- package/dist/rules/effect-promise-runtime-tasks.js.map +1 -0
- package/dist/rules/effect-promise-runtime-this.d.ts +14 -0
- package/dist/rules/effect-promise-runtime-this.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-this.js +29 -0
- package/dist/rules/effect-promise-runtime-this.js.map +1 -0
- package/dist/rules/effect-promise-runtime-try.d.ts +9 -0
- package/dist/rules/effect-promise-runtime-try.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-try.js +94 -0
- package/dist/rules/effect-promise-runtime-try.js.map +1 -0
- package/dist/rules/effect-promise-runtime-values.d.ts +88 -0
- package/dist/rules/effect-promise-runtime-values.d.ts.map +1 -0
- package/dist/rules/effect-promise-runtime-values.js +382 -0
- package/dist/rules/effect-promise-runtime-values.js.map +1 -0
- package/dist/rules/effect-promise-value-scopes.d.ts +94 -0
- package/dist/rules/effect-promise-value-scopes.d.ts.map +1 -0
- package/dist/rules/effect-promise-value-scopes.js +218 -0
- package/dist/rules/effect-promise-value-scopes.js.map +1 -0
- package/dist/rules/effect-recursion-ast.d.ts +14 -0
- package/dist/rules/effect-recursion-ast.d.ts.map +1 -0
- package/dist/rules/effect-recursion-ast.js +154 -0
- package/dist/rules/effect-recursion-ast.js.map +1 -0
- package/dist/rules/effect-recursion-execution.d.ts +15 -0
- package/dist/rules/effect-recursion-execution.d.ts.map +1 -0
- package/dist/rules/effect-recursion-execution.js +312 -0
- package/dist/rules/effect-recursion-execution.js.map +1 -0
- package/dist/rules/effect-recursion-generator.d.ts +17 -0
- package/dist/rules/effect-recursion-generator.d.ts.map +1 -0
- package/dist/rules/effect-recursion-generator.js +125 -0
- package/dist/rules/effect-recursion-generator.js.map +1 -0
- package/dist/rules/effect-recursion-local-bindings.d.ts +44 -0
- package/dist/rules/effect-recursion-local-bindings.d.ts.map +1 -0
- package/dist/rules/effect-recursion-local-bindings.js +99 -0
- package/dist/rules/effect-recursion-local-bindings.js.map +1 -0
- package/dist/rules/effect-recursion-phases.d.ts +40 -0
- package/dist/rules/effect-recursion-phases.d.ts.map +1 -0
- package/dist/rules/effect-recursion-phases.js +62 -0
- package/dist/rules/effect-recursion-phases.js.map +1 -0
- package/dist/rules/effect-recursion-source.d.ts +10 -0
- package/dist/rules/effect-recursion-source.d.ts.map +1 -0
- package/dist/rules/effect-recursion-source.js +182 -0
- package/dist/rules/effect-recursion-source.js.map +1 -0
- package/dist/rules/effect-recursion-viability.d.ts +66 -0
- package/dist/rules/effect-recursion-viability.d.ts.map +1 -0
- package/dist/rules/effect-recursion-viability.js +228 -0
- package/dist/rules/effect-recursion-viability.js.map +1 -0
- package/dist/rules/effect-rule-aliases.d.ts +14 -19
- package/dist/rules/effect-rule-aliases.d.ts.map +1 -1
- package/dist/rules/effect-rule-aliases.js +48 -30
- package/dist/rules/effect-rule-aliases.js.map +1 -1
- package/dist/rules/effect-rule-core.d.ts +4 -4
- package/dist/rules/effect-rule-core.d.ts.map +1 -1
- package/dist/rules/effect-rule-core.js +42 -44
- package/dist/rules/effect-rule-core.js.map +1 -1
- package/dist/rules/effect-rule-names.d.ts.map +1 -1
- package/dist/rules/effect-rule-names.js +1 -1
- package/dist/rules/effect-rule-names.js.map +1 -1
- package/dist/rules/effect-source-navigation-lexer.d.ts +13 -0
- package/dist/rules/effect-source-navigation-lexer.d.ts.map +1 -0
- package/dist/rules/effect-source-navigation-lexer.js +228 -0
- package/dist/rules/effect-source-navigation-lexer.js.map +1 -0
- package/dist/rules/effect-source-navigation.d.ts +2 -2
- package/dist/rules/effect-source-navigation.d.ts.map +1 -1
- package/dist/rules/effect-source-navigation.js +104 -101
- package/dist/rules/effect-source-navigation.js.map +1 -1
- package/dist/rules/effect-strict-ast-helpers.d.ts +82 -0
- package/dist/rules/effect-strict-ast-helpers.d.ts.map +1 -0
- package/dist/rules/effect-strict-ast-helpers.js +194 -0
- package/dist/rules/effect-strict-ast-helpers.js.map +1 -0
- package/dist/rules/effect-strict-ast-specs.d.ts.map +1 -1
- package/dist/rules/effect-strict-ast-specs.js +14 -16
- package/dist/rules/effect-strict-ast-specs.js.map +1 -1
- package/dist/rules/effect-strict-internals.d.ts +2 -196
- package/dist/rules/effect-strict-internals.d.ts.map +1 -1
- package/dist/rules/effect-strict-internals.js +2 -417
- package/dist/rules/effect-strict-internals.js.map +1 -1
- package/dist/rules/effect-strict-source-predicates.d.ts +120 -0
- package/dist/rules/effect-strict-source-predicates.d.ts.map +1 -0
- package/dist/rules/effect-strict-source-predicates.js +234 -0
- package/dist/rules/effect-strict-source-predicates.js.map +1 -0
- package/dist/rules/effect-sync-promise-scope-index.d.ts +44 -0
- package/dist/rules/effect-sync-promise-scope-index.d.ts.map +1 -0
- package/dist/rules/effect-sync-promise-scope-index.js +345 -0
- package/dist/rules/effect-sync-promise-scope-index.js.map +1 -0
- package/dist/rules/effect-sync-promise-scopes.d.ts +10 -0
- package/dist/rules/effect-sync-promise-scopes.d.ts.map +1 -0
- package/dist/rules/effect-sync-promise-scopes.js +115 -0
- package/dist/rules/effect-sync-promise-scopes.js.map +1 -0
- package/dist/rules/effect-sync-promise-source.d.ts +2 -0
- package/dist/rules/effect-sync-promise-source.d.ts.map +1 -0
- package/dist/rules/effect-sync-promise-source.js +5 -0
- package/dist/rules/effect-sync-promise-source.js.map +1 -0
- package/dist/rules/plugin-commented-out-code-jsx-scanner.d.ts +21 -0
- package/dist/rules/plugin-commented-out-code-jsx-scanner.d.ts.map +1 -0
- package/dist/rules/plugin-commented-out-code-jsx-scanner.js +200 -0
- package/dist/rules/plugin-commented-out-code-jsx-scanner.js.map +1 -0
- package/dist/rules/plugin-commented-out-code-lexical-primitives.d.ts +139 -0
- package/dist/rules/plugin-commented-out-code-lexical-primitives.d.ts.map +1 -0
- package/dist/rules/plugin-commented-out-code-lexical-primitives.js +244 -0
- package/dist/rules/plugin-commented-out-code-lexical-primitives.js.map +1 -0
- package/dist/rules/plugin-commented-out-code-rule.d.ts +13 -0
- package/dist/rules/plugin-commented-out-code-rule.d.ts.map +1 -1
- package/dist/rules/plugin-commented-out-code-rule.js +174 -82
- package/dist/rules/plugin-commented-out-code-rule.js.map +1 -1
- package/dist/rules/plugin-commented-out-code-source-scanner.d.ts +8 -0
- package/dist/rules/plugin-commented-out-code-source-scanner.d.ts.map +1 -0
- package/dist/rules/plugin-commented-out-code-source-scanner.js +228 -0
- package/dist/rules/plugin-commented-out-code-source-scanner.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
interface RuleContext {
|
|
2
|
+
report: (descriptor: {
|
|
3
|
+
loc?: {
|
|
4
|
+
column: number;
|
|
5
|
+
line: number;
|
|
6
|
+
};
|
|
7
|
+
message: string;
|
|
8
|
+
node: object;
|
|
9
|
+
}) => void;
|
|
10
|
+
}
|
|
11
|
+
type ASTValue = boolean | null | number | object | string | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Internal helper exported for package-local composition.
|
|
14
|
+
*
|
|
15
|
+
* @internal
|
|
16
|
+
*/
|
|
17
|
+
export declare const reportAST: (context: RuleContext, message: string, node: object) => void;
|
|
18
|
+
/**
|
|
19
|
+
* Internal helper exported for package-local composition.
|
|
20
|
+
*
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
export declare const objectValue: (node: ASTValue, key: string) => ASTValue;
|
|
24
|
+
/**
|
|
25
|
+
* Internal helper exported for package-local composition.
|
|
26
|
+
*
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export declare const arrayValue: (node: ASTValue) => ASTValue[];
|
|
30
|
+
/**
|
|
31
|
+
* Internal helper exported for package-local composition.
|
|
32
|
+
*
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
export declare const nodeType: (node: ASTValue) => string | undefined;
|
|
36
|
+
/**
|
|
37
|
+
* Internal helper exported for package-local composition.
|
|
38
|
+
*
|
|
39
|
+
* @internal
|
|
40
|
+
*/
|
|
41
|
+
export declare const identifierName: (node: ASTValue) => string | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Internal helper exported for package-local composition.
|
|
44
|
+
*
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
export declare const literalValue: (node: ASTValue) => ASTValue;
|
|
48
|
+
/**
|
|
49
|
+
* Internal helper exported for package-local composition.
|
|
50
|
+
*
|
|
51
|
+
* @internal
|
|
52
|
+
*/
|
|
53
|
+
export declare const isVoidZero: (node: ASTValue) => boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Internal helper exported for package-local composition.
|
|
56
|
+
*
|
|
57
|
+
* @internal
|
|
58
|
+
*/
|
|
59
|
+
export declare const isMember: (node: ASTValue, objectName: string, propertyName: string) => boolean;
|
|
60
|
+
/**
|
|
61
|
+
* Internal helper exported for package-local composition.
|
|
62
|
+
*
|
|
63
|
+
* @internal
|
|
64
|
+
*/
|
|
65
|
+
export declare const isSchemaMember: (node: ASTValue, source: string, propertyName: string) => boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Internal helper exported for package-local composition.
|
|
68
|
+
*
|
|
69
|
+
* @internal
|
|
70
|
+
*/
|
|
71
|
+
export declare const effectCallPredicate: (source: string, names: readonly string[]) => ((callee: ASTValue) => boolean);
|
|
72
|
+
/**
|
|
73
|
+
* Internal helper exported for package-local composition.
|
|
74
|
+
*
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
export declare const serviceKeyFromClass: (node: ASTValue, source: string) => {
|
|
78
|
+
className?: string;
|
|
79
|
+
key?: string;
|
|
80
|
+
};
|
|
81
|
+
export {};
|
|
82
|
+
//# sourceMappingURL=effect-strict-ast-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect-strict-ast-helpers.d.ts","sourceRoot":"","sources":["../../src/rules/effect-strict-ast-helpers.ts"],"names":[],"mappings":"AAMA,UAAU,WAAW;IACnB,MAAM,EAAE,CAAC,UAAU,EAAE;QACnB,GAAG,CAAC,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,CAAC;QACvC,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;KACd,KAAK,IAAI,CAAC;CACZ;AAED,KAAK,QAAQ,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAItE;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,SAAS,WAAW,EAAE,SAAS,MAAM,EAAE,MAAM,MAAM,KAAG,IAE/E,CAAC;AAKF;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,QAAQ,EAAE,KAAK,MAAM,KAAG,QASzD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,QAAQ,KAAG,QAAQ,EAKnD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,QAAQ,KAAG,MAAM,GAAG,SAMlD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,QAAQ,KAAG,MAAM,GAAG,SASxD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,QAAQ,KAAG,QAK7C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,QAAQ,KAAG,OAO3C,CAAC;AAYF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,MAAM,QAAQ,EAAE,YAAY,MAAM,EAAE,cAAc,MAAM,KAAG,OAGnF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,QAAQ,EAAE,QAAQ,MAAM,EAAE,cAAc,MAAM,KAAG,OAOrF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,QAAQ,MAAM,EACd,OAAO,SAAS,MAAM,EAAE,KACvB,CAAC,CAAC,MAAM,EAAE,QAAQ,KAAK,OAAO,CAkBhC,CAAC;AAqEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,QAAQ,EACd,QAAQ,MAAM,KACb;IAAE,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAepC,CAAC"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/* -------------------------------------------------------------------------- */
|
|
2
|
+
/* AST helpers for opt-in strict Effect rules. */
|
|
3
|
+
/* -------------------------------------------------------------------------- */
|
|
4
|
+
import { Array, HashSet, Option, pipe } from 'effect';
|
|
5
|
+
import { effectAPIAliases, effectFunctionAliases, effectImportAliases } from './effect-rule-core.js';
|
|
6
|
+
const astValueTypes = HashSet.make('boolean', 'number', 'object', 'string');
|
|
7
|
+
/**
|
|
8
|
+
* Internal helper exported for package-local composition.
|
|
9
|
+
*
|
|
10
|
+
* @internal
|
|
11
|
+
*/
|
|
12
|
+
export const reportAST = (context, message, node) => {
|
|
13
|
+
context.report({ message, node });
|
|
14
|
+
};
|
|
15
|
+
const isASTValue = (value) => value === undefined || value === null || HashSet.has(astValueTypes, typeof value);
|
|
16
|
+
/**
|
|
17
|
+
* Internal helper exported for package-local composition.
|
|
18
|
+
*
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export const objectValue = (node, key) => {
|
|
22
|
+
if (typeof node !== 'object' || node === null) {
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
const value = Reflect.get(node, key);
|
|
26
|
+
if (isASTValue(value)) {
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
return undefined;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Internal helper exported for package-local composition.
|
|
33
|
+
*
|
|
34
|
+
* @internal
|
|
35
|
+
*/
|
|
36
|
+
export const arrayValue = (node) => {
|
|
37
|
+
if (globalThis.Array.isArray(node)) {
|
|
38
|
+
return pipe(node, Array.filter(isASTValue));
|
|
39
|
+
}
|
|
40
|
+
return [];
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Internal helper exported for package-local composition.
|
|
44
|
+
*
|
|
45
|
+
* @internal
|
|
46
|
+
*/
|
|
47
|
+
export const nodeType = (node) => {
|
|
48
|
+
const type = objectValue(node, 'type');
|
|
49
|
+
if (typeof type === 'string') {
|
|
50
|
+
return type;
|
|
51
|
+
}
|
|
52
|
+
return undefined;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Internal helper exported for package-local composition.
|
|
56
|
+
*
|
|
57
|
+
* @internal
|
|
58
|
+
*/
|
|
59
|
+
export const identifierName = (node) => {
|
|
60
|
+
if (nodeType(node) === 'Identifier') {
|
|
61
|
+
const name = objectValue(node, 'name');
|
|
62
|
+
if (typeof name === 'string') {
|
|
63
|
+
return name;
|
|
64
|
+
}
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
return undefined;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Internal helper exported for package-local composition.
|
|
71
|
+
*
|
|
72
|
+
* @internal
|
|
73
|
+
*/
|
|
74
|
+
export const literalValue = (node) => {
|
|
75
|
+
if (nodeType(node) === 'Literal') {
|
|
76
|
+
return objectValue(node, 'value');
|
|
77
|
+
}
|
|
78
|
+
return undefined;
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Internal helper exported for package-local composition.
|
|
82
|
+
*
|
|
83
|
+
* @internal
|
|
84
|
+
*/
|
|
85
|
+
export const isVoidZero = (node) => {
|
|
86
|
+
if (nodeType(node) !== 'UnaryExpression') {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
return (objectValue(node, 'operator') === 'void' && literalValue(objectValue(node, 'argument')) === 0);
|
|
90
|
+
};
|
|
91
|
+
const memberParts = (node) => {
|
|
92
|
+
if (nodeType(node) !== 'MemberExpression') {
|
|
93
|
+
return {};
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
objectName: identifierName(objectValue(node, 'object')),
|
|
97
|
+
propertyName: identifierName(objectValue(node, 'property')),
|
|
98
|
+
};
|
|
99
|
+
};
|
|
100
|
+
/**
|
|
101
|
+
* Internal helper exported for package-local composition.
|
|
102
|
+
*
|
|
103
|
+
* @internal
|
|
104
|
+
*/
|
|
105
|
+
export const isMember = (node, objectName, propertyName) => {
|
|
106
|
+
const parts = memberParts(node);
|
|
107
|
+
return parts.objectName === objectName && parts.propertyName === propertyName;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Internal helper exported for package-local composition.
|
|
111
|
+
*
|
|
112
|
+
* @internal
|
|
113
|
+
*/
|
|
114
|
+
export const isSchemaMember = (node, source, propertyName) => {
|
|
115
|
+
const parts = memberParts(node);
|
|
116
|
+
return Boolean(parts.objectName &&
|
|
117
|
+
parts.propertyName === propertyName &&
|
|
118
|
+
pipe(effectAPIAliases(source, 'Schema'), Array.contains(parts.objectName)));
|
|
119
|
+
};
|
|
120
|
+
/**
|
|
121
|
+
* Internal helper exported for package-local composition.
|
|
122
|
+
*
|
|
123
|
+
* @internal
|
|
124
|
+
*/
|
|
125
|
+
export const effectCallPredicate = (source, names) => {
|
|
126
|
+
const memberNames = HashSet.fromIterable(names);
|
|
127
|
+
const importAliases = pipe(effectImportAliases(source), HashSet.fromIterable);
|
|
128
|
+
const functionAliases = pipe(names, Array.flatMap((name) => effectFunctionAliases(source, 'Effect', name)), HashSet.fromIterable);
|
|
129
|
+
return (callee) => {
|
|
130
|
+
const { objectName, propertyName } = memberParts(callee);
|
|
131
|
+
if (objectName && propertyName) {
|
|
132
|
+
return HashSet.has(importAliases, objectName) && HashSet.has(memberNames, propertyName);
|
|
133
|
+
}
|
|
134
|
+
const calleeName = identifierName(callee);
|
|
135
|
+
return Boolean(calleeName && HashSet.has(functionAliases, calleeName));
|
|
136
|
+
};
|
|
137
|
+
};
|
|
138
|
+
const literalStringValue = (node) => {
|
|
139
|
+
const value = literalValue(node);
|
|
140
|
+
if (typeof value === 'string') {
|
|
141
|
+
return value;
|
|
142
|
+
}
|
|
143
|
+
return undefined;
|
|
144
|
+
};
|
|
145
|
+
const contextTagServiceKey = (innerArguments) => pipe(arrayValue(innerArguments), Array.head, Option.flatMapNullable(literalStringValue), Option.getOrUndefined);
|
|
146
|
+
const effectServiceKey = (outerArguments) => pipe(arrayValue(outerArguments), Array.head, Option.flatMapNullable(literalStringValue), Option.getOrUndefined);
|
|
147
|
+
const contextTagKeyFromMember = (member, innerArguments) => {
|
|
148
|
+
if (member.objectName === 'Context' &&
|
|
149
|
+
(member.propertyName === 'Tag' || member.propertyName === 'GenericTag')) {
|
|
150
|
+
return contextTagServiceKey(innerArguments);
|
|
151
|
+
}
|
|
152
|
+
return undefined;
|
|
153
|
+
};
|
|
154
|
+
const effectServiceKeyFromMember = (source, member, outerArguments) => {
|
|
155
|
+
if (member.objectName &&
|
|
156
|
+
pipe(effectImportAliases(source), Array.contains(member.objectName)) &&
|
|
157
|
+
member.propertyName === 'Service') {
|
|
158
|
+
return effectServiceKey(outerArguments);
|
|
159
|
+
}
|
|
160
|
+
return undefined;
|
|
161
|
+
};
|
|
162
|
+
const serviceClassSuperCallParts = (node) => {
|
|
163
|
+
const superClass = objectValue(node, 'superClass');
|
|
164
|
+
const className = identifierName(objectValue(node, 'id'));
|
|
165
|
+
if (nodeType(superClass) !== 'CallExpression') {
|
|
166
|
+
return undefined;
|
|
167
|
+
}
|
|
168
|
+
const inner = objectValue(superClass, 'callee');
|
|
169
|
+
if (!inner || nodeType(inner) !== 'CallExpression') {
|
|
170
|
+
return undefined;
|
|
171
|
+
}
|
|
172
|
+
return { className, inner, outerArguments: objectValue(superClass, 'arguments') };
|
|
173
|
+
};
|
|
174
|
+
/**
|
|
175
|
+
* Internal helper exported for package-local composition.
|
|
176
|
+
*
|
|
177
|
+
* @internal
|
|
178
|
+
*/
|
|
179
|
+
export const serviceKeyFromClass = (node, source) => {
|
|
180
|
+
const className = identifierName(objectValue(node, 'id'));
|
|
181
|
+
const parts = serviceClassSuperCallParts(node);
|
|
182
|
+
if (!parts) {
|
|
183
|
+
return { className };
|
|
184
|
+
}
|
|
185
|
+
const innerArguments = objectValue(parts.inner, 'arguments');
|
|
186
|
+
const member = memberParts(objectValue(parts.inner, 'callee'));
|
|
187
|
+
const key = contextTagKeyFromMember(member, innerArguments) ??
|
|
188
|
+
effectServiceKeyFromMember(source, member, parts.outerArguments);
|
|
189
|
+
if (key) {
|
|
190
|
+
return { className, key };
|
|
191
|
+
}
|
|
192
|
+
return { className };
|
|
193
|
+
};
|
|
194
|
+
//# sourceMappingURL=effect-strict-ast-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect-strict-ast-helpers.js","sourceRoot":"","sources":["../../src/rules/effect-strict-ast-helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effect-strict-ast-specs.d.ts","sourceRoot":"","sources":["../../src/rules/effect-strict-ast-specs.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"effect-strict-ast-specs.d.ts","sourceRoot":"","sources":["../../src/rules/effect-strict-ast-specs.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAMnD;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,QAAQ,EA0MnD,CAAC"}
|
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
/* AST-backed opt-in strict custom Effect lint rule specs. */
|
|
3
3
|
/* -------------------------------------------------------------------------- */
|
|
4
4
|
import { Array, Option, pipe } from 'effect';
|
|
5
|
-
import { arrayValue,
|
|
5
|
+
import { arrayValue, hasCryptoRandomUUID, hasEffectSucceedWithVoid, hasGlobalFetch, hasLayerEffectWithScope, hasMapFlatten, hasMapToVoid, hasMultipleProvideChain, hasNonDeterministicServiceKey, hasSchemaInstanceof, hasSchemaStructWithTag, hasSchemaUnionOfLiterals, identifierName, isMember, isSchemaMember, isVoidZero, literalValue, nodeType, objectValue, reportAST, serviceKeyFromClass, } from './effect-strict-internals.js';
|
|
6
|
+
import { asNode } from './effect-ast.js';
|
|
7
|
+
import { effectGlobalFetchAST } from './effect-global-fetch-ast.js';
|
|
8
|
+
import { importedEffectCallMatcher } from './effect-imported-call-matcher.js';
|
|
6
9
|
import { isConfiguredPath } from './effect-path-options.js';
|
|
7
|
-
import { stripCommentsAndStrings } from './effect-source-helpers.js';
|
|
8
10
|
/**
|
|
9
11
|
* Internal helper exported for package-local composition.
|
|
10
12
|
*
|
|
@@ -118,34 +120,30 @@ export const effectStrictASTSpecs = pipe([
|
|
|
118
120
|
tokens: ['node:'],
|
|
119
121
|
},
|
|
120
122
|
{
|
|
121
|
-
ast: (context, source) =>
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
wrappedFetch) {
|
|
128
|
-
reportAST(context, 'Use the Effect HTTP client or an adapter service instead of global fetch.', node);
|
|
129
|
-
}
|
|
130
|
-
},
|
|
131
|
-
}),
|
|
123
|
+
ast: (context, source) => {
|
|
124
|
+
if (isConfiguredPath(context, 'adapterLayers')) {
|
|
125
|
+
return { Program() { } };
|
|
126
|
+
}
|
|
127
|
+
return effectGlobalFetchAST(context, source);
|
|
128
|
+
},
|
|
132
129
|
check: hasGlobalFetch,
|
|
133
130
|
message: 'Use the Effect HTTP client or an adapter service instead of global fetch.',
|
|
134
131
|
name: 'effect-no-global-fetch',
|
|
135
132
|
tokens: ['fetch'],
|
|
136
133
|
},
|
|
137
134
|
{
|
|
138
|
-
ast: (context
|
|
139
|
-
const
|
|
135
|
+
ast: (context) => {
|
|
136
|
+
const effectSucceed = importedEffectCallMatcher(context, 'Effect', ['succeed']);
|
|
140
137
|
return {
|
|
141
138
|
CallExpression(node) {
|
|
142
139
|
const callArguments = arrayValue(objectValue(node, 'arguments'));
|
|
143
140
|
const firstArg = pipe(callArguments, Array.head, Option.getOrUndefined);
|
|
144
|
-
if (
|
|
141
|
+
if (effectSucceed.matches(asNode(objectValue(node, 'callee'))) &&
|
|
145
142
|
(!firstArg || identifierName(firstArg) === 'undefined' || isVoidZero(firstArg))) {
|
|
146
143
|
reportAST(context, 'Use Effect.void instead of Effect.succeed(undefined).', node);
|
|
147
144
|
}
|
|
148
145
|
},
|
|
146
|
+
Program: effectSucceed.initialize,
|
|
149
147
|
};
|
|
150
148
|
},
|
|
151
149
|
check: hasEffectSucceedWithVoid,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effect-strict-ast-specs.js","sourceRoot":"","sources":["../../src/rules/effect-strict-ast-specs.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"effect-strict-ast-specs.js","sourceRoot":"","sources":["../../src/rules/effect-strict-ast-specs.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAChF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC7C,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,wBAAwB,EACxB,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,6BAA6B,EAC7B,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,cAAc,EACd,QAAQ,EACR,cAAc,EACd,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,SAAS,EACT,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAwB,IAAI,CAC3D;IACE;QACE,GAAG,EAAE,CAAC,OAAO,EAA0C,EAAE,CAAC,CAAC;YACzD,cAAc,CAAC,IAAI;gBACjB,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC;oBAClE,SAAS,CACP,OAAO,EACP,6EAA6E,EAC7E,IAAI,CACL,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC;QACF,KAAK,EAAE,mBAAmB;QAC1B,OAAO,EAAE,6EAA6E;QACtF,IAAI,EAAE,6BAA6B;QACnC,MAAM,EAAE,CAAC,mBAAmB,CAAC;KAC9B;IACD;QACE,GAAG,EAAE,CAAC,OAAO,EAA0C,EAAE,CAAC,CAAC;YACzD,gBAAgB,CAAC,IAAI;gBACnB,MAAM,MAAM,GAAG,IAA6C,CAAC;gBAC7D,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC/C,IACE,MAAM,CAAC,QAAQ,KAAK,YAAY;oBAChC,SAAS;oBACT,qBAAqB,CAAC,IAAI,CAAC,SAAS,CAAC,EACrC,CAAC;oBACD,SAAS,CACP,OAAO,EACP,uEAAuE,EACvE,IAAI,CACL,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC;QACF,KAAK,EAAE,mBAAmB;QAC1B,OAAO,EAAE,uEAAuE;QAChF,IAAI,EAAE,0CAA0C;QAChD,MAAM,EAAE,CAAC,YAAY,CAAC;KACvB;IACD;QACE,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAA0C,EAAE,CAAC,CAAC;YACjE,cAAc,CAAC,IAAI;gBACjB,MAAM,aAAa,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;gBACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;gBACxE,IACE,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC;oBAC9D,QAAQ,CAAC,QAAQ,CAAC,KAAK,kBAAkB,EACzC,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,IACE,IAAI,CACF,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,EAC/C,KAAK,CAAC,IAAI,CACR,CAAC,QAAQ,EAAW,EAAE,CACpB,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,KAAK,MAAM;oBACvD,cAAc,CACZ,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,EACrD,MAAM,EACN,SAAS,CACV,CACJ,CACF,EACD,CAAC;oBACD,SAAS,CACP,OAAO,EACP,4EAA4E,EAC5E,IAAI,CACL,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC;QACF,KAAK,EAAE,sBAAsB;QAC7B,OAAO,EAAE,4EAA4E;QACrF,IAAI,EAAE,oCAAoC;QAC1C,MAAM,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;KAC3B;IACD;QACE,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAA0C,EAAE,CAAC,CAAC;YACjE,cAAc,CAAC,IAAI;gBACjB,MAAM,aAAa,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;gBACjE,MAAM,eAAe,GAAG,IAAI,CAC1B,aAAa,EACb,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAW,EAAE,CACjC,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CACnE,EACD,KAAK,CAAC,MAAM,CACb,CAAC;gBACF,IAAI,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;oBACxF,SAAS,CAAC,OAAO,EAAE,4DAA4D,EAAE,IAAI,CAAC,CAAC;gBACzF,CAAC;YACH,CAAC;SACF,CAAC;QACF,KAAK,EAAE,wBAAwB;QAC/B,OAAO,EAAE,4DAA4D;QACrE,IAAI,EAAE,2CAA2C;QACjD,MAAM,EAAE,CAAC,cAAc,EAAE,gBAAgB,EAAE,QAAQ,CAAC;KACrD;IACD;QACE,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAA0C,EAAE,CAAC,CAAC;YACjE,gBAAgB,CAAC,IAAI;gBACnB,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;gBAC7D,IAAI,SAAS,IAAI,GAAG,IAAI,SAAS,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE,CAAC;oBAC5E,SAAS,CACP,OAAO,EACP,yEAAyE,EACzE,IAAI,CACL,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC;QACF,KAAK,EAAE,6BAA6B;QACpC,OAAO,EAAE,yEAAyE;QAClF,IAAI,EAAE,2CAA2C;QACjD,MAAM,EAAE,CAAC,aAAa,EAAE,gBAAgB,EAAE,YAAY,CAAC;KACxD;IACD;QACE,KAAK,EAAE,uBAAuB;QAC9B,OAAO,EAAE,+EAA+E;QACxF,IAAI,EAAE,kCAAkC;QACxC,MAAM,EAAE,CAAC,gBAAgB,CAAC;KAC3B;IACD;QACE,KAAK,EAAE,uBAAuB;QAC9B,OAAO,EAAE,sDAAsD;QAC/D,IAAI,EAAE,iDAAiD;QACvD,MAAM,EAAE,CAAC,cAAc,EAAE,OAAO,CAAC;KAClC;IACD;QACE,GAAG,EAAE,CAAC,OAAO,EAA0C,EAAE,CAAC,CAAC;YACzD,iBAAiB,CAAC,IAAI;gBACpB,MAAM,WAAW,GAAG,YAAY,CAAE,IAA4B,CAAC,MAAM,CAAC,CAAC;gBACvE,IACE,CAAC,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC;oBAC3C,OAAO,WAAW,KAAK,QAAQ;oBAC/B,wEAAwE,CAAC,IAAI,CAC3E,WAAW,CACZ,EACD,CAAC;oBACD,SAAS,CACP,OAAO,EACP,uEAAuE,EACvE,IAAI,CACL,CAAC;gBACJ,CAAC;YACH,CAAC;SACF,CAAC;QACF,OAAO,EAAE,uEAAuE;QAChF,IAAI,EAAE,qDAAqD;QAC3D,MAAM,EAAE,CAAC,OAAO,CAAC;KAClB;IACD;QACE,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,EAA0C,EAAE;YAC/D,IAAI,gBAAgB,CAAC,OAAO,EAAE,eAAe,CAAC,EAAE,CAAC;gBAC/C,OAAO,EAAE,OAAO,KAAU,CAAC,EAAE,CAAC;YAChC,CAAC;YACD,OAAO,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC/C,CAAC;QACD,KAAK,EAAE,cAAc;QACrB,OAAO,EAAE,2EAA2E;QACpF,IAAI,EAAE,wBAAwB;QAC9B,MAAM,EAAE,CAAC,OAAO,CAAC;KAClB;IACD;QACE,GAAG,EAAE,CAAC,OAAO,EAA0C,EAAE;YACvD,MAAM,aAAa,GAAG,yBAAyB,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAChF,OAAO;gBACL,cAAc,CAAC,IAAI;oBACjB,MAAM,aAAa,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;oBACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;oBACxE,IACE,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;wBAC1D,CAAC,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ,CAAC,KAAK,WAAW,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,EAC/E,CAAC;wBACD,SAAS,CAAC,OAAO,EAAE,uDAAuD,EAAE,IAAI,CAAC,CAAC;oBACpF,CAAC;gBACH,CAAC;gBACD,OAAO,EAAE,aAAa,CAAC,UAAU;aAClC,CAAC;QACJ,CAAC;QACD,KAAK,EAAE,wBAAwB;QAC/B,OAAO,EAAE,uDAAuD;QAChE,IAAI,EAAE,2BAA2B;QACjC,MAAM,EAAE,CAAC,SAAS,CAAC;KACpB;IACD;QACE,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,sEAAsE;QAC/E,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;KAC7B;IACD;QACE,KAAK,EAAE,aAAa;QACpB,OAAO,EAAE,sEAAsE;QAC/E,IAAI,EAAE,wCAAwC;QAC9C,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;KAC7B;CAC4B,EAC/B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAY,EAAE,CAAC,IAAI,CAAC,CACpC,CAAC"}
|
|
@@ -1,198 +1,4 @@
|
|
|
1
|
+
export { arrayValue, effectCallPredicate, identifierName, isMember, isSchemaMember, isVoidZero, literalValue, nodeType, objectValue, reportAST, serviceKeyFromClass, } from './effect-strict-ast-helpers';
|
|
1
2
|
export { hasEffectSignal, hasRuntimeCall } from './effect-rule-core';
|
|
2
|
-
|
|
3
|
-
filename?: string;
|
|
4
|
-
options?: object[];
|
|
5
|
-
report: (descriptor: {
|
|
6
|
-
loc?: {
|
|
7
|
-
column: number;
|
|
8
|
-
line: number;
|
|
9
|
-
};
|
|
10
|
-
message: string;
|
|
11
|
-
node: object;
|
|
12
|
-
}) => void;
|
|
13
|
-
}
|
|
14
|
-
type ASTValue = boolean | null | number | object | string | undefined;
|
|
15
|
-
/**
|
|
16
|
-
* Internal helper exported for package-local composition.
|
|
17
|
-
*
|
|
18
|
-
* @internal
|
|
19
|
-
*/
|
|
20
|
-
export declare const reportAST: (context: RuleContext, message: string, node: object) => void;
|
|
21
|
-
/**
|
|
22
|
-
* Internal helper exported for package-local composition.
|
|
23
|
-
*
|
|
24
|
-
* @internal
|
|
25
|
-
*/
|
|
26
|
-
export declare const objectValue: (node: ASTValue, key: string) => ASTValue;
|
|
27
|
-
/**
|
|
28
|
-
* Internal helper exported for package-local composition.
|
|
29
|
-
*
|
|
30
|
-
* @internal
|
|
31
|
-
*/
|
|
32
|
-
export declare const arrayValue: (node: ASTValue) => ASTValue[];
|
|
33
|
-
/**
|
|
34
|
-
* Internal helper exported for package-local composition.
|
|
35
|
-
*
|
|
36
|
-
* @internal
|
|
37
|
-
*/
|
|
38
|
-
export declare const nodeType: (node: ASTValue) => string | undefined;
|
|
39
|
-
/**
|
|
40
|
-
* Internal helper exported for package-local composition.
|
|
41
|
-
*
|
|
42
|
-
* @internal
|
|
43
|
-
*/
|
|
44
|
-
export declare const identifierName: (node: ASTValue) => string | undefined;
|
|
45
|
-
/**
|
|
46
|
-
* Internal helper exported for package-local composition.
|
|
47
|
-
*
|
|
48
|
-
* @internal
|
|
49
|
-
*/
|
|
50
|
-
export declare const literalValue: (node: ASTValue) => ASTValue;
|
|
51
|
-
/**
|
|
52
|
-
* Internal helper exported for package-local composition.
|
|
53
|
-
*
|
|
54
|
-
* @internal
|
|
55
|
-
*/
|
|
56
|
-
export declare const isVoidZero: (node: ASTValue) => boolean;
|
|
57
|
-
/**
|
|
58
|
-
* Internal helper exported for package-local composition.
|
|
59
|
-
*
|
|
60
|
-
* @internal
|
|
61
|
-
*/
|
|
62
|
-
export declare const isMember: (node: ASTValue, objectName: string, propertyName: string) => boolean;
|
|
63
|
-
/**
|
|
64
|
-
* Internal helper exported for package-local composition.
|
|
65
|
-
*
|
|
66
|
-
* @internal
|
|
67
|
-
*/
|
|
68
|
-
export declare const isSchemaMember: (node: ASTValue, source: string, propertyName: string) => boolean;
|
|
69
|
-
/**
|
|
70
|
-
* Internal helper exported for package-local composition.
|
|
71
|
-
*
|
|
72
|
-
* @internal
|
|
73
|
-
*/
|
|
74
|
-
export declare const effectCallPredicate: (source: string, names: readonly string[]) => ((callee: ASTValue) => boolean);
|
|
75
|
-
/**
|
|
76
|
-
* Internal helper exported for package-local composition.
|
|
77
|
-
*
|
|
78
|
-
* @internal
|
|
79
|
-
*/
|
|
80
|
-
export declare const serviceKeyFromClass: (node: ASTValue, source: string) => {
|
|
81
|
-
className?: string;
|
|
82
|
-
key?: string;
|
|
83
|
-
};
|
|
84
|
-
/**
|
|
85
|
-
* Internal helper exported for package-local composition.
|
|
86
|
-
*
|
|
87
|
-
* @internal
|
|
88
|
-
*/
|
|
89
|
-
export declare const hasRetryScheduleWithoutJitter: (source: string) => boolean;
|
|
90
|
-
/**
|
|
91
|
-
* Internal helper exported for package-local composition.
|
|
92
|
-
*
|
|
93
|
-
* @internal
|
|
94
|
-
*/
|
|
95
|
-
export declare const publicAPIDeclarationSignature: (declaration: string) => string;
|
|
96
|
-
/**
|
|
97
|
-
* Internal helper exported for package-local composition.
|
|
98
|
-
*
|
|
99
|
-
* @internal
|
|
100
|
-
*/
|
|
101
|
-
export declare const hasPromiseReturningPublicAPI: (source: string) => boolean;
|
|
102
|
-
/**
|
|
103
|
-
* Internal helper exported for package-local composition.
|
|
104
|
-
*
|
|
105
|
-
* @internal
|
|
106
|
-
*/
|
|
107
|
-
export declare const hasExportedRunPromiseAPI: (source: string) => boolean;
|
|
108
|
-
/**
|
|
109
|
-
* Internal helper exported for package-local composition.
|
|
110
|
-
*
|
|
111
|
-
* @internal
|
|
112
|
-
*/
|
|
113
|
-
export declare const hasRunSyncInServerRequestHandler: (source: string) => boolean;
|
|
114
|
-
/**
|
|
115
|
-
* Internal helper exported for package-local composition.
|
|
116
|
-
*
|
|
117
|
-
* @internal
|
|
118
|
-
*/
|
|
119
|
-
export declare const hasCryptoRandomUUID: (source: string) => number | false;
|
|
120
|
-
/**
|
|
121
|
-
* Internal helper exported for package-local composition.
|
|
122
|
-
*
|
|
123
|
-
* @internal
|
|
124
|
-
*/
|
|
125
|
-
export declare const hasSchemaInstanceof: (source: string) => number | false;
|
|
126
|
-
/**
|
|
127
|
-
* Internal helper exported for package-local composition.
|
|
128
|
-
*
|
|
129
|
-
* @internal
|
|
130
|
-
*/
|
|
131
|
-
export declare const hasSchemaStructWithTag: (source: string) => number | false;
|
|
132
|
-
/**
|
|
133
|
-
* Internal helper exported for package-local composition.
|
|
134
|
-
*
|
|
135
|
-
* @internal
|
|
136
|
-
*/
|
|
137
|
-
export declare const hasSchemaUnionOfLiterals: (source: string) => number | false;
|
|
138
|
-
/**
|
|
139
|
-
* Internal helper exported for package-local composition.
|
|
140
|
-
*
|
|
141
|
-
* @internal
|
|
142
|
-
*/
|
|
143
|
-
export declare const hasNonDeterministicServiceKey: (source: string) => number | false;
|
|
144
|
-
/**
|
|
145
|
-
* Internal helper exported for package-local composition.
|
|
146
|
-
*
|
|
147
|
-
* @internal
|
|
148
|
-
*/
|
|
149
|
-
export declare const hasMultipleProvideChain: (source: string) => number | false;
|
|
150
|
-
/**
|
|
151
|
-
* Internal helper exported for package-local composition.
|
|
152
|
-
*
|
|
153
|
-
* @internal
|
|
154
|
-
*/
|
|
155
|
-
export declare const hasLayerEffectWithScope: (source: string) => number | false;
|
|
156
|
-
/**
|
|
157
|
-
* Internal helper exported for package-local composition.
|
|
158
|
-
*
|
|
159
|
-
* @internal
|
|
160
|
-
*/
|
|
161
|
-
export declare const hasNodeBuiltinImport: (source: string) => number | false;
|
|
162
|
-
/**
|
|
163
|
-
* Internal helper exported for package-local composition.
|
|
164
|
-
*
|
|
165
|
-
* @internal
|
|
166
|
-
*/
|
|
167
|
-
export declare const hasGlobalFetch: (source: string, context: RuleContext) => number | false;
|
|
168
|
-
/**
|
|
169
|
-
* Internal helper exported for package-local composition.
|
|
170
|
-
*
|
|
171
|
-
* @internal
|
|
172
|
-
*/
|
|
173
|
-
export declare const hasEffectSucceedWithVoid: (source: string) => number | false;
|
|
174
|
-
/**
|
|
175
|
-
* Internal helper exported for package-local composition.
|
|
176
|
-
*
|
|
177
|
-
* @internal
|
|
178
|
-
*/
|
|
179
|
-
export declare const hasMapToVoid: (source: string) => number | false;
|
|
180
|
-
/**
|
|
181
|
-
* Internal helper exported for package-local composition.
|
|
182
|
-
*
|
|
183
|
-
* @internal
|
|
184
|
-
*/
|
|
185
|
-
export declare const hasMapFlatten: (source: string) => number | false;
|
|
186
|
-
/**
|
|
187
|
-
* Internal helper exported for package-local composition.
|
|
188
|
-
*
|
|
189
|
-
* @internal
|
|
190
|
-
*/
|
|
191
|
-
export declare const effectWrapperStatement: (source: string, targetIndex: number) => string | undefined;
|
|
192
|
-
/**
|
|
193
|
-
* Internal helper exported for package-local composition.
|
|
194
|
-
*
|
|
195
|
-
* @internal
|
|
196
|
-
*/
|
|
197
|
-
export declare const hasDirectPlatformAccess: (source: string, context: RuleContext) => boolean;
|
|
3
|
+
export { effectWrapperStatement, hasCryptoRandomUUID, hasDirectPlatformAccess, hasEffectSucceedWithVoid, hasExportedRunPromiseAPI, hasGlobalFetch, hasLayerEffectWithScope, hasMapFlatten, hasMapToVoid, hasMultipleProvideChain, hasNodeBuiltinImport, hasNonDeterministicServiceKey, hasPromiseReturningPublicAPI, hasRetryScheduleWithoutJitter, hasRunSyncInServerRequestHandler, hasSchemaInstanceof, hasSchemaStructWithTag, hasSchemaUnionOfLiterals, publicAPIDeclarationSignature, } from './effect-strict-source-predicates';
|
|
198
4
|
//# sourceMappingURL=effect-strict-internals.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"effect-strict-internals.d.ts","sourceRoot":"","sources":["../../src/rules/effect-strict-internals.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"effect-strict-internals.d.ts","sourceRoot":"","sources":["../../src/rules/effect-strict-internals.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,QAAQ,EACR,cAAc,EACd,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,WAAW,EACX,SAAS,EACT,mBAAmB,GACpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACrE,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,EACxB,cAAc,EACd,uBAAuB,EACvB,aAAa,EACb,YAAY,EACZ,uBAAuB,EACvB,oBAAoB,EACpB,6BAA6B,EAC7B,4BAA4B,EAC5B,6BAA6B,EAC7B,gCAAgC,EAChC,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,mCAAmC,CAAC"}
|