-
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
86db040
commit 035bd89
Showing
18 changed files
with
623 additions
and
117 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,25 @@ | ||
{ | ||
"files": { | ||
"main.css": "/static/css/main.020a7543.css", | ||
"main.js": "/static/js/main.2b55a1ec.js", | ||
"refractor-prismjs-vendor.0abbb2f3.js": "/static/js/refractor-prismjs-vendor.0abbb2f3.9bfa0335.js", | ||
"main.js": "/static/js/main.1b8b16a1.js", | ||
"refractor-prismjs-vendor.0abbb2f3.js": "/static/js/refractor-prismjs-vendor.0abbb2f3.38012b06.js", | ||
"react-vendor.js": "/static/js/react-vendor.b3fdfee2.js", | ||
"refractor-prismjs-vendor.3665b250.js": "/static/js/refractor-prismjs-vendor.3665b250.9abd5b17.js", | ||
"refractor-prismjs-vendor.a81a7d65.js": "/static/js/refractor-prismjs-vendor.a81a7d65.609697fc.js", | ||
"refractor-prismjs-vendor.a81a7d65.js": "/static/js/refractor-prismjs-vendor.a81a7d65.75681052.js", | ||
"index.html": "/index.html", | ||
"main.020a7543.css.map": "/static/css/main.020a7543.css.map", | ||
"main.2b55a1ec.js.map": "/static/js/main.2b55a1ec.js.map", | ||
"refractor-prismjs-vendor.0abbb2f3.9bfa0335.js.map": "/static/js/refractor-prismjs-vendor.0abbb2f3.9bfa0335.js.map", | ||
"main.1b8b16a1.js.map": "/static/js/main.1b8b16a1.js.map", | ||
"refractor-prismjs-vendor.0abbb2f3.38012b06.js.map": "/static/js/refractor-prismjs-vendor.0abbb2f3.38012b06.js.map", | ||
"react-vendor.b3fdfee2.js.map": "/static/js/react-vendor.b3fdfee2.js.map", | ||
"refractor-prismjs-vendor.3665b250.9abd5b17.js.map": "/static/js/refractor-prismjs-vendor.3665b250.9abd5b17.js.map", | ||
"refractor-prismjs-vendor.a81a7d65.609697fc.js.map": "/static/js/refractor-prismjs-vendor.a81a7d65.609697fc.js.map" | ||
"refractor-prismjs-vendor.a81a7d65.75681052.js.map": "/static/js/refractor-prismjs-vendor.a81a7d65.75681052.js.map" | ||
}, | ||
"entrypoints": [ | ||
"static/js/refractor-prismjs-vendor.3665b250.9abd5b17.js", | ||
"static/js/refractor-prismjs-vendor.a81a7d65.609697fc.js", | ||
"static/js/refractor-prismjs-vendor.0abbb2f3.9bfa0335.js", | ||
"static/js/refractor-prismjs-vendor.a81a7d65.75681052.js", | ||
"static/js/refractor-prismjs-vendor.0abbb2f3.38012b06.js", | ||
"static/js/react-vendor.b3fdfee2.js", | ||
"static/css/main.020a7543.css", | ||
"static/js/main.2b55a1ec.js" | ||
"static/js/main.1b8b16a1.js" | ||
] | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,7 @@ | ||
{"total": {"lines":{"total":28,"covered":28,"skipped":0,"pct":100},"statements":{"total":30,"covered":30,"skipped":0,"pct":100},"functions":{"total":6,"covered":6,"skipped":0,"pct":100},"branches":{"total":35,"covered":34,"skipped":0,"pct":97.14},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":"Unknown"}} | ||
{"total": {"lines":{"total":59,"covered":59,"skipped":0,"pct":100},"statements":{"total":62,"covered":62,"skipped":0,"pct":100},"functions":{"total":13,"covered":12,"skipped":0,"pct":92.3},"branches":{"total":45,"covered":43,"skipped":0,"pct":95.55},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":"Unknown"}} | ||
,"/home/runner/work/react-only-when/react-only-when/core/src/If.tsx": {"lines":{"total":2,"covered":2,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":2,"covered":2,"skipped":0,"pct":100},"branches":{"total":4,"covered":4,"skipped":0,"pct":100}} | ||
,"/home/runner/work/react-only-when/react-only-when/core/src/case.tsx": {"lines":{"total":16,"covered":16,"skipped":0,"pct":100},"functions":{"total":4,"covered":4,"skipped":0,"pct":100},"statements":{"total":18,"covered":18,"skipped":0,"pct":100},"branches":{"total":4,"covered":4,"skipped":0,"pct":100}} | ||
,"/home/runner/work/react-only-when/react-only-when/core/src/index.tsx": {"lines":{"total":12,"covered":12,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":12,"covered":12,"skipped":0,"pct":100},"branches":{"total":18,"covered":17,"skipped":0,"pct":94.44}} | ||
,"/home/runner/work/react-only-when/react-only-when/core/src/switch.tsx": {"lines":{"total":14,"covered":14,"skipped":0,"pct":100},"functions":{"total":4,"covered":4,"skipped":0,"pct":100},"statements":{"total":16,"covered":16,"skipped":0,"pct":100},"branches":{"total":13,"covered":13,"skipped":0,"pct":100}} | ||
,"/home/runner/work/react-only-when/react-only-when/core/src/switch.store.tsx": {"lines":{"total":12,"covered":12,"skipped":0,"pct":100},"functions":{"total":5,"covered":4,"skipped":0,"pct":80},"statements":{"total":12,"covered":12,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}} | ||
,"/home/runner/work/react-only-when/react-only-when/core/src/switch.tsx": {"lines":{"total":17,"covered":17,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":18,"covered":18,"skipped":0,"pct":100},"branches":{"total":17,"covered":16,"skipped":0,"pct":94.11}} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,175 @@ | ||
|
||
<!doctype html> | ||
<html lang="en"> | ||
|
||
<head> | ||
<title>Code coverage report for case.tsx</title> | ||
<meta charset="utf-8" /> | ||
<link rel="stylesheet" href="prettify.css" /> | ||
<link rel="stylesheet" href="base.css" /> | ||
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" /> | ||
<meta name="viewport" content="width=device-width, initial-scale=1" /> | ||
<style type='text/css'> | ||
.coverage-summary .sorter { | ||
background-image: url(sort-arrow-sprite.png); | ||
} | ||
</style> | ||
</head> | ||
|
||
<body> | ||
<div class='wrapper'> | ||
<div class='pad1'> | ||
<h1><a href="index.html">All files</a> case.tsx</h1> | ||
<div class='clearfix'> | ||
|
||
<div class='fl pad1y space-right2'> | ||
<span class="strong">100% </span> | ||
<span class="quiet">Statements</span> | ||
<span class='fraction'>18/18</span> | ||
</div> | ||
|
||
|
||
<div class='fl pad1y space-right2'> | ||
<span class="strong">100% </span> | ||
<span class="quiet">Branches</span> | ||
<span class='fraction'>4/4</span> | ||
</div> | ||
|
||
|
||
<div class='fl pad1y space-right2'> | ||
<span class="strong">100% </span> | ||
<span class="quiet">Functions</span> | ||
<span class='fraction'>4/4</span> | ||
</div> | ||
|
||
|
||
<div class='fl pad1y space-right2'> | ||
<span class="strong">100% </span> | ||
<span class="quiet">Lines</span> | ||
<span class='fraction'>16/16</span> | ||
</div> | ||
|
||
|
||
</div> | ||
<p class="quiet"> | ||
Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block. | ||
</p> | ||
<template id="filterTemplate"> | ||
<div class="quiet"> | ||
Filter: | ||
<input oninput="onInput()" type="search" id="fileSearch"> | ||
</div> | ||
</template> | ||
</div> | ||
<div class='status-line high'></div> | ||
<pre><table class="coverage"> | ||
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a> | ||
<a name='L2'></a><a href='#L2'>2</a> | ||
<a name='L3'></a><a href='#L3'>3</a> | ||
<a name='L4'></a><a href='#L4'>4</a> | ||
<a name='L5'></a><a href='#L5'>5</a> | ||
<a name='L6'></a><a href='#L6'>6</a> | ||
<a name='L7'></a><a href='#L7'>7</a> | ||
<a name='L8'></a><a href='#L8'>8</a> | ||
<a name='L9'></a><a href='#L9'>9</a> | ||
<a name='L10'></a><a href='#L10'>10</a> | ||
<a name='L11'></a><a href='#L11'>11</a> | ||
<a name='L12'></a><a href='#L12'>12</a> | ||
<a name='L13'></a><a href='#L13'>13</a> | ||
<a name='L14'></a><a href='#L14'>14</a> | ||
<a name='L15'></a><a href='#L15'>15</a> | ||
<a name='L16'></a><a href='#L16'>16</a> | ||
<a name='L17'></a><a href='#L17'>17</a> | ||
<a name='L18'></a><a href='#L18'>18</a> | ||
<a name='L19'></a><a href='#L19'>19</a> | ||
<a name='L20'></a><a href='#L20'>20</a> | ||
<a name='L21'></a><a href='#L21'>21</a> | ||
<a name='L22'></a><a href='#L22'>22</a> | ||
<a name='L23'></a><a href='#L23'>23</a> | ||
<a name='L24'></a><a href='#L24'>24</a> | ||
<a name='L25'></a><a href='#L25'>25</a> | ||
<a name='L26'></a><a href='#L26'>26</a> | ||
<a name='L27'></a><a href='#L27'>27</a> | ||
<a name='L28'></a><a href='#L28'>28</a> | ||
<a name='L29'></a><a href='#L29'>29</a> | ||
<a name='L30'></a><a href='#L30'>30</a> | ||
<a name='L31'></a><a href='#L31'>31</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span> | ||
<span class="cline-any cline-neutral"> </span> | ||
<span class="cline-any cline-neutral"> </span> | ||
<span class="cline-any cline-neutral"> </span> | ||
<span class="cline-any cline-neutral"> </span> | ||
<span class="cline-any cline-neutral"> </span> | ||
<span class="cline-any cline-neutral"> </span> | ||
<span class="cline-any cline-neutral"> </span> | ||
<span class="cline-any cline-neutral"> </span> | ||
<span class="cline-any cline-neutral"> </span> | ||
<span class="cline-any cline-neutral"> </span> | ||
<span class="cline-any cline-yes">1x</span> | ||
<span class="cline-any cline-yes">6x</span> | ||
<span class="cline-any cline-yes">6x</span> | ||
<span class="cline-any cline-yes">6x</span> | ||
<span class="cline-any cline-yes">6x</span> | ||
<span class="cline-any cline-yes">6x</span> | ||
<span class="cline-any cline-yes">6x</span> | ||
<span class="cline-any cline-yes">6x</span> | ||
<span class="cline-any cline-yes">6x</span> | ||
<span class="cline-any cline-neutral"> </span> | ||
<span class="cline-any cline-neutral"> </span> | ||
<span class="cline-any cline-yes">1x</span> | ||
<span class="cline-any cline-yes">5x</span> | ||
<span class="cline-any cline-yes">5x</span> | ||
<span class="cline-any cline-yes">5x</span> | ||
<span class="cline-any cline-yes">5x</span> | ||
<span class="cline-any cline-yes">5x</span> | ||
<span class="cline-any cline-yes">5x</span> | ||
<span class="cline-any cline-neutral"> </span> | ||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { useEffect, useId } from 'react'; | ||
import { type InitialState, useSwitchDispatch } from './switch.store'; | ||
| ||
type TagType = React.ElementType | keyof JSX.IntrinsicElements; | ||
interface CaseElementProps<T extends TagType> { | ||
as?: T; | ||
readonly condition?: boolean; | ||
} | ||
| ||
export type CaseProps<T extends TagType> = CaseElementProps<T> & React.ComponentPropsWithoutRef<T>; | ||
| ||
export const Case = <T extends TagType>(props: CaseProps<T>) => { | ||
const ids = useId(); | ||
const dispatch = useSwitchDispatch(); | ||
const { children, condition, as: Comp, ...reset } = props; | ||
const Elm = Comp as TagType; | ||
const child = Elm ? <Elm {...reset}>{children}</Elm> : children; | ||
const state: InitialState = { [ids]: child, active: { [ids]: !!condition } }; | ||
useEffect(() => dispatch(state), [state]); | ||
return null; | ||
}; | ||
| ||
export const Default = <T extends TagType>(props: CaseProps<T>) => { | ||
const dispatch = useSwitchDispatch(); | ||
const { children, as: Comp, ...reset } = props; | ||
const Elm = Comp as TagType; | ||
const child = Elm ? <Elm {...reset}>{children}</Elm> : children; | ||
useEffect(() => dispatch({ default: child }), [props]); | ||
return null; | ||
}; | ||
</pre></td></tr></table></pre> | ||
|
||
<div class='push'></div><!-- for sticky footer --> | ||
</div><!-- /wrapper --> | ||
<div class='footer quiet pad2 space-top1 center small'> | ||
Code coverage generated by | ||
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a> | ||
at 2023-09-23T09:24:53.473Z | ||
</div> | ||
<script src="prettify.js"></script> | ||
<script> | ||
window.onload = function () { | ||
prettyPrint(); | ||
}; | ||
</script> | ||
<script src="sorter.js"></script> | ||
<script src="block-navigation.js"></script> | ||
</body> | ||
</html> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.