@atomicfinance/bitcoin-wallet-provider 3.6.1 → 4.0.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 (228) hide show
  1. package/.nvmrc +1 -1
  2. package/.turbo/turbo-lint.log +1 -0
  3. package/.yalc/@node-dlc/core/.nyc_output/687a3c14-9765-45fd-a1fe-f7db3d56fee4.json +1 -0
  4. package/.yalc/@node-dlc/core/.nyc_output/processinfo/687a3c14-9765-45fd-a1fe-f7db3d56fee4.json +1 -0
  5. package/.yalc/@node-dlc/core/.nyc_output/processinfo/index.json +1 -0
  6. package/.yalc/@node-dlc/core/README.md +11 -0
  7. package/.yalc/@node-dlc/core/__tests__/core.spec.ts +7 -0
  8. package/.yalc/@node-dlc/core/__tests__/dlc/CETCalculator.spec.ts +1029 -0
  9. package/.yalc/@node-dlc/core/__tests__/dlc/CoinSelect.spec.ts +179 -0
  10. package/.yalc/@node-dlc/core/__tests__/dlc/PolynomialPayoutCurve.spec.ts +345 -0
  11. package/.yalc/@node-dlc/core/__tests__/dlc/TxBuilder.spec.ts +424 -0
  12. package/.yalc/@node-dlc/core/__tests__/dlc/finance/Builder.spec.ts +492 -0
  13. package/.yalc/@node-dlc/core/__tests__/dlc/finance/CoveredCall.spec.ts +112 -0
  14. package/.yalc/@node-dlc/core/__tests__/dlc/finance/CsoInfo.spec.ts +1124 -0
  15. package/.yalc/@node-dlc/core/__tests__/dlc/finance/LongCall.spec.ts +55 -0
  16. package/.yalc/@node-dlc/core/__tests__/dlc/finance/LongPut.spec.ts +55 -0
  17. package/.yalc/@node-dlc/core/__tests__/dlc/finance/OptionInfo.spec.ts +226 -0
  18. package/.yalc/@node-dlc/core/__tests__/dlc/finance/ShortPut.spec.ts +62 -0
  19. package/.yalc/@node-dlc/core/__tests__/tsconfig.json +8 -0
  20. package/.yalc/@node-dlc/core/__tests__/utils/precision.spec.ts +40 -0
  21. package/.yalc/@node-dlc/core/coverage/lcov-report/base.css +224 -0
  22. package/.yalc/@node-dlc/core/coverage/lcov-report/block-navigation.js +79 -0
  23. package/.yalc/@node-dlc/core/coverage/lcov-report/favicon.png +0 -0
  24. package/.yalc/@node-dlc/core/coverage/lcov-report/index.html +171 -0
  25. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/AsyncProcessingQueue.ts.html +269 -0
  26. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/Base32.ts.html +86 -0
  27. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/BigIntUtils.ts.html +86 -0
  28. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/BitField.ts.html +86 -0
  29. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/ChannelId.ts.html +86 -0
  30. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/LinkedList.ts.html +413 -0
  31. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/LinkedListNode.ts.html +122 -0
  32. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/Queue.ts.html +188 -0
  33. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/ShortChannelId.ts.html +86 -0
  34. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/ShortChannelIdUtils.ts.html +107 -0
  35. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/CETCalculator.ts.html +1430 -0
  36. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/CoinSelect.ts.html +431 -0
  37. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/HyperbolaPayoutCurve.ts.html +644 -0
  38. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/PolynomialPayoutCurve.ts.html +878 -0
  39. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/TxBuilder.ts.html +1088 -0
  40. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/TxFinalizer.ts.html +731 -0
  41. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/Builder.ts.html +2270 -0
  42. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/CoveredCall.ts.html +410 -0
  43. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/CsoInfo.ts.html +1574 -0
  44. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/LinearPayout.ts.html +362 -0
  45. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/LongCall.ts.html +302 -0
  46. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/LongPut.ts.html +302 -0
  47. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/OptionInfo.ts.html +626 -0
  48. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/ShortPut.ts.html +305 -0
  49. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/finance/index.html +216 -0
  50. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/dlc/index.html +186 -0
  51. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/index.html +261 -0
  52. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/index.ts.html +278 -0
  53. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/ChannelId.ts.html +242 -0
  54. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/ChannelKeys.ts.html +407 -0
  55. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/CommitmentNumber.ts.html +362 -0
  56. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/CommitmentSecret.ts.html +203 -0
  57. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/CommitmentSecretStore.ts.html +332 -0
  58. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/Htlc.ts.html +236 -0
  59. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/HtlcDirection.ts.html +131 -0
  60. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/ScriptFactory.ts.html +530 -0
  61. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/TxFactory.ts.html +1094 -0
  62. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/lightning/index.html +231 -0
  63. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/utils/BigIntUtils.ts.html +272 -0
  64. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/utils/Precision.ts.html +149 -0
  65. package/.yalc/@node-dlc/core/coverage/lcov-report/lib/utils/index.html +126 -0
  66. package/.yalc/@node-dlc/core/coverage/lcov-report/prettify.css +1 -0
  67. package/.yalc/@node-dlc/core/coverage/lcov-report/prettify.js +2 -0
  68. package/.yalc/@node-dlc/core/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  69. package/.yalc/@node-dlc/core/coverage/lcov-report/sorter.js +170 -0
  70. package/.yalc/@node-dlc/core/coverage/lcov.info +2426 -0
  71. package/.yalc/@node-dlc/core/dist/AsyncProcessingQueue.d.ts +22 -0
  72. package/.yalc/@node-dlc/core/dist/AsyncProcessingQueue.js +55 -0
  73. package/.yalc/@node-dlc/core/dist/AsyncProcessingQueue.js.map +1 -0
  74. package/.yalc/@node-dlc/core/dist/Base32.d.ts +1 -0
  75. package/.yalc/@node-dlc/core/dist/Base32.js +7 -0
  76. package/.yalc/@node-dlc/core/dist/Base32.js.map +1 -0
  77. package/.yalc/@node-dlc/core/dist/BigIntUtils.d.ts +1 -0
  78. package/.yalc/@node-dlc/core/dist/BigIntUtils.js +8 -0
  79. package/.yalc/@node-dlc/core/dist/BigIntUtils.js.map +1 -0
  80. package/.yalc/@node-dlc/core/dist/BitField.d.ts +1 -0
  81. package/.yalc/@node-dlc/core/dist/BitField.js +7 -0
  82. package/.yalc/@node-dlc/core/dist/BitField.js.map +1 -0
  83. package/.yalc/@node-dlc/core/dist/ChannelId.d.ts +1 -0
  84. package/.yalc/@node-dlc/core/dist/ChannelId.js +7 -0
  85. package/.yalc/@node-dlc/core/dist/ChannelId.js.map +1 -0
  86. package/.yalc/@node-dlc/core/dist/LinkedList.d.ts +30 -0
  87. package/.yalc/@node-dlc/core/dist/LinkedList.js +104 -0
  88. package/.yalc/@node-dlc/core/dist/LinkedList.js.map +1 -0
  89. package/.yalc/@node-dlc/core/dist/LinkedListNode.d.ts +9 -0
  90. package/.yalc/@node-dlc/core/dist/LinkedListNode.js +15 -0
  91. package/.yalc/@node-dlc/core/dist/LinkedListNode.js.map +1 -0
  92. package/.yalc/@node-dlc/core/dist/Queue.d.ts +22 -0
  93. package/.yalc/@node-dlc/core/dist/Queue.js +38 -0
  94. package/.yalc/@node-dlc/core/dist/Queue.js.map +1 -0
  95. package/.yalc/@node-dlc/core/dist/ShortChannelId.d.ts +1 -0
  96. package/.yalc/@node-dlc/core/dist/ShortChannelId.js +7 -0
  97. package/.yalc/@node-dlc/core/dist/ShortChannelId.js.map +1 -0
  98. package/.yalc/@node-dlc/core/dist/ShortChannelIdUtils.d.ts +1 -0
  99. package/.yalc/@node-dlc/core/dist/ShortChannelIdUtils.js +12 -0
  100. package/.yalc/@node-dlc/core/dist/ShortChannelIdUtils.js.map +1 -0
  101. package/.yalc/@node-dlc/core/dist/dlc/CETCalculator.d.ts +50 -0
  102. package/.yalc/@node-dlc/core/dist/dlc/CETCalculator.js +332 -0
  103. package/.yalc/@node-dlc/core/dist/dlc/CETCalculator.js.map +1 -0
  104. package/.yalc/@node-dlc/core/dist/dlc/CoinSelect.d.ts +23 -0
  105. package/.yalc/@node-dlc/core/dist/dlc/CoinSelect.js +77 -0
  106. package/.yalc/@node-dlc/core/dist/dlc/CoinSelect.js.map +1 -0
  107. package/.yalc/@node-dlc/core/dist/dlc/HyperbolaPayoutCurve.d.ts +20 -0
  108. package/.yalc/@node-dlc/core/dist/dlc/HyperbolaPayoutCurve.js +117 -0
  109. package/.yalc/@node-dlc/core/dist/dlc/HyperbolaPayoutCurve.js.map +1 -0
  110. package/.yalc/@node-dlc/core/dist/dlc/PayoutCurve.d.ts +5 -0
  111. package/.yalc/@node-dlc/core/dist/dlc/PayoutCurve.js +3 -0
  112. package/.yalc/@node-dlc/core/dist/dlc/PayoutCurve.js.map +1 -0
  113. package/.yalc/@node-dlc/core/dist/dlc/PolynomialPayoutCurve.d.ts +52 -0
  114. package/.yalc/@node-dlc/core/dist/dlc/PolynomialPayoutCurve.js +173 -0
  115. package/.yalc/@node-dlc/core/dist/dlc/PolynomialPayoutCurve.js.map +1 -0
  116. package/.yalc/@node-dlc/core/dist/dlc/TxBuilder.d.ts +55 -0
  117. package/.yalc/@node-dlc/core/dist/dlc/TxBuilder.js +217 -0
  118. package/.yalc/@node-dlc/core/dist/dlc/TxBuilder.js.map +1 -0
  119. package/.yalc/@node-dlc/core/dist/dlc/TxFinalizer.d.ts +40 -0
  120. package/.yalc/@node-dlc/core/dist/dlc/TxFinalizer.js +146 -0
  121. package/.yalc/@node-dlc/core/dist/dlc/TxFinalizer.js.map +1 -0
  122. package/.yalc/@node-dlc/core/dist/dlc/finance/Builder.d.ts +193 -0
  123. package/.yalc/@node-dlc/core/dist/dlc/finance/Builder.js +422 -0
  124. package/.yalc/@node-dlc/core/dist/dlc/finance/Builder.js.map +1 -0
  125. package/.yalc/@node-dlc/core/dist/dlc/finance/CoveredCall.d.ts +13 -0
  126. package/.yalc/@node-dlc/core/dist/dlc/finance/CoveredCall.js +67 -0
  127. package/.yalc/@node-dlc/core/dist/dlc/finance/CoveredCall.js.map +1 -0
  128. package/.yalc/@node-dlc/core/dist/dlc/finance/CsoInfo.d.ts +114 -0
  129. package/.yalc/@node-dlc/core/dist/dlc/finance/CsoInfo.js +290 -0
  130. package/.yalc/@node-dlc/core/dist/dlc/finance/CsoInfo.js.map +1 -0
  131. package/.yalc/@node-dlc/core/dist/dlc/finance/LinearPayout.d.ts +6 -0
  132. package/.yalc/@node-dlc/core/dist/dlc/finance/LinearPayout.js +79 -0
  133. package/.yalc/@node-dlc/core/dist/dlc/finance/LinearPayout.js.map +1 -0
  134. package/.yalc/@node-dlc/core/dist/dlc/finance/LongCall.d.ts +13 -0
  135. package/.yalc/@node-dlc/core/dist/dlc/finance/LongCall.js +47 -0
  136. package/.yalc/@node-dlc/core/dist/dlc/finance/LongCall.js.map +1 -0
  137. package/.yalc/@node-dlc/core/dist/dlc/finance/LongPut.d.ts +13 -0
  138. package/.yalc/@node-dlc/core/dist/dlc/finance/LongPut.js +47 -0
  139. package/.yalc/@node-dlc/core/dist/dlc/finance/LongPut.js.map +1 -0
  140. package/.yalc/@node-dlc/core/dist/dlc/finance/OptionInfo.d.ts +20 -0
  141. package/.yalc/@node-dlc/core/dist/dlc/finance/OptionInfo.js +101 -0
  142. package/.yalc/@node-dlc/core/dist/dlc/finance/OptionInfo.js.map +1 -0
  143. package/.yalc/@node-dlc/core/dist/dlc/finance/ShortPut.d.ts +12 -0
  144. package/.yalc/@node-dlc/core/dist/dlc/finance/ShortPut.js +46 -0
  145. package/.yalc/@node-dlc/core/dist/dlc/finance/ShortPut.js.map +1 -0
  146. package/.yalc/@node-dlc/core/dist/index.d.ts +39 -0
  147. package/.yalc/@node-dlc/core/dist/index.js +78 -0
  148. package/.yalc/@node-dlc/core/dist/index.js.map +1 -0
  149. package/.yalc/@node-dlc/core/dist/lightning/ChannelId.d.ts +31 -0
  150. package/.yalc/@node-dlc/core/dist/lightning/ChannelId.js +52 -0
  151. package/.yalc/@node-dlc/core/dist/lightning/ChannelId.js.map +1 -0
  152. package/.yalc/@node-dlc/core/dist/lightning/ChannelKeys.d.ts +55 -0
  153. package/.yalc/@node-dlc/core/dist/lightning/ChannelKeys.js +105 -0
  154. package/.yalc/@node-dlc/core/dist/lightning/ChannelKeys.js.map +1 -0
  155. package/.yalc/@node-dlc/core/dist/lightning/CommitmentNumber.d.ts +55 -0
  156. package/.yalc/@node-dlc/core/dist/lightning/CommitmentNumber.js +76 -0
  157. package/.yalc/@node-dlc/core/dist/lightning/CommitmentNumber.js.map +1 -0
  158. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecret.d.ts +26 -0
  159. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecret.js +44 -0
  160. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecret.js.map +1 -0
  161. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecretStore.d.ts +41 -0
  162. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecretStore.js +79 -0
  163. package/.yalc/@node-dlc/core/dist/lightning/CommitmentSecretStore.js.map +1 -0
  164. package/.yalc/@node-dlc/core/dist/lightning/Htlc.d.ts +46 -0
  165. package/.yalc/@node-dlc/core/dist/lightning/Htlc.js +46 -0
  166. package/.yalc/@node-dlc/core/dist/lightning/Htlc.js.map +1 -0
  167. package/.yalc/@node-dlc/core/dist/lightning/HtlcDirection.d.ts +16 -0
  168. package/.yalc/@node-dlc/core/dist/lightning/HtlcDirection.js +21 -0
  169. package/.yalc/@node-dlc/core/dist/lightning/HtlcDirection.js.map +1 -0
  170. package/.yalc/@node-dlc/core/dist/lightning/ScriptFactory.d.ts +76 -0
  171. package/.yalc/@node-dlc/core/dist/lightning/ScriptFactory.js +102 -0
  172. package/.yalc/@node-dlc/core/dist/lightning/ScriptFactory.js.map +1 -0
  173. package/.yalc/@node-dlc/core/dist/lightning/TxFactory.d.ts +83 -0
  174. package/.yalc/@node-dlc/core/dist/lightning/TxFactory.js +222 -0
  175. package/.yalc/@node-dlc/core/dist/lightning/TxFactory.js.map +1 -0
  176. package/.yalc/@node-dlc/core/dist/utils/BigIntUtils.d.ts +9 -0
  177. package/.yalc/@node-dlc/core/dist/utils/BigIntUtils.js +59 -0
  178. package/.yalc/@node-dlc/core/dist/utils/BigIntUtils.js.map +1 -0
  179. package/.yalc/@node-dlc/core/dist/utils/Precision.d.ts +13 -0
  180. package/.yalc/@node-dlc/core/dist/utils/Precision.js +28 -0
  181. package/.yalc/@node-dlc/core/dist/utils/Precision.js.map +1 -0
  182. package/.yalc/@node-dlc/core/lib/AsyncProcessingQueue.ts +63 -0
  183. package/.yalc/@node-dlc/core/lib/Base32.ts +2 -0
  184. package/.yalc/@node-dlc/core/lib/BigIntUtils.ts +2 -0
  185. package/.yalc/@node-dlc/core/lib/BitField.ts +2 -0
  186. package/.yalc/@node-dlc/core/lib/ChannelId.ts +2 -0
  187. package/.yalc/@node-dlc/core/lib/LinkedList.ts +111 -0
  188. package/.yalc/@node-dlc/core/lib/LinkedListNode.ts +14 -0
  189. package/.yalc/@node-dlc/core/lib/Queue.ts +36 -0
  190. package/.yalc/@node-dlc/core/lib/ShortChannelId.ts +2 -0
  191. package/.yalc/@node-dlc/core/lib/ShortChannelIdUtils.ts +9 -0
  192. package/.yalc/@node-dlc/core/lib/dlc/CETCalculator.ts +450 -0
  193. package/.yalc/@node-dlc/core/lib/dlc/CoinSelect.ts +117 -0
  194. package/.yalc/@node-dlc/core/lib/dlc/HyperbolaPayoutCurve.ts +188 -0
  195. package/.yalc/@node-dlc/core/lib/dlc/PayoutCurve.ts +6 -0
  196. package/.yalc/@node-dlc/core/lib/dlc/PolynomialPayoutCurve.ts +266 -0
  197. package/.yalc/@node-dlc/core/lib/dlc/TxBuilder.ts +336 -0
  198. package/.yalc/@node-dlc/core/lib/dlc/TxFinalizer.ts +217 -0
  199. package/.yalc/@node-dlc/core/lib/dlc/finance/Builder.ts +730 -0
  200. package/.yalc/@node-dlc/core/lib/dlc/finance/CoveredCall.ts +110 -0
  201. package/.yalc/@node-dlc/core/lib/dlc/finance/CsoInfo.ts +498 -0
  202. package/.yalc/@node-dlc/core/lib/dlc/finance/LinearPayout.ts +94 -0
  203. package/.yalc/@node-dlc/core/lib/dlc/finance/LongCall.ts +74 -0
  204. package/.yalc/@node-dlc/core/lib/dlc/finance/LongPut.ts +74 -0
  205. package/.yalc/@node-dlc/core/lib/dlc/finance/OptionInfo.ts +182 -0
  206. package/.yalc/@node-dlc/core/lib/dlc/finance/ShortPut.ts +75 -0
  207. package/.yalc/@node-dlc/core/lib/index.ts +66 -0
  208. package/.yalc/@node-dlc/core/lib/lightning/ChannelId.ts +54 -0
  209. package/.yalc/@node-dlc/core/lib/lightning/ChannelKeys.ts +109 -0
  210. package/.yalc/@node-dlc/core/lib/lightning/CommitmentNumber.ts +94 -0
  211. package/.yalc/@node-dlc/core/lib/lightning/CommitmentSecret.ts +41 -0
  212. package/.yalc/@node-dlc/core/lib/lightning/CommitmentSecretStore.ts +84 -0
  213. package/.yalc/@node-dlc/core/lib/lightning/Htlc.ts +52 -0
  214. package/.yalc/@node-dlc/core/lib/lightning/HtlcDirection.ts +17 -0
  215. package/.yalc/@node-dlc/core/lib/lightning/ScriptFactory.ts +150 -0
  216. package/.yalc/@node-dlc/core/lib/lightning/TxFactory.ts +338 -0
  217. package/.yalc/@node-dlc/core/lib/utils/BigIntUtils.ts +64 -0
  218. package/.yalc/@node-dlc/core/lib/utils/Precision.ts +23 -0
  219. package/.yalc/@node-dlc/core/package.json +38 -0
  220. package/.yalc/@node-dlc/core/tsconfig.json +8 -0
  221. package/.yalc/@node-dlc/core/yalc.sig +1 -0
  222. package/CHANGELOG.md +112 -0
  223. package/dist/BitcoinWalletProvider.d.ts +4 -2
  224. package/dist/BitcoinWalletProvider.js +1 -0
  225. package/dist/BitcoinWalletProvider.js.map +1 -1
  226. package/lib/BitcoinWalletProvider.ts +13 -4
  227. package/package.json +5 -5
  228. package/yalc.lock +10 -0
