eslint-plugin-effector 0.10.3 → 0.10.4

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.
Files changed (143) hide show
  1. package/README.md +2 -55
  2. package/docs/.vitepress/config.js +58 -0
  3. package/docs/.vitepress/dist/404.html +19 -0
  4. package/docs/.vitepress/dist/assets/app.c5be1f68.js +7 -0
  5. package/docs/.vitepress/dist/assets/index.md.79361962.js +1 -0
  6. package/docs/.vitepress/dist/assets/index.md.79361962.lean.js +1 -0
  7. package/docs/.vitepress/dist/assets/inter-cyrillic-ext.0877b0d9.woff2 +0 -0
  8. package/docs/.vitepress/dist/assets/inter-cyrillic.f8750142.woff2 +0 -0
  9. package/docs/.vitepress/dist/assets/inter-greek-ext.3e6f6728.woff2 +0 -0
  10. package/docs/.vitepress/dist/assets/inter-greek.117e1956.woff2 +0 -0
  11. package/docs/.vitepress/dist/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2 +0 -0
  12. package/docs/.vitepress/dist/assets/inter-italic-cyrillic.ea42a392.woff2 +0 -0
  13. package/docs/.vitepress/dist/assets/inter-italic-greek-ext.4fbe9427.woff2 +0 -0
  14. package/docs/.vitepress/dist/assets/inter-italic-greek.8f4463c4.woff2 +0 -0
  15. package/docs/.vitepress/dist/assets/inter-italic-latin-ext.bd8920cc.woff2 +0 -0
  16. package/docs/.vitepress/dist/assets/inter-italic-latin.bd3b6f56.woff2 +0 -0
  17. package/docs/.vitepress/dist/assets/inter-italic-vietnamese.6ce511fb.woff2 +0 -0
  18. package/docs/.vitepress/dist/assets/inter-latin-ext.7cc429bc.woff2 +0 -0
  19. package/docs/.vitepress/dist/assets/inter-latin.4fe6132f.woff2 +0 -0
  20. package/docs/.vitepress/dist/assets/inter-roman-cyrillic-ext.e75737ce.woff2 +0 -0
  21. package/docs/.vitepress/dist/assets/inter-roman-cyrillic.5f2c6c8c.woff2 +0 -0
  22. package/docs/.vitepress/dist/assets/inter-roman-greek-ext.ab0619bc.woff2 +0 -0
  23. package/docs/.vitepress/dist/assets/inter-roman-greek.d5a6d92a.woff2 +0 -0
  24. package/docs/.vitepress/dist/assets/inter-roman-latin-ext.0030eebd.woff2 +0 -0
  25. package/docs/.vitepress/dist/assets/inter-roman-latin.2ed14f66.woff2 +0 -0
  26. package/docs/.vitepress/dist/assets/inter-roman-vietnamese.14ce25a6.woff2 +0 -0
  27. package/docs/.vitepress/dist/assets/inter-vietnamese.2c644a25.woff2 +0 -0
  28. package/docs/.vitepress/dist/assets/presets___future.md.6542932d.js +1 -0
  29. package/docs/.vitepress/dist/assets/presets___future.md.6542932d.lean.js +1 -0
  30. package/docs/.vitepress/dist/assets/presets___index.md.af77aa24.js +1 -0
  31. package/docs/.vitepress/dist/assets/presets___index.md.af77aa24.lean.js +1 -0
  32. package/docs/.vitepress/dist/assets/presets___list.md.86dea8af.js +1 -0
  33. package/docs/.vitepress/dist/assets/presets___list.md.86dea8af.lean.js +1 -0
  34. package/docs/.vitepress/dist/assets/presets___patronum.md.9f3ad5fe.js +1 -0
  35. package/docs/.vitepress/dist/assets/presets___patronum.md.9f3ad5fe.lean.js +1 -0
  36. package/docs/.vitepress/dist/assets/presets___react.md.dc2cc31a.js +1 -0
  37. package/docs/.vitepress/dist/assets/presets___react.md.dc2cc31a.lean.js +1 -0
  38. package/docs/.vitepress/dist/assets/presets___recommended.md.af826424.js +1 -0
  39. package/docs/.vitepress/dist/assets/presets___recommended.md.af826424.lean.js +1 -0
  40. package/docs/.vitepress/dist/assets/presets___scope.md.e5dd9837.js +1 -0
  41. package/docs/.vitepress/dist/assets/presets___scope.md.e5dd9837.lean.js +1 -0
  42. package/docs/.vitepress/dist/assets/presets_future.md.2962dd38.js +1 -0
  43. package/docs/.vitepress/dist/assets/presets_future.md.2962dd38.lean.js +1 -0
  44. package/docs/.vitepress/dist/assets/presets_index.md.c3c40451.js +1 -0
  45. package/docs/.vitepress/dist/assets/presets_index.md.c3c40451.lean.js +1 -0
  46. package/docs/.vitepress/dist/assets/presets_patronum.md.58445698.js +1 -0
  47. package/docs/.vitepress/dist/assets/presets_patronum.md.58445698.lean.js +1 -0
  48. package/docs/.vitepress/dist/assets/presets_react.md.fda31c90.js +1 -0
  49. package/docs/.vitepress/dist/assets/presets_react.md.fda31c90.lean.js +1 -0
  50. package/docs/.vitepress/dist/assets/presets_recommended.md.396d0c01.js +1 -0
  51. package/docs/.vitepress/dist/assets/presets_recommended.md.396d0c01.lean.js +1 -0
  52. package/docs/.vitepress/dist/assets/presets_scope.md.55da3541.js +1 -0
  53. package/docs/.vitepress/dist/assets/presets_scope.md.55da3541.lean.js +1 -0
  54. package/docs/.vitepress/dist/assets/rules___index.md.c943fc87.js +1 -0
  55. package/docs/.vitepress/dist/assets/rules___index.md.c943fc87.lean.js +1 -0
  56. package/docs/.vitepress/dist/assets/rules___list.md.ba316f20.js +1 -0
  57. package/docs/.vitepress/dist/assets/rules___list.md.ba316f20.lean.js +1 -0
  58. package/docs/.vitepress/dist/assets/rules_enforce-effect-naming-convention.md.09e5af2c.js +6 -0
  59. package/docs/.vitepress/dist/assets/rules_enforce-effect-naming-convention.md.09e5af2c.lean.js +1 -0
  60. package/docs/.vitepress/dist/assets/rules_enforce-gate-naming-convention.md.5f3af41a.js +6 -0
  61. package/docs/.vitepress/dist/assets/rules_enforce-gate-naming-convention.md.5f3af41a.lean.js +1 -0
  62. package/docs/.vitepress/dist/assets/rules_enforce-store-naming-convention.md.db33b9cb.js +26 -0
  63. package/docs/.vitepress/dist/assets/rules_enforce-store-naming-convention.md.db33b9cb.lean.js +1 -0
  64. package/docs/.vitepress/dist/assets/rules_index.md.3e915bb2.js +1 -0
  65. package/docs/.vitepress/dist/assets/rules_index.md.3e915bb2.lean.js +1 -0
  66. package/docs/.vitepress/dist/assets/rules_keep-options-order.md.5345093b.js +16 -0
  67. package/docs/.vitepress/dist/assets/rules_keep-options-order.md.5345093b.lean.js +1 -0
  68. package/docs/.vitepress/dist/assets/rules_mandatory-scope-binding.md.aff04a66.js +14 -0
  69. package/docs/.vitepress/dist/assets/rules_mandatory-scope-binding.md.aff04a66.lean.js +1 -0
  70. package/docs/.vitepress/dist/assets/rules_no-ambiguity-target.md.7fde769b.js +7 -0
  71. package/docs/.vitepress/dist/assets/rules_no-ambiguity-target.md.7fde769b.lean.js +1 -0
  72. package/docs/.vitepress/dist/assets/rules_no-duplicate-on.md.09525e1d.js +11 -0
  73. package/docs/.vitepress/dist/assets/rules_no-duplicate-on.md.09525e1d.lean.js +1 -0
  74. package/docs/.vitepress/dist/assets/rules_no-forward.md.2becbf92.js +11 -0
  75. package/docs/.vitepress/dist/assets/rules_no-forward.md.2becbf92.lean.js +1 -0
  76. package/docs/.vitepress/dist/assets/rules_no-getState.md.665d0467.js +15 -0
  77. package/docs/.vitepress/dist/assets/rules_no-getState.md.665d0467.lean.js +1 -0
  78. package/docs/.vitepress/dist/assets/rules_no-guard.md.5056c7b6.js +22 -0
  79. package/docs/.vitepress/dist/assets/rules_no-guard.md.5056c7b6.lean.js +1 -0
  80. package/docs/.vitepress/dist/assets/rules_no-patronum-debug.md.19f444fb.js +14 -0
  81. package/docs/.vitepress/dist/assets/rules_no-patronum-debug.md.19f444fb.lean.js +1 -0
  82. package/docs/.vitepress/dist/assets/rules_no-unnecessary-combination.md.e7221074.js +20 -0
  83. package/docs/.vitepress/dist/assets/rules_no-unnecessary-combination.md.e7221074.lean.js +1 -0
  84. package/docs/.vitepress/dist/assets/rules_no-unnecessary-duplication.md.3a99556b.js +27 -0
  85. package/docs/.vitepress/dist/assets/rules_no-unnecessary-duplication.md.3a99556b.lean.js +1 -0
  86. package/docs/.vitepress/dist/assets/rules_no-useless-methods.md.e13dc29f.js +9 -0
  87. package/docs/.vitepress/dist/assets/rules_no-useless-methods.md.e13dc29f.lean.js +1 -0
  88. package/docs/.vitepress/dist/assets/rules_no-watch.md.72ac4d86.js +35 -0
  89. package/docs/.vitepress/dist/assets/rules_no-watch.md.72ac4d86.lean.js +1 -0
  90. package/docs/.vitepress/dist/assets/rules_prefer-sample-over-forward-with-mapping.md.e5a7f363.js +22 -0
  91. package/docs/.vitepress/dist/assets/rules_prefer-sample-over-forward-with-mapping.md.e5a7f363.lean.js +1 -0
  92. package/docs/.vitepress/dist/assets/rules_prefer-useUnit.md.2d27cecd.js +28 -0
  93. package/docs/.vitepress/dist/assets/rules_prefer-useUnit.md.2d27cecd.lean.js +1 -0
  94. package/docs/.vitepress/dist/assets/rules_strict-effect-handlers.md.2f8965e2.js +23 -0
  95. package/docs/.vitepress/dist/assets/rules_strict-effect-handlers.md.2f8965e2.lean.js +1 -0
  96. package/docs/.vitepress/dist/assets/style.9e7714f0.css +1 -0
  97. package/docs/.vitepress/dist/hashmap.json +1 -0
  98. package/docs/.vitepress/dist/index.html +20 -0
  99. package/docs/.vitepress/dist/presets/__future.html +20 -0
  100. package/docs/.vitepress/dist/presets/__index.html +20 -0
  101. package/docs/.vitepress/dist/presets/__list.html +20 -0
  102. package/docs/.vitepress/dist/presets/__patronum.html +20 -0
  103. package/docs/.vitepress/dist/presets/__react.html +20 -0
  104. package/docs/.vitepress/dist/presets/__recommended.html +20 -0
  105. package/docs/.vitepress/dist/presets/__scope.html +20 -0
  106. package/docs/.vitepress/dist/presets/future.html +20 -0
  107. package/docs/.vitepress/dist/presets/index.html +20 -0
  108. package/docs/.vitepress/dist/presets/patronum.html +20 -0
  109. package/docs/.vitepress/dist/presets/react.html +20 -0
  110. package/docs/.vitepress/dist/presets/recommended.html +20 -0
  111. package/docs/.vitepress/dist/presets/scope.html +20 -0
  112. package/docs/.vitepress/dist/rules/__index.html +20 -0
  113. package/docs/.vitepress/dist/rules/__list.html +20 -0
  114. package/docs/.vitepress/dist/rules/enforce-effect-naming-convention.html +25 -0
  115. package/docs/.vitepress/dist/rules/enforce-gate-naming-convention.html +25 -0
  116. package/docs/.vitepress/dist/rules/enforce-store-naming-convention.html +45 -0
  117. package/docs/.vitepress/dist/rules/index.html +20 -0
  118. package/docs/.vitepress/dist/rules/keep-options-order.html +35 -0
  119. package/docs/.vitepress/dist/rules/mandatory-scope-binding.html +33 -0
  120. package/docs/.vitepress/dist/rules/no-ambiguity-target.html +26 -0
  121. package/docs/.vitepress/dist/rules/no-duplicate-on.html +30 -0
  122. package/docs/.vitepress/dist/rules/no-forward.html +30 -0
  123. package/docs/.vitepress/dist/rules/no-getState.html +34 -0
  124. package/docs/.vitepress/dist/rules/no-guard.html +41 -0
  125. package/docs/.vitepress/dist/rules/no-patronum-debug.html +33 -0
  126. package/docs/.vitepress/dist/rules/no-unnecessary-combination.html +39 -0
  127. package/docs/.vitepress/dist/rules/no-unnecessary-duplication.html +46 -0
  128. package/docs/.vitepress/dist/rules/no-useless-methods.html +28 -0
  129. package/docs/.vitepress/dist/rules/no-watch.html +54 -0
  130. package/docs/.vitepress/dist/rules/prefer-sample-over-forward-with-mapping.html +41 -0
  131. package/docs/.vitepress/dist/rules/prefer-useUnit.html +47 -0
  132. package/docs/.vitepress/dist/rules/strict-effect-handlers.html +42 -0
  133. package/docs/.vitepress/theme/custom.css +8 -0
  134. package/docs/.vitepress/theme/index.js +4 -0
  135. package/docs/public/apple-touch-icon.png +0 -0
  136. package/docs/public/comet-192.png +0 -0
  137. package/docs/public/comet-512.png +0 -0
  138. package/docs/public/comet.svg +228 -0
  139. package/docs/public/favicon.ico +0 -0
  140. package/docs/public/manifest.webmanifest +6 -0
  141. package/package.json +1 -1
  142. package/rules/enforce-store-naming-convention/enforce-store-naming-convention.js +6 -6
  143. package/utils/create-link-to-rule.js +1 -1
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en-US">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <title>effector/enforce-gate-naming-convention | ESLint plugin for Effector</title>
7
+ <meta name="description" content="A VitePress site">
8
+ <link rel="stylesheet" href="/assets/style.9e7714f0.css">
9
+ <link rel="modulepreload" href="/assets/app.c5be1f68.js">
10
+ <link rel="modulepreload" href="/assets/rules_enforce-gate-naming-convention.md.5f3af41a.lean.js">
11
+
12
+ <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
+ </head>
14
+ <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_enforce-gate-naming-convention" data-v-392d9ceb><div><h1 id="effector-enforce-gate-naming-convention" tabindex="-1">effector/enforce-gate-naming-convention <a class="header-anchor" href="#effector-enforce-gate-naming-convention" aria-hidden="true">#</a></h1><p>Enforcing naming conventions helps keep the codebase consistent, and reduces overhead when thinking about how to name a variable with gate. Every gate is a react-component, so it should be named as regular react-component.</p><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:#676E95;">// 👍 nice name</span></span>
16
+ <span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> MyFavoritePageGate </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">createGate</span><span style="color:#A6ACCD;">()</span><span style="color:#89DDFF;">;</span></span>
17
+ <span class="line"></span>
18
+ <span class="line"><span style="color:#676E95;">// 👎 bad name</span></span>
19
+ <span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> otherFavoritePageGate </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">createGate</span><span style="color:#A6ACCD;">()</span><span style="color:#89DDFF;">;</span></span>
20
+ <span class="line"></span></code></pre></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-392d9ceb data-v-8d4e89ab><div class="edit-info" data-v-8d4e89ab><div class="edit-link" data-v-8d4e89ab><a class="VPLink link edit-link-button" href="https://github.com/effector/eslint-plugin/edit/master/docs/rules/enforce-gate-naming-convention.md" target="_blank" rel="noreferrer" data-v-8d4e89ab data-v-43d5b194><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-8d4e89ab><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><!----></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter" data-v-5236d721 data-v-ae90d55f><div class="container" data-v-ae90d55f><p class="message" data-v-ae90d55f>Released under the MIT License.</p><!----></div></footer><!--[--><!--]--></div></div>
21
+ <script>__VP_HASH_MAP__ = JSON.parse("{\"index.md\":\"79361962\",\"presets___future.md\":\"6542932d\",\"presets___index.md\":\"af77aa24\",\"presets___list.md\":\"86dea8af\",\"presets___patronum.md\":\"9f3ad5fe\",\"presets___react.md\":\"dc2cc31a\",\"presets___recommended.md\":\"af826424\",\"presets___scope.md\":\"e5dd9837\",\"presets_future.md\":\"2962dd38\",\"presets_index.md\":\"c3c40451\",\"presets_patronum.md\":\"58445698\",\"presets_react.md\":\"fda31c90\",\"presets_recommended.md\":\"396d0c01\",\"presets_scope.md\":\"55da3541\",\"rules___index.md\":\"c943fc87\",\"rules___list.md\":\"ba316f20\",\"rules_enforce-effect-naming-convention.md\":\"09e5af2c\",\"rules_enforce-gate-naming-convention.md\":\"5f3af41a\",\"rules_enforce-store-naming-convention.md\":\"db33b9cb\",\"rules_index.md\":\"3e915bb2\",\"rules_keep-options-order.md\":\"5345093b\",\"rules_mandatory-scope-binding.md\":\"aff04a66\",\"rules_no-ambiguity-target.md\":\"7fde769b\",\"rules_no-duplicate-on.md\":\"09525e1d\",\"rules_no-forward.md\":\"2becbf92\",\"rules_no-getstate.md\":\"665d0467\",\"rules_no-guard.md\":\"5056c7b6\",\"rules_no-patronum-debug.md\":\"19f444fb\",\"rules_no-unnecessary-combination.md\":\"e7221074\",\"rules_no-unnecessary-duplication.md\":\"3a99556b\",\"rules_no-useless-methods.md\":\"e13dc29f\",\"rules_no-watch.md\":\"72ac4d86\",\"rules_prefer-sample-over-forward-with-mapping.md\":\"e5a7f363\",\"rules_prefer-useunit.md\":\"2d27cecd\",\"rules_strict-effect-handlers.md\":\"2f8965e2\"}")</script>
22
+ <script type="module" async src="/assets/app.c5be1f68.js"></script>
23
+
24
+ </body>
25
+ </html>
@@ -0,0 +1,45 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en-US">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <title>effector/enforce-store-naming-convention | ESLint plugin for Effector</title>
7
+ <meta name="description" content="A VitePress site">
8
+ <link rel="stylesheet" href="/assets/style.9e7714f0.css">
9
+ <link rel="modulepreload" href="/assets/app.c5be1f68.js">
10
+ <link rel="modulepreload" href="/assets/rules_enforce-store-naming-convention.md.db33b9cb.lean.js">
11
+
12
+ <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
+ </head>
14
+ <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_enforce-store-naming-convention" data-v-392d9ceb><div><h1 id="effector-enforce-store-naming-convention" tabindex="-1">effector/enforce-store-naming-convention <a class="header-anchor" href="#effector-enforce-store-naming-convention" aria-hidden="true">#</a></h1><p>Enforcing naming conventions helps keep the codebase consistent, and reduces overhead when thinking about how to name a variable with store. Depending on the configuration your stores should be distinguished by a prefix or a postfix $. Enforces prefix convention by default.</p><h2 id="prefix-convention" tabindex="-1">Prefix convention <a class="header-anchor" href="#prefix-convention" aria-hidden="true">#</a></h2><p>When configured as:</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:#89DDFF;">module.exports</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
16
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">rules</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
17
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#F07178;">effector/enforce-store-naming-convention</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">error</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">,</span></span>
18
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">},</span></span>
19
+ <span class="line"><span style="color:#89DDFF;">};</span></span>
20
+ <span class="line"></span></code></pre></div><p>Prefix convention will be enforced:</p><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:#676E95;">// 👍 nice name</span></span>
21
+ <span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> $name </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;">null</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
22
+ <span class="line"></span>
23
+ <span class="line"><span style="color:#676E95;">// 👎 bad name</span></span>
24
+ <span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> name </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;">null</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
25
+ <span class="line"></span></code></pre></div><h2 id="postfix-convention" tabindex="-1">Postfix convention <a class="header-anchor" href="#postfix-convention" aria-hidden="true">#</a></h2><p>When configured as:</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:#89DDFF;">module.exports</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
26
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">rules</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
27
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#F07178;">effector/enforce-store-naming-convention</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">error</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">,</span></span>
28
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">},</span></span>
29
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">settings</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
30
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">effector</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
31
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">storeNameConvention</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">postfix</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">,</span></span>
32
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">},</span></span>
33
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">},</span></span>
34
+ <span class="line"><span style="color:#89DDFF;">};</span></span>
35
+ <span class="line"></span></code></pre></div><p>Postfix convention will be enforced:</p><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:#676E95;">// 👍 nice name</span></span>
36
+ <span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> name$ </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;">null</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
37
+ <span class="line"></span>
38
+ <span class="line"><span style="color:#676E95;">// 👎 bad name</span></span>
39
+ <span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> name </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">createStrore</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">null</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
40
+ <span class="line"></span></code></pre></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-392d9ceb data-v-8d4e89ab><div class="edit-info" data-v-8d4e89ab><div class="edit-link" data-v-8d4e89ab><a class="VPLink link edit-link-button" href="https://github.com/effector/eslint-plugin/edit/master/docs/rules/enforce-store-naming-convention.md" target="_blank" rel="noreferrer" data-v-8d4e89ab data-v-43d5b194><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-8d4e89ab><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><!----></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter" data-v-5236d721 data-v-ae90d55f><div class="container" data-v-ae90d55f><p class="message" data-v-ae90d55f>Released under the MIT License.</p><!----></div></footer><!--[--><!--]--></div></div>
41
+ <script>__VP_HASH_MAP__ = JSON.parse("{\"index.md\":\"79361962\",\"presets___future.md\":\"6542932d\",\"presets___index.md\":\"af77aa24\",\"presets___list.md\":\"86dea8af\",\"presets___patronum.md\":\"9f3ad5fe\",\"presets___react.md\":\"dc2cc31a\",\"presets___recommended.md\":\"af826424\",\"presets___scope.md\":\"e5dd9837\",\"presets_future.md\":\"2962dd38\",\"presets_index.md\":\"c3c40451\",\"presets_patronum.md\":\"58445698\",\"presets_react.md\":\"fda31c90\",\"presets_recommended.md\":\"396d0c01\",\"presets_scope.md\":\"55da3541\",\"rules___index.md\":\"c943fc87\",\"rules___list.md\":\"ba316f20\",\"rules_enforce-effect-naming-convention.md\":\"09e5af2c\",\"rules_enforce-gate-naming-convention.md\":\"5f3af41a\",\"rules_enforce-store-naming-convention.md\":\"db33b9cb\",\"rules_index.md\":\"3e915bb2\",\"rules_keep-options-order.md\":\"5345093b\",\"rules_mandatory-scope-binding.md\":\"aff04a66\",\"rules_no-ambiguity-target.md\":\"7fde769b\",\"rules_no-duplicate-on.md\":\"09525e1d\",\"rules_no-forward.md\":\"2becbf92\",\"rules_no-getstate.md\":\"665d0467\",\"rules_no-guard.md\":\"5056c7b6\",\"rules_no-patronum-debug.md\":\"19f444fb\",\"rules_no-unnecessary-combination.md\":\"e7221074\",\"rules_no-unnecessary-duplication.md\":\"3a99556b\",\"rules_no-useless-methods.md\":\"e13dc29f\",\"rules_no-watch.md\":\"72ac4d86\",\"rules_prefer-sample-over-forward-with-mapping.md\":\"e5a7f363\",\"rules_prefer-useunit.md\":\"2d27cecd\",\"rules_strict-effect-handlers.md\":\"2f8965e2\"}")</script>
42
+ <script type="module" async src="/assets/app.c5be1f68.js"></script>
43
+
44
+ </body>
45
+ </html>
@@ -0,0 +1,20 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en-US">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <title>Rules | ESLint plugin for Effector</title>
7
+ <meta name="description" content="A VitePress site">
8
+ <link rel="stylesheet" href="/assets/style.9e7714f0.css">
9
+ <link rel="modulepreload" href="/assets/app.c5be1f68.js">
10
+ <link rel="modulepreload" href="/assets/rules_index.md.3e915bb2.lean.js">
11
+
12
+ <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
+ </head>
14
+ <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_index" data-v-392d9ceb><div><h1 id="rules" tabindex="-1">Rules <a class="header-anchor" href="#rules" aria-hidden="true">#</a></h1><ul><li><a href="./enforce-effect-naming-convention.html">enforce-effect-naming-convention</a></li><li><a href="./enforce-gate-naming-convention.html">enforce-gate-naming-convention</a></li><li><a href="./enforce-store-naming-convention.html">enforce-store-naming-convention</a></li><li><a href="./keep-options-order.html">keep-options-order</a></li><li><a href="./mandatory-scope-binding.html">mandatory-scope-binding</a></li><li><a href="./no-ambiguity-target.html">no-ambiguity-target</a></li><li><a href="./no-duplicate-on.html">no-duplicate-on</a></li><li><a href="./no-forward.html">no-forward</a></li><li><a href="./no-getState.html">no-getState</a></li><li><a href="./no-guard.html">no-guard</a></li><li><a href="./no-patronum-debug.html">no-patronum-debug</a></li><li><a href="./no-unnecessary-combination.html">no-unnecessary-combination</a></li><li><a href="./no-unnecessary-duplication.html">no-unnecessary-duplication</a></li><li><a href="./no-useless-methods.html">no-useless-methods</a></li><li><a href="./no-watch.html">no-watch</a></li><li><a href="./prefer-sample-over-forward-with-mapping.html">prefer-sample-over-forward-with-mapping</a></li><li><a href="./prefer-useUnit.html">prefer-useUnit</a></li><li><a href="./strict-effect-handlers.html">strict-effect-handlers</a></li></ul></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-392d9ceb data-v-8d4e89ab><div class="edit-info" data-v-8d4e89ab><div class="edit-link" data-v-8d4e89ab><a class="VPLink link edit-link-button" href="https://github.com/effector/eslint-plugin/edit/master/docs/rules/index.md" target="_blank" rel="noreferrer" data-v-8d4e89ab data-v-43d5b194><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-8d4e89ab><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><!----></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter" data-v-5236d721 data-v-ae90d55f><div class="container" data-v-ae90d55f><p class="message" data-v-ae90d55f>Released under the MIT License.</p><!----></div></footer><!--[--><!--]--></div></div>
16
+ <script>__VP_HASH_MAP__ = JSON.parse("{\"index.md\":\"79361962\",\"presets___future.md\":\"6542932d\",\"presets___index.md\":\"af77aa24\",\"presets___list.md\":\"86dea8af\",\"presets___patronum.md\":\"9f3ad5fe\",\"presets___react.md\":\"dc2cc31a\",\"presets___recommended.md\":\"af826424\",\"presets___scope.md\":\"e5dd9837\",\"presets_future.md\":\"2962dd38\",\"presets_index.md\":\"c3c40451\",\"presets_patronum.md\":\"58445698\",\"presets_react.md\":\"fda31c90\",\"presets_recommended.md\":\"396d0c01\",\"presets_scope.md\":\"55da3541\",\"rules___index.md\":\"c943fc87\",\"rules___list.md\":\"ba316f20\",\"rules_enforce-effect-naming-convention.md\":\"09e5af2c\",\"rules_enforce-gate-naming-convention.md\":\"5f3af41a\",\"rules_enforce-store-naming-convention.md\":\"db33b9cb\",\"rules_index.md\":\"3e915bb2\",\"rules_keep-options-order.md\":\"5345093b\",\"rules_mandatory-scope-binding.md\":\"aff04a66\",\"rules_no-ambiguity-target.md\":\"7fde769b\",\"rules_no-duplicate-on.md\":\"09525e1d\",\"rules_no-forward.md\":\"2becbf92\",\"rules_no-getstate.md\":\"665d0467\",\"rules_no-guard.md\":\"5056c7b6\",\"rules_no-patronum-debug.md\":\"19f444fb\",\"rules_no-unnecessary-combination.md\":\"e7221074\",\"rules_no-unnecessary-duplication.md\":\"3a99556b\",\"rules_no-useless-methods.md\":\"e13dc29f\",\"rules_no-watch.md\":\"72ac4d86\",\"rules_prefer-sample-over-forward-with-mapping.md\":\"e5a7f363\",\"rules_prefer-useunit.md\":\"2d27cecd\",\"rules_strict-effect-handlers.md\":\"2f8965e2\"}")</script>
17
+ <script type="module" async src="/assets/app.c5be1f68.js"></script>
18
+
19
+ </body>
20
+ </html>
@@ -0,0 +1,35 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en-US">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <title>effector/keep-options-order | ESLint plugin for Effector</title>
7
+ <meta name="description" content="A VitePress site">
8
+ <link rel="stylesheet" href="/assets/style.9e7714f0.css">
9
+ <link rel="modulepreload" href="/assets/app.c5be1f68.js">
10
+ <link rel="modulepreload" href="/assets/rules_keep-options-order.md.5345093b.lean.js">
11
+
12
+ <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
+ </head>
14
+ <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_keep-options-order" data-v-392d9ceb><div><h1 id="effector-keep-options-order" tabindex="-1">effector/keep-options-order <a class="header-anchor" href="#effector-keep-options-order" aria-hidden="true">#</a></h1><p>Some of Effector-methods (e.g., <code>sample</code> and <code>guard</code>) accept config in object form. This form can be read as &quot;when <code>clock</code> is triggered, take data from <code>source</code> pass it through <code>filter</code>/<code>fn</code> and send to <code>target</code>&quot;. So, it is better to use semantic order of configuration properties — <code>clock -&gt; source -&gt; filter/fn -&gt; target</code>. The rule enforces this order for any case.</p><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:#676E95;">// 👍 great</span></span>
16
+ <span class="line"><span style="color:#82AAFF;">sample</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span></span>
17
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">clock</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> formSubmit</span><span style="color:#89DDFF;">,</span></span>
18
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">source</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> $formData</span><span style="color:#89DDFF;">,</span></span>
19
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">fn</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> prepareData</span><span style="color:#89DDFF;">,</span></span>
20
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">target</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> sendFormToServerFx</span><span style="color:#89DDFF;">,</span></span>
21
+ <span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
22
+ <span class="line"></span>
23
+ <span class="line"><span style="color:#676E95;">// 👎 weird</span></span>
24
+ <span class="line"><span style="color:#82AAFF;">sample</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span></span>
25
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">fn</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> prepareData</span><span style="color:#89DDFF;">,</span></span>
26
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">target</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> sendFormToServerFx</span><span style="color:#89DDFF;">,</span></span>
27
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">clock</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> formSubmit</span><span style="color:#89DDFF;">,</span></span>
28
+ <span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">source</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> $formData</span><span style="color:#89DDFF;">,</span></span>
29
+ <span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
30
+ <span class="line"></span></code></pre></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-392d9ceb data-v-8d4e89ab><div class="edit-info" data-v-8d4e89ab><div class="edit-link" data-v-8d4e89ab><a class="VPLink link edit-link-button" href="https://github.com/effector/eslint-plugin/edit/master/docs/rules/keep-options-order.md" target="_blank" rel="noreferrer" data-v-8d4e89ab data-v-43d5b194><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-8d4e89ab><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><!----></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter" data-v-5236d721 data-v-ae90d55f><div class="container" data-v-ae90d55f><p class="message" data-v-ae90d55f>Released under the MIT License.</p><!----></div></footer><!--[--><!--]--></div></div>
31
+ <script>__VP_HASH_MAP__ = JSON.parse("{\"index.md\":\"79361962\",\"presets___future.md\":\"6542932d\",\"presets___index.md\":\"af77aa24\",\"presets___list.md\":\"86dea8af\",\"presets___patronum.md\":\"9f3ad5fe\",\"presets___react.md\":\"dc2cc31a\",\"presets___recommended.md\":\"af826424\",\"presets___scope.md\":\"e5dd9837\",\"presets_future.md\":\"2962dd38\",\"presets_index.md\":\"c3c40451\",\"presets_patronum.md\":\"58445698\",\"presets_react.md\":\"fda31c90\",\"presets_recommended.md\":\"396d0c01\",\"presets_scope.md\":\"55da3541\",\"rules___index.md\":\"c943fc87\",\"rules___list.md\":\"ba316f20\",\"rules_enforce-effect-naming-convention.md\":\"09e5af2c\",\"rules_enforce-gate-naming-convention.md\":\"5f3af41a\",\"rules_enforce-store-naming-convention.md\":\"db33b9cb\",\"rules_index.md\":\"3e915bb2\",\"rules_keep-options-order.md\":\"5345093b\",\"rules_mandatory-scope-binding.md\":\"aff04a66\",\"rules_no-ambiguity-target.md\":\"7fde769b\",\"rules_no-duplicate-on.md\":\"09525e1d\",\"rules_no-forward.md\":\"2becbf92\",\"rules_no-getstate.md\":\"665d0467\",\"rules_no-guard.md\":\"5056c7b6\",\"rules_no-patronum-debug.md\":\"19f444fb\",\"rules_no-unnecessary-combination.md\":\"e7221074\",\"rules_no-unnecessary-duplication.md\":\"3a99556b\",\"rules_no-useless-methods.md\":\"e13dc29f\",\"rules_no-watch.md\":\"72ac4d86\",\"rules_prefer-sample-over-forward-with-mapping.md\":\"e5a7f363\",\"rules_prefer-useunit.md\":\"2d27cecd\",\"rules_strict-effect-handlers.md\":\"2f8965e2\"}")</script>
32
+ <script type="module" async src="/assets/app.c5be1f68.js"></script>
33
+
34
+ </body>
35
+ </html>
@@ -0,0 +1,33 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en-US">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <title>effector/mandatory-scope-binding | ESLint plugin for Effector</title>
7
+ <meta name="description" content="A VitePress site">
8
+ <link rel="stylesheet" href="/assets/style.9e7714f0.css">
9
+ <link rel="modulepreload" href="/assets/app.c5be1f68.js">
10
+ <link rel="modulepreload" href="/assets/rules_mandatory-scope-binding.md.aff04a66.lean.js">
11
+
12
+ <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
+ </head>
14
+ <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_mandatory-scope-binding" data-v-392d9ceb><div><h1 id="effector-mandatory-scope-binding" tabindex="-1">effector/mandatory-scope-binding <a class="header-anchor" href="#effector-mandatory-scope-binding" aria-hidden="true">#</a></h1><p>Forbids <code>Event</code> and <code>Effect</code> usage without <code>useUnit</code> in React components. This ensures <code>Fork API</code> compatibility and allows writing isomorphic code for SSR apps.</p><div class="language-tsx"><button title="Copy Code" class="copy"></button><span class="lang">tsx</span><pre class="shiki"><code><span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> increment </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
+ <span class="line"></span>
17
+ <span class="line"><span style="color:#676E95;">// 👍 Event usage is wrapped with `useEvent`</span></span>
18
+ <span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> GoodButton </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">()</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=&gt;</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
19
+ <span class="line"><span style="color:#F07178;"> </span><span style="color:#C792EA;">const</span><span style="color:#F07178;"> </span><span style="color:#A6ACCD;">incrementEvent</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#82AAFF;">useUnit</span><span style="color:#F07178;">(</span><span style="color:#A6ACCD;">increment</span><span style="color:#F07178;">)</span><span style="color:#89DDFF;">;</span></span>
20
+ <span class="line"></span>
21
+ <span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">return</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">&lt;</span><span style="color:#F07178;">button</span><span style="color:#89DDFF;"> </span><span style="color:#C792EA;">onClick</span><span style="color:#89DDFF;">={</span><span style="color:#A6ACCD;">incrementEvent</span><span style="color:#89DDFF;">}&gt;</span><span style="color:#A6ACCD;">+</span><span style="color:#89DDFF;">&lt;/</span><span style="color:#F07178;">button</span><span style="color:#89DDFF;">&gt;;</span></span>
22
+ <span class="line"><span style="color:#89DDFF;">};</span></span>
23
+ <span class="line"></span>
24
+ <span class="line"><span style="color:#676E95;">// 👎 Event is not wrapped with `useEvent` - component is not suitable for isomorphic SSR app</span></span>
25
+ <span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> BadButton </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">()</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=&gt;</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
26
+ <span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">return</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">&lt;</span><span style="color:#F07178;">button</span><span style="color:#89DDFF;"> </span><span style="color:#C792EA;">onClick</span><span style="color:#89DDFF;">={</span><span style="color:#A6ACCD;">increment</span><span style="color:#89DDFF;">}&gt;</span><span style="color:#A6ACCD;">+</span><span style="color:#89DDFF;">&lt;/</span><span style="color:#F07178;">button</span><span style="color:#89DDFF;">&gt;;</span></span>
27
+ <span class="line"><span style="color:#89DDFF;">};</span></span>
28
+ <span class="line"></span></code></pre></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-392d9ceb data-v-8d4e89ab><div class="edit-info" data-v-8d4e89ab><div class="edit-link" data-v-8d4e89ab><a class="VPLink link edit-link-button" href="https://github.com/effector/eslint-plugin/edit/master/docs/rules/mandatory-scope-binding.md" target="_blank" rel="noreferrer" data-v-8d4e89ab data-v-43d5b194><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-8d4e89ab><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><!----></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter" data-v-5236d721 data-v-ae90d55f><div class="container" data-v-ae90d55f><p class="message" data-v-ae90d55f>Released under the MIT License.</p><!----></div></footer><!--[--><!--]--></div></div>
29
+ <script>__VP_HASH_MAP__ = JSON.parse("{\"index.md\":\"79361962\",\"presets___future.md\":\"6542932d\",\"presets___index.md\":\"af77aa24\",\"presets___list.md\":\"86dea8af\",\"presets___patronum.md\":\"9f3ad5fe\",\"presets___react.md\":\"dc2cc31a\",\"presets___recommended.md\":\"af826424\",\"presets___scope.md\":\"e5dd9837\",\"presets_future.md\":\"2962dd38\",\"presets_index.md\":\"c3c40451\",\"presets_patronum.md\":\"58445698\",\"presets_react.md\":\"fda31c90\",\"presets_recommended.md\":\"396d0c01\",\"presets_scope.md\":\"55da3541\",\"rules___index.md\":\"c943fc87\",\"rules___list.md\":\"ba316f20\",\"rules_enforce-effect-naming-convention.md\":\"09e5af2c\",\"rules_enforce-gate-naming-convention.md\":\"5f3af41a\",\"rules_enforce-store-naming-convention.md\":\"db33b9cb\",\"rules_index.md\":\"3e915bb2\",\"rules_keep-options-order.md\":\"5345093b\",\"rules_mandatory-scope-binding.md\":\"aff04a66\",\"rules_no-ambiguity-target.md\":\"7fde769b\",\"rules_no-duplicate-on.md\":\"09525e1d\",\"rules_no-forward.md\":\"2becbf92\",\"rules_no-getstate.md\":\"665d0467\",\"rules_no-guard.md\":\"5056c7b6\",\"rules_no-patronum-debug.md\":\"19f444fb\",\"rules_no-unnecessary-combination.md\":\"e7221074\",\"rules_no-unnecessary-duplication.md\":\"3a99556b\",\"rules_no-useless-methods.md\":\"e13dc29f\",\"rules_no-watch.md\":\"72ac4d86\",\"rules_prefer-sample-over-forward-with-mapping.md\":\"e5a7f363\",\"rules_prefer-useunit.md\":\"2d27cecd\",\"rules_strict-effect-handlers.md\":\"2f8965e2\"}")</script>
30
+ <script type="module" async src="/assets/app.c5be1f68.js"></script>
31
+
32
+ </body>
33
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en-US">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <title>effector/no-ambiguity-target | ESLint plugin for Effector</title>
7
+ <meta name="description" content="A VitePress site">
8
+ <link rel="stylesheet" href="/assets/style.9e7714f0.css">
9
+ <link rel="modulepreload" href="/assets/app.c5be1f68.js">
10
+ <link rel="modulepreload" href="/assets/rules_no-ambiguity-target.md.7fde769b.lean.js">
11
+
12
+ <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
+ </head>
14
+ <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-ambiguity-target" data-v-392d9ceb><div><h1 id="effector-no-ambiguity-target" tabindex="-1">effector/no-ambiguity-target <a class="header-anchor" href="#effector-no-ambiguity-target" aria-hidden="true">#</a></h1><p>Call of <code>guard</code>/<code>sample</code> with <code>target</code> and variable assignment is ambiguity. One of them should be omitted from source code.</p><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:#676E95;">// 👎 should be rewritten</span></span>
16
+ <span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> result </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">guard</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">clock</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> trigger</span><span style="color:#89DDFF;">,</span><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 style="color:#A6ACCD;"> target </span><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
17
+ <span class="line"></span>
18
+ <span class="line"><span style="color:#676E95;">// 👍 makes sense</span></span>
19
+ <span class="line"><span style="color:#82AAFF;">guard</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">clock</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> trigger</span><span style="color:#89DDFF;">,</span><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 style="color:#A6ACCD;"> target </span><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
20
+ <span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> result </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> target</span><span style="color:#89DDFF;">;</span></span>
21
+ <span class="line"></span></code></pre></div></div></div></main><!--[--><!--]--><footer class="VPDocFooter" data-v-392d9ceb data-v-8d4e89ab><div class="edit-info" data-v-8d4e89ab><div class="edit-link" data-v-8d4e89ab><a class="VPLink link edit-link-button" href="https://github.com/effector/eslint-plugin/edit/master/docs/rules/no-ambiguity-target.md" target="_blank" rel="noreferrer" data-v-8d4e89ab data-v-43d5b194><!--[--><svg xmlns="http://www.w3.org/2000/svg" viewbox="0 0 24 24" class="edit-link-icon" data-v-8d4e89ab><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><!----></footer><!--[--><!--]--></div></div></div></div></div><footer class="VPFooter" data-v-5236d721 data-v-ae90d55f><div class="container" data-v-ae90d55f><p class="message" data-v-ae90d55f>Released under the MIT License.</p><!----></div></footer><!--[--><!--]--></div></div>
22
+ <script>__VP_HASH_MAP__ = JSON.parse("{\"index.md\":\"79361962\",\"presets___future.md\":\"6542932d\",\"presets___index.md\":\"af77aa24\",\"presets___list.md\":\"86dea8af\",\"presets___patronum.md\":\"9f3ad5fe\",\"presets___react.md\":\"dc2cc31a\",\"presets___recommended.md\":\"af826424\",\"presets___scope.md\":\"e5dd9837\",\"presets_future.md\":\"2962dd38\",\"presets_index.md\":\"c3c40451\",\"presets_patronum.md\":\"58445698\",\"presets_react.md\":\"fda31c90\",\"presets_recommended.md\":\"396d0c01\",\"presets_scope.md\":\"55da3541\",\"rules___index.md\":\"c943fc87\",\"rules___list.md\":\"ba316f20\",\"rules_enforce-effect-naming-convention.md\":\"09e5af2c\",\"rules_enforce-gate-naming-convention.md\":\"5f3af41a\",\"rules_enforce-store-naming-convention.md\":\"db33b9cb\",\"rules_index.md\":\"3e915bb2\",\"rules_keep-options-order.md\":\"5345093b\",\"rules_mandatory-scope-binding.md\":\"aff04a66\",\"rules_no-ambiguity-target.md\":\"7fde769b\",\"rules_no-duplicate-on.md\":\"09525e1d\",\"rules_no-forward.md\":\"2becbf92\",\"rules_no-getstate.md\":\"665d0467\",\"rules_no-guard.md\":\"5056c7b6\",\"rules_no-patronum-debug.md\":\"19f444fb\",\"rules_no-unnecessary-combination.md\":\"e7221074\",\"rules_no-unnecessary-duplication.md\":\"3a99556b\",\"rules_no-useless-methods.md\":\"e13dc29f\",\"rules_no-watch.md\":\"72ac4d86\",\"rules_prefer-sample-over-forward-with-mapping.md\":\"e5a7f363\",\"rules_prefer-useunit.md\":\"2d27cecd\",\"rules_strict-effect-handlers.md\":\"2f8965e2\"}")</script>
23
+ <script type="module" async src="/assets/app.c5be1f68.js"></script>
24
+
25
+ </body>
26
+ </html>