apacuana-sdk-core 0.4.0 → 0.6.0

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 (39) hide show
  1. package/README.md +90 -55
  2. package/coverage/clover.xml +140 -119
  3. package/coverage/coverage-final.json +6 -6
  4. package/coverage/lcov-report/index.html +27 -27
  5. package/coverage/lcov-report/src/api/certs.js.html +40 -4
  6. package/coverage/lcov-report/src/api/index.html +19 -19
  7. package/coverage/lcov-report/src/api/revocations.js.html +21 -3
  8. package/coverage/lcov-report/src/api/signatures.js.html +433 -148
  9. package/coverage/lcov-report/src/api/users.js.html +24 -3
  10. package/coverage/lcov-report/src/config/index.html +1 -1
  11. package/coverage/lcov-report/src/config/index.js.html +1 -1
  12. package/coverage/lcov-report/src/errors/index.html +1 -1
  13. package/coverage/lcov-report/src/errors/index.js.html +1 -1
  14. package/coverage/lcov-report/src/index.html +1 -1
  15. package/coverage/lcov-report/src/index.js.html +9 -3
  16. package/coverage/lcov-report/src/utils/constant.js.html +3 -3
  17. package/coverage/lcov-report/src/utils/helpers.js.html +143 -8
  18. package/coverage/lcov-report/src/utils/httpClient.js.html +1 -1
  19. package/coverage/lcov-report/src/utils/index.html +15 -15
  20. package/coverage/lcov.info +250 -202
  21. package/dist/api/certs.d.ts +17 -3
  22. package/dist/api/revocations.d.ts +17 -2
  23. package/dist/api/signatures.d.ts +120 -12
  24. package/dist/api/users.d.ts +22 -6
  25. package/dist/index.d.ts +4 -0
  26. package/dist/index.js +405 -92
  27. package/dist/index.js.map +1 -1
  28. package/dist/index.mjs +405 -92
  29. package/dist/index.mjs.map +1 -1
  30. package/dist/utils/helpers.d.ts +2 -0
  31. package/package.json +1 -1
  32. package/src/api/certs.js +14 -2
  33. package/src/api/revocations.js +7 -1
  34. package/src/api/signatures.js +195 -100
  35. package/src/api/users.js +8 -1
  36. package/src/index.js +3 -1
  37. package/src/utils/constant.js +2 -2
  38. package/src/utils/helpers.js +45 -0
  39. package/tests/api/signatures.test.js +11 -4
@@ -125,7 +125,21 @@
125
125
  <a name='L60'></a><a href='#L60'>60</a>
126
126
  <a name='L61'></a><a href='#L61'>61</a>
127
127
  <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
136
+ <span class="cline-any cline-neutral">&nbsp;</span>
137
+ <span class="cline-any cline-neutral">&nbsp;</span>
138
+ <span class="cline-any cline-neutral">&nbsp;</span>
139
+ <span class="cline-any cline-neutral">&nbsp;</span>
140
+ <span class="cline-any cline-neutral">&nbsp;</span>
141
+ <span class="cline-any cline-neutral">&nbsp;</span>
142
+ <span class="cline-any cline-neutral">&nbsp;</span>
129
143
  <span class="cline-any cline-neutral">&nbsp;</span>
130
144
  <span class="cline-any cline-neutral">&nbsp;</span>
131
145
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -191,12 +205,19 @@
191
205
  import { ApacuanaAPIError } from "../errors/index";
192
206
  import { getConfig } from "../config/index";
193
207
  &nbsp;
