@fgv/ts-extras-transformers 5.1.0-29 → 5.1.0-31

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 (56) hide show
  1. package/.rush/temp/{cad001c0dd0af20627d8849ed0e5fa4904160f67.tar.log → 68c2ac21917fe0732986270e7582d872fc12e9b8.tar.log} +2 -2
  2. package/.rush/temp/chunked-rush-logs/ts-extras-transformers.build.chunks.jsonl +2 -2
  3. package/.rush/temp/operation/build/all.log +2 -2
  4. package/.rush/temp/operation/build/log-chunks.jsonl +2 -2
  5. package/.rush/temp/operation/build/state.json +1 -1
  6. package/dist/index.js +27 -3
  7. package/dist/index.js.map +1 -1
  8. package/dist/test/unit/transformers.test.js +38 -1
  9. package/dist/test/unit/transformers.test.js.map +1 -1
  10. package/dist/ts-extras-transformers.d.ts +32 -3
  11. package/etc/ts-extras-transformers.api.md +9 -0
  12. package/lib/index.d.ts +27 -5
  13. package/lib/index.d.ts.map +1 -1
  14. package/lib/index.js +28 -3
  15. package/lib/index.js.map +1 -1
  16. package/lib/test/unit/transformers.test.js +37 -0
  17. package/lib/test/unit/transformers.test.js.map +1 -1
  18. package/package.json +19 -19
  19. package/rush-logs/ts-extras-transformers.build.cache.log +1 -1
  20. package/rush-logs/ts-extras-transformers.build.log +2 -2
  21. package/src/index.ts +36 -3
  22. package/src/test/unit/transformers.test.ts +53 -0
  23. package/temp/build/lint/_eslint-5eVG3S6w.json +3 -3
  24. package/temp/build/typescript/ts_8nwakTlr.json +1 -1
  25. package/temp/ts-extras-transformers.api.json +116 -1
  26. package/temp/ts-extras-transformers.api.md +9 -0
  27. package/.rush/temp/chunked-rush-logs/ts-extras-transformers.test.chunks.jsonl +0 -28
  28. package/.rush/temp/operation/test/all.log +0 -28
  29. package/.rush/temp/operation/test/log-chunks.jsonl +0 -28
  30. package/.rush/temp/operation/test/state.json +0 -3
  31. package/rush-logs/ts-extras-transformers.test.cache.log +0 -1
  32. package/rush-logs/ts-extras-transformers.test.log +0 -28
  33. package/temp/coverage/base.css +0 -224
  34. package/temp/coverage/block-navigation.js +0 -87
  35. package/temp/coverage/favicon.png +0 -0
  36. package/temp/coverage/index.html +0 -116
  37. package/temp/coverage/index.ts.html +0 -622
  38. package/temp/coverage/lcov-report/base.css +0 -224
  39. package/temp/coverage/lcov-report/block-navigation.js +0 -87
  40. package/temp/coverage/lcov-report/favicon.png +0 -0
  41. package/temp/coverage/lcov-report/index.html +0 -116
  42. package/temp/coverage/lcov-report/index.ts.html +0 -622
  43. package/temp/coverage/lcov-report/prettify.css +0 -1
  44. package/temp/coverage/lcov-report/prettify.js +0 -2
  45. package/temp/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  46. package/temp/coverage/lcov-report/sorter.js +0 -210
  47. package/temp/coverage/lcov.info +0 -209
  48. package/temp/coverage/prettify.css +0 -1
  49. package/temp/coverage/prettify.js +0 -2
  50. package/temp/coverage/sort-arrow-sprite.png +0 -0
  51. package/temp/coverage/sorter.js +0 -210
  52. package/temp/test/jest/haste-map-502913d9c10083bec2207119c45d7122-cd1aa4a0322f87b67f395127aa5e94ac-091f69b131db2c080ae4b15b7b2d4a16 +0 -0
  53. package/temp/test/jest/jest-transform-cache-502913d9c10083bec2207119c45d7122-79ef2876fae7ca75eedb2aa53dc48338/8d/package_8dec8c7ec8d6c787063a4a014e769a65 +0 -53
  54. package/temp/test/jest/jest-transform-cache-502913d9c10083bec2207119c45d7122-79ef2876fae7ca75eedb2aa53dc48338/d5/package_d56b0a8a49dbfccad646fc2e21950522 +0 -203
  55. package/temp/test/jest/jest-transform-cache-502913d9c10083bec2207119c45d7122-79ef2876fae7ca75eedb2aa53dc48338/fc/versions_fc561f31b0dfb504443c5b8531747bfb +0 -31
  56. package/temp/test/jest/perf-cache-502913d9c10083bec2207119c45d7122-da39a3ee5e6b4b0d3255bfef95601890 +0 -1
