@saasquatch/squatch-js 2.6.0-0 → 2.6.0-2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +87 -68
- package/coverage/clover.xml +3 -885
- package/coverage/coverage-final.json +1 -23
- package/coverage/lcov-report/WidgetApi.ts.html +631 -0
- package/coverage/lcov-report/api/AnalyticsApi.ts.html +4 -4
- package/coverage/lcov-report/api/WidgetApi.ts.html +36 -33
- package/coverage/lcov-report/api/graphql.ts.html +1 -1
- package/coverage/lcov-report/utils/domready.ts.html +2 -2
- package/coverage/lcov-report/utils/io.ts.html +31 -16
- package/coverage/lcov-report/utils/validate.ts.html +48 -48
- package/coverage/lcov-report/validate.ts.html +1 -1
- package/coverage/lcov-report/widgets/EmbedWidget.ts.html +21 -24
- package/coverage/lcov-report/widgets/PopupWidget.ts.html +72 -27
- package/coverage/lcov-report/widgets/Widget.ts.html +78 -21
- package/coverage/lcov-report/widgets/Widgets.ts.html +1060 -0
- package/coverage/lcov.info +0 -1628
- package/cucumber.js +3 -3
- package/dist/squatch.d.ts +0 -15
- package/dist/squatch.esm.js +145 -153
- package/dist/squatch.esm.js.map +1 -1
- package/dist/squatch.js +144 -153
- package/dist/squatch.js.map +1 -1
- package/dist/squatch.min.js +1 -1
- package/dist/utils/io.d.ts +1 -1
- package/dist/widgets/EmbedWidget.d.ts +5 -5
- package/dist/widgets/PopupWidget.d.ts +5 -5
- package/dist/widgets/Widget.d.ts +3 -2
- package/dist/widgets/Widgets.d.ts +1 -10
- package/dist/widgets/declarative/DeclarativeWidget.d.ts +4 -6
- package/jest.config.ts +3 -5
- package/package.json +5 -5
- package/tsconfig.json +1 -0
|
@@ -23,30 +23,30 @@
|
|
|
23
23
|
<div class='clearfix'>
|
|
24
24
|
|
|
25
25
|
<div class='fl pad1y space-right2'>
|
|
26
|
-
<span class="strong">4.
|
|
26
|
+
<span class="strong">4.38% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>5/
|
|
28
|
+
<span class='fraction'>5/114</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
33
|
<span class="strong">0% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>0/
|
|
35
|
+
<span class='fraction'>0/57</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
40
|
<span class="strong">0% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>0/
|
|
42
|
+
<span class='fraction'>0/22</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">4.
|
|
47
|
+
<span class="strong">4.58% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>5/
|
|
49
|
+
<span class='fraction'>5/109</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -404,15 +404,34 @@
|
|
|
404
404
|
<a name='L339'></a><a href='#L339'>339</a>
|
|
405
405
|
<a name='L340'></a><a href='#L340'>340</a>
|
|
406
406
|
<a name='L341'></a><a href='#L341'>341</a>
|
|
407
|
-
<a name='L342'></a><a href='#L342'>342</a
|
|
408
|
-
<
|
|
409
|
-
<
|
|
407
|
+
<a name='L342'></a><a href='#L342'>342</a>
|
|
408
|
+
<a name='L343'></a><a href='#L343'>343</a>
|
|
409
|
+
<a name='L344'></a><a href='#L344'>344</a>
|
|
410
|
+
<a name='L345'></a><a href='#L345'>345</a>
|
|
411
|
+
<a name='L346'></a><a href='#L346'>346</a>
|
|
412
|
+
<a name='L347'></a><a href='#L347'>347</a>
|
|
413
|
+
<a name='L348'></a><a href='#L348'>348</a>
|
|
414
|
+
<a name='L349'></a><a href='#L349'>349</a>
|
|
415
|
+
<a name='L350'></a><a href='#L350'>350</a>
|
|
416
|
+
<a name='L351'></a><a href='#L351'>351</a>
|
|
417
|
+
<a name='L352'></a><a href='#L352'>352</a>
|
|
418
|
+
<a name='L353'></a><a href='#L353'>353</a>
|
|
419
|
+
<a name='L354'></a><a href='#L354'>354</a>
|
|
420
|
+
<a name='L355'></a><a href='#L355'>355</a>
|
|
421
|
+
<a name='L356'></a><a href='#L356'>356</a>
|
|
422
|
+
<a name='L357'></a><a href='#L357'>357</a>
|
|
423
|
+
<a name='L358'></a><a href='#L358'>358</a>
|
|
424
|
+
<a name='L359'></a><a href='#L359'>359</a>
|
|
425
|
+
<a name='L360'></a><a href='#L360'>360</a>
|
|
426
|
+
<a name='L361'></a><a href='#L361'>361</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
427
|
+
<span class="cline-any cline-yes">2x</span>
|
|
428
|
+
<span class="cline-any cline-yes">2x</span>
|
|
410
429
|
<span class="cline-any cline-neutral"> </span>
|
|
411
430
|
<span class="cline-any cline-neutral"> </span>
|
|
412
|
-
<span class="cline-any cline-yes">
|
|
431
|
+
<span class="cline-any cline-yes">2x</span>
|
|
413
432
|
<span class="cline-any cline-neutral"> </span>
|
|
414
433
|
<span class="cline-any cline-neutral"> </span>
|
|
415
|
-
<span class="cline-any cline-yes">
|
|
434
|
+
<span class="cline-any cline-yes">2x</span>
|
|
416
435
|
<span class="cline-any cline-neutral"> </span>
|
|
417
436
|
<span class="cline-any cline-neutral"> </span>
|
|
418
437
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -445,7 +464,7 @@
|
|
|
445
464
|
<span class="cline-any cline-neutral"> </span>
|
|
446
465
|
<span class="cline-any cline-neutral"> </span>
|
|
447
466
|
<span class="cline-any cline-neutral"> </span>
|
|
448
|
-
<span class="cline-any cline-yes">
|
|
467
|
+
<span class="cline-any cline-yes">2x</span>
|
|
449
468
|
<span class="cline-any cline-neutral"> </span>
|
|
450
469
|
<span class="cline-any cline-neutral"> </span>
|
|
451
470
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -488,9 +507,14 @@
|
|
|
488
507
|
<span class="cline-any cline-neutral"> </span>
|
|
489
508
|
<span class="cline-any cline-no"> </span>
|
|
490
509
|
<span class="cline-any cline-neutral"> </span>
|
|
510
|
+
<span class="cline-any cline-neutral"> </span>
|
|
491
511
|
<span class="cline-any cline-no"> </span>
|
|
492
512
|
<span class="cline-any cline-no"> </span>
|
|
493
513
|
<span class="cline-any cline-neutral"> </span>
|
|
514
|
+
<span class="cline-any cline-neutral"> </span>
|
|
515
|
+
<span class="cline-any cline-neutral"> </span>
|
|
516
|
+
<span class="cline-any cline-neutral"> </span>
|
|
517
|
+
<span class="cline-any cline-neutral"> </span>
|
|
494
518
|
<span class="cline-any cline-no"> </span>
|
|
495
519
|
<span class="cline-any cline-neutral"> </span>
|
|
496
520
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -500,6 +524,8 @@
|
|
|
500
524
|
<span class="cline-any cline-no"> </span>
|
|
501
525
|
<span class="cline-any cline-no"> </span>
|
|
502
526
|
<span class="cline-any cline-no"> </span>
|
|
527
|
+
<span class="cline-any cline-no"> </span>
|
|
528
|
+
<span class="cline-any cline-no"> </span>
|
|
503
529
|
<span class="cline-any cline-neutral"> </span>
|
|
504
530
|
<span class="cline-any cline-neutral"> </span>
|
|
505
531
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -508,6 +534,14 @@
|
|
|
508
534
|
<span class="cline-any cline-neutral"> </span>
|
|
509
535
|
<span class="cline-any cline-neutral"> </span>
|
|
510
536
|
<span class="cline-any cline-neutral"> </span>
|
|
537
|
+
<span class="cline-any cline-no"> </span>
|
|
538
|
+
<span class="cline-any cline-no"> </span>
|
|
539
|
+
<span class="cline-any cline-no"> </span>
|
|
540
|
+
<span class="cline-any cline-neutral"> </span>
|
|
541
|
+
<span class="cline-any cline-neutral"> </span>
|
|
542
|
+
<span class="cline-any cline-neutral"> </span>
|
|
543
|
+
<span class="cline-any cline-neutral"> </span>
|
|
544
|
+
<span class="cline-any cline-neutral"> </span>
|
|
511
545
|
<span class="cline-any cline-neutral"> </span>
|
|
512
546
|
<span class="cline-any cline-no"> </span>
|
|
513
547
|
<span class="cline-any cline-no"> </span>
|
|
@@ -650,6 +684,8 @@
|
|
|
650
684
|
<span class="cline-any cline-neutral"> </span>
|
|
651
685
|
<span class="cline-any cline-neutral"> </span>
|
|
652
686
|
<span class="cline-any cline-no"> </span>
|
|
687
|
+
<span class="cline-any cline-no"> </span>
|
|
688
|
+
<span class="cline-any cline-no"> </span>
|
|
653
689
|
<span class="cline-any cline-neutral"> </span>
|
|
654
690
|
<span class="cline-any cline-no"> </span>
|
|
655
691
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -662,6 +698,8 @@
|
|
|
662
698
|
<span class="cline-any cline-no"> </span>
|
|
663
699
|
<span class="cline-any cline-no"> </span>
|
|
664
700
|
<span class="cline-any cline-neutral"> </span>
|
|
701
|
+
<span class="cline-any cline-no"> </span>
|
|
702
|
+
<span class="cline-any cline-neutral"> </span>
|
|
665
703
|
<span class="cline-any cline-neutral"> </span>
|
|
666
704
|
<span class="cline-any cline-neutral"> </span>
|
|
667
705
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -829,8 +867,13 @@ export default abstract class Widget {
|
|
|
829
867
|
document.querySelector(".squatchembed");
|
|
830
868
|
<span class="cstat-no" title="statement not covered" > _log("loading widget with default selector", element);</span>
|
|
831
869
|
}
|
|
870
|
+
|
|
832
871
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!(element instanceof HTMLElement))</span>
|
|
833
|
-
<span class="cstat-no" title="statement not covered" > throw new Error(
|
|
872
|
+
<span class="cstat-no" title="statement not covered" > throw new Error(</span>
|
|
873
|
+
`element with selector '${
|
|
874
|
+
this.container || "#squatchembed or .squatchembed"
|
|
875
|
+
}' not found.'`
|
|
876
|
+
);
|
|
834
877
|
|
|
835
878
|
<span class="cstat-no" title="statement not covered" > return element;</span>
|
|
836
879
|
}
|
|
@@ -838,7 +881,9 @@ export default abstract class Widget {
|
|
|
838
881
|
<span class="fstat-no" title="function not covered" > _createFrame(</span>) {
|
|
839
882
|
const frame = <span class="cstat-no" title="statement not covered" >document.createElement("iframe");</span>
|
|
840
883
|
<span class="cstat-no" title="statement not covered" > frame["squatchJsApi"] = this;</span>
|
|
884
|
+
<span class="cstat-no" title="statement not covered" > frame.id = "squatchFrame";</span>
|
|
841
885
|
<span class="cstat-no" title="statement not covered" > frame.width = "100%";</span>
|
|
886
|
+
<span class="cstat-no" title="statement not covered" > frame.src = "about:blank";</span>
|
|
842
887
|
<span class="cstat-no" title="statement not covered" > frame.scrolling = "no";</span>
|
|
843
888
|
<span class="cstat-no" title="statement not covered" > frame.setAttribute(</span>
|
|
844
889
|
"style",
|
|
@@ -848,7 +893,15 @@ export default abstract class Widget {
|
|
|
848
893
|
<span class="cstat-no" title="statement not covered" > return frame;</span>
|
|
849
894
|
}
|
|
850
895
|
|
|
851
|
-
|
|
896
|
+
<span class="fstat-no" title="function not covered" > _findFrame(</span>) {
|
|
897
|
+
const element = <span class="cstat-no" title="statement not covered" >this._findElement();</span>
|
|
898
|
+
const parent = <span class="cstat-no" title="statement not covered" >element.shadowRoot || element;</span>
|
|
899
|
+
<span class="cstat-no" title="statement not covered" > return parent.querySelector(</span>
|
|
900
|
+
"iframe#squatchFrame"
|
|
901
|
+
) as HTMLIFrameElement | null;
|
|
902
|
+
}
|
|
903
|
+
|
|
904
|
+
abstract load(): void;
|
|
852
905
|
protected <span class="fstat-no" title="function not covered" >_loadEvent(</span>sqh: ProgramLoadEvent | GenericLoadEvent) {
|
|
853
906
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!sqh) <span class="cstat-no" title="statement not covered" >return; </span></span>// No non-truthy value
|
|
854
907
|
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!isObject(sqh)) {</span>
|
|
@@ -888,7 +941,7 @@ export default abstract class Widget {
|
|
|
888
941
|
<span class="cstat-no" title="statement not covered" > _log(`${params.engagementMedium} loaded event recorded.`);</span>
|
|
889
942
|
})
|
|
890
943
|
.catch(<span class="fstat-no" title="function not covered" >(e</span>x) => {
|
|
891
|
-
<span class="cstat-no" title="statement not covered" > _log(
|
|
944
|
+
<span class="cstat-no" title="statement not covered" > _log(`ERROR: pushAnalyticsLoadEvent() ${ex}`);</span>
|
|
892
945
|
});
|
|
893
946
|
}
|
|
894
947
|
|
|
@@ -908,7 +961,7 @@ export default abstract class Widget {
|
|
|
908
961
|
);
|
|
909
962
|
})
|
|
910
963
|
.catch(<span class="fstat-no" title="function not covered" >(e</span>x) => {
|
|
911
|
-
<span class="cstat-no" title="statement not covered" > _log(
|
|
964
|
+
<span class="cstat-no" title="statement not covered" > _log(`ERROR: pushAnalyticsShareClickedEvent() ${ex}`);</span>
|
|
912
965
|
});
|
|
913
966
|
}
|
|
914
967
|
}
|
|
@@ -989,7 +1042,9 @@ export default abstract class Widget {
|
|
|
989
1042
|
* @param param0 Form field values
|
|
990
1043
|
* @param jwt JWT for API authentication
|
|
991
1044
|
*/
|
|
992
|
-
<span class="fstat-no" title="function not covered" > reload(</span>
|
|
1045
|
+
<span class="fstat-no" title="function not covered" > reload(</span>{ email, firstName, lastName }, jwt) {
|
|
1046
|
+
const frame = <span class="cstat-no" title="statement not covered" >this._findFrame();</span>
|
|
1047
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!frame) <span class="cstat-no" title="statement not covered" >throw new Error("Could not find widget iframe");</span></span>
|
|
993
1048
|
const frameWindow = <span class="cstat-no" title="statement not covered" >frame.contentWindow;</span>
|
|
994
1049
|
|
|
995
1050
|
const engagementMedium = <span class="cstat-no" title="statement not covered" >this.context.engagementMedium || "POPUP";</span>
|
|
@@ -1001,6 +1056,8 @@ export default abstract class Widget {
|
|
|
1001
1056
|
let response;
|
|
1002
1057
|
|
|
1003
1058
|
<span class="cstat-no" title="statement not covered" > if (this.context.type === "upsert") {</span>
|
|
1059
|
+
<span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!this.context.user) <span class="cstat-no" title="statement not covered" >throw new Error("Can't reload without user ids");</span></span>
|
|
1060
|
+
|
|
1004
1061
|
let userObj = <span class="cstat-no" title="statement not covered" >{</span>
|
|
1005
1062
|
email: email || null,
|
|
1006
1063
|
firstName: firstName || null,
|
|
@@ -1037,10 +1094,10 @@ export default abstract class Widget {
|
|
|
1037
1094
|
frame,
|
|
1038
1095
|
{ email, engagementMedium },
|
|
1039
1096
|
<span class="fstat-no" title="function not covered" > () =</span>> {
|
|
1040
|
-
<span class="cstat-no" title="statement not covered" > this.load(
|
|
1097
|
+
<span class="cstat-no" title="statement not covered" > this.load();</span>
|
|
1041
1098
|
|
|
1042
1099
|
// @ts-ignore -- open exists in the PopupWidget, so this call will always exist when it's called.
|
|
1043
|
-
<span class="cstat-no" title="statement not covered" > engagementMedium === "POPUP" && this.open(
|
|
1100
|
+
<span class="cstat-no" title="statement not covered" > engagementMedium === "POPUP" && this.open();</span>
|
|
1044
1101
|
}
|
|
1045
1102
|
);
|
|
1046
1103
|
}
|
|
@@ -1050,7 +1107,7 @@ export default abstract class Widget {
|
|
|
1050
1107
|
});
|
|
1051
1108
|
}
|
|
1052
1109
|
|
|
1053
|
-
<span class="fstat-no" title="function not covered" >
|
|
1110
|
+
private <span class="fstat-no" title="function not covered" >__deprecated__register(</span>frame, params, onClick) {
|
|
1054
1111
|
const frameWindow = <span class="cstat-no" title="statement not covered" >frame.contentWindow;</span>
|
|
1055
1112
|
const frameDoc = <span class="cstat-no" title="statement not covered" >frameWindow.document;</span>
|
|
1056
1113
|
const showStatsBtn = <span class="cstat-no" title="statement not covered" >frameDoc.createElement("button");</span>
|
|
@@ -1093,7 +1150,7 @@ function <span class="fstat-no" title="function not covered" >delay(</span>durat
|
|
|
1093
1150
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1094
1151
|
Code coverage generated by
|
|
1095
1152
|
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
|
|
1096
|
-
at 2023-07-
|
|
1153
|
+
at 2023-07-18T18:59:28.021Z
|
|
1097
1154
|
</div>
|
|
1098
1155
|
<script src="../prettify.js"></script>
|
|
1099
1156
|
<script>
|