eslint-plugin-effector 0.10.4 → 0.11.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/.nvmrc +1 -1
- package/docs/.vitepress/cache/deps/_metadata.json +13 -0
- package/docs/.vitepress/cache/deps/package.json +1 -0
- package/docs/.vitepress/cache/deps/vue.js +11590 -0
- package/docs/.vitepress/cache/deps/vue.js.map +7 -0
- package/docs/.vitepress/dist/404.html +12 -8
- package/docs/.vitepress/dist/apple-touch-icon.png +0 -0
- package/docs/.vitepress/dist/assets/app.bd59d2fd.js +1 -0
- package/docs/.vitepress/dist/assets/changelog.md.772a432f.js +1 -0
- package/docs/.vitepress/dist/assets/changelog.md.772a432f.lean.js +1 -0
- package/docs/.vitepress/dist/assets/chunks/VPAlgoliaSearchBox.e15d81bd.js +14 -0
- package/docs/.vitepress/dist/assets/chunks/framework.02595b67.js +2 -0
- package/docs/.vitepress/dist/assets/chunks/theme.23495dab.js +7 -0
- package/docs/.vitepress/dist/assets/index.md.22c1dc01.js +1 -0
- package/docs/.vitepress/dist/assets/index.md.22c1dc01.lean.js +1 -0
- package/docs/.vitepress/dist/assets/presets___future.md.e9103b27.js +1 -0
- package/docs/.vitepress/dist/assets/presets___future.md.e9103b27.lean.js +1 -0
- package/docs/.vitepress/dist/assets/presets___index.md.036348a2.js +1 -0
- package/docs/.vitepress/dist/assets/presets___index.md.036348a2.lean.js +1 -0
- package/docs/.vitepress/dist/assets/presets___list.md.c59d692a.js +1 -0
- package/docs/.vitepress/dist/assets/presets___list.md.c59d692a.lean.js +1 -0
- package/docs/.vitepress/dist/assets/presets___patronum.md.378cac9e.js +1 -0
- package/docs/.vitepress/dist/assets/presets___patronum.md.378cac9e.lean.js +1 -0
- package/docs/.vitepress/dist/assets/presets___react.md.032da791.js +1 -0
- package/docs/.vitepress/dist/assets/presets___react.md.032da791.lean.js +1 -0
- package/docs/.vitepress/dist/assets/presets___recommended.md.8e0219bf.js +1 -0
- package/docs/.vitepress/dist/assets/presets___recommended.md.8e0219bf.lean.js +1 -0
- package/docs/.vitepress/dist/assets/presets___scope.md.a16b0476.js +1 -0
- package/docs/.vitepress/dist/assets/presets___scope.md.a16b0476.lean.js +1 -0
- package/docs/.vitepress/dist/assets/presets_future.md.cb2d4750.js +4 -0
- package/docs/.vitepress/dist/assets/presets_future.md.cb2d4750.lean.js +1 -0
- package/docs/.vitepress/dist/assets/presets_index.md.4607f021.js +1 -0
- package/docs/.vitepress/dist/assets/presets_index.md.4607f021.lean.js +1 -0
- package/docs/.vitepress/dist/assets/presets_patronum.md.ac63c75e.js +4 -0
- package/docs/.vitepress/dist/assets/presets_patronum.md.ac63c75e.lean.js +1 -0
- package/docs/.vitepress/dist/assets/presets_react.md.91f097f9.js +4 -0
- package/docs/.vitepress/dist/assets/presets_react.md.91f097f9.lean.js +1 -0
- package/docs/.vitepress/dist/assets/presets_recommended.md.98643b5c.js +4 -0
- package/docs/.vitepress/dist/assets/presets_recommended.md.98643b5c.lean.js +1 -0
- package/docs/.vitepress/dist/assets/presets_scope.md.e1b77236.js +4 -0
- package/docs/.vitepress/dist/assets/presets_scope.md.e1b77236.lean.js +1 -0
- package/docs/.vitepress/dist/assets/rules___index.md.4cf71d5e.js +1 -0
- package/docs/.vitepress/dist/assets/rules___index.md.4cf71d5e.lean.js +1 -0
- package/docs/.vitepress/dist/assets/rules___list.md.3d2508ab.js +1 -0
- package/docs/.vitepress/dist/assets/rules___list.md.3d2508ab.lean.js +1 -0
- package/docs/.vitepress/dist/assets/rules_enforce-effect-naming-convention.md.ad7462af.js +9 -0
- package/docs/.vitepress/dist/assets/rules_enforce-effect-naming-convention.md.ad7462af.lean.js +1 -0
- package/docs/.vitepress/dist/assets/rules_enforce-gate-naming-convention.md.f7ab1c32.js +9 -0
- package/docs/.vitepress/dist/assets/rules_enforce-gate-naming-convention.md.f7ab1c32.lean.js +1 -0
- package/docs/.vitepress/dist/assets/{rules_enforce-store-naming-convention.md.db33b9cb.js → rules_enforce-store-naming-convention.md.0d2ed508.js} +7 -11
- package/docs/.vitepress/dist/assets/rules_enforce-store-naming-convention.md.0d2ed508.lean.js +1 -0
- package/docs/.vitepress/dist/assets/rules_index.md.5ef5b917.js +1 -0
- package/docs/.vitepress/dist/assets/rules_index.md.5ef5b917.lean.js +1 -0
- package/docs/.vitepress/dist/assets/{rules_keep-options-order.md.5345093b.js → rules_keep-options-order.md.58bfbca2.js} +3 -4
- package/docs/.vitepress/dist/assets/rules_keep-options-order.md.58bfbca2.lean.js +1 -0
- package/docs/.vitepress/dist/assets/rules_mandatory-scope-binding.md.9c380ecb.js +13 -0
- package/docs/.vitepress/dist/assets/rules_mandatory-scope-binding.md.9c380ecb.lean.js +1 -0
- package/docs/.vitepress/dist/assets/{rules_no-ambiguity-target.md.7fde769b.js → rules_no-ambiguity-target.md.94231682.js} +3 -4
- package/docs/.vitepress/dist/assets/rules_no-ambiguity-target.md.94231682.lean.js +1 -0
- package/docs/.vitepress/dist/assets/rules_no-duplicate-on.md.d01d60d6.js +10 -0
- package/docs/.vitepress/dist/assets/rules_no-duplicate-on.md.d01d60d6.lean.js +1 -0
- package/docs/.vitepress/dist/assets/rules_no-forward.md.f83457f0.js +9 -0
- package/docs/.vitepress/dist/assets/rules_no-forward.md.f83457f0.lean.js +1 -0
- package/docs/.vitepress/dist/assets/{rules_no-getState.md.665d0467.js → rules_no-getState.md.4a019d9c.js} +6 -7
- package/docs/.vitepress/dist/assets/rules_no-getState.md.4a019d9c.lean.js +1 -0
- package/docs/.vitepress/dist/assets/{rules_no-guard.md.5056c7b6.js → rules_no-guard.md.ce7893c6.js} +7 -9
- package/docs/.vitepress/dist/assets/rules_no-guard.md.ce7893c6.lean.js +1 -0
- package/docs/.vitepress/dist/assets/rules_no-patronum-debug.md.e1506172.js +12 -0
- package/docs/.vitepress/dist/assets/rules_no-patronum-debug.md.e1506172.lean.js +1 -0
- package/docs/.vitepress/dist/assets/{rules_no-unnecessary-combination.md.e7221074.js → rules_no-unnecessary-combination.md.c493c675.js} +4 -5
- package/docs/.vitepress/dist/assets/rules_no-unnecessary-combination.md.c493c675.lean.js +1 -0
- package/docs/.vitepress/dist/assets/{rules_no-unnecessary-duplication.md.3a99556b.js → rules_no-unnecessary-duplication.md.73a858d8.js} +11 -12
- package/docs/.vitepress/dist/assets/rules_no-unnecessary-duplication.md.73a858d8.lean.js +1 -0
- package/docs/.vitepress/dist/assets/{rules_no-useless-methods.md.e13dc29f.js → rules_no-useless-methods.md.8043425b.js} +4 -5
- package/docs/.vitepress/dist/assets/rules_no-useless-methods.md.8043425b.lean.js +1 -0
- package/docs/.vitepress/dist/assets/{rules_no-watch.md.72ac4d86.js → rules_no-watch.md.c78d9c95.js} +9 -10
- package/docs/.vitepress/dist/assets/rules_no-watch.md.c78d9c95.lean.js +1 -0
- package/docs/.vitepress/dist/assets/{rules_prefer-sample-over-forward-with-mapping.md.e5a7f363.js → rules_prefer-sample-over-forward-with-mapping.md.b5f139ea.js} +8 -9
- package/docs/.vitepress/dist/assets/rules_prefer-sample-over-forward-with-mapping.md.b5f139ea.lean.js +1 -0
- package/docs/.vitepress/dist/assets/{rules_prefer-useUnit.md.2d27cecd.js → rules_prefer-useUnit.md.e6b1721b.js} +5 -6
- package/docs/.vitepress/dist/assets/rules_prefer-useUnit.md.e6b1721b.lean.js +1 -0
- package/docs/.vitepress/dist/assets/rules_strict-effect-handlers.md.142370fb.js +20 -0
- package/docs/.vitepress/dist/assets/rules_strict-effect-handlers.md.142370fb.lean.js +1 -0
- package/docs/.vitepress/dist/assets/shared_install.md.71ecb8f5.js +1 -0
- package/docs/.vitepress/dist/assets/shared_install.md.71ecb8f5.lean.js +1 -0
- package/docs/.vitepress/dist/assets/style.d567007a.css +1 -0
- package/docs/.vitepress/dist/changelog.html +26 -0
- package/docs/.vitepress/dist/comet-192.png +0 -0
- package/docs/.vitepress/dist/comet-512.png +0 -0
- package/docs/.vitepress/dist/comet.svg +228 -0
- package/docs/.vitepress/dist/favicon.ico +0 -0
- package/docs/.vitepress/dist/hashmap.json +1 -1
- package/docs/.vitepress/dist/index.html +16 -10
- package/docs/.vitepress/dist/manifest.webmanifest +6 -0
- package/docs/.vitepress/dist/presets/__future.html +16 -10
- package/docs/.vitepress/dist/presets/__index.html +16 -10
- package/docs/.vitepress/dist/presets/__list.html +16 -10
- package/docs/.vitepress/dist/presets/__patronum.html +16 -10
- package/docs/.vitepress/dist/presets/__react.html +16 -10
- package/docs/.vitepress/dist/presets/__recommended.html +16 -10
- package/docs/.vitepress/dist/presets/__scope.html +16 -10
- package/docs/.vitepress/dist/presets/future.html +19 -10
- package/docs/.vitepress/dist/presets/index.html +16 -10
- package/docs/.vitepress/dist/presets/patronum.html +19 -10
- package/docs/.vitepress/dist/presets/react.html +19 -10
- package/docs/.vitepress/dist/presets/recommended.html +19 -10
- package/docs/.vitepress/dist/presets/scope.html +19 -10
- package/docs/.vitepress/dist/rules/__index.html +16 -10
- package/docs/.vitepress/dist/rules/__list.html +16 -10
- package/docs/.vitepress/dist/rules/enforce-effect-naming-convention.html +22 -13
- package/docs/.vitepress/dist/rules/enforce-gate-naming-convention.html +22 -13
- package/docs/.vitepress/dist/rules/enforce-store-naming-convention.html +22 -20
- package/docs/.vitepress/dist/rules/index.html +16 -10
- package/docs/.vitepress/dist/rules/keep-options-order.html +18 -13
- package/docs/.vitepress/dist/rules/mandatory-scope-binding.html +21 -16
- package/docs/.vitepress/dist/rules/no-ambiguity-target.html +18 -13
- package/docs/.vitepress/dist/rules/no-duplicate-on.html +22 -17
- package/docs/.vitepress/dist/rules/no-forward.html +21 -17
- package/docs/.vitepress/dist/rules/no-getState.html +21 -16
- package/docs/.vitepress/dist/rules/no-guard.html +22 -18
- package/docs/.vitepress/dist/rules/no-patronum-debug.html +22 -18
- package/docs/.vitepress/dist/rules/no-unnecessary-combination.html +19 -14
- package/docs/.vitepress/dist/rules/no-unnecessary-duplication.html +26 -21
- package/docs/.vitepress/dist/rules/no-useless-methods.html +19 -14
- package/docs/.vitepress/dist/rules/no-watch.html +24 -19
- package/docs/.vitepress/dist/rules/prefer-sample-over-forward-with-mapping.html +23 -18
- package/docs/.vitepress/dist/rules/prefer-useUnit.html +20 -15
- package/docs/.vitepress/dist/rules/strict-effect-handlers.html +29 -26
- package/docs/.vitepress/dist/shared/install.html +26 -0
- package/docs/.vitepress/theme/custom.css +2 -0
- package/package.json +3 -2
- package/rules/no-ambiguity-target/no-ambiguity-target.js +2 -1
- package/utils/get-corrected-store-name.js +31 -7
- package/utils/naming.js +1 -1
- package/docs/.vitepress/dist/assets/app.c5be1f68.js +0 -7
- package/docs/.vitepress/dist/assets/index.md.79361962.js +0 -1
- package/docs/.vitepress/dist/assets/index.md.79361962.lean.js +0 -1
- package/docs/.vitepress/dist/assets/inter-cyrillic-ext.0877b0d9.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-cyrillic.f8750142.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-greek-ext.3e6f6728.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-greek.117e1956.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-latin-ext.7cc429bc.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-latin.4fe6132f.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-vietnamese.2c644a25.woff2 +0 -0
- package/docs/.vitepress/dist/assets/presets___future.md.6542932d.js +0 -1
- package/docs/.vitepress/dist/assets/presets___future.md.6542932d.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets___index.md.af77aa24.js +0 -1
- package/docs/.vitepress/dist/assets/presets___index.md.af77aa24.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets___list.md.86dea8af.js +0 -1
- package/docs/.vitepress/dist/assets/presets___list.md.86dea8af.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets___patronum.md.9f3ad5fe.js +0 -1
- package/docs/.vitepress/dist/assets/presets___patronum.md.9f3ad5fe.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets___react.md.dc2cc31a.js +0 -1
- package/docs/.vitepress/dist/assets/presets___react.md.dc2cc31a.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets___recommended.md.af826424.js +0 -1
- package/docs/.vitepress/dist/assets/presets___recommended.md.af826424.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets___scope.md.e5dd9837.js +0 -1
- package/docs/.vitepress/dist/assets/presets___scope.md.e5dd9837.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets_future.md.2962dd38.js +0 -1
- package/docs/.vitepress/dist/assets/presets_future.md.2962dd38.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets_index.md.c3c40451.js +0 -1
- package/docs/.vitepress/dist/assets/presets_index.md.c3c40451.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets_patronum.md.58445698.js +0 -1
- package/docs/.vitepress/dist/assets/presets_patronum.md.58445698.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets_react.md.fda31c90.js +0 -1
- package/docs/.vitepress/dist/assets/presets_react.md.fda31c90.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets_recommended.md.396d0c01.js +0 -1
- package/docs/.vitepress/dist/assets/presets_recommended.md.396d0c01.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets_scope.md.55da3541.js +0 -1
- package/docs/.vitepress/dist/assets/presets_scope.md.55da3541.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules___index.md.c943fc87.js +0 -1
- package/docs/.vitepress/dist/assets/rules___index.md.c943fc87.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules___list.md.ba316f20.js +0 -1
- package/docs/.vitepress/dist/assets/rules___list.md.ba316f20.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_enforce-effect-naming-convention.md.09e5af2c.js +0 -6
- package/docs/.vitepress/dist/assets/rules_enforce-effect-naming-convention.md.09e5af2c.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_enforce-gate-naming-convention.md.5f3af41a.js +0 -6
- package/docs/.vitepress/dist/assets/rules_enforce-gate-naming-convention.md.5f3af41a.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_enforce-store-naming-convention.md.db33b9cb.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_index.md.3e915bb2.js +0 -1
- package/docs/.vitepress/dist/assets/rules_index.md.3e915bb2.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_keep-options-order.md.5345093b.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_mandatory-scope-binding.md.aff04a66.js +0 -14
- package/docs/.vitepress/dist/assets/rules_mandatory-scope-binding.md.aff04a66.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-ambiguity-target.md.7fde769b.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-duplicate-on.md.09525e1d.js +0 -11
- package/docs/.vitepress/dist/assets/rules_no-duplicate-on.md.09525e1d.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-forward.md.2becbf92.js +0 -11
- package/docs/.vitepress/dist/assets/rules_no-forward.md.2becbf92.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-getState.md.665d0467.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-guard.md.5056c7b6.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-patronum-debug.md.19f444fb.js +0 -14
- package/docs/.vitepress/dist/assets/rules_no-patronum-debug.md.19f444fb.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-unnecessary-combination.md.e7221074.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-unnecessary-duplication.md.3a99556b.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-useless-methods.md.e13dc29f.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-watch.md.72ac4d86.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_prefer-sample-over-forward-with-mapping.md.e5a7f363.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_prefer-useUnit.md.2d27cecd.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_strict-effect-handlers.md.2f8965e2.js +0 -23
- package/docs/.vitepress/dist/assets/rules_strict-effect-handlers.md.2f8965e2.lean.js +0 -1
- package/docs/.vitepress/dist/assets/style.9e7714f0.css +0 -1
|
@@ -1,32 +1,38 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
|
-
<html lang="en-US">
|
|
2
|
+
<html lang="en-US" dir="ltr">
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
6
|
<title>effector/no-watch | ESLint plugin for Effector</title>
|
|
7
|
-
<meta name="description" content="
|
|
8
|
-
<link rel="stylesheet" href="/assets/style.
|
|
9
|
-
<
|
|
10
|
-
<link rel="
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
<meta name="description" content="Enforcing best practices for Effector">
|
|
8
|
+
<link rel="preload stylesheet" href="/assets/style.d567007a.css" as="style">
|
|
9
|
+
<script type="module" src="/assets/app.bd59d2fd.js"></script>
|
|
10
|
+
<link rel="preload" href="/assets/inter-roman-latin.2ed14f66.woff2" as="font" type="font/woff2" crossorigin="">
|
|
11
|
+
<link rel="modulepreload" href="/assets/chunks/framework.02595b67.js">
|
|
12
|
+
<link rel="modulepreload" href="/assets/chunks/theme.23495dab.js">
|
|
13
|
+
<link rel="modulepreload" href="/assets/rules_no-watch.md.c78d9c95.lean.js">
|
|
14
|
+
<link rel="icon" href="/favicon.ico" sizes="any">
|
|
15
|
+
<link rel="icon" href="/comet.svg" type="image/svg+xml">
|
|
16
|
+
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
|
|
17
|
+
<link rel="manifest" href="/manifest.webmanifest">
|
|
18
|
+
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
|
13
19
|
</head>
|
|
14
20
|
<body>
|
|
15
|
-
<div id="app"><div class="Layout" data-v-5236d721><!--[--><!--]--><!--[--><span tabindex="-1" data-v-ba282093></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-ba282093> Skip to content </a><!--]--><!----><header class="VPNav no-sidebar" data-v-5236d721 data-v-ad1d1a51><div class="VPNavBar" data-v-ad1d1a51 data-v-5c544ded><div class="container" data-v-5c544ded><div class="VPNavBarTitle" data-v-5c544ded data-v-de342594><a class="title" href="/" data-v-de342594><!--[--><!--]--><!----><!--[-->ESLint plugin for Effector<!--]--><!--[--><!--]--></a></div><div class="content" data-v-5c544ded><!--[--><!--]--><!----><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-5c544ded data-v-bbd7bba4><span id="main-nav-aria-label" class="visually-hidden" data-v-bbd7bba4>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/presets/" data-v-bbd7bba4 data-v-f2e87c9b data-v-43d5b194><!--[-->Presets<!--]--><!----></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/rules/" data-v-bbd7bba4 data-v-f2e87c9b data-v-43d5b194><!--[-->Rules<!--]--><!----></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-5c544ded data-v-b18b5f44><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" aria-label="toggle dark mode" aria-checked="false" data-v-b18b5f44 data-v-910d4043 data-v-6fb6d0ff><span class="check" data-v-6fb6d0ff><span class="icon" data-v-6fb6d0ff><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-910d4043><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-910d4043><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-5c544ded data-v-ec2bb10b data-v-bb87c15e><!--[--><a class="VPSocialLink" href="https://github.com/effector/eslint-plugin" target="_blank" rel="noopener" data-v-bb87c15e data-v-9dcd5acc><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><a class="VPSocialLink" href="https://twitter.com/effectorjs" target="_blank" rel="noopener" data-v-bb87c15e data-v-9dcd5acc><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitter</title><path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"/></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-5c544ded data-v-231001ce data-v-1da9cf42><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-1da9cf42><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="icon" data-v-1da9cf42><circle cx="12" cy="12" r="2"></circle><circle cx="19" cy="12" r="2"></circle><circle cx="5" cy="12" r="2"></circle></svg></button><div class="menu" data-v-1da9cf42><div class="VPMenu" data-v-1da9cf42 data-v-54f41434><!----><!--[--><!--[--><!----><div class="group" data-v-231001ce><div class="item appearance" data-v-231001ce><p class="label" data-v-231001ce>Appearance</p><div class="appearance-action" data-v-231001ce><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" aria-label="toggle dark mode" aria-checked="false" data-v-231001ce data-v-910d4043 data-v-6fb6d0ff><span class="check" data-v-6fb6d0ff><span class="icon" data-v-6fb6d0ff><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-910d4043><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-910d4043><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div></div></div><div class="group" data-v-231001ce><div class="item social-links" data-v-231001ce><div class="VPSocialLinks social-links-list" data-v-231001ce data-v-bb87c15e><!--[--><a class="VPSocialLink" href="https://github.com/effector/eslint-plugin" target="_blank" rel="noopener" data-v-bb87c15e data-v-9dcd5acc><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><a class="VPSocialLink" href="https://twitter.com/effectorjs" target="_blank" rel="noopener" data-v-bb87c15e data-v-9dcd5acc><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitter</title><path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"/></svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-5c544ded data-v-8494978f><span class="container" data-v-8494978f><span class="top" data-v-8494978f></span><span class="middle" data-v-8494978f></span><span class="bottom" data-v-8494978f></span></span></button></div></div></div><!----></header><!----><!----><div class="VPContent" id="VPContent" data-v-5236d721 data-v-1853a4d3><div class="VPDoc has-aside" data-v-1853a4d3 data-v-392d9ceb><div class="container" data-v-392d9ceb><div class="aside" data-v-392d9ceb><div class="aside-curtain" data-v-392d9ceb></div><div class="aside-container" data-v-392d9ceb><div class="aside-content" data-v-392d9ceb><div class="VPDocAside" data-v-392d9ceb data-v-e2950fc2><!--[--><!--]--><!--[--><!--]--><div class="VPDocAsideOutline" data-v-e2950fc2 data-v-d8c9f9a3><div class="content" data-v-d8c9f9a3><div class="outline-marker" data-v-d8c9f9a3></div><div class="outline-title" data-v-d8c9f9a3>On this page</div><nav aria-labelledby="doc-outline-aria-label" data-v-d8c9f9a3><span class="visually-hidden" id="doc-outline-aria-label" data-v-d8c9f9a3> Table of Contents for current page </span><ul class="root" data-v-d8c9f9a3 data-v-71cd9c96><!--[--><!--]--></ul></nav></div></div><!--[--><!--]--><div class="spacer" data-v-e2950fc2></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-392d9ceb><div class="content-container" data-v-392d9ceb><!--[--><!--]--><main class="main" data-v-392d9ceb><div style="position:relative;" class="vp-doc _rules_no-watch" data-v-392d9ceb><div><h1 id="effector-no-watch" tabindex="-1">effector/no-watch <a class="header-anchor" href="#effector-no-watch" aria-hidden="true">#</a></h1><p>Method <code>.watch</code> leads to imperative code. Try replacing it with operator (<code>sample</code>) or use the <code>target</code> parameter of the operator.</p><blockquote><p>Caution! This rule only works on projects using TypeScript.</p></blockquote><div class="language-ts"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki"><code><span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> myFx </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">createEffect</span><span style="color:#A6ACCD;">()</span><span style="color:#89DDFF;">;</span></span>
|
|
21
|
+
<div id="app"><div class="Layout" data-v-aef2e1d7><!--[--><!--]--><!--[--><span tabindex="-1" data-v-6ae001e4></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-6ae001e4> Skip to content </a><!--]--><!----><header class="VPNav" data-v-aef2e1d7 data-v-da627261><div class="VPNavBar" data-v-da627261 data-v-841ab9f3><div class="container" data-v-841ab9f3><div class="title" data-v-841ab9f3><div class="VPNavBarTitle" data-v-841ab9f3 data-v-99b006a8><a class="title" href="/" data-v-99b006a8><!--[--><!--]--><!--[--><img class="VPImage logo" src="/comet.svg" alt data-v-ee23cc4a><!--]--><!--[-->ESLint plugin for Effector<!--]--><!--[--><!--]--></a></div></div><div class="content" data-v-841ab9f3><div class="curtain" data-v-841ab9f3></div><div class="content-body" data-v-841ab9f3><!--[--><!--]--><div class="VPNavBarSearch search" data-v-841ab9f3 style="--5aec6b7e:'Meta';"><div id="docsearch"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg class="DocSearch-Search-Icon" width="20" height="20" viewBox="0 0 20 20" aria-label="search icon"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-841ab9f3 data-v-50fd6da7><span id="main-nav-aria-label" class="visually-hidden" data-v-50fd6da7>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/presets/" tabindex="0" data-v-50fd6da7 data-v-b37b8ed3 data-v-733bcbad><!--[-->Presets<!--]--><!----></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/rules/" tabindex="0" data-v-50fd6da7 data-v-b37b8ed3 data-v-733bcbad><!--[-->Rules<!--]--><!----></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-50fd6da7 data-v-fbe87e17><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-fbe87e17><span class="text" data-v-fbe87e17><!----> More <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="text-icon" data-v-fbe87e17><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="menu" data-v-fbe87e17><div class="VPMenu" data-v-fbe87e17 data-v-0f540d3c><div class="items" data-v-0f540d3c><!--[--><!--[--><div class="VPMenuLink" data-v-0f540d3c data-v-4419b5df><a class="VPLink link" href="/changelog.html" data-v-4419b5df data-v-733bcbad><!--[-->Changelog<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-0f540d3c data-v-4419b5df><a class="VPLink link" href="https://effector.dev" target="_blank" rel="noreferrer" data-v-4419b5df data-v-733bcbad><!--[-->Effector<!--]--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="icon" data-v-733bcbad><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-841ab9f3 data-v-f7e4af36><label title="toggle dark mode" data-v-f7e4af36 data-v-b609e79a><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" aria-checked="false" data-v-b609e79a data-v-d82da5a3><span class="check" data-v-d82da5a3><span class="icon" data-v-d82da5a3><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-b609e79a><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-b609e79a><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></label></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-841ab9f3 data-v-bb81c9f8 data-v-e9e5c533><!--[--><a class="VPSocialLink" href="https://github.com/effector/eslint-plugin" aria-label="github" target="_blank" rel="noopener" data-v-e9e5c533 data-v-29f2b9fe><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><a class="VPSocialLink" href="https://twitter.com/effectorjs" aria-label="twitter" target="_blank" rel="noopener" data-v-e9e5c533 data-v-29f2b9fe><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitter</title><path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"/></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-841ab9f3 data-v-2024a20c data-v-fbe87e17><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-fbe87e17><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="icon" data-v-fbe87e17><circle cx="12" cy="12" r="2"></circle><circle cx="19" cy="12" r="2"></circle><circle cx="5" cy="12" r="2"></circle></svg></button><div class="menu" data-v-fbe87e17><div class="VPMenu" data-v-fbe87e17 data-v-0f540d3c><!----><!--[--><!--[--><!----><div class="group" data-v-2024a20c><div class="item appearance" data-v-2024a20c><p class="label" data-v-2024a20c>Appearance</p><div class="appearance-action" data-v-2024a20c><label title="toggle dark mode" data-v-2024a20c data-v-b609e79a><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" aria-checked="false" data-v-b609e79a data-v-d82da5a3><span class="check" data-v-d82da5a3><span class="icon" data-v-d82da5a3><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-b609e79a><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-b609e79a><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></label></div></div></div><div class="group" data-v-2024a20c><div class="item social-links" data-v-2024a20c><div class="VPSocialLinks social-links-list" data-v-2024a20c data-v-e9e5c533><!--[--><a class="VPSocialLink" href="https://github.com/effector/eslint-plugin" aria-label="github" target="_blank" rel="noopener" data-v-e9e5c533 data-v-29f2b9fe><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><a class="VPSocialLink" href="https://twitter.com/effectorjs" aria-label="twitter" target="_blank" rel="noopener" data-v-e9e5c533 data-v-29f2b9fe><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitter</title><path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"/></svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-841ab9f3 data-v-540bcc63><span class="container" data-v-540bcc63><span class="top" data-v-540bcc63></span><span class="middle" data-v-540bcc63></span><span class="bottom" data-v-540bcc63></span></span></button></div></div></div></div><!----></header><!----><!----><div class="VPContent" id="VPContent" data-v-aef2e1d7 data-v-e544e331><div class="VPDoc has-aside" data-v-e544e331 data-v-75b2a91b><!--[--><!--]--><div class="container" data-v-75b2a91b><div class="aside" data-v-75b2a91b><div class="aside-curtain" data-v-75b2a91b></div><div class="aside-container" data-v-75b2a91b><div class="aside-content" data-v-75b2a91b><div class="VPDocAside" data-v-75b2a91b data-v-32e521bb><!--[--><!--]--><!--[--><!--]--><div class="VPDocAsideOutline" data-v-32e521bb data-v-5832db09><div class="content" data-v-5832db09><div class="outline-marker" data-v-5832db09></div><div class="outline-title" data-v-5832db09>On this page</div><nav aria-labelledby="doc-outline-aria-label" data-v-5832db09><span class="visually-hidden" id="doc-outline-aria-label" data-v-5832db09> Table of Contents for current page </span><ul class="root" data-v-5832db09 data-v-0c23fd6b><!--[--><!--]--></ul></nav></div></div><!--[--><!--]--><div class="spacer" data-v-32e521bb></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-75b2a91b><div class="content-container" data-v-75b2a91b><!--[--><!--]--><!----><main class="main" data-v-75b2a91b><div style="position:relative;" class="vp-doc _rules_no-watch" data-v-75b2a91b><div><h1 id="effector-no-watch" tabindex="-1">effector/no-watch <a class="header-anchor" href="#effector-no-watch" aria-label="Permalink to "effector/no-watch""></a></h1><p>Method <code>.watch</code> leads to imperative code. Try replacing it with operator (<code>sample</code>) or use the <code>target</code> parameter of the operator.</p><blockquote><p>Caution! This rule only works on projects using TypeScript.</p></blockquote><div class="language-ts"><button title="Copy Code" class="copy"></button><span class="lang">ts</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> myFx </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">createEffect</span><span style="color:#A6ACCD;">()</span><span style="color:#89DDFF;">;</span></span>
|
|
16
22
|
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> myEvent </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">createEvent</span><span style="color:#A6ACCD;">()</span><span style="color:#89DDFF;">;</span></span>
|
|
17
23
|
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> $awesome </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">createStore</span><span style="color:#A6ACCD;">()</span><span style="color:#89DDFF;">;</span></span>
|
|
18
24
|
<span class="line"></span>
|
|
19
|
-
<span class="line"><span style="color:#676E95;">// 👍 good solutions</span></span>
|
|
25
|
+
<span class="line"><span style="color:#676E95;font-style:italic;">// 👍 good solutions</span></span>
|
|
20
26
|
<span class="line"><span style="color:#82AAFF;">sample</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span></span>
|
|
21
27
|
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">clock</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> myFx</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">finally</span><span style="color:#89DDFF;">,</span></span>
|
|
22
28
|
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">target</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> myEvent</span><span style="color:#89DDFF;">,</span></span>
|
|
23
|
-
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span></span>
|
|
29
|
+
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
24
30
|
<span class="line"></span>
|
|
25
31
|
<span class="line"><span style="color:#82AAFF;">sample</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span></span>
|
|
26
32
|
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">clock</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> myEvent</span><span style="color:#89DDFF;">,</span></span>
|
|
27
33
|
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">filter</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> Boolean</span><span style="color:#89DDFF;">,</span></span>
|
|
28
34
|
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">target</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> myFx</span><span style="color:#89DDFF;">,</span></span>
|
|
29
|
-
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span></span>
|
|
35
|
+
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
30
36
|
<span class="line"></span>
|
|
31
37
|
<span class="line"><span style="color:#82AAFF;">sample</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span></span>
|
|
32
38
|
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">clock</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> $awesome</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">updates</span><span style="color:#89DDFF;">,</span></span>
|
|
@@ -34,21 +40,20 @@
|
|
|
34
40
|
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">target</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> myEvent</span><span style="color:#89DDFF;">,</span></span>
|
|
35
41
|
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
36
42
|
<span class="line"></span>
|
|
37
|
-
<span class="line"><span style="color:#676E95;">// 👎 bad solutions</span></span>
|
|
43
|
+
<span class="line"><span style="color:#676E95;font-style:italic;">// 👎 bad solutions</span></span>
|
|
38
44
|
<span class="line"><span style="color:#A6ACCD;">myFx</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">finally</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">watch</span><span style="color:#A6ACCD;">(myEvent)</span><span style="color:#89DDFF;">;</span></span>
|
|
39
45
|
<span class="line"></span>
|
|
40
|
-
<span class="line"><span style="color:#A6ACCD;">myEvent</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">watch</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">payload</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
|
|
41
|
-
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">if</span><span style="color:#F07178;"> (</span><span style="color:#82AAFF;">Boolean</span><span style="color:#F07178;">(</span><span style="color:#A6ACCD;">payload</span><span style="color:#F07178;">)) </span><span style="color:#89DDFF;">{</span></span>
|
|
46
|
+
<span class="line"><span style="color:#A6ACCD;">myEvent</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">watch</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;font-style:italic;">payload</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
|
|
47
|
+
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;font-style:italic;">if</span><span style="color:#F07178;"> (</span><span style="color:#82AAFF;">Boolean</span><span style="color:#F07178;">(</span><span style="color:#A6ACCD;">payload</span><span style="color:#F07178;">)) </span><span style="color:#89DDFF;">{</span></span>
|
|
42
48
|
<span class="line"><span style="color:#F07178;"> </span><span style="color:#82AAFF;">myFx</span><span style="color:#F07178;">(</span><span style="color:#A6ACCD;">payload</span><span style="color:#F07178;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
43
49
|
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">}</span></span>
|
|
44
50
|
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
45
51
|
<span class="line"></span>
|
|
46
|
-
<span class="line"><span style="color:#A6ACCD;">$awesome</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">updates</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">watch</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">data</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
|
|
52
|
+
<span class="line"><span style="color:#A6ACCD;">$awesome</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">updates</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">watch</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;font-style:italic;">data</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
|
|
47
53
|
<span class="line"><span style="color:#F07178;"> </span><span style="color:#82AAFF;">myEvent</span><span style="color:#F07178;">(</span><span style="color:#82AAFF;">identity</span><span style="color:#F07178;">(</span><span style="color:#A6ACCD;">data</span><span style="color:#F07178;">))</span><span style="color:#89DDFF;">;</span></span>
|
|
48
|
-
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
49
|
-
<
|
|
50
|
-
|
|
51
|
-
<script type="module" async src="/assets/app.c5be1f68.js"></script>
|
|
54
|
+
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span></code></pre></div></div></div></main><footer class="VPDocFooter" data-v-75b2a91b data-v-79852a81><!--[--><!--]--><div class="edit-info" data-v-79852a81><div class="edit-link" data-v-79852a81><a class="VPLink link edit-link-button" href="https://github.com/effector/eslint-plugin/edit/master/docs/rules/no-watch.md" target="_blank" rel="noreferrer" data-v-79852a81 data-v-733bcbad><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" aria-label="edit icon" data-v-79852a81><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page<!--]--><!----></a></div><div class="last-updated" data-v-79852a81><p class="VPLastUpdated" data-v-79852a81 data-v-2a44ab51>Last updated: <time datetime="2022-11-14T11:09:47.000Z" data-v-2a44ab51></time></p></div></div><!----></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter" data-v-aef2e1d7 data-v-b61c28e3><div class="container" data-v-b61c28e3><p class="message" data-v-b61c28e3>Released under the MIT License.</p><!----></div></footer><!--[--><!--]--></div></div>
|
|
55
|
+
<script>__VP_HASH_MAP__ = JSON.parse("{\"presets___patronum.md\":\"378cac9e\",\"presets_scope.md\":\"e1b77236\",\"presets___index.md\":\"036348a2\",\"rules_no-duplicate-on.md\":\"d01d60d6\",\"presets___future.md\":\"e9103b27\",\"rules_no-getstate.md\":\"4a019d9c\",\"presets_future.md\":\"cb2d4750\",\"rules_enforce-store-naming-convention.md\":\"0d2ed508\",\"presets___scope.md\":\"a16b0476\",\"rules_index.md\":\"5ef5b917\",\"presets___react.md\":\"032da791\",\"index.md\":\"22c1dc01\",\"presets_index.md\":\"4607f021\",\"rules_no-ambiguity-target.md\":\"94231682\",\"rules_enforce-gate-naming-convention.md\":\"f7ab1c32\",\"rules___index.md\":\"4cf71d5e\",\"rules_no-guard.md\":\"ce7893c6\",\"changelog.md\":\"772a432f\",\"rules_keep-options-order.md\":\"58bfbca2\",\"presets_recommended.md\":\"98643b5c\",\"rules_no-forward.md\":\"f83457f0\",\"rules_no-patronum-debug.md\":\"e1506172\",\"rules_enforce-effect-naming-convention.md\":\"ad7462af\",\"presets___list.md\":\"c59d692a\",\"rules_mandatory-scope-binding.md\":\"9c380ecb\",\"presets___recommended.md\":\"8e0219bf\",\"presets_react.md\":\"91f097f9\",\"rules___list.md\":\"3d2508ab\",\"presets_patronum.md\":\"ac63c75e\",\"rules_no-unnecessary-duplication.md\":\"73a858d8\",\"rules_no-useless-methods.md\":\"8043425b\",\"rules_no-watch.md\":\"c78d9c95\",\"rules_no-unnecessary-combination.md\":\"c493c675\",\"rules_prefer-useunit.md\":\"e6b1721b\",\"rules_prefer-sample-over-forward-with-mapping.md\":\"b5f139ea\",\"shared_install.md\":\"71ecb8f5\",\"rules_strict-effect-handlers.md\":\"142370fb\"}")
|
|
56
|
+
__VP_SITE_DATA__ = JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"ESLint plugin for Effector\",\"description\":\"Enforcing best practices for Effector\",\"base\":\"/\",\"head\":[],\"appearance\":true,\"themeConfig\":{\"siteTitle\":\"ESLint plugin for Effector\",\"logo\":\"/comet.svg\",\"footer\":{\"message\":\"Released under the MIT License.\"},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/effector/eslint-plugin\"},{\"icon\":\"twitter\",\"link\":\"https://twitter.com/effectorjs\"}],\"algolia\":{\"appId\":\"NW4641ANOK\",\"apiKey\":\"82a2fcdc603a1de18478e1c461450168\",\"indexName\":\"eslint-effector\"},\"editLink\":{\"pattern\":\"https://github.com/effector/eslint-plugin/edit/master/docs/:path\"},\"nav\":[{\"text\":\"Presets\",\"link\":\"/presets/\",\"activeMatch\":\"^/presets/\"},{\"text\":\"Rules\",\"link\":\"/rules/\",\"activeMatch\":\"^/rules/\"},{\"text\":\"More\",\"items\":[{\"text\":\"Changelog\",\"link\":\"/changelog\"},{\"text\":\"Effector\",\"link\":\"https://effector.dev\"}]}],\"sidebar\":{}},\"locales\":{},\"scrollOffset\":90,\"cleanUrls\":false}")</script>
|
|
52
57
|
|
|
53
58
|
</body>
|
|
54
59
|
</html>
|
|
@@ -1,41 +1,46 @@
|
|
|
1
1
|
<!DOCTYPE html>
|
|
2
|
-
<html lang="en-US">
|
|
2
|
+
<html lang="en-US" dir="ltr">
|
|
3
3
|
<head>
|
|
4
4
|
<meta charset="utf-8">
|
|
5
5
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
6
|
<title>effector/prefer-sample-over-forward-with-mapping | ESLint plugin for Effector</title>
|
|
7
|
-
<meta name="description" content="
|
|
8
|
-
<link rel="stylesheet" href="/assets/style.
|
|
9
|
-
<
|
|
10
|
-
<link rel="
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
<meta name="description" content="Enforcing best practices for Effector">
|
|
8
|
+
<link rel="preload stylesheet" href="/assets/style.d567007a.css" as="style">
|
|
9
|
+
<script type="module" src="/assets/app.bd59d2fd.js"></script>
|
|
10
|
+
<link rel="preload" href="/assets/inter-roman-latin.2ed14f66.woff2" as="font" type="font/woff2" crossorigin="">
|
|
11
|
+
<link rel="modulepreload" href="/assets/chunks/framework.02595b67.js">
|
|
12
|
+
<link rel="modulepreload" href="/assets/chunks/theme.23495dab.js">
|
|
13
|
+
<link rel="modulepreload" href="/assets/rules_prefer-sample-over-forward-with-mapping.md.b5f139ea.lean.js">
|
|
14
|
+
<link rel="icon" href="/favicon.ico" sizes="any">
|
|
15
|
+
<link rel="icon" href="/comet.svg" type="image/svg+xml">
|
|
16
|
+
<link rel="apple-touch-icon" href="/apple-touch-icon.png">
|
|
17
|
+
<link rel="manifest" href="/manifest.webmanifest">
|
|
18
|
+
<script id="check-dark-light">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
|
13
19
|
</head>
|
|
14
20
|
<body>
|
|
15
|
-
<div id="app"><div class="Layout" data-v-5236d721><!--[--><!--]--><!--[--><span tabindex="-1" data-v-ba282093></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-ba282093> Skip to content </a><!--]--><!----><header class="VPNav no-sidebar" data-v-5236d721 data-v-ad1d1a51><div class="VPNavBar" data-v-ad1d1a51 data-v-5c544ded><div class="container" data-v-5c544ded><div class="VPNavBarTitle" data-v-5c544ded data-v-de342594><a class="title" href="/" data-v-de342594><!--[--><!--]--><!----><!--[-->ESLint plugin for Effector<!--]--><!--[--><!--]--></a></div><div class="content" data-v-5c544ded><!--[--><!--]--><!----><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-5c544ded data-v-bbd7bba4><span id="main-nav-aria-label" class="visually-hidden" data-v-bbd7bba4>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/presets/" data-v-bbd7bba4 data-v-f2e87c9b data-v-43d5b194><!--[-->Presets<!--]--><!----></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/rules/" data-v-bbd7bba4 data-v-f2e87c9b data-v-43d5b194><!--[-->Rules<!--]--><!----></a><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-5c544ded data-v-b18b5f44><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" aria-label="toggle dark mode" aria-checked="false" data-v-b18b5f44 data-v-910d4043 data-v-6fb6d0ff><span class="check" data-v-6fb6d0ff><span class="icon" data-v-6fb6d0ff><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-910d4043><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-910d4043><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-5c544ded data-v-ec2bb10b data-v-bb87c15e><!--[--><a class="VPSocialLink" href="https://github.com/effector/eslint-plugin" target="_blank" rel="noopener" data-v-bb87c15e data-v-9dcd5acc><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><a class="VPSocialLink" href="https://twitter.com/effectorjs" target="_blank" rel="noopener" data-v-bb87c15e data-v-9dcd5acc><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitter</title><path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"/></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-5c544ded data-v-231001ce data-v-1da9cf42><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-1da9cf42><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="icon" data-v-1da9cf42><circle cx="12" cy="12" r="2"></circle><circle cx="19" cy="12" r="2"></circle><circle cx="5" cy="12" r="2"></circle></svg></button><div class="menu" data-v-1da9cf42><div class="VPMenu" data-v-1da9cf42 data-v-54f41434><!----><!--[--><!--[--><!----><div class="group" data-v-231001ce><div class="item appearance" data-v-231001ce><p class="label" data-v-231001ce>Appearance</p><div class="appearance-action" data-v-231001ce><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" aria-label="toggle dark mode" aria-checked="false" data-v-231001ce data-v-910d4043 data-v-6fb6d0ff><span class="check" data-v-6fb6d0ff><span class="icon" data-v-6fb6d0ff><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-910d4043><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-910d4043><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></div></div></div><div class="group" data-v-231001ce><div class="item social-links" data-v-231001ce><div class="VPSocialLinks social-links-list" data-v-231001ce data-v-bb87c15e><!--[--><a class="VPSocialLink" href="https://github.com/effector/eslint-plugin" target="_blank" rel="noopener" data-v-bb87c15e data-v-9dcd5acc><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><a class="VPSocialLink" href="https://twitter.com/effectorjs" target="_blank" rel="noopener" data-v-bb87c15e data-v-9dcd5acc><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitter</title><path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"/></svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-5c544ded data-v-8494978f><span class="container" data-v-8494978f><span class="top" data-v-8494978f></span><span class="middle" data-v-8494978f></span><span class="bottom" data-v-8494978f></span></span></button></div></div></div><!----></header><!----><!----><div class="VPContent" id="VPContent" data-v-5236d721 data-v-1853a4d3><div class="VPDoc has-aside" data-v-1853a4d3 data-v-392d9ceb><div class="container" data-v-392d9ceb><div class="aside" data-v-392d9ceb><div class="aside-curtain" data-v-392d9ceb></div><div class="aside-container" data-v-392d9ceb><div class="aside-content" data-v-392d9ceb><div class="VPDocAside" data-v-392d9ceb data-v-e2950fc2><!--[--><!--]--><!--[--><!--]--><div class="VPDocAsideOutline" data-v-e2950fc2 data-v-d8c9f9a3><div class="content" data-v-d8c9f9a3><div class="outline-marker" data-v-d8c9f9a3></div><div class="outline-title" data-v-d8c9f9a3>On this page</div><nav aria-labelledby="doc-outline-aria-label" data-v-d8c9f9a3><span class="visually-hidden" id="doc-outline-aria-label" data-v-d8c9f9a3> Table of Contents for current page </span><ul class="root" data-v-d8c9f9a3 data-v-71cd9c96><!--[--><!--]--></ul></nav></div></div><!--[--><!--]--><div class="spacer" data-v-e2950fc2></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-392d9ceb><div class="content-container" data-v-392d9ceb><!--[--><!--]--><main class="main" data-v-392d9ceb><div style="position:relative;" class="vp-doc _rules_prefer-sample-over-forward-with-mapping" data-v-392d9ceb><div><h1 id="effector-prefer-sample-over-forward-with-mapping" tabindex="-1">effector/prefer-sample-over-forward-with-mapping <a class="header-anchor" href="#effector-prefer-sample-over-forward-with-mapping" aria-hidden="true">#</a></h1><p>Prefer <code>sample</code> over <code>forward</code> with <code>.map</code>/<code>.prepend</code>.</p><div class="language-js"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki"><code><span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> eventOne </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">createEvent</span><span style="color:#A6ACCD;">()</span><span style="color:#89DDFF;">;</span></span>
|
|
21
|
+
<div id="app"><div class="Layout" data-v-aef2e1d7><!--[--><!--]--><!--[--><span tabindex="-1" data-v-6ae001e4></span><a href="#VPContent" class="VPSkipLink visually-hidden" data-v-6ae001e4> Skip to content </a><!--]--><!----><header class="VPNav" data-v-aef2e1d7 data-v-da627261><div class="VPNavBar" data-v-da627261 data-v-841ab9f3><div class="container" data-v-841ab9f3><div class="title" data-v-841ab9f3><div class="VPNavBarTitle" data-v-841ab9f3 data-v-99b006a8><a class="title" href="/" data-v-99b006a8><!--[--><!--]--><!--[--><img class="VPImage logo" src="/comet.svg" alt data-v-ee23cc4a><!--]--><!--[-->ESLint plugin for Effector<!--]--><!--[--><!--]--></a></div></div><div class="content" data-v-841ab9f3><div class="curtain" data-v-841ab9f3></div><div class="content-body" data-v-841ab9f3><!--[--><!--]--><div class="VPNavBarSearch search" data-v-841ab9f3 style="--5aec6b7e:'Meta';"><div id="docsearch"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg class="DocSearch-Search-Icon" width="20" height="20" viewBox="0 0 20 20" aria-label="search icon"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"><kbd class="DocSearch-Button-Key"></kbd><kbd class="DocSearch-Button-Key">K</kbd></span></button></div></div><nav aria-labelledby="main-nav-aria-label" class="VPNavBarMenu menu" data-v-841ab9f3 data-v-50fd6da7><span id="main-nav-aria-label" class="visually-hidden" data-v-50fd6da7>Main Navigation</span><!--[--><!--[--><a class="VPLink link VPNavBarMenuLink" href="/presets/" tabindex="0" data-v-50fd6da7 data-v-b37b8ed3 data-v-733bcbad><!--[-->Presets<!--]--><!----></a><!--]--><!--[--><a class="VPLink link VPNavBarMenuLink active" href="/rules/" tabindex="0" data-v-50fd6da7 data-v-b37b8ed3 data-v-733bcbad><!--[-->Rules<!--]--><!----></a><!--]--><!--[--><div class="VPFlyout VPNavBarMenuGroup" data-v-50fd6da7 data-v-fbe87e17><button type="button" class="button" aria-haspopup="true" aria-expanded="false" data-v-fbe87e17><span class="text" data-v-fbe87e17><!----> More <svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="text-icon" data-v-fbe87e17><path d="M12,16c-0.3,0-0.5-0.1-0.7-0.3l-6-6c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l5.3,5.3l5.3-5.3c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-6,6C12.5,15.9,12.3,16,12,16z"></path></svg></span></button><div class="menu" data-v-fbe87e17><div class="VPMenu" data-v-fbe87e17 data-v-0f540d3c><div class="items" data-v-0f540d3c><!--[--><!--[--><div class="VPMenuLink" data-v-0f540d3c data-v-4419b5df><a class="VPLink link" href="/changelog.html" data-v-4419b5df data-v-733bcbad><!--[-->Changelog<!--]--><!----></a></div><!--]--><!--[--><div class="VPMenuLink" data-v-0f540d3c data-v-4419b5df><a class="VPLink link" href="https://effector.dev" target="_blank" rel="noreferrer" data-v-4419b5df data-v-733bcbad><!--[-->Effector<!--]--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" height="24px" viewbox="0 0 24 24" width="24px" class="icon" data-v-733bcbad><path d="M0 0h24v24H0V0z" fill="none"></path><path d="M9 5v2h6.59L4 18.59 5.41 20 17 8.41V15h2V5H9z"></path></svg></a></div><!--]--><!--]--></div><!--[--><!--]--></div></div></div><!--]--><!--]--></nav><!----><div class="VPNavBarAppearance appearance" data-v-841ab9f3 data-v-f7e4af36><label title="toggle dark mode" data-v-f7e4af36 data-v-b609e79a><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" aria-checked="false" data-v-b609e79a data-v-d82da5a3><span class="check" data-v-d82da5a3><span class="icon" data-v-d82da5a3><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-b609e79a><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-b609e79a><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></label></div><div class="VPSocialLinks VPNavBarSocialLinks social-links" data-v-841ab9f3 data-v-bb81c9f8 data-v-e9e5c533><!--[--><a class="VPSocialLink" href="https://github.com/effector/eslint-plugin" aria-label="github" target="_blank" rel="noopener" data-v-e9e5c533 data-v-29f2b9fe><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><a class="VPSocialLink" href="https://twitter.com/effectorjs" aria-label="twitter" target="_blank" rel="noopener" data-v-e9e5c533 data-v-29f2b9fe><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitter</title><path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"/></svg></a><!--]--></div><div class="VPFlyout VPNavBarExtra extra" data-v-841ab9f3 data-v-2024a20c data-v-fbe87e17><button type="button" class="button" aria-haspopup="true" aria-expanded="false" aria-label="extra navigation" data-v-fbe87e17><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="icon" data-v-fbe87e17><circle cx="12" cy="12" r="2"></circle><circle cx="19" cy="12" r="2"></circle><circle cx="5" cy="12" r="2"></circle></svg></button><div class="menu" data-v-fbe87e17><div class="VPMenu" data-v-fbe87e17 data-v-0f540d3c><!----><!--[--><!--[--><!----><div class="group" data-v-2024a20c><div class="item appearance" data-v-2024a20c><p class="label" data-v-2024a20c>Appearance</p><div class="appearance-action" data-v-2024a20c><label title="toggle dark mode" data-v-2024a20c data-v-b609e79a><button class="VPSwitch VPSwitchAppearance" type="button" role="switch" aria-checked="false" data-v-b609e79a data-v-d82da5a3><span class="check" data-v-d82da5a3><span class="icon" data-v-d82da5a3><!--[--><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="sun" data-v-b609e79a><path d="M12,18c-3.3,0-6-2.7-6-6s2.7-6,6-6s6,2.7,6,6S15.3,18,12,18zM12,8c-2.2,0-4,1.8-4,4c0,2.2,1.8,4,4,4c2.2,0,4-1.8,4-4C16,9.8,14.2,8,12,8z"></path><path d="M12,4c-0.6,0-1-0.4-1-1V1c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,3.6,12.6,4,12,4z"></path><path d="M12,24c-0.6,0-1-0.4-1-1v-2c0-0.6,0.4-1,1-1s1,0.4,1,1v2C13,23.6,12.6,24,12,24z"></path><path d="M5.6,6.6c-0.3,0-0.5-0.1-0.7-0.3L3.5,4.9c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C6.2,6.5,5.9,6.6,5.6,6.6z"></path><path d="M19.8,20.8c-0.3,0-0.5-0.1-0.7-0.3l-1.4-1.4c-0.4-0.4-0.4-1,0-1.4s1-0.4,1.4,0l1.4,1.4c0.4,0.4,0.4,1,0,1.4C20.3,20.7,20,20.8,19.8,20.8z"></path><path d="M3,13H1c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S3.6,13,3,13z"></path><path d="M23,13h-2c-0.6,0-1-0.4-1-1s0.4-1,1-1h2c0.6,0,1,0.4,1,1S23.6,13,23,13z"></path><path d="M4.2,20.8c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C4.7,20.7,4.5,20.8,4.2,20.8z"></path><path d="M18.4,6.6c-0.3,0-0.5-0.1-0.7-0.3c-0.4-0.4-0.4-1,0-1.4l1.4-1.4c0.4-0.4,1-0.4,1.4,0s0.4,1,0,1.4l-1.4,1.4C18.9,6.5,18.6,6.6,18.4,6.6z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" viewbox="0 0 24 24" class="moon" data-v-b609e79a><path d="M12.1,22c-0.3,0-0.6,0-0.9,0c-5.5-0.5-9.5-5.4-9-10.9c0.4-4.8,4.2-8.6,9-9c0.4,0,0.8,0.2,1,0.5c0.2,0.3,0.2,0.8-0.1,1.1c-2,2.7-1.4,6.4,1.3,8.4c2.1,1.6,5,1.6,7.1,0c0.3-0.2,0.7-0.3,1.1-0.1c0.3,0.2,0.5,0.6,0.5,1c-0.2,2.7-1.5,5.1-3.6,6.8C16.6,21.2,14.4,22,12.1,22zM9.3,4.4c-2.9,1-5,3.6-5.2,6.8c-0.4,4.4,2.8,8.3,7.2,8.7c2.1,0.2,4.2-0.4,5.8-1.8c1.1-0.9,1.9-2.1,2.4-3.4c-2.5,0.9-5.3,0.5-7.5-1.1C9.2,11.4,8.1,7.7,9.3,4.4z"></path></svg><!--]--></span></span></button></label></div></div></div><div class="group" data-v-2024a20c><div class="item social-links" data-v-2024a20c><div class="VPSocialLinks social-links-list" data-v-2024a20c data-v-e9e5c533><!--[--><a class="VPSocialLink" href="https://github.com/effector/eslint-plugin" aria-label="github" target="_blank" rel="noopener" data-v-e9e5c533 data-v-29f2b9fe><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg></a><a class="VPSocialLink" href="https://twitter.com/effectorjs" aria-label="twitter" target="_blank" rel="noopener" data-v-e9e5c533 data-v-29f2b9fe><svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitter</title><path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"/></svg></a><!--]--></div></div></div><!--]--><!--]--></div></div></div><!--[--><!--]--><button type="button" class="VPNavBarHamburger hamburger" aria-label="mobile navigation" aria-expanded="false" aria-controls="VPNavScreen" data-v-841ab9f3 data-v-540bcc63><span class="container" data-v-540bcc63><span class="top" data-v-540bcc63></span><span class="middle" data-v-540bcc63></span><span class="bottom" data-v-540bcc63></span></span></button></div></div></div></div><!----></header><!----><!----><div class="VPContent" id="VPContent" data-v-aef2e1d7 data-v-e544e331><div class="VPDoc has-aside" data-v-e544e331 data-v-75b2a91b><!--[--><!--]--><div class="container" data-v-75b2a91b><div class="aside" data-v-75b2a91b><div class="aside-curtain" data-v-75b2a91b></div><div class="aside-container" data-v-75b2a91b><div class="aside-content" data-v-75b2a91b><div class="VPDocAside" data-v-75b2a91b data-v-32e521bb><!--[--><!--]--><!--[--><!--]--><div class="VPDocAsideOutline" data-v-32e521bb data-v-5832db09><div class="content" data-v-5832db09><div class="outline-marker" data-v-5832db09></div><div class="outline-title" data-v-5832db09>On this page</div><nav aria-labelledby="doc-outline-aria-label" data-v-5832db09><span class="visually-hidden" id="doc-outline-aria-label" data-v-5832db09> Table of Contents for current page </span><ul class="root" data-v-5832db09 data-v-0c23fd6b><!--[--><!--]--></ul></nav></div></div><!--[--><!--]--><div class="spacer" data-v-32e521bb></div><!--[--><!--]--><!----><!--[--><!--]--><!--[--><!--]--></div></div></div></div><div class="content" data-v-75b2a91b><div class="content-container" data-v-75b2a91b><!--[--><!--]--><!----><main class="main" data-v-75b2a91b><div style="position:relative;" class="vp-doc _rules_prefer-sample-over-forward-with-mapping" data-v-75b2a91b><div><h1 id="effector-prefer-sample-over-forward-with-mapping" tabindex="-1">effector/prefer-sample-over-forward-with-mapping <a class="header-anchor" href="#effector-prefer-sample-over-forward-with-mapping" aria-label="Permalink to "effector/prefer-sample-over-forward-with-mapping""></a></h1><p>Prefer <code>sample</code> over <code>forward</code> with <code>.map</code>/<code>.prepend</code>.</p><div class="language-js"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> eventOne </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">createEvent</span><span style="color:#A6ACCD;">()</span><span style="color:#89DDFF;">;</span></span>
|
|
16
22
|
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> eventTwo </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">createEvent</span><span style="color:#A6ACCD;">()</span><span style="color:#89DDFF;">;</span></span>
|
|
17
23
|
<span class="line"></span>
|
|
18
|
-
<span class="line"><span style="color:#676E95;">// 👎 looks weird</span></span>
|
|
24
|
+
<span class="line"><span style="color:#676E95;font-style:italic;">// 👎 looks weird</span></span>
|
|
19
25
|
<span class="line"><span style="color:#82AAFF;">forward</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span></span>
|
|
20
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">from</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> eventOne</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">map</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">items</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> items</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">length)</span><span style="color:#89DDFF;">,</span></span>
|
|
26
|
+
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">from</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> eventOne</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">map</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;font-style:italic;">items</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> items</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">length)</span><span style="color:#89DDFF;">,</span></span>
|
|
21
27
|
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">to</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> eventTwo</span><span style="color:#89DDFF;">,</span></span>
|
|
22
28
|
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
23
29
|
<span class="line"></span>
|
|
24
|
-
<span class="line"><span style="color:#676E95;">// 👎 weird too</span></span>
|
|
30
|
+
<span class="line"><span style="color:#676E95;font-style:italic;">// 👎 weird too</span></span>
|
|
25
31
|
<span class="line"><span style="color:#82AAFF;">forward</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span></span>
|
|
26
32
|
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">from</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> eventOne</span><span style="color:#89DDFF;">,</span></span>
|
|
27
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">to</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> eventTwo</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">prepend</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">items</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> items</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">length)</span><span style="color:#89DDFF;">,</span></span>
|
|
33
|
+
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">to</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> eventTwo</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">prepend</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;font-style:italic;">items</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> items</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">length)</span><span style="color:#89DDFF;">,</span></span>
|
|
28
34
|
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
29
35
|
<span class="line"></span>
|
|
30
|
-
<span class="line"><span style="color:#676E95;">// 👍 better</span></span>
|
|
36
|
+
<span class="line"><span style="color:#676E95;font-style:italic;">// 👍 better</span></span>
|
|
31
37
|
<span class="line"><span style="color:#82AAFF;">sample</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span></span>
|
|
32
38
|
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">source</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> eventOne</span><span style="color:#89DDFF;">,</span></span>
|
|
33
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">fn</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">items</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> items</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">length</span><span style="color:#89DDFF;">,</span></span>
|
|
39
|
+
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">fn</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;font-style:italic;">items</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> items</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">length</span><span style="color:#89DDFF;">,</span></span>
|
|
34
40
|
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">target</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> eventTwo</span><span style="color:#89DDFF;">,</span></span>
|
|
35
|
-
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
36
|
-
<
|
|
37
|
-
|
|
38
|
-
<script type="module" async src="/assets/app.c5be1f68.js"></script>
|
|
41
|
+
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span></code></pre></div><p>💡 Tip: It could be superseded by <a href="/rules/no-forward.html">no-forward</a>.</p></div></div></main><footer class="VPDocFooter" data-v-75b2a91b data-v-79852a81><!--[--><!--]--><div class="edit-info" data-v-79852a81><div class="edit-link" data-v-79852a81><a class="VPLink link edit-link-button" href="https://github.com/effector/eslint-plugin/edit/master/docs/rules/prefer-sample-over-forward-with-mapping.md" target="_blank" rel="noreferrer" data-v-79852a81 data-v-733bcbad><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" aria-label="edit icon" data-v-79852a81><path d="M18,23H4c-1.7,0-3-1.3-3-3V6c0-1.7,1.3-3,3-3h7c0.6,0,1,0.4,1,1s-0.4,1-1,1H4C3.4,5,3,5.4,3,6v14c0,0.6,0.4,1,1,1h14c0.6,0,1-0.4,1-1v-7c0-0.6,0.4-1,1-1s1,0.4,1,1v7C21,21.7,19.7,23,18,23z"></path><path d="M8,17c-0.3,0-0.5-0.1-0.7-0.3C7,16.5,6.9,16.1,7,15.8l1-4c0-0.2,0.1-0.3,0.3-0.5l9.5-9.5c1.2-1.2,3.2-1.2,4.4,0c1.2,1.2,1.2,3.2,0,4.4l-9.5,9.5c-0.1,0.1-0.3,0.2-0.5,0.3l-4,1C8.2,17,8.1,17,8,17zM9.9,12.5l-0.5,2.1l2.1-0.5l9.3-9.3c0.4-0.4,0.4-1.1,0-1.6c-0.4-0.4-1.2-0.4-1.6,0l0,0L9.9,12.5z M18.5,2.5L18.5,2.5L18.5,2.5z"></path></svg> Edit this page<!--]--><!----></a></div><div class="last-updated" data-v-79852a81><p class="VPLastUpdated" data-v-79852a81 data-v-2a44ab51>Last updated: <time datetime="2022-11-14T11:09:47.000Z" data-v-2a44ab51></time></p></div></div><!----></footer><!--[--><!--]--></div></div></div><!--[--><!--]--></div></div><footer class="VPFooter" data-v-aef2e1d7 data-v-b61c28e3><div class="container" data-v-b61c28e3><p class="message" data-v-b61c28e3>Released under the MIT License.</p><!----></div></footer><!--[--><!--]--></div></div>
|
|
42
|
+
<script>__VP_HASH_MAP__ = JSON.parse("{\"presets___patronum.md\":\"378cac9e\",\"presets_scope.md\":\"e1b77236\",\"presets___index.md\":\"036348a2\",\"rules_no-duplicate-on.md\":\"d01d60d6\",\"presets___future.md\":\"e9103b27\",\"rules_no-getstate.md\":\"4a019d9c\",\"presets_future.md\":\"cb2d4750\",\"rules_enforce-store-naming-convention.md\":\"0d2ed508\",\"presets___scope.md\":\"a16b0476\",\"rules_index.md\":\"5ef5b917\",\"presets___react.md\":\"032da791\",\"index.md\":\"22c1dc01\",\"presets_index.md\":\"4607f021\",\"rules_no-ambiguity-target.md\":\"94231682\",\"rules_enforce-gate-naming-convention.md\":\"f7ab1c32\",\"rules___index.md\":\"4cf71d5e\",\"rules_no-guard.md\":\"ce7893c6\",\"changelog.md\":\"772a432f\",\"rules_keep-options-order.md\":\"58bfbca2\",\"presets_recommended.md\":\"98643b5c\",\"rules_no-forward.md\":\"f83457f0\",\"rules_no-patronum-debug.md\":\"e1506172\",\"rules_enforce-effect-naming-convention.md\":\"ad7462af\",\"presets___list.md\":\"c59d692a\",\"rules_mandatory-scope-binding.md\":\"9c380ecb\",\"presets___recommended.md\":\"8e0219bf\",\"presets_react.md\":\"91f097f9\",\"rules___list.md\":\"3d2508ab\",\"presets_patronum.md\":\"ac63c75e\",\"rules_no-unnecessary-duplication.md\":\"73a858d8\",\"rules_no-useless-methods.md\":\"8043425b\",\"rules_no-watch.md\":\"c78d9c95\",\"rules_no-unnecessary-combination.md\":\"c493c675\",\"rules_prefer-useunit.md\":\"e6b1721b\",\"rules_prefer-sample-over-forward-with-mapping.md\":\"b5f139ea\",\"shared_install.md\":\"71ecb8f5\",\"rules_strict-effect-handlers.md\":\"142370fb\"}")
|
|
43
|
+
__VP_SITE_DATA__ = JSON.parse("{\"lang\":\"en-US\",\"dir\":\"ltr\",\"title\":\"ESLint plugin for Effector\",\"description\":\"Enforcing best practices for Effector\",\"base\":\"/\",\"head\":[],\"appearance\":true,\"themeConfig\":{\"siteTitle\":\"ESLint plugin for Effector\",\"logo\":\"/comet.svg\",\"footer\":{\"message\":\"Released under the MIT License.\"},\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/effector/eslint-plugin\"},{\"icon\":\"twitter\",\"link\":\"https://twitter.com/effectorjs\"}],\"algolia\":{\"appId\":\"NW4641ANOK\",\"apiKey\":\"82a2fcdc603a1de18478e1c461450168\",\"indexName\":\"eslint-effector\"},\"editLink\":{\"pattern\":\"https://github.com/effector/eslint-plugin/edit/master/docs/:path\"},\"nav\":[{\"text\":\"Presets\",\"link\":\"/presets/\",\"activeMatch\":\"^/presets/\"},{\"text\":\"Rules\",\"link\":\"/rules/\",\"activeMatch\":\"^/rules/\"},{\"text\":\"More\",\"items\":[{\"text\":\"Changelog\",\"link\":\"/changelog\"},{\"text\":\"Effector\",\"link\":\"https://effector.dev\"}]}],\"sidebar\":{}},\"locales\":{},\"scrollOffset\":90,\"cleanUrls\":false}")</script>
|
|
39
44
|
|
|
40
45
|
</body>
|
|
41
46
|
</html>
|