Skip to content

Commit 9398ef5

Browse files
committed
feat: fix types to allow more than a function for object values
1 parent 791b2e5 commit 9398ef5

File tree

8 files changed

+113
-28
lines changed

8 files changed

+113
-28
lines changed

Diff for: .vscode/settings.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
{
2-
"jira-plugin.workingProject": ""
3-
}
2+
"jira-plugin.workingProject": "",
3+
"typescript.tsdk": "node_modules/typescript/lib"
4+
}

Diff for: coverage/clover.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<coverage generated="1631445301264" clover="3.2.0">
3-
<project timestamp="1631445301264" name="All files">
2+
<coverage generated="1633117260511" clover="3.2.0">
3+
<project timestamp="1633117260511" name="All files">
44
<metrics statements="1" coveredstatements="1" conditionals="23" coveredconditionals="23" methods="8" coveredmethods="8" elements="32" coveredelements="32" complexity="0" loc="1" ncloc="1" packages="1" files="1" classes="1"/>
5-
<file name="index.cjs.js" path="/Users/tusharf5/dev/github/oss/dynamic-class-list/dist/index.cjs.js">
5+
<file name="index.js" path="/Users/tusharf5/dev/github/oss/dynamic-class-list/dist/index.js">
66
<metrics statements="1" coveredstatements="1" conditionals="23" coveredconditionals="23" methods="8" coveredmethods="8"/>
77
<line num="1" count="39" type="cond" truecount="23" falsecount="0"/>
88
</file>

