@dintero/checkout-web-sdk 0.0.17 → 0.2.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/.github/dependabot.yml +10 -0
- package/.github/workflows/{blank.yml → build.yml} +6 -5
- package/.github/workflows/release.yml +34 -0
- package/.releaserc.json +11 -0
- package/README.md +52 -15
- package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 80.0.3987.0 (Linux x86_64)}/html/base.css +0 -0
- package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 80.0.3987.0 (Linux x86_64)}/html/block-navigation.js +0 -0
- package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 80.0.3987.0 (Linux x86_64)}/html/checkout.ts.html +50 -5
- package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 80.0.3987.0 (Linux x86_64)}/html/createIframeAsync.ts.html +15 -15
- package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 80.0.3987.0 (Linux x86_64)}/html/favicon.png +0 -0
- package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 80.0.3987.0 (Linux x86_64)}/html/index.html +40 -40
- package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 80.0.3987.0 (Linux x86_64)}/html/index.ts.html +144 -30
- package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 80.0.3987.0 (Linux x86_64)}/html/prettify.css +0 -0
- package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 80.0.3987.0 (Linux x86_64)}/html/prettify.js +0 -0
- package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 80.0.3987.0 (Linux x86_64)}/html/sort-arrow-sprite.png +0 -0
- package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 80.0.3987.0 (Linux x86_64)}/html/sorter.js +0 -0
- package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 80.0.3987.0 (Linux x86_64)}/html/subscribe.ts.html +55 -25
- package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 80.0.3987.0 (Linux x86_64)}/html/url.ts.html +18 -12
- package/dist/declarations/package.d.ts +3 -0
- package/dist/declarations/src/checkout.d.ts +13 -2
- package/dist/declarations/src/index.d.ts +3 -1
- package/dist/declarations/src/subscribe.d.ts +5 -1
- package/dist/declarations/src/url.d.ts +1 -0
- package/dist/dintero-checkout-web-sdk.cjs.dev.js +50 -11
- package/dist/dintero-checkout-web-sdk.cjs.prod.js +50 -11
- package/dist/dintero-checkout-web-sdk.esm.js +50 -11
- package/dist/dintero-checkout-web-sdk.umd.min.js +1 -1
- package/dist/dintero-checkout-web-sdk.umd.min.js.map +1 -1
- package/package.json +49 -46
- package/coverage/Chrome Headless 80.0.3987.0 (Mac OS 10.15.7)/html/checkout-web-sdk.ts.html +0 -938
- package/coverage/Chrome Headless 80.0.3987.0 (Mac OS 10.15.7)/html/dintero-checkout-web-sdk.ts.html +0 -908
|
@@ -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">94.2% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>65/69</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">83.33% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>30/36</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">78.95% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>15/19</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">93.33% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>56/60</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -360,7 +360,45 @@
|
|
|
360
360
|
<a name='L301'></a><a href='#L301'>301</a>
|
|
361
361
|
<a name='L302'></a><a href='#L302'>302</a>
|
|
362
362
|
<a name='L303'></a><a href='#L303'>303</a>
|
|
363
|
-
<a name='L304'></a><a href='#L304'>304</a
|
|
363
|
+
<a name='L304'></a><a href='#L304'>304</a>
|
|
364
|
+
<a name='L305'></a><a href='#L305'>305</a>
|
|
365
|
+
<a name='L306'></a><a href='#L306'>306</a>
|
|
366
|
+
<a name='L307'></a><a href='#L307'>307</a>
|
|
367
|
+
<a name='L308'></a><a href='#L308'>308</a>
|
|
368
|
+
<a name='L309'></a><a href='#L309'>309</a>
|
|
369
|
+
<a name='L310'></a><a href='#L310'>310</a>
|
|
370
|
+
<a name='L311'></a><a href='#L311'>311</a>
|
|
371
|
+
<a name='L312'></a><a href='#L312'>312</a>
|
|
372
|
+
<a name='L313'></a><a href='#L313'>313</a>
|
|
373
|
+
<a name='L314'></a><a href='#L314'>314</a>
|
|
374
|
+
<a name='L315'></a><a href='#L315'>315</a>
|
|
375
|
+
<a name='L316'></a><a href='#L316'>316</a>
|
|
376
|
+
<a name='L317'></a><a href='#L317'>317</a>
|
|
377
|
+
<a name='L318'></a><a href='#L318'>318</a>
|
|
378
|
+
<a name='L319'></a><a href='#L319'>319</a>
|
|
379
|
+
<a name='L320'></a><a href='#L320'>320</a>
|
|
380
|
+
<a name='L321'></a><a href='#L321'>321</a>
|
|
381
|
+
<a name='L322'></a><a href='#L322'>322</a>
|
|
382
|
+
<a name='L323'></a><a href='#L323'>323</a>
|
|
383
|
+
<a name='L324'></a><a href='#L324'>324</a>
|
|
384
|
+
<a name='L325'></a><a href='#L325'>325</a>
|
|
385
|
+
<a name='L326'></a><a href='#L326'>326</a>
|
|
386
|
+
<a name='L327'></a><a href='#L327'>327</a>
|
|
387
|
+
<a name='L328'></a><a href='#L328'>328</a>
|
|
388
|
+
<a name='L329'></a><a href='#L329'>329</a>
|
|
389
|
+
<a name='L330'></a><a href='#L330'>330</a>
|
|
390
|
+
<a name='L331'></a><a href='#L331'>331</a>
|
|
391
|
+
<a name='L332'></a><a href='#L332'>332</a>
|
|
392
|
+
<a name='L333'></a><a href='#L333'>333</a>
|
|
393
|
+
<a name='L334'></a><a href='#L334'>334</a>
|
|
394
|
+
<a name='L335'></a><a href='#L335'>335</a>
|
|
395
|
+
<a name='L336'></a><a href='#L336'>336</a>
|
|
396
|
+
<a name='L337'></a><a href='#L337'>337</a>
|
|
397
|
+
<a name='L338'></a><a href='#L338'>338</a>
|
|
398
|
+
<a name='L339'></a><a href='#L339'>339</a>
|
|
399
|
+
<a name='L340'></a><a href='#L340'>340</a>
|
|
400
|
+
<a name='L341'></a><a href='#L341'>341</a>
|
|
401
|
+
<a name='L342'></a><a href='#L342'>342</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
364
402
|
<span class="cline-any cline-neutral"> </span>
|
|
365
403
|
<span class="cline-any cline-yes">1x</span>
|
|
366
404
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -377,6 +415,8 @@
|
|
|
377
415
|
<span class="cline-any cline-neutral"> </span>
|
|
378
416
|
<span class="cline-any cline-neutral"> </span>
|
|
379
417
|
<span class="cline-any cline-neutral"> </span>
|
|
418
|
+
<span class="cline-any cline-neutral"> </span>
|
|
419
|
+
<span class="cline-any cline-neutral"> </span>
|
|
380
420
|
<span class="cline-any cline-yes">1x</span>
|
|
381
421
|
<span class="cline-any cline-yes">1x</span>
|
|
382
422
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -452,6 +492,13 @@
|
|
|
452
492
|
<span class="cline-any cline-neutral"> </span>
|
|
453
493
|
<span class="cline-any cline-neutral"> </span>
|
|
454
494
|
<span class="cline-any cline-neutral"> </span>
|
|
495
|
+
<span class="cline-any cline-neutral"> </span>
|
|
496
|
+
<span class="cline-any cline-neutral"> </span>
|
|
497
|
+
<span class="cline-any cline-neutral"> </span>
|
|
498
|
+
<span class="cline-any cline-neutral"> </span>
|
|
499
|
+
<span class="cline-any cline-neutral"> </span>
|
|
500
|
+
<span class="cline-any cline-neutral"> </span>
|
|
501
|
+
<span class="cline-any cline-neutral"> </span>
|
|
455
502
|
<span class="cline-any cline-yes">1x</span>
|
|
456
503
|
<span class="cline-any cline-yes">3x</span>
|
|
457
504
|
<span class="cline-any cline-yes">3x</span>
|
|
@@ -509,10 +556,13 @@
|
|
|
509
556
|
<span class="cline-any cline-neutral"> </span>
|
|
510
557
|
<span class="cline-any cline-neutral"> </span>
|
|
511
558
|
<span class="cline-any cline-yes">1x</span>
|
|
512
|
-
<span class="cline-any cline-yes">
|
|
559
|
+
<span class="cline-any cline-yes">26x</span>
|
|
560
|
+
<span class="cline-any cline-neutral"> </span>
|
|
561
|
+
<span class="cline-any cline-neutral"> </span>
|
|
562
|
+
<span class="cline-any cline-yes">26x</span>
|
|
563
|
+
<span class="cline-any cline-neutral"> </span>
|
|
513
564
|
<span class="cline-any cline-neutral"> </span>
|
|
514
565
|
<span class="cline-any cline-neutral"> </span>
|
|
515
|
-
<span class="cline-any cline-yes">24x</span>
|
|
516
566
|
<span class="cline-any cline-neutral"> </span>
|
|
517
567
|
<span class="cline-any cline-neutral"> </span>
|
|
518
568
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -524,12 +574,12 @@
|
|
|
524
574
|
<span class="cline-any cline-neutral"> </span>
|
|
525
575
|
<span class="cline-any cline-neutral"> </span>
|
|
526
576
|
<span class="cline-any cline-neutral"> </span>
|
|
577
|
+
<span class="cline-any cline-yes">26x</span>
|
|
527
578
|
<span class="cline-any cline-neutral"> </span>
|
|
528
579
|
<span class="cline-any cline-neutral"> </span>
|
|
529
|
-
<span class="cline-any cline-yes">
|
|
580
|
+
<span class="cline-any cline-yes">26x</span>
|
|
530
581
|
<span class="cline-any cline-neutral"> </span>
|
|
531
582
|
<span class="cline-any cline-neutral"> </span>
|
|
532
|
-
<span class="cline-any cline-yes">24x</span>
|
|
533
583
|
<span class="cline-any cline-neutral"> </span>
|
|
534
584
|
<span class="cline-any cline-neutral"> </span>
|
|
535
585
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -538,30 +588,57 @@
|
|
|
538
588
|
<span class="cline-any cline-neutral"> </span>
|
|
539
589
|
<span class="cline-any cline-neutral"> </span>
|
|
540
590
|
<span class="cline-any cline-neutral"> </span>
|
|
541
|
-
<span class="cline-any cline-
|
|
591
|
+
<span class="cline-any cline-neutral"> </span>
|
|
592
|
+
<span class="cline-any cline-neutral"> </span>
|
|
593
|
+
<span class="cline-any cline-neutral"> </span>
|
|
594
|
+
<span class="cline-any cline-neutral"> </span>
|
|
595
|
+
<span class="cline-any cline-yes">26x</span>
|
|
542
596
|
<span class="cline-any cline-yes">3x</span>
|
|
543
|
-
<span class="cline-any cline-yes">
|
|
597
|
+
<span class="cline-any cline-yes">21x</span>
|
|
544
598
|
<span class="cline-any cline-yes">3x</span>
|
|
545
599
|
<span class="cline-any cline-yes">2x</span>
|
|
546
600
|
<span class="cline-any cline-neutral"> </span>
|
|
547
601
|
<span class="cline-any cline-neutral"> </span>
|
|
548
602
|
<span class="cline-any cline-neutral"> </span>
|
|
549
603
|
<span class="cline-any cline-neutral"> </span>
|
|
550
|
-
<span class="cline-any cline-yes">
|
|
604
|
+
<span class="cline-any cline-yes">26x</span>
|
|
605
|
+
<span class="cline-any cline-no"> </span>
|
|
606
|
+
<span class="cline-any cline-neutral"> </span>
|
|
607
|
+
<span class="cline-any cline-neutral"> </span>
|
|
608
|
+
<span class="cline-any cline-yes">26x</span>
|
|
551
609
|
<span class="cline-any cline-no"> </span>
|
|
552
610
|
<span class="cline-any cline-neutral"> </span>
|
|
553
611
|
<span class="cline-any cline-neutral"> </span>
|
|
554
|
-
<span class="cline-any cline-yes">
|
|
612
|
+
<span class="cline-any cline-yes">26x</span>
|
|
555
613
|
<span class="cline-any cline-no"> </span>
|
|
556
614
|
<span class="cline-any cline-neutral"> </span>
|
|
557
615
|
<span class="cline-any cline-neutral"> </span>
|
|
558
|
-
<span class="cline-any cline-yes">
|
|
616
|
+
<span class="cline-any cline-yes">26x</span>
|
|
559
617
|
<span class="cline-any cline-no"> </span>
|
|
560
618
|
<span class="cline-any cline-neutral"> </span>
|
|
561
619
|
<span class="cline-any cline-neutral"> </span>
|
|
620
|
+
<span class="cline-any cline-yes">26x</span>
|
|
621
|
+
<span class="cline-any cline-neutral"> </span>
|
|
622
|
+
<span class="cline-any cline-neutral"> </span>
|
|
623
|
+
<span class="cline-any cline-neutral"> </span>
|
|
624
|
+
<span class="cline-any cline-yes">2x</span>
|
|
625
|
+
<span class="cline-any cline-yes">1x</span>
|
|
626
|
+
<span class="cline-any cline-neutral"> </span>
|
|
627
|
+
<span class="cline-any cline-neutral"> </span>
|
|
628
|
+
<span class="cline-any cline-neutral"> </span>
|
|
629
|
+
<span class="cline-any cline-neutral"> </span>
|
|
630
|
+
<span class="cline-any cline-yes">26x</span>
|
|
631
|
+
<span class="cline-any cline-neutral"> </span>
|
|
632
|
+
<span class="cline-any cline-neutral"> </span>
|
|
633
|
+
<span class="cline-any cline-neutral"> </span>
|
|
634
|
+
<span class="cline-any cline-neutral"> </span>
|
|
635
|
+
<span class="cline-any cline-neutral"> </span>
|
|
636
|
+
<span class="cline-any cline-neutral"> </span>
|
|
637
|
+
<span class="cline-any cline-neutral"> </span>
|
|
638
|
+
<span class="cline-any cline-neutral"> </span>
|
|
562
639
|
<span class="cline-any cline-neutral"> </span>
|
|
563
|
-
<span class="cline-any cline-yes">24x</span>
|
|
564
640
|
<span class="cline-any cline-neutral"> </span>
|
|
641
|
+
<span class="cline-any cline-yes">26x</span>
|
|
565
642
|
<span class="cline-any cline-neutral"> </span>
|
|
566
643
|
<span class="cline-any cline-neutral"> </span>
|
|
567
644
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -570,7 +647,6 @@
|
|
|
570
647
|
<span class="cline-any cline-neutral"> </span>
|
|
571
648
|
<span class="cline-any cline-neutral"> </span>
|
|
572
649
|
<span class="cline-any cline-neutral"> </span>
|
|
573
|
-
<span class="cline-any cline-yes">24x</span>
|
|
574
650
|
<span class="cline-any cline-neutral"> </span>
|
|
575
651
|
<span class="cline-any cline-neutral"> </span>
|
|
576
652
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -631,9 +707,9 @@
|
|
|
631
707
|
<span class="cline-any cline-neutral"> </span>
|
|
632
708
|
<span class="cline-any cline-neutral"> </span>
|
|
633
709
|
<span class="cline-any cline-neutral"> </span>
|
|
634
|
-
<span class="cline-any cline-yes">
|
|
635
|
-
<span class="cline-any cline-yes">
|
|
636
|
-
<span class="cline-any cline-yes">
|
|
710
|
+
<span class="cline-any cline-yes">338x</span>
|
|
711
|
+
<span class="cline-any cline-yes">338x</span>
|
|
712
|
+
<span class="cline-any cline-yes">194x</span>
|
|
637
713
|
<span class="cline-any cline-neutral"> </span>
|
|
638
714
|
<span class="cline-any cline-neutral"> </span>
|
|
639
715
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -646,9 +722,9 @@
|
|
|
646
722
|
<span class="cline-any cline-neutral"> </span>
|
|
647
723
|
<span class="cline-any cline-neutral"> </span>
|
|
648
724
|
<span class="cline-any cline-neutral"> </span>
|
|
649
|
-
<span class="cline-any cline-yes">
|
|
725
|
+
<span class="cline-any cline-yes">52x</span>
|
|
650
726
|
<span class="cline-any cline-neutral"> </span>
|
|
651
|
-
<span class="cline-any cline-yes">
|
|
727
|
+
<span class="cline-any cline-yes">26x</span>
|
|
652
728
|
<span class="cline-any cline-neutral"> </span>
|
|
653
729
|
<span class="cline-any cline-neutral"> </span>
|
|
654
730
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -679,6 +755,8 @@ import {
|
|
|
679
755
|
SessionLocked,
|
|
680
756
|
SessionLockFailed,
|
|
681
757
|
ActivePaymentProductType,
|
|
758
|
+
ValidateSession,
|
|
759
|
+
SessionValidationCallback,
|
|
682
760
|
} from "./checkout";
|
|
683
761
|
import { getSessionUrl, windowLocationAssign } from "./url";
|
|
684
762
|
import { createIframeAsync } from "./createIframeAsync";
|
|
@@ -689,6 +767,7 @@ import {
|
|
|
689
767
|
postSessionLock,
|
|
690
768
|
postSessionRefresh,
|
|
691
769
|
postActivePaymentProductType,
|
|
770
|
+
postValidationResult,
|
|
692
771
|
} from "./subscribe";
|
|
693
772
|
|
|
694
773
|
export interface DinteroCheckoutInstance {
|
|
@@ -701,6 +780,7 @@ export interface DinteroCheckoutInstance {
|
|
|
701
780
|
lockSession: () => void;
|
|
702
781
|
refreshSession: () => void;
|
|
703
782
|
setActivePaymentProductType: (paymentProductType: string) => void;
|
|
783
|
+
submitValidationResult: (result: SessionValidationCallback) => void;
|
|
704
784
|
}
|
|
705
785
|
|
|
706
786
|
export interface DinteroCheckoutOptions {
|
|
@@ -750,6 +830,11 @@ export interface DinteroEmbedCheckoutOptions extends DinteroCheckoutOptions {
|
|
|
750
830
|
event: ActivePaymentProductType,
|
|
751
831
|
checkout: DinteroCheckoutInstance
|
|
752
832
|
) => void;
|
|
833
|
+
onValidateSession?: (
|
|
834
|
+
event: ValidateSession,
|
|
835
|
+
checkout: DinteroCheckoutInstance,
|
|
836
|
+
callback: (result: SessionValidationCallback) => void,
|
|
837
|
+
) => void;
|
|
753
838
|
}
|
|
754
839
|
|
|
755
840
|
/**
|
|
@@ -828,14 +913,21 @@ export const embed = async (
|
|
|
828
913
|
onSessionLocked,
|
|
829
914
|
onSessionLockFailed,
|
|
830
915
|
onActivePaymentType,
|
|
916
|
+
onValidateSession,
|
|
831
917
|
} = options;
|
|
832
918
|
const subscriptions: Subscription[] = [];
|
|
833
919
|
|
|
834
920
|
// Create iframe
|
|
835
|
-
const { iframe, initiate } =
|
|
921
|
+
const { iframe, initiate } = createIframeAsync(
|
|
836
922
|
container,
|
|
837
923
|
endpoint,
|
|
838
|
-
getSessionUrl({
|
|
924
|
+
getSessionUrl({
|
|
925
|
+
sid,
|
|
926
|
+
endpoint,
|
|
927
|
+
language,
|
|
928
|
+
ui: "inline",
|
|
929
|
+
shouldCallValidateSession: onValidateSession !== undefined
|
|
930
|
+
}),
|
|
839
931
|
);
|
|
840
932
|
|
|
841
933
|
/**
|
|
@@ -861,6 +953,19 @@ export const embed = async (
|
|
|
861
953
|
const setActivePaymentProductType = <span class="fstat-no" title="function not covered" >(p</span>aymentProductType?:string) => {
|
|
862
954
|
<span class="cstat-no" title="statement not covered" > postActivePaymentProductType(iframe, sid, paymentProductType);</span>
|
|
863
955
|
};
|
|
956
|
+
|
|
957
|
+
const submitValidationResult = <span class="fstat-no" title="function not covered" >(r</span>esult: SessionValidationCallback) => {
|
|
958
|
+
<span class="cstat-no" title="statement not covered" > postValidationResult(iframe, sid, result);</span>
|
|
959
|
+
}
|
|
960
|
+
|
|
961
|
+
const wrappedOnValidateSession = (
|
|
962
|
+
event: ValidateSession,
|
|
963
|
+
checkout: DinteroCheckoutInstance,
|
|
964
|
+
) => {
|
|
965
|
+
if (onValidateSession) {
|
|
966
|
+
onValidateSession(event, checkout, submitValidationResult);
|
|
967
|
+
}
|
|
968
|
+
}
|
|
864
969
|
|
|
865
970
|
// Create checkout object that wraps the destroy function.
|
|
866
971
|
const checkout: DinteroCheckoutInstance = {
|
|
@@ -869,7 +974,8 @@ export const embed = async (
|
|
|
869
974
|
language,
|
|
870
975
|
lockSession,
|
|
871
976
|
refreshSession,
|
|
872
|
-
setActivePaymentProductType
|
|
977
|
+
setActivePaymentProductType,
|
|
978
|
+
submitValidationResult,
|
|
873
979
|
};
|
|
874
980
|
|
|
875
981
|
// Add event handlers (or in some cases add a fallback href handler).
|
|
@@ -934,6 +1040,14 @@ export const embed = async (
|
|
|
934
1040
|
handler: onActivePaymentType as SubscriptionHandler | undefined,
|
|
935
1041
|
eventTypes: [CheckoutEvents.ActivePaymentProductType],
|
|
936
1042
|
},
|
|
1043
|
+
{
|
|
1044
|
+
handler: onActivePaymentType as SubscriptionHandler | undefined,
|
|
1045
|
+
eventTypes: [CheckoutEvents.ActivePaymentProductType],
|
|
1046
|
+
},
|
|
1047
|
+
{
|
|
1048
|
+
handler: wrappedOnValidateSession as SubscriptionHandler | undefined,
|
|
1049
|
+
eventTypes: [CheckoutEvents.ValidateSession],
|
|
1050
|
+
},
|
|
937
1051
|
].forEach(({ handler, eventTypes }) => {
|
|
938
1052
|
if (handler) {
|
|
939
1053
|
subscriptions.push(
|
|
@@ -964,7 +1078,7 @@ export const redirect = (options: DinteroCheckoutOptions) => {
|
|
|
964
1078
|
endpoint = "https://checkout.dintero.com"<span class="branch-1 cbranch-no" title="branch not covered" >,</span>
|
|
965
1079
|
} = options;
|
|
966
1080
|
// Redirect the current browser window to the checkout session url.
|
|
967
|
-
windowLocationAssign(getSessionUrl({ sid, endpoint, language }));
|
|
1081
|
+
windowLocationAssign(getSessionUrl({ sid, endpoint, language, shouldCallValidateSession: false }));
|
|
968
1082
|
};
|
|
969
1083
|
</pre></td></tr></table></pre>
|
|
970
1084
|
|
|
@@ -973,7 +1087,7 @@ export const redirect = (options: DinteroCheckoutOptions) => {
|
|
|
973
1087
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
974
1088
|
Code coverage generated by
|
|
975
1089
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
976
|
-
at Mon
|
|
1090
|
+
at Mon Feb 14 2022 14:16:49 GMT+0000 (Coordinated Universal Time)
|
|
977
1091
|
</div>
|
|
978
1092
|
</div>
|
|
979
1093
|
<script src="prettify.js"></script>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -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">76.47% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>26/34</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">62.5% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>15/
|
|
35
|
+
<span class='fraction'>15/24</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">50% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>4/
|
|
42
|
+
<span class='fraction'>4/8</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">72.41% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>21/29</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -55,7 +55,7 @@
|
|
|
55
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
56
|
</p>
|
|
57
57
|
</div>
|
|
58
|
-
<div class='status-line
|
|
58
|
+
<div class='status-line medium'></div>
|
|
59
59
|
<pre><table class="coverage">
|
|
60
60
|
<tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
|
|
61
61
|
<a name='L2'></a><a href='#L2'>2</a>
|
|
@@ -168,7 +168,18 @@
|
|
|
168
168
|
<a name='L109'></a><a href='#L109'>109</a>
|
|
169
169
|
<a name='L110'></a><a href='#L110'>110</a>
|
|
170
170
|
<a name='L111'></a><a href='#L111'>111</a>
|
|
171
|
-
<a name='L112'></a><a href='#L112'>112</a
|
|
171
|
+
<a name='L112'></a><a href='#L112'>112</a>
|
|
172
|
+
<a name='L113'></a><a href='#L113'>113</a>
|
|
173
|
+
<a name='L114'></a><a href='#L114'>114</a>
|
|
174
|
+
<a name='L115'></a><a href='#L115'>115</a>
|
|
175
|
+
<a name='L116'></a><a href='#L116'>116</a>
|
|
176
|
+
<a name='L117'></a><a href='#L117'>117</a>
|
|
177
|
+
<a name='L118'></a><a href='#L118'>118</a>
|
|
178
|
+
<a name='L119'></a><a href='#L119'>119</a>
|
|
179
|
+
<a name='L120'></a><a href='#L120'>120</a>
|
|
180
|
+
<a name='L121'></a><a href='#L121'>121</a>
|
|
181
|
+
<a name='L122'></a><a href='#L122'>122</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
182
|
+
<span class="cline-any cline-neutral"> </span>
|
|
172
183
|
<span class="cline-any cline-neutral"> </span>
|
|
173
184
|
<span class="cline-any cline-neutral"> </span>
|
|
174
185
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -202,7 +213,7 @@
|
|
|
202
213
|
<span class="cline-any cline-neutral"> </span>
|
|
203
214
|
<span class="cline-any cline-neutral"> </span>
|
|
204
215
|
<span class="cline-any cline-yes">1x</span>
|
|
205
|
-
<span class="cline-any cline-yes">
|
|
216
|
+
<span class="cline-any cline-yes">22x</span>
|
|
206
217
|
<span class="cline-any cline-yes">1x</span>
|
|
207
218
|
<span class="cline-any cline-neutral"> </span>
|
|
208
219
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -240,42 +251,51 @@
|
|
|
240
251
|
<span class="cline-any cline-neutral"> </span>
|
|
241
252
|
<span class="cline-any cline-neutral"> </span>
|
|
242
253
|
<span class="cline-any cline-neutral"> </span>
|
|
254
|
+
<span class="cline-any cline-yes">1x</span>
|
|
255
|
+
<span class="cline-any cline-no"> </span>
|
|
256
|
+
<span class="cline-any cline-no"> </span>
|
|
257
|
+
<span class="cline-any cline-neutral"> </span>
|
|
258
|
+
<span class="cline-any cline-neutral"> </span>
|
|
259
|
+
<span class="cline-any cline-neutral"> </span>
|
|
260
|
+
<span class="cline-any cline-neutral"> </span>
|
|
261
|
+
<span class="cline-any cline-neutral"> </span>
|
|
262
|
+
<span class="cline-any cline-neutral"> </span>
|
|
243
263
|
<span class="cline-any cline-neutral"> </span>
|
|
244
264
|
<span class="cline-any cline-neutral"> </span>
|
|
245
265
|
<span class="cline-any cline-neutral"> </span>
|
|
246
266
|
<span class="cline-any cline-neutral"> </span>
|
|
247
267
|
<span class="cline-any cline-yes">1x</span>
|
|
248
|
-
<span class="cline-any cline-yes">
|
|
268
|
+
<span class="cline-any cline-yes">970x</span>
|
|
249
269
|
<span class="cline-any cline-neutral"> </span>
|
|
250
270
|
<span class="cline-any cline-neutral"> </span>
|
|
251
271
|
<span class="cline-any cline-neutral"> </span>
|
|
252
|
-
<span class="cline-any cline-yes">
|
|
253
|
-
<span class="cline-any cline-yes">
|
|
254
|
-
<span class="cline-any cline-yes">
|
|
255
|
-
<span class="cline-any cline-yes">
|
|
272
|
+
<span class="cline-any cline-yes">194x</span>
|
|
273
|
+
<span class="cline-any cline-yes">2447x</span>
|
|
274
|
+
<span class="cline-any cline-yes">2447x</span>
|
|
275
|
+
<span class="cline-any cline-yes">2447x</span>
|
|
256
276
|
<span class="cline-any cline-neutral"> </span>
|
|
257
|
-
<span class="cline-any cline-yes">
|
|
258
|
-
<span class="cline-any cline-yes">
|
|
277
|
+
<span class="cline-any cline-yes">2447x</span>
|
|
278
|
+
<span class="cline-any cline-yes">2447x</span>
|
|
259
279
|
<span class="cline-any cline-neutral"> </span>
|
|
260
280
|
<span class="cline-any cline-neutral"> </span>
|
|
261
281
|
<span class="cline-any cline-neutral"> </span>
|
|
262
282
|
<span class="cline-any cline-neutral"> </span>
|
|
263
283
|
<span class="cline-any cline-neutral"> </span>
|
|
264
|
-
<span class="cline-any cline-yes">
|
|
265
|
-
<span class="cline-any cline-yes">
|
|
284
|
+
<span class="cline-any cline-yes">22x</span>
|
|
285
|
+
<span class="cline-any cline-yes">22x</span>
|
|
266
286
|
<span class="cline-any cline-neutral"> </span>
|
|
267
287
|
<span class="cline-any cline-neutral"> </span>
|
|
268
288
|
<span class="cline-any cline-neutral"> </span>
|
|
269
289
|
<span class="cline-any cline-neutral"> </span>
|
|
270
|
-
<span class="cline-any cline-yes">
|
|
290
|
+
<span class="cline-any cline-yes">194x</span>
|
|
271
291
|
<span class="cline-any cline-neutral"> </span>
|
|
272
292
|
<span class="cline-any cline-neutral"> </span>
|
|
273
|
-
<span class="cline-any cline-yes">
|
|
274
|
-
<span class="cline-any cline-yes">
|
|
293
|
+
<span class="cline-any cline-yes">194x</span>
|
|
294
|
+
<span class="cline-any cline-yes">21x</span>
|
|
275
295
|
<span class="cline-any cline-neutral"> </span>
|
|
276
296
|
<span class="cline-any cline-neutral"> </span>
|
|
277
297
|
<span class="cline-any cline-neutral"> </span>
|
|
278
|
-
<span class="cline-any cline-yes">
|
|
298
|
+
<span class="cline-any cline-yes">194x</span>
|
|
279
299
|
<span class="cline-any cline-neutral"> </span>
|
|
280
300
|
<span class="cline-any cline-neutral"> </span>
|
|
281
301
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -283,6 +303,7 @@
|
|
|
283
303
|
CheckoutEvents,
|
|
284
304
|
InternalCheckoutEvents,
|
|
285
305
|
SessionEvent,
|
|
306
|
+
SessionValidationCallback,
|
|
286
307
|
} from "./checkout";
|
|
287
308
|
import { DinteroCheckoutInstance } from ".";
|
|
288
309
|
|
|
@@ -330,6 +351,15 @@ export const postSessionLock = <span class="fstat-no" title="function not covere
|
|
|
330
351
|
}
|
|
331
352
|
};
|
|
332
353
|
|
|
354
|
+
/**
|
|
355
|
+
* Post the validation result to the checkout iframe
|
|
356
|
+
*/
|
|
357
|
+
export const postValidationResult = <span class="fstat-no" title="function not covered" >(i</span>frame: HTMLIFrameElement, sid: string, result: SessionValidationCallback) => {
|
|
358
|
+
<span class="cstat-no" title="statement not covered" > if (iframe.contentWindow) {</span>
|
|
359
|
+
<span class="cstat-no" title="statement not covered" > iframe.contentWindow.postMessage({ type: "ValidationResult", sid, ...result }, "*");</span>
|
|
360
|
+
}
|
|
361
|
+
};
|
|
362
|
+
|
|
333
363
|
/**
|
|
334
364
|
* Post RefreshSession-event to the checkout iframe.
|
|
335
365
|
*/
|
|
@@ -397,7 +427,7 @@ export const subscribe = (options: SubscriptionOptions): Subscription => {
|
|
|
397
427
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
398
428
|
Code coverage generated by
|
|
399
429
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
400
|
-
at Mon
|
|
430
|
+
at Mon Feb 14 2022 14:16:49 GMT+0000 (Coordinated Universal Time)
|
|
401
431
|
</div>
|
|
402
432
|
</div>
|
|
403
433
|
<script src="prettify.js"></script>
|
|
@@ -23,16 +23,16 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">
|
|
26
|
+
<span class="strong">87.5% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>14/16</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">60% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>6/10</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
@@ -44,9 +44,9 @@
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">84.62% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>11/13</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -90,7 +90,9 @@
|
|
|
90
90
|
<a name='L31'></a><a href='#L31'>31</a>
|
|
91
91
|
<a name='L32'></a><a href='#L32'>32</a>
|
|
92
92
|
<a name='L33'></a><a href='#L33'>33</a>
|
|
93
|
-
<a name='L34'></a><a href='#L34'>34</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></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
94
96
|
<span class="cline-any cline-neutral"> </span>
|
|
95
97
|
<span class="cline-any cline-neutral"> </span>
|
|
96
98
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -110,8 +112,9 @@
|
|
|
110
112
|
<span class="cline-any cline-neutral"> </span>
|
|
111
113
|
<span class="cline-any cline-neutral"> </span>
|
|
112
114
|
<span class="cline-any cline-neutral"> </span>
|
|
115
|
+
<span class="cline-any cline-neutral"> </span>
|
|
113
116
|
<span class="cline-any cline-yes">1x</span>
|
|
114
|
-
<span class="cline-any cline-yes">
|
|
117
|
+
<span class="cline-any cline-yes">10x</span>
|
|
115
118
|
<span class="cline-any cline-yes">2x</span>
|
|
116
119
|
<span class="cline-any cline-no"> </span>
|
|
117
120
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -120,7 +123,8 @@
|
|
|
120
123
|
<span class="cline-any cline-yes">2x</span>
|
|
121
124
|
<span class="cline-any cline-yes">2x</span>
|
|
122
125
|
<span class="cline-any cline-yes">2x</span>
|
|
123
|
-
<span class="cline-any cline-yes">
|
|
126
|
+
<span class="cline-any cline-yes">2x</span>
|
|
127
|
+
<span class="cline-any cline-yes">8x</span>
|
|
124
128
|
<span class="cline-any cline-yes">2x</span>
|
|
125
129
|
<span class="cline-any cline-neutral"> </span>
|
|
126
130
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import pkg from "../package.json";
|
|
@@ -141,10 +145,11 @@ export interface SessionUrlOptions {
|
|
|
141
145
|
endpoint: string;
|
|
142
146
|
language: string | undefined;
|
|
143
147
|
ui?: "fullscreen" | "inline";
|
|
148
|
+
shouldCallValidateSession: boolean;
|
|
144
149
|
}
|
|
145
150
|
|
|
146
151
|
export const getSessionUrl = (options: SessionUrlOptions): string => {
|
|
147
|
-
const { sid, endpoint, language, ui } = options;
|
|
152
|
+
const { sid, endpoint, language, ui, shouldCallValidateSession } = options;
|
|
148
153
|
<span class="missing-if-branch" title="if path not taken" >I</span>if (!endpoint) {
|
|
149
154
|
<span class="cstat-no" title="statement not covered" > throw new Error("Invalid endpoint");</span>
|
|
150
155
|
}
|
|
@@ -153,7 +158,8 @@ export const getSessionUrl = (options: SessionUrlOptions): string => {
|
|
|
153
158
|
let languageParam = language ? `language=${language}` : "";
|
|
154
159
|
let uiParam = ui ? <span class="branch-0 cbranch-no" title="branch not covered" >`ui=${ui}` </span>: "";
|
|
155
160
|
let sdk = `sdk=${pkg.version}`;
|
|
156
|
-
|
|
161
|
+
let validate = shouldCallValidateSession ? <span class="branch-0 cbranch-no" title="branch not covered" >`client_side_validation=true` </span>: undefined;
|
|
162
|
+
const params = [languageParam, uiParam, sdk, validate].filter(x => x).join("&");
|
|
157
163
|
return `${endpoint}/v1/view/${sid}${params ? "?" + params : <span class="branch-1 cbranch-no" title="branch not covered" >""}</span>`;
|
|
158
164
|
};
|
|
159
165
|
</pre></td></tr></table></pre>
|
|
@@ -163,7 +169,7 @@ export const getSessionUrl = (options: SessionUrlOptions): string => {
|
|
|
163
169
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
164
170
|
Code coverage generated by
|
|
165
171
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
166
|
-
at Mon
|
|
172
|
+
at Mon Feb 14 2022 14:16:49 GMT+0000 (Coordinated Universal Time)
|
|
167
173
|
</div>
|
|
168
174
|
</div>
|
|
169
175
|
<script src="prettify.js"></script>
|