eslint-plugin-effector 0.10.5 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.nvmrc +1 -1
- package/package.json +3 -2
- package/rules/enforce-effect-naming-convention/enforce-effect-naming-convention.js +9 -2
- package/rules/enforce-gate-naming-convention/enforce-gate-naming-convention.js +10 -2
- package/rules/enforce-store-naming-convention/enforce-store-naming-convention.js +9 -2
- package/rules/mandatory-scope-binding/mandatory-scope-binding.js +9 -2
- package/rules/no-watch/no-watch.js +10 -2
- package/utils/get-corrected-store-name.js +31 -7
- package/utils/is.js +10 -1
- package/utils/naming.js +1 -1
- package/utils/node-type-is.js +5 -2
- package/docs/.vitepress/config.js +0 -58
- package/docs/.vitepress/dist/404.html +0 -19
- package/docs/.vitepress/dist/assets/app.c5be1f68.js +0 -7
- package/docs/.vitepress/dist/assets/index.md.79361962.js +0 -1
- package/docs/.vitepress/dist/assets/index.md.79361962.lean.js +0 -1
- package/docs/.vitepress/dist/assets/inter-cyrillic-ext.0877b0d9.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-cyrillic.f8750142.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-greek-ext.3e6f6728.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-greek.117e1956.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-cyrillic-ext.33bd5a8e.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-cyrillic.ea42a392.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-greek-ext.4fbe9427.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-greek.8f4463c4.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-latin-ext.bd8920cc.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-latin.bd3b6f56.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-italic-vietnamese.6ce511fb.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-latin-ext.7cc429bc.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-latin.4fe6132f.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-cyrillic-ext.e75737ce.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-cyrillic.5f2c6c8c.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-greek-ext.ab0619bc.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-greek.d5a6d92a.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-latin-ext.0030eebd.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-latin.2ed14f66.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-roman-vietnamese.14ce25a6.woff2 +0 -0
- package/docs/.vitepress/dist/assets/inter-vietnamese.2c644a25.woff2 +0 -0
- package/docs/.vitepress/dist/assets/presets___future.md.6542932d.js +0 -1
- package/docs/.vitepress/dist/assets/presets___future.md.6542932d.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets___index.md.af77aa24.js +0 -1
- package/docs/.vitepress/dist/assets/presets___index.md.af77aa24.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets___list.md.86dea8af.js +0 -1
- package/docs/.vitepress/dist/assets/presets___list.md.86dea8af.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets___patronum.md.9f3ad5fe.js +0 -1
- package/docs/.vitepress/dist/assets/presets___patronum.md.9f3ad5fe.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets___react.md.dc2cc31a.js +0 -1
- package/docs/.vitepress/dist/assets/presets___react.md.dc2cc31a.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets___recommended.md.af826424.js +0 -1
- package/docs/.vitepress/dist/assets/presets___recommended.md.af826424.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets___scope.md.e5dd9837.js +0 -1
- package/docs/.vitepress/dist/assets/presets___scope.md.e5dd9837.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets_future.md.2962dd38.js +0 -1
- package/docs/.vitepress/dist/assets/presets_future.md.2962dd38.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets_index.md.c3c40451.js +0 -1
- package/docs/.vitepress/dist/assets/presets_index.md.c3c40451.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets_patronum.md.58445698.js +0 -1
- package/docs/.vitepress/dist/assets/presets_patronum.md.58445698.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets_react.md.fda31c90.js +0 -1
- package/docs/.vitepress/dist/assets/presets_react.md.fda31c90.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets_recommended.md.396d0c01.js +0 -1
- package/docs/.vitepress/dist/assets/presets_recommended.md.396d0c01.lean.js +0 -1
- package/docs/.vitepress/dist/assets/presets_scope.md.55da3541.js +0 -1
- package/docs/.vitepress/dist/assets/presets_scope.md.55da3541.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules___index.md.c943fc87.js +0 -1
- package/docs/.vitepress/dist/assets/rules___index.md.c943fc87.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules___list.md.ba316f20.js +0 -1
- package/docs/.vitepress/dist/assets/rules___list.md.ba316f20.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_enforce-effect-naming-convention.md.09e5af2c.js +0 -6
- package/docs/.vitepress/dist/assets/rules_enforce-effect-naming-convention.md.09e5af2c.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_enforce-gate-naming-convention.md.5f3af41a.js +0 -6
- package/docs/.vitepress/dist/assets/rules_enforce-gate-naming-convention.md.5f3af41a.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_enforce-store-naming-convention.md.db33b9cb.js +0 -26
- package/docs/.vitepress/dist/assets/rules_enforce-store-naming-convention.md.db33b9cb.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_index.md.3e915bb2.js +0 -1
- package/docs/.vitepress/dist/assets/rules_index.md.3e915bb2.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_keep-options-order.md.5345093b.js +0 -16
- package/docs/.vitepress/dist/assets/rules_keep-options-order.md.5345093b.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_mandatory-scope-binding.md.aff04a66.js +0 -14
- package/docs/.vitepress/dist/assets/rules_mandatory-scope-binding.md.aff04a66.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-ambiguity-target.md.7fde769b.js +0 -7
- package/docs/.vitepress/dist/assets/rules_no-ambiguity-target.md.7fde769b.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-duplicate-on.md.09525e1d.js +0 -11
- package/docs/.vitepress/dist/assets/rules_no-duplicate-on.md.09525e1d.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-forward.md.2becbf92.js +0 -11
- package/docs/.vitepress/dist/assets/rules_no-forward.md.2becbf92.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-getState.md.665d0467.js +0 -15
- package/docs/.vitepress/dist/assets/rules_no-getState.md.665d0467.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-guard.md.5056c7b6.js +0 -22
- package/docs/.vitepress/dist/assets/rules_no-guard.md.5056c7b6.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-patronum-debug.md.19f444fb.js +0 -14
- package/docs/.vitepress/dist/assets/rules_no-patronum-debug.md.19f444fb.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-unnecessary-combination.md.e7221074.js +0 -20
- package/docs/.vitepress/dist/assets/rules_no-unnecessary-combination.md.e7221074.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-unnecessary-duplication.md.3a99556b.js +0 -27
- package/docs/.vitepress/dist/assets/rules_no-unnecessary-duplication.md.3a99556b.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-useless-methods.md.e13dc29f.js +0 -9
- package/docs/.vitepress/dist/assets/rules_no-useless-methods.md.e13dc29f.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_no-watch.md.72ac4d86.js +0 -35
- package/docs/.vitepress/dist/assets/rules_no-watch.md.72ac4d86.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_prefer-sample-over-forward-with-mapping.md.e5a7f363.js +0 -22
- package/docs/.vitepress/dist/assets/rules_prefer-sample-over-forward-with-mapping.md.e5a7f363.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_prefer-useUnit.md.2d27cecd.js +0 -28
- package/docs/.vitepress/dist/assets/rules_prefer-useUnit.md.2d27cecd.lean.js +0 -1
- package/docs/.vitepress/dist/assets/rules_strict-effect-handlers.md.2f8965e2.js +0 -23
- package/docs/.vitepress/dist/assets/rules_strict-effect-handlers.md.2f8965e2.lean.js +0 -1
- package/docs/.vitepress/dist/assets/style.9e7714f0.css +0 -1
- package/docs/.vitepress/dist/hashmap.json +0 -1
- package/docs/.vitepress/dist/index.html +0 -20
- package/docs/.vitepress/dist/presets/__future.html +0 -20
- package/docs/.vitepress/dist/presets/__index.html +0 -20
- package/docs/.vitepress/dist/presets/__list.html +0 -20
- package/docs/.vitepress/dist/presets/__patronum.html +0 -20
- package/docs/.vitepress/dist/presets/__react.html +0 -20
- package/docs/.vitepress/dist/presets/__recommended.html +0 -20
- package/docs/.vitepress/dist/presets/__scope.html +0 -20
- package/docs/.vitepress/dist/presets/future.html +0 -20
- package/docs/.vitepress/dist/presets/index.html +0 -20
- package/docs/.vitepress/dist/presets/patronum.html +0 -20
- package/docs/.vitepress/dist/presets/react.html +0 -20
- package/docs/.vitepress/dist/presets/recommended.html +0 -20
- package/docs/.vitepress/dist/presets/scope.html +0 -20
- package/docs/.vitepress/dist/rules/__index.html +0 -20
- package/docs/.vitepress/dist/rules/__list.html +0 -20
- package/docs/.vitepress/dist/rules/enforce-effect-naming-convention.html +0 -25
- package/docs/.vitepress/dist/rules/enforce-gate-naming-convention.html +0 -25
- package/docs/.vitepress/dist/rules/enforce-store-naming-convention.html +0 -45
- package/docs/.vitepress/dist/rules/index.html +0 -20
- package/docs/.vitepress/dist/rules/keep-options-order.html +0 -35
- package/docs/.vitepress/dist/rules/mandatory-scope-binding.html +0 -33
- package/docs/.vitepress/dist/rules/no-ambiguity-target.html +0 -26
- package/docs/.vitepress/dist/rules/no-duplicate-on.html +0 -30
- package/docs/.vitepress/dist/rules/no-forward.html +0 -30
- package/docs/.vitepress/dist/rules/no-getState.html +0 -34
- package/docs/.vitepress/dist/rules/no-guard.html +0 -41
- package/docs/.vitepress/dist/rules/no-patronum-debug.html +0 -33
- package/docs/.vitepress/dist/rules/no-unnecessary-combination.html +0 -39
- package/docs/.vitepress/dist/rules/no-unnecessary-duplication.html +0 -46
- package/docs/.vitepress/dist/rules/no-useless-methods.html +0 -28
- package/docs/.vitepress/dist/rules/no-watch.html +0 -54
- package/docs/.vitepress/dist/rules/prefer-sample-over-forward-with-mapping.html +0 -41
- package/docs/.vitepress/dist/rules/prefer-useUnit.html +0 -47
- package/docs/.vitepress/dist/rules/strict-effect-handlers.html +0 -42
- package/docs/.vitepress/theme/custom.css +0 -8
- package/docs/.vitepress/theme/index.js +0 -4
- package/docs/public/apple-touch-icon.png +0 -0
- package/docs/public/comet-192.png +0 -0
- package/docs/public/comet-512.png +0 -0
- package/docs/public/comet.svg +0 -228
- package/docs/public/favicon.ico +0 -0
- package/docs/public/manifest.webmanifest +0 -6
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e,c as n,o as a,b as t}from"./app.c5be1f68.js";const _=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"rules/__index.md","lastUpdated":null}'),i={name:"rules/__index.md"},o=t("",1),r=[o];function l(s,c,h,f,m,d){return a(),n("div",null,r)}const u=e(i,[["render",l]]);export{_ as __pageData,u as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e,c as n,o as a,b as t}from"./app.c5be1f68.js";const _=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"rules/__list.md","lastUpdated":null}'),i={name:"rules/__list.md"},o=t('<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>',1),r=[o];function l(s,c,h,f,m,d){return a(),n("div",null,r)}const u=e(i,[["render",l]]);export{_ as __pageData,u as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e,c as n,o as a,b as t}from"./app.c5be1f68.js";const _=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"rules/__list.md","lastUpdated":null}'),i={name:"rules/__list.md"},o=t("",1),r=[o];function l(s,c,h,f,m,d){return a(),n("div",null,r)}const u=e(i,[["render",l]]);export{_ as __pageData,u as default};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{_ as e,c as n,o as s,b as a}from"./app.c5be1f68.js";const m=JSON.parse('{"title":"effector/enforce-effect-naming-convention","description":"","frontmatter":{},"headers":[],"relativePath":"rules/enforce-effect-naming-convention.md","lastUpdated":null}'),o={name:"rules/enforce-effect-naming-convention.md"},t=a(`<h1 id="effector-enforce-effect-naming-convention" tabindex="-1">effector/enforce-effect-naming-convention <a class="header-anchor" href="#effector-enforce-effect-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 effect. Your effect should be distinguished by a suffix <code>Fx</code>. For example, <code>fetchUserInfoFx</code> is an effect, <code>fetchUserInfo</code> is not.</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;">// \u{1F44D} nice name</span></span>
|
|
2
|
-
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> fetchNameFx </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">createEffect</span><span style="color:#A6ACCD;">()</span><span style="color:#89DDFF;">;</span></span>
|
|
3
|
-
<span class="line"></span>
|
|
4
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44E} bad name</span></span>
|
|
5
|
-
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> fetchName </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">createEffect</span><span style="color:#A6ACCD;">()</span><span style="color:#89DDFF;">;</span></span>
|
|
6
|
-
<span class="line"></span></code></pre></div>`,3),c=[t];function l(p,r,f,i,d,_){return s(),n("div",null,c)}const A=e(o,[["render",l]]);export{m as __pageData,A as default};
|
package/docs/.vitepress/dist/assets/rules_enforce-effect-naming-convention.md.09e5af2c.lean.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e,c as n,o as s,b as a}from"./app.c5be1f68.js";const m=JSON.parse('{"title":"effector/enforce-effect-naming-convention","description":"","frontmatter":{},"headers":[],"relativePath":"rules/enforce-effect-naming-convention.md","lastUpdated":null}'),o={name:"rules/enforce-effect-naming-convention.md"},t=a("",3),c=[t];function l(p,r,f,i,d,_){return s(),n("div",null,c)}const A=e(o,[["render",l]]);export{m as __pageData,A as default};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import{_ as n,c as e,o as a,b as s}from"./app.c5be1f68.js";const m=JSON.parse('{"title":"effector/enforce-gate-naming-convention","description":"","frontmatter":{},"headers":[],"relativePath":"rules/enforce-gate-naming-convention.md","lastUpdated":null}'),o={name:"rules/enforce-gate-naming-convention.md"},t=s(`<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;">// \u{1F44D} nice name</span></span>
|
|
2
|
-
<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>
|
|
3
|
-
<span class="line"></span>
|
|
4
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44E} bad name</span></span>
|
|
5
|
-
<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>
|
|
6
|
-
<span class="line"></span></code></pre></div>`,3),c=[t];function l(r,p,i,d,_,g){return a(),e("div",null,c)}const h=n(o,[["render",l]]);export{m as __pageData,h as default};
|
package/docs/.vitepress/dist/assets/rules_enforce-gate-naming-convention.md.5f3af41a.lean.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as n,c as e,o as a,b as s}from"./app.c5be1f68.js";const m=JSON.parse('{"title":"effector/enforce-gate-naming-convention","description":"","frontmatter":{},"headers":[],"relativePath":"rules/enforce-gate-naming-convention.md","lastUpdated":null}'),o={name:"rules/enforce-gate-naming-convention.md"},t=s("",3),c=[t];function l(r,p,i,d,_,g){return a(),e("div",null,c)}const h=n(o,[["render",l]]);export{m as __pageData,h as default};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as n,o as a,b as o}from"./app.c5be1f68.js";const A=JSON.parse('{"title":"effector/enforce-store-naming-convention","description":"","frontmatter":{},"headers":[{"level":2,"title":"Prefix convention","slug":"prefix-convention","link":"#prefix-convention","children":[]},{"level":2,"title":"Postfix convention","slug":"postfix-convention","link":"#postfix-convention","children":[]}],"relativePath":"rules/enforce-store-naming-convention.md","lastUpdated":null}'),e={name:"rules/enforce-store-naming-convention.md"},l=o(`<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>
|
|
2
|
-
<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>
|
|
3
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">"</span><span style="color:#F07178;">effector/enforce-store-naming-convention</span><span style="color:#89DDFF;">"</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">error</span><span style="color:#89DDFF;">"</span><span style="color:#89DDFF;">,</span></span>
|
|
4
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">},</span></span>
|
|
5
|
-
<span class="line"><span style="color:#89DDFF;">};</span></span>
|
|
6
|
-
<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;">// \u{1F44D} nice name</span></span>
|
|
7
|
-
<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>
|
|
8
|
-
<span class="line"></span>
|
|
9
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44E} bad name</span></span>
|
|
10
|
-
<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>
|
|
11
|
-
<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>
|
|
12
|
-
<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>
|
|
13
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">"</span><span style="color:#F07178;">effector/enforce-store-naming-convention</span><span style="color:#89DDFF;">"</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">error</span><span style="color:#89DDFF;">"</span><span style="color:#89DDFF;">,</span></span>
|
|
14
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">},</span></span>
|
|
15
|
-
<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>
|
|
16
|
-
<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>
|
|
17
|
-
<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;">"</span><span style="color:#C3E88D;">postfix</span><span style="color:#89DDFF;">"</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:#A6ACCD;"> </span><span style="color:#89DDFF;">},</span></span>
|
|
20
|
-
<span class="line"><span style="color:#89DDFF;">};</span></span>
|
|
21
|
-
<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;">// \u{1F44D} nice name</span></span>
|
|
22
|
-
<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>
|
|
23
|
-
<span class="line"></span>
|
|
24
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44E} bad name</span></span>
|
|
25
|
-
<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>
|
|
26
|
-
<span class="line"></span></code></pre></div>`,12),p=[l];function t(c,r,i,D,y,F){return a(),n("div",null,p)}const d=s(e,[["render",t]]);export{A as __pageData,d as default};
|
package/docs/.vitepress/dist/assets/rules_enforce-store-naming-convention.md.db33b9cb.lean.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as n,o as a,b as o}from"./app.c5be1f68.js";const A=JSON.parse('{"title":"effector/enforce-store-naming-convention","description":"","frontmatter":{},"headers":[{"level":2,"title":"Prefix convention","slug":"prefix-convention","link":"#prefix-convention","children":[]},{"level":2,"title":"Postfix convention","slug":"postfix-convention","link":"#postfix-convention","children":[]}],"relativePath":"rules/enforce-store-naming-convention.md","lastUpdated":null}'),e={name:"rules/enforce-store-naming-convention.md"},l=o("",12),p=[l];function t(c,r,i,D,y,F){return a(),n("div",null,p)}const d=s(e,[["render",t]]);export{A as __pageData,d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e,c as n,o as a,b as t}from"./app.c5be1f68.js";const p=JSON.parse('{"title":"Rules","description":"","frontmatter":{},"headers":[],"relativePath":"rules/index.md","lastUpdated":null}'),i={name:"rules/index.md"},r=t('<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>',2),o=[r];function l(s,h,c,f,m,d){return a(),n("div",null,o)}const _=e(i,[["render",l]]);export{p as __pageData,_ as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e,c as n,o as a,b as t}from"./app.c5be1f68.js";const p=JSON.parse('{"title":"Rules","description":"","frontmatter":{},"headers":[],"relativePath":"rules/index.md","lastUpdated":null}'),i={name:"rules/index.md"},r=t("",2),o=[r];function l(s,h,c,f,m,d){return a(),n("div",null,o)}const _=e(i,[["render",l]]);export{p as __pageData,_ as default};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as a,o as n,b as o}from"./app.c5be1f68.js";const A=JSON.parse('{"title":"effector/keep-options-order","description":"","frontmatter":{},"headers":[],"relativePath":"rules/keep-options-order.md","lastUpdated":null}'),e={name:"rules/keep-options-order.md"},p=o(`<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 "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>". So, it is better to use semantic order of configuration properties \u2014 <code>clock -> source -> filter/fn -> 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;">// \u{1F44D} great</span></span>
|
|
2
|
-
<span class="line"><span style="color:#82AAFF;">sample</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span></span>
|
|
3
|
-
<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>
|
|
4
|
-
<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>
|
|
5
|
-
<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>
|
|
6
|
-
<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>
|
|
7
|
-
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
8
|
-
<span class="line"></span>
|
|
9
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44E} weird</span></span>
|
|
10
|
-
<span class="line"><span style="color:#82AAFF;">sample</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span></span>
|
|
11
|
-
<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>
|
|
12
|
-
<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>
|
|
13
|
-
<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>
|
|
14
|
-
<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>
|
|
15
|
-
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
16
|
-
<span class="line"></span></code></pre></div>`,3),l=[p];function t(r,c,D,i,d,F){return n(),a("div",null,l)}const C=s(e,[["render",t]]);export{A as __pageData,C as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as a,o as n,b as o}from"./app.c5be1f68.js";const A=JSON.parse('{"title":"effector/keep-options-order","description":"","frontmatter":{},"headers":[],"relativePath":"rules/keep-options-order.md","lastUpdated":null}'),e={name:"rules/keep-options-order.md"},p=o("",3),l=[p];function t(r,c,D,i,d,F){return n(),a("div",null,l)}const C=s(e,[["render",t]]);export{A as __pageData,C as default};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as n,o as a,b as o}from"./app.c5be1f68.js";const A=JSON.parse('{"title":"effector/mandatory-scope-binding","description":"","frontmatter":{},"headers":[],"relativePath":"rules/mandatory-scope-binding.md","lastUpdated":null}'),p={name:"rules/mandatory-scope-binding.md"},l=o(`<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>
|
|
2
|
-
<span class="line"></span>
|
|
3
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44D} Event usage is wrapped with \`useEvent\`</span></span>
|
|
4
|
-
<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;">=></span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
|
|
5
|
-
<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>
|
|
6
|
-
<span class="line"></span>
|
|
7
|
-
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">return</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;"><</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;">}></span><span style="color:#A6ACCD;">+</span><span style="color:#89DDFF;"></</span><span style="color:#F07178;">button</span><span style="color:#89DDFF;">>;</span></span>
|
|
8
|
-
<span class="line"><span style="color:#89DDFF;">};</span></span>
|
|
9
|
-
<span class="line"></span>
|
|
10
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44E} Event is not wrapped with \`useEvent\` - component is not suitable for isomorphic SSR app</span></span>
|
|
11
|
-
<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;">=></span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
|
|
12
|
-
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">return</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;"><</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;">}></span><span style="color:#A6ACCD;">+</span><span style="color:#89DDFF;"></</span><span style="color:#F07178;">button</span><span style="color:#89DDFF;">>;</span></span>
|
|
13
|
-
<span class="line"><span style="color:#89DDFF;">};</span></span>
|
|
14
|
-
<span class="line"></span></code></pre></div>`,3),e=[l];function t(c,r,y,i,F,D){return a(),n("div",null,e)}const C=s(p,[["render",t]]);export{A as __pageData,C as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as n,o as a,b as o}from"./app.c5be1f68.js";const A=JSON.parse('{"title":"effector/mandatory-scope-binding","description":"","frontmatter":{},"headers":[],"relativePath":"rules/mandatory-scope-binding.md","lastUpdated":null}'),p={name:"rules/mandatory-scope-binding.md"},l=o("",3),e=[l];function t(c,r,y,i,F,D){return a(),n("div",null,e)}const C=s(p,[["render",t]]);export{A as __pageData,C as default};
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as a,o as n,b as o}from"./app.c5be1f68.js";const F=JSON.parse('{"title":"effector/no-ambiguity-target","description":"","frontmatter":{},"headers":[],"relativePath":"rules/no-ambiguity-target.md","lastUpdated":null}'),e={name:"rules/no-ambiguity-target.md"},l=o(`<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;">// \u{1F44E} should be rewritten</span></span>
|
|
2
|
-
<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>
|
|
3
|
-
<span class="line"></span>
|
|
4
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44D} makes sense</span></span>
|
|
5
|
-
<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>
|
|
6
|
-
<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>
|
|
7
|
-
<span class="line"></span></code></pre></div>`,3),t=[l];function p(r,c,y,i,D,A){return n(),a("div",null,t)}const d=s(e,[["render",p]]);export{F as __pageData,d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as a,o as n,b as o}from"./app.c5be1f68.js";const F=JSON.parse('{"title":"effector/no-ambiguity-target","description":"","frontmatter":{},"headers":[],"relativePath":"rules/no-ambiguity-target.md","lastUpdated":null}'),e={name:"rules/no-ambiguity-target.md"},l=o("",3),t=[l];function p(r,c,y,i,D,A){return n(),a("div",null,t)}const d=s(e,[["render",p]]);export{F as __pageData,d as default};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as n,o as a,b as o}from"./app.c5be1f68.js";const i=JSON.parse('{"title":"effector/no-duplicate-on","description":"","frontmatter":{},"headers":[],"relativePath":"rules/no-duplicate-on.md","lastUpdated":null}'),l={name:"rules/no-duplicate-on.md"},p=o(`<h1 id="effector-no-duplicate-on" tabindex="-1">effector/no-duplicate-on <a class="header-anchor" href="#effector-no-duplicate-on" aria-hidden="true">#</a></h1><p>Disallow duplicates <code>on</code>-handlers on particular store.</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:#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>
|
|
2
|
-
<span class="line"></span>
|
|
3
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44D} all explicitly</span></span>
|
|
4
|
-
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> $goodCounter </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:#F78C6C;">0</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">on</span><span style="color:#A6ACCD;">(increment</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">counter</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> counter </span><span style="color:#89DDFF;">+</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">1</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
5
|
-
<span class="line"></span>
|
|
6
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44E} so, which handler should we choose?</span></span>
|
|
7
|
-
<span class="line"><span style="color:#676E95;">// it's better to remove one of them</span></span>
|
|
8
|
-
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> $badCounter </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:#F78C6C;">0</span><span style="color:#A6ACCD;">)</span></span>
|
|
9
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">on</span><span style="color:#A6ACCD;">(increment</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">counter</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> counter </span><span style="color:#89DDFF;">+</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">1</span><span style="color:#A6ACCD;">)</span></span>
|
|
10
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">on</span><span style="color:#A6ACCD;">(increment</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">counter</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> counter </span><span style="color:#89DDFF;">+</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">2</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
11
|
-
<span class="line"></span></code></pre></div>`,3),e=[p];function t(c,r,C,A,D,y){return a(),n("div",null,e)}const d=s(l,[["render",t]]);export{i as __pageData,d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as n,o as a,b as o}from"./app.c5be1f68.js";const i=JSON.parse('{"title":"effector/no-duplicate-on","description":"","frontmatter":{},"headers":[],"relativePath":"rules/no-duplicate-on.md","lastUpdated":null}'),l={name:"rules/no-duplicate-on.md"},p=o("",3),e=[p];function t(c,r,C,A,D,y){return a(),n("div",null,e)}const d=s(l,[["render",t]]);export{i as __pageData,d as default};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as a,o as n,b as o}from"./app.c5be1f68.js";const d=JSON.parse('{"title":"effector/no-forward","description":"","frontmatter":{},"headers":[],"relativePath":"rules/no-forward.md","lastUpdated":null}'),l={name:"rules/no-forward.md"},p=o(`<h1 id="effector-no-forward" tabindex="-1">effector/no-forward <a class="header-anchor" href="#effector-no-forward" aria-hidden="true">#</a></h1><p>Any <code>forward</code> call could be replaced with <code>sample</code> call.</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;">// \u{1F44E} could be replaced</span></span>
|
|
2
|
-
<span class="line"><span style="color:#82AAFF;">forward</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">from</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;">to</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> reaction </span><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
3
|
-
<span class="line"></span>
|
|
4
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44D} makes sense</span></span>
|
|
5
|
-
<span class="line"><span style="color:#82AAFF;">sample</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;">target</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> reaction </span><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
6
|
-
<span class="line"></span></code></pre></div><p>Nice bonus: <code>sample</code> is extendable. You can add transformation by <code>fn</code> and filtering by <code>filter</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;">// \u{1F44E} could be replaced</span></span>
|
|
7
|
-
<span class="line"><span style="color:#82AAFF;">forward</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">from</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> trigger</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">map</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">value</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> value</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">length)</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">to</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> reaction </span><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
8
|
-
<span class="line"></span>
|
|
9
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44D} makes sense</span></span>
|
|
10
|
-
<span class="line"><span style="color:#82AAFF;">sample</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:#82AAFF;">fn</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">value</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> value</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">length</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">target</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> reaction </span><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
11
|
-
<span class="line"></span></code></pre></div><p>\u{1F4A1} Tip: <a href="/rules/prefer-sample-over-forward-with-mapping.html">prefer-sample-over-forward-with-mapping</a> could be superseded by this rule.</p>`,6),e=[p];function r(t,c,D,y,A,F){return n(),a("div",null,e)}const i=s(l,[["render",r]]);export{d as __pageData,i as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as a,o as n,b as o}from"./app.c5be1f68.js";const d=JSON.parse('{"title":"effector/no-forward","description":"","frontmatter":{},"headers":[],"relativePath":"rules/no-forward.md","lastUpdated":null}'),l={name:"rules/no-forward.md"},p=o("",6),e=[p];function r(t,c,D,y,A,F){return n(),a("div",null,e)}const i=s(l,[["render",r]]);export{d as __pageData,i as default};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as a,o as n,b as o}from"./app.c5be1f68.js";const i=JSON.parse('{"title":"effector/no-getState","description":"","frontmatter":{},"headers":[],"relativePath":"rules/no-getState.md","lastUpdated":null}'),l={name:"rules/no-getState.md"},p=o(`<h1 id="effector-no-getstate" tabindex="-1">effector/no-getState <a class="header-anchor" href="#effector-no-getstate" aria-hidden="true">#</a></h1><p><code>.getState</code> gives rise too difficult to debug imperative code and kind of race condition. Prefer declarative <code>sample</code> to pass data from store and <code>attach</code> for effects.</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:#C792EA;">const</span><span style="color:#A6ACCD;"> $username </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>
|
|
2
|
-
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> userLoggedIn </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>
|
|
3
|
-
<span class="line"></span>
|
|
4
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44D} good solution</span></span>
|
|
5
|
-
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> fetchUserCommentsFx </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">createEffect</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">name</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> </span><span style="color:#676E95;">/* ... */</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
6
|
-
<span class="line"><span style="color:#82AAFF;">sample</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">source</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> $username</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;"> userLoggedIn</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">target</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> fetchUserCommentsFx </span><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
7
|
-
<span class="line"></span>
|
|
8
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44E} bad solution</span></span>
|
|
9
|
-
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> fetchUserCommentsInBadWayFx </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">createEffect</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">()</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
|
|
10
|
-
<span class="line"><span style="color:#F07178;"> </span><span style="color:#C792EA;">const</span><span style="color:#F07178;"> </span><span style="color:#A6ACCD;">name</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">=</span><span style="color:#F07178;"> </span><span style="color:#A6ACCD;">$username</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">getState</span><span style="color:#F07178;">()</span><span style="color:#89DDFF;">;</span></span>
|
|
11
|
-
<span class="line"></span>
|
|
12
|
-
<span class="line"><span style="color:#F07178;"> </span><span style="color:#676E95;">/* ... */</span></span>
|
|
13
|
-
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
14
|
-
<span class="line"><span style="color:#82AAFF;">forward</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">from</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> userLoggedIn</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">to</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> fetchUserCommentsInBadWayFx </span><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
15
|
-
<span class="line"></span></code></pre></div>`,3),e=[p];function t(c,r,y,D,A,F){return n(),a("div",null,e)}const d=s(l,[["render",t]]);export{i as __pageData,d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as a,o as n,b as o}from"./app.c5be1f68.js";const i=JSON.parse('{"title":"effector/no-getState","description":"","frontmatter":{},"headers":[],"relativePath":"rules/no-getState.md","lastUpdated":null}'),l={name:"rules/no-getState.md"},p=o("",3),e=[p];function t(c,r,y,D,A,F){return n(),a("div",null,e)}const d=s(l,[["render",t]]);export{i as __pageData,d as default};
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as a,o as n,b as l}from"./app.c5be1f68.js";const i=JSON.parse('{"title":"effector/no-guard","description":"","frontmatter":{},"headers":[],"relativePath":"rules/no-guard.md","lastUpdated":null}'),o={name:"rules/no-guard.md"},p=l(`<h1 id="effector-no-guard" tabindex="-1">effector/no-guard <a class="header-anchor" href="#effector-no-guard" aria-hidden="true">#</a></h1><p>Any <code>guard</code> call could be replaced with <code>sample</code> call.</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;">// \u{1F44E} could be replaced</span></span>
|
|
2
|
-
<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;">source</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> $data</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">filter</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> Boolean</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">target</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> reaction </span><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
3
|
-
<span class="line"></span>
|
|
4
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44D} makes sense</span></span>
|
|
5
|
-
<span class="line"><span style="color:#82AAFF;">sample</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;">source</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> $data</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">filter</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> Boolean</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">target</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> reaction </span><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
6
|
-
<span class="line"></span></code></pre></div><p>Nice bonus: <code>sample</code> is extendable. You can add transformation by <code>fn</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;">// \u{1F44E} could be replaced</span></span>
|
|
7
|
-
<span class="line"><span style="color:#82AAFF;">guard</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span></span>
|
|
8
|
-
<span class="line"><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>
|
|
9
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">source</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> $data</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">map</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">data</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> data</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">length)</span><span style="color:#89DDFF;">,</span></span>
|
|
10
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">filter</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> Boolean</span><span style="color:#89DDFF;">,</span></span>
|
|
11
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">target</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> reaction</span><span style="color:#89DDFF;">,</span></span>
|
|
12
|
-
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
13
|
-
<span class="line"></span>
|
|
14
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44D} makes sense</span></span>
|
|
15
|
-
<span class="line"><span style="color:#82AAFF;">sample</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;">clock</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> trigger</span><span style="color:#89DDFF;">,</span></span>
|
|
17
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">source</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> $data</span><span style="color:#89DDFF;">,</span></span>
|
|
18
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">filter</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> Boolean</span><span style="color:#89DDFF;">,</span></span>
|
|
19
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">fn</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">data</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> data</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">length</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;"> reaction</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></code></pre></div>`,5),e=[p];function c(t,r,D,y,F,A){return n(),a("div",null,e)}const d=s(o,[["render",c]]);export{i as __pageData,d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as a,o as n,b as l}from"./app.c5be1f68.js";const i=JSON.parse('{"title":"effector/no-guard","description":"","frontmatter":{},"headers":[],"relativePath":"rules/no-guard.md","lastUpdated":null}'),o={name:"rules/no-guard.md"},p=l("",5),e=[p];function c(t,r,D,y,F,A){return n(),a("div",null,e)}const d=s(o,[["render",c]]);export{i as __pageData,d as default};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as n,o as a,b as o}from"./app.c5be1f68.js";const i=JSON.parse('{"title":"effector/no-patronum-debug","description":"","frontmatter":{},"headers":[],"relativePath":"rules/no-patronum-debug.md","lastUpdated":null}'),l={name:"rules/no-patronum-debug.md"},p=o(`<h1 id="effector-no-patronum-debug" tabindex="-1">effector/no-patronum-debug <a class="header-anchor" href="#effector-no-patronum-debug" aria-hidden="true">#</a></h1><p>This rule will help to catch the forgotten <code>debug</code> and will automatically delete from code</p><div class="language-js"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki"><code><span class="line"><span style="color:#676E95;">// from</span></span>
|
|
2
|
-
<span class="line"><span style="color:#89DDFF;">import</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span><span style="color:#F07178;"> </span><span style="color:#A6ACCD;">createStore</span><span style="color:#89DDFF;">,</span><span style="color:#F07178;"> </span><span style="color:#A6ACCD;">createEvent</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">from</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">effector</span><span style="color:#89DDFF;">"</span><span style="color:#89DDFF;">;</span></span>
|
|
3
|
-
<span class="line"><span style="color:#89DDFF;">import</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span><span style="color:#F07178;"> </span><span style="color:#A6ACCD;">debug</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">from</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">patronum</span><span style="color:#89DDFF;">"</span><span style="color:#89DDFF;">;</span></span>
|
|
4
|
-
<span class="line"></span>
|
|
5
|
-
<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>
|
|
6
|
-
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> $counter </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:#F78C6C;">0</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">on</span><span style="color:#A6ACCD;">(increment</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">count</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> count </span><span style="color:#89DDFF;">+</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">1</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
7
|
-
<span class="line"></span>
|
|
8
|
-
<span class="line"><span style="color:#82AAFF;">debug</span><span style="color:#A6ACCD;">($counter)</span><span style="color:#89DDFF;">;</span></span>
|
|
9
|
-
<span class="line"></span></code></pre></div><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:#676E95;">// to</span></span>
|
|
10
|
-
<span class="line"><span style="color:#89DDFF;">import</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span><span style="color:#F07178;"> </span><span style="color:#A6ACCD;">createStore</span><span style="color:#89DDFF;">,</span><span style="color:#F07178;"> </span><span style="color:#A6ACCD;">createEvent</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">from</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">"</span><span style="color:#C3E88D;">effector</span><span style="color:#89DDFF;">"</span><span style="color:#89DDFF;">;</span></span>
|
|
11
|
-
<span class="line"></span>
|
|
12
|
-
<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>
|
|
13
|
-
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> $counter </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:#F78C6C;">0</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">.</span><span style="color:#82AAFF;">on</span><span style="color:#A6ACCD;">(increment</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">count</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> count </span><span style="color:#89DDFF;">+</span><span style="color:#A6ACCD;"> </span><span style="color:#F78C6C;">1</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
14
|
-
<span class="line"></span></code></pre></div><p><code>debug</code> are considered to be intended for debugging units from effector and therefore not suitable for sending to the client.</p>`,5),e=[p];function t(c,r,D,y,F,A){return a(),n("div",null,e)}const d=s(l,[["render",t]]);export{i as __pageData,d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as n,o as a,b as o}from"./app.c5be1f68.js";const i=JSON.parse('{"title":"effector/no-patronum-debug","description":"","frontmatter":{},"headers":[],"relativePath":"rules/no-patronum-debug.md","lastUpdated":null}'),l={name:"rules/no-patronum-debug.md"},p=o("",5),e=[p];function t(c,r,D,y,F,A){return a(),n("div",null,e)}const d=s(l,[["render",t]]);export{i as __pageData,d as default};
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as n,o as a,b as o}from"./app.c5be1f68.js";const i=JSON.parse('{"title":"effector/no-unnecessary-combination","description":"","frontmatter":{},"headers":[],"relativePath":"rules/no-unnecessary-combination.md","lastUpdated":null}'),l={name:"rules/no-unnecessary-combination.md"},p=o(`<h1 id="effector-no-unnecessary-combination" tabindex="-1">effector/no-unnecessary-combination <a class="header-anchor" href="#effector-no-unnecessary-combination" aria-hidden="true">#</a></h1><p>Call of <code>combine</code>/<code>merge</code> in <code>clock</code>/<code>source</code> is unnecessary. It can 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;">// \u{1F44E} can be simplified</span></span>
|
|
2
|
-
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> badEventOne </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>
|
|
3
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">clock</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">combine</span><span style="color:#A6ACCD;">($store1</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> $store2)</span><span style="color:#89DDFF;">,</span></span>
|
|
4
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">filter</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> $filter</span><span style="color:#89DDFF;">,</span></span>
|
|
5
|
-
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
6
|
-
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> badEventOne </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>
|
|
7
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">clock</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">combine</span><span style="color:#A6ACCD;">($store1</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> $store2</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">store1</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#A6ACCD;">store2</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#C792EA;">=></span><span style="color:#A6ACCD;"> (</span><span style="color:#89DDFF;">{</span></span>
|
|
8
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">x</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> store1</span><span style="color:#89DDFF;">,</span></span>
|
|
9
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">y</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> store2</span><span style="color:#89DDFF;">,</span></span>
|
|
10
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">))</span><span style="color:#89DDFF;">,</span></span>
|
|
11
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">filter</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> $filter</span><span style="color:#89DDFF;">,</span></span>
|
|
12
|
-
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
13
|
-
<span class="line"></span>
|
|
14
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44D} better</span></span>
|
|
15
|
-
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> goodEventOne </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;"> [$store1</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> $store2]</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;"> $filter </span><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
16
|
-
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> goodEventTwo </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>
|
|
17
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">clock</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">x</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> $store1</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">x</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> $store2 </span><span style="color:#89DDFF;">},</span></span>
|
|
18
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">filter</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> $filter</span><span style="color:#89DDFF;">,</span></span>
|
|
19
|
-
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
20
|
-
<span class="line"></span></code></pre></div>`,3),e=[p];function c(t,r,D,y,A,F){return a(),n("div",null,e)}const d=s(l,[["render",c]]);export{i as __pageData,d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as n,o as a,b as o}from"./app.c5be1f68.js";const i=JSON.parse('{"title":"effector/no-unnecessary-combination","description":"","frontmatter":{},"headers":[],"relativePath":"rules/no-unnecessary-combination.md","lastUpdated":null}'),l={name:"rules/no-unnecessary-combination.md"},p=o("",3),e=[p];function c(t,r,D,y,A,F){return a(),n("div",null,e)}const d=s(l,[["render",c]]);export{i as __pageData,d as default};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as n,o as a,b as l}from"./app.c5be1f68.js";const i=JSON.parse('{"title":"effector/no-unnecessary-duplication","description":"","frontmatter":{},"headers":[],"relativePath":"rules/no-unnecessary-duplication.md","lastUpdated":null}'),p={name:"rules/no-unnecessary-duplication.md"},o=l(`<h1 id="effector-no-unnecessary-duplication" tabindex="-1">effector/no-unnecessary-duplication <a class="header-anchor" href="#effector-no-unnecessary-duplication" aria-hidden="true">#</a></h1><p>Same <code>clock</code>/<code>source</code> in <code>sample</code> and <code>guard</code> don't make sense, any of these fields can be omitted in this 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:#C792EA;">const</span><span style="color:#A6ACCD;"> $data </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>
|
|
2
|
-
<span class="line"></span>
|
|
3
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44E} can be simplified</span></span>
|
|
4
|
-
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> target1 </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">sample</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span></span>
|
|
5
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">source</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> $data</span><span style="color:#89DDFF;">,</span></span>
|
|
6
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">clock</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> $data</span><span style="color:#89DDFF;">,</span></span>
|
|
7
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">fn</span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">data</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
|
|
8
|
-
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">return</span><span style="color:#F07178;"> </span><span style="color:#A6ACCD;">data</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">length</span><span style="color:#89DDFF;">;</span></span>
|
|
9
|
-
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">},</span></span>
|
|
10
|
-
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
11
|
-
<span class="line"></span>
|
|
12
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44D} better</span></span>
|
|
13
|
-
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> target2 </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">sample</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span></span>
|
|
14
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">source</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> $data</span><span style="color:#89DDFF;">,</span></span>
|
|
15
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">fn</span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">data</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
|
|
16
|
-
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">return</span><span style="color:#F07178;"> </span><span style="color:#A6ACCD;">data</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">length</span><span style="color:#89DDFF;">;</span></span>
|
|
17
|
-
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">},</span></span>
|
|
18
|
-
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
19
|
-
<span class="line"></span>
|
|
20
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44D} also nice solution</span></span>
|
|
21
|
-
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> target3 </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">sample</span><span style="color:#A6ACCD;">(</span><span style="color:#89DDFF;">{</span></span>
|
|
22
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">clock</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> $data</span><span style="color:#89DDFF;">,</span></span>
|
|
23
|
-
<span class="line"><span style="color:#A6ACCD;"> </span><span style="color:#F07178;">fn</span><span style="color:#89DDFF;">(</span><span style="color:#A6ACCD;">data</span><span style="color:#89DDFF;">)</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span></span>
|
|
24
|
-
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">return</span><span style="color:#F07178;"> </span><span style="color:#A6ACCD;">data</span><span style="color:#89DDFF;">.</span><span style="color:#A6ACCD;">length</span><span style="color:#89DDFF;">;</span></span>
|
|
25
|
-
<span class="line"><span style="color:#F07178;"> </span><span style="color:#89DDFF;">},</span></span>
|
|
26
|
-
<span class="line"><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
27
|
-
<span class="line"></span></code></pre></div>`,3),e=[o];function c(t,r,D,y,F,A){return a(),n("div",null,e)}const d=s(p,[["render",c]]);export{i as __pageData,d as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as n,o as a,b as l}from"./app.c5be1f68.js";const i=JSON.parse('{"title":"effector/no-unnecessary-duplication","description":"","frontmatter":{},"headers":[],"relativePath":"rules/no-unnecessary-duplication.md","lastUpdated":null}'),p={name:"rules/no-unnecessary-duplication.md"},o=l("",3),e=[o];function c(t,r,D,y,F,A){return a(),n("div",null,e)}const d=s(p,[["render",c]]);export{i as __pageData,d as default};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as a,o as n,b as o}from"./app.c5be1f68.js";const d=JSON.parse('{"title":"effector/no-useless-methods","description":"","frontmatter":{},"headers":[],"relativePath":"rules/no-useless-methods.md","lastUpdated":null}'),e={name:"rules/no-useless-methods.md"},l=o(`<h1 id="effector-no-useless-methods" tabindex="-1">effector/no-useless-methods <a class="header-anchor" href="#effector-no-useless-methods" aria-hidden="true">#</a></h1><p>Call of <code>gaurd</code>/<code>sample</code> without <code>target</code> or variable assignment is useless. It can 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;">// \u{1F44E} can be omitted</span></span>
|
|
2
|
-
<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;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
3
|
-
<span class="line"></span>
|
|
4
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44D} makes sense</span></span>
|
|
5
|
-
<span class="line"><span style="color:#C792EA;">const</span><span style="color:#A6ACCD;"> target1 </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;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
6
|
-
<span class="line"></span>
|
|
7
|
-
<span class="line"><span style="color:#676E95;">// \u{1F44D} make sense too</span></span>
|
|
8
|
-
<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;"> </span><span style="color:#F07178;">target</span><span style="color:#89DDFF;">:</span><span style="color:#A6ACCD;"> target2 </span><span style="color:#89DDFF;">}</span><span style="color:#A6ACCD;">)</span><span style="color:#89DDFF;">;</span></span>
|
|
9
|
-
<span class="line"></span></code></pre></div>`,3),p=[l];function t(c,r,D,y,F,A){return n(),a("div",null,p)}const i=s(e,[["render",t]]);export{d as __pageData,i as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as s,c as a,o as n,b as o}from"./app.c5be1f68.js";const d=JSON.parse('{"title":"effector/no-useless-methods","description":"","frontmatter":{},"headers":[],"relativePath":"rules/no-useless-methods.md","lastUpdated":null}'),e={name:"rules/no-useless-methods.md"},l=o("",3),p=[l];function t(c,r,D,y,F,A){return n(),a("div",null,p)}const i=s(e,[["render",t]]);export{d as __pageData,i as default};
|