208
+ /**
209
+ * @typedef {object} GetCustomerResponse
210
+ * @property {string} token - El token de sesión del usuario.
211
+ * @property {object} userData - Los datos del usuario obtenidos.
212
+ * @property {boolean} success - Indica si la operación fue exitosa.
213
+ */
214
+ &nbsp;
194
215
  /**
195
216
  * Obtiene el token de un usuario a través de una petición POST.
196
217
  * Este método es útil para endpoints que requieren datos en el cuerpo de la petición
197
218
  * para buscar un usuario, como un ID de sesión o un token de acceso.
198
219
  *
199
- * @returns {Promise&lt;{token: string, userData: object, success: boolean}&gt;} Objeto con el token de sesión, los datos del usuario y un indicador de éxito.
220
+ * @returns {Promise&lt;GetCustomerResponse&gt;} Objeto con el token de sesión, los datos del usuario y un indicador de éxito.
200
221
  * @throws {Error} Si los parámetros de entrada son inválidos.
201
222
  * @throws {ApacuanaAPIError} Si ocurre un error en la API de Apacuana.
202
223
  */
@@ -256,7 +277,7 @@ export default getCustomer;
256
277
  <div class='footer quiet pad2 space-top1 center small'>
257
278
  Code coverage generated by
258
279
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
259
- at 2025-08-25T16:11:28.089Z
280
+ at 2025-08-25T23:18:38.359Z
260
281
  </div>
261
282
  <script src="../../prettify.js"></script>
262
283
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2025-08-25T16:11:28.089Z
104
+ at 2025-08-25T23:18:38.359Z
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -193,7 +193,7 @@ export const getConfig = <span class="fstat-no" title="function not covered" >()
193
193
  <div class='footer quiet pad2 space-top1 center small'>
194
194
  Code coverage generated by
195
195
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
196
- at 2025-08-25T16:11:28.089Z
196
+ at 2025-08-25T23:18:38.359Z
197
197
  </div>
198
198
  <script src="../../prettify.js"></script>
199
199
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2025-08-25T16:11:28.089Z
104
+ at 2025-08-25T23:18:38.359Z
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -133,7 +133,7 @@ export default ApacuanaAPIError;
133
133
  <div class='footer quiet pad2 space-top1 center small'>
134
134
  Code coverage generated by
135
135
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
136
- at 2025-08-25T16:11:28.089Z
136
+ at 2025-08-25T23:18:38.359Z
137
137
  </div>
138
138
  <script src="../../prettify.js"></script>
139
139
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2025-08-25T16:11:28.089Z
104
+ at 2025-08-25T23:18:38.359Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -134,7 +134,9 @@
134
134
  <a name='L69'></a><a href='#L69'>69</a>
135
135
  <a name='L70'></a><a href='#L70'>70</a>
136
136
  <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
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></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
138
140
  <span class="cline-any cline-neutral">&nbsp;</span>
139
141
  <span class="cline-any cline-neutral">&nbsp;</span>
140
142
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -205,12 +207,14 @@
205
207
  <span class="cline-any cline-neutral">&nbsp;</span>
206
208
  <span class="cline-any cline-neutral">&nbsp;</span>
207
209
  <span class="cline-any cline-neutral">&nbsp;</span>
210
+ <span class="cline-any cline-neutral">&nbsp;</span>
211
+ <span class="cline-any cline-neutral">&nbsp;</span>
208
212
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { setConfig, getConfig } from "./config/index";
209
213
  import { initHttpClient, setAuthToken } from "./utils/httpClient";
210
214
  import getCustomer from "./api/users";
211
215
  import requestRevocation from "./api/revocations";
212
216
  import { generateCert, getCertStatus } from "./api/certs";
213
- import { addSigner, getDocs } from "./api/signatures";
217
+ import { addSigner, getDigest, getDocs, signDocument } from "./api/signatures";
214
218
  &nbsp;
