scats 1.4.0-dev → 1.4.1-dev

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 (83) hide show
  1. package/dist/abstract-map.d.ts +4 -4
  2. package/dist/abstract-map.js +12 -15
  3. package/dist/abstract-set.d.ts +2 -2
  4. package/dist/abstract-set.js +6 -9
  5. package/dist/array-iterable.d.ts +1 -1
  6. package/dist/array-iterable.js +22 -26
  7. package/dist/collection.d.ts +4 -4
  8. package/dist/collection.js +50 -71
  9. package/dist/either.d.ts +4 -4
  10. package/dist/either.js +31 -39
  11. package/dist/hashmap.d.ts +2 -2
  12. package/dist/hashmap.js +9 -12
  13. package/dist/hashset.d.ts +3 -3
  14. package/dist/hashset.js +6 -11
  15. package/dist/index.d.ts +8 -8
  16. package/dist/index.js +9 -13
  17. package/dist/mappable.js +1 -2
  18. package/dist/mutable/hashmap.d.ts +3 -3
  19. package/dist/mutable/hashmap.js +3 -8
  20. package/dist/mutable/hashset.d.ts +2 -2
  21. package/dist/mutable/hashset.js +3 -8
  22. package/dist/mutable.d.ts +3 -3
  23. package/dist/mutable.js +3 -9
  24. package/dist/option.d.ts +6 -6
  25. package/dist/option.js +34 -44
  26. package/dist/try.d.ts +3 -3
  27. package/dist/try.js +27 -37
  28. package/dist/util.d.ts +2 -2
  29. package/dist/util.js +41 -50
  30. package/package.json +1 -1
  31. package/.eslintrc.cjs +0 -44
  32. package/coverage/clover.xml +0 -937
  33. package/coverage/coverage-final.json +0 -15
  34. package/coverage/lcov-report/array-iterable.ts.html +0 -1709
  35. package/coverage/lcov-report/base.css +0 -224
  36. package/coverage/lcov-report/block-navigation.js +0 -79
  37. package/coverage/lcov-report/collection.ts.html +0 -1475
  38. package/coverage/lcov-report/either.ts.html +0 -1934
  39. package/coverage/lcov-report/favicon.png +0 -0
  40. package/coverage/lcov-report/hashmap.ts.html +0 -527
  41. package/coverage/lcov-report/hashset.ts.html +0 -392
  42. package/coverage/lcov-report/index.html +0 -126
  43. package/coverage/lcov-report/index.ts.html +0 -101
  44. package/coverage/lcov-report/option.ts.html +0 -758
  45. package/coverage/lcov-report/prettify.css +0 -1
  46. package/coverage/lcov-report/prettify.js +0 -2
  47. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  48. package/coverage/lcov-report/sorter.js +0 -170
  49. package/coverage/lcov-report/src/abstract-map.ts.html +0 -317
  50. package/coverage/lcov-report/src/abstract-set.ts.html +0 -200
  51. package/coverage/lcov-report/src/array-iterable.ts.html +0 -1751
  52. package/coverage/lcov-report/src/collection.ts.html +0 -1778
  53. package/coverage/lcov-report/src/either.ts.html +0 -1934
  54. package/coverage/lcov-report/src/hashmap.ts.html +0 -428
  55. package/coverage/lcov-report/src/hashset.ts.html +0 -482
  56. package/coverage/lcov-report/src/index.html +0 -276
  57. package/coverage/lcov-report/src/index.ts.html +0 -110
  58. package/coverage/lcov-report/src/mutable/hashmap.ts.html +0 -821
  59. package/coverage/lcov-report/src/mutable/hashset.ts.html +0 -611
  60. package/coverage/lcov-report/src/mutable/index.html +0 -126
  61. package/coverage/lcov-report/src/mutable.ts.html +0 -89
  62. package/coverage/lcov-report/src/option.ts.html +0 -758
  63. package/coverage/lcov-report/src/try.ts.html +0 -923
  64. package/coverage/lcov-report/src/util.ts.html +0 -518
  65. package/coverage/lcov-report/try.ts.html +0 -923
  66. package/coverage/lcov-report/util.ts.html +0 -518
  67. package/coverage/lcov.info +0 -2223
  68. package/jest.config.js +0 -32
  69. package/src/abstract-map.ts +0 -79
  70. package/src/abstract-set.ts +0 -40
  71. package/src/array-iterable.ts +0 -557
  72. package/src/collection.ts +0 -619
  73. package/src/either.ts +0 -618
  74. package/src/hashmap.ts +0 -116
  75. package/src/hashset.ts +0 -134
  76. package/src/index.ts +0 -10
  77. package/src/mappable.ts +0 -8
  78. package/src/mutable/hashmap.ts +0 -247
  79. package/src/mutable/hashset.ts +0 -177
  80. package/src/mutable.ts +0 -3
  81. package/src/option.ts +0 -226
  82. package/src/try.ts +0 -281
  83. package/src/util.ts +0 -146
