@dintero/checkout-web-sdk 0.5.9 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/checkout.ts.html +92 -5
- package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/createIframeAsync.ts.html +15 -15
- package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/index.html +88 -43
- package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/index.ts.html +1085 -95
- package/coverage/Chrome Headless 117.0.5938.92 (Linux x86_64)/html/popOut.ts.html +377 -0
- package/coverage/Chrome Headless 117.0.5938.92 (Linux x86_64)/html/popOutBackdrop.ts.html +1046 -0
- package/coverage/Chrome Headless 117.0.5938.92 (Linux x86_64)/html/popOutButton.ts.html +374 -0
- package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/subscribe.ts.html +218 -29
- package/coverage/Chrome Headless 117.0.5938.92 (Linux x86_64)/html/url.ts.html +284 -0
- package/dist/declarations/src/checkout.d.ts +45 -17
- package/dist/declarations/src/index.d.ts +17 -1
- package/dist/declarations/src/session.d.ts +19 -35
- package/dist/declarations/src/subscribe.d.ts +62 -0
- package/dist/dintero-checkout-web-sdk.cjs.dev.js +927 -63
- package/dist/dintero-checkout-web-sdk.cjs.prod.js +927 -63
- package/dist/dintero-checkout-web-sdk.esm.js +927 -63
- 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 +5 -5
- package/coverage/Chrome Headless 115.0.5790.98 (Linux x86_64)/html/url.ts.html +0 -185
- /package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/base.css +0 -0
- /package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/block-navigation.js +0 -0
- /package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/favicon.png +0 -0
- /package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/prettify.css +0 -0
- /package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/prettify.js +0 -0
- /package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/sort-arrow-sprite.png +0 -0
- /package/coverage/{Chrome Headless 115.0.5790.98 (Linux x86_64) → Chrome Headless 117.0.5938.92 (Linux x86_64)}/html/sorter.js +0 -0
|
@@ -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">81.82% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>45/55</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">55.88% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>19/34</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">61.54% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>8/13</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">77.78% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>35/45</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -178,7 +178,71 @@
|
|
|
178
178
|
<a name='L119'></a><a href='#L119'>119</a>
|
|
179
179
|
<a name='L120'></a><a href='#L120'>120</a>
|
|
180
180
|
<a name='L121'></a><a href='#L121'>121</a>
|
|
181
|
-
<a name='L122'></a><a href='#L122'>122</a
|
|
181
|
+
<a name='L122'></a><a href='#L122'>122</a>
|
|
182
|
+
<a name='L123'></a><a href='#L123'>123</a>
|
|
183
|
+
<a name='L124'></a><a href='#L124'>124</a>
|
|
184
|
+
<a name='L125'></a><a href='#L125'>125</a>
|
|
185
|
+
<a name='L126'></a><a href='#L126'>126</a>
|
|
186
|
+
<a name='L127'></a><a href='#L127'>127</a>
|
|
187
|
+
<a name='L128'></a><a href='#L128'>128</a>
|
|
188
|
+
<a name='L129'></a><a href='#L129'>129</a>
|
|
189
|
+
<a name='L130'></a><a href='#L130'>130</a>
|
|
190
|
+
<a name='L131'></a><a href='#L131'>131</a>
|
|
191
|
+
<a name='L132'></a><a href='#L132'>132</a>
|
|
192
|
+
<a name='L133'></a><a href='#L133'>133</a>
|
|
193
|
+
<a name='L134'></a><a href='#L134'>134</a>
|
|
194
|
+
<a name='L135'></a><a href='#L135'>135</a>
|
|
195
|
+
<a name='L136'></a><a href='#L136'>136</a>
|
|
196
|
+
<a name='L137'></a><a href='#L137'>137</a>
|
|
197
|
+
<a name='L138'></a><a href='#L138'>138</a>
|
|
198
|
+
<a name='L139'></a><a href='#L139'>139</a>
|
|
199
|
+
<a name='L140'></a><a href='#L140'>140</a>
|
|
200
|
+
<a name='L141'></a><a href='#L141'>141</a>
|
|
201
|
+
<a name='L142'></a><a href='#L142'>142</a>
|
|
202
|
+
<a name='L143'></a><a href='#L143'>143</a>
|
|
203
|
+
<a name='L144'></a><a href='#L144'>144</a>
|
|
204
|
+
<a name='L145'></a><a href='#L145'>145</a>
|
|
205
|
+
<a name='L146'></a><a href='#L146'>146</a>
|
|
206
|
+
<a name='L147'></a><a href='#L147'>147</a>
|
|
207
|
+
<a name='L148'></a><a href='#L148'>148</a>
|
|
208
|
+
<a name='L149'></a><a href='#L149'>149</a>
|
|
209
|
+
<a name='L150'></a><a href='#L150'>150</a>
|
|
210
|
+
<a name='L151'></a><a href='#L151'>151</a>
|
|
211
|
+
<a name='L152'></a><a href='#L152'>152</a>
|
|
212
|
+
<a name='L153'></a><a href='#L153'>153</a>
|
|
213
|
+
<a name='L154'></a><a href='#L154'>154</a>
|
|
214
|
+
<a name='L155'></a><a href='#L155'>155</a>
|
|
215
|
+
<a name='L156'></a><a href='#L156'>156</a>
|
|
216
|
+
<a name='L157'></a><a href='#L157'>157</a>
|
|
217
|
+
<a name='L158'></a><a href='#L158'>158</a>
|
|
218
|
+
<a name='L159'></a><a href='#L159'>159</a>
|
|
219
|
+
<a name='L160'></a><a href='#L160'>160</a>
|
|
220
|
+
<a name='L161'></a><a href='#L161'>161</a>
|
|
221
|
+
<a name='L162'></a><a href='#L162'>162</a>
|
|
222
|
+
<a name='L163'></a><a href='#L163'>163</a>
|
|
223
|
+
<a name='L164'></a><a href='#L164'>164</a>
|
|
224
|
+
<a name='L165'></a><a href='#L165'>165</a>
|
|
225
|
+
<a name='L166'></a><a href='#L166'>166</a>
|
|
226
|
+
<a name='L167'></a><a href='#L167'>167</a>
|
|
227
|
+
<a name='L168'></a><a href='#L168'>168</a>
|
|
228
|
+
<a name='L169'></a><a href='#L169'>169</a>
|
|
229
|
+
<a name='L170'></a><a href='#L170'>170</a>
|
|
230
|
+
<a name='L171'></a><a href='#L171'>171</a>
|
|
231
|
+
<a name='L172'></a><a href='#L172'>172</a>
|
|
232
|
+
<a name='L173'></a><a href='#L173'>173</a>
|
|
233
|
+
<a name='L174'></a><a href='#L174'>174</a>
|
|
234
|
+
<a name='L175'></a><a href='#L175'>175</a>
|
|
235
|
+
<a name='L176'></a><a href='#L176'>176</a>
|
|
236
|
+
<a name='L177'></a><a href='#L177'>177</a>
|
|
237
|
+
<a name='L178'></a><a href='#L178'>178</a>
|
|
238
|
+
<a name='L179'></a><a href='#L179'>179</a>
|
|
239
|
+
<a name='L180'></a><a href='#L180'>180</a>
|
|
240
|
+
<a name='L181'></a><a href='#L181'>181</a>
|
|
241
|
+
<a name='L182'></a><a href='#L182'>182</a>
|
|
242
|
+
<a name='L183'></a><a href='#L183'>183</a>
|
|
243
|
+
<a name='L184'></a><a href='#L184'>184</a>
|
|
244
|
+
<a name='L185'></a><a href='#L185'>185</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
245
|
+
<span class="cline-any cline-neutral"> </span>
|
|
182
246
|
<span class="cline-any cline-neutral"> </span>
|
|
183
247
|
<span class="cline-any cline-neutral"> </span>
|
|
184
248
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -213,7 +277,7 @@
|
|
|
213
277
|
<span class="cline-any cline-neutral"> </span>
|
|
214
278
|
<span class="cline-any cline-neutral"> </span>
|
|
215
279
|
<span class="cline-any cline-yes">1x</span>
|
|
216
|
-
<span class="cline-any cline-yes">
|
|
280
|
+
<span class="cline-any cline-yes">35x</span>
|
|
217
281
|
<span class="cline-any cline-yes">1x</span>
|
|
218
282
|
<span class="cline-any cline-neutral"> </span>
|
|
219
283
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -263,39 +327,101 @@
|
|
|
263
327
|
<span class="cline-any cline-neutral"> </span>
|
|
264
328
|
<span class="cline-any cline-neutral"> </span>
|
|
265
329
|
<span class="cline-any cline-neutral"> </span>
|
|
330
|
+
<span class="cline-any cline-yes">1x</span>
|
|
331
|
+
<span class="cline-any cline-no"> </span>
|
|
332
|
+
<span class="cline-any cline-no"> </span>
|
|
333
|
+
<span class="cline-any cline-neutral"> </span>
|
|
334
|
+
<span class="cline-any cline-neutral"> </span>
|
|
335
|
+
<span class="cline-any cline-neutral"> </span>
|
|
336
|
+
<span class="cline-any cline-neutral"> </span>
|
|
337
|
+
<span class="cline-any cline-neutral"> </span>
|
|
338
|
+
<span class="cline-any cline-neutral"> </span>
|
|
339
|
+
<span class="cline-any cline-neutral"> </span>
|
|
340
|
+
<span class="cline-any cline-neutral"> </span>
|
|
341
|
+
<span class="cline-any cline-neutral"> </span>
|
|
266
342
|
<span class="cline-any cline-neutral"> </span>
|
|
267
343
|
<span class="cline-any cline-yes">1x</span>
|
|
268
|
-
<span class="cline-any cline-
|
|
344
|
+
<span class="cline-any cline-no"> </span>
|
|
345
|
+
<span class="cline-any cline-no"> </span>
|
|
346
|
+
<span class="cline-any cline-neutral"> </span>
|
|
347
|
+
<span class="cline-any cline-neutral"> </span>
|
|
348
|
+
<span class="cline-any cline-neutral"> </span>
|
|
349
|
+
<span class="cline-any cline-neutral"> </span>
|
|
350
|
+
<span class="cline-any cline-neutral"> </span>
|
|
351
|
+
<span class="cline-any cline-neutral"> </span>
|
|
352
|
+
<span class="cline-any cline-neutral"> </span>
|
|
353
|
+
<span class="cline-any cline-neutral"> </span>
|
|
354
|
+
<span class="cline-any cline-neutral"> </span>
|
|
355
|
+
<span class="cline-any cline-yes">1x</span>
|
|
356
|
+
<span class="cline-any cline-yes">4x</span>
|
|
357
|
+
<span class="cline-any cline-yes">4x</span>
|
|
358
|
+
<span class="cline-any cline-neutral"> </span>
|
|
359
|
+
<span class="cline-any cline-neutral"> </span>
|
|
269
360
|
<span class="cline-any cline-neutral"> </span>
|
|
270
361
|
<span class="cline-any cline-neutral"> </span>
|
|
271
362
|
<span class="cline-any cline-neutral"> </span>
|
|
272
|
-
<span class="cline-any cline-yes">297x</span>
|
|
273
|
-
<span class="cline-any cline-yes">4372x</span>
|
|
274
|
-
<span class="cline-any cline-yes">4372x</span>
|
|
275
|
-
<span class="cline-any cline-yes">4372x</span>
|
|
276
363
|
<span class="cline-any cline-neutral"> </span>
|
|
277
|
-
<span class="cline-any cline-yes">4372x</span>
|
|
278
|
-
<span class="cline-any cline-yes">4372x</span>
|
|
279
364
|
<span class="cline-any cline-neutral"> </span>
|
|
280
365
|
<span class="cline-any cline-neutral"> </span>
|
|
281
366
|
<span class="cline-any cline-neutral"> </span>
|
|
367
|
+
<span class="cline-any cline-yes">1x</span>
|
|
368
|
+
<span class="cline-any cline-yes">1x</span>
|
|
369
|
+
<span class="cline-any cline-yes">1x</span>
|
|
370
|
+
<span class="cline-any cline-neutral"> </span>
|
|
371
|
+
<span class="cline-any cline-neutral"> </span>
|
|
372
|
+
<span class="cline-any cline-neutral"> </span>
|
|
373
|
+
<span class="cline-any cline-neutral"> </span>
|
|
374
|
+
<span class="cline-any cline-neutral"> </span>
|
|
375
|
+
<span class="cline-any cline-neutral"> </span>
|
|
376
|
+
<span class="cline-any cline-neutral"> </span>
|
|
377
|
+
<span class="cline-any cline-neutral"> </span>
|
|
378
|
+
<span class="cline-any cline-neutral"> </span>
|
|
379
|
+
<span class="cline-any cline-yes">1x</span>
|
|
380
|
+
<span class="cline-any cline-no"> </span>
|
|
381
|
+
<span class="cline-any cline-no"> </span>
|
|
382
|
+
<span class="cline-any cline-neutral"> </span>
|
|
383
|
+
<span class="cline-any cline-neutral"> </span>
|
|
384
|
+
<span class="cline-any cline-neutral"> </span>
|
|
385
|
+
<span class="cline-any cline-neutral"> </span>
|
|
386
|
+
<span class="cline-any cline-neutral"> </span>
|
|
387
|
+
<span class="cline-any cline-neutral"> </span>
|
|
388
|
+
<span class="cline-any cline-neutral"> </span>
|
|
389
|
+
<span class="cline-any cline-neutral"> </span>
|
|
390
|
+
<span class="cline-any cline-yes">1x</span>
|
|
391
|
+
<span class="cline-any cline-yes">2280x</span>
|
|
392
|
+
<span class="cline-any cline-neutral"> </span>
|
|
393
|
+
<span class="cline-any cline-neutral"> </span>
|
|
394
|
+
<span class="cline-any cline-neutral"> </span>
|
|
395
|
+
<span class="cline-any cline-yes">456x</span>
|
|
282
396
|
<span class="cline-any cline-neutral"> </span>
|
|
397
|
+
<span class="cline-any cline-yes">456x</span>
|
|
398
|
+
<span class="cline-any cline-yes">8196x</span>
|
|
399
|
+
<span class="cline-any cline-yes">8196x</span>
|
|
400
|
+
<span class="cline-any cline-yes">8196x</span>
|
|
283
401
|
<span class="cline-any cline-neutral"> </span>
|
|
284
|
-
<span class="cline-any cline-yes">
|
|
285
|
-
<span class="cline-any cline-yes">27x</span>
|
|
402
|
+
<span class="cline-any cline-yes">8196x</span>
|
|
286
403
|
<span class="cline-any cline-neutral"> </span>
|
|
404
|
+
<span class="cline-any cline-yes">8196x</span>
|
|
287
405
|
<span class="cline-any cline-neutral"> </span>
|
|
288
406
|
<span class="cline-any cline-neutral"> </span>
|
|
289
407
|
<span class="cline-any cline-neutral"> </span>
|
|
290
|
-
<span class="cline-any cline-yes">297x</span>
|
|
291
408
|
<span class="cline-any cline-neutral"> </span>
|
|
292
409
|
<span class="cline-any cline-neutral"> </span>
|
|
293
|
-
<span class="cline-any cline-yes">297x</span>
|
|
294
410
|
<span class="cline-any cline-yes">35x</span>
|
|
411
|
+
<span class="cline-any cline-yes">35x</span>
|
|
412
|
+
<span class="cline-any cline-neutral"> </span>
|
|
413
|
+
<span class="cline-any cline-neutral"> </span>
|
|
414
|
+
<span class="cline-any cline-neutral"> </span>
|
|
415
|
+
<span class="cline-any cline-neutral"> </span>
|
|
416
|
+
<span class="cline-any cline-yes">456x</span>
|
|
417
|
+
<span class="cline-any cline-neutral"> </span>
|
|
418
|
+
<span class="cline-any cline-neutral"> </span>
|
|
419
|
+
<span class="cline-any cline-yes">456x</span>
|
|
420
|
+
<span class="cline-any cline-yes">116x</span>
|
|
295
421
|
<span class="cline-any cline-neutral"> </span>
|
|
296
422
|
<span class="cline-any cline-neutral"> </span>
|
|
297
423
|
<span class="cline-any cline-neutral"> </span>
|
|
298
|
-
<span class="cline-any cline-yes">
|
|
424
|
+
<span class="cline-any cline-yes">456x</span>
|
|
299
425
|
<span class="cline-any cline-neutral"> </span>
|
|
300
426
|
<span class="cline-any cline-neutral"> </span>
|
|
301
427
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -321,6 +447,7 @@ interface SubscriptionOptions {
|
|
|
321
447
|
handler: SubscriptionHandler;
|
|
322
448
|
eventTypes: (CheckoutEvents | InternalCheckoutEvents)[];
|
|
323
449
|
checkout: DinteroCheckoutInstance;
|
|
450
|
+
source: Window;
|
|
324
451
|
}
|
|
325
452
|
|
|
326
453
|
export type Subscription = {
|
|
@@ -333,9 +460,9 @@ export type Subscription = {
|
|
|
333
460
|
/**
|
|
334
461
|
* Post a message acknowledgement to the checkout iframe.
|
|
335
462
|
*/
|
|
336
|
-
const postAck = (
|
|
337
|
-
if (event.data.mid &&
|
|
338
|
-
|
|
463
|
+
const postAck = (source: Window, event: MessageEvent) => {
|
|
464
|
+
if (event.data.mid && source) {
|
|
465
|
+
source.postMessage(
|
|
339
466
|
{ ack: event.data.mid },
|
|
340
467
|
event.origin || <span class="branch-1 cbranch-no" title="branch not covered" >"*"</span>
|
|
341
468
|
);
|
|
@@ -370,7 +497,7 @@ export const postSessionRefresh = (iframe: HTMLIFrameElement, sid: string) =>
|
|
|
370
497
|
};
|
|
371
498
|
|
|
372
499
|
/**
|
|
373
|
-
* Post
|
|
500
|
+
* Post SetActivePaymentProductType-event to the checkout iframe.
|
|
374
501
|
*/
|
|
375
502
|
export const postActivePaymentProductType = <span class="fstat-no" title="function not covered" >(i</span>frame: HTMLIFrameElement, sid: string, paymentProductType?: string) => {
|
|
376
503
|
<span class="cstat-no" title="statement not covered" > if (iframe.contentWindow) {</span>
|
|
@@ -381,6 +508,65 @@ export const postActivePaymentProductType = <span class="fstat-no" title="functi
|
|
|
381
508
|
}
|
|
382
509
|
};
|
|
383
510
|
|
|
511
|
+
/**
|
|
512
|
+
* Post ClosePopOut-event to the checkout iframe.
|
|
513
|
+
*/
|
|
514
|
+
export const postValidatePopOutEvent = <span class="fstat-no" title="function not covered" >(i</span>frame: HTMLIFrameElement, sid: string) => {
|
|
515
|
+
<span class="cstat-no" title="statement not covered" > if (iframe.contentWindow) {</span>
|
|
516
|
+
<span class="cstat-no" title="statement not covered" > iframe.contentWindow.postMessage(</span>
|
|
517
|
+
{ type: "ValidatingPopOut", sid },
|
|
518
|
+
"*"
|
|
519
|
+
);
|
|
520
|
+
}
|
|
521
|
+
};
|
|
522
|
+
|
|
523
|
+
|
|
524
|
+
/**
|
|
525
|
+
* Post OpenPopOutFailed-event to the checkout iframe.
|
|
526
|
+
*/
|
|
527
|
+
export const postOpenPopOutFailedEvent = <span class="fstat-no" title="function not covered" >(i</span>frame: HTMLIFrameElement, sid: string) => {
|
|
528
|
+
<span class="cstat-no" title="statement not covered" > if (iframe.contentWindow) {</span>
|
|
529
|
+
<span class="cstat-no" title="statement not covered" > iframe.contentWindow.postMessage(</span>
|
|
530
|
+
{ type: "OpenPopOutFailed", sid },
|
|
531
|
+
"*"
|
|
532
|
+
);
|
|
533
|
+
}
|
|
534
|
+
};
|
|
535
|
+
|
|
536
|
+
/**
|
|
537
|
+
* Post OpenedPopOut-event to the checkout iframe.
|
|
538
|
+
*/
|
|
539
|
+
export const postOpenPopOutEvent = (iframe: HTMLIFrameElement, sid: string) => {
|
|
540
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (iframe.contentWindow) {
|
|
541
|
+
iframe.contentWindow.postMessage(
|
|
542
|
+
{ type: "OpenedPopOut", sid },
|
|
543
|
+
"*"
|
|
544
|
+
);
|
|
545
|
+
}
|
|
546
|
+
};
|
|
547
|
+
|
|
548
|
+
/**
|
|
549
|
+
* Post ClosePopOut-event to the checkout iframe.
|
|
550
|
+
*/
|
|
551
|
+
export const postClosePopOutEvent = (iframe: HTMLIFrameElement, sid: string) => {
|
|
552
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (iframe.contentWindow) {
|
|
553
|
+
iframe.contentWindow.postMessage(
|
|
554
|
+
{ type: "ClosedPopOut", sid },
|
|
555
|
+
"*"
|
|
556
|
+
);
|
|
557
|
+
}
|
|
558
|
+
};
|
|
559
|
+
|
|
560
|
+
/**
|
|
561
|
+
* Post SetLanguage-event to the checkout iframe.
|
|
562
|
+
*/
|
|
563
|
+
export const postSetLanguage = <span class="fstat-no" title="function not covered" >(i</span>frame: HTMLIFrameElement, sid: string, language: string) => {
|
|
564
|
+
<span class="cstat-no" title="statement not covered" > if (iframe.contentWindow) {</span>
|
|
565
|
+
<span class="cstat-no" title="statement not covered" > iframe.contentWindow.postMessage({ type: "SetLanguage", sid, language }, "*");</span>
|
|
566
|
+
}
|
|
567
|
+
};
|
|
568
|
+
|
|
569
|
+
|
|
384
570
|
/**
|
|
385
571
|
* Subscribe to events from an iframe given a handler and a set
|
|
386
572
|
* of event types.
|
|
@@ -390,19 +576,22 @@ export const subscribe = (options: SubscriptionOptions): Subscription => {
|
|
|
390
576
|
|
|
391
577
|
// Wrap event handler in a function that checks for correct origin and
|
|
392
578
|
// filters on event type(s) in the event data.
|
|
579
|
+
const endpointUrl = new URL(endpoint);
|
|
580
|
+
|
|
393
581
|
const wrappedHandler = (event: MessageEvent) => {
|
|
394
|
-
const correctOrigin = event.origin ===
|
|
582
|
+
const correctOrigin = event.origin === endpointUrl.origin;
|
|
395
583
|
const correctWindow = event.source === checkout.iframe.contentWindow;
|
|
396
584
|
const correctSid = event.data && event.data.sid === sid;
|
|
397
585
|
const correctMessageType =
|
|
398
586
|
eventTypes.indexOf(event.data && event.data.type) !== -1;
|
|
587
|
+
|
|
399
588
|
if (
|
|
400
589
|
correctOrigin &&
|
|
401
590
|
correctWindow &&
|
|
402
591
|
correctSid &&
|
|
403
592
|
correctMessageType
|
|
404
593
|
) {
|
|
405
|
-
postAck(checkout.iframe, event);
|
|
594
|
+
postAck(checkout.iframe.contentWindow, event);
|
|
406
595
|
handler(event.data, checkout);
|
|
407
596
|
}
|
|
408
597
|
};
|
|
@@ -427,7 +616,7 @@ export const subscribe = (options: SubscriptionOptions): Subscription => {
|
|
|
427
616
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
428
617
|
Code coverage generated by
|
|
429
618
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
430
|
-
at
|
|
619
|
+
at Wed Oct 04 2023 07:34:20 GMT+0000 (Coordinated Universal Time)
|
|
431
620
|
</div>
|
|
432
621
|
</div>
|
|
433
622
|
<script src="prettify.js"></script>
|