@@ -1,622 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for 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> 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'>179/179</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'>11/11</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'>5/5</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'>179/179</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>
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>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
246
- <span class="cline-any cline-yes">1x</span>
247
- <span class="cline-any cline-yes">1x</span>
248
- <span class="cline-any cline-yes">1x</span>
249
- <span class="cline-any cline-yes">1x</span>
250
- <span class="cline-any cline-yes">1x</span>
251
- <span class="cline-any cline-yes">1x</span>
252
- <span class="cline-any cline-yes">1x</span>
253
- <span class="cline-any cline-yes">1x</span>
254
- <span class="cline-any cline-yes">1x</span>
255
- <span class="cline-any cline-yes">1x</span>
256
- <span class="cline-any cline-yes">1x</span>
257
- <span class="cline-any cline-yes">1x</span>
258
- <span class="cline-any cline-yes">1x</span>
259
- <span class="cline-any cline-yes">1x</span>
260
- <span class="cline-any cline-yes">1x</span>
261
- <span class="cline-any cline-yes">1x</span>
262
- <span class="cline-any cline-yes">1x</span>
263
- <span class="cline-any cline-yes">1x</span>
264
- <span class="cline-any cline-yes">1x</span>
265
- <span class="cline-any cline-yes">1x</span>
266
- <span class="cline-any cline-yes">1x</span>
267
- <span class="cline-any cline-yes">1x</span>
268
- <span class="cline-any cline-yes">1x</span>
269
- <span class="cline-any cline-yes">1x</span>
270
- <span class="cline-any cline-yes">1x</span>
271
- <span class="cline-any cline-yes">1x</span>
272
- <span class="cline-any cline-yes">1x</span>
273
- <span class="cline-any cline-yes">1x</span>
274
- <span class="cline-any cline-yes">1x</span>
275
- <span class="cline-any cline-yes">1x</span>
276
- <span class="cline-any cline-yes">1x</span>
277
- <span class="cline-any cline-yes">1x</span>
278
- <span class="cline-any cline-yes">1x</span>
279
- <span class="cline-any cline-yes">1x</span>
280
- <span class="cline-any cline-yes">1x</span>
281
- <span class="cline-any cline-yes">1x</span>
282
- <span class="cline-any cline-yes">1x</span>
283
- <span class="cline-any cline-yes">1x</span>
284
- <span class="cline-any cline-yes">1x</span>
285
- <span class="cline-any cline-yes">1x</span>
286
- <span class="cline-any cline-yes">1x</span>
287
- <span class="cline-any cline-yes">1x</span>
288
- <span class="cline-any cline-yes">1x</span>
289
- <span class="cline-any cline-yes">1x</span>
290
- <span class="cline-any cline-yes">1x</span>
291
- <span class="cline-any cline-yes">1x</span>
292
- <span class="cline-any cline-yes">1x</span>
293
- <span class="cline-any cline-yes">1x</span>
294
- <span class="cline-any cline-yes">1x</span>
295
- <span class="cline-any cline-yes">1x</span>
296
- <span class="cline-any cline-yes">1x</span>
297
- <span class="cline-any cline-yes">1x</span>
298
- <span class="cline-any cline-yes">1x</span>
299
- <span class="cline-any cline-yes">1x</span>
300
- <span class="cline-any cline-yes">1x</span>
301
- <span class="cline-any cline-yes">1x</span>
302
- <span class="cline-any cline-yes">1x</span>
303
- <span class="cline-any cline-yes">1x</span>
304
- <span class="cline-any cline-yes">1x</span>
305
- <span class="cline-any cline-yes">1x</span>
306
- <span class="cline-any cline-yes">1x</span>
307
- <span class="cline-any cline-yes">1x</span>
308
- <span class="cline-any cline-yes">1x</span>
309
- <span class="cline-any cline-yes">1x</span>
310
- <span class="cline-any cline-yes">1x</span>
311
- <span class="cline-any cline-yes">1x</span>
312
- <span class="cline-any cline-yes">1x</span>
313
- <span class="cline-any cline-yes">1x</span>
314
- <span class="cline-any cline-yes">1x</span>
315
- <span class="cline-any cline-yes">1x</span>
316
- <span class="cline-any cline-yes">6x</span>
317
- <span class="cline-any cline-yes">6x</span>
318
- <span class="cline-any cline-yes">6x</span>
319
- <span class="cline-any cline-yes">6x</span>
320
- <span class="cline-any cline-yes">6x</span>
321
- <span class="cline-any cline-yes">6x</span>
322
- <span class="cline-any cline-yes">1x</span>
323
- <span class="cline-any cline-yes">1x</span>
324
- <span class="cline-any cline-yes">1x</span>
325
- <span class="cline-any cline-yes">1x</span>
326
- <span class="cline-any cline-yes">1x</span>
327
- <span class="cline-any cline-yes">1x</span>
328
- <span class="cline-any cline-yes">1x</span>
329
- <span class="cline-any cline-yes">1x</span>
330
- <span class="cline-any cline-yes">1x</span>
331
- <span class="cline-any cline-yes">1x</span>
332
- <span class="cline-any cline-yes">8x</span>
333
- <span class="cline-any cline-yes">8x</span>
334
- <span class="cline-any cline-yes">8x</span>
335
- <span class="cline-any cline-yes">8x</span>
336
- <span class="cline-any cline-yes">7x</span>
337
- <span class="cline-any cline-yes">7x</span>
338
- <span class="cline-any cline-yes">1x</span>
339
- <span class="cline-any cline-yes">1x</span>
340
- <span class="cline-any cline-yes">1x</span>
341
- <span class="cline-any cline-yes">1x</span>
342
- <span class="cline-any cline-yes">1x</span>
343
- <span class="cline-any cline-yes">1x</span>
344
- <span class="cline-any cline-yes">1x</span>
345
- <span class="cline-any cline-yes">1x</span>
346
- <span class="cline-any cline-yes">1x</span>
347
- <span class="cline-any cline-yes">1x</span>
348
- <span class="cline-any cline-yes">1x</span>
349
- <span class="cline-any cline-yes">1x</span>
350
- <span class="cline-any cline-yes">1x</span>
351
- <span class="cline-any cline-yes">1x</span>
352
- <span class="cline-any cline-yes">1x</span>
353
- <span class="cline-any cline-yes">1x</span>
354
- <span class="cline-any cline-yes">1x</span>
355
- <span class="cline-any cline-yes">1x</span>
356
- <span class="cline-any cline-yes">1x</span>
357
- <span class="cline-any cline-yes">1x</span>
358
- <span class="cline-any cline-yes">1x</span>
359
- <span class="cline-any cline-yes">1x</span>
360
- <span class="cline-any cline-yes">1x</span>
361
- <span class="cline-any cline-yes">1x</span>
362
- <span class="cline-any cline-yes">1x</span>
363
- <span class="cline-any cline-yes">1x</span>
364
- <span class="cline-any cline-yes">11x</span>
365
- <span class="cline-any cline-yes">11x</span>
366
- <span class="cline-any cline-yes">11x</span>
367
- <span class="cline-any cline-yes">11x</span>
368
- <span class="cline-any cline-yes">11x</span>
369
- <span class="cline-any cline-yes">11x</span>
370
- <span class="cline-any cline-yes">8x</span>
371
- <span class="cline-any cline-yes">11x</span>
372
- <span class="cline-any cline-yes">11x</span>
373
- <span class="cline-any cline-yes">1x</span>
374
- <span class="cline-any cline-yes">1x</span>
375
- <span class="cline-any cline-yes">1x</span>
376
- <span class="cline-any cline-yes">1x</span>
377
- <span class="cline-any cline-yes">1x</span>
378
- <span class="cline-any cline-yes">1x</span>
379
- <span class="cline-any cline-yes">1x</span>
380
- <span class="cline-any cline-yes">1x</span>
381
- <span class="cline-any cline-yes">1x</span>
382
- <span class="cline-any cline-yes">1x</span>
383
- <span class="cline-any cline-yes">1x</span>
384
- <span class="cline-any cline-yes">1x</span>
385
- <span class="cline-any cline-yes">1x</span>
386
- <span class="cline-any cline-yes">1x</span>
387
- <span class="cline-any cline-yes">1x</span>
388
- <span class="cline-any cline-yes">1x</span>
389
- <span class="cline-any cline-yes">1x</span>
390
- <span class="cline-any cline-yes">1x</span>
391
- <span class="cline-any cline-yes">1x</span>
392
- <span class="cline-any cline-yes">4x</span>
393
- <span class="cline-any cline-yes">4x</span>
394
- <span class="cline-any cline-yes">4x</span>
395
- <span class="cline-any cline-yes">4x</span>
396
- <span class="cline-any cline-yes">4x</span>
397
- <span class="cline-any cline-yes">4x</span>
398
- <span class="cline-any cline-yes">1x</span>
399
- <span class="cline-any cline-yes">1x</span>
400
- <span class="cline-any cline-yes">1x</span>
401
- <span class="cline-any cline-yes">1x</span>
402
- <span class="cline-any cline-yes">1x</span>
403
- <span class="cline-any cline-yes">1x</span>
404
- <span class="cline-any cline-yes">1x</span>
405
- <span class="cline-any cline-yes">1x</span>
406
- <span class="cline-any cline-yes">1x</span>
407
- <span class="cline-any cline-yes">1x</span>
408
- <span class="cline-any cline-yes">1x</span>
409
- <span class="cline-any cline-yes">1x</span>
410
- <span class="cline-any cline-yes">1x</span>
411
- <span class="cline-any cline-yes">1x</span>
412
- <span class="cline-any cline-yes">1x</span>
413
- <span class="cline-any cline-yes">1x</span>
414
- <span class="cline-any cline-yes">1x</span>
415
- <span class="cline-any cline-yes">1x</span>
416
- <span class="cline-any cline-yes">1x</span>
417
- <span class="cline-any cline-yes">1x</span>
418
- <span class="cline-any cline-yes">6x</span>
419
- <span class="cline-any cline-yes">6x</span>
420
- <span class="cline-any cline-yes">6x</span>
421
- <span class="cline-any cline-yes">6x</span>
422
- <span class="cline-any cline-yes">6x</span>
423
- <span class="cline-any cline-yes">6x</span>
424
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">/**
425
- * `@fgv/ts-extras-transformers` — Result-integration boundary over `@huggingface/transformers`
426
- * (Node-side).
427
- *
428
- * A thin facade that wraps `@huggingface/transformers` calls in `Result&lt;T&gt;` from `@fgv/ts-utils`,
429
- * mirroring the discipline established by `@fgv/ts-extras-webauthn`: one-line `captureAsyncResult`
430
- * wrappers around upstream primitives with **no opinionated orchestration** above the boundary.
431
- *
432
- * **In scope:** `loadPipeline`, `classify`, `classifyAll`, `embed` — the surface needed by the
433
- * B-3/B-4a local-classifier and embedding scenarios. `generate` is explicitly deferred until a
434
- * concrete consumer use case surfaces (see `phase-b2-result.md`).
435
- *
436
- * **Explicitly NOT in scope:**
437
- * - Pipeline cache / lifecycle management
438
- * - Model registry or download management
439
- * - GPU/CPU device selection policy
440
- * - Quantization selection
441
- * - Embedding-store integration
442
- * - Classifier label allowlists
443
- * - Request batching
444
- * - Pipeline dispose semantics
445
- *
446
- * For any of the above, use `@huggingface/transformers` directly (with `captureAsyncResult` for
447
- * your own Result wrapping).
448
- *
449
- * @packageDocumentation
450
- */
451
- &nbsp;
452
- import {
453
- pipeline as _pipeline,
454
- type TextClassificationPipeline,
455
- type TextClassificationOutput,
456
- type FeatureExtractionPipeline,
457
- type Tensor,
458
- type AllTasks,
459
- type PipelineType
460
- } from '@huggingface/transformers';
461
- import { captureAsyncResult, type Result } from '@fgv/ts-utils';
462
- &nbsp;
463
- export type {
464
- TextClassificationPipeline,
465
- TextClassificationOutput,
466
- FeatureExtractionPipeline,
467
- Tensor,
468
- AllTasks,
469
- PipelineType
470
- };
471
- &nbsp;
472
- export type { PretrainedModelOptions } from '@huggingface/transformers';
473
- &nbsp;
474
- /**
475
- * Result-integration wrapper around `@huggingface/transformers`'s `pipeline` factory.
476
- * Loads a model and returns a ready-to-use pipeline object.
477
- *
478
- * The returned pipeline is the upstream `AllTasks[T]` instance — consumers retain full access
479
- * to the upstream API. Lifecycle management (caching, disposal, GPU/CPU selection) is the
480
- * consumer's responsibility.
481
- *
482
- * Returns `Promise&lt;Result&lt;AllTasks[T]&gt;&gt;`; upstream errors (network, model-not-found, ONNX
483
- * initialization failures) are captured as `Failure` with the original message.
484
- *
485
- * @param task - The pipeline task type (e.g. `'text-classification'`, `'feature-extraction'`).
486
- * @param model - The model identifier (HuggingFace Hub ID or local path). If omitted, the
487
- * upstream default for the task is used.
488
- * @param options - Optional `PretrainedModelOptions` (device, dtype, cache_dir, etc.). Passed
489
- * through verbatim to the upstream `pipeline()` call.
490
- *
491
- * @see https://huggingface.co/docs/transformers.js
492
- * @public
493
- */
494
- export async function loadPipeline&lt;T extends PipelineType&gt;(
495
- task: T,
496
- model?: string,
497
- options?: Parameters&lt;typeof _pipeline&gt;[2]
498
- ): Promise&lt;Result&lt;AllTasks[T]&gt;&gt; {
499
- return captureAsyncResult(() =&gt; _pipeline(task, model, options));
500
- }
501
- &nbsp;
502
- /**
503
- * Normalises the upstream pipeline's output to a flat `TextClassificationOutput`.
504
- *
505
- * The upstream `TextClassificationPipeline` has an overloaded call signature: a single-string
506
- * input returns `TextClassificationOutput` (flat array), while a string-array input returns
507
- * `TextClassificationOutput[]` (array-of-arrays). Since `classify` always passes a single
508
- * string, the flat-array path is the live path. The nested-array branch is defensive and
509
- * ensures consumers always receive a flat array even if the upstream type union leaks through.
510
- */
511
- function flattenIfNeeded(
512
- result: TextClassificationOutput | TextClassificationOutput[]
513
- ): TextClassificationOutput {
514
- if (Array.isArray(result) &amp;&amp; result.length &gt; 0 &amp;&amp; !Array.isArray(result[0])) {
515
- return result as TextClassificationOutput;
516
- }
517
- // Defensive: if somehow an array-of-arrays came back, flatten one level.
518
- return (result as unknown as TextClassificationOutput[]).flat();
519
- }
520
- &nbsp;
521
- /**
522
- * Result-integration wrapper that invokes a `TextClassificationPipeline` on a single text input.
523
- * Returns the classification results as a flat `TextClassificationOutput` (array of
524
- * `{ label: string; score: number }` entries).
525
- *
526
- * Callers should retrieve the pipeline via `loadPipeline('text-classification', modelId)` (or the
527
- * `'sentiment-analysis'` alias). This helper always passes a single string to the upstream
528
- * pipeline and normalises the result to `TextClassificationOutput` so consumers don't need to
529
- * handle the `string | string[]` overload union.
530
- *
531
- * Returns `Promise&lt;Result&lt;TextClassificationOutput&gt;&gt;`; upstream errors (inference failures,
532
- * tokenisation errors) are captured as `Failure` with the original message.
533
- *
534
- * @param classifier - A `TextClassificationPipeline` obtained from `loadPipeline`.
535
- * @param text - The text to classify.
536
- * @param options - Optional upstream classification options (e.g. `{ top_k: null }` to return
537
- * all labels). Passed through verbatim to the pipeline call.
538
- *
539
- * @see https://huggingface.co/docs/transformers.js
540
- * @public
541
- */
542
- export async function classify(
543
- classifier: TextClassificationPipeline,
544
- text: string,
545
- options?: Parameters&lt;TextClassificationPipeline&gt;[1]
546
- ): Promise&lt;Result&lt;TextClassificationOutput&gt;&gt; {
547
- return captureAsyncResult(async () =&gt; {
548
- const result = await classifier(text, options);
549
- return flattenIfNeeded(result);
550
- });
551
- }
552
- &nbsp;
553
- /**
554
- * Convenience wrapper over `classify` that forces `top_k: null` so the full per-label vector
555
- * is returned for every call. Callers no longer need to remember to pass `{ top_k: null }`.
556
- *
557
- * Any caller-supplied options are honoured except `top_k`, which is always overridden to `null`.
558
- *
559
- * Returns `Promise&lt;Result&lt;TextClassificationOutput&gt;&gt;`; upstream errors are captured as `Failure`
560
- * with the original message.
561
- *
562
- * @param classifier - A `TextClassificationPipeline` obtained from `loadPipeline`.
563
- * @param text - The text to classify.
564
- * @param options - Optional upstream classification options. `top_k` is always set to `null`
565
- * regardless of any value supplied here.
566
- *
567
- * @see https://huggingface.co/docs/transformers.js
568
- * @public
569
- */
570
- export async function classifyAll(
571
- classifier: TextClassificationPipeline,
572
- text: string,
573
- options?: Parameters&lt;TextClassificationPipeline&gt;[1]
574
- ): Promise&lt;Result&lt;TextClassificationOutput&gt;&gt; {
575
- return classify(classifier, text, { ...options, top_k: null });
576
- }
577
- &nbsp;
578
- /**
579
- * Result-integration wrapper that invokes a `FeatureExtractionPipeline` on a text input.
580
- * Returns the upstream `Tensor` Result-wrapped — no pooling, normalisation, or reshaping is
581
- * applied. Callers receive the raw output and are responsible for any downstream processing.
582
- *
583
- * Callers should retrieve the extractor via `loadPipeline('feature-extraction', modelId)`.
584
- *
585
- * Returns `Promise&lt;Result&lt;Tensor&gt;&gt;`; upstream errors (inference failures, tokenisation errors)
586
- * are captured as `Failure` with the original message.
587
- *
588
- * @param extractor - A `FeatureExtractionPipeline` obtained from `loadPipeline`.
589
- * @param text - The text (or texts) to embed.
590
- * @param options - Optional upstream feature-extraction options (e.g. `pooling`, `normalize`).
591
- * Passed through verbatim to the pipeline call.
592
- *
593
- * @see https://huggingface.co/docs/transformers.js
594
- * @public
595
- */
596
- export async function embed(
597
- extractor: FeatureExtractionPipeline,
598
- text: string | string[],
599
- options?: Parameters&lt;FeatureExtractionPipeline['_call']&gt;[1]
600
- ): Promise&lt;Result&lt;Tensor&gt;&gt; {
601
- return captureAsyncResult(() =&gt; extractor(text, options));
602
- }
603
- &nbsp;</pre></td></tr></table></pre>
604
-
605
- <div class='push'></div><!-- for sticky footer -->
606
- </div><!-- /wrapper -->
607
- <div class='footer quiet pad2 space-top1 center small'>
608
- Code coverage generated by
609
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
610
- at 2026-05-24T20:18:47.283Z
611
- </div>
612
- <script src="prettify.js"></script>
613
- <script>
614
- window.onload = function () {
615
- prettyPrint();
616
- };
617
- </script>
618
- <script src="sorter.js"></script>
619
- <script src="block-navigation.js"></script>
620
- </body>
621
- </html>
622
-