apacuana-sdk-core 0.10.0 → 0.12.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.
- package/README.md +305 -286
- package/coverage/clover.xml +345 -248
- package/coverage/coverage-final.json +9 -7
- package/coverage/lcov-report/index.html +41 -26
- package/coverage/lcov-report/src/api/certs.js.html +162 -87
- package/coverage/lcov-report/src/api/faceLiveness.js.html +523 -0
- package/coverage/lcov-report/src/api/index.html +43 -28
- package/coverage/lcov-report/src/api/revocations.js.html +132 -90
- package/coverage/lcov-report/src/api/signatures.js.html +25 -253
- package/coverage/lcov-report/src/api/users.js.html +23 -14
- package/coverage/lcov-report/src/config/index.html +1 -1
- package/coverage/lcov-report/src/config/index.js.html +1 -1
- package/coverage/lcov-report/src/errors/index.html +1 -1
- package/coverage/lcov-report/src/errors/index.js.html +8 -8
- package/coverage/lcov-report/src/index.html +13 -13
- package/coverage/lcov-report/src/index.js.html +96 -12
- package/coverage/lcov-report/src/success/index.html +116 -0
- package/coverage/lcov-report/src/success/index.js.html +106 -0
- package/coverage/lcov-report/src/utils/constant.js.html +4 -4
- package/coverage/lcov-report/src/utils/helpers.js.html +1 -1
- package/coverage/lcov-report/src/utils/httpClient.js.html +1 -1
- package/coverage/lcov-report/src/utils/index.html +1 -1
- package/coverage/lcov.info +597 -414
- package/dist/api/certs.d.ts +9 -70
- package/dist/api/faceLiveness.d.ts +6 -0
- package/dist/api/revocations.d.ts +6 -42
- package/dist/api/signatures.d.ts +11 -153
- package/dist/api/users.d.ts +16 -6
- package/dist/index.d.ts +6 -0
- package/dist/index.js +513 -259
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +513 -259
- package/dist/index.mjs.map +1 -1
- package/dist/success/index.d.ts +7 -0
- package/dist/types/certs.d.ts +97 -0
- package/dist/types/faceLiveness.d.ts +11 -0
- package/dist/types/revocations.d.ts +51 -0
- package/dist/types/signatures.d.ts +147 -0
- package/dist/types/users.d.ts +260 -0
- package/package.json +1 -1
- package/src/api/certs.js +74 -49
- package/src/api/faceLiveness.js +146 -0
- package/src/api/revocations.js +76 -62
- package/src/api/signatures.js +21 -97
- package/src/api/users.js +12 -9
- package/src/index.js +33 -5
- package/src/success/index.js +8 -0
- package/src/types/certs.js +56 -0
- package/src/types/faceLiveness.js +16 -0
- package/src/types/revocations.js +45 -0
- package/src/types/signatures.js +91 -0
- package/src/types/users.js +73 -0
- package/tests/api/certs.test.js +99 -6
- package/tests/api/faceLiveness.test.js +170 -0
- package/tests/api/revocations.test.js +35 -35
- package/tests/api/signatures.test.js +11 -5
- package/tests/api/users.test.js +3 -2
- package/tests/index.test.js +16 -8
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">86.11% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>31/36</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">80% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>16/20</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">83.33% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>5/6</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">86.11% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>31/36</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -158,7 +158,21 @@
|
|
|
158
158
|
<a name='L93'></a><a href='#L93'>93</a>
|
|
159
159
|
<a name='L94'></a><a href='#L94'>94</a>
|
|
160
160
|
<a name='L95'></a><a href='#L95'>95</a>
|
|
161
|
-
<a name='L96'></a><a href='#L96'>96</a
|
|
161
|
+
<a name='L96'></a><a href='#L96'>96</a>
|
|
162
|
+
<a name='L97'></a><a href='#L97'>97</a>
|
|
163
|
+
<a name='L98'></a><a href='#L98'>98</a>
|
|
164
|
+
<a name='L99'></a><a href='#L99'>99</a>
|
|
165
|
+
<a name='L100'></a><a href='#L100'>100</a>
|
|
166
|
+
<a name='L101'></a><a href='#L101'>101</a>
|
|
167
|
+
<a name='L102'></a><a href='#L102'>102</a>
|
|
168
|
+
<a name='L103'></a><a href='#L103'>103</a>
|
|
169
|
+
<a name='L104'></a><a href='#L104'>104</a>
|
|
170
|
+
<a name='L105'></a><a href='#L105'>105</a>
|
|
171
|
+
<a name='L106'></a><a href='#L106'>106</a>
|
|
172
|
+
<a name='L107'></a><a href='#L107'>107</a>
|
|
173
|
+
<a name='L108'></a><a href='#L108'>108</a>
|
|
174
|
+
<a name='L109'></a><a href='#L109'>109</a>
|
|
175
|
+
<a name='L110'></a><a href='#L110'>110</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
162
176
|
<span class="cline-any cline-neutral"> </span>
|
|
163
177
|
<span class="cline-any cline-neutral"> </span>
|
|
164
178
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -167,15 +181,24 @@
|
|
|
167
181
|
<span class="cline-any cline-neutral"> </span>
|
|
168
182
|
<span class="cline-any cline-neutral"> </span>
|
|
169
183
|
<span class="cline-any cline-neutral"> </span>
|
|
184
|
+
<span class="cline-any cline-yes">2x</span>
|
|
185
|
+
<span class="cline-any cline-yes">3x</span>
|
|
186
|
+
<span class="cline-any cline-yes">3x</span>
|
|
170
187
|
<span class="cline-any cline-neutral"> </span>
|
|
171
188
|
<span class="cline-any cline-neutral"> </span>
|
|
172
189
|
<span class="cline-any cline-neutral"> </span>
|
|
173
190
|
<span class="cline-any cline-neutral"> </span>
|
|
191
|
+
<span class="cline-any cline-yes">1x</span>
|
|
174
192
|
<span class="cline-any cline-neutral"> </span>
|
|
193
|
+
<span class="cline-any cline-yes">2x</span>
|
|
194
|
+
<span class="cline-any cline-yes">1x</span>
|
|
175
195
|
<span class="cline-any cline-neutral"> </span>
|
|
196
|
+
<span class="cline-any cline-yes">1x</span>
|
|
176
197
|
<span class="cline-any cline-neutral"> </span>
|
|
177
198
|
<span class="cline-any cline-neutral"> </span>
|
|
178
199
|
<span class="cline-any cline-neutral"> </span>
|
|
200
|
+
<span class="cline-any cline-yes">2x</span>
|
|
201
|
+
<span class="cline-any cline-no"> </span>
|
|
179
202
|
<span class="cline-any cline-neutral"> </span>
|
|
180
203
|
<span class="cline-any cline-neutral"> </span>
|
|
181
204
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -189,42 +212,48 @@
|
|
|
189
212
|
<span class="cline-any cline-neutral"> </span>
|
|
190
213
|
<span class="cline-any cline-neutral"> </span>
|
|
191
214
|
<span class="cline-any cline-neutral"> </span>
|
|
215
|
+
<span class="cline-any cline-yes">2x</span>
|
|
216
|
+
<span class="cline-any cline-yes">5x</span>
|
|
217
|
+
<span class="cline-any cline-yes">2x</span>
|
|
192
218
|
<span class="cline-any cline-neutral"> </span>
|
|
193
219
|
<span class="cline-any cline-neutral"> </span>
|
|
194
220
|
<span class="cline-any cline-neutral"> </span>
|
|
195
221
|
<span class="cline-any cline-neutral"> </span>
|
|
222
|
+
<span class="cline-any cline-yes">3x</span>
|
|
196
223
|
<span class="cline-any cline-neutral"> </span>
|
|
224
|
+
<span class="cline-any cline-yes">3x</span>
|
|
225
|
+
<span class="cline-any cline-yes">3x</span>
|
|
197
226
|
<span class="cline-any cline-neutral"> </span>
|
|
227
|
+
<span class="cline-any cline-no"> </span>
|
|
228
|
+
<span class="cline-any cline-no"> </span>
|
|
198
229
|
<span class="cline-any cline-neutral"> </span>
|
|
230
|
+
<span class="cline-any cline-no"> </span>
|
|
199
231
|
<span class="cline-any cline-neutral"> </span>
|
|
200
232
|
<span class="cline-any cline-neutral"> </span>
|
|
201
|
-
<span class="cline-any cline-yes">2x</span>
|
|
202
|
-
<span class="cline-any cline-yes">3x</span>
|
|
203
|
-
<span class="cline-any cline-yes">1x</span>
|
|
204
233
|
<span class="cline-any cline-neutral"> </span>
|
|
205
234
|
<span class="cline-any cline-neutral"> </span>
|
|
206
|
-
<span class="cline-any cline-yes">2x</span>
|
|
207
|
-
<span class="cline-any cline-yes">2x</span>
|
|
208
235
|
<span class="cline-any cline-neutral"> </span>
|
|
209
236
|
<span class="cline-any cline-neutral"> </span>
|
|
237
|
+
<span class="cline-any cline-yes">2x</span>
|
|
238
|
+
<span class="cline-any cline-yes">4x</span>
|
|
239
|
+
<span class="cline-any cline-yes">4x</span>
|
|
210
240
|
<span class="cline-any cline-neutral"> </span>
|
|
211
241
|
<span class="cline-any cline-neutral"> </span>
|
|
212
242
|
<span class="cline-any cline-neutral"> </span>
|
|
213
|
-
<span class="cline-any cline-yes">1x</span>
|
|
214
243
|
<span class="cline-any cline-neutral"> </span>
|
|
244
|
+
<span class="cline-any cline-yes">2x</span>
|
|
215
245
|
<span class="cline-any cline-yes">1x</span>
|
|
216
246
|
<span class="cline-any cline-neutral"> </span>
|
|
247
|
+
<span class="cline-any cline-yes">1x</span>
|
|
217
248
|
<span class="cline-any cline-neutral"> </span>
|
|
249
|
+
<span class="cline-any cline-yes">3x</span>
|
|
250
|
+
<span class="cline-any cline-yes">2x</span>
|
|
218
251
|
<span class="cline-any cline-neutral"> </span>
|
|
219
|
-
<span class="cline-any cline-
|
|
220
|
-
<span class="cline-any cline-neutral"> </span>
|
|
252
|
+
<span class="cline-any cline-yes">1x</span>
|
|
221
253
|
<span class="cline-any cline-neutral"> </span>
|
|
222
254
|
<span class="cline-any cline-neutral"> </span>
|
|
223
255
|
<span class="cline-any cline-neutral"> </span>
|
|
224
256
|
<span class="cline-any cline-yes">2x</span>
|
|
225
|
-
<span class="cline-any cline-yes">5x</span>
|
|
226
|
-
<span class="cline-any cline-neutral"> </span>
|
|
227
|
-
<span class="cline-any cline-yes">5x</span>
|
|
228
257
|
<span class="cline-any cline-yes">1x</span>
|
|
229
258
|
<span class="cline-any cline-neutral"> </span>
|
|
230
259
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -232,121 +261,134 @@
|
|
|
232
261
|
<span class="cline-any cline-neutral"> </span>
|
|
233
262
|
<span class="cline-any cline-neutral"> </span>
|
|
234
263
|
<span class="cline-any cline-neutral"> </span>
|
|
235
|
-
<span class="cline-any cline-yes">4x</span>
|
|
236
|
-
<span class="cline-any cline-yes">4x</span>
|
|
237
264
|
<span class="cline-any cline-neutral"> </span>
|
|
238
265
|
<span class="cline-any cline-neutral"> </span>
|
|
239
266
|
<span class="cline-any cline-neutral"> </span>
|
|
240
267
|
<span class="cline-any cline-neutral"> </span>
|
|
241
268
|
<span class="cline-any cline-neutral"> </span>
|
|
242
269
|
<span class="cline-any cline-yes">2x</span>
|
|
243
|
-
<span class="cline-any cline-yes">
|
|
270
|
+
<span class="cline-any cline-yes">5x</span>
|
|
244
271
|
<span class="cline-any cline-neutral"> </span>
|
|
272
|
+
<span class="cline-any cline-yes">5x</span>
|
|
273
|
+
<span class="cline-any cline-yes">4x</span>
|
|
245
274
|
<span class="cline-any cline-neutral"> </span>
|
|
246
275
|
<span class="cline-any cline-yes">1x</span>
|
|
276
|
+
<span class="cline-any cline-yes">1x</span>
|
|
247
277
|
<span class="cline-any cline-neutral"> </span>
|
|
248
|
-
<span class="cline-any cline-
|
|
249
|
-
<span class="cline-any cline-yes">2x</span>
|
|
278
|
+
<span class="cline-any cline-no"> </span>
|
|
250
279
|
<span class="cline-any cline-neutral"> </span>
|
|
251
|
-
<span class="cline-any cline-yes">1x</span>
|
|
252
280
|
<span class="cline-any cline-neutral"> </span>
|
|
253
281
|
<span class="cline-any cline-neutral"> </span>
|
|
254
282
|
<span class="cline-any cline-neutral"> </span>
|
|
255
283
|
<span class="cline-any cline-neutral"> </span>
|
|
256
284
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { httpRequest } from "../utils/httpClient";
|
|
257
|
-
import { ApacuanaAPIError } from "../errors/index";
|
|
258
285
|
import { getConfig } from "../config";
|
|
259
286
|
import { INTEGRATION_TYPE } from "../utils/constant";
|
|
287
|
+
import { ApacuanaAPIError } from "../errors";
|
|
288
|
+
import ApacuanaSuccess from "../success";
|
|
260
289
|
|
|
261
|
-
/**
|
|
262
|
-
|
|
263
|
-
* @property {string} revocationStatus - El estado de la solicitud de revocación (e.g., "pending").
|
|
264
|
-
* @property {string|number} requestId - El ID de la solicitud de revocación.
|
|
265
|
-
*/
|
|
266
|
-
|
|
267
|
-
/**
|
|
268
|
-
* Simula la solicitud de revocación de un certificado.
|
|
269
|
-
* @param {string} reasonCode - Código o descripción del motivo de la revocación.
|
|
270
|
-
* @returns {Promise<RequestRevocationResponse>} Objeto con el estado de la solicitud de revocación.
|
|
271
|
-
*/
|
|
272
|
-
/**
|
|
273
|
-
* @typedef {object} RevocationResponse
|
|
274
|
-
* @property {boolean} success - Indicates if the revocation request was successful.
|
|
275
|
-
* @property {string} [message] - A message providing details about the outcome.
|
|
276
|
-
*/
|
|
277
|
-
|
|
278
|
-
/**
|
|
279
|
-
* @typedef {object} RevocationReason
|
|
280
|
-
* @property {string} code - The code for the revocation reason.
|
|
281
|
-
* @property {string} description - The description of the revocation reason.
|
|
282
|
-
*/
|
|
283
|
-
|
|
284
|
-
/**
|
|
285
|
-
* @typedef {object} RevocationReasonsResponse
|
|
286
|
-
* @property {boolean} success - Indicates if the request was successful.
|
|
287
|
-
* @property {RevocationReason[]} reasons - A list of revocation reasons.
|
|
288
|
-
*/
|
|
289
|
-
|
|
290
|
-
/**
|
|
291
|
-
* Requests the revocation of a certificate.
|
|
292
|
-
* @param {number} reasonCode - Código o descripción del motivo de la revocación.
|
|
293
|
-
* @returns {Promise<RevocationResponse>} An object indicating the success of the request.
|
|
294
|
-
* @throws {ApacuanaAPIError} If the revocation request fails.
|
|
295
|
-
*/
|
|
296
|
-
export const requestRevocation = async (reasonCode) => {
|
|
297
|
-
if (!reasonCode) {
|
|
298
|
-
throw new Error("Código de motivo es requerido para requestRevocation.");
|
|
299
|
-
}
|
|
290
|
+
/** @typedef {import("../types/revocations").RequestRevocationResponse} RequestRevocationResponse */
|
|
291
|
+
/** @typedef {import("../types/revocations").GetRevocationReasonsResponse} GetRevocationReasonsResponse */
|
|
300
292
|
|
|
293
|
+
const requestRevocationOnBoarding = async (params) => {
|
|
301
294
|
try {
|
|
302
295
|
const response = await httpRequest(
|
|
303
296
|
"services/api/onboardingclient/requestcert",
|
|
304
|
-
|
|
297
|
+
params,
|
|
305
298
|
"POST"
|
|
306
299
|
);
|
|
307
|
-
|
|
308
|
-
return response;
|
|
300
|
+
return new ApacuanaSuccess(response);
|
|
309
301
|
} catch (error) {
|
|
310
|
-
|
|
302
|
+
if (error instanceof ApacuanaAPIError) {
|
|
303
|
+
throw error;
|
|
304
|
+
}
|
|
305
|
+
throw new Error(`Failed to request revocation: ${error.message}`);
|
|
311
306
|
}
|
|
312
307
|
};
|
|
313
308
|
|
|
309
|
+
const requestRevocationOnPremise = <span class="fstat-no" title="function not covered" >as</span>ync () => {
|
|
310
|
+
<span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
|
|
311
|
+
"Requesting revocation is not supported for integration type: ONPREMISE",
|
|
312
|
+
501,
|
|
313
|
+
"NOT_IMPLEMENTED"
|
|
314
|
+
);
|
|
315
|
+
};
|
|
316
|
+
|
|
314
317
|
/**
|
|
315
|
-
*
|
|
316
|
-
* @
|
|
317
|
-
* @
|
|
318
|
+
* Solicita la revocación de un certificado.
|
|
319
|
+
* @param {object} params - Parámetros para la solicitud.
|
|
320
|
+
* @param {number} params.reasonCode - El código de la razón de la revocación.
|
|
321
|
+
* @returns {Promise<RequestRevocationResponse>} Una promesa que resuelve con la confirmación de la solicitud.
|
|
322
|
+
* @throws {Error} Si los parámetros son inválidos.
|
|
318
323
|
*/
|
|
319
|
-
export const
|
|
324
|
+
export const requestRevocation = async (params) => {
|
|
325
|
+
if (!params || typeof params.reasonCode !== "number") {
|
|
326
|
+
throw new Error(
|
|
327
|
+
'The "params" object with a numeric "reasonCode" property is required.'
|
|
328
|
+
);
|
|
329
|
+
}
|
|
330
|
+
|
|
320
331
|
const { integrationType } = getConfig();
|
|
321
332
|
|
|
322
|
-
if (integrationType === INTEGRATION_TYPE.
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
);
|
|
333
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (integrationType === INTEGRATION_TYPE.ONBOARDING) {
|
|
334
|
+
return requestRevocationOnBoarding(params);
|
|
335
|
+
}
|
|
336
|
+
<span class="cstat-no" title="statement not covered" > if (integrationType === INTEGRATION_TYPE.ONPREMISE) {</span>
|
|
337
|
+
<span class="cstat-no" title="statement not covered" > return requestRevocationOnPremise(params);</span>
|
|
328
338
|
}
|
|
339
|
+
<span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
|
|
340
|
+
`Unsupported integration type: ${integrationType}`,
|
|
341
|
+
400,
|
|
342
|
+
"UNSUPPORTED_INTEGRATION_TYPE"
|
|
343
|
+
);
|
|
344
|
+
};
|
|
329
345
|
|
|
346
|
+
const getRevocationReasonsOnBoarding = async () => {
|
|
330
347
|
try {
|
|
331
348
|
const response = await httpRequest(
|
|
332
|
-
"GET",
|
|
333
349
|
"config/api/revocation/reasonsonboarding",
|
|
334
|
-
{}
|
|
350
|
+
{},
|
|
351
|
+
"GET"
|
|
335
352
|
);
|
|
336
|
-
|
|
337
|
-
if (!response.records) {
|
|
353
|
+
if (!response || !response.records) {
|
|
338
354
|
throw new ApacuanaAPIError("Failed to fetch revocation reasons.");
|
|
339
355
|
}
|
|
340
|
-
|
|
341
|
-
return response.records;
|
|
356
|
+
return new ApacuanaSuccess({ reasons: response.records });
|
|
342
357
|
} catch (error) {
|
|
343
358
|
if (error instanceof ApacuanaAPIError) {
|
|
344
359
|
throw error;
|
|
345
360
|
}
|
|
346
|
-
throw new Error(
|
|
347
|
-
|
|
348
|
-
|
|
361
|
+
throw new Error(`Failed to get revocation reasons: ${error.message}`);
|
|
362
|
+
}
|
|
363
|
+
};
|
|
364
|
+
|
|
365
|
+
const getRevocationReasonsOnPremise = async () => {
|
|
366
|
+
throw new ApacuanaAPIError(
|
|
367
|
+
"Getting revocation reasons is not supported for integration type: ONPREMISE",
|
|
368
|
+
501,
|
|
369
|
+
"NOT_IMPLEMENTED"
|
|
370
|
+
);
|
|
371
|
+
};
|
|
372
|
+
|
|
373
|
+
/**
|
|
374
|
+
* Obtiene la lista de razones de revocación de certificados.
|
|
375
|
+
* @returns {Promise<GetRevocationReasonsResponse>} Una promesa que resuelve con la lista de razones de revocación.
|
|
376
|
+
* @throws {ApacuanaAPIError} Si la llamada a la API falla o el tipo de integración no es soportado.
|
|
377
|
+
*/
|
|
378
|
+
export const getRevocationReasons = async () => {
|
|
379
|
+
const { integrationType } = getConfig();
|
|
380
|
+
|
|
381
|
+
if (integrationType === INTEGRATION_TYPE.ONBOARDING) {
|
|
382
|
+
return getRevocationReasonsOnBoarding();
|
|
383
|
+
}
|
|
384
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (integrationType === INTEGRATION_TYPE.ONPREMISE) {
|
|
385
|
+
return getRevocationReasonsOnPremise();
|
|
349
386
|
}
|
|
387
|
+
<span class="cstat-no" title="statement not covered" > throw new ApacuanaAPIError(</span>
|
|
388
|
+
`Unsupported integration type: ${integrationType}`,
|
|
389
|
+
400,
|
|
390
|
+
"UNSUPPORTED_INTEGRATION_TYPE"
|
|
391
|
+
);
|
|
350
392
|
};
|
|
351
393
|
</pre></td></tr></table></pre>
|
|
352
394
|
|
|
@@ -355,7 +397,7 @@ export const getRevocationReasons = async () => {
|
|
|
355
397
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
356
398
|
Code coverage generated by
|
|
357
399
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
358
|
-
at 2025-09-
|
|
400
|
+
at 2025-09-15T18:35:33.013Z
|
|
359
401
|
</div>
|
|
360
402
|
<script src="../../prettify.js"></script>
|
|
361
403
|
<script>
|