@saasquatch/squatch-js 2.6.0-3 → 2.6.0-5
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/workflows/static.yml +89 -0
- package/coverage/clover.xml +843 -3
- package/coverage/coverage-final.json +20 -1
- package/coverage/lcov-report/DeclarativeWidget.ts.html +790 -0
- package/coverage/lcov-report/Widgets.ts.html +1105 -0
- package/coverage/lcov-report/api/AnalyticsApi.ts.html +22 -22
- package/coverage/lcov-report/api/EventsApi.ts.html +352 -0
- package/coverage/lcov-report/api/WidgetApi.ts.html +84 -57
- package/coverage/lcov-report/api/graphql.ts.html +1 -1
- package/coverage/lcov-report/squatch.ts.html +721 -0
- package/coverage/lcov-report/utils/cookieUtils.ts.html +1 -1
- package/coverage/lcov-report/utils/decodeUserJwt.ts.html +1 -1
- package/coverage/lcov-report/utils/domready.ts.html +1 -1
- package/coverage/lcov-report/utils/io.ts.html +7 -7
- package/coverage/lcov-report/utils/utmUtils.ts.html +22 -22
- package/coverage/lcov-report/utils/validate.ts.html +41 -41
- package/coverage/lcov-report/validate.ts.html +1 -1
- package/coverage/lcov-report/widgets/EmbedWidget.ts.html +24 -3
- package/coverage/lcov-report/widgets/PopupWidget.ts.html +17 -2
- package/coverage/lcov-report/widgets/Widget.ts.html +1 -1
- package/coverage/lcov-report/widgets/Widgets.ts.html +110 -68
- package/coverage/lcov-report/widgets/declarative/DeclarativeWidget.ts.html +368 -74
- package/coverage/lcov-report/widgets/declarative/DeclarativeWidgets.ts.html +388 -0
- package/coverage/lcov.info +1561 -0
- package/dist/api/WidgetApi.d.ts +2 -2
- package/dist/squatch.d.ts +28 -1
- package/dist/squatch.esm.js +205 -47
- package/dist/squatch.esm.js.map +1 -1
- package/dist/squatch.js +205 -47
- package/dist/squatch.js.map +1 -1
- package/dist/squatch.min.js +1 -1
- package/dist/widgets/EmbedWidget.d.ts +8 -0
- package/dist/widgets/PopupWidget.d.ts +6 -1
- package/dist/widgets/Widgets.d.ts +15 -2
- package/dist/widgets/declarative/DeclarativeWidget.d.ts +66 -2
- package/dist/widgets/declarative/DeclarativeWidgets.d.ts +22 -0
- package/package.json +2 -2
|
@@ -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">100% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>100/100</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>36/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">100% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>11/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">100% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>97/97</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -388,8 +388,22 @@
|
|
|
388
388
|
<a name='L323'></a><a href='#L323'>323</a>
|
|
389
389
|
<a name='L324'></a><a href='#L324'>324</a>
|
|
390
390
|
<a name='L325'></a><a href='#L325'>325</a>
|
|
391
|
-
<a name='L326'></a><a href='#L326'>326</a
|
|
392
|
-
<
|
|
391
|
+
<a name='L326'></a><a href='#L326'>326</a>
|
|
392
|
+
<a name='L327'></a><a href='#L327'>327</a>
|
|
393
|
+
<a name='L328'></a><a href='#L328'>328</a>
|
|
394
|
+
<a name='L329'></a><a href='#L329'>329</a>
|
|
395
|
+
<a name='L330'></a><a href='#L330'>330</a>
|
|
396
|
+
<a name='L331'></a><a href='#L331'>331</a>
|
|
397
|
+
<a name='L332'></a><a href='#L332'>332</a>
|
|
398
|
+
<a name='L333'></a><a href='#L333'>333</a>
|
|
399
|
+
<a name='L334'></a><a href='#L334'>334</a>
|
|
400
|
+
<a name='L335'></a><a href='#L335'>335</a>
|
|
401
|
+
<a name='L336'></a><a href='#L336'>336</a>
|
|
402
|
+
<a name='L337'></a><a href='#L337'>337</a>
|
|
403
|
+
<a name='L338'></a><a href='#L338'>338</a>
|
|
404
|
+
<a name='L339'></a><a href='#L339'>339</a>
|
|
405
|
+
<a name='L340'></a><a href='#L340'>340</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">4x</span>
|
|
406
|
+
<span class="cline-any cline-yes">4x</span>
|
|
393
407
|
<span class="cline-any cline-neutral"> </span>
|
|
394
408
|
<span class="cline-any cline-neutral"> </span>
|
|
395
409
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -398,24 +412,29 @@
|
|
|
398
412
|
<span class="cline-any cline-neutral"> </span>
|
|
399
413
|
<span class="cline-any cline-neutral"> </span>
|
|
400
414
|
<span class="cline-any cline-neutral"> </span>
|
|
401
|
-
<span class="cline-any cline-yes">
|
|
415
|
+
<span class="cline-any cline-yes">4x</span>
|
|
402
416
|
<span class="cline-any cline-neutral"> </span>
|
|
403
417
|
<span class="cline-any cline-neutral"> </span>
|
|
404
418
|
<span class="cline-any cline-neutral"> </span>
|
|
405
419
|
<span class="cline-any cline-neutral"> </span>
|
|
406
|
-
<span class="cline-any cline-yes">
|
|
407
|
-
<span class="cline-any cline-yes">
|
|
420
|
+
<span class="cline-any cline-yes">4x</span>
|
|
421
|
+
<span class="cline-any cline-yes">4x</span>
|
|
408
422
|
<span class="cline-any cline-neutral"> </span>
|
|
409
423
|
<span class="cline-any cline-neutral"> </span>
|
|
410
|
-
<span class="cline-any cline-yes">
|
|
424
|
+
<span class="cline-any cline-yes">4x</span>
|
|
425
|
+
<span class="cline-any cline-neutral"> </span>
|
|
411
426
|
<span class="cline-any cline-neutral"> </span>
|
|
412
427
|
<span class="cline-any cline-neutral"> </span>
|
|
413
428
|
<span class="cline-any cline-neutral"> </span>
|
|
414
429
|
<span class="cline-any cline-neutral"> </span>
|
|
415
430
|
<span class="cline-any cline-neutral"> </span>
|
|
431
|
+
<span class="cline-any cline-yes">4x</span>
|
|
432
|
+
<span class="cline-any cline-neutral"> </span>
|
|
433
|
+
<span class="cline-any cline-neutral"> </span>
|
|
434
|
+
<span class="cline-any cline-neutral"> </span>
|
|
435
|
+
<span class="cline-any cline-neutral"> </span>
|
|
416
436
|
<span class="cline-any cline-neutral"> </span>
|
|
417
437
|
<span class="cline-any cline-neutral"> </span>
|
|
418
|
-
<span class="cline-any cline-yes">1x</span>
|
|
419
438
|
<span class="cline-any cline-neutral"> </span>
|
|
420
439
|
<span class="cline-any cline-neutral"> </span>
|
|
421
440
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -438,11 +457,6 @@
|
|
|
438
457
|
<span class="cline-any cline-neutral"> </span>
|
|
439
458
|
<span class="cline-any cline-neutral"> </span>
|
|
440
459
|
<span class="cline-any cline-neutral"> </span>
|
|
441
|
-
<span class="cline-any cline-yes">32x</span>
|
|
442
|
-
<span class="cline-any cline-yes">32x</span>
|
|
443
|
-
<span class="cline-any cline-yes">32x</span>
|
|
444
|
-
<span class="cline-any cline-yes">32x</span>
|
|
445
|
-
<span class="cline-any cline-yes">32x</span>
|
|
446
460
|
<span class="cline-any cline-neutral"> </span>
|
|
447
461
|
<span class="cline-any cline-neutral"> </span>
|
|
448
462
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -454,6 +468,21 @@
|
|
|
454
468
|
<span class="cline-any cline-neutral"> </span>
|
|
455
469
|
<span class="cline-any cline-neutral"> </span>
|
|
456
470
|
<span class="cline-any cline-neutral"> </span>
|
|
471
|
+
<span class="cline-any cline-yes">68x</span>
|
|
472
|
+
<span class="cline-any cline-yes">67x</span>
|
|
473
|
+
<span class="cline-any cline-yes">67x</span>
|
|
474
|
+
<span class="cline-any cline-yes">67x</span>
|
|
475
|
+
<span class="cline-any cline-yes">67x</span>
|
|
476
|
+
<span class="cline-any cline-neutral"> </span>
|
|
477
|
+
<span class="cline-any cline-neutral"> </span>
|
|
478
|
+
<span class="cline-any cline-neutral"> </span>
|
|
479
|
+
<span class="cline-any cline-neutral"> </span>
|
|
480
|
+
<span class="cline-any cline-neutral"> </span>
|
|
481
|
+
<span class="cline-any cline-neutral"> </span>
|
|
482
|
+
<span class="cline-any cline-neutral"> </span>
|
|
483
|
+
<span class="cline-any cline-neutral"> </span>
|
|
484
|
+
<span class="cline-any cline-neutral"> </span>
|
|
485
|
+
<span class="cline-any cline-neutral"> </span>
|
|
457
486
|
<span class="cline-any cline-neutral"> </span>
|
|
458
487
|
<span class="cline-any cline-neutral"> </span>
|
|
459
488
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -580,14 +609,14 @@
|
|
|
580
609
|
<span class="cline-any cline-neutral"> </span>
|
|
581
610
|
<span class="cline-any cline-neutral"> </span>
|
|
582
611
|
<span class="cline-any cline-neutral"> </span>
|
|
583
|
-
<span class="cline-any cline-yes">
|
|
584
|
-
<span class="cline-any cline-yes">
|
|
612
|
+
<span class="cline-any cline-yes">18x</span>
|
|
613
|
+
<span class="cline-any cline-yes">18x</span>
|
|
585
614
|
<span class="cline-any cline-neutral"> </span>
|
|
586
615
|
<span class="cline-any cline-neutral"> </span>
|
|
587
|
-
<span class="cline-any cline-yes">
|
|
588
|
-
<span class="cline-any cline-yes">
|
|
616
|
+
<span class="cline-any cline-yes">17x</span>
|
|
617
|
+
<span class="cline-any cline-yes">17x</span>
|
|
589
618
|
<span class="cline-any cline-neutral"> </span>
|
|
590
|
-
<span class="cline-any cline-yes">
|
|
619
|
+
<span class="cline-any cline-yes">17x</span>
|
|
591
620
|
<span class="cline-any cline-neutral"> </span>
|
|
592
621
|
<span class="cline-any cline-neutral"> </span>
|
|
593
622
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -596,40 +625,38 @@
|
|
|
596
625
|
<span class="cline-any cline-neutral"> </span>
|
|
597
626
|
<span class="cline-any cline-neutral"> </span>
|
|
598
627
|
<span class="cline-any cline-neutral"> </span>
|
|
599
|
-
<span class="cline-any cline-yes">
|
|
628
|
+
<span class="cline-any cline-yes">17x</span>
|
|
600
629
|
<span class="cline-any cline-yes">4x</span>
|
|
601
630
|
<span class="cline-any cline-yes">4x</span>
|
|
602
631
|
<span class="cline-any cline-yes">3x</span>
|
|
603
|
-
<span class="cline-any cline-yes">3x</span>
|
|
604
|
-
<span class="cline-any cline-neutral"> </span>
|
|
605
632
|
<span class="cline-any cline-neutral"> </span>
|
|
606
633
|
<span class="cline-any cline-neutral"> </span>
|
|
607
|
-
<span class="cline-any cline-yes">1x</span>
|
|
608
|
-
<span class="cline-any cline-yes">1x</span>
|
|
609
|
-
<span class="cline-any cline-yes">1x</span>
|
|
610
634
|
<span class="cline-any cline-neutral"> </span>
|
|
611
635
|
<span class="cline-any cline-yes">2x</span>
|
|
636
|
+
<span class="cline-any cline-yes">2x</span>
|
|
612
637
|
<span class="cline-any cline-neutral"> </span>
|
|
638
|
+
<span class="cline-any cline-yes">1x</span>
|
|
613
639
|
<span class="cline-any cline-neutral"> </span>
|
|
614
640
|
<span class="cline-any cline-neutral"> </span>
|
|
615
641
|
<span class="cline-any cline-neutral"> </span>
|
|
616
642
|
<span class="cline-any cline-neutral"> </span>
|
|
617
643
|
<span class="cline-any cline-neutral"> </span>
|
|
618
644
|
<span class="cline-any cline-neutral"> </span>
|
|
619
|
-
<span class="cline-any cline-yes">12x</span>
|
|
620
|
-
<span class="cline-any cline-no"> </span>
|
|
621
645
|
<span class="cline-any cline-neutral"> </span>
|
|
622
|
-
<span class="cline-any cline-
|
|
623
|
-
<span class="cline-any cline-
|
|
624
|
-
<span class="cline-any cline-no"> </span>
|
|
625
|
-
<span class="cline-any cline-no"> </span>
|
|
626
|
-
<span class="cline-any cline-no"> </span>
|
|
646
|
+
<span class="cline-any cline-yes">17x</span>
|
|
647
|
+
<span class="cline-any cline-yes">5x</span>
|
|
627
648
|
<span class="cline-any cline-neutral"> </span>
|
|
628
|
-
<span class="cline-any cline-
|
|
629
|
-
<span class="cline-any cline-
|
|
649
|
+
<span class="cline-any cline-yes">5x</span>
|
|
650
|
+
<span class="cline-any cline-yes">5x</span>
|
|
651
|
+
<span class="cline-any cline-yes">4x</span>
|
|
652
|
+
<span class="cline-any cline-yes">4x</span>
|
|
653
|
+
<span class="cline-any cline-yes">3x</span>
|
|
630
654
|
<span class="cline-any cline-neutral"> </span>
|
|
655
|
+
<span class="cline-any cline-yes">3x</span>
|
|
656
|
+
<span class="cline-any cline-yes">2x</span>
|
|
631
657
|
<span class="cline-any cline-neutral"> </span>
|
|
632
|
-
<span class="cline-any cline-
|
|
658
|
+
<span class="cline-any cline-neutral"> </span>
|
|
659
|
+
<span class="cline-any cline-yes">1x</span>
|
|
633
660
|
<span class="cline-any cline-neutral"> </span>
|
|
634
661
|
<span class="cline-any cline-neutral"> </span>
|
|
635
662
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -640,19 +667,19 @@
|
|
|
640
667
|
<span class="cline-any cline-neutral"> </span>
|
|
641
668
|
<span class="cline-any cline-neutral"> </span>
|
|
642
669
|
<span class="cline-any cline-neutral"> </span>
|
|
643
|
-
<span class="cline-any cline-yes">
|
|
670
|
+
<span class="cline-any cline-yes">17x</span>
|
|
644
671
|
<span class="cline-any cline-yes">2x</span>
|
|
645
|
-
<span class="cline-any cline-yes">
|
|
672
|
+
<span class="cline-any cline-yes">15x</span>
|
|
646
673
|
<span class="cline-any cline-yes">5x</span>
|
|
647
674
|
<span class="cline-any cline-yes">5x</span>
|
|
648
675
|
<span class="cline-any cline-neutral"> </span>
|
|
649
|
-
<span class="cline-any cline-yes">
|
|
650
|
-
<span class="cline-any cline-yes">
|
|
651
|
-
<span class="cline-any cline-yes">
|
|
652
|
-
<span class="cline-any cline-yes">
|
|
676
|
+
<span class="cline-any cline-yes">10x</span>
|
|
677
|
+
<span class="cline-any cline-yes">10x</span>
|
|
678
|
+
<span class="cline-any cline-yes">10x</span>
|
|
679
|
+
<span class="cline-any cline-yes">10x</span>
|
|
653
680
|
<span class="cline-any cline-neutral"> </span>
|
|
654
681
|
<span class="cline-any cline-neutral"> </span>
|
|
655
|
-
<span class="cline-any cline-yes">
|
|
682
|
+
<span class="cline-any cline-yes">17x</span>
|
|
656
683
|
<span class="cline-any cline-neutral"> </span>
|
|
657
684
|
<span class="cline-any cline-neutral"> </span>
|
|
658
685
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -710,7 +737,8 @@
|
|
|
710
737
|
<span class="cline-any cline-neutral"> </span>
|
|
711
738
|
<span class="cline-any cline-neutral"> </span>
|
|
712
739
|
<span class="cline-any cline-neutral"> </span>
|
|
713
|
-
<span class="cline-any cline-
|
|
740
|
+
<span class="cline-any cline-yes">3x</span>
|
|
741
|
+
<span class="cline-any cline-yes">3x</span>
|
|
714
742
|
<span class="cline-any cline-neutral"> </span>
|
|
715
743
|
<span class="cline-any cline-neutral"> </span>
|
|
716
744
|
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import { debug } from "debug";
|
|
@@ -735,15 +763,31 @@ import Widget, { Params } from "./Widget";
|
|
|
735
763
|
const _log = debug("squatch-js:widgets");
|
|
736
764
|
|
|
737
765
|
/**
|
|
738
|
-
*
|
|
739
766
|
* `Widgets` is a factory for creating widgets. It's possible to build your own widgets using the
|
|
740
767
|
* {@link WidgetApi} but most people will prefer to use these easy methods.
|
|
741
|
-
*
|
|
768
|
+
* @class
|
|
742
769
|
*/
|
|
743
770
|
export default class Widgets {
|
|
771
|
+
/**
|
|
772
|
+
* Instance of {@link WidgetApi}
|
|
773
|
+
*/
|
|
744
774
|
api: WidgetApi;
|
|
775
|
+
|
|
776
|
+
/**
|
|
777
|
+
* Tenant alias of SaaSquatch tenant.
|
|
778
|
+
*/
|
|
745
779
|
tenantAlias: string;
|
|
780
|
+
|
|
781
|
+
/**
|
|
782
|
+
* SaaSquatch domain for API requests.
|
|
783
|
+
* @default "https://app.referralsaasquatch.com"
|
|
784
|
+
*/
|
|
746
785
|
domain: string;
|
|
786
|
+
|
|
787
|
+
/**
|
|
788
|
+
* Hosted CDN for npm packages
|
|
789
|
+
* @default "https://fast.ssqt.io/npm"
|
|
790
|
+
*/
|
|
747
791
|
npmCdn: string;
|
|
748
792
|
|
|
749
793
|
/**
|
|
@@ -768,7 +812,6 @@ export default class Widgets {
|
|
|
768
812
|
this.domain = config.domain;
|
|
769
813
|
this.npmCdn = config.npmCdn;
|
|
770
814
|
this.api = new WidgetApi(config);
|
|
771
|
-
// listens to a 'submit_email' event in the theme.
|
|
772
815
|
}
|
|
773
816
|
|
|
774
817
|
/**
|
|
@@ -924,12 +967,10 @@ export default class Widgets {
|
|
|
924
967
|
if (opts.widgetUrlMappings) {
|
|
925
968
|
opts.widgetUrlMappings.forEach((rule) => {
|
|
926
969
|
if (Widgets._matchesUrl(rule.url)) {
|
|
927
|
-
console.log({ response, rule });
|
|
928
970
|
if (
|
|
929
971
|
rule.widgetType !== "CONVERSION_WIDGET" ||
|
|
930
972
|
response.user?.referredBy?.code
|
|
931
973
|
) {
|
|
932
|
-
console.log("HERE");
|
|
933
974
|
displayOnLoad = rule.displayOnLoad;
|
|
934
975
|
_log(`Display ${rule.widgetType} on ${rule.url}`);
|
|
935
976
|
} else {
|
|
@@ -941,20 +982,20 @@ export default class Widgets {
|
|
|
941
982
|
});
|
|
942
983
|
}
|
|
943
984
|
|
|
944
|
-
|
|
945
|
-
|
|
985
|
+
if (opts.fuelTankAutofillUrls) {
|
|
986
|
+
_log("We found a fuel tank autofill!");
|
|
946
987
|
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
const formAutofill =
|
|
988
|
+
opts.fuelTankAutofillUrls.forEach(({ url, formSelector }) => {
|
|
989
|
+
if (Widgets._matchesUrl(url)) {
|
|
990
|
+
_log("Fuel Tank URL matches");
|
|
991
|
+
if (response.user?.referredBy?.code) {
|
|
992
|
+
const formAutofill = document.querySelector(formSelector);
|
|
952
993
|
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
response.user.referredBy.referredReward
|
|
994
|
+
if (formAutofill) {
|
|
995
|
+
formAutofill.value =
|
|
996
|
+
response.user.referredBy.referredReward?.fuelTankCode || "";
|
|
956
997
|
} else {
|
|
957
|
-
|
|
998
|
+
_log(
|
|
958
999
|
new Error(
|
|
959
1000
|
`Element with id/class ${formSelector} was not found.`
|
|
960
1001
|
)
|
|
@@ -1033,9 +1074,10 @@ export default class Widgets {
|
|
|
1033
1074
|
* @param {string} rule A regular expression
|
|
1034
1075
|
* @returns {boolean} true if rule matches Url, false otherwise
|
|
1035
1076
|
*/
|
|
1036
|
-
private
|
|
1077
|
+
private static _matchesUrl(rule) {
|
|
1037
1078
|
// If there were no matches, null is returned.
|
|
1038
|
-
|
|
1079
|
+
console.log({ href: window.location.href });
|
|
1080
|
+
return window.location.href.match(new RegExp(rule)) ? true : false;
|
|
1039
1081
|
}
|
|
1040
1082
|
}
|
|
1041
1083
|
</pre></td></tr></table></pre>
|
|
@@ -1045,7 +1087,7 @@ export default class Widgets {
|
|
|
1045
1087
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1046
1088
|
Code coverage generated by
|
|
1047
1089
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1048
|
-
at 2023-07-
|
|
1090
|
+
at 2023-07-21T16:40:43.990Z
|
|
1049
1091
|
</div>
|
|
1050
1092
|
<script src="../prettify.js"></script>
|
|
1051
1093
|
<script>
|