@deessejs/type-testing 0.1.0 → 0.1.2

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 (64) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +1 -0
  3. package/dist/api/assert.d.ts.map +1 -1
  4. package/dist/api/assert.js.map +1 -1
  5. package/dist/api/check.d.ts.map +1 -1
  6. package/dist/api/check.js.map +1 -1
  7. package/dist/api/expect.d.ts.map +1 -1
  8. package/dist/api/expect.js.map +1 -1
  9. package/dist/utils.d.ts.map +1 -1
  10. package/package.json +1 -1
  11. package/.eslintrc.json +0 -7
  12. package/.turbo/turbo-lint.log +0 -24
  13. package/.turbo/turbo-test.log +0 -23
  14. package/.turbo/turbo-typecheck.log +0 -4
  15. package/coverage/base.css +0 -224
  16. package/coverage/block-navigation.js +0 -87
  17. package/coverage/coverage-final.json +0 -15
  18. package/coverage/favicon.png +0 -0
  19. package/coverage/index.html +0 -146
  20. package/coverage/prettify.css +0 -1
  21. package/coverage/prettify.js +0 -2
  22. package/coverage/sort-arrow-sprite.png +0 -0
  23. package/coverage/sorter.js +0 -210
  24. package/coverage/src/api/assert.ts.html +0 -229
  25. package/coverage/src/api/check.ts.html +0 -586
  26. package/coverage/src/api/expect.ts.html +0 -220
  27. package/coverage/src/api/index.html +0 -161
  28. package/coverage/src/api/index.ts.html +0 -106
  29. package/coverage/src/index.html +0 -131
  30. package/coverage/src/index.ts.html +0 -127
  31. package/coverage/src/types/equality.ts.html +0 -190
  32. package/coverage/src/types/function.ts.html +0 -139
  33. package/coverage/src/types/index.html +0 -221
  34. package/coverage/src/types/index.ts.html +0 -121
  35. package/coverage/src/types/inhabitation.ts.html +0 -160
  36. package/coverage/src/types/length.ts.html +0 -109
  37. package/coverage/src/types/property.ts.html +0 -124
  38. package/coverage/src/types/special.ts.html +0 -274
  39. package/coverage/src/types/union.ts.html +0 -193
  40. package/coverage/src/utils.ts.html +0 -136
  41. package/src/api/assert.ts +0 -48
  42. package/src/api/check.ts +0 -167
  43. package/src/api/expect.ts +0 -45
  44. package/src/api/index.ts +0 -7
  45. package/src/index.ts +0 -14
  46. package/src/types/equality.ts +0 -35
  47. package/src/types/function.ts +0 -18
  48. package/src/types/index.ts +0 -12
  49. package/src/types/inhabitation.ts +0 -25
  50. package/src/types/length.ts +0 -8
  51. package/src/types/property.ts +0 -13
  52. package/src/types/special.ts +0 -63
  53. package/src/types/union.ts +0 -36
  54. package/src/utils.ts +0 -17
  55. package/tests/api.test.ts +0 -40
  56. package/tests/equality.test.ts +0 -57
  57. package/tests/function.test.ts +0 -32
  58. package/tests/inhabitation.test.ts +0 -40
  59. package/tests/length.test.ts +0 -18
  60. package/tests/property.test.ts +0 -35
  61. package/tests/special.test.ts +0 -132
  62. package/tests/union.test.ts +0 -58
  63. package/tests/utils.test.ts +0 -20
  64. package/tsconfig.tsbuildinfo +0 -1