@@ -0,0 +1,413 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for lib/LinkedList.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">lib</a> LinkedList.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">4.08% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>2/49</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/22</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/5</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">4.35% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>2/46</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 low'></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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
172
+ <span class="cline-any cline-neutral">&nbsp;</span>
173
+ <span class="cline-any cline-neutral">&nbsp;</span>
174
+ <span class="cline-any cline-neutral">&nbsp;</span>
175
+ <span class="cline-any cline-neutral">&nbsp;</span>
176
+ <span class="cline-any cline-neutral">&nbsp;</span>
177
+ <span class="cline-any cline-yes">1x</span>
178
+ <span class="cline-any cline-no">&nbsp;</span>
179
+ <span class="cline-any cline-no">&nbsp;</span>
180
+ <span class="cline-any cline-no">&nbsp;</span>
181
+ <span class="cline-any cline-neutral">&nbsp;</span>
182
+ <span class="cline-any cline-neutral">&nbsp;</span>
183
+ <span class="cline-any cline-neutral">&nbsp;</span>
184
+ <span class="cline-any cline-neutral">&nbsp;</span>
185
+ <span class="cline-any cline-neutral">&nbsp;</span>
186
+ <span class="cline-any cline-neutral">&nbsp;</span>
187
+ <span class="cline-any cline-neutral">&nbsp;</span>
188
+ <span class="cline-any cline-no">&nbsp;</span>
189
+ <span class="cline-any cline-neutral">&nbsp;</span>
190
+ <span class="cline-any cline-neutral">&nbsp;</span>
191
+ <span class="cline-any cline-no">&nbsp;</span>
192
+ <span class="cline-any cline-no">&nbsp;</span>
193
+ <span class="cline-any cline-no">&nbsp;</span>
194
+ <span class="cline-any cline-no">&nbsp;</span>
195
+ <span class="cline-any cline-no">&nbsp;</span>
196
+ <span class="cline-any cline-neutral">&nbsp;</span>
197
+ <span class="cline-any cline-neutral">&nbsp;</span>
198
+ <span class="cline-any cline-neutral">&nbsp;</span>
199
+ <span class="cline-any cline-no">&nbsp;</span>
200
+ <span class="cline-any cline-no">&nbsp;</span>
201
+ <span class="cline-any cline-no">&nbsp;</span>
202
+ <span class="cline-any cline-no">&nbsp;</span>
203
+ <span class="cline-any cline-no">&nbsp;</span>
204
+ <span class="cline-any cline-neutral">&nbsp;</span>
205
+ <span class="cline-any cline-neutral">&nbsp;</span>
206
+ <span class="cline-any cline-neutral">&nbsp;</span>
207
+ <span class="cline-any cline-neutral">&nbsp;</span>
208
+ <span class="cline-any cline-neutral">&nbsp;</span>
209
+ <span class="cline-any cline-neutral">&nbsp;</span>
210
+ <span class="cline-any cline-no">&nbsp;</span>
211
+ <span class="cline-any cline-no">&nbsp;</span>
212
+ <span class="cline-any cline-neutral">&nbsp;</span>
213
+ <span class="cline-any cline-neutral">&nbsp;</span>
214
+ <span class="cline-any cline-neutral">&nbsp;</span>
215
+ <span class="cline-any cline-neutral">&nbsp;</span>
216
+ <span class="cline-any cline-neutral">&nbsp;</span>
217
+ <span class="cline-any cline-neutral">&nbsp;</span>
218
+ <span class="cline-any cline-neutral">&nbsp;</span>
219
+ <span class="cline-any cline-no">&nbsp;</span>
220
+ <span class="cline-any cline-no">&nbsp;</span>
221
+ <span class="cline-any cline-neutral">&nbsp;</span>
222
+ <span class="cline-any cline-neutral">&nbsp;</span>
223
+ <span class="cline-any cline-neutral">&nbsp;</span>
224
+ <span class="cline-any cline-no">&nbsp;</span>
225
+ <span class="cline-any cline-no">&nbsp;</span>
226
+ <span class="cline-any cline-no">&nbsp;</span>
227
+ <span class="cline-any cline-no">&nbsp;</span>
228
+ <span class="cline-any cline-no">&nbsp;</span>
229
+ <span class="cline-any cline-neutral">&nbsp;</span>
230
+ <span class="cline-any cline-neutral">&nbsp;</span>
231
+ <span class="cline-any cline-no">&nbsp;</span>
232
+ <span class="cline-any cline-neutral">&nbsp;</span>
233
+ <span class="cline-any cline-neutral">&nbsp;</span>
234
+ <span class="cline-any cline-neutral">&nbsp;</span>
235
+ <span class="cline-any cline-neutral">&nbsp;</span>
236
+ <span class="cline-any cline-neutral">&nbsp;</span>
237
+ <span class="cline-any cline-neutral">&nbsp;</span>
238
+ <span class="cline-any cline-neutral">&nbsp;</span>
239
+ <span class="cline-any cline-neutral">&nbsp;</span>
240
+ <span class="cline-any cline-neutral">&nbsp;</span>
241
+ <span class="cline-any cline-no">&nbsp;</span>
242
+ <span class="cline-any cline-no">&nbsp;</span>
243
+ <span class="cline-any cline-neutral">&nbsp;</span>
244
+ <span class="cline-any cline-neutral">&nbsp;</span>
245
+ <span class="cline-any cline-neutral">&nbsp;</span>
246
+ <span class="cline-any cline-no">&nbsp;</span>
247
+ <span class="cline-any cline-no">&nbsp;</span>
248
+ <span class="cline-any cline-neutral">&nbsp;</span>
249
+ <span class="cline-any cline-neutral">&nbsp;</span>
250
+ <span class="cline-any cline-no">&nbsp;</span>
251
+ <span class="cline-any cline-no">&nbsp;</span>
252
+ <span class="cline-any cline-no">&nbsp;</span>
253
+ <span class="cline-any cline-neutral">&nbsp;</span>
254
+ <span class="cline-any cline-neutral">&nbsp;</span>
255
+ <span class="cline-any cline-no">&nbsp;</span>
256
+ <span class="cline-any cline-neutral">&nbsp;</span>
257
+ <span class="cline-any cline-neutral">&nbsp;</span>
258
+ <span class="cline-any cline-neutral">&nbsp;</span>
259
+ <span class="cline-any cline-no">&nbsp;</span>
260
+ <span class="cline-any cline-no">&nbsp;</span>
261
+ <span class="cline-any cline-no">&nbsp;</span>
262
+ <span class="cline-any cline-neutral">&nbsp;</span>
263
+ <span class="cline-any cline-neutral">&nbsp;</span>
264
+ <span class="cline-any cline-no">&nbsp;</span>
265
+ <span class="cline-any cline-neutral">&nbsp;</span>
266
+ <span class="cline-any cline-neutral">&nbsp;</span>
267
+ <span class="cline-any cline-neutral">&nbsp;</span>
268
+ <span class="cline-any cline-no">&nbsp;</span>
269
+ <span class="cline-any cline-no">&nbsp;</span>
270
+ <span class="cline-any cline-no">&nbsp;</span>
271
+ <span class="cline-any cline-no">&nbsp;</span>
272
+ <span class="cline-any cline-neutral">&nbsp;</span>
273
+ <span class="cline-any cline-neutral">&nbsp;</span>
274
+ <span class="cline-any cline-neutral">&nbsp;</span>
275
+ <span class="cline-any cline-no">&nbsp;</span>
276
+ <span class="cline-any cline-no">&nbsp;</span>
277
+ <span class="cline-any cline-no">&nbsp;</span>
278
+ <span class="cline-any cline-neutral">&nbsp;</span>
279
+ <span class="cline-any cline-no">&nbsp;</span>
280
+ <span class="cline-any cline-neutral">&nbsp;</span>
281
+ <span class="cline-any cline-neutral">&nbsp;</span>
282
+ <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { LinkedListNode } from './LinkedListNode';
283
+ &nbsp;
284
+ /**
285
+ * Implementation of a doubly linked-list that maintains both head and tail.
286
+ * Tail maintenance allows for O(1) insertions at tail
287
+ */
288
+ <span class="fstat-no" title="function not covered" >export class L</span>inkedList&lt;T&gt; {
289
+ public <span class="cstat-no" title="statement not covered" >length = 0;</span>
290
+ public <span class="cstat-no" title="statement not covered" >head: LinkedListNode&lt;T&gt; = null;</span>
291
+ public <span class="cstat-no" title="statement not covered" >tail: LinkedListNode&lt;T&gt; = null;</span>
292
+ &nbsp;
293
+ /**
294
+ * Adds a node to the end of a linked List
295
+ * @param T value
296
+ * @returns {LinkedListNode}
297
+ */
298
+ public <span class="fstat-no" title="function not covered" >add(</span>value: T): LinkedListNode&lt;T&gt; {
299
+ const node = <span class="cstat-no" title="statement not covered" >new LinkedListNode(value);</span>
300
+ &nbsp;
301
+ // when empty list
302
+ <span class="cstat-no" title="statement not covered" > if (!this.head) {</span>
303
+ <span class="cstat-no" title="statement not covered" > this.head = node;</span>
304
+ <span class="cstat-no" title="statement not covered" > this.tail = node;</span>
305
+ <span class="cstat-no" title="statement not covered" > this.length++;</span>
306
+ <span class="cstat-no" title="statement not covered" > return node;</span>
307
+ }
308
+ &nbsp;
309
+ // non-empty, append to tail
310
+ <span class="cstat-no" title="statement not covered" > node.prev = this.tail;</span>
311
+ <span class="cstat-no" title="statement not covered" > this.tail.next = node;</span>
312
+ <span class="cstat-no" title="statement not covered" > this.tail = node;</span>
313
+ <span class="cstat-no" title="statement not covered" > this.length++;</span>
314
+ <span class="cstat-no" title="statement not covered" > return node;</span>
315
+ }
316
+ &nbsp;
317
+ /**
318
+ * Finds the node at a specific position
319
+ */
320
+ public <span class="fstat-no" title="function not covered" >valueAt(</span>index: number): T {
321
+ const node = <span class="cstat-no" title="statement not covered" >this.nodeAt(index);</span>
322
+ <span class="cstat-no" title="statement not covered" > if (node) <span class="cstat-no" title="statement not covered" >return node.value;</span></span>
323
+ }
324
+ &nbsp;
325
+ /**
326
+ * Finds the node for the index or throws an out of range exception
327
+ */
328
+ public <span class="fstat-no" title="function not covered" >nodeAt(</span>index: number): LinkedListNode&lt;T&gt; {
329
+ // error when index out of range
330
+ <span class="cstat-no" title="statement not covered" > if (index &lt; 0 || index &gt; this.length) {</span>
331
+ <span class="cstat-no" title="statement not covered" > throw new RangeError('Index out of range');</span>
332
+ }
333
+ &nbsp;
334
+ // seek until index is found
335
+ let currentNode = <span class="cstat-no" title="statement not covered" >this.head;</span>
336
+ let count = <span class="cstat-no" title="statement not covered" >0;</span>
337
+ <span class="cstat-no" title="statement not covered" > while (count &lt; index) {</span>
338
+ <span class="cstat-no" title="statement not covered" > currentNode = currentNode.next;</span>
339
+ <span class="cstat-no" title="statement not covered" > count++;</span>
340
+ }
341
+ &nbsp;
342
+ <span class="cstat-no" title="statement not covered" > return currentNode;</span>
343
+ }
344
+ &nbsp;
345
+ /**
346
+ * Removes the node at the index and returns its value.
347
+ * Head or tail removal is an O(1) operation. For removal of other indexes
348
+ * is at worst O(N).
349
+ */
350
+ public <span class="fstat-no" title="function not covered" >remove(</span>index: number): T {
351
+ // error when index out of range
352
+ <span class="cstat-no" title="statement not covered" > if (index &lt; 0 || index &gt; this.length) {</span>
353
+ <span class="cstat-no" title="statement not covered" > throw new RangeError('Index out of range');</span>
354
+ }
355
+ &nbsp;
356
+ let removeNode;
357
+ let prevNode = <span class="cstat-no" title="statement not covered" >null;</span>
358
+ let nextNode = <span class="cstat-no" title="statement not covered" >null;</span>
359
+ &nbsp;
360
+ // first node simply removes the node at the tip
361
+ <span class="cstat-no" title="statement not covered" > if (index === 0) {</span>
362
+ <span class="cstat-no" title="statement not covered" > removeNode = this.head;</span>
363
+ <span class="cstat-no" title="statement not covered" > nextNode = this.head.next;</span>
364
+ &nbsp;
365
+ // adjust head
366
+ <span class="cstat-no" title="statement not covered" > this.head = nextNode;</span>
367
+ }
368
+ &nbsp;
369
+ // last node, update the tail and mark next as null
370
+ <span class="cstat-no" title="statement not covered" > if (index === this.length - 1) {</span>
371
+ <span class="cstat-no" title="statement not covered" > removeNode = this.tail;</span>
372
+ <span class="cstat-no" title="statement not covered" > prevNode = this.tail.prev;</span>
373
+ &nbsp;
374
+ // adjust tail
375
+ <span class="cstat-no" title="statement not covered" > this.tail = prevNode;</span>
376
+ }
377
+ &nbsp;
378
+ // middle node
379
+ <span class="cstat-no" title="statement not covered" > if (!removeNode) {</span>
380
+ <span class="cstat-no" title="statement not covered" > removeNode = this.nodeAt(index);</span>
381
+ <span class="cstat-no" title="statement not covered" > prevNode = removeNode.prev;</span>
382
+ <span class="cstat-no" title="statement not covered" > nextNode = removeNode.next;</span>
383
+ }
384
+ &nbsp;
385
+ // splice out the node afer null checking
386
+ <span class="cstat-no" title="statement not covered" > if (prevNode) <span class="cstat-no" title="statement not covered" >prevNode.next = nextNode;</span></span>
387
+ <span class="cstat-no" title="statement not covered" > if (nextNode) <span class="cstat-no" title="statement not covered" >nextNode.prev = prevNode;</span></span>
388
+ <span class="cstat-no" title="statement not covered" > this.length--;</span>
389
+ &nbsp;
390
+ <span class="cstat-no" title="statement not covered" > return removeNode.value;</span>
391
+ }
392
+ }
393
+ &nbsp;</pre></td></tr></table></pre>
394
+
395
+ <div class='push'></div><!-- for sticky footer -->
396
+ </div><!-- /wrapper -->
397
+ <div class='footer quiet pad2 space-top1 center small'>
398
+ Code coverage generated by
399
+ <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
400
+ at Sun Jul 20 2025 21:18:12 GMT-0700 (Pacific Daylight Saving Time)
401
+ </div>
402
+ </div>
403
+ <script src="../prettify.js"></script>
404
+ <script>
405
+ window.onload = function () {
406
+ prettyPrint();
407
+ };
408
+ </script>
409
+ <script src="../sorter.js"></script>
410
+ <script src="../block-navigation.js"></script>
411
+ </body>
412
+ </html>
413
+
@@ -0,0 +1,122 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en">
4
+
5
+ <head>
6
+ <title>Code coverage report for lib/LinkedListNode.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">lib</a> LinkedListNode.ts</h1>
23
+ <div class='clearfix'>
24
+
25
+ <div class='fl pad1y space-right2'>
26
+ <span class="strong">25% </span>
27
+ <span class="quiet">Statements</span>
28
+ <span class='fraction'>1/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">0% </span>
41
+ <span class="quiet">Functions</span>
42
+ <span class='fraction'>0/1</span>
43
+ </div>
44
+
45
+
46
+ <div class='fl pad1y space-right2'>
47
+ <span class="strong">25% </span>
48
+ <span class="quiet">Lines</span>
49
+ <span class='fraction'>1/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
+ </div>
58
+ <div class='status-line low'></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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
75
+ <span class="cline-any cline-neutral">&nbsp;</span>
76
+ <span class="cline-any cline-neutral">&nbsp;</span>
77
+ <span class="cline-any cline-neutral">&nbsp;</span>
78
+ <span class="cline-any cline-neutral">&nbsp;</span>
79
+ <span class="cline-any cline-neutral">&nbsp;</span>
80
+ <span class="cline-any cline-neutral">&nbsp;</span>
81
+ <span class="cline-any cline-neutral">&nbsp;</span>
82
+ <span class="cline-any cline-neutral">&nbsp;</span>
83
+ <span class="cline-any cline-no">&nbsp;</span>
84
+ <span class="cline-any cline-no">&nbsp;</span>
85
+ <span class="cline-any cline-no">&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></td><td class="text"><pre class="prettyprint lang-js">export class LinkedListNode&lt;T&gt; {
89
+ public value: T;
90
+ public prev: LinkedListNode&lt;T&gt;;
91
+ public next: LinkedListNode&lt;T&gt;;
92
+ &nbsp;
93
+ /**
94
+ * Creates a linked list node with the specified data
95
+ */
96
+ <span class="fstat-no" title="function not covered" > constructor(v</span>alue: T) {
97
+ <span class="cstat-no" title="statement not covered" > this.value = value;</span>
98
+ <span class="cstat-no" title="statement not covered" > this.prev = null;</span>
99
+ <span class="cstat-no" title="statement not covered" > this.next = null;</span>
100
+ }
101
+ }
102
+ &nbsp;</pre></td></tr></table></pre>
103
+
104
+ <div class='push'></div><!-- for sticky footer -->
105
+ </div><!-- /wrapper -->
106
+ <div class='footer quiet pad2 space-top1 center small'>
107
+ Code coverage generated by
108
+ <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
109
+ at Sun Jul 20 2025 21:18:12 GMT-0700 (Pacific Daylight Saving Time)
110
+ </div>
111
+ </div>
112
+ <script src="../prettify.js"></script>
113
+ <script>
114
+ window.onload = function () {
115
+ prettyPrint();
116
+ };
117
+ </script>
118
+ <script src="../sorter.js"></script>
119
+ <script src="../block-navigation.js"></script>
120
+ </body>
121
+ </html>
122
+