215
219
  const apacuana = {
216
220
  /**
@@ -273,6 +277,8 @@ const apacuana = {
273
277
  addSigner,
274
278
  getDocs,
275
279
  generateCert,
280
+ signDocument,
281
+ getDigest,
276
282
  };
277
283
  &nbsp;
278
284
  export default apacuana;
@@ -283,7 +289,7 @@ export default apacuana;
283
289
  <div class='footer quiet pad2 space-top1 center small'>
284
290
  Code coverage generated by
285
291
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
286
- at 2025-08-25T16:11:28.089Z
292
+ at 2025-08-25T23:18:38.359Z
287
293
  </div>
288
294
  <script src="../prettify.js"></script>
289
295
  <script>
@@ -120,8 +120,8 @@ export const VERIFICATION_STATUS = {
120
120
  };
121
121
  &nbsp;
122
122
  export const INTEGRATION_TYPE = {
123
- ONBOARDING: 'onboarding',
124
- ONPREMISE: 'onpremise',
123
+ ONBOARDING: "ONBOARDING",
124
+ ONPREMISE: "ONPREMISE",
125
125
  };
126
126
  &nbsp;</pre></td></tr></table></pre>
127
127
 
@@ -130,7 +130,7 @@ export const INTEGRATION_TYPE = {
130
130
  <div class='footer quiet pad2 space-top1 center small'>
131
131
  Code coverage generated by
132
132
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
133
- at 2025-08-25T16:11:28.089Z
133
+ at 2025-08-25T23:18:38.359Z
134
134
  </div>
135
135
  <script src="../../prettify.js"></script>
136
136
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">12.12% </span>
26
+ <span class="strong">11.53% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>8/66</span>
28
+ <span class='fraction'>9/78</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/86</span>
35
+ <span class='fraction'>0/105</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/9</span>
42
+ <span class='fraction'>0/10</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">12.69% </span>
47
+ <span class="strong">12% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>8/63</span>
49
+ <span class='fraction'>9/75</span>
50
50
  </div>
51
51
 
52
52
 
@@ -287,7 +287,52 @@
287
287
  <a name='L222'></a><a href='#L222'>222</a>
288
288
  <a name='L223'></a><a href='#L223'>223</a>
289
289
  <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
290
+ <a name='L225'></a><a href='#L225'>225</a>
291
+ <a name='L226'></a><a href='#L226'>226</a>
292
+ <a name='L227'></a><a href='#L227'>227</a>
293
+ <a name='L228'></a><a href='#L228'>228</a>
294
+ <a name='L229'></a><a href='#L229'>229</a>
295
+ <a name='L230'></a><a href='#L230'>230</a>
296
+ <a name='L231'></a><a href='#L231'>231</a>
297
+ <a name='L232'></a><a href='#L232'>232</a>
298
+ <a name='L233'></a><a href='#L233'>233</a>
299
+ <a name='L234'></a><a href='#L234'>234</a>
300
+ <a name='L235'></a><a href='#L235'>235</a>
301
+ <a name='L236'></a><a href='#L236'>236</a>
302
+ <a name='L237'></a><a href='#L237'>237</a>
303
+ <a name='L238'></a><a href='#L238'>238</a>
304
+ <a name='L239'></a><a href='#L239'>239</a>
305
+ <a name='L240'></a><a href='#L240'>240</a>
306
+ <a name='L241'></a><a href='#L241'>241</a>
307
+ <a name='L242'></a><a href='#L242'>242</a>
308
+ <a name='L243'></a><a href='#L243'>243</a>
309
+ <a name='L244'></a><a href='#L244'>244</a>
310
+ <a name='L245'></a><a href='#L245'>245</a>
311
+ <a name='L246'></a><a href='#L246'>246</a>
312
+ <a name='L247'></a><a href='#L247'>247</a>
313
+ <a name='L248'></a><a href='#L248'>248</a>
314
+ <a name='L249'></a><a href='#L249'>249</a>
315
+ <a name='L250'></a><a href='#L250'>250</a>
316
+ <a name='L251'></a><a href='#L251'>251</a>
317
+ <a name='L252'></a><a href='#L252'>252</a>
318
+ <a name='L253'></a><a href='#L253'>253</a>
319
+ <a name='L254'></a><a href='#L254'>254</a>
320
+ <a name='L255'></a><a href='#L255'>255</a>
321
+ <a name='L256'></a><a href='#L256'>256</a>
322
+ <a name='L257'></a><a href='#L257'>257</a>
323
+ <a name='L258'></a><a href='#L258'>258</a>
324
+ <a name='L259'></a><a href='#L259'>259</a>
325
+ <a name='L260'></a><a href='#L260'>260</a>
326
+ <a name='L261'></a><a href='#L261'>261</a>
327
+ <a name='L262'></a><a href='#L262'>262</a>
328
+ <a name='L263'></a><a href='#L263'>263</a>
329
+ <a name='L264'></a><a href='#L264'>264</a>
330
+ <a name='L265'></a><a href='#L265'>265</a>
331
+ <a name='L266'></a><a href='#L266'>266</a>
332
+ <a name='L267'></a><a href='#L267'>267</a>
333
+ <a name='L268'></a><a href='#L268'>268</a>
334
+ <a name='L269'></a><a href='#L269'>269</a>
335
+ <a name='L270'></a><a href='#L270'>270</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
291
336
  <span class="cline-any cline-neutral">&nbsp;</span>
292
337
  <span class="cline-any cline-neutral">&nbsp;</span>
293
338
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -501,6 +546,51 @@
501
546
  <span class="cline-any cline-neutral">&nbsp;</span>
502
547
  <span class="cline-any cline-neutral">&nbsp;</span>
503
548
  <span class="cline-any cline-neutral">&nbsp;</span>
549
+ <span class="cline-any cline-yes">2x</span>
550
+ <span class="cline-any cline-no">&nbsp;</span>
551
+ <span class="cline-any cline-no">&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-neutral">&nbsp;</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-no">&nbsp;</span>
559
+ <span class="cline-any cline-neutral">&nbsp;</span>
560
+ <span class="cline-any cline-no">&nbsp;</span>
561
+ <span class="cline-any cline-no">&nbsp;</span>
562
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
567
+ <span class="cline-any cline-neutral">&nbsp;</span>
568
+ <span class="cline-any cline-no">&nbsp;</span>
569
+ <span class="cline-any cline-no">&nbsp;</span>
570
+ <span class="cline-any cline-neutral">&nbsp;</span>
571
+ <span class="cline-any cline-neutral">&nbsp;</span>
572
+ <span class="cline-any cline-neutral">&nbsp;</span>
573
+ <span class="cline-any cline-neutral">&nbsp;</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-no">&nbsp;</span>
577
+ <span class="cline-any cline-no">&nbsp;</span>
578
+ <span class="cline-any cline-neutral">&nbsp;</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-neutral">&nbsp;</span>
583
+ <span class="cline-any cline-neutral">&nbsp;</span>
584
+ <span class="cline-any cline-no">&nbsp;</span>
585
+ <span class="cline-any cline-no">&nbsp;</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-neutral">&nbsp;</span>
504
594
  <span class="cline-any cline-neutral">&nbsp;</span>
505
595
  <span class="cline-any cline-neutral">&nbsp;</span>
506
596
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -725,6 +815,50 @@ const validateGetDigestData = <span class="fstat-no" title="function not covered
725
815
  }
726
816
  };
727
817
  &nbsp;
818
+ const validateOnBoardingSignDocumentData = <span class="fstat-no" title="function not covered" >(s</span>ignData) =&gt; {
819
+ <span class="cstat-no" title="statement not covered" > if (!signData || typeof signData !== "object") {</span>
820
+ <span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
821
+ "Sign data is required and must be an object.",
822
+ 400,
823
+ "INVALID_PARAMETER"
824
+ );
825
+ }
826
+ &nbsp;
827
+ const { signature, cert, signedDigest } = <span class="cstat-no" title="statement not covered" >signData;</span>
828
+ &nbsp;
829
+ <span class="cstat-no" title="statement not covered" > if (!signature || typeof signature !== "object" || !signature.id) {</span>
830
+ <span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
831
+ "Signature object with an 'id' property is required.",
832
+ 400,
833
+ "INVALID_PARAMETER"
834
+ );
835
+ }
836
+ &nbsp;
837
+ <span class="cstat-no" title="statement not covered" > if (!Array.isArray(signature.positions)) {</span>
838
+ <span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
839
+ "Signature 'positions' must be an array.",
840
+ 400,
841
+ "INVALID_PARAMETER"
842
+ );
843
+ }
844
+ &nbsp;
845
+ <span class="cstat-no" title="statement not covered" > if (!cert || typeof cert !== "string") {</span>
846
+ <span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
847
+ "Certificate 'cert' is required and must be a string.",
848
+ 400,
849
+ "INVALID_PARAMETER"
850
+ );
851
+ }
852
+ &nbsp;
853
+ <span class="cstat-no" title="statement not covered" > if (!signedDigest || typeof signedDigest !== "string") {</span>
854
+ <span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
855
+ "Signed digest 'signedDigest' is required and must be a string.",
856
+ 400,
857
+ "INVALID_PARAMETER"
858
+ );
859
+ }
860
+ };
861
+ &nbsp;
728
862
  export default {
729
863
  getCertificateStatus,
730
864
  exportPrivateKey,
@@ -734,6 +868,7 @@ export default {
734
868
  validateCsr,
735
869
  validateGetDocsData,
736
870
  validateGetDigestData,
871
+ validateOnBoardingSignDocumentData,
737
872
  };
738
873
  &nbsp;</pre></td></tr></table></pre>
739
874
 
@@ -742,7 +877,7 @@ export default {
742
877
  <div class='footer quiet pad2 space-top1 center small'>
743
878
  Code coverage generated by
744
879
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
745
- at 2025-08-25T16:11:28.089Z
880
+ at 2025-08-25T23:18:38.359Z
746
881
  </div>
747
882
  <script src="../../prettify.js"></script>
748
883
  <script>
@@ -631,7 +631,7 @@ export const httpRequest = <span class="fstat-no" title="function not covered" >
631
631
  <div class='footer quiet pad2 space-top1 center small'>
632
632
  Code coverage generated by
633
633
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
634
- at 2025-08-25T16:11:28.089Z
634
+ at 2025-08-25T23:18:38.359Z
635
635
  </div>
636
636
  <script src="../../prettify.js"></script>
637
637
  <script>
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">12.17% </span>
26
+ <span class="strong">11.81% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>14/115</span>
28
+ <span class='fraction'>15/127</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
33
  <span class="strong">0% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>0/126</span>
35
+ <span class='fraction'>0/145</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
40
  <span class="strong">0% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>0/14</span>
42
+ <span class='fraction'>0/15</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">12.5% </span>
47
+ <span class="strong">12.09% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>14/112</span>
49
+ <span class='fraction'>15/124</span>
50
50
  </div>
51
51
 
52
52
 
@@ -95,17 +95,17 @@
95
95
 
96
96
  <tr>
97
97
  <td class="file low" data-value="helpers.js"><a href="helpers.js.html">helpers.js</a></td>
98
- <td data-value="12.12" class="pic low">
99
- <div class="chart"><div class="cover-fill" style="width: 12%"></div><div class="cover-empty" style="width: 88%"></div></div>
98
+ <td data-value="11.53" class="pic low">
99
+ <div class="chart"><div class="cover-fill" style="width: 11%"></div><div class="cover-empty" style="width: 89%"></div></div>
100
100
  </td>
101
- <td data-value="12.12" class="pct low">12.12%</td>
102
- <td data-value="66" class="abs low">8/66</td>
101
+ <td data-value="11.53" class="pct low">11.53%</td>
102
+ <td data-value="78" class="abs low">9/78</td>
103
103
  <td data-value="0" class="pct low">0%</td>
104
- <td data-value="86" class="abs low">0/86</td>
104
+ <td data-value="105" class="abs low">0/105</td>
105
105
  <td data-value="0" class="pct low">0%</td>
106
- <td data-value="9" class="abs low">0/9</td>
107
- <td data-value="12.69" class="pct low">12.69%</td>
108
- <td data-value="63" class="abs low">8/63</td>
106
+ <td data-value="10" class="abs low">0/10</td>
107
+ <td data-value="12" class="pct low">12%</td>
108
+ <td data-value="75" class="abs low">9/75</td>
109
109
  </tr>
110
110
 
111
111
  <tr>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at 2025-08-25T16:11:28.089Z
134
+ at 2025-08-25T23:18:38.359Z
135
135
  </div>
136
136
  <script src="../../prettify.js"></script>
137
137
  <script>