@@ -1,923 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for src/try.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> try.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'>91/91</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">83.33% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>5/6</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'>53/53</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'>90/90</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- </div>
58
- <div class='status-line high'></div>
59
- <pre><table class="coverage">
60
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
61
- <a name='L2'></a><a href='#L2'>2</a>
62
- <a name='L3'></a><a href='#L3'>3</a>
63
- <a name='L4'></a><a href='#L4'>4</a>
64
- <a name='L5'></a><a href='#L5'>5</a>
65
- <a name='L6'></a><a href='#L6'>6</a>
66
- <a name='L7'></a><a href='#L7'>7</a>
67
- <a name='L8'></a><a href='#L8'>8</a>
68
- <a name='L9'></a><a href='#L9'>9</a>
69
- <a name='L10'></a><a href='#L10'>10</a>
70
- <a name='L11'></a><a href='#L11'>11</a>
71
- <a name='L12'></a><a href='#L12'>12</a>
72
- <a name='L13'></a><a href='#L13'>13</a>
73
- <a name='L14'></a><a href='#L14'>14</a>
74
- <a name='L15'></a><a href='#L15'>15</a>
75
- <a name='L16'></a><a href='#L16'>16</a>
76
- <a name='L17'></a><a href='#L17'>17</a>
77
- <a name='L18'></a><a href='#L18'>18</a>
78
- <a name='L19'></a><a href='#L19'>19</a>
79
- <a name='L20'></a><a href='#L20'>20</a>
80
- <a name='L21'></a><a href='#L21'>21</a>
81
- <a name='L22'></a><a href='#L22'>22</a>
82
- <a name='L23'></a><a href='#L23'>23</a>
83
- <a name='L24'></a><a href='#L24'>24</a>
84
- <a name='L25'></a><a href='#L25'>25</a>
85
- <a name='L26'></a><a href='#L26'>26</a>
86
- <a name='L27'></a><a href='#L27'>27</a>
87
- <a name='L28'></a><a href='#L28'>28</a>
88
- <a name='L29'></a><a href='#L29'>29</a>
89
- <a name='L30'></a><a href='#L30'>30</a>
90
- <a name='L31'></a><a href='#L31'>31</a>
91
- <a name='L32'></a><a href='#L32'>32</a>
92
- <a name='L33'></a><a href='#L33'>33</a>
93
- <a name='L34'></a><a href='#L34'>34</a>
94
- <a name='L35'></a><a href='#L35'>35</a>
95
- <a name='L36'></a><a href='#L36'>36</a>
96
- <a name='L37'></a><a href='#L37'>37</a>
97
- <a name='L38'></a><a href='#L38'>38</a>
98
- <a name='L39'></a><a href='#L39'>39</a>
99
- <a name='L40'></a><a href='#L40'>40</a>
100
- <a name='L41'></a><a href='#L41'>41</a>
101
- <a name='L42'></a><a href='#L42'>42</a>
102
- <a name='L43'></a><a href='#L43'>43</a>
103
- <a name='L44'></a><a href='#L44'>44</a>
104
- <a name='L45'></a><a href='#L45'>45</a>
105
- <a name='L46'></a><a href='#L46'>46</a>
106
- <a name='L47'></a><a href='#L47'>47</a>
107
- <a name='L48'></a><a href='#L48'>48</a>
108
- <a name='L49'></a><a href='#L49'>49</a>
109
- <a name='L50'></a><a href='#L50'>50</a>
110
- <a name='L51'></a><a href='#L51'>51</a>
111
- <a name='L52'></a><a href='#L52'>52</a>
112
- <a name='L53'></a><a href='#L53'>53</a>
113
- <a name='L54'></a><a href='#L54'>54</a>
114
- <a name='L55'></a><a href='#L55'>55</a>
115
- <a name='L56'></a><a href='#L56'>56</a>
116
- <a name='L57'></a><a href='#L57'>57</a>
117
- <a name='L58'></a><a href='#L58'>58</a>
118
- <a name='L59'></a><a href='#L59'>59</a>
119
- <a name='L60'></a><a href='#L60'>60</a>
120
- <a name='L61'></a><a href='#L61'>61</a>
121
- <a name='L62'></a><a href='#L62'>62</a>
122
- <a name='L63'></a><a href='#L63'>63</a>
123
- <a name='L64'></a><a href='#L64'>64</a>
124
- <a name='L65'></a><a href='#L65'>65</a>
125
- <a name='L66'></a><a href='#L66'>66</a>
126
- <a name='L67'></a><a href='#L67'>67</a>
127
- <a name='L68'></a><a href='#L68'>68</a>
128
- <a name='L69'></a><a href='#L69'>69</a>
129
- <a name='L70'></a><a href='#L70'>70</a>
130
- <a name='L71'></a><a href='#L71'>71</a>
131
- <a name='L72'></a><a href='#L72'>72</a>
132
- <a name='L73'></a><a href='#L73'>73</a>
133
- <a name='L74'></a><a href='#L74'>74</a>
134
- <a name='L75'></a><a href='#L75'>75</a>
135
- <a name='L76'></a><a href='#L76'>76</a>
136
- <a name='L77'></a><a href='#L77'>77</a>
137
- <a name='L78'></a><a href='#L78'>78</a>
138
- <a name='L79'></a><a href='#L79'>79</a>
139
- <a name='L80'></a><a href='#L80'>80</a>
140
- <a name='L81'></a><a href='#L81'>81</a>
141
- <a name='L82'></a><a href='#L82'>82</a>
142
- <a name='L83'></a><a href='#L83'>83</a>
143
- <a name='L84'></a><a href='#L84'>84</a>
144
- <a name='L85'></a><a href='#L85'>85</a>
145
- <a name='L86'></a><a href='#L86'>86</a>
146
- <a name='L87'></a><a href='#L87'>87</a>
147
- <a name='L88'></a><a href='#L88'>88</a>
148
- <a name='L89'></a><a href='#L89'>89</a>
149
- <a name='L90'></a><a href='#L90'>90</a>
150
- <a name='L91'></a><a href='#L91'>91</a>
151
- <a name='L92'></a><a href='#L92'>92</a>
152
- <a name='L93'></a><a href='#L93'>93</a>
153
- <a name='L94'></a><a href='#L94'>94</a>
154
- <a name='L95'></a><a href='#L95'>95</a>
155
- <a name='L96'></a><a href='#L96'>96</a>
156
- <a name='L97'></a><a href='#L97'>97</a>
157
- <a name='L98'></a><a href='#L98'>98</a>
158
- <a name='L99'></a><a href='#L99'>99</a>
159
- <a name='L100'></a><a href='#L100'>100</a>
160
- <a name='L101'></a><a href='#L101'>101</a>
161
- <a name='L102'></a><a href='#L102'>102</a>
162
- <a name='L103'></a><a href='#L103'>103</a>
163
- <a name='L104'></a><a href='#L104'>104</a>
164
- <a name='L105'></a><a href='#L105'>105</a>
165
- <a name='L106'></a><a href='#L106'>106</a>
166
- <a name='L107'></a><a href='#L107'>107</a>
167
- <a name='L108'></a><a href='#L108'>108</a>
168
- <a name='L109'></a><a href='#L109'>109</a>
169
- <a name='L110'></a><a href='#L110'>110</a>
170
- <a name='L111'></a><a href='#L111'>111</a>
171
- <a name='L112'></a><a href='#L112'>112</a>
172
- <a name='L113'></a><a href='#L113'>113</a>
173
- <a name='L114'></a><a href='#L114'>114</a>
174
- <a name='L115'></a><a href='#L115'>115</a>
175
- <a name='L116'></a><a href='#L116'>116</a>
176
- <a name='L117'></a><a href='#L117'>117</a>
177
- <a name='L118'></a><a href='#L118'>118</a>
178
- <a name='L119'></a><a href='#L119'>119</a>
179
- <a name='L120'></a><a href='#L120'>120</a>
180
- <a name='L121'></a><a href='#L121'>121</a>
181
- <a name='L122'></a><a href='#L122'>122</a>
182
- <a name='L123'></a><a href='#L123'>123</a>
183
- <a name='L124'></a><a href='#L124'>124</a>
184
- <a name='L125'></a><a href='#L125'>125</a>
185
- <a name='L126'></a><a href='#L126'>126</a>
186
- <a name='L127'></a><a href='#L127'>127</a>
187
- <a name='L128'></a><a href='#L128'>128</a>
188
- <a name='L129'></a><a href='#L129'>129</a>
189
- <a name='L130'></a><a href='#L130'>130</a>
190
- <a name='L131'></a><a href='#L131'>131</a>
191
- <a name='L132'></a><a href='#L132'>132</a>
192
- <a name='L133'></a><a href='#L133'>133</a>
193
- <a name='L134'></a><a href='#L134'>134</a>
194
- <a name='L135'></a><a href='#L135'>135</a>
195
- <a name='L136'></a><a href='#L136'>136</a>
196
- <a name='L137'></a><a href='#L137'>137</a>
197
- <a name='L138'></a><a href='#L138'>138</a>
198
- <a name='L139'></a><a href='#L139'>139</a>
199
- <a name='L140'></a><a href='#L140'>140</a>
200
- <a name='L141'></a><a href='#L141'>141</a>
201
- <a name='L142'></a><a href='#L142'>142</a>
202
- <a name='L143'></a><a href='#L143'>143</a>
203
- <a name='L144'></a><a href='#L144'>144</a>
204
- <a name='L145'></a><a href='#L145'>145</a>
205
- <a name='L146'></a><a href='#L146'>146</a>
206
- <a name='L147'></a><a href='#L147'>147</a>
207
- <a name='L148'></a><a href='#L148'>148</a>
208
- <a name='L149'></a><a href='#L149'>149</a>
209
- <a name='L150'></a><a href='#L150'>150</a>
210
- <a name='L151'></a><a href='#L151'>151</a>
211
- <a name='L152'></a><a href='#L152'>152</a>
212
- <a name='L153'></a><a href='#L153'>153</a>
213
- <a name='L154'></a><a href='#L154'>154</a>
214
- <a name='L155'></a><a href='#L155'>155</a>
215
- <a name='L156'></a><a href='#L156'>156</a>
216
- <a name='L157'></a><a href='#L157'>157</a>
217
- <a name='L158'></a><a href='#L158'>158</a>
218
- <a name='L159'></a><a href='#L159'>159</a>
219
- <a name='L160'></a><a href='#L160'>160</a>
220
- <a name='L161'></a><a href='#L161'>161</a>
221
- <a name='L162'></a><a href='#L162'>162</a>
222
- <a name='L163'></a><a href='#L163'>163</a>
223
- <a name='L164'></a><a href='#L164'>164</a>
224
- <a name='L165'></a><a href='#L165'>165</a>
225
- <a name='L166'></a><a href='#L166'>166</a>
226
- <a name='L167'></a><a href='#L167'>167</a>
227
- <a name='L168'></a><a href='#L168'>168</a>
228
- <a name='L169'></a><a href='#L169'>169</a>
229
- <a name='L170'></a><a href='#L170'>170</a>
230
- <a name='L171'></a><a href='#L171'>171</a>
231
- <a name='L172'></a><a href='#L172'>172</a>
232
- <a name='L173'></a><a href='#L173'>173</a>
233
- <a name='L174'></a><a href='#L174'>174</a>
234
- <a name='L175'></a><a href='#L175'>175</a>
235
- <a name='L176'></a><a href='#L176'>176</a>
236
- <a name='L177'></a><a href='#L177'>177</a>
237
- <a name='L178'></a><a href='#L178'>178</a>
238
- <a name='L179'></a><a href='#L179'>179</a>
239
- <a name='L180'></a><a href='#L180'>180</a>
240
- <a name='L181'></a><a href='#L181'>181</a>
241
- <a name='L182'></a><a href='#L182'>182</a>
242
- <a name='L183'></a><a href='#L183'>183</a>
243
- <a name='L184'></a><a href='#L184'>184</a>
244
- <a name='L185'></a><a href='#L185'>185</a>
245
- <a name='L186'></a><a href='#L186'>186</a>
246
- <a name='L187'></a><a href='#L187'>187</a>
247
- <a name='L188'></a><a href='#L188'>188</a>
248
- <a name='L189'></a><a href='#L189'>189</a>
249
- <a name='L190'></a><a href='#L190'>190</a>
250
- <a name='L191'></a><a href='#L191'>191</a>
251
- <a name='L192'></a><a href='#L192'>192</a>
252
- <a name='L193'></a><a href='#L193'>193</a>
253
- <a name='L194'></a><a href='#L194'>194</a>
254
- <a name='L195'></a><a href='#L195'>195</a>
255
- <a name='L196'></a><a href='#L196'>196</a>
256
- <a name='L197'></a><a href='#L197'>197</a>
257
- <a name='L198'></a><a href='#L198'>198</a>
258
- <a name='L199'></a><a href='#L199'>199</a>
259
- <a name='L200'></a><a href='#L200'>200</a>
260
- <a name='L201'></a><a href='#L201'>201</a>
261
- <a name='L202'></a><a href='#L202'>202</a>
262
- <a name='L203'></a><a href='#L203'>203</a>
263
- <a name='L204'></a><a href='#L204'>204</a>
264
- <a name='L205'></a><a href='#L205'>205</a>
265
- <a name='L206'></a><a href='#L206'>206</a>
266
- <a name='L207'></a><a href='#L207'>207</a>
267
- <a name='L208'></a><a href='#L208'>208</a>
268
- <a name='L209'></a><a href='#L209'>209</a>
269
- <a name='L210'></a><a href='#L210'>210</a>
270
- <a name='L211'></a><a href='#L211'>211</a>
271
- <a name='L212'></a><a href='#L212'>212</a>
272
- <a name='L213'></a><a href='#L213'>213</a>
273
- <a name='L214'></a><a href='#L214'>214</a>
274
- <a name='L215'></a><a href='#L215'>215</a>
275
- <a name='L216'></a><a href='#L216'>216</a>
276
- <a name='L217'></a><a href='#L217'>217</a>
277
- <a name='L218'></a><a href='#L218'>218</a>
278
- <a name='L219'></a><a href='#L219'>219</a>
279
- <a name='L220'></a><a href='#L220'>220</a>
280
- <a name='L221'></a><a href='#L221'>221</a>
281
- <a name='L222'></a><a href='#L222'>222</a>
282
- <a name='L223'></a><a href='#L223'>223</a>
283
- <a name='L224'></a><a href='#L224'>224</a>
284
- <a name='L225'></a><a href='#L225'>225</a>
285
- <a name='L226'></a><a href='#L226'>226</a>
286
- <a name='L227'></a><a href='#L227'>227</a>
287
- <a name='L228'></a><a href='#L228'>228</a>
288
- <a name='L229'></a><a href='#L229'>229</a>
289
- <a name='L230'></a><a href='#L230'>230</a>
290
- <a name='L231'></a><a href='#L231'>231</a>
291
- <a name='L232'></a><a href='#L232'>232</a>
292
- <a name='L233'></a><a href='#L233'>233</a>
293
- <a name='L234'></a><a href='#L234'>234</a>
294
- <a name='L235'></a><a href='#L235'>235</a>
295
- <a name='L236'></a><a href='#L236'>236</a>
296
- <a name='L237'></a><a href='#L237'>237</a>
297
- <a name='L238'></a><a href='#L238'>238</a>
298
- <a name='L239'></a><a href='#L239'>239</a>
299
- <a name='L240'></a><a href='#L240'>240</a>
300
- <a name='L241'></a><a href='#L241'>241</a>
301
- <a name='L242'></a><a href='#L242'>242</a>
302
- <a name='L243'></a><a href='#L243'>243</a>
303
- <a name='L244'></a><a href='#L244'>244</a>
304
- <a name='L245'></a><a href='#L245'>245</a>
305
- <a name='L246'></a><a href='#L246'>246</a>
306
- <a name='L247'></a><a href='#L247'>247</a>
307
- <a name='L248'></a><a href='#L248'>248</a>
308
- <a name='L249'></a><a href='#L249'>249</a>
309
- <a name='L250'></a><a href='#L250'>250</a>
310
- <a name='L251'></a><a href='#L251'>251</a>
311
- <a name='L252'></a><a href='#L252'>252</a>
312
- <a name='L253'></a><a href='#L253'>253</a>
313
- <a name='L254'></a><a href='#L254'>254</a>
314
- <a name='L255'></a><a href='#L255'>255</a>
315
- <a name='L256'></a><a href='#L256'>256</a>
316
- <a name='L257'></a><a href='#L257'>257</a>
317
- <a name='L258'></a><a href='#L258'>258</a>
318
- <a name='L259'></a><a href='#L259'>259</a>
319
- <a name='L260'></a><a href='#L260'>260</a>
320
- <a name='L261'></a><a href='#L261'>261</a>
321
- <a name='L262'></a><a href='#L262'>262</a>
322
- <a name='L263'></a><a href='#L263'>263</a>
323
- <a name='L264'></a><a href='#L264'>264</a>
324
- <a name='L265'></a><a href='#L265'>265</a>
325
- <a name='L266'></a><a href='#L266'>266</a>
326
- <a name='L267'></a><a href='#L267'>267</a>
327
- <a name='L268'></a><a href='#L268'>268</a>
328
- <a name='L269'></a><a href='#L269'>269</a>
329
- <a name='L270'></a><a href='#L270'>270</a>
330
- <a name='L271'></a><a href='#L271'>271</a>
331
- <a name='L272'></a><a href='#L272'>272</a>
332
- <a name='L273'></a><a href='#L273'>273</a>
333
- <a name='L274'></a><a href='#L274'>274</a>
334
- <a name='L275'></a><a href='#L275'>275</a>
335
- <a name='L276'></a><a href='#L276'>276</a>
336
- <a name='L277'></a><a href='#L277'>277</a>
337
- <a name='L278'></a><a href='#L278'>278</a>
338
- <a name='L279'></a><a href='#L279'>279</a>
339
- <a name='L280'></a><a href='#L280'>280</a>
340
- <a name='L281'></a><a href='#L281'>281</a>
341
- <a name='L282'></a><a href='#L282'>282</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">11x</span>
342
- <span class="cline-any cline-yes">11x</span>
343
- <span class="cline-any cline-yes">11x</span>
344
- <span class="cline-any cline-neutral">&nbsp;</span>
345
- <span class="cline-any cline-neutral">&nbsp;</span>
346
- <span class="cline-any cline-neutral">&nbsp;</span>
347
- <span class="cline-any cline-neutral">&nbsp;</span>
348
- <span class="cline-any cline-neutral">&nbsp;</span>
349
- <span class="cline-any cline-neutral">&nbsp;</span>
350
- <span class="cline-any cline-neutral">&nbsp;</span>
351
- <span class="cline-any cline-neutral">&nbsp;</span>
352
- <span class="cline-any cline-yes">11x</span>
353
- <span class="cline-any cline-neutral">&nbsp;</span>
354
- <span class="cline-any cline-neutral">&nbsp;</span>
355
- <span class="cline-any cline-neutral">&nbsp;</span>
356
- <span class="cline-any cline-neutral">&nbsp;</span>
357
- <span class="cline-any cline-neutral">&nbsp;</span>
358
- <span class="cline-any cline-neutral">&nbsp;</span>
359
- <span class="cline-any cline-neutral">&nbsp;</span>
360
- <span class="cline-any cline-neutral">&nbsp;</span>
361
- <span class="cline-any cline-neutral">&nbsp;</span>
362
- <span class="cline-any cline-neutral">&nbsp;</span>
363
- <span class="cline-any cline-neutral">&nbsp;</span>
364
- <span class="cline-any cline-neutral">&nbsp;</span>
365
- <span class="cline-any cline-neutral">&nbsp;</span>
366
- <span class="cline-any cline-neutral">&nbsp;</span>
367
- <span class="cline-any cline-neutral">&nbsp;</span>
368
- <span class="cline-any cline-neutral">&nbsp;</span>
369
- <span class="cline-any cline-neutral">&nbsp;</span>
370
- <span class="cline-any cline-neutral">&nbsp;</span>
371
- <span class="cline-any cline-neutral">&nbsp;</span>
372
- <span class="cline-any cline-neutral">&nbsp;</span>
373
- <span class="cline-any cline-yes">4x</span>
374
- <span class="cline-any cline-yes">2x</span>
375
- <span class="cline-any cline-yes">2x</span>
376
- <span class="cline-any cline-neutral">&nbsp;</span>
377
- <span class="cline-any cline-neutral">&nbsp;</span>
378
- <span class="cline-any cline-neutral">&nbsp;</span>
379
- <span class="cline-any cline-neutral">&nbsp;</span>
380
- <span class="cline-any cline-yes">13x</span>
381
- <span class="cline-any cline-yes">10x</span>
382
- <span class="cline-any cline-yes">3x</span>
383
- <span class="cline-any cline-neutral">&nbsp;</span>
384
- <span class="cline-any cline-neutral">&nbsp;</span>
385
- <span class="cline-any cline-neutral">&nbsp;</span>
386
- <span class="cline-any cline-neutral">&nbsp;</span>
387
- <span class="cline-any cline-yes">2x</span>
388
- <span class="cline-any cline-yes">1x</span>
389
- <span class="cline-any cline-neutral">&nbsp;</span>
390
- <span class="cline-any cline-neutral">&nbsp;</span>
391
- <span class="cline-any cline-neutral">&nbsp;</span>
392
- <span class="cline-any cline-neutral">&nbsp;</span>
393
- <span class="cline-any cline-yes">3x</span>
394
- <span class="cline-any cline-yes">1x</span>
395
- <span class="cline-any cline-neutral">&nbsp;</span>
396
- <span class="cline-any cline-yes">2x</span>
397
- <span class="cline-any cline-yes">2x</span>
398
- <span class="cline-any cline-yes">1x</span>
399
- <span class="cline-any cline-neutral">&nbsp;</span>
400
- <span class="cline-any cline-yes">1x</span>
401
- <span class="cline-any cline-neutral">&nbsp;</span>
402
- <span class="cline-any cline-neutral">&nbsp;</span>
403
- <span class="cline-any cline-neutral">&nbsp;</span>
404
- <span class="cline-any cline-neutral">&nbsp;</span>
405
- <span class="cline-any cline-neutral">&nbsp;</span>
406
- <span class="cline-any cline-neutral">&nbsp;</span>
407
- <span class="cline-any cline-yes">2x</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-neutral">&nbsp;</span>
411
- <span class="cline-any cline-neutral">&nbsp;</span>
412
- <span class="cline-any cline-neutral">&nbsp;</span>
413
- <span class="cline-any cline-neutral">&nbsp;</span>
414
- <span class="cline-any cline-neutral">&nbsp;</span>
415
- <span class="cline-any cline-neutral">&nbsp;</span>
416
- <span class="cline-any cline-neutral">&nbsp;</span>
417
- <span class="cline-any cline-neutral">&nbsp;</span>
418
- <span class="cline-any cline-yes">11x</span>
419
- <span class="cline-any cline-neutral">&nbsp;</span>
420
- <span class="cline-any cline-yes">98x</span>
421
- <span class="cline-any cline-yes">98x</span>
422
- <span class="cline-any cline-neutral">&nbsp;</span>
423
- <span class="cline-any cline-yes">98x</span>
424
- <span class="cline-any cline-yes">98x</span>
425
- <span class="cline-any cline-neutral">&nbsp;</span>
426
- <span class="cline-any cline-neutral">&nbsp;</span>
427
- <span class="cline-any cline-neutral">&nbsp;</span>
428
- <span class="cline-any cline-yes">6x</span>
429
- <span class="cline-any cline-neutral">&nbsp;</span>
430
- <span class="cline-any cline-neutral">&nbsp;</span>
431
- <span class="cline-any cline-neutral">&nbsp;</span>
432
- <span class="cline-any cline-yes">7x</span>
433
- <span class="cline-any cline-neutral">&nbsp;</span>
434
- <span class="cline-any cline-neutral">&nbsp;</span>
435
- <span class="cline-any cline-neutral">&nbsp;</span>
436
- <span class="cline-any cline-yes">6x</span>
437
- <span class="cline-any cline-neutral">&nbsp;</span>
438
- <span class="cline-any cline-neutral">&nbsp;</span>
439
- <span class="cline-any cline-neutral">&nbsp;</span>
440
- <span class="cline-any cline-yes">2x</span>
441
- <span class="cline-any cline-neutral">&nbsp;</span>
442
- <span class="cline-any cline-neutral">&nbsp;</span>
443
- <span class="cline-any cline-neutral">&nbsp;</span>
444
- <span class="cline-any cline-yes">1x</span>
445
- <span class="cline-any cline-neutral">&nbsp;</span>
446
- <span class="cline-any cline-neutral">&nbsp;</span>
447
- <span class="cline-any cline-neutral">&nbsp;</span>
448
- <span class="cline-any cline-yes">1x</span>
449
- <span class="cline-any cline-neutral">&nbsp;</span>
450
- <span class="cline-any cline-neutral">&nbsp;</span>
451
- <span class="cline-any cline-neutral">&nbsp;</span>
452
- <span class="cline-any cline-yes">1x</span>
453
- <span class="cline-any cline-neutral">&nbsp;</span>
454
- <span class="cline-any cline-neutral">&nbsp;</span>
455
- <span class="cline-any cline-neutral">&nbsp;</span>
456
- <span class="cline-any cline-yes">15x</span>
457
- <span class="cline-any cline-neutral">&nbsp;</span>
458
- <span class="cline-any cline-neutral">&nbsp;</span>
459
- <span class="cline-any cline-neutral">&nbsp;</span>
460
- <span class="cline-any cline-yes">10x</span>
461
- <span class="cline-any cline-yes">10x</span>
462
- <span class="cline-any cline-neutral">&nbsp;</span>
463
- <span class="cline-any cline-yes">1x</span>
464
- <span class="cline-any cline-neutral">&nbsp;</span>
465
- <span class="cline-any cline-neutral">&nbsp;</span>
466
- <span class="cline-any cline-neutral">&nbsp;</span>
467
- <span class="cline-any cline-neutral">&nbsp;</span>
468
- <span class="cline-any cline-yes">5x</span>
469
- <span class="cline-any cline-yes">5x</span>
470
- <span class="cline-any cline-yes">2x</span>
471
- <span class="cline-any cline-neutral">&nbsp;</span>
472
- <span class="cline-any cline-yes">2x</span>
473
- <span class="cline-any cline-neutral">&nbsp;</span>
474
- <span class="cline-any cline-neutral">&nbsp;</span>
475
- <span class="cline-any cline-yes">1x</span>
476
- <span class="cline-any cline-neutral">&nbsp;</span>
477
- <span class="cline-any cline-neutral">&nbsp;</span>
478
- <span class="cline-any cline-neutral">&nbsp;</span>
479
- <span class="cline-any cline-neutral">&nbsp;</span>
480
- <span class="cline-any cline-yes">1x</span>
481
- <span class="cline-any cline-neutral">&nbsp;</span>
482
- <span class="cline-any cline-neutral">&nbsp;</span>
483
- <span class="cline-any cline-neutral">&nbsp;</span>
484
- <span class="cline-any cline-yes">2x</span>
485
- <span class="cline-any cline-yes">2x</span>
486
- <span class="cline-any cline-neutral">&nbsp;</span>
487
- <span class="cline-any cline-yes">1x</span>
488
- <span class="cline-any cline-neutral">&nbsp;</span>
489
- <span class="cline-any cline-neutral">&nbsp;</span>
490
- <span class="cline-any cline-neutral">&nbsp;</span>
491
- <span class="cline-any cline-neutral">&nbsp;</span>
492
- <span class="cline-any cline-yes">1x</span>
493
- <span class="cline-any cline-neutral">&nbsp;</span>
494
- <span class="cline-any cline-neutral">&nbsp;</span>
495
- <span class="cline-any cline-neutral">&nbsp;</span>
496
- <span class="cline-any cline-yes">1x</span>
497
- <span class="cline-any cline-neutral">&nbsp;</span>
498
- <span class="cline-any cline-neutral">&nbsp;</span>
499
- <span class="cline-any cline-neutral">&nbsp;</span>
500
- <span class="cline-any cline-yes">1x</span>
501
- <span class="cline-any cline-neutral">&nbsp;</span>
502
- <span class="cline-any cline-neutral">&nbsp;</span>
503
- <span class="cline-any cline-neutral">&nbsp;</span>
504
- <span class="cline-any cline-neutral">&nbsp;</span>
505
- <span class="cline-any cline-neutral">&nbsp;</span>
506
- <span class="cline-any cline-neutral">&nbsp;</span>
507
- <span class="cline-any cline-neutral">&nbsp;</span>
508
- <span class="cline-any cline-yes">11x</span>
509
- <span class="cline-any cline-neutral">&nbsp;</span>
510
- <span class="cline-any cline-yes">92x</span>
511
- <span class="cline-any cline-yes">92x</span>
512
- <span class="cline-any cline-neutral">&nbsp;</span>
513
- <span class="cline-any cline-yes">92x</span>
514
- <span class="cline-any cline-yes">92x</span>
515
- <span class="cline-any cline-neutral">&nbsp;</span>
516
- <span class="cline-any cline-neutral">&nbsp;</span>
517
- <span class="cline-any cline-neutral">&nbsp;</span>
518
- <span class="cline-any cline-yes">3x</span>
519
- <span class="cline-any cline-neutral">&nbsp;</span>
520
- <span class="cline-any cline-neutral">&nbsp;</span>
521
- <span class="cline-any cline-neutral">&nbsp;</span>
522
- <span class="cline-any cline-yes">5x</span>
523
- <span class="cline-any cline-neutral">&nbsp;</span>
524
- <span class="cline-any cline-neutral">&nbsp;</span>
525
- <span class="cline-any cline-neutral">&nbsp;</span>
526
- <span class="cline-any cline-yes">4x</span>
527
- <span class="cline-any cline-neutral">&nbsp;</span>
528
- <span class="cline-any cline-neutral">&nbsp;</span>
529
- <span class="cline-any cline-neutral">&nbsp;</span>
530
- <span class="cline-any cline-yes">1x</span>
531
- <span class="cline-any cline-neutral">&nbsp;</span>
532
- <span class="cline-any cline-neutral">&nbsp;</span>
533
- <span class="cline-any cline-neutral">&nbsp;</span>
534
- <span class="cline-any cline-yes">1x</span>
535
- <span class="cline-any cline-neutral">&nbsp;</span>
536
- <span class="cline-any cline-neutral">&nbsp;</span>
537
- <span class="cline-any cline-neutral">&nbsp;</span>
538
- <span class="cline-any cline-yes">1x</span>
539
- <span class="cline-any cline-neutral">&nbsp;</span>
540
- <span class="cline-any cline-neutral">&nbsp;</span>
541
- <span class="cline-any cline-neutral">&nbsp;</span>
542
- <span class="cline-any cline-yes">2x</span>
543
- <span class="cline-any cline-yes">2x</span>
544
- <span class="cline-any cline-neutral">&nbsp;</span>
545
- <span class="cline-any cline-yes">1x</span>
546
- <span class="cline-any cline-neutral">&nbsp;</span>
547
- <span class="cline-any cline-neutral">&nbsp;</span>
548
- <span class="cline-any cline-neutral">&nbsp;</span>
549
- <span class="cline-any cline-neutral">&nbsp;</span>
550
- <span class="cline-any cline-yes">9x</span>
551
- <span class="cline-any cline-neutral">&nbsp;</span>
552
- <span class="cline-any cline-neutral">&nbsp;</span>
553
- <span class="cline-any cline-neutral">&nbsp;</span>
554
- <span class="cline-any cline-yes">4x</span>
555
- <span class="cline-any cline-neutral">&nbsp;</span>
556
- <span class="cline-any cline-neutral">&nbsp;</span>
557
- <span class="cline-any cline-neutral">&nbsp;</span>
558
- <span class="cline-any cline-yes">1x</span>
559
- <span class="cline-any cline-neutral">&nbsp;</span>
560
- <span class="cline-any cline-neutral">&nbsp;</span>
561
- <span class="cline-any cline-neutral">&nbsp;</span>
562
- <span class="cline-any cline-yes">1x</span>
563
- <span class="cline-any cline-neutral">&nbsp;</span>
564
- <span class="cline-any cline-neutral">&nbsp;</span>
565
- <span class="cline-any cline-neutral">&nbsp;</span>
566
- <span class="cline-any cline-yes">1x</span>
567
- <span class="cline-any cline-neutral">&nbsp;</span>
568
- <span class="cline-any cline-neutral">&nbsp;</span>
569
- <span class="cline-any cline-neutral">&nbsp;</span>
570
- <span class="cline-any cline-yes">2x</span>
571
- <span class="cline-any cline-yes">2x</span>
572
- <span class="cline-any cline-neutral">&nbsp;</span>
573
- <span class="cline-any cline-yes">1x</span>
574
- <span class="cline-any cline-neutral">&nbsp;</span>
575
- <span class="cline-any cline-neutral">&nbsp;</span>
576
- <span class="cline-any cline-neutral">&nbsp;</span>
577
- <span class="cline-any cline-neutral">&nbsp;</span>
578
- <span class="cline-any cline-yes">3x</span>
579
- <span class="cline-any cline-neutral">&nbsp;</span>
580
- <span class="cline-any cline-neutral">&nbsp;</span>
581
- <span class="cline-any cline-neutral">&nbsp;</span>
582
- <span class="cline-any cline-yes">8x</span>
583
- <span class="cline-any cline-yes">8x</span>
584
- <span class="cline-any cline-neutral">&nbsp;</span>
585
- <span class="cline-any cline-yes">2x</span>
586
- <span class="cline-any cline-neutral">&nbsp;</span>
587
- <span class="cline-any cline-neutral">&nbsp;</span>
588
- <span class="cline-any cline-neutral">&nbsp;</span>
589
- <span class="cline-any cline-neutral">&nbsp;</span>
590
- <span class="cline-any cline-neutral">&nbsp;</span>
591
- <span class="cline-any cline-neutral">&nbsp;</span>
592
- <span class="cline-any cline-neutral">&nbsp;</span>
593
- <span class="cline-any cline-yes">11x</span>
594
- <span class="cline-any cline-yes">95x</span>
595
- <span class="cline-any cline-yes">95x</span>
596
- <span class="cline-any cline-neutral">&nbsp;</span>
597
- <span class="cline-any cline-yes">40x</span>
598
- <span class="cline-any cline-neutral">&nbsp;</span>
599
- <span class="cline-any cline-neutral">&nbsp;</span>
600
- <span class="cline-any cline-neutral">&nbsp;</span>
601
- <span class="cline-any cline-yes">11x</span>
602
- <span class="cline-any cline-yes">11x</span>
603
- <span class="cline-any cline-yes">5x</span>
604
- <span class="cline-any cline-yes">5x</span>
605
- <span class="cline-any cline-yes">2x</span>
606
- <span class="cline-any cline-yes">1x</span>
607
- <span class="cline-any cline-neutral">&nbsp;</span>
608
- <span class="cline-any cline-yes">2x</span>
609
- <span class="cline-any cline-neutral">&nbsp;</span>
610
- <span class="cline-any cline-neutral">&nbsp;</span>
611
- <span class="cline-any cline-neutral">&nbsp;</span>
612
- <span class="cline-any cline-neutral">&nbsp;</span>
613
- <span class="cline-any cline-neutral">&nbsp;</span>
614
- <span class="cline-any cline-neutral">&nbsp;</span>
615
- <span class="cline-any cline-yes">11x</span>
616
- <span class="cline-any cline-yes">41x</span>
617
- <span class="cline-any cline-neutral">&nbsp;</span>
618
- <span class="cline-any cline-neutral">&nbsp;</span>
619
- <span class="cline-any cline-yes">11x</span>
620
- <span class="cline-any cline-yes">49x</span>
621
- <span class="cline-any cline-neutral">&nbsp;</span>
622
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {none, Option, some} from './option';
623
- import {Either, left, right} from './either';
624
- import {identity} from './util';
625
- import {Mappable} from './mappable';
626
- &nbsp;
627
- export interface TryMatch&lt;T, R&gt; {
628
- success: (result: T) =&gt; R;
629
- failure: (error: Error) =&gt; R;
630
- }
631
- &nbsp;
632
- &nbsp;
633
- export abstract class TryLike&lt;T&gt; implements Mappable&lt;T&gt;{
634
- abstract readonly toOption: Option&lt;T&gt;;
635
- abstract readonly toEither: Either&lt;Error, T&gt;;
636
- abstract map&lt;B&gt;(f: (x: T) =&gt; B): TryLike&lt;B&gt;;
637
- abstract readonly isFailure: boolean;
638
- abstract readonly isSuccess: boolean;
639
- abstract getOrElse(value: () =&gt; T): T;
640
- abstract getOrElseValue(value: T): T;
641
- abstract orElse(value: () =&gt; TryLike&lt;T&gt;): TryLike&lt;T&gt;;
642
- abstract readonly get: T;
643
- abstract match&lt;R&gt;(matcher: TryMatch&lt;T, R&gt;): R;
644
- abstract flatMap&lt;U&gt;(f: (value: T) =&gt; TryLike&lt;U&gt;): TryLike&lt;U&gt;;
645
- abstract filter(p: (value: T) =&gt; boolean): TryLike&lt;T&gt;;
646
- abstract readonly failed: TryLike&lt;Error&gt;;
647
- abstract fold&lt;U&gt;(fa: (e: Error) =&gt; U, fb: (result: T) =&gt; U): U;
648
- // no lower bound generic in typescript: https://github.com/Microsoft/TypeScript/issues/14520
649
- abstract recover(f: (e: Error) =&gt; any): TryLike&lt;any&gt;;
650
- abstract recoverWith(f: (e: Error) =&gt; TryLike&lt;any&gt;): TryLike&lt;any&gt;;
651
- abstract transform&lt;U&gt;(s: (value: T) =&gt; TryLike&lt;U&gt;, f: (e: Error) =&gt; TryLike&lt;U&gt;): TryLike&lt;U&gt;;
652
- &nbsp;
653
- async mapPromise&lt;B&gt;(f: (v: T) =&gt; Promise&lt;B&gt;): Promise&lt;TryLike&lt;B&gt;&gt; {
654
- return this.match({
655
- success: r =&gt; Try.promise(() =&gt; f(r)),
656
- failure: () =&gt; Promise.resolve(this as unknown as TryLike&lt;B&gt;)
657
- });
658
- }
659
- &nbsp;
660
- flatMapPromise&lt;B&gt;(f: (item: T) =&gt; Promise&lt;TryLike&lt;B&gt;&gt;): Promise&lt;TryLike&lt;B&gt;&gt; {
661
- return this.match({
662
- success: r =&gt; f(r),
663
- failure: () =&gt; Promise.resolve(this as unknown as TryLike&lt;B&gt;)
664
- });
665
- }
666
- &nbsp;
667
- foreach&lt;U&gt;(f: (value: T) =&gt; U): void {
668
- if (this.isSuccess) {
669
- f(this.get);
670
- }
671
- }
672
- &nbsp;
673
- tapFailure(f: (e: Error) =&gt; void): TryLike&lt;T&gt; {
674
- return this.match&lt;TryLike&lt;T&gt;&gt;({
675
- success: () =&gt; this,
676
- failure: e =&gt; {
677
- try {
678
- f(e);
679
- return this;
680
- } catch (ex) {
681
- return failure(ex as Error);
682
- }
683
- }
684
- });
685
- }
686
- &nbsp;
687
- toEitherWithLeft&lt;L&gt;(f: (e: Error) =&gt; L): Either&lt;L, T&gt; {
688
- return this.match&lt;Either&lt;L, T&gt;&gt;({
689
- success: r =&gt; right(r),
690
- failure: e =&gt; left(f(e))
691
- });
692
- &nbsp;
693
- }
694
- &nbsp;
695
- }
696
- &nbsp;
697
- &nbsp;
698
- &nbsp;
699
- export class Success&lt;T&gt; extends TryLike&lt;T&gt; {
700
- &nbsp;
701
- readonly isSuccess = true;
702
- readonly isFailure = false;
703
- &nbsp;
704
- constructor(private readonly result: T) {
705
- super();
706
- }
707
- &nbsp;
708
- get toOption(): Option&lt;T&gt; {
709
- return some(this.result);
710
- }
711
- &nbsp;
712
- get toEither(): Either&lt;Error, T&gt; {
713
- return right(this.result);
714
- }
715
- &nbsp;
716
- map&lt;B&gt;(f: (x: T) =&gt; B): TryLike&lt;B&gt; {
717
- return success(f(this.result));
718
- }
719
- &nbsp;
720
- get get(): T {
721
- return this.result;
722
- }
723
- &nbsp;
724
- getOrElse(_: () =&gt; T): T {
725
- return this.result;
726
- }
727
- &nbsp;
728
- getOrElseValue(_: T): T {
729
- return this.result;
730
- }
731
- &nbsp;
732
- orElse(_: () =&gt; TryLike&lt;T&gt;): TryLike&lt;T&gt; {
733
- return this;
734
- }
735
- &nbsp;
736
- match&lt;R&gt;(matcher: TryMatch&lt;T, R&gt;): R {
737
- return matcher.success(this.result);
738
- }
739
- &nbsp;
740
- flatMap&lt;U&gt;(f: (value: T) =&gt; TryLike&lt;U&gt;): TryLike&lt;U&gt; {
741
- try {
742
- return f(this.result);
743
- } catch (e) {
744
- return failure(e as Error);
745
- }
746
- }
747
- &nbsp;
748
- filter(p: (value: T) =&gt; boolean): TryLike&lt;T&gt; {
749
- try {
750
- if (p(this.result)) {
751
- return this;
752
- } else {
753
- return failure(new Error('Predicate does not hold for ' + this.result));
754
- }
755
- } catch (e) {
756
- return failure(e as Error);
757
- }
758
- }
759
- &nbsp;
760
- get failed(): TryLike&lt;Error&gt; {
761
- return failure(new Error('Success.failed'));
762
- }
763
- &nbsp;
764
- fold&lt;U&gt;(fa: (e: Error) =&gt; U, fb: (result: T) =&gt; U): U {
765
- try {
766
- return fb(this.result);
767
- } catch (e) {
768
- return fa(e as Error);
769
- }
770
- }
771
- &nbsp;
772
- recover(_: (e: Error) =&gt; any): TryLike&lt;any&gt; {
773
- return this;
774
- }
775
- &nbsp;
776
- recoverWith(_: (e: Error) =&gt; TryLike&lt;any&gt;): TryLike&lt;any&gt; {
777
- return this;
778
- }
779
- &nbsp;
780
- transform&lt;U&gt;(s: (value: T) =&gt; TryLike&lt;U&gt;, _: (e: Error) =&gt; TryLike&lt;U&gt;): TryLike&lt;U&gt; {
781
- return this.flatMap(s);
782
- }
783
- &nbsp;
784
- &nbsp;
785
- &nbsp;
786
- &nbsp;
787
- }
788
- &nbsp;
789
- export class Failure extends TryLike&lt;any&gt; {
790
- &nbsp;
791
- readonly isSuccess = false;
792
- readonly isFailure = true;
793
- &nbsp;
794
- constructor(private readonly error: Error) {
795
- super();
796
- }
797
- &nbsp;
798
- get toOption(): Option&lt;any&gt; {
799
- return none;
800
- }
801
- &nbsp;
802
- get toEither(): Either&lt;Error, any&gt; {
803
- return left(this.error);
804
- }
805
- &nbsp;
806
- map&lt;B&gt;(_: (x: any) =&gt; B): TryLike&lt;any&gt; {
807
- return this;
808
- }
809
- &nbsp;
810
- get get(): any {
811
- throw this.error;
812
- }
813
- &nbsp;
814
- getOrElse&lt;T&gt;(value: () =&gt; T): T {
815
- return value();
816
- }
817
- &nbsp;
818
- getOrElseValue&lt;T&gt;(value: T): T {
819
- return value;
820
- }
821
- &nbsp;
822
- orElse&lt;T&gt;(value: () =&gt; TryLike&lt;T&gt;): TryLike&lt;T&gt; {
823
- try {
824
- return value();
825
- } catch (e) {
826
- return failure(e as Error);
827
- }
828
- }
829
- &nbsp;
830
- match&lt;R&gt;(matcher: TryMatch&lt;any, R&gt;): R {
831
- return matcher.failure(this.error);
832
- }
833
- &nbsp;
834
- flatMap&lt;U&gt;(_: (value: any) =&gt; TryLike&lt;U&gt;): TryLike&lt;U&gt; {
835
- return this;
836
- }
837
- &nbsp;
838
- filter(_: (value: any) =&gt; boolean): TryLike&lt;any&gt; {
839
- return this;
840
- }
841
- &nbsp;
842
- get failed(): TryLike&lt;Error&gt; {
843
- return success(this.error);
844
- }
845
- &nbsp;
846
- fold&lt;U&gt;(fa: (e: Error) =&gt; U, _: (result: any) =&gt; U): U {
847
- return fa(this.error);
848
- }
849
- &nbsp;
850
- recover(f: (e: Error) =&gt; any): TryLike&lt;any&gt; {
851
- try {
852
- return success(f(this.error));
853
- } catch (ex) {
854
- return failure(ex as Error);
855
- }
856
- }
857
- &nbsp;
858
- recoverWith(f: (e: Error) =&gt; TryLike&lt;any&gt;): TryLike&lt;any&gt; {
859
- return this.transform(identity, f);
860
- }
861
- &nbsp;
862
- transform&lt;U&gt;(s: (value: any) =&gt; TryLike&lt;U&gt;, f: (e: Error) =&gt; TryLike&lt;U&gt;): TryLike&lt;U&gt; {
863
- try {
864
- return f(this.error);
865
- } catch (ex) {
866
- return failure(ex as Error);
867
- }
868
- }
869
- &nbsp;
870
- &nbsp;
871
- }
872
- &nbsp;
873
- &nbsp;
874
- export function Try&lt;T&gt;(block: () =&gt; T): TryLike&lt;T&gt; {
875
- try {
876
- return new Success(block());
877
- } catch (e) {
878
- return new Failure(e as Error);
879
- }
880
- }
881
- &nbsp;
882
- export namespace <span class="branch-1 cbranch-no" title="branch not covered" >Try {</span>
883
- export function promise&lt;T&gt;(block: () =&gt; Promise&lt;T&gt;): Promise&lt;TryLike&lt;T&gt;&gt; {
884
- try {
885
- return block()
886
- .then(res =&gt; new Success(res))
887
- .catch(e =&gt; new Failure(e));
888
- } catch (e) {
889
- return Promise.resolve(new Failure(e as Error));
890
- }
891
- }
892
- }
893
- &nbsp;
894
- &nbsp;
895
- &nbsp;
896
- export function success&lt;T&gt;(x: T): Success&lt;T&gt; {
897
- return new Success&lt;T&gt;(x);
898
- }
899
- &nbsp;
900
- export function failure(x: Error): Failure {
901
- return new Failure(x);
902
- }
903
- &nbsp;</pre></td></tr></table></pre>
904
-
905
- <div class='push'></div><!-- for sticky footer -->
906
- </div><!-- /wrapper -->
907
- <div class='footer quiet pad2 space-top1 center small'>
908
- Code coverage generated by
909
- <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
910
- at Thu Dec 16 2021 10:47:46 GMT+0300 (Moscow Standard Time)
911
- </div>
912
- </div>
913
- <script src="../prettify.js"></script>
914
- <script>
915
- window.onload = function () {
916
- prettyPrint();
917
- };
918
- </script>
919
- <script src="../sorter.js"></script>
920
- <script src="../block-navigation.js"></script>
921
- </body>
922
- </html>
923
-