@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,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
-