@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,191 @@
|
|
|
1
|
+
/* -------------------------------------------------------------------------- */
|
|
2
|
+
/* Object and array projection for invocation arguments. */
|
|
3
|
+
/* -------------------------------------------------------------------------- */
|
|
4
|
+
import { boundArgument, concreteArgument } from './effect-promise-environment-values.js';
|
|
5
|
+
import { childNode, childNodes, identifierName } from './effect-ast.js';
|
|
6
|
+
import { declaredPromisePropertyName, rawPromiseNodes } from './effect-promise-ast-values.js';
|
|
7
|
+
import { unknownArgument } from './effect-promise-environment-types.js';
|
|
8
|
+
const absentProperty = Symbol('absentProperty');
|
|
9
|
+
const propertyRead = (value) => ({ value });
|
|
10
|
+
const getterEvaluation = (object) => {
|
|
11
|
+
const helperScope = new Map();
|
|
12
|
+
const values = new Map();
|
|
13
|
+
return {
|
|
14
|
+
environments: [...object.environments, { helperScope, values }],
|
|
15
|
+
helperScopes: [...object.helperScopes, helperScope],
|
|
16
|
+
values,
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
const bindGetterDeclarators = (declaration, object, evaluation) => {
|
|
20
|
+
for (const declarator of childNodes(declaration, 'declarations')) {
|
|
21
|
+
const name = identifierName(childNode(declarator, 'id'));
|
|
22
|
+
if (name) {
|
|
23
|
+
evaluation.values.set(name, boundArgument(childNode(declarator, 'init'), object.scopes, evaluation.helperScopes, evaluation.environments));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
const getterReturn = (getter, object) => {
|
|
28
|
+
const body = childNode(getter, 'body');
|
|
29
|
+
if (!body) {
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
const evaluation = getterEvaluation(object);
|
|
33
|
+
for (const statement of childNodes(body, 'body')) {
|
|
34
|
+
if (statement.type === 'VariableDeclaration') {
|
|
35
|
+
bindGetterDeclarators(statement, object, evaluation);
|
|
36
|
+
}
|
|
37
|
+
else if (statement.type === 'ReturnStatement') {
|
|
38
|
+
return boundArgument(childNode(statement, 'argument'), object.scopes, evaluation.helperScopes, evaluation.environments);
|
|
39
|
+
}
|
|
40
|
+
else if (statement.type !== 'ExpressionStatement') {
|
|
41
|
+
return unknownArgument;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return undefined;
|
|
45
|
+
};
|
|
46
|
+
const getterIsAbrupt = (getter) => {
|
|
47
|
+
const body = childNode(getter, 'body');
|
|
48
|
+
for (const statement of childNodes(body ?? getter, 'body')) {
|
|
49
|
+
if (statement.type === 'ReturnStatement') {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
if (statement.type === 'ThrowStatement') {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return false;
|
|
57
|
+
};
|
|
58
|
+
const getterRead = (getter, object) => {
|
|
59
|
+
const binding = {
|
|
60
|
+
helperScopes: object.helperScopes,
|
|
61
|
+
node: getter,
|
|
62
|
+
scopes: object.scopes,
|
|
63
|
+
};
|
|
64
|
+
return {
|
|
65
|
+
getter: {
|
|
66
|
+
binding,
|
|
67
|
+
environments: object.environments,
|
|
68
|
+
isAbrupt: getterIsAbrupt(getter),
|
|
69
|
+
},
|
|
70
|
+
value: getterReturn(getter, object),
|
|
71
|
+
};
|
|
72
|
+
};
|
|
73
|
+
const matchedPropertyRead = (property, object) => {
|
|
74
|
+
const kind = Reflect.get(property, 'kind');
|
|
75
|
+
const value = childNode(property, 'value');
|
|
76
|
+
if (kind === 'get' && value) {
|
|
77
|
+
return getterRead(value, object);
|
|
78
|
+
}
|
|
79
|
+
return propertyRead(boundArgument(value, object.scopes, object.helperScopes, object.environments));
|
|
80
|
+
};
|
|
81
|
+
const isMatchingSetter = (property, propertyName) => property.type === 'Property' &&
|
|
82
|
+
Reflect.get(property, 'kind') === 'set' &&
|
|
83
|
+
declaredPromisePropertyName(property) === propertyName;
|
|
84
|
+
const projectionAfterSetter = (projected, hasTrailingSetter) => {
|
|
85
|
+
if (projected !== absentProperty && hasTrailingSetter && !projected.getter) {
|
|
86
|
+
return propertyRead(undefined);
|
|
87
|
+
}
|
|
88
|
+
return projected;
|
|
89
|
+
};
|
|
90
|
+
const missingPropertyProjection = (hasSetter) => {
|
|
91
|
+
if (hasSetter) {
|
|
92
|
+
return propertyRead(undefined);
|
|
93
|
+
}
|
|
94
|
+
return absentProperty;
|
|
95
|
+
};
|
|
96
|
+
const propertyValueFromObject = (object, propertyName) => {
|
|
97
|
+
const properties = childNodes(object.node, 'properties');
|
|
98
|
+
let hasTrailingSetter = false;
|
|
99
|
+
for (let index = properties.length - 1; index >= 0; index -= 1) {
|
|
100
|
+
const property = properties[index];
|
|
101
|
+
if (property && isMatchingSetter(property, propertyName)) {
|
|
102
|
+
hasTrailingSetter = true;
|
|
103
|
+
}
|
|
104
|
+
else if (property) {
|
|
105
|
+
const projected = propertyProjection(property, object, propertyName);
|
|
106
|
+
if (projected !== absentProperty) {
|
|
107
|
+
return projectionAfterSetter(projected, hasTrailingSetter);
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
return missingPropertyProjection(hasTrailingSetter);
|
|
112
|
+
};
|
|
113
|
+
const spreadPropertyValue = (property, object, propertyName) => {
|
|
114
|
+
const spread = boundArgument(childNode(property, 'argument'), object.scopes, object.helperScopes, object.environments);
|
|
115
|
+
const spreadObject = concreteArgument(spread);
|
|
116
|
+
if (spreadObject?.node.type !== 'ObjectExpression') {
|
|
117
|
+
return propertyRead(unknownArgument);
|
|
118
|
+
}
|
|
119
|
+
const projected = propertyValueFromObject(spreadObject, propertyName);
|
|
120
|
+
if (projected === absentProperty || !object.isEvaluatedObject || !projected.getter) {
|
|
121
|
+
return projected;
|
|
122
|
+
}
|
|
123
|
+
return propertyRead(projected.value);
|
|
124
|
+
};
|
|
125
|
+
const directPropertyValue = (property, object, propertyName) => {
|
|
126
|
+
if (property.type !== 'Property') {
|
|
127
|
+
return absentProperty;
|
|
128
|
+
}
|
|
129
|
+
const name = declaredPromisePropertyName(property);
|
|
130
|
+
if (!name) {
|
|
131
|
+
return propertyRead(unknownArgument);
|
|
132
|
+
}
|
|
133
|
+
if (name !== propertyName) {
|
|
134
|
+
return absentProperty;
|
|
135
|
+
}
|
|
136
|
+
return matchedPropertyRead(property, object);
|
|
137
|
+
};
|
|
138
|
+
const propertyProjection = (property, object, propertyName) => {
|
|
139
|
+
if (property.type === 'SpreadElement') {
|
|
140
|
+
return spreadPropertyValue(property, object, propertyName);
|
|
141
|
+
}
|
|
142
|
+
return directPropertyValue(property, object, propertyName);
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Project one statically known object property from an abstract value.
|
|
146
|
+
*
|
|
147
|
+
* @internal
|
|
148
|
+
*/
|
|
149
|
+
export const objectPropertyRead = (value, propertyName) => {
|
|
150
|
+
if (value === unknownArgument) {
|
|
151
|
+
return propertyRead(unknownArgument);
|
|
152
|
+
}
|
|
153
|
+
const object = concreteArgument(value);
|
|
154
|
+
if (object?.node.type !== 'ObjectExpression') {
|
|
155
|
+
return propertyRead(unknownArgument);
|
|
156
|
+
}
|
|
157
|
+
const projected = propertyValueFromObject(object, propertyName);
|
|
158
|
+
if (projected === absentProperty) {
|
|
159
|
+
return propertyRead(undefined);
|
|
160
|
+
}
|
|
161
|
+
return projected;
|
|
162
|
+
};
|
|
163
|
+
const appendArrayElement = (values, element, array) => {
|
|
164
|
+
if (element?.type !== 'SpreadElement') {
|
|
165
|
+
values.push(boundArgument(element, array.scopes, array.helperScopes, array.environments));
|
|
166
|
+
return true;
|
|
167
|
+
}
|
|
168
|
+
const spread = boundArgument(childNode(element, 'argument'), array.scopes, array.helperScopes, array.environments);
|
|
169
|
+
const spreadArray = concreteArgument(spread);
|
|
170
|
+
if (spreadArray?.node.type !== 'ArrayExpression') {
|
|
171
|
+
return false;
|
|
172
|
+
}
|
|
173
|
+
const nested = arrayValues(spreadArray);
|
|
174
|
+
values.push(...nested.values);
|
|
175
|
+
return nested.isExact;
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Expand a statically known array expression until its cardinality is unknown.
|
|
179
|
+
*
|
|
180
|
+
* @internal
|
|
181
|
+
*/
|
|
182
|
+
export const arrayValues = (array) => {
|
|
183
|
+
const values = [];
|
|
184
|
+
for (const element of rawPromiseNodes(array.node, 'elements')) {
|
|
185
|
+
if (!appendArrayElement(values, element, array)) {
|
|
186
|
+
return { isExact: false, values };
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return { isExact: true, values };
|
|
190
|
+
};
|
|
191
|
+
//# sourceMappingURL=effect-promise-environment-projections.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect-promise-environment-projections.js","sourceRoot":"","sources":["../../src/rules/effect-promise-environment-projections.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import type { FunctionBinding, HelperScope, HelperScopes } from './effect-promise-callable-types';
|
|
2
|
+
import type { ASTNode } from './effect-ast';
|
|
3
|
+
import type { ScopeStack } from './effect-ast-scope';
|
|
4
|
+
/**
|
|
5
|
+
* An invocation value whose runtime source cannot be proven.
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export declare const unknownArgument: unique symbol;
|
|
10
|
+
/**
|
|
11
|
+
* One concrete expression together with its lexical closure provenance.
|
|
12
|
+
*
|
|
13
|
+
* @internal
|
|
14
|
+
*/
|
|
15
|
+
export interface BoundArgument {
|
|
16
|
+
environments: ParameterEnvironments;
|
|
17
|
+
helperScopes: HelperScopes;
|
|
18
|
+
isEvaluatedObject?: boolean;
|
|
19
|
+
node: ASTNode;
|
|
20
|
+
scopes: ScopeStack;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* An exact, absent, or unknown runtime argument.
|
|
24
|
+
*
|
|
25
|
+
* @internal
|
|
26
|
+
*/
|
|
27
|
+
export type ArgumentValue = BoundArgument | undefined | typeof unknownArgument;
|
|
28
|
+
/**
|
|
29
|
+
* Invocation arguments after resolving caller parameter forwarding.
|
|
30
|
+
*
|
|
31
|
+
* @internal
|
|
32
|
+
*/
|
|
33
|
+
export interface ExecutionArguments {
|
|
34
|
+
isExact: boolean;
|
|
35
|
+
values: readonly ArgumentValue[];
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* One invoked function's parameter values and lexical helper-scope marker.
|
|
39
|
+
*
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
export interface ParameterEnvironment {
|
|
43
|
+
helperScope: HelperScope;
|
|
44
|
+
values: Map<string, ArgumentValue>;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Active lexical invocation environments from outermost to innermost.
|
|
48
|
+
*
|
|
49
|
+
* @internal
|
|
50
|
+
*/
|
|
51
|
+
export type ParameterEnvironments = readonly ParameterEnvironment[];
|
|
52
|
+
/**
|
|
53
|
+
* Parameter preparation needed before executing a function body.
|
|
54
|
+
*
|
|
55
|
+
* @internal
|
|
56
|
+
*/
|
|
57
|
+
export interface PreparedParameters {
|
|
58
|
+
defaults: readonly ParameterDefault[];
|
|
59
|
+
environments: ParameterEnvironments;
|
|
60
|
+
getters: readonly ParameterGetter[];
|
|
61
|
+
helperScopes: HelperScopes;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* One parameter default expression selected by the current invocation.
|
|
65
|
+
*
|
|
66
|
+
* @internal
|
|
67
|
+
*/
|
|
68
|
+
export interface ParameterDefault {
|
|
69
|
+
expression: BoundArgument;
|
|
70
|
+
pattern: ASTNode;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* One accessor getter evaluated by parameter destructuring.
|
|
74
|
+
*
|
|
75
|
+
* @internal
|
|
76
|
+
*/
|
|
77
|
+
export interface ParameterGetter {
|
|
78
|
+
binding: FunctionBinding;
|
|
79
|
+
environments: ParameterEnvironments;
|
|
80
|
+
isAbrupt: boolean;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Mutable assembly state used only while binding one function header.
|
|
84
|
+
*
|
|
85
|
+
* @internal
|
|
86
|
+
*/
|
|
87
|
+
export interface ParameterBuild {
|
|
88
|
+
defaults: ParameterDefault[];
|
|
89
|
+
environment: Map<string, ArgumentValue>;
|
|
90
|
+
environments: ParameterEnvironments;
|
|
91
|
+
getters: ParameterGetter[];
|
|
92
|
+
helperScopes: HelperScopes;
|
|
93
|
+
runtimeBindings: Map<string, FunctionBinding | undefined>;
|
|
94
|
+
scopes: ScopeStack;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=effect-promise-environment-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect-promise-environment-types.d.ts","sourceRoot":"","sources":["../../src/rules/effect-promise-environment-types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAClG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD;;;;GAIG;AACH,eAAO,MAAM,eAAe,eAA4B,CAAC;AAEzD;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,qBAAqB,CAAC;IACpC,YAAY,EAAE,YAAY,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,eAAe,CAAC;AAE/E;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,SAAS,aAAa,EAAE,CAAC;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,MAAM,qBAAqB,GAAG,SAAS,oBAAoB,EAAE,CAAC;AAEpE;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACtC,YAAY,EAAE,qBAAqB,CAAC;IACpC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;IACpC,YAAY,EAAE,YAAY,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,aAAa,CAAC;IAC1B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,eAAe,CAAC;IACzB,YAAY,EAAE,qBAAqB,CAAC;IACpC,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,YAAY,EAAE,qBAAqB,CAAC;IACpC,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,CAAC,CAAC;IAC1D,MAAM,EAAE,UAAU,CAAC;CACpB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/* -------------------------------------------------------------------------- */
|
|
2
|
+
/* Abstract values for Promise invocation environments. */
|
|
3
|
+
/* -------------------------------------------------------------------------- */
|
|
4
|
+
/**
|
|
5
|
+
* An invocation value whose runtime source cannot be proven.
|
|
6
|
+
*
|
|
7
|
+
* @internal
|
|
8
|
+
*/
|
|
9
|
+
export const unknownArgument = Symbol('unknownArgument');
|
|
10
|
+
//# sourceMappingURL=effect-promise-environment-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect-promise-environment-types.js","sourceRoot":"","sources":["../../src/rules/effect-promise-environment-types.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAMhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { ArgumentValue, BoundArgument, ExecutionArguments, ParameterEnvironments } from './effect-promise-environment-types';
|
|
2
|
+
import type { HelperScopes, InvocationArguments } from './effect-promise-callable-types';
|
|
3
|
+
import type { ASTNode } from './effect-ast';
|
|
4
|
+
import type { ScopeStack } from './effect-ast-scope';
|
|
5
|
+
/**
|
|
6
|
+
* Narrow one abstract value to a concrete bound expression.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare const concreteArgument: (value: ArgumentValue) => BoundArgument | undefined;
|
|
11
|
+
/**
|
|
12
|
+
* Determine whether a value provably selects a JavaScript default.
|
|
13
|
+
*
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export declare const isUndefinedArgument: (value: ArgumentValue) => boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Write one exact value to the nearest visible execution environment.
|
|
19
|
+
*
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export declare const assignArgument: (name: string, value: ArgumentValue, helperScopes: HelperScopes, environments: ParameterEnvironments) => void;
|
|
23
|
+
/**
|
|
24
|
+
* Bind an expression at its evaluation site, resolving forwarded parameters.
|
|
25
|
+
*
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
export declare const boundArgument: (node: ASTNode | undefined, scopes: ScopeStack, helperScopes: HelperScopes, environments: ParameterEnvironments) => ArgumentValue;
|
|
29
|
+
/**
|
|
30
|
+
* Resolve raw call arguments through the caller's active environments.
|
|
31
|
+
*
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
34
|
+
export declare const executionArguments: (invocation: InvocationArguments, scopes: ScopeStack, helperScopes: HelperScopes, environments: ParameterEnvironments) => ExecutionArguments;
|
|
35
|
+
/**
|
|
36
|
+
* Read one abstract argument by position.
|
|
37
|
+
*
|
|
38
|
+
* @internal
|
|
39
|
+
*/
|
|
40
|
+
export declare const argumentAt: (argumentsList: ExecutionArguments, index: number) => ArgumentValue;
|
|
41
|
+
//# sourceMappingURL=effect-promise-environment-values.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect-promise-environment-values.d.ts","sourceRoot":"","sources":["../../src/rules/effect-promise-environment-values.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EAEV,YAAY,EACZ,mBAAmB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAerD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,aAAa,KAAG,aAAa,GAAG,SAKvE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,OAAO,aAAa,KAAG,OAS1D,CAAC;AA4JF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GACzB,MAAM,MAAM,EACZ,OAAO,aAAa,EACpB,cAAc,YAAY,EAC1B,cAAc,qBAAqB,KAClC,IAgBF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,GACxB,MAAM,OAAO,GAAG,SAAS,EACzB,QAAQ,UAAU,EAClB,cAAc,YAAY,EAC1B,cAAc,qBAAqB,KAClC,aAaF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAC7B,YAAY,mBAAmB,EAC/B,QAAQ,UAAU,EAClB,cAAc,YAAY,EAC1B,cAAc,qBAAqB,KAClC,kBAMF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GAAI,eAAe,kBAAkB,EAAE,OAAO,MAAM,KAAG,aAQ7E,CAAC"}
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
/* -------------------------------------------------------------------------- */
|
|
2
|
+
/* Value forwarding through Promise invocation environments. */
|
|
3
|
+
/* -------------------------------------------------------------------------- */
|
|
4
|
+
import { identifierName } from './effect-ast.js';
|
|
5
|
+
import { resolveLexicalValue } from './effect-promise-value-scopes.js';
|
|
6
|
+
import { unknownArgument } from './effect-promise-environment-types.js';
|
|
7
|
+
import { unwrappedExpression } from './effect-boundary-ast-shared.js';
|
|
8
|
+
const isShadowed = (name, scopes) => {
|
|
9
|
+
for (let index = scopes.length - 1; index >= 0; index -= 1) {
|
|
10
|
+
if (scopes[index]?.has(name)) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
return false;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Narrow one abstract value to a concrete bound expression.
|
|
18
|
+
*
|
|
19
|
+
* @internal
|
|
20
|
+
*/
|
|
21
|
+
export const concreteArgument = (value) => {
|
|
22
|
+
if (value && value !== unknownArgument) {
|
|
23
|
+
return value;
|
|
24
|
+
}
|
|
25
|
+
return undefined;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Determine whether a value provably selects a JavaScript default.
|
|
29
|
+
*
|
|
30
|
+
* @internal
|
|
31
|
+
*/
|
|
32
|
+
export const isUndefinedArgument = (value) => {
|
|
33
|
+
if (!value || value === unknownArgument) {
|
|
34
|
+
return value === undefined;
|
|
35
|
+
}
|
|
36
|
+
const expression = unwrappedExpression(value.node);
|
|
37
|
+
if (identifierName(expression) === 'undefined') {
|
|
38
|
+
return !isShadowed('undefined', value.scopes);
|
|
39
|
+
}
|
|
40
|
+
return expression?.type === 'UnaryExpression' && Reflect.get(expression, 'operator') === 'void';
|
|
41
|
+
};
|
|
42
|
+
const isShadowedAfter = (name, marker, helperScopes) => {
|
|
43
|
+
for (let index = helperScopes.length - 1; index >= 0; index -= 1) {
|
|
44
|
+
const scope = helperScopes[index];
|
|
45
|
+
if (scope === marker) {
|
|
46
|
+
return false;
|
|
47
|
+
}
|
|
48
|
+
if (scope?.has(name)) {
|
|
49
|
+
return true;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
return true;
|
|
53
|
+
};
|
|
54
|
+
const valueFromEnvironment = (name, helperScopes, environment) => {
|
|
55
|
+
if (!isShadowedAfter(name, environment.helperScope, helperScopes) &&
|
|
56
|
+
environment.values.has(name)) {
|
|
57
|
+
return { found: true, value: environment.values.get(name) };
|
|
58
|
+
}
|
|
59
|
+
return undefined;
|
|
60
|
+
};
|
|
61
|
+
const environmentValue = (name, helperScopes, environments) => {
|
|
62
|
+
for (let index = environments.length - 1; index >= 0; index -= 1) {
|
|
63
|
+
const environment = environments[index];
|
|
64
|
+
if (environment) {
|
|
65
|
+
const resolved = valueFromEnvironment(name, helperScopes, environment);
|
|
66
|
+
if (resolved) {
|
|
67
|
+
return resolved;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return { found: false, value: undefined };
|
|
72
|
+
};
|
|
73
|
+
const lexicalValueArgument = (name, expression, helperScopes, environments) => {
|
|
74
|
+
const lexical = resolveLexicalValue(name, expression, helperScopes);
|
|
75
|
+
if (!lexical.binding) {
|
|
76
|
+
if (lexical.found) {
|
|
77
|
+
return { found: true, value: unknownArgument };
|
|
78
|
+
}
|
|
79
|
+
return { found: false, value: undefined };
|
|
80
|
+
}
|
|
81
|
+
const { node } = lexical.binding;
|
|
82
|
+
if (!node) {
|
|
83
|
+
return { found: true, value: undefined };
|
|
84
|
+
}
|
|
85
|
+
return {
|
|
86
|
+
found: true,
|
|
87
|
+
value: {
|
|
88
|
+
environments,
|
|
89
|
+
helperScopes: lexical.binding.helperScopes,
|
|
90
|
+
isEvaluatedObject: node.type === 'ObjectExpression',
|
|
91
|
+
node,
|
|
92
|
+
scopes: lexical.binding.scopes,
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
};
|
|
96
|
+
const namedArgument = (name, expression, helperScopes, environments) => {
|
|
97
|
+
const environment = environmentValue(name, helperScopes, environments);
|
|
98
|
+
if (environment.found) {
|
|
99
|
+
return environment;
|
|
100
|
+
}
|
|
101
|
+
return lexicalValueArgument(name, expression, helperScopes, environments);
|
|
102
|
+
};
|
|
103
|
+
const noAlias = Symbol('noAlias');
|
|
104
|
+
const nextAliasArgument = (current) => {
|
|
105
|
+
const expression = unwrappedExpression(current.node);
|
|
106
|
+
const name = identifierName(expression);
|
|
107
|
+
if (!name || !expression) {
|
|
108
|
+
return noAlias;
|
|
109
|
+
}
|
|
110
|
+
const resolved = namedArgument(name, expression, current.helperScopes, current.environments);
|
|
111
|
+
if (!resolved.found) {
|
|
112
|
+
return noAlias;
|
|
113
|
+
}
|
|
114
|
+
return resolved.value;
|
|
115
|
+
};
|
|
116
|
+
const followAliasStep = (current, seen) => {
|
|
117
|
+
const next = nextAliasArgument(current);
|
|
118
|
+
if (next === noAlias) {
|
|
119
|
+
return { result: current };
|
|
120
|
+
}
|
|
121
|
+
if (!next || next === unknownArgument) {
|
|
122
|
+
return { result: next };
|
|
123
|
+
}
|
|
124
|
+
if (seen.has(next.node)) {
|
|
125
|
+
return { result: unknownArgument };
|
|
126
|
+
}
|
|
127
|
+
seen.add(next.node);
|
|
128
|
+
return { current: next };
|
|
129
|
+
};
|
|
130
|
+
const followAlias = (initial) => {
|
|
131
|
+
const seen = new Set([initial.node]);
|
|
132
|
+
let current = initial;
|
|
133
|
+
while (true) {
|
|
134
|
+
const step = followAliasStep(current, seen);
|
|
135
|
+
if (!step.current) {
|
|
136
|
+
return step.result;
|
|
137
|
+
}
|
|
138
|
+
({ current } = step);
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
const resolvedAliasArgument = (value) => {
|
|
142
|
+
const current = concreteArgument(value);
|
|
143
|
+
if (!current) {
|
|
144
|
+
return value;
|
|
145
|
+
}
|
|
146
|
+
return followAlias(current);
|
|
147
|
+
};
|
|
148
|
+
const mutableEnvironment = (environment) => environment.values;
|
|
149
|
+
/**
|
|
150
|
+
* Write one exact value to the nearest visible execution environment.
|
|
151
|
+
*
|
|
152
|
+
* @internal
|
|
153
|
+
*/
|
|
154
|
+
export const assignArgument = (name, value, helperScopes, environments) => {
|
|
155
|
+
for (let index = environments.length - 1; index >= 0; index -= 1) {
|
|
156
|
+
const environment = environments[index];
|
|
157
|
+
if (environment &&
|
|
158
|
+
!isShadowedAfter(name, environment.helperScope, helperScopes) &&
|
|
159
|
+
environment.values.has(name)) {
|
|
160
|
+
mutableEnvironment(environment).set(name, value);
|
|
161
|
+
return;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
const [outermost] = environments;
|
|
165
|
+
if (outermost) {
|
|
166
|
+
mutableEnvironment(outermost).set(name, value);
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
/**
|
|
170
|
+
* Bind an expression at its evaluation site, resolving forwarded parameters.
|
|
171
|
+
*
|
|
172
|
+
* @internal
|
|
173
|
+
*/
|
|
174
|
+
export const boundArgument = (node, scopes, helperScopes, environments) => {
|
|
175
|
+
if (!node) {
|
|
176
|
+
return undefined;
|
|
177
|
+
}
|
|
178
|
+
const expression = unwrappedExpression(node) ?? node;
|
|
179
|
+
const name = identifierName(expression);
|
|
180
|
+
if (name) {
|
|
181
|
+
const resolved = namedArgument(name, expression, helperScopes, environments);
|
|
182
|
+
if (resolved.found) {
|
|
183
|
+
return resolvedAliasArgument(resolved.value);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return { environments, helperScopes, node: expression, scopes };
|
|
187
|
+
};
|
|
188
|
+
/**
|
|
189
|
+
* Resolve raw call arguments through the caller's active environments.
|
|
190
|
+
*
|
|
191
|
+
* @internal
|
|
192
|
+
*/
|
|
193
|
+
export const executionArguments = (invocation, scopes, helperScopes, environments) => {
|
|
194
|
+
const values = [];
|
|
195
|
+
for (const value of invocation.values) {
|
|
196
|
+
values.push(boundArgument(value, scopes, helperScopes, environments));
|
|
197
|
+
}
|
|
198
|
+
return { isExact: invocation.isExact, values };
|
|
199
|
+
};
|
|
200
|
+
/**
|
|
201
|
+
* Read one abstract argument by position.
|
|
202
|
+
*
|
|
203
|
+
* @internal
|
|
204
|
+
*/
|
|
205
|
+
export const argumentAt = (argumentsList, index) => {
|
|
206
|
+
if (index < argumentsList.values.length) {
|
|
207
|
+
return argumentsList.values[index];
|
|
208
|
+
}
|
|
209
|
+
if (argumentsList.isExact) {
|
|
210
|
+
return undefined;
|
|
211
|
+
}
|
|
212
|
+
return unknownArgument;
|
|
213
|
+
};
|
|
214
|
+
//# sourceMappingURL=effect-promise-environment-values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect-promise-environment-values.js","sourceRoot":"","sources":["../../src/rules/effect-promise-environment-values.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { argumentAt, boundArgument, executionArguments } from './effect-promise-environment-values';
|
|
2
|
+
export { prepareParameters } from './effect-promise-parameter-bindings';
|
|
3
|
+
export { unknownArgument } from './effect-promise-environment-types';
|
|
4
|
+
export type { ArgumentValue, BoundArgument, ExecutionArguments, ParameterEnvironment, ParameterEnvironments, PreparedParameters, } from './effect-promise-environment-types';
|
|
5
|
+
//# sourceMappingURL=effect-promise-environments.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect-promise-environments.d.ts","sourceRoot":"","sources":["../../src/rules/effect-promise-environments.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AACrE,YAAY,EACV,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,oCAAoC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/* -------------------------------------------------------------------------- */
|
|
2
|
+
/* Per-invocation abstract values for Promise execution traversal. */
|
|
3
|
+
/* -------------------------------------------------------------------------- */
|
|
4
|
+
export { argumentAt, boundArgument, executionArguments } from './effect-promise-environment-values.js';
|
|
5
|
+
export { prepareParameters } from './effect-promise-parameter-bindings.js';
|
|
6
|
+
export { unknownArgument } from './effect-promise-environment-types.js';
|
|
7
|
+
//# sourceMappingURL=effect-promise-environments.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect-promise-environments.js","sourceRoot":"","sources":["../../src/rules/effect-promise-environments.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,gFAAgF;AAChF,gFAAgF;AAEhF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACpG,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { PromiseExecutionInput } from './effect-promise-execution-types';
|
|
2
|
+
export type { PromiseExecutionInput } from './effect-promise-execution-types';
|
|
3
|
+
/**
|
|
4
|
+
* Detect a Promise boundary that executes while an Effect.sync callback runs.
|
|
5
|
+
*
|
|
6
|
+
* @param input - Callback, lexical provenance, and native traversal capabilities.
|
|
7
|
+
* @returns Whether the callback synchronously reaches Promise-producing work.
|
|
8
|
+
* @throws Does not throw.
|
|
9
|
+
* @internal
|
|
10
|
+
*/
|
|
11
|
+
export declare const hasExecutedPromiseBoundary: (input: PromiseExecutionInput) => boolean;
|
|
12
|
+
//# sourceMappingURL=effect-promise-execution-ast.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"effect-promise-execution-ast.d.ts","sourceRoot":"","sources":["../../src/rules/effect-promise-execution-ast.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,qBAAqB,EAEtB,MAAM,kCAAkC,CAAC;AAK1C,YAAY,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;AAY9E;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,GAAI,OAAO,qBAAqB,KAAG,OAQzE,CAAC"}
|