@@ -1,127 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/index.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</a> index.ts</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'>4/4</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'>0/0</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'>0/0</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'>4/4</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 high'></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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</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-yes">1x</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-yes">1x</span>
91
- <span class="cline-any cline-neutral">&nbsp;</span>
92
- <span class="cline-any cline-neutral">&nbsp;</span>
93
- <span class="cline-any cline-yes">1x</span>
94
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**
95
- * Type-testing: A micro library for testing your TypeScript types.
96
- *
97
- * @packageDocumentation
98
- */
99
- &nbsp;
100
- // Re-export all type utilities
101
- export * from './types'
102
- &nbsp;
103
- // Re-export API
104
- export * from './api'
105
- &nbsp;
106
- // Re-export utilities
107
- export * from './utils'
108
- &nbsp;</pre></td></tr></table></pre>
109
-
110
- <div class='push'></div><!-- for sticky footer -->
111
- </div><!-- /wrapper -->
112
- <div class='footer quiet pad2 space-top1 center small'>
113
- Code coverage generated by
114
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
115
- at 2026-02-27T13:37:42.407Z
116
- </div>
117
- <script src="../prettify.js"></script>
118
- <script>
119
- window.onload = function () {
120
- prettyPrint();
121
- };
122
- </script>
123
- <script src="../sorter.js"></script>
124
- <script src="../block-navigation.js"></script>
125
- </body>
126
- </html>
127
-
@@ -1,190 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/types/equality.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> equality.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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
102
- <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></td><td class="text"><pre class="prettyprint lang-js">/**
137
- * Type equality utilities.
138
- */
139
- &nbsp;
140
- /**
141
- * Checks if two types are strictly equal.
142
- * Uses a technique that compares the structure while handling
143
- * special types like any, never, and unknown.
144
- *
145
- * @example
146
- * ```typescript
147
- * check&lt;string&gt;().equals&lt;string&gt;() // passes
148
- * check&lt;string&gt;().equals&lt;number&gt;() // fails at compile time
149
- * ```
150
- */
151
- export type Equal&lt;T, U&gt; =
152
- (&lt;G&gt;() =&gt; G extends T ? 1 : 2) extends (&lt;G&gt;() =&gt; G extends U ? 1 : 2)
153
- ? true
154
- : false
155
- &nbsp;
156
- /**
157
- * Checks if two types are not equal.
158
- *
159
- * @example
160
- * ```typescript
161
- * check&lt;string&gt;().notEquals&lt;number&gt;() // passes
162
- * ```
163
- */
164
- export type NotEqual&lt;T, U&gt; = Equal&lt;T, U&gt; extends true ? false : true
165
- &nbsp;
166
- /**
167
- * Simple equality check that works in more contexts.
168
- * Useful for simple type comparisons.
169
- */
170
- export type SimpleEqual&lt;T, U&gt; = [T, U] extends [U, T] ? true : false
171
- &nbsp;</pre></td></tr></table></pre>
172
-
173
- <div class='push'></div><!-- for sticky footer -->
174
- </div><!-- /wrapper -->
175
- <div class='footer quiet pad2 space-top1 center small'>
176
- Code coverage generated by
177
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
178
- at 2026-02-27T13:37:42.407Z
179
- </div>
180
- <script src="../../prettify.js"></script>
181
- <script>
182
- window.onload = function () {
183
- prettyPrint();
184
- };
185
- </script>
186
- <script src="../../sorter.js"></script>
187
- <script src="../../block-navigation.js"></script>
188
- </body>
189
- </html>
190
-
@@ -1,139 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/types/function.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> function.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></td><td class="line-coverage quiet"><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>
93
- <span class="cline-any cline-neutral">&nbsp;</span>
94
- <span class="cline-any cline-neutral">&nbsp;</span>
95
- <span class="cline-any cline-neutral">&nbsp;</span>
96
- <span class="cline-any cline-neutral">&nbsp;</span>
97
- <span class="cline-any cline-neutral">&nbsp;</span>
98
- <span class="cline-any cline-neutral">&nbsp;</span>
99
- <span class="cline-any cline-neutral">&nbsp;</span>
100
- <span class="cline-any cline-neutral">&nbsp;</span>
101
- <span class="cline-any cline-neutral">&nbsp;</span>
102
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**
103
- * Function type utilities.
104
- */
105
- &nbsp;
106
- /**
107
- * Gets the parameters of a function type as a tuple.
108
- */
109
- export type Parameters&lt;T extends (...args: any[]) =&gt; any&gt; = T extends (...args: infer P) =&gt; any ? P : never
110
- &nbsp;
111
- /**
112
- * Gets the return type of a function type.
113
- */
114
- export type ReturnType&lt;T extends (...args: any[]) =&gt; any&gt; = T extends (...args: any[]) =&gt; infer R ? R : never
115
- &nbsp;
116
- /**
117
- * Gets the parameter type at a specific index.
118
- */
119
- export type Parameter&lt;T extends (...args: any[]) =&gt; any, N extends number&gt; = Parameters&lt;T&gt;[N]
120
- &nbsp;</pre></td></tr></table></pre>
121
-
122
- <div class='push'></div><!-- for sticky footer -->
123
- </div><!-- /wrapper -->
124
- <div class='footer quiet pad2 space-top1 center small'>
125
- Code coverage generated by
126
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
127
- at 2026-02-27T13:37:42.407Z
128
- </div>
129
- <script src="../../prettify.js"></script>
130
- <script>
131
- window.onload = function () {
132
- prettyPrint();
133
- };
134
- </script>
135
- <script src="../../sorter.js"></script>
136
- <script src="../../block-navigation.js"></script>
137
- </body>
138
- </html>
139
-