@dintero/checkout-web-sdk 0.3.1 → 0.4.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/CHANGELOG.md +25 -1
- package/README.md +13 -2
- package/coverage/Chrome Headless 99.0.4844.0 (Linux x86_64)/html/checkout.ts.html +1 -1
- package/coverage/Chrome Headless 99.0.4844.0 (Linux x86_64)/html/createIframeAsync.ts.html +15 -15
- package/coverage/Chrome Headless 99.0.4844.0 (Linux x86_64)/html/index.html +30 -30
- package/coverage/Chrome Headless 99.0.4844.0 (Linux x86_64)/html/index.ts.html +173 -38
- package/coverage/Chrome Headless 99.0.4844.0 (Linux x86_64)/html/subscribe.ts.html +34 -34
- package/coverage/Chrome Headless 99.0.4844.0 (Linux x86_64)/html/url.ts.html +1 -1
- package/dist/declarations/src/index.d.ts +3 -3
- package/dist/dintero-checkout-web-sdk.cjs.dev.js +46 -5
- package/dist/dintero-checkout-web-sdk.cjs.prod.js +46 -5
- package/dist/dintero-checkout-web-sdk.esm.js +46 -5
- 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 +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,8 +1,32 @@
|
|
|
1
|
+
## [0.4.0]
|
|
2
|
+
|
|
3
|
+
### Changed
|
|
4
|
+
|
|
5
|
+
- Changes `lockSession` to return a promise that resolves when the following `SessionLocked` event is returned from the checkout.
|
|
6
|
+
- Changes `refreshSession` to return a promise that resolves when the following `SessionUpdated` event is returned from the checkout.
|
|
7
|
+
|
|
8
|
+
## [0.3.1]
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
* Add correct package version to url
|
|
12
|
+
|
|
13
|
+
## [0.3.0]
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **lock:** Add callback function to `onSessionLocked`
|
|
18
|
+
|
|
19
|
+
## [0.2.0]
|
|
20
|
+
|
|
21
|
+
### Features
|
|
22
|
+
|
|
23
|
+
* Handling of session validation when embedded
|
|
24
|
+
|
|
1
25
|
## [0.0.17]
|
|
2
26
|
|
|
3
27
|
### Changed
|
|
4
28
|
|
|
5
|
-
- Adds `onActivePaymentProductType` callback.
|
|
29
|
+
- Adds `onActivePaymentProductType` callback.
|
|
6
30
|
- Adds `setActivePaymentProductType` function.
|
|
7
31
|
|
|
8
32
|
## [0.0.16]
|
package/README.md
CHANGED
|
@@ -178,9 +178,16 @@ To update an existing Checkout Express-session, follow these steps:
|
|
|
178
178
|
Call lockSession on the checkout object:
|
|
179
179
|
|
|
180
180
|
```js
|
|
181
|
-
checkout.lockSession()
|
|
181
|
+
checkout.lockSession().then(function(sessionLockedEvent){
|
|
182
|
+
// initiate server side session update and then refresh the session
|
|
183
|
+
}).catch(function(sessionLockFailedEvent) {
|
|
184
|
+
// handle failure to lock
|
|
185
|
+
});;
|
|
182
186
|
```
|
|
183
187
|
|
|
188
|
+
`lockSession()` returns a promise that is resolved when the `SessionLocked` event is
|
|
189
|
+
received from the checkout or rejected if the SessionLockFailed event is received.
|
|
190
|
+
|
|
184
191
|
When the session is successfully locked, you'll get a callback at `onSessionLocked`.
|
|
185
192
|
If locking the session fails, there will be a callback at `onSessionLockFailed`.
|
|
186
193
|
|
|
@@ -207,7 +214,11 @@ onSessionLocked: (event, checkout, callback) => {
|
|
|
207
214
|
}
|
|
208
215
|
```
|
|
209
216
|
|
|
210
|
-
|
|
217
|
+
`refreshSession()` returns a promise that is resolved when the `SessionUpdated`
|
|
218
|
+
event is received from the checkout.
|
|
219
|
+
|
|
220
|
+
Editing and paying in the checkout is enabled again when a session without a `pay_lock`
|
|
221
|
+
is loaded by the checkout.
|
|
211
222
|
|
|
212
223
|
### Validating session before payment
|
|
213
224
|
|
|
@@ -367,7 +367,7 @@ export type SessionEvent =
|
|
|
367
367
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
368
368
|
Code coverage generated by
|
|
369
369
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
370
|
-
at
|
|
370
|
+
at Sun May 01 2022 13:56:30 GMT+0000 (Coordinated Universal Time)
|
|
371
371
|
</div>
|
|
372
372
|
</div>
|
|
373
373
|
<script src="prettify.js"></script>
|
|
@@ -126,15 +126,15 @@
|
|
|
126
126
|
<span class="cline-any cline-neutral"> </span>
|
|
127
127
|
<span class="cline-any cline-neutral"> </span>
|
|
128
128
|
<span class="cline-any cline-neutral"> </span>
|
|
129
|
-
<span class="cline-any cline-yes">
|
|
129
|
+
<span class="cline-any cline-yes">30x</span>
|
|
130
130
|
<span class="cline-any cline-no"> </span>
|
|
131
131
|
<span class="cline-any cline-neutral"> </span>
|
|
132
|
-
<span class="cline-any cline-yes">
|
|
132
|
+
<span class="cline-any cline-yes">30x</span>
|
|
133
133
|
<span class="cline-any cline-neutral"> </span>
|
|
134
134
|
<span class="cline-any cline-neutral"> </span>
|
|
135
|
-
<span class="cline-any cline-yes">
|
|
136
|
-
<span class="cline-any cline-yes">
|
|
137
|
-
<span class="cline-any cline-yes">
|
|
135
|
+
<span class="cline-any cline-yes">30x</span>
|
|
136
|
+
<span class="cline-any cline-yes">30x</span>
|
|
137
|
+
<span class="cline-any cline-yes">30x</span>
|
|
138
138
|
<span class="cline-any cline-neutral"> </span>
|
|
139
139
|
<span class="cline-any cline-neutral"> </span>
|
|
140
140
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -147,28 +147,28 @@
|
|
|
147
147
|
<span class="cline-any cline-neutral"> </span>
|
|
148
148
|
<span class="cline-any cline-neutral"> </span>
|
|
149
149
|
<span class="cline-any cline-neutral"> </span>
|
|
150
|
-
<span class="cline-any cline-yes">
|
|
150
|
+
<span class="cline-any cline-yes">30x</span>
|
|
151
151
|
<span class="cline-any cline-neutral"> </span>
|
|
152
152
|
<span class="cline-any cline-neutral"> </span>
|
|
153
153
|
<span class="cline-any cline-neutral"> </span>
|
|
154
154
|
<span class="cline-any cline-neutral"> </span>
|
|
155
155
|
<span class="cline-any cline-neutral"> </span>
|
|
156
|
-
<span class="cline-any cline-yes">
|
|
156
|
+
<span class="cline-any cline-yes">30x</span>
|
|
157
157
|
<span class="cline-any cline-neutral"> </span>
|
|
158
158
|
<span class="cline-any cline-neutral"> </span>
|
|
159
|
-
<span class="cline-any cline-yes">
|
|
159
|
+
<span class="cline-any cline-yes">30x</span>
|
|
160
160
|
<span class="cline-any cline-neutral"> </span>
|
|
161
161
|
<span class="cline-any cline-neutral"> </span>
|
|
162
162
|
<span class="cline-any cline-neutral"> </span>
|
|
163
163
|
<span class="cline-any cline-neutral"> </span>
|
|
164
164
|
<span class="cline-any cline-neutral"> </span>
|
|
165
|
-
<span class="cline-any cline-yes">
|
|
165
|
+
<span class="cline-any cline-yes">30x</span>
|
|
166
166
|
<span class="cline-any cline-neutral"> </span>
|
|
167
|
-
<span class="cline-any cline-yes">
|
|
168
|
-
<span class="cline-any cline-yes">
|
|
169
|
-
<span class="cline-any cline-yes">
|
|
170
|
-
<span class="cline-any cline-yes">
|
|
171
|
-
<span class="cline-any cline-yes">
|
|
167
|
+
<span class="cline-any cline-yes">30x</span>
|
|
168
|
+
<span class="cline-any cline-yes">30x</span>
|
|
169
|
+
<span class="cline-any cline-yes">35x</span>
|
|
170
|
+
<span class="cline-any cline-yes">30x</span>
|
|
171
|
+
<span class="cline-any cline-yes">30x</span>
|
|
172
172
|
<span class="cline-any cline-neutral"> </span>
|
|
173
173
|
<span class="cline-any cline-neutral"> </span>
|
|
174
174
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -238,7 +238,7 @@ export const createIframeAsync = (
|
|
|
238
238
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
239
239
|
Code coverage generated by
|
|
240
240
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
241
|
-
at
|
|
241
|
+
at Sun May 01 2022 13:56:30 GMT+0000 (Coordinated Universal Time)
|
|
242
242
|
</div>
|
|
243
243
|
</div>
|
|
244
244
|
<script src="prettify.js"></script>
|
|
@@ -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">93.6% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>161/172</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">76.83% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>63/82</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">86.96% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>40/46</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'>140/150</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -104,32 +104,32 @@
|
|
|
104
104
|
|
|
105
105
|
<tr>
|
|
106
106
|
<td class="file high" data-value="index.ts"><a href="index.ts.html">index.ts</a></td>
|
|
107
|
-
<td data-value="
|
|
108
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
107
|
+
<td data-value="96.59" class="pic high">
|
|
108
|
+
<div class="chart"><div class="cover-fill" style="width: 96%"></div><div class="cover-empty" style="width: 4%"></div></div>
|
|
109
109
|
</td>
|
|
110
|
-
<td data-value="
|
|
111
|
-
<td data-value="
|
|
112
|
-
<td data-value="
|
|
113
|
-
<td data-value="
|
|
114
|
-
<td data-value="
|
|
115
|
-
<td data-value="
|
|
116
|
-
<td data-value="
|
|
117
|
-
<td data-value="
|
|
110
|
+
<td data-value="96.59" class="pct high">96.59%</td>
|
|
111
|
+
<td data-value="88" class="abs high">85/88</td>
|
|
112
|
+
<td data-value="82.5" class="pct high">82.5%</td>
|
|
113
|
+
<td data-value="40" class="abs high">33/40</td>
|
|
114
|
+
<td data-value="92.86" class="pct high">92.86%</td>
|
|
115
|
+
<td data-value="28" class="abs high">26/28</td>
|
|
116
|
+
<td data-value="96.1" class="pct high">96.1%</td>
|
|
117
|
+
<td data-value="77" class="abs high">74/77</td>
|
|
118
118
|
</tr>
|
|
119
119
|
|
|
120
120
|
<tr>
|
|
121
|
-
<td class="file
|
|
122
|
-
<td data-value="
|
|
123
|
-
<div class="chart"><div class="cover-fill" style="width:
|
|
121
|
+
<td class="file high" data-value="subscribe.ts"><a href="subscribe.ts.html">subscribe.ts</a></td>
|
|
122
|
+
<td data-value="88.24" class="pic high">
|
|
123
|
+
<div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
|
|
124
124
|
</td>
|
|
125
|
-
<td data-value="
|
|
126
|
-
<td data-value="34" class="abs
|
|
127
|
-
<td data-value="
|
|
128
|
-
<td data-value="24" class="abs medium">
|
|
129
|
-
<td data-value="
|
|
130
|
-
<td data-value="8" class="abs medium">
|
|
131
|
-
<td data-value="
|
|
132
|
-
<td data-value="29" class="abs
|
|
125
|
+
<td data-value="88.24" class="pct high">88.24%</td>
|
|
126
|
+
<td data-value="34" class="abs high">30/34</td>
|
|
127
|
+
<td data-value="70.83" class="pct medium">70.83%</td>
|
|
128
|
+
<td data-value="24" class="abs medium">17/24</td>
|
|
129
|
+
<td data-value="75" class="pct medium">75%</td>
|
|
130
|
+
<td data-value="8" class="abs medium">6/8</td>
|
|
131
|
+
<td data-value="86.21" class="pct high">86.21%</td>
|
|
132
|
+
<td data-value="29" class="abs high">25/29</td>
|
|
133
133
|
</tr>
|
|
134
134
|
|
|
135
135
|
<tr>
|
|
@@ -155,7 +155,7 @@
|
|
|
155
155
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
156
156
|
Code coverage generated by
|
|
157
157
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
158
|
-
at
|
|
158
|
+
at Sun May 01 2022 13:56:30 GMT+0000 (Coordinated Universal Time)
|
|
159
159
|
</div>
|
|
160
160
|
</div>
|
|
161
161
|
<script src="prettify.js"></script>
|
|
@@ -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">96.59% </span>
|
|
27
27
|
<span class="quiet">Statements</span>
|
|
28
|
-
<span class='fraction'>
|
|
28
|
+
<span class='fraction'>85/88</span>
|
|
29
29
|
</div>
|
|
30
30
|
|
|
31
31
|
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">82.5% </span>
|
|
34
34
|
<span class="quiet">Branches</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>33/40</span>
|
|
36
36
|
</div>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<div class='fl pad1y space-right2'>
|
|
40
|
-
<span class="strong">
|
|
40
|
+
<span class="strong">92.86% </span>
|
|
41
41
|
<span class="quiet">Functions</span>
|
|
42
|
-
<span class='fraction'>
|
|
42
|
+
<span class='fraction'>26/28</span>
|
|
43
43
|
</div>
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
<div class='fl pad1y space-right2'>
|
|
47
|
-
<span class="strong">
|
|
47
|
+
<span class="strong">96.1% </span>
|
|
48
48
|
<span class="quiet">Lines</span>
|
|
49
|
-
<span class='fraction'>
|
|
49
|
+
<span class='fraction'>74/77</span>
|
|
50
50
|
</div>
|
|
51
51
|
|
|
52
52
|
|
|
@@ -408,7 +408,52 @@
|
|
|
408
408
|
<a name='L349'></a><a href='#L349'>349</a>
|
|
409
409
|
<a name='L350'></a><a href='#L350'>350</a>
|
|
410
410
|
<a name='L351'></a><a href='#L351'>351</a>
|
|
411
|
-
<a name='L352'></a><a href='#L352'>352</a
|
|
411
|
+
<a name='L352'></a><a href='#L352'>352</a>
|
|
412
|
+
<a name='L353'></a><a href='#L353'>353</a>
|
|
413
|
+
<a name='L354'></a><a href='#L354'>354</a>
|
|
414
|
+
<a name='L355'></a><a href='#L355'>355</a>
|
|
415
|
+
<a name='L356'></a><a href='#L356'>356</a>
|
|
416
|
+
<a name='L357'></a><a href='#L357'>357</a>
|
|
417
|
+
<a name='L358'></a><a href='#L358'>358</a>
|
|
418
|
+
<a name='L359'></a><a href='#L359'>359</a>
|
|
419
|
+
<a name='L360'></a><a href='#L360'>360</a>
|
|
420
|
+
<a name='L361'></a><a href='#L361'>361</a>
|
|
421
|
+
<a name='L362'></a><a href='#L362'>362</a>
|
|
422
|
+
<a name='L363'></a><a href='#L363'>363</a>
|
|
423
|
+
<a name='L364'></a><a href='#L364'>364</a>
|
|
424
|
+
<a name='L365'></a><a href='#L365'>365</a>
|
|
425
|
+
<a name='L366'></a><a href='#L366'>366</a>
|
|
426
|
+
<a name='L367'></a><a href='#L367'>367</a>
|
|
427
|
+
<a name='L368'></a><a href='#L368'>368</a>
|
|
428
|
+
<a name='L369'></a><a href='#L369'>369</a>
|
|
429
|
+
<a name='L370'></a><a href='#L370'>370</a>
|
|
430
|
+
<a name='L371'></a><a href='#L371'>371</a>
|
|
431
|
+
<a name='L372'></a><a href='#L372'>372</a>
|
|
432
|
+
<a name='L373'></a><a href='#L373'>373</a>
|
|
433
|
+
<a name='L374'></a><a href='#L374'>374</a>
|
|
434
|
+
<a name='L375'></a><a href='#L375'>375</a>
|
|
435
|
+
<a name='L376'></a><a href='#L376'>376</a>
|
|
436
|
+
<a name='L377'></a><a href='#L377'>377</a>
|
|
437
|
+
<a name='L378'></a><a href='#L378'>378</a>
|
|
438
|
+
<a name='L379'></a><a href='#L379'>379</a>
|
|
439
|
+
<a name='L380'></a><a href='#L380'>380</a>
|
|
440
|
+
<a name='L381'></a><a href='#L381'>381</a>
|
|
441
|
+
<a name='L382'></a><a href='#L382'>382</a>
|
|
442
|
+
<a name='L383'></a><a href='#L383'>383</a>
|
|
443
|
+
<a name='L384'></a><a href='#L384'>384</a>
|
|
444
|
+
<a name='L385'></a><a href='#L385'>385</a>
|
|
445
|
+
<a name='L386'></a><a href='#L386'>386</a>
|
|
446
|
+
<a name='L387'></a><a href='#L387'>387</a>
|
|
447
|
+
<a name='L388'></a><a href='#L388'>388</a>
|
|
448
|
+
<a name='L389'></a><a href='#L389'>389</a>
|
|
449
|
+
<a name='L390'></a><a href='#L390'>390</a>
|
|
450
|
+
<a name='L391'></a><a href='#L391'>391</a>
|
|
451
|
+
<a name='L392'></a><a href='#L392'>392</a>
|
|
452
|
+
<a name='L393'></a><a href='#L393'>393</a>
|
|
453
|
+
<a name='L394'></a><a href='#L394'>394</a>
|
|
454
|
+
<a name='L395'></a><a href='#L395'>395</a>
|
|
455
|
+
<a name='L396'></a><a href='#L396'>396</a>
|
|
456
|
+
<a name='L397'></a><a href='#L397'>397</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
412
457
|
<span class="cline-any cline-neutral"> </span>
|
|
413
458
|
<span class="cline-any cline-yes">1x</span>
|
|
414
459
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -427,6 +472,7 @@
|
|
|
427
472
|
<span class="cline-any cline-neutral"> </span>
|
|
428
473
|
<span class="cline-any cline-neutral"> </span>
|
|
429
474
|
<span class="cline-any cline-neutral"> </span>
|
|
475
|
+
<span class="cline-any cline-neutral"> </span>
|
|
430
476
|
<span class="cline-any cline-yes">1x</span>
|
|
431
477
|
<span class="cline-any cline-yes">1x</span>
|
|
432
478
|
<span class="cline-any cline-yes">1x</span>
|
|
@@ -566,11 +612,13 @@
|
|
|
566
612
|
<span class="cline-any cline-neutral"> </span>
|
|
567
613
|
<span class="cline-any cline-neutral"> </span>
|
|
568
614
|
<span class="cline-any cline-neutral"> </span>
|
|
615
|
+
<span class="cline-any cline-neutral"> </span>
|
|
569
616
|
<span class="cline-any cline-yes">1x</span>
|
|
570
|
-
<span class="cline-any cline-yes">
|
|
617
|
+
<span class="cline-any cline-yes">30x</span>
|
|
618
|
+
<span class="cline-any cline-neutral"> </span>
|
|
571
619
|
<span class="cline-any cline-neutral"> </span>
|
|
620
|
+
<span class="cline-any cline-yes">30x</span>
|
|
572
621
|
<span class="cline-any cline-neutral"> </span>
|
|
573
|
-
<span class="cline-any cline-yes">26x</span>
|
|
574
622
|
<span class="cline-any cline-neutral"> </span>
|
|
575
623
|
<span class="cline-any cline-neutral"> </span>
|
|
576
624
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -585,10 +633,10 @@
|
|
|
585
633
|
<span class="cline-any cline-neutral"> </span>
|
|
586
634
|
<span class="cline-any cline-neutral"> </span>
|
|
587
635
|
<span class="cline-any cline-neutral"> </span>
|
|
588
|
-
<span class="cline-any cline-yes">
|
|
636
|
+
<span class="cline-any cline-yes">30x</span>
|
|
589
637
|
<span class="cline-any cline-neutral"> </span>
|
|
590
638
|
<span class="cline-any cline-neutral"> </span>
|
|
591
|
-
<span class="cline-any cline-yes">
|
|
639
|
+
<span class="cline-any cline-yes">30x</span>
|
|
592
640
|
<span class="cline-any cline-neutral"> </span>
|
|
593
641
|
<span class="cline-any cline-neutral"> </span>
|
|
594
642
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -603,7 +651,7 @@
|
|
|
603
651
|
<span class="cline-any cline-neutral"> </span>
|
|
604
652
|
<span class="cline-any cline-neutral"> </span>
|
|
605
653
|
<span class="cline-any cline-neutral"> </span>
|
|
606
|
-
<span class="cline-any cline-yes">
|
|
654
|
+
<span class="cline-any cline-yes">30x</span>
|
|
607
655
|
<span class="cline-any cline-yes">3x</span>
|
|
608
656
|
<span class="cline-any cline-yes">24x</span>
|
|
609
657
|
<span class="cline-any cline-yes">3x</span>
|
|
@@ -612,23 +660,65 @@
|
|
|
612
660
|
<span class="cline-any cline-neutral"> </span>
|
|
613
661
|
<span class="cline-any cline-neutral"> </span>
|
|
614
662
|
<span class="cline-any cline-neutral"> </span>
|
|
615
|
-
<span class="cline-any cline-yes">26x</span>
|
|
616
|
-
<span class="cline-any cline-no"> </span>
|
|
617
663
|
<span class="cline-any cline-neutral"> </span>
|
|
618
664
|
<span class="cline-any cline-neutral"> </span>
|
|
619
|
-
<span class="cline-any cline-
|
|
665
|
+
<span class="cline-any cline-neutral"> </span>
|
|
666
|
+
<span class="cline-any cline-neutral"> </span>
|
|
667
|
+
<span class="cline-any cline-yes">30x</span>
|
|
668
|
+
<span class="cline-any cline-yes">4x</span>
|
|
620
669
|
<span class="cline-any cline-no"> </span>
|
|
621
670
|
<span class="cline-any cline-neutral"> </span>
|
|
671
|
+
<span class="cline-any cline-yes">4x</span>
|
|
672
|
+
<span class="cline-any cline-yes">4x</span>
|
|
673
|
+
<span class="cline-any cline-yes">4x</span>
|
|
674
|
+
<span class="cline-any cline-neutral"> </span>
|
|
675
|
+
<span class="cline-any cline-neutral"> </span>
|
|
676
|
+
<span class="cline-any cline-neutral"> </span>
|
|
677
|
+
<span class="cline-any cline-yes">4x</span>
|
|
678
|
+
<span class="cline-any cline-yes">2x</span>
|
|
679
|
+
<span class="cline-any cline-neutral"> </span>
|
|
680
|
+
<span class="cline-any cline-neutral"> </span>
|
|
681
|
+
<span class="cline-any cline-neutral"> </span>
|
|
682
|
+
<span class="cline-any cline-neutral"> </span>
|
|
683
|
+
<span class="cline-any cline-yes">4x</span>
|
|
684
|
+
<span class="cline-any cline-neutral"> </span>
|
|
685
|
+
<span class="cline-any cline-neutral"> </span>
|
|
686
|
+
<span class="cline-any cline-neutral"> </span>
|
|
687
|
+
<span class="cline-any cline-yes">4x</span>
|
|
688
|
+
<span class="cline-any cline-yes">2x</span>
|
|
689
|
+
<span class="cline-any cline-neutral"> </span>
|
|
690
|
+
<span class="cline-any cline-neutral"> </span>
|
|
691
|
+
<span class="cline-any cline-neutral"> </span>
|
|
692
|
+
<span class="cline-any cline-neutral"> </span>
|
|
693
|
+
<span class="cline-any cline-yes">4x</span>
|
|
694
|
+
<span class="cline-any cline-neutral"> </span>
|
|
695
|
+
<span class="cline-any cline-neutral"> </span>
|
|
622
696
|
<span class="cline-any cline-neutral"> </span>
|
|
623
|
-
<span class="cline-any cline-yes">
|
|
697
|
+
<span class="cline-any cline-yes">30x</span>
|
|
698
|
+
<span class="cline-any cline-yes">2x</span>
|
|
699
|
+
<span class="cline-any cline-yes">2x</span>
|
|
700
|
+
<span class="cline-any cline-neutral"> </span>
|
|
701
|
+
<span class="cline-any cline-neutral"> </span>
|
|
702
|
+
<span class="cline-any cline-neutral"> </span>
|
|
703
|
+
<span class="cline-any cline-neutral"> </span>
|
|
704
|
+
<span class="cline-any cline-neutral"> </span>
|
|
705
|
+
<span class="cline-any cline-yes">30x</span>
|
|
706
|
+
<span class="cline-any cline-yes">2x</span>
|
|
707
|
+
<span class="cline-any cline-yes">2x</span>
|
|
708
|
+
<span class="cline-any cline-neutral"> </span>
|
|
709
|
+
<span class="cline-any cline-neutral"> </span>
|
|
710
|
+
<span class="cline-any cline-neutral"> </span>
|
|
711
|
+
<span class="cline-any cline-neutral"> </span>
|
|
712
|
+
<span class="cline-any cline-neutral"> </span>
|
|
713
|
+
<span class="cline-any cline-yes">30x</span>
|
|
624
714
|
<span class="cline-any cline-no"> </span>
|
|
625
715
|
<span class="cline-any cline-neutral"> </span>
|
|
626
716
|
<span class="cline-any cline-neutral"> </span>
|
|
627
|
-
<span class="cline-any cline-yes">
|
|
717
|
+
<span class="cline-any cline-yes">30x</span>
|
|
628
718
|
<span class="cline-any cline-no"> </span>
|
|
629
719
|
<span class="cline-any cline-neutral"> </span>
|
|
630
720
|
<span class="cline-any cline-neutral"> </span>
|
|
631
|
-
<span class="cline-any cline-yes">
|
|
721
|
+
<span class="cline-any cline-yes">30x</span>
|
|
632
722
|
<span class="cline-any cline-neutral"> </span>
|
|
633
723
|
<span class="cline-any cline-neutral"> </span>
|
|
634
724
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -637,17 +727,17 @@
|
|
|
637
727
|
<span class="cline-any cline-neutral"> </span>
|
|
638
728
|
<span class="cline-any cline-neutral"> </span>
|
|
639
729
|
<span class="cline-any cline-neutral"> </span>
|
|
640
|
-
<span class="cline-any cline-yes">
|
|
730
|
+
<span class="cline-any cline-yes">30x</span>
|
|
641
731
|
<span class="cline-any cline-neutral"> </span>
|
|
642
732
|
<span class="cline-any cline-neutral"> </span>
|
|
643
733
|
<span class="cline-any cline-neutral"> </span>
|
|
644
|
-
<span class="cline-any cline-yes">
|
|
734
|
+
<span class="cline-any cline-yes">2x</span>
|
|
645
735
|
<span class="cline-any cline-yes">1x</span>
|
|
646
736
|
<span class="cline-any cline-neutral"> </span>
|
|
647
737
|
<span class="cline-any cline-neutral"> </span>
|
|
648
738
|
<span class="cline-any cline-neutral"> </span>
|
|
649
739
|
<span class="cline-any cline-neutral"> </span>
|
|
650
|
-
<span class="cline-any cline-yes">
|
|
740
|
+
<span class="cline-any cline-yes">30x</span>
|
|
651
741
|
<span class="cline-any cline-neutral"> </span>
|
|
652
742
|
<span class="cline-any cline-neutral"> </span>
|
|
653
743
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -658,7 +748,7 @@
|
|
|
658
748
|
<span class="cline-any cline-neutral"> </span>
|
|
659
749
|
<span class="cline-any cline-neutral"> </span>
|
|
660
750
|
<span class="cline-any cline-neutral"> </span>
|
|
661
|
-
<span class="cline-any cline-yes">
|
|
751
|
+
<span class="cline-any cline-yes">30x</span>
|
|
662
752
|
<span class="cline-any cline-neutral"> </span>
|
|
663
753
|
<span class="cline-any cline-neutral"> </span>
|
|
664
754
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -727,9 +817,9 @@
|
|
|
727
817
|
<span class="cline-any cline-neutral"> </span>
|
|
728
818
|
<span class="cline-any cline-neutral"> </span>
|
|
729
819
|
<span class="cline-any cline-neutral"> </span>
|
|
730
|
-
<span class="cline-any cline-yes">
|
|
731
|
-
<span class="cline-any cline-yes">
|
|
732
|
-
<span class="cline-any cline-yes">
|
|
820
|
+
<span class="cline-any cline-yes">390x</span>
|
|
821
|
+
<span class="cline-any cline-yes">390x</span>
|
|
822
|
+
<span class="cline-any cline-yes">251x</span>
|
|
733
823
|
<span class="cline-any cline-neutral"> </span>
|
|
734
824
|
<span class="cline-any cline-neutral"> </span>
|
|
735
825
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -742,9 +832,9 @@
|
|
|
742
832
|
<span class="cline-any cline-neutral"> </span>
|
|
743
833
|
<span class="cline-any cline-neutral"> </span>
|
|
744
834
|
<span class="cline-any cline-neutral"> </span>
|
|
745
|
-
<span class="cline-any cline-yes">
|
|
835
|
+
<span class="cline-any cline-yes">59x</span>
|
|
746
836
|
<span class="cline-any cline-neutral"> </span>
|
|
747
|
-
<span class="cline-any cline-yes">
|
|
837
|
+
<span class="cline-any cline-yes">29x</span>
|
|
748
838
|
<span class="cline-any cline-neutral"> </span>
|
|
749
839
|
<span class="cline-any cline-neutral"> </span>
|
|
750
840
|
<span class="cline-any cline-neutral"> </span>
|
|
@@ -777,6 +867,7 @@ import {
|
|
|
777
867
|
ActivePaymentProductType,
|
|
778
868
|
ValidateSession,
|
|
779
869
|
SessionValidationCallback,
|
|
870
|
+
SessionEvent
|
|
780
871
|
} from "./checkout";
|
|
781
872
|
import { getSessionUrl, windowLocationAssign } from "./url";
|
|
782
873
|
import { createIframeAsync } from "./createIframeAsync";
|
|
@@ -797,8 +888,8 @@ export interface DinteroCheckoutInstance {
|
|
|
797
888
|
destroy: () => void;
|
|
798
889
|
iframe: HTMLIFrameElement;
|
|
799
890
|
language: string;
|
|
800
|
-
lockSession: () =>
|
|
801
|
-
refreshSession: () =>
|
|
891
|
+
lockSession: () => Promise<SessionEvent>;
|
|
892
|
+
refreshSession: () => Promise<SessionEvent>;
|
|
802
893
|
setActivePaymentProductType: (paymentProductType: string) => void;
|
|
803
894
|
submitValidationResult: (result: SessionValidationCallback) => void;
|
|
804
895
|
}
|
|
@@ -914,6 +1005,7 @@ const handleWithResult = (
|
|
|
914
1005
|
};
|
|
915
1006
|
};
|
|
916
1007
|
|
|
1008
|
+
|
|
917
1009
|
/**
|
|
918
1010
|
* Show a dintero payment session in an embedded iframe.
|
|
919
1011
|
*/
|
|
@@ -936,6 +1028,7 @@ export const embed = async (
|
|
|
936
1028
|
onActivePaymentType,
|
|
937
1029
|
onValidateSession,
|
|
938
1030
|
} = options;
|
|
1031
|
+
let checkout: DinteroCheckoutInstance | undefined;
|
|
939
1032
|
const subscriptions: Subscription[] = [];
|
|
940
1033
|
|
|
941
1034
|
// Create iframe
|
|
@@ -963,12 +1056,54 @@ export const embed = async (
|
|
|
963
1056
|
}
|
|
964
1057
|
};
|
|
965
1058
|
|
|
966
|
-
|
|
967
|
-
|
|
1059
|
+
/**
|
|
1060
|
+
* Turn an action into a promise by specifying resolve and
|
|
1061
|
+
* reject events.
|
|
1062
|
+
*/
|
|
1063
|
+
const promisifyAction = (action:()=> void, resolveEvent:CheckoutEvents, rejectEvent:CheckoutEvents) => {
|
|
1064
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if(!checkout){
|
|
1065
|
+
<span class="cstat-no" title="statement not covered" > throw new Error("Unable to create action promise: checkout is undefined");</span>
|
|
1066
|
+
}
|
|
1067
|
+
return new Promise<SessionEvent>((resolve, reject)=> {
|
|
1068
|
+
const eventSubscriptions:Subscription[] = [];
|
|
1069
|
+
eventSubscriptions.push(subscribe({
|
|
1070
|
+
sid,
|
|
1071
|
+
endpoint,
|
|
1072
|
+
handler: (sessionEvent) => {
|
|
1073
|
+
eventSubscriptions.forEach((sub)=> sub.unsubscribe());
|
|
1074
|
+
resolve(sessionEvent);
|
|
1075
|
+
},
|
|
1076
|
+
eventTypes: [resolveEvent],
|
|
1077
|
+
checkout,
|
|
1078
|
+
}));
|
|
1079
|
+
eventSubscriptions.push(subscribe({
|
|
1080
|
+
sid,
|
|
1081
|
+
endpoint,
|
|
1082
|
+
handler: () => {
|
|
1083
|
+
eventSubscriptions.forEach((sub)=> sub.unsubscribe());
|
|
1084
|
+
reject(`Received unexpected event: ${rejectEvent}`);
|
|
1085
|
+
},
|
|
1086
|
+
eventTypes: [rejectEvent],
|
|
1087
|
+
checkout,
|
|
1088
|
+
}));
|
|
1089
|
+
action();
|
|
1090
|
+
});
|
|
1091
|
+
}
|
|
1092
|
+
|
|
1093
|
+
const lockSession = () => {
|
|
1094
|
+
return promisifyAction(
|
|
1095
|
+
()=>{postSessionLock(iframe, sid)},
|
|
1096
|
+
CheckoutEvents.SessionLocked,
|
|
1097
|
+
CheckoutEvents.SessionLockFailed
|
|
1098
|
+
);
|
|
968
1099
|
};
|
|
969
1100
|
|
|
970
|
-
const refreshSession =
|
|
971
|
-
|
|
1101
|
+
const refreshSession = () => {
|
|
1102
|
+
return promisifyAction(
|
|
1103
|
+
()=>{postSessionRefresh(iframe, sid)},
|
|
1104
|
+
CheckoutEvents.SessionUpdated,
|
|
1105
|
+
CheckoutEvents.SessionNotFound
|
|
1106
|
+
);
|
|
972
1107
|
};
|
|
973
1108
|
|
|
974
1109
|
const setActivePaymentProductType = <span class="fstat-no" title="function not covered" >(p</span>aymentProductType?:string) => {
|
|
@@ -992,13 +1127,13 @@ export const embed = async (
|
|
|
992
1127
|
event: SessionLocked,
|
|
993
1128
|
checkout: DinteroCheckoutInstance,
|
|
994
1129
|
) => {
|
|
995
|
-
|
|
1130
|
+
if (onSessionLocked) {
|
|
996
1131
|
onSessionLocked(event, checkout, refreshSession);
|
|
997
1132
|
}
|
|
998
1133
|
}
|
|
999
1134
|
|
|
1000
1135
|
// Create checkout object that wraps the destroy function.
|
|
1001
|
-
|
|
1136
|
+
checkout = {
|
|
1002
1137
|
destroy,
|
|
1003
1138
|
iframe,
|
|
1004
1139
|
language,
|
|
@@ -1117,7 +1252,7 @@ export const redirect = (options: DinteroCheckoutOptions) => {
|
|
|
1117
1252
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
1118
1253
|
Code coverage generated by
|
|
1119
1254
|
<a href="https://istanbul.js.org/" target="_blank">istanbul</a>
|
|
1120
|
-
at
|
|
1255
|
+
at Sun May 01 2022 13:56:30 GMT+0000 (Coordinated Universal Time)
|
|
1121
1256
|
</div>
|
|
1122
1257
|
</div>
|
|
1123
1258
|
<script src="prettify.js"></script>
|