@budibase/server 1.0.136 → 1.0.139
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/builder/assets/{index.05ef6162.js → index.6db89ad9.js} +121 -121
- package/builder/index.html +1 -1
- package/coverage/clover.xml +76 -62
- package/coverage/coverage-final.json +3 -3
- package/coverage/lcov-report/api/controllers/analytics.js.html +1 -1
- package/coverage/lcov-report/api/controllers/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/controllers/auth.js.html +1 -1
- package/coverage/lcov-report/api/controllers/automation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/backup.js.html +1 -1
- package/coverage/lcov-report/api/controllers/cloud.js.html +1 -1
- package/coverage/lcov-report/api/controllers/component.js.html +1 -1
- package/coverage/lcov-report/api/controllers/datasource.js.html +1 -1
- package/coverage/lcov-report/api/controllers/dev.js.html +1 -1
- package/coverage/lcov-report/api/controllers/index.html +1 -1
- package/coverage/lcov-report/api/controllers/integration.js.html +1 -1
- package/coverage/lcov-report/api/controllers/layout.js.html +1 -1
- package/coverage/lcov-report/api/controllers/metadata.js.html +1 -1
- package/coverage/lcov-report/api/controllers/migrations.js.html +1 -1
- package/coverage/lcov-report/api/controllers/permission.js.html +1 -1
- package/coverage/lcov-report/api/controllers/query/index.html +1 -1
- package/coverage/lcov-report/api/controllers/query/validation.js.html +1 -1
- package/coverage/lcov-report/api/controllers/role.js.html +1 -1
- package/coverage/lcov-report/api/controllers/routing.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/index.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internal.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/internalSearch.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/staticFormula.js.html +1 -1
- package/coverage/lcov-report/api/controllers/row/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/screen.js.html +1 -1
- package/coverage/lcov-report/api/controllers/script.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/bulkFormula.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/external.js.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.html +1 -1
- package/coverage/lcov-report/api/controllers/table/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/templates.js.html +1 -1
- package/coverage/lcov-report/api/controllers/user.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/exporters.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.html +1 -1
- package/coverage/lcov-report/api/controllers/view/index.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/utils.js.html +1 -1
- package/coverage/lcov-report/api/controllers/view/viewBuilder.js.html +1 -1
- package/coverage/lcov-report/api/controllers/webhook.js.html +1 -1
- package/coverage/lcov-report/api/index.html +1 -1
- package/coverage/lcov-report/api/index.js.html +1 -1
- package/coverage/lcov-report/api/routes/analytics.js.html +1 -1
- package/coverage/lcov-report/api/routes/apikeys.js.html +1 -1
- package/coverage/lcov-report/api/routes/auth.js.html +1 -1
- package/coverage/lcov-report/api/routes/automation.js.html +1 -1
- package/coverage/lcov-report/api/routes/backup.js.html +1 -1
- package/coverage/lcov-report/api/routes/cloud.js.html +1 -1
- package/coverage/lcov-report/api/routes/component.js.html +1 -1
- package/coverage/lcov-report/api/routes/datasource.js.html +1 -1
- package/coverage/lcov-report/api/routes/deploy.js.html +1 -1
- package/coverage/lcov-report/api/routes/dev.js.html +1 -1
- package/coverage/lcov-report/api/routes/index.html +1 -1
- package/coverage/lcov-report/api/routes/integration.js.html +1 -1
- package/coverage/lcov-report/api/routes/layout.js.html +1 -1
- package/coverage/lcov-report/api/routes/metadata.js.html +1 -1
- package/coverage/lcov-report/api/routes/migrations.js.html +1 -1
- package/coverage/lcov-report/api/routes/permission.js.html +1 -1
- package/coverage/lcov-report/api/routes/query.js.html +1 -1
- package/coverage/lcov-report/api/routes/role.js.html +1 -1
- package/coverage/lcov-report/api/routes/routing.js.html +1 -1
- package/coverage/lcov-report/api/routes/screen.js.html +1 -1
- package/coverage/lcov-report/api/routes/script.js.html +1 -1
- package/coverage/lcov-report/api/routes/table.js.html +1 -1
- package/coverage/lcov-report/api/routes/templates.js.html +1 -1
- package/coverage/lcov-report/api/routes/user.js.html +1 -1
- package/coverage/lcov-report/api/routes/utils/index.html +1 -1
- package/coverage/lcov-report/api/routes/utils/validators.js.html +1 -1
- package/coverage/lcov-report/api/routes/view.js.html +1 -1
- package/coverage/lcov-report/api/routes/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/actions.js.html +1 -1
- package/coverage/lcov-report/automations/automationUtils.js.html +46 -10
- package/coverage/lcov-report/automations/bullboard.js.html +1 -1
- package/coverage/lcov-report/automations/index.html +19 -19
- package/coverage/lcov-report/automations/index.js.html +1 -1
- package/coverage/lcov-report/automations/steps/bash.js.html +1 -1
- package/coverage/lcov-report/automations/steps/delay.js.html +1 -1
- package/coverage/lcov-report/automations/steps/discord.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeQuery.js.html +1 -1
- package/coverage/lcov-report/automations/steps/executeScript.js.html +1 -1
- package/coverage/lcov-report/automations/steps/filter.js.html +1 -1
- package/coverage/lcov-report/automations/steps/index.html +1 -1
- package/coverage/lcov-report/automations/steps/integromat.js.html +1 -1
- package/coverage/lcov-report/automations/steps/loop.js.html +1 -1
- package/coverage/lcov-report/automations/steps/outgoingWebhook.js.html +1 -1
- package/coverage/lcov-report/automations/steps/queryRows.js.html +1 -1
- package/coverage/lcov-report/automations/steps/sendSmtpEmail.js.html +1 -1
- package/coverage/lcov-report/automations/steps/serverLog.js.html +1 -1
- package/coverage/lcov-report/automations/steps/slack.js.html +1 -1
- package/coverage/lcov-report/automations/steps/updateRow.js.html +1 -1
- package/coverage/lcov-report/automations/steps/utils.js.html +1 -1
- package/coverage/lcov-report/automations/steps/zapier.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/app.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/cron.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/index.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowDeleted.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowSaved.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/rowUpdated.js.html +1 -1
- package/coverage/lcov-report/automations/triggerInfo/webhook.js.html +1 -1
- package/coverage/lcov-report/automations/triggers.js.html +1 -1
- package/coverage/lcov-report/constants/index.html +1 -1
- package/coverage/lcov-report/constants/index.js.html +1 -1
- package/coverage/lcov-report/constants/layouts.js.html +1 -1
- package/coverage/lcov-report/constants/screens.js.html +1 -1
- package/coverage/lcov-report/db/inMemoryView.js.html +1 -1
- package/coverage/lcov-report/db/index.html +1 -1
- package/coverage/lcov-report/db/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/LinkController.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.html +1 -1
- package/coverage/lcov-report/db/linkedRows/index.js.html +1 -1
- package/coverage/lcov-report/db/linkedRows/linkUtils.js.html +1 -1
- package/coverage/lcov-report/db/newid.js.html +1 -1
- package/coverage/lcov-report/db/utils.js.html +1 -1
- package/coverage/lcov-report/events/AutomationEmitter.js.html +1 -1
- package/coverage/lcov-report/events/index.html +1 -1
- package/coverage/lcov-report/events/index.js.html +1 -1
- package/coverage/lcov-report/events/utils.js.html +1 -1
- package/coverage/lcov-report/index.html +28 -28
- package/coverage/lcov-report/integrations/tests/TestConfiguration.js.html +1 -1
- package/coverage/lcov-report/integrations/tests/index.html +1 -1
- package/coverage/lcov-report/middleware/appInfo.js.html +1 -1
- package/coverage/lcov-report/middleware/builder.js.html +1 -1
- package/coverage/lcov-report/middleware/currentapp.js.html +1 -1
- package/coverage/lcov-report/middleware/index.html +1 -1
- package/coverage/lcov-report/middleware/joi-validator.js.html +1 -1
- package/coverage/lcov-report/middleware/publicApi.js.html +1 -1
- package/coverage/lcov-report/middleware/resourceId.js.html +1 -1
- package/coverage/lcov-report/middleware/selfhost.js.html +1 -1
- package/coverage/lcov-report/middleware/utils.js.html +1 -1
- package/coverage/lcov-report/threads/automation.js.html +67 -34
- package/coverage/lcov-report/threads/index.html +26 -26
- package/coverage/lcov-report/threads/query.js.html +16 -19
- package/coverage/lcov-report/threads/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/bcrypt.js.html +1 -1
- package/coverage/lcov-report/utilities/budibaseDir.js.html +1 -1
- package/coverage/lcov-report/utilities/centralPath.js.html +1 -1
- package/coverage/lcov-report/utilities/csvParser.js.html +1 -1
- package/coverage/lcov-report/utilities/global.js.html +1 -1
- package/coverage/lcov-report/utilities/index.html +1 -1
- package/coverage/lcov-report/utilities/index.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/inMemoryQueue.js.html +1 -1
- package/coverage/lcov-report/utilities/queue/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.html +1 -1
- package/coverage/lcov-report/utilities/routing/index.js.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/index.js.html +1 -1
- package/coverage/lcov-report/utilities/rowProcessor/utils.js.html +1 -1
- package/coverage/lcov-report/utilities/scriptRunner.js.html +1 -1
- package/coverage/lcov-report/utilities/security.js.html +1 -1
- package/coverage/lcov-report/utilities/statusCodes.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/index.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/rows.js.html +1 -1
- package/coverage/lcov-report/utilities/usageQuota/usageQuoteReset.js.html +1 -1
- package/coverage/lcov-report/utilities/users.js.html +1 -1
- package/coverage/lcov-report/utilities/workerRequests.js.html +1 -1
- package/coverage/lcov.info +132 -114
- package/dist/automations/automationUtils.js +12 -0
- package/dist/integrations/microsoftSqlServer.js +1 -6
- package/dist/integrations/mysql.js +16 -14
- package/dist/integrations/oracle.js +2 -6
- package/dist/integrations/postgres.js +1 -6
- package/dist/integrations/utils.js +15 -5
- package/dist/package.json +5 -5
- package/dist/threads/automation.js +25 -16
- package/dist/threads/query.js +7 -7
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utilities/fileSystem/index.js +11 -7
- package/package.json +6 -6
- package/src/automations/automationUtils.js +12 -0
- package/src/integrations/microsoftSqlServer.ts +1 -3
- package/src/integrations/mysql.ts +18 -12
- package/src/integrations/oracle.ts +3 -3
- package/src/integrations/postgres.ts +1 -2
- package/src/integrations/utils.ts +16 -5
- package/src/threads/automation.js +28 -17
- package/src/threads/query.js +7 -8
- package/src/utilities/fileSystem/index.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">59.71% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>83/139</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">33.33% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>21/
|
|
35
|
+
<span class='fraction'>21/63</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">90% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>10
|
|
42
|
+
<span class='fraction'>9/10</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">59.
|
|
47
|
+
<span class="strong">59.42% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>82/138</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -366,7 +366,18 @@
|
|
|
366
366
|
<a name='L301'></a><a href='#L301'>301</a>
|
|
367
367
|
<a name='L302'></a><a href='#L302'>302</a>
|
|
368
368
|
<a name='L303'></a><a href='#L303'>303</a>
|
|
369
|
-
<a name='L304'></a><a href='#L304'>304</a
|
|
369
|
+
<a name='L304'></a><a href='#L304'>304</a>
|
|
370
|
+
<a name='L305'></a><a href='#L305'>305</a>
|
|
371
|
+
<a name='L306'></a><a href='#L306'>306</a>
|
|
372
|
+
<a name='L307'></a><a href='#L307'>307</a>
|
|
373
|
+
<a name='L308'></a><a href='#L308'>308</a>
|
|
374
|
+
<a name='L309'></a><a href='#L309'>309</a>
|
|
375
|
+
<a name='L310'></a><a href='#L310'>310</a>
|
|
376
|
+
<a name='L311'></a><a href='#L311'>311</a>
|
|
377
|
+
<a name='L312'></a><a href='#L312'>312</a>
|
|
378
|
+
<a name='L313'></a><a href='#L313'>313</a>
|
|
379
|
+
<a name='L314'></a><a href='#L314'>314</a>
|
|
380
|
+
<a name='L315'></a><a href='#L315'>315</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">3x</span>
|
|
370
381
|
<span class="cline-any cline-yes">3x</span>
|
|
371
382
|
<span class="cline-any cline-yes">3x</span>
|
|
372
383
|
<span class="cline-any cline-yes">3x</span>
|
|
@@ -468,12 +479,12 @@
|
|
|
468
479
|
<span class="cline-any cline-yes">6x</span>
|
|
469
480
|
<span class="cline-any cline-yes">6x</span>
|
|
470
481
|
<span class="cline-any cline-yes">6x</span>
|
|
471
|
-
<span class="cline-any cline-neutral"> </span>
|
|
472
|
-
<span class="cline-any cline-neutral"> </span>
|
|
473
482
|
<span class="cline-any cline-yes">6x</span>
|
|
474
483
|
<span class="cline-any cline-neutral"> </span>
|
|
475
484
|
<span class="cline-any cline-yes">6x</span>
|
|
476
485
|
<span class="cline-any cline-yes">6x</span>
|
|
486
|
+
<span class="cline-any cline-yes">6x</span>
|
|
487
|
+
<span class="cline-any cline-yes">6x</span>
|
|
477
488
|
<span class="cline-any cline-yes">5x</span>
|
|
478
489
|
<span class="cline-any cline-neutral"> </span>
|
|
479
490
|
<span class="cline-any cline-yes">5x</span>
|
|
@@ -486,30 +497,39 @@
|
|
|
486
497
|
<span class="cline-any cline-no"> </span>
|
|
487
498
|
<span class="cline-any cline-neutral"> </span>
|
|
488
499
|
<span class="cline-any cline-yes">5x</span>
|
|
500
|
+
<span class="cline-any cline-neutral"> </span>
|
|
501
|
+
<span class="cline-any cline-neutral"> </span>
|
|
502
|
+
<span class="cline-any cline-neutral"> </span>
|
|
503
|
+
<span class="cline-any cline-neutral"> </span>
|
|
489
504
|
<span class="cline-any cline-yes">5x</span>
|
|
490
505
|
<span class="cline-any cline-yes">5x</span>
|
|
491
506
|
<span class="cline-any cline-yes">5x</span>
|
|
492
507
|
<span class="cline-any cline-neutral"> </span>
|
|
493
508
|
<span class="cline-any cline-neutral"> </span>
|
|
494
509
|
<span class="cline-any cline-yes">5x</span>
|
|
510
|
+
<span class="cline-any cline-no"> </span>
|
|
511
|
+
<span class="cline-any cline-neutral"> </span>
|
|
495
512
|
<span class="cline-any cline-neutral"> </span>
|
|
496
513
|
<span class="cline-any cline-neutral"> </span>
|
|
497
514
|
<span class="cline-any cline-no"> </span>
|
|
498
515
|
<span class="cline-any cline-neutral"> </span>
|
|
499
516
|
<span class="cline-any cline-neutral"> </span>
|
|
500
517
|
<span class="cline-any cline-neutral"> </span>
|
|
518
|
+
<span class="cline-any cline-neutral"> </span>
|
|
519
|
+
<span class="cline-any cline-no"> </span>
|
|
501
520
|
<span class="cline-any cline-no"> </span>
|
|
502
521
|
<span class="cline-any cline-neutral"> </span>
|
|
503
522
|
<span class="cline-any cline-neutral"> </span>
|
|
504
523
|
<span class="cline-any cline-neutral"> </span>
|
|
524
|
+
<span class="cline-any cline-neutral"> </span>
|
|
525
|
+
<span class="cline-any cline-neutral"> </span>
|
|
505
526
|
<span class="cline-any cline-no"> </span>
|
|
506
527
|
<span class="cline-any cline-neutral"> </span>
|
|
507
528
|
<span class="cline-any cline-neutral"> </span>
|
|
508
529
|
<span class="cline-any cline-neutral"> </span>
|
|
509
530
|
<span class="cline-any cline-no"> </span>
|
|
510
531
|
<span class="cline-any cline-no"> </span>
|
|
511
|
-
<span class="cline-any cline-
|
|
512
|
-
<span class="cline-any cline-neutral"> </span>
|
|
532
|
+
<span class="cline-any cline-no"> </span>
|
|
513
533
|
<span class="cline-any cline-neutral"> </span>
|
|
514
534
|
<span class="cline-any cline-neutral"> </span>
|
|
515
535
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -518,12 +538,16 @@
|
|
|
518
538
|
<span class="cline-any cline-neutral"> </span>
|
|
519
539
|
<span class="cline-any cline-neutral"> </span>
|
|
520
540
|
<span class="cline-any cline-no"> </span>
|
|
541
|
+
<span class="cline-any cline-neutral"> </span>
|
|
521
542
|
<span class="cline-any cline-no"> </span>
|
|
543
|
+
<span class="cline-any cline-neutral"> </span>
|
|
544
|
+
<span class="cline-any cline-neutral"> </span>
|
|
522
545
|
<span class="cline-any cline-no"> </span>
|
|
523
546
|
<span class="cline-any cline-neutral"> </span>
|
|
524
547
|
<span class="cline-any cline-neutral"> </span>
|
|
525
548
|
<span class="cline-any cline-neutral"> </span>
|
|
526
549
|
<span class="cline-any cline-neutral"> </span>
|
|
550
|
+
<span class="cline-any cline-neutral"> </span>
|
|
527
551
|
<span class="cline-any cline-no"> </span>
|
|
528
552
|
<span class="cline-any cline-no"> </span>
|
|
529
553
|
<span class="cline-any cline-no"> </span>
|
|
@@ -660,10 +684,8 @@
|
|
|
660
684
|
<span class="cline-any cline-neutral"> </span>
|
|
661
685
|
<span class="cline-any cline-neutral"> </span>
|
|
662
686
|
<span class="cline-any cline-yes">6x</span>
|
|
663
|
-
<span class="cline-any cline-neutral"> </span>
|
|
664
|
-
<span class="cline-any cline-neutral"> </span>
|
|
665
687
|
<span class="cline-any cline-yes">6x</span>
|
|
666
|
-
<span class="cline-any cline-
|
|
688
|
+
<span class="cline-any cline-yes">6x</span>
|
|
667
689
|
<span class="cline-any cline-neutral"> </span>
|
|
668
690
|
<span class="cline-any cline-no"> </span>
|
|
669
691
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -771,10 +793,10 @@ class Orchestrator {
|
|
|
771
793
|
let automation = this._automation
|
|
772
794
|
const app = await this.getApp()
|
|
773
795
|
let stopped = false
|
|
774
|
-
let loopStep
|
|
796
|
+
let loopStep = null
|
|
775
797
|
|
|
776
798
|
let stepCount = 0
|
|
777
|
-
let loopStepNumber
|
|
799
|
+
let loopStepNumber = null
|
|
778
800
|
let loopSteps = []
|
|
779
801
|
for (let step of automation.definition.steps) {
|
|
780
802
|
stepCount++
|
|
@@ -788,15 +810,17 @@ class Orchestrator {
|
|
|
788
810
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (loopStep) {
|
|
789
811
|
<span class="cstat-no" title="statement not covered" > input = await processObject(loopStep.inputs, this._context)</span>
|
|
790
812
|
}
|
|
791
|
-
let iterations = loopStep
|
|
813
|
+
let iterations = loopStep
|
|
814
|
+
? <span class="branch-0 cbranch-no" title="branch not covered" >Array.isArray(input.binding)</span>
|
|
815
|
+
? input.binding.length
|
|
816
|
+
: automationUtils.stringSplit(input.binding).length
|
|
817
|
+
: 1
|
|
792
818
|
let iterationCount = 0
|
|
793
819
|
for (let index = 0; index < iterations; index++) {
|
|
794
820
|
let originalStepInput = cloneDeep(step.inputs)
|
|
795
821
|
|
|
796
822
|
// Handle if the user has set a max iteration count or if it reaches the max limit set by us
|
|
797
823
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (loopStep) {
|
|
798
|
-
// lets first of all handle the input
|
|
799
|
-
// if the input is array then use it, if it is a string then split it on every new line
|
|
800
824
|
let newInput = <span class="cstat-no" title="statement not covered" >await processObject(</span>
|
|
801
825
|
loopStep.inputs,
|
|
802
826
|
cloneDeep(this._context)
|
|
@@ -805,9 +829,6 @@ class Orchestrator {
|
|
|
805
829
|
newInput,
|
|
806
830
|
loopStep.schema.inputs
|
|
807
831
|
)
|
|
808
|
-
<span class="cstat-no" title="statement not covered" > this._context.steps[loopStepNumber] = {</span>
|
|
809
|
-
currentItem: newInput.binding[index],
|
|
810
|
-
}
|
|
811
832
|
|
|
812
833
|
let tempOutput = <span class="cstat-no" title="statement not covered" >{ items: loopSteps, iterations: iterationCount }</span>
|
|
813
834
|
<span class="cstat-no" title="statement not covered" > if (</span>
|
|
@@ -824,6 +845,20 @@ class Orchestrator {
|
|
|
824
845
|
<span class="cstat-no" title="statement not covered" > loopStep = null</span>
|
|
825
846
|
<span class="cstat-no" title="statement not covered" > break</span>
|
|
826
847
|
}
|
|
848
|
+
|
|
849
|
+
let item
|
|
850
|
+
<span class="cstat-no" title="statement not covered" > if (</span>
|
|
851
|
+
typeof loopStep.inputs.binding === "string" &&
|
|
852
|
+
loopStep.inputs.option === "String"
|
|
853
|
+
) {
|
|
854
|
+
<span class="cstat-no" title="statement not covered" > item = automationUtils.stringSplit(newInput.binding)</span>
|
|
855
|
+
} else {
|
|
856
|
+
<span class="cstat-no" title="statement not covered" > item = loopStep.inputs.binding</span>
|
|
857
|
+
}
|
|
858
|
+
|
|
859
|
+
<span class="cstat-no" title="statement not covered" > this._context.steps[loopStepNumber] = {</span>
|
|
860
|
+
currentItem: item[index],
|
|
861
|
+
}
|
|
827
862
|
|
|
828
863
|
// The "Loop" binding in the front end is "fake", so replace it here so the context can understand it
|
|
829
864
|
// Pretty hacky because we need to account for the row object
|
|
@@ -957,19 +992,17 @@ class Orchestrator {
|
|
|
957
992
|
|
|
958
993
|
module.exports = (input, callback) => {
|
|
959
994
|
const appId = input.data.event.appId
|
|
960
|
-
doInAppContext(appId, () => {
|
|
995
|
+
doInAppContext(appId, async () => {
|
|
961
996
|
const automationOrchestrator = new Orchestrator(
|
|
962
997
|
input.data.automation,
|
|
963
998
|
input.data.event
|
|
964
999
|
)
|
|
965
|
-
|
|
966
|
-
.execute()
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
<span class="cstat-no" title="statement not covered" > callback(err)</span>
|
|
972
|
-
})
|
|
1000
|
+
try {
|
|
1001
|
+
const response = await automationOrchestrator.execute()
|
|
1002
|
+
callback(null, response)
|
|
1003
|
+
} catch (err) {
|
|
1004
|
+
<span class="cstat-no" title="statement not covered" > callback(err)</span>
|
|
1005
|
+
}
|
|
973
1006
|
})
|
|
974
1007
|
}
|
|
975
1008
|
</pre></td></tr></table></pre>
|
|
@@ -979,7 +1012,7 @@ module.exports = (input, callback) => {
|
|
|
979
1012
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
980
1013
|
Code coverage generated by
|
|
981
1014
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
982
|
-
at
|
|
1015
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
983
1016
|
</div>
|
|
984
1017
|
<script src="../prettify.js"></script>
|
|
985
1018
|
<script>
|
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">74.
|
|
26
|
+
<span class="strong">74.28% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>208/280</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">53.71% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>65/
|
|
35
|
+
<span class='fraction'>65/121</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">90% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>30
|
|
42
|
+
<span class='fraction'>27/30</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">74.
|
|
47
|
+
<span class="strong">74.45% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>204/274</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -80,32 +80,32 @@
|
|
|
80
80
|
</thead>
|
|
81
81
|
<tbody><tr>
|
|
82
82
|
<td class="file medium" data-value="automation.js"><a href="automation.js.html">automation.js</a></td>
|
|
83
|
-
<td data-value="
|
|
84
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
83
|
+
<td data-value="59.71" class="pic medium">
|
|
84
|
+
<div class="chart"><div class="cover-fill" style="width: 59%"></div><div class="cover-empty" style="width: 41%"></div></div>
|
|
85
85
|
</td>
|
|
86
|
-
<td data-value="
|
|
87
|
-
<td data-value="
|
|
88
|
-
<td data-value="
|
|
89
|
-
<td data-value="
|
|
90
|
-
<td data-value="
|
|
91
|
-
<td data-value="
|
|
92
|
-
<td data-value="59.
|
|
93
|
-
<td data-value="
|
|
86
|
+
<td data-value="59.71" class="pct medium">59.71%</td>
|
|
87
|
+
<td data-value="139" class="abs medium">83/139</td>
|
|
88
|
+
<td data-value="33.33" class="pct low">33.33%</td>
|
|
89
|
+
<td data-value="63" class="abs low">21/63</td>
|
|
90
|
+
<td data-value="90" class="pct high">90%</td>
|
|
91
|
+
<td data-value="10" class="abs high">9/10</td>
|
|
92
|
+
<td data-value="59.42" class="pct medium">59.42%</td>
|
|
93
|
+
<td data-value="138" class="abs medium">82/138</td>
|
|
94
94
|
</tr>
|
|
95
95
|
|
|
96
96
|
<tr>
|
|
97
97
|
<td class="file high" data-value="query.js"><a href="query.js.html">query.js</a></td>
|
|
98
|
-
<td data-value="91.
|
|
98
|
+
<td data-value="91.34" class="pic high">
|
|
99
99
|
<div class="chart"><div class="cover-fill" style="width: 91%"></div><div class="cover-empty" style="width: 9%"></div></div>
|
|
100
100
|
</td>
|
|
101
|
-
<td data-value="91.
|
|
102
|
-
<td data-value="
|
|
101
|
+
<td data-value="91.34" class="pct high">91.34%</td>
|
|
102
|
+
<td data-value="104" class="abs high">95/104</td>
|
|
103
103
|
<td data-value="79.06" class="pct medium">79.06%</td>
|
|
104
104
|
<td data-value="43" class="abs medium">34/43</td>
|
|
105
|
-
<td data-value="
|
|
106
|
-
<td data-value="
|
|
107
|
-
<td data-value="
|
|
108
|
-
<td data-value="
|
|
105
|
+
<td data-value="90.9" class="pct high">90.9%</td>
|
|
106
|
+
<td data-value="11" class="abs high">10/11</td>
|
|
107
|
+
<td data-value="92" class="pct high">92%</td>
|
|
108
|
+
<td data-value="100" class="abs high">92/100</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
|
|
134
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
135
135
|
</div>
|
|
136
136
|
<script src="../prettify.js"></script>
|
|
137
137
|
<script>
|
|
@@ -23,9 +23,9 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">91.
|
|
26
|
+
<span class="strong">91.34% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>95/104</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
@@ -37,16 +37,16 @@
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">90.9% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>10/11</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">92% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>92/100</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -266,8 +266,7 @@
|
|
|
266
266
|
<a name='L201'></a><a href='#L201'>201</a>
|
|
267
267
|
<a name='L202'></a><a href='#L202'>202</a>
|
|
268
268
|
<a name='L203'></a><a href='#L203'>203</a>
|
|
269
|
-
<a name='L204'></a><a href='#L204'>204</a>
|
|
270
|
-
<a name='L205'></a><a href='#L205'>205</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
269
|
+
<a name='L204'></a><a href='#L204'>204</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">2x</span>
|
|
271
270
|
<span class="cline-any cline-yes">2x</span>
|
|
272
271
|
<span class="cline-any cline-yes">2x</span>
|
|
273
272
|
<span class="cline-any cline-yes">2x</span>
|
|
@@ -463,10 +462,9 @@
|
|
|
463
462
|
<span class="cline-any cline-yes">10x</span>
|
|
464
463
|
<span class="cline-any cline-yes">10x</span>
|
|
465
464
|
<span class="cline-any cline-yes">10x</span>
|
|
466
|
-
<span class="cline-any cline-
|
|
465
|
+
<span class="cline-any cline-yes">10x</span>
|
|
467
466
|
<span class="cline-any cline-yes">8x</span>
|
|
468
467
|
<span class="cline-any cline-neutral"> </span>
|
|
469
|
-
<span class="cline-any cline-neutral"> </span>
|
|
470
468
|
<span class="cline-any cline-yes">2x</span>
|
|
471
469
|
<span class="cline-any cline-neutral"> </span>
|
|
472
470
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -664,15 +662,14 @@ class QueryRunner {
|
|
|
664
662
|
}
|
|
665
663
|
|
|
666
664
|
module.exports = (input, callback) => {
|
|
667
|
-
doInAppContext(input.appId, () => {
|
|
665
|
+
doInAppContext(input.appId, async () => {
|
|
668
666
|
const Runner = new QueryRunner(input)
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
})
|
|
667
|
+
try {
|
|
668
|
+
const response = await Runner.execute()
|
|
669
|
+
callback(null, response)
|
|
670
|
+
} catch (err) {
|
|
671
|
+
callback(err)
|
|
672
|
+
}
|
|
676
673
|
})
|
|
677
674
|
}
|
|
678
675
|
</pre></td></tr></table></pre>
|
|
@@ -682,7 +679,7 @@ module.exports = (input, callback) => {
|
|
|
682
679
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
683
680
|
Code coverage generated by
|
|
684
681
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
685
|
-
at
|
|
682
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
686
683
|
</div>
|
|
687
684
|
<script src="../prettify.js"></script>
|
|
688
685
|
<script>
|
|
@@ -304,7 +304,7 @@ exports.hasExtraData = response => {
|
|
|
304
304
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
305
305
|
Code coverage generated by
|
|
306
306
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
307
|
-
at
|
|
307
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
308
308
|
</div>
|
|
309
309
|
<script src="../prettify.js"></script>
|
|
310
310
|
<script>
|
|
@@ -115,7 +115,7 @@ const SALT_ROUNDS = <span class="cstat-no" title="statement not covered" >env.SA
|
|
|
115
115
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
116
116
|
Code coverage generated by
|
|
117
117
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
118
|
-
at
|
|
118
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
119
119
|
</div>
|
|
120
120
|
<script src="../prettify.js"></script>
|
|
121
121
|
<script>
|
|
@@ -100,7 +100,7 @@ module.exports.budibaseTempDir = budibaseTempDir
|
|
|
100
100
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
101
101
|
Code coverage generated by
|
|
102
102
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
103
|
-
at
|
|
103
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
104
104
|
</div>
|
|
105
105
|
<script src="../prettify.js"></script>
|
|
106
106
|
<script>
|
|
@@ -136,7 +136,7 @@ exports.resolve = <span class="fstat-no" title="function not covered" >fu</span>
|
|
|
136
136
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
137
137
|
Code coverage generated by
|
|
138
138
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
139
|
-
at
|
|
139
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
140
140
|
</div>
|
|
141
141
|
<script src="../prettify.js"></script>
|
|
142
142
|
<script>
|
|
@@ -502,7 +502,7 @@ module.exports = {
|
|
|
502
502
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
503
503
|
Code coverage generated by
|
|
504
504
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
505
|
-
at
|
|
505
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
506
506
|
</div>
|
|
507
507
|
<script src="../prettify.js"></script>
|
|
508
508
|
<script>
|
|
@@ -391,7 +391,7 @@ exports.getGlobalUsersFromMetadata = async users => {
|
|
|
391
391
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
392
392
|
Code coverage generated by
|
|
393
393
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
394
|
-
at
|
|
394
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
395
395
|
</div>
|
|
396
396
|
<script src="../prettify.js"></script>
|
|
397
397
|
<script>
|
|
@@ -251,7 +251,7 @@
|
|
|
251
251
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
252
252
|
Code coverage generated by
|
|
253
253
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
254
|
-
at
|
|
254
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
255
255
|
</div>
|
|
256
256
|
<script src="../prettify.js"></script>
|
|
257
257
|
<script>
|
|
@@ -559,7 +559,7 @@ exports.convertBookmark = bookmark => {
|
|
|
559
559
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
560
560
|
Code coverage generated by
|
|
561
561
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
562
|
-
at
|
|
562
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
563
563
|
</div>
|
|
564
564
|
<script src="../prettify.js"></script>
|
|
565
565
|
<script>
|
|
@@ -391,7 +391,7 @@ module.exports = InMemoryQueue
|
|
|
391
391
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
392
392
|
Code coverage generated by
|
|
393
393
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
394
|
-
at
|
|
394
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
395
395
|
</div>
|
|
396
396
|
<script src="../../prettify.js"></script>
|
|
397
397
|
<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
|
|
104
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../prettify.js"></script>
|
|
107
107
|
<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
|
|
104
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
105
105
|
</div>
|
|
106
106
|
<script src="../../prettify.js"></script>
|
|
107
107
|
<script>
|
|
@@ -145,7 +145,7 @@ exports.createRoutingView = createRoutingView
|
|
|
145
145
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
146
146
|
Code coverage generated by
|
|
147
147
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
148
|
-
at
|
|
148
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
149
149
|
</div>
|
|
150
150
|
<script src="../../prettify.js"></script>
|
|
151
151
|
<script>
|
|
@@ -116,7 +116,7 @@
|
|
|
116
116
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
117
117
|
Code coverage generated by
|
|
118
118
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
119
|
-
at
|
|
119
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
120
120
|
</div>
|
|
121
121
|
<script src="../../prettify.js"></script>
|
|
122
122
|
<script>
|
|
@@ -1096,7 +1096,7 @@ exports.cleanupAttachments = async (table, { row, rows, oldRow, oldTable }) =>
|
|
|
1096
1096
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1097
1097
|
Code coverage generated by
|
|
1098
1098
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1099
|
-
at
|
|
1099
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
1100
1100
|
</div>
|
|
1101
1101
|
<script src="../../prettify.js"></script>
|
|
1102
1102
|
<script>
|
|
@@ -271,7 +271,7 @@ exports.processFormulas = (
|
|
|
271
271
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
272
272
|
Code coverage generated by
|
|
273
273
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
274
|
-
at
|
|
274
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
275
275
|
</div>
|
|
276
276
|
<script src="../../prettify.js"></script>
|
|
277
277
|
<script>
|
|
@@ -142,7 +142,7 @@ module.exports = ScriptRunner
|
|
|
142
142
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
143
143
|
Code coverage generated by
|
|
144
144
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
145
|
-
at
|
|
145
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
146
146
|
</div>
|
|
147
147
|
<script src="../prettify.js"></script>
|
|
148
148
|
<script>
|
|
@@ -280,7 +280,7 @@ exports.CURRENTLY_SUPPORTED_LEVELS = CURRENTLY_SUPPORTED_LEVELS
|
|
|
280
280
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
281
281
|
Code coverage generated by
|
|
282
282
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
283
|
-
at
|
|
283
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
284
284
|
</div>
|
|
285
285
|
<script src="../prettify.js"></script>
|
|
286
286
|
<script>
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
92
92
|
Code coverage generated by
|
|
93
93
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
94
|
-
at
|
|
94
|
+
at Wed May 04 2022 12:24:52 GMT+0000 (Coordinated Universal Time)
|
|
95
95
|
</div>
|
|
96
96
|
<script src="../prettify.js"></script>
|
|
97
97
|
<script>
|