@deessejs/type-testing 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (116) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/package.json +1 -1
  3. package/.eslintrc.json +0 -7
  4. package/.turbo/turbo-lint.log +0 -24
  5. package/.turbo/turbo-test.log +0 -23
  6. package/.turbo/turbo-typecheck.log +0 -4
  7. package/coverage/base.css +0 -224
  8. package/coverage/block-navigation.js +0 -87
  9. package/coverage/coverage-final.json +0 -15
  10. package/coverage/favicon.png +0 -0
  11. package/coverage/index.html +0 -146
  12. package/coverage/prettify.css +0 -1
  13. package/coverage/prettify.js +0 -2
  14. package/coverage/sort-arrow-sprite.png +0 -0
  15. package/coverage/sorter.js +0 -210
  16. package/coverage/src/api/assert.ts.html +0 -229
  17. package/coverage/src/api/check.ts.html +0 -586
  18. package/coverage/src/api/expect.ts.html +0 -220
  19. package/coverage/src/api/index.html +0 -161
  20. package/coverage/src/api/index.ts.html +0 -106
  21. package/coverage/src/index.html +0 -131
  22. package/coverage/src/index.ts.html +0 -127
  23. package/coverage/src/types/equality.ts.html +0 -190
  24. package/coverage/src/types/function.ts.html +0 -139
  25. package/coverage/src/types/index.html +0 -221
  26. package/coverage/src/types/index.ts.html +0 -121
  27. package/coverage/src/types/inhabitation.ts.html +0 -160
  28. package/coverage/src/types/length.ts.html +0 -109
  29. package/coverage/src/types/property.ts.html +0 -124
  30. package/coverage/src/types/special.ts.html +0 -274
  31. package/coverage/src/types/union.ts.html +0 -193
  32. package/coverage/src/utils.ts.html +0 -136
  33. package/dist/api/assert.d.ts +0 -43
  34. package/dist/api/assert.d.ts.map +0 -1
  35. package/dist/api/assert.js +0 -7
  36. package/dist/api/assert.js.map +0 -1
  37. package/dist/api/check.d.ts +0 -138
  38. package/dist/api/check.d.ts.map +0 -1
  39. package/dist/api/check.js +0 -17
  40. package/dist/api/check.js.map +0 -1
  41. package/dist/api/expect.d.ts +0 -35
  42. package/dist/api/expect.d.ts.map +0 -1
  43. package/dist/api/expect.js +0 -21
  44. package/dist/api/expect.js.map +0 -1
  45. package/dist/api/index.d.ts +0 -7
  46. package/dist/api/index.d.ts.map +0 -1
  47. package/dist/api/index.js +0 -7
  48. package/dist/api/index.js.map +0 -1
  49. package/dist/index.d.ts +0 -9
  50. package/dist/index.d.ts.map +0 -1
  51. package/dist/index.js +0 -12
  52. package/dist/index.js.map +0 -1
  53. package/dist/index.test.d.ts +0 -8
  54. package/dist/index.test.d.ts.map +0 -1
  55. package/dist/index.test.js +0 -264
  56. package/dist/index.test.js.map +0 -1
  57. package/dist/types/equality.d.ts +0 -30
  58. package/dist/types/equality.d.ts.map +0 -1
  59. package/dist/types/equality.js +0 -5
  60. package/dist/types/equality.js.map +0 -1
  61. package/dist/types/function.d.ts +0 -16
  62. package/dist/types/function.d.ts.map +0 -1
  63. package/dist/types/function.js +0 -5
  64. package/dist/types/function.js.map +0 -1
  65. package/dist/types/index.d.ts +0 -11
  66. package/dist/types/index.d.ts.map +0 -1
  67. package/dist/types/index.js +0 -12
  68. package/dist/types/index.js.map +0 -1
  69. package/dist/types/inhabitation.d.ts +0 -24
  70. package/dist/types/inhabitation.d.ts.map +0 -1
  71. package/dist/types/inhabitation.js +0 -5
  72. package/dist/types/inhabitation.js.map +0 -1
  73. package/dist/types/length.d.ts +0 -8
  74. package/dist/types/length.d.ts.map +0 -1
  75. package/dist/types/length.js +0 -5
  76. package/dist/types/length.js.map +0 -1
  77. package/dist/types/property.d.ts +0 -12
  78. package/dist/types/property.d.ts.map +0 -1
  79. package/dist/types/property.js +0 -5
  80. package/dist/types/property.js.map +0 -1
  81. package/dist/types/special.d.ts +0 -55
  82. package/dist/types/special.d.ts.map +0 -1
  83. package/dist/types/special.js +0 -5
  84. package/dist/types/special.js.map +0 -1
  85. package/dist/types/union.d.ts +0 -34
  86. package/dist/types/union.d.ts.map +0 -1
  87. package/dist/types/union.js +0 -5
  88. package/dist/types/union.js.map +0 -1
  89. package/dist/utils.d.ts +0 -14
  90. package/dist/utils.d.ts.map +0 -1
  91. package/dist/utils.js +0 -5
  92. package/dist/utils.js.map +0 -1
  93. package/src/api/assert.ts +0 -48
  94. package/src/api/check.ts +0 -167
  95. package/src/api/expect.ts +0 -45
  96. package/src/api/index.ts +0 -7
  97. package/src/index.ts +0 -14
  98. package/src/types/equality.ts +0 -35
  99. package/src/types/function.ts +0 -18
  100. package/src/types/index.ts +0 -12
  101. package/src/types/inhabitation.ts +0 -25
  102. package/src/types/length.ts +0 -8
  103. package/src/types/property.ts +0 -13
  104. package/src/types/special.ts +0 -63
  105. package/src/types/union.ts +0 -36
  106. package/src/utils.ts +0 -17
  107. package/tests/api.test.ts +0 -40
  108. package/tests/equality.test.ts +0 -57
  109. package/tests/function.test.ts +0 -32
  110. package/tests/inhabitation.test.ts +0 -40
  111. package/tests/length.test.ts +0 -18
  112. package/tests/property.test.ts +0 -35
  113. package/tests/special.test.ts +0 -132
  114. package/tests/union.test.ts +0 -58
  115. package/tests/utils.test.ts +0 -20
  116. package/tsconfig.tsbuildinfo +0 -1