Diff for: coverage/coverage-final.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
{"/Users/tusharf5/dev/github/oss/dynamic-class-list/dist/index.cjs.js": {"path":"/Users/tusharf5/dev/github/oss/dynamic-class-list/dist/index.cjs.js","statementMap":{"0":{"start":{"line":1,"column":27},"end":{"line":1,"column":53}},"1":{"start":{"line":1,"column":70},"end":{"line":1,"column":214}},"2":{"start":{"line":1,"column":112},"end":{"line":1,"column":116}},"3":{"start":{"line":1,"column":117},"end":{"line":1,"column":211}},"4":{"start":{"line":1,"column":154},"end":{"line":1,"column":190}},"5":{"start":{"line":1,"column":158},"end":{"line":1,"column":179}},"6":{"start":{"line":1,"column":231},"end":{"line":1,"column":287}},"7":{"start":{"line":1,"column":260},"end":{"line":1,"column":264}},"8":{"start":{"line":1,"column":265},"end":{"line":1,"column":284}},"9":{"start":{"line":1,"column":301},"end":{"line":1,"column":359}},"10":{"start":{"line":1,"column":311},"end":{"line":1,"column":313}},"11":{"start":{"line":1,"column":316},"end":{"line":1,"column":317}},"12":{"start":{"line":1,"column":341},"end":{"line":1,"column":359}},"13":{"start":{"line":1,"column":365},"end":{"line":1,"column":367}},"14":{"start":{"line":1,"column":370},"end":{"line":1,"column":407}},"15":{"start":{"line":1,"column":408},"end":{"line":1,"column":599}},"16":{"start":{"line":1,"column":438},"end":{"line":1,"column":563}},"17":{"start":{"line":1,"column":600},"end":{"line":1,"column":655}},"18":{"start":{"line":1,"column":661},"end":{"line":1,"column":662}},"19":{"start":{"line":1,"column":665},"end":{"line":1,"column":666}},"20":{"start":{"line":1,"column":667},"end":{"line":1,"column":724}}},"fnMap":{"0":{"name":"t","decl":{"start":{"line":1,"column":22},"end":{"line":1,"column":23}},"loc":{"start":{"line":1,"column":26},"end":{"line":1,"column":54}},"line":1},"1":{"name":"r","decl":{"start":{"line":1,"column":63},"end":{"line":1,"column":64}},"loc":{"start":{"line":1,"column":69},"end":{"line":1,"column":215}},"line":1},"2":{"name":"(anonymous_2)","decl":{"start":{"line":1,"column":94},"end":{"line":1,"column":95}},"loc":{"start":{"line":1,"column":105},"end":{"line":1,"column":212}},"line":1},"3":{"name":"(anonymous_3)","decl":{"start":{"line":1,"column":138},"end":{"line":1,"column":139}},"loc":{"start":{"line":1,"column":153},"end":{"line":1,"column":191}},"line":1},"4":{"name":"e","decl":{"start":{"line":1,"column":224},"end":{"line":1,"column":225}},"loc":{"start":{"line":1,"column":230},"end":{"line":1,"column":288}},"line":1},"5":{"name":"(anonymous_5)","decl":{"start":{"line":1,"column":242},"end":{"line":1,"column":243}},"loc":{"start":{"line":1,"column":253},"end":{"line":1,"column":285}},"line":1},"6":{"name":"n","decl":{"start":{"line":1,"column":297},"end":{"line":1,"column":298}},"loc":{"start":{"line":1,"column":300},"end":{"line":1,"column":600}},"line":1},"7":{"name":"(anonymous_7)","decl":{"start":{"line":1,"column":426},"end":{"line":1,"column":427}},"loc":{"start":{"line":1,"column":437},"end":{"line":1,"column":564}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":34},"end":{"line":1,"column":53}},"type":"binary-expr","locations":[{"start":{"line":1,"column":34},"end":{"line":1,"column":41}},{"start":{"line":1,"column":43},"end":{"line":1,"column":53}}],"line":1},"1":{"loc":{"start":{"line":1,"column":117},"end":{"line":1,"column":211}},"type":"cond-expr","locations":[{"start":{"line":1,"column":138},"end":{"line":1,"column":198}},{"start":{"line":1,"column":199},"end":{"line":1,"column":211}}],"line":1},"2":{"loc":{"start":{"line":1,"column":158},"end":{"line":1,"column":179}},"type":"binary-expr","locations":[{"start":{"line":1,"column":158},"end":{"line":1,"column":161}},{"start":{"line":1,"column":163},"end":{"line":1,"column":179}}],"line":1},"3":{"loc":{"start":{"line":1,"column":199},"end":{"line":1,"column":211}},"type":"binary-expr","locations":[{"start":{"line":1,"column":199},"end":{"line":1,"column":200}},{"start":{"line":1,"column":202},"end":{"line":1,"column":211}}],"line":1},"4":{"loc":{"start":{"line":1,"column":265},"end":{"line":1,"column":284}},"type":"binary-expr","locations":[{"start":{"line":1,"column":265},"end":{"line":1,"column":273}},{"start":{"line":1,"column":275},"end":{"line":1,"column":284}}],"line":1},"5":{"loc":{"start":{"line":1,"column":438},"end":{"line":1,"column":563}},"type":"binary-expr","locations":[{"start":{"line":1,"column":438},"end":{"line":1,"column":442}},{"start":{"line":1,"column":445},"end":{"line":1,"column":562}}],"line":1},"6":{"loc":{"start":{"line":1,"column":445},"end":{"line":1,"column":562}},"type":"cond-expr","locations":[{"start":{"line":1,"column":484},"end":{"line":1,"column":508}},{"start":{"line":1,"column":509},"end":{"line":1,"column":562}}],"line":1},"7":{"loc":{"start":{"line":1,"column":445},"end":{"line":1,"column":483}},"type":"binary-expr","locations":[{"start":{"line":1,"column":445},"end":{"line":1,"column":463}},{"start":{"line":1,"column":465},"end":{"line":1,"column":483}}],"line":1},"8":{"loc":{"start":{"line":1,"column":509},"end":{"line":1,"column":562}},"type":"cond-expr","locations":[{"start":{"line":1,"column":526},"end":{"line":1,"column":532}},{"start":{"line":1,"column":533},"end":{"line":1,"column":562}}],"line":1},"9":{"loc":{"start":{"line":1,"column":533},"end":{"line":1,"column":562}},"type":"binary-expr","locations":[{"start":{"line":1,"column":533},"end":{"line":1,"column":534}},{"start":{"line":1,"column":536},"end":{"line":1,"column":554}},{"start":{"line":1,"column":556},"end":{"line":1,"column":562}}],"line":1},"10":{"loc":{"start":{"line":1,"column":567},"end":{"line":1,"column":599}},"type":"cond-expr","locations":[{"start":{"line":1,"column":578},"end":{"line":1,"column":596}},{"start":{"line":1,"column":597},"end":{"line":1,"column":599}}],"line":1}},"s":{"0":39,"1":11,"2":31,"3":31,"4":10,"5":10,"6":4,"7":14,"8":14,"9":24,"10":24,"11":24,"12":39,"13":24,"14":24,"15":24,"16":39,"17":1,"18":1,"19":1,"20":1},"f":{"0":39,"1":11,"2":31,"3":10,"4":4,"5":14,"6":24,"7":39},"b":{"0":[39,31],"1":[10,21],"2":[10,2],"3":[21,12],"4":[14,8],"5":[39,31],"6":[16,15],"7":[31,25],"8":[4,11],"9":[11,11,11],"10":[16,8]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"d10b0e8a194d94b0b652a35ce57de1b485b45c63"}
1+
{"/Users/tusharf5/dev/github/oss/dynamic-class-list/dist/index.js": {"path":"/Users/tusharf5/dev/github/oss/dynamic-class-list/dist/index.js","statementMap":{"0":{"start":{"line":1,"column":27},"end":{"line":1,"column":53}},"1":{"start":{"line":1,"column":70},"end":{"line":1,"column":214}},"2":{"start":{"line":1,"column":112},"end":{"line":1,"column":116}},"3":{"start":{"line":1,"column":117},"end":{"line":1,"column":211}},"4":{"start":{"line":1,"column":154},"end":{"line":1,"column":190}},"5":{"start":{"line":1,"column":158},"end":{"line":1,"column":179}},"6":{"start":{"line":1,"column":231},"end":{"line":1,"column":287}},"7":{"start":{"line":1,"column":260},"end":{"line":1,"column":264}},"8":{"start":{"line":1,"column":265},"end":{"line":1,"column":284}},"9":{"start":{"line":1,"column":301},"end":{"line":1,"column":359}},"10":{"start":{"line":1,"column":311},"end":{"line":1,"column":313}},"11":{"start":{"line":1,"column":316},"end":{"line":1,"column":317}},"12":{"start":{"line":1,"column":341},"end":{"line":1,"column":359}},"13":{"start":{"line":1,"column":365},"end":{"line":1,"column":367}},"14":{"start":{"line":1,"column":370},"end":{"line":1,"column":407}},"15":{"start":{"line":1,"column":408},"end":{"line":1,"column":599}},"16":{"start":{"line":1,"column":438},"end":{"line":1,"column":563}},"17":{"start":{"line":1,"column":600},"end":{"line":1,"column":668}}},"fnMap":{"0":{"name":"t","decl":{"start":{"line":1,"column":22},"end":{"line":1,"column":23}},"loc":{"start":{"line":1,"column":26},"end":{"line":1,"column":54}},"line":1},"1":{"name":"r","decl":{"start":{"line":1,"column":63},"end":{"line":1,"column":64}},"loc":{"start":{"line":1,"column":69},"end":{"line":1,"column":215}},"line":1},"2":{"name":"(anonymous_2)","decl":{"start":{"line":1,"column":94},"end":{"line":1,"column":95}},"loc":{"start":{"line":1,"column":105},"end":{"line":1,"column":212}},"line":1},"3":{"name":"(anonymous_3)","decl":{"start":{"line":1,"column":138},"end":{"line":1,"column":139}},"loc":{"start":{"line":1,"column":153},"end":{"line":1,"column":191}},"line":1},"4":{"name":"n","decl":{"start":{"line":1,"column":224},"end":{"line":1,"column":225}},"loc":{"start":{"line":1,"column":230},"end":{"line":1,"column":288}},"line":1},"5":{"name":"(anonymous_5)","decl":{"start":{"line":1,"column":242},"end":{"line":1,"column":243}},"loc":{"start":{"line":1,"column":253},"end":{"line":1,"column":285}},"line":1},"6":{"name":"o","decl":{"start":{"line":1,"column":297},"end":{"line":1,"column":298}},"loc":{"start":{"line":1,"column":300},"end":{"line":1,"column":600}},"line":1},"7":{"name":"(anonymous_7)","decl":{"start":{"line":1,"column":426},"end":{"line":1,"column":427}},"loc":{"start":{"line":1,"column":437},"end":{"line":1,"column":564}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":34},"end":{"line":1,"column":53}},"type":"binary-expr","locations":[{"start":{"line":1,"column":34},"end":{"line":1,"column":41}},{"start":{"line":1,"column":43},"end":{"line":1,"column":53}}],"line":1},"1":{"loc":{"start":{"line":1,"column":117},"end":{"line":1,"column":211}},"type":"cond-expr","locations":[{"start":{"line":1,"column":138},"end":{"line":1,"column":198}},{"start":{"line":1,"column":199},"end":{"line":1,"column":211}}],"line":1},"2":{"loc":{"start":{"line":1,"column":158},"end":{"line":1,"column":179}},"type":"binary-expr","locations":[{"start":{"line":1,"column":158},"end":{"line":1,"column":161}},{"start":{"line":1,"column":163},"end":{"line":1,"column":179}}],"line":1},"3":{"loc":{"start":{"line":1,"column":199},"end":{"line":1,"column":211}},"type":"binary-expr","locations":[{"start":{"line":1,"column":199},"end":{"line":1,"column":200}},{"start":{"line":1,"column":202},"end":{"line":1,"column":211}}],"line":1},"4":{"loc":{"start":{"line":1,"column":265},"end":{"line":1,"column":284}},"type":"binary-expr","locations":[{"start":{"line":1,"column":265},"end":{"line":1,"column":273}},{"start":{"line":1,"column":275},"end":{"line":1,"column":284}}],"line":1},"5":{"loc":{"start":{"line":1,"column":438},"end":{"line":1,"column":563}},"type":"binary-expr","locations":[{"start":{"line":1,"column":438},"end":{"line":1,"column":442}},{"start":{"line":1,"column":445},"end":{"line":1,"column":562}}],"line":1},"6":{"loc":{"start":{"line":1,"column":445},"end":{"line":1,"column":562}},"type":"cond-expr","locations":[{"start":{"line":1,"column":484},"end":{"line":1,"column":508}},{"start":{"line":1,"column":509},"end":{"line":1,"column":562}}],"line":1},"7":{"loc":{"start":{"line":1,"column":445},"end":{"line":1,"column":483}},"type":"binary-expr","locations":[{"start":{"line":1,"column":445},"end":{"line":1,"column":463}},{"start":{"line":1,"column":465},"end":{"line":1,"column":483}}],"line":1},"8":{"loc":{"start":{"line":1,"column":509},"end":{"line":1,"column":562}},"type":"cond-expr","locations":[{"start":{"line":1,"column":526},"end":{"line":1,"column":532}},{"start":{"line":1,"column":533},"end":{"line":1,"column":562}}],"line":1},"9":{"loc":{"start":{"line":1,"column":533},"end":{"line":1,"column":562}},"type":"binary-expr","locations":[{"start":{"line":1,"column":533},"end":{"line":1,"column":534}},{"start":{"line":1,"column":536},"end":{"line":1,"column":554}},{"start":{"line":1,"column":556},"end":{"line":1,"column":562}}],"line":1},"10":{"loc":{"start":{"line":1,"column":567},"end":{"line":1,"column":599}},"type":"cond-expr","locations":[{"start":{"line":1,"column":578},"end":{"line":1,"column":596}},{"start":{"line":1,"column":597},"end":{"line":1,"column":599}}],"line":1}},"s":{"0":39,"1":11,"2":31,"3":31,"4":10,"5":10,"6":4,"7":14,"8":14,"9":24,"10":24,"11":24,"12":39,"13":24,"14":24,"15":24,"16":39,"17":1},"f":{"0":39,"1":11,"2":31,"3":10,"4":4,"5":14,"6":24,"7":39},"b":{"0":[39,31],"1":[10,21],"2":[10,2],"3":[21,12],"4":[14,8],"5":[39,31],"6":[16,15],"7":[31,25],"8":[4,11],"9":[11,11,11],"10":[16,8]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"87ae2612a8a979fb0cd866bf37150c6627769eed"}
22
}

Diff for: coverage/lcov-report/index.html

+4-4
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ <h1>All files</h1>
2525
<div class='fl pad1y space-right2'>
2626
<span class="strong">100% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>21/21</span>
28+
<span class='fraction'>18/18</span>
2929
</div>
3030

3131

@@ -73,12 +73,12 @@ <h1>All files</h1>
7373
</tr>
7474
</thead>
7575
<tbody><tr>
76-
<td class="file high" data-value="index.cjs.js"><a href="index.cjs.js.html">index.cjs.js</a></td>
76+
<td class="file high" data-value="index.js"><a href="index.js.html">index.js</a></td>
7777
<td data-value="100" class="pic high">
7878
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
7979
</td>
8080
<td data-value="100" class="pct high">100%</td>
81-
<td data-value="21" class="abs high">21/21</td>
81+
<td data-value="18" class="abs high">18/18</td>
8282
<td data-value="100" class="pct high">100%</td>
8383
<td data-value="23" class="abs high">23/23</td>
8484
<td data-value="100" class="pct high">100%</td>
@@ -95,7 +95,7 @@ <h1>All files</h1>
9595
<div class='footer quiet pad2 space-top1 center small'>
9696
Code coverage generated by
9797
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
98-
at Sun Sep 12 2021 16:45:01 GMT+0530 (India Standard Time)
98+
at Sat Oct 02 2021 01:11:00 GMT+0530 (India Standard Time)
9999
</div>
100100
</div>
101101
<script src="prettify.js"></script>

Diff for: coverage/lcov-report/index.js.html

+83
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
2+
<!doctype html>
3+
<html lang="en">
4+
5+
<head>
6+
<title>Code coverage report for index.js</title>
7+
<meta charset="utf-8" />
8+
<link rel="stylesheet" href="prettify.css" />
9+
<link rel="stylesheet" href="base.css" />
10+
<link rel="shortcut icon" type="image/x-icon" href="favicon.png" />
11+
<meta name="viewport" content="width=device-width, initial-scale=1" />
12+
<style type='text/css'>
13+
.coverage-summary .sorter {
14+
background-image: url(sort-arrow-sprite.png);
15+
}
16+
</style>
17+
</head>
18+
19+
<body>
20+
<div class='wrapper'>
21+
<div class='pad1'>
22+
<h1><a href="index.html">All files</a> index.js</h1>
23+
<div class='clearfix'>
24+
25+
<div class='fl pad1y space-right2'>
26+
<span class="strong">100% </span>
27+
<span class="quiet">Statements</span>
28+
<span class='fraction'>18/18</span>
29+
</div>
30+
31+
32+
<div class='fl pad1y space-right2'>
33+
<span class="strong">100% </span>
34+
<span class="quiet">Branches</span>
35+
<span class='fraction'>23/23</span>
36+
</div>
37+
38+
39+
<div class='fl pad1y space-right2'>
40+
<span class="strong">100% </span>
41+
<span class="quiet">Functions</span>
42+
<span class='fraction'>8/8</span>
43+
</div>
44+
45+
46+
<div class='fl pad1y space-right2'>
47+
<span class="strong">100% </span>
48+
<span class="quiet">Lines</span>
49+
<span class='fraction'>1/1</span>
50+
</div>
51+
52+
53+
</div>
54+
<p class="quiet">
55+
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.
56+
</p>
57+
</div>
58+
<div class='status-line high'></div>
59+
<pre><table class="coverage">
60+
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61+
<a name='L2'></a><a href='#L2'>2</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">39x</span>
62+
<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">"use strict";function t(t){return null==t||void 0===t}function r(t,r){Object.keys(t).forEach((function(n){var o=t[n];"function"==typeof o?function(t,r,n){try{t()&amp;&amp;n.push(r.trim())}catch(t){}}(o,n,r):o&amp;&amp;r.push(n)}))}function n(t,r){t.forEach((function(t){var n=o(t);n.trim()&amp;&amp;r.push(n)}))}function o(){for(var o=[],e=0;e&lt;arguments.length;e++)o[e]=arguments[e];var c=[],i=Array.prototype.slice.call(arguments);return i.forEach((function(o){t(o)||("number"==typeof o||"string"==typeof o?c.push(String(o).trim()):Array.isArray(o)?n(o,c):o&amp;&amp;"object"==typeof o&amp;&amp;r(o,c))})),c.length&gt;0?c.join(" ").trim():""}Object.defineProperty(exports,"__esModule",{value:!0}),exports.cl=o;
63+
&nbsp;</pre></td></tr></table></pre>
64+
65+
<div class='push'></div><!-- for sticky footer -->
66+
</div><!-- /wrapper -->
67+
<div class='footer quiet pad2 space-top1 center small'>
68+
Code coverage generated by
69+
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
70+
at Sat Oct 02 2021 01:11:00 GMT+0530 (India Standard Time)
71+
</div>
72+
</div>
73+
<script src="prettify.js"></script>
74+
<script>
75+
window.onload = function () {
76+
prettyPrint();
77+
};
78+
</script>
79+
<script src="sorter.js"></script>
80+
<script src="block-navigation.js"></script>
81+
</body>
82+
</html>
83+

Diff for: coverage/lcov.info

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
TN:
2-
SF:dist/index.cjs.js
2+
SF:dist/index.js
33
FN:1,t
44
FN:1,r
55
FN:1,(anonymous_2)
66
FN:1,(anonymous_3)
7-
FN:1,e
8-
FN:1,(anonymous_5)
97
FN:1,n
8+
FN:1,(anonymous_5)
9+
FN:1,o
1010
FN:1,(anonymous_7)
1111
FNF:8
1212
FNH:8
1313
FNDA:39,t
1414
FNDA:11,r
1515
FNDA:31,(anonymous_2)
1616
FNDA:10,(anonymous_3)
17-
FNDA:4,e
17+
FNDA:4,n
1818
FNDA:14,(anonymous_5)
19-
FNDA:24,n
19+
FNDA:24,o
2020
FNDA:39,(anonymous_7)
2121
DA:1,39
2222
LF:1

Diff for: src/index.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
/* eslint-disable no-use-before-define */
22

33
type Value = string | undefined | null | number;
4-
type ValueMore = Value | Record<string, () => boolean>;
4+
type ObjectValue = (() => boolean) | boolean | undefined | null;
5+
type ValueMore = Value | Record<string, ObjectValue>;
56
type PossibleValues = ValueMore | Array<ValueMore>;
67

78
function isBadValue<T>(obj: T): boolean {
@@ -19,7 +20,7 @@ function handleFunction(fn: () => boolean, key: string, classList: string[]) {
1920
} catch (e) {}
2021
}
2122

22-
function handleObject(objArg: Record<string, () => boolean>, classList: string[]) {
23+
function handleObject(objArg: Record<string, ObjectValue>, classList: string[]) {
2324
Object.keys(objArg).forEach((fieldName) => {
2425
const value = objArg[fieldName];
2526
if (typeof value === 'function') {

0 commit comments

Comments
 (0)