@@ -1,124 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/types/property.ts</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> / <a href="index.html">src/types</a> property.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>0/0</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/0</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>0/0</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>0/0</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
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line low'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
80
- <span class="cline-any cline-neutral">&nbsp;</span>
81
- <span class="cline-any cline-neutral">&nbsp;</span>
82
- <span class="cline-any cline-neutral">&nbsp;</span>
83
- <span class="cline-any cline-neutral">&nbsp;</span>
84
- <span class="cline-any cline-neutral">&nbsp;</span>
85
- <span class="cline-any cline-neutral">&nbsp;</span>
86
- <span class="cline-any cline-neutral">&nbsp;</span>
87
- <span class="cline-any cline-neutral">&nbsp;</span>
88
- <span class="cline-any cline-neutral">&nbsp;</span>
89
- <span class="cline-any cline-neutral">&nbsp;</span>
90
- <span class="cline-any cline-neutral">&nbsp;</span>
91
- <span class="cline-any cline-neutral">&nbsp;</span>
92
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**
93
- * Property testing utilities.
94
- */
95
- &nbsp;
96
- /**
97
- * Checks if a type has a specific property.
98
- */
99
- export type HasProperty&lt;T, K extends PropertyKey&gt; = K extends keyof T ? true : false
100
- &nbsp;
101
- /**
102
- * Gets the type of a specific property from a type.
103
- */
104
- export type PropertyType&lt;T, K extends keyof T&gt; = T[K]
105
- &nbsp;</pre></td></tr></table></pre>
106
-
107
- <div class='push'></div><!-- for sticky footer -->
108
- </div><!-- /wrapper -->
109
- <div class='footer quiet pad2 space-top1 center small'>
110
- Code coverage generated by
111
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
112
- at 2026-02-27T13:37:42.407Z
113
- </div>
114
- <script src="../../prettify.js"></script>
115
- <script>
116
- window.onload = function () {
117
- prettyPrint();
118
- };
119
- </script>
120
- <script src="../../sorter.js"></script>
121
- <script src="../../block-navigation.js"></script>
122
- </body>
123
- </html>
124
-
@@ -1,274 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/types/special.ts</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> / <a href="index.html">src/types</a> special.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>0/0</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/0</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>0/0</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>0/0</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
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line low'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
130
- <span class="cline-any cline-neutral">&nbsp;</span>
131
- <span class="cline-any cline-neutral">&nbsp;</span>
132
- <span class="cline-any cline-neutral">&nbsp;</span>
133
- <span class="cline-any cline-neutral">&nbsp;</span>
134
- <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-neutral">&nbsp;</span>
136
- <span class="cline-any cline-neutral">&nbsp;</span>
137
- <span class="cline-any cline-neutral">&nbsp;</span>
138
- <span class="cline-any cline-neutral">&nbsp;</span>
139
- <span class="cline-any cline-neutral">&nbsp;</span>
140
- <span class="cline-any cline-neutral">&nbsp;</span>
141
- <span class="cline-any cline-neutral">&nbsp;</span>
142
- <span class="cline-any cline-neutral">&nbsp;</span>
143
- <span class="cline-any cline-neutral">&nbsp;</span>
144
- <span class="cline-any cline-neutral">&nbsp;</span>
145
- <span class="cline-any cline-neutral">&nbsp;</span>
146
- <span class="cline-any cline-neutral">&nbsp;</span>
147
- <span class="cline-any cline-neutral">&nbsp;</span>
148
- <span class="cline-any cline-neutral">&nbsp;</span>
149
- <span class="cline-any cline-neutral">&nbsp;</span>
150
- <span class="cline-any cline-neutral">&nbsp;</span>
151
- <span class="cline-any cline-neutral">&nbsp;</span>
152
- <span class="cline-any cline-neutral">&nbsp;</span>
153
- <span class="cline-any cline-neutral">&nbsp;</span>
154
- <span class="cline-any cline-neutral">&nbsp;</span>
155
- <span class="cline-any cline-neutral">&nbsp;</span>
156
- <span class="cline-any cline-neutral">&nbsp;</span>
157
- <span class="cline-any cline-neutral">&nbsp;</span>
158
- <span class="cline-any cline-neutral">&nbsp;</span>
159
- <span class="cline-any cline-neutral">&nbsp;</span>
160
- <span class="cline-any cline-neutral">&nbsp;</span>
161
- <span class="cline-any cline-neutral">&nbsp;</span>
162
- <span class="cline-any cline-neutral">&nbsp;</span>
163
- <span class="cline-any cline-neutral">&nbsp;</span>
164
- <span class="cline-any cline-neutral">&nbsp;</span>
165
- <span class="cline-any cline-neutral">&nbsp;</span>
166
- <span class="cline-any cline-neutral">&nbsp;</span>
167
- <span class="cline-any cline-neutral">&nbsp;</span>
168
- <span class="cline-any cline-neutral">&nbsp;</span>
169
- <span class="cline-any cline-neutral">&nbsp;</span>
170
- <span class="cline-any cline-neutral">&nbsp;</span>
171
- <span class="cline-any cline-neutral">&nbsp;</span>
172
- <span class="cline-any cline-neutral">&nbsp;</span>
173
- <span class="cline-any cline-neutral">&nbsp;</span>
174
- <span class="cline-any cline-neutral">&nbsp;</span>
175
- <span class="cline-any cline-neutral">&nbsp;</span>
176
- <span class="cline-any cline-neutral">&nbsp;</span>
177
- <span class="cline-any cline-neutral">&nbsp;</span>
178
- <span class="cline-any cline-neutral">&nbsp;</span>
179
- <span class="cline-any cline-neutral">&nbsp;</span>
180
- <span class="cline-any cline-neutral">&nbsp;</span>
181
- <span class="cline-any cline-neutral">&nbsp;</span>
182
- <span class="cline-any cline-neutral">&nbsp;</span>
183
- <span class="cline-any cline-neutral">&nbsp;</span>
184
- <span class="cline-any cline-neutral">&nbsp;</span>
185
- <span class="cline-any cline-neutral">&nbsp;</span>
186
- <span class="cline-any cline-neutral">&nbsp;</span>
187
- <span class="cline-any cline-neutral">&nbsp;</span>
188
- <span class="cline-any cline-neutral">&nbsp;</span>
189
- <span class="cline-any cline-neutral">&nbsp;</span>
190
- <span class="cline-any cline-neutral">&nbsp;</span>
191
- <span class="cline-any cline-neutral">&nbsp;</span>
192
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**
193
- * Special type detection utilities.
194
- */
195
- &nbsp;
196
- import type { Equal } from './equality'
197
- &nbsp;
198
- /**
199
- * Checks if a type is `any`.
200
- * Uses the technique: 0 extends (1 &amp; T) ? true : false
201
- *
202
- * @example
203
- * ```typescript
204
- * check&lt;any&gt;().isAny() // passes
205
- * check&lt;string&gt;().isAny() // fails
206
- * ```
207
- */
208
- export type IsAny&lt;T&gt; = 0 extends (1 &amp; T) ? true : false
209
- &nbsp;
210
- /**
211
- * Checks if a type is `never`.
212
- *
213
- * @example
214
- * ```typescript
215
- * check&lt;never&gt;().isNever() // passes
216
- * check&lt;string&gt;().isNever() // fails
217
- * ```
218
- */
219
- export type IsNever&lt;T&gt; = [T] extends [never] ? true : false
220
- &nbsp;
221
- /**
222
- * Checks if a type is `unknown`.
223
- *
224
- * @example
225
- * ```typescript
226
- * check&lt;unknown&gt;().isUnknown() // passes
227
- * ```
228
- */
229
- export type IsUnknown&lt;T&gt; = [unknown] extends [T] ? ([T] extends [unknown] ? true : false) : false
230
- &nbsp;
231
- /**
232
- * Checks if a type is `void`.
233
- */
234
- export type IsVoid&lt;T&gt; = Equal&lt;T, void&gt;
235
- &nbsp;
236
- /**
237
- * Checks if a type is `undefined`.
238
- */
239
- export type IsUndefined&lt;T&gt; = Equal&lt;T, undefined&gt;
240
- &nbsp;
241
- /**
242
- * Checks if a type is `null`.
243
- */
244
- export type IsNull&lt;T&gt; = Equal&lt;T, null&gt;
245
- &nbsp;
246
- /**
247
- * Checks if a type is `null` or `undefined`.
248
- */
249
- export type IsNullable&lt;T&gt; = [null] extends [T] ? true : ([undefined] extends [T] ? true : false)
250
- &nbsp;
251
- /**
252
- * Checks if a type is optional (may be undefined).
253
- */
254
- export type IsOptional&lt;T&gt; = [undefined] extends [T] ? true : false
255
- &nbsp;</pre></td></tr></table></pre>
256
-
257
- <div class='push'></div><!-- for sticky footer -->
258
- </div><!-- /wrapper -->
259
- <div class='footer quiet pad2 space-top1 center small'>
260
- Code coverage generated by
261
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
262
- at 2026-02-27T13:37:42.407Z
263
- </div>
264
- <script src="../../prettify.js"></script>
265
- <script>
266
- window.onload = function () {
267
- prettyPrint();
268
- };
269
- </script>
270
- <script src="../../sorter.js"></script>
271
- <script src="../../block-navigation.js"></script>
272
- </body>
273
- </html>
274
-
@@ -1,193 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/types/union.ts</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> / <a href="index.html">src/types</a> union.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">0% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>0/0</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">0% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>0/0</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">0% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>0/0</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">0% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>0/0</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
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line low'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
103
- <span class="cline-any cline-neutral">&nbsp;</span>
104
- <span class="cline-any cline-neutral">&nbsp;</span>
105
- <span class="cline-any cline-neutral">&nbsp;</span>
106
- <span class="cline-any cline-neutral">&nbsp;</span>
107
- <span class="cline-any cline-neutral">&nbsp;</span>
108
- <span class="cline-any cline-neutral">&nbsp;</span>
109
- <span class="cline-any cline-neutral">&nbsp;</span>
110
- <span class="cline-any cline-neutral">&nbsp;</span>
111
- <span class="cline-any cline-neutral">&nbsp;</span>
112
- <span class="cline-any cline-neutral">&nbsp;</span>
113
- <span class="cline-any cline-neutral">&nbsp;</span>
114
- <span class="cline-any cline-neutral">&nbsp;</span>
115
- <span class="cline-any cline-neutral">&nbsp;</span>
116
- <span class="cline-any cline-neutral">&nbsp;</span>
117
- <span class="cline-any cline-neutral">&nbsp;</span>
118
- <span class="cline-any cline-neutral">&nbsp;</span>
119
- <span class="cline-any cline-neutral">&nbsp;</span>
120
- <span class="cline-any cline-neutral">&nbsp;</span>
121
- <span class="cline-any cline-neutral">&nbsp;</span>
122
- <span class="cline-any cline-neutral">&nbsp;</span>
123
- <span class="cline-any cline-neutral">&nbsp;</span>
124
- <span class="cline-any cline-neutral">&nbsp;</span>
125
- <span class="cline-any cline-neutral">&nbsp;</span>
126
- <span class="cline-any cline-neutral">&nbsp;</span>
127
- <span class="cline-any cline-neutral">&nbsp;</span>
128
- <span class="cline-any cline-neutral">&nbsp;</span>
129
- <span class="cline-any cline-neutral">&nbsp;</span>
130
- <span class="cline-any cline-neutral">&nbsp;</span>
131
- <span class="cline-any cline-neutral">&nbsp;</span>
132
- <span class="cline-any cline-neutral">&nbsp;</span>
133
- <span class="cline-any cline-neutral">&nbsp;</span>
134
- <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-neutral">&nbsp;</span>
136
- <span class="cline-any cline-neutral">&nbsp;</span>
137
- <span class="cline-any cline-neutral">&nbsp;</span>
138
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**
139
- * Union and tuple detection utilities.
140
- */
141
- &nbsp;
142
- /**
143
- * Checks if a type is a union.
144
- *
145
- * @example
146
- * ```typescript
147
- * check&lt;'a' | 'b'&gt;().isUnion() // passes
148
- * check&lt;'a'&gt;().isUnion() // fails
149
- * ```
150
- */
151
- export type IsUnion&lt;T, U = T&gt; = [U] extends [never] ? false : T extends U ? [Exclude&lt;U, never&gt;] extends [T] ? false : true : false
152
- &nbsp;
153
- /**
154
- * Checks if a type is a tuple.
155
- *
156
- * @example
157
- * ```typescript
158
- * check&lt;[string, number]&gt;().isTuple() // passes
159
- * check&lt;string[]&gt;().isTuple() // fails
160
- * ```
161
- */
162
- export type IsTuple&lt;T&gt; = T extends readonly any[] ? (number extends T['length'] ? false : true) : false
163
- &nbsp;
164
- /**
165
- * Checks if a type is an array.
166
- *
167
- * @example
168
- * ```typescript
169
- * check&lt;string[]&gt;().isArray() // passes
170
- * check&lt;[string]&gt;().isArray() // fails
171
- * ```
172
- */
173
- export type IsArray&lt;T&gt; = T extends readonly any[] ? (IsTuple&lt;T&gt; extends true ? false : true) : false
174
- &nbsp;</pre></td></tr></table></pre>
175
-
176
- <div class='push'></div><!-- for sticky footer -->
177
- </div><!-- /wrapper -->
178
- <div class='footer quiet pad2 space-top1 center small'>
179
- Code coverage generated by
180
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
181
- at 2026-02-27T13:37:42.407Z
182
- </div>
183
- <script src="../../prettify.js"></script>
184
- <script>
185
- window.onload = function () {
186
- prettyPrint();
187
- };
188
- </script>
189
- <script src="../../sorter.js"></script>
190
- <script src="../../block-navigation.js"></script>
191
- </body>
192
- </html>
193
-