@dintero/checkout-web-sdk 0.0.16 → 0.3.1

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.
Files changed (33) hide show
  1. package/.github/dependabot.yml +10 -0
  2. package/.github/workflows/{blank.yml → build.yml} +6 -5
  3. package/.github/workflows/release.yml +33 -0
  4. package/.releaserc.json +11 -0
  5. package/CHANGELOG.md +7 -0
  6. package/README.md +85 -17
  7. package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/base.css +0 -0
  8. package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/block-navigation.js +0 -0
  9. package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/checkout.ts.html +75 -6
  10. package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/createIframeAsync.ts.html +15 -15
  11. package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/favicon.png +0 -0
  12. package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/index.html +40 -40
  13. package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7)/html/checkout-web-sdk.ts.html → Chrome Headless 99.0.4844.0 (Linux x86_64)/html/index.ts.html } +227 -32
  14. package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/prettify.css +0 -0
  15. package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/prettify.js +0 -0
  16. package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/sort-arrow-sprite.png +0 -0
  17. package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/sorter.js +0 -0
  18. package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/subscribe.ts.html +92 -26
  19. package/coverage/{Chrome Headless 80.0.3987.0 (Mac OS 10.15.7) → Chrome Headless 99.0.4844.0 (Linux x86_64)}/html/url.ts.html +23 -17
  20. package/dist/declarations/src/checkout.d.ts +75 -57
  21. package/dist/declarations/src/createIframeAsync.d.ts +10 -10
  22. package/dist/declarations/src/index.d.ts +43 -39
  23. package/dist/declarations/src/subscribe.d.ts +41 -33
  24. package/dist/declarations/src/url.d.ts +16 -15
  25. package/dist/dintero-checkout-web-sdk.cjs.dev.js +84 -16
  26. package/dist/dintero-checkout-web-sdk.cjs.prod.js +84 -16
  27. package/dist/dintero-checkout-web-sdk.esm.js +84 -16
  28. package/dist/dintero-checkout-web-sdk.umd.min.js +1 -1
  29. package/dist/dintero-checkout-web-sdk.umd.min.js.map +1 -1
  30. package/package.json +49 -46
  31. package/coverage/Chrome Headless 80.0.3987.0 (Mac OS 10.15.7)/html/dintero-checkout-web-sdk.ts.html +0 -908
  32. package/coverage/Chrome Headless 80.0.3987.0 (Mac OS 10.15.7)/html/index.ts.html +0 -908
  33. package/dist/declarations/package.d.ts +0 -49
@@ -0,0 +1,10 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: npm
4
+ directory: "/"
5
+ schedule:
6
+ interval: daily
7
+ commit-message:
8
+ prefix: fix
9
+ prefix-development: chore
10
+ include: scope
@@ -1,21 +1,22 @@
1
1
  name: CI
2
2
 
3
3
  on:
4
- push:
5
- branches: [ master ]
6
-
7
4
  pull_request:
8
5
  branches: [ master ]
9
6
 
10
7
  jobs:
8
+
11
9
  build:
12
10
  runs-on: ubuntu-latest
13
11
 
14
12
  steps:
15
13
  - uses: actions/checkout@v2
16
- - uses: actions/setup-node@v1
17
14
  with:
18
- node-version: 10
15
+ fetch-depth: 0
16
+ - uses: actions/setup-node@v2
17
+ with:
18
+ node-version: 'lts/*'
19
+ cache: npm
19
20
 
20
21
  - name: npm install, build and test
21
22
  run: |
@@ -0,0 +1,33 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - master
7
+
8
+ jobs:
9
+ release:
10
+ name: Release
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ - name: Checkout
15
+ uses: actions/checkout@v2
16
+ with:
17
+ fetch-depth: 0
18
+
19
+ - name: Setup Node.js
20
+ uses: actions/setup-node@v2
21
+ with:
22
+ node-version: 'lts/*'
23
+
24
+ - name: Install dependencies
25
+ run: |
26
+ npm install
27
+ npm run test
28
+
29
+ - name: Release
30
+ env:
31
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
32
+ NPM_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
33
+ run: npm run semantic-release
@@ -0,0 +1,11 @@
1
+ {
2
+ "branches": [
3
+ "master"
4
+ ],
5
+ "plugins": [
6
+ "@semantic-release/commit-analyzer",
7
+ "@semantic-release/release-notes-generator",
8
+ "@semantic-release/github",
9
+ "@semantic-release/npm"
10
+ ]
11
+ }
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [0.0.17]
2
+
3
+ ### Changed
4
+
5
+ - Adds `onActivePaymentProductType` callback.
6
+ - Adds `setActivePaymentProductType` function.
7
+
1
8
  ## [0.0.16]
2
9
 
3
10
  ### Changed
package/README.md CHANGED
@@ -25,14 +25,6 @@ If no custom handler are added for `onPaymentError`, `onPaymentAuthorized` and `
25
25
  npm install @dintero/checkout-web-sdk
26
26
  ```
27
27
 
28
- **unpkg**
29
-
30
- Load the Dintero Checkout SDK in a script tag on your site.
31
-
32
- ```
33
- <script src="https://unpkg.com/@dintero/checkout-web-sdk@0.0.16/dist/dintero-checkout-web-sdk.umd.min.js" integrity="sha384-wSx8c2gSK0ipbhUEBTagUYLolGfrRERsuoyLDq92oWvrhFqnujApIeJ7+z6nvOfl"></script>
34
- ```
35
-
36
28
  ## Using the SDK for an embedded checkout
37
29
 
38
30
  The Dintero Checkout will be added to the `<div id="checkout-container"></div>` DOM-node.
@@ -81,12 +73,23 @@ _The checkout sdk will add a polyfill for promises if the browser does not suppo
81
73
  console.log("href", event.href);
82
74
  checkout.destroy();
83
75
  },
84
- onSessionLocked: function(event, checkout) {
76
+ onSessionLocked: function(event, checkout, callback) {
85
77
  console.log("pay_lock_id", event.pay_lock_id);
78
+ callback(); // refresh session
86
79
  },
87
80
  onSessionLockFailed: function(event, checkout) {
88
81
  console.log("session lock failed");
89
82
  },
83
+ onActivePaymentType: function(event, checkout) {
84
+ console.log("payment product type selected", event.payment_product_type);
85
+ },
86
+ onValidateSession: function(event, checkout, callback) {
87
+ console.log("validating session", event.session);
88
+ callback({
89
+ success: true,
90
+ clientValidationError: undefined,
91
+ });
92
+ },
90
93
  })
91
94
  .then(function(checkout) {
92
95
  console.log("checkout", checkout);
@@ -128,15 +131,40 @@ const checkout = await embed({
128
131
  console.log("href", event.href);
129
132
  checkout.destroy();
130
133
  },
131
- onSessionLocked: (event, checkout) => {
134
+ onSessionLocked: (event, checkout, callback) => {
132
135
  console.log("pay_lock_id", event.pay_lock_id);
136
+ callback(); // refresh session
133
137
  },
134
138
  onSessionLockFailed: (event, checkout) => {
135
139
  console.log("session lock failed");
136
140
  },
141
+ onActivePaymentType: function(event, checkout) {
142
+ console.log("payment product type selected", event.payment_product_type);
143
+ },
144
+ onValidateSession: function(event, checkout, callback) {
145
+ console.log("validating session", event.session);
146
+ callback({
147
+ success: true,
148
+ clientValidationError: undefined,
149
+ });
150
+ },
137
151
  });
138
152
  ```
139
153
 
154
+ ### Setting payment product type
155
+
156
+ The payment product type can be set with the returned `setActivePaymentProductType()`function when embedding the checkout.
157
+
158
+ Select "vipps" payment product type:
159
+ ```
160
+ checkout.setActivePaymentProductType("vipps");
161
+ ```
162
+
163
+ Resetting selection (so no option is selected in the checkout):
164
+ ```
165
+ checkout.setActivePaymentProductType();
166
+ ```
167
+
140
168
  ### Updating an Checkout Express-session
141
169
 
142
170
  To update an existing Checkout Express-session, follow these steps:
@@ -170,8 +198,52 @@ After updating the session, call refreshSession on the checkout object:
170
198
  checkout.refreshSession();
171
199
  ```
172
200
 
201
+ or use the callback in `onSessionLocked`:
202
+
203
+ ```js
204
+ onSessionLocked: (event, checkout, callback) => {
205
+ console.log("pay_lock_id", event.pay_lock_id);
206
+ callback(); // refresh session
207
+ }
208
+ ```
209
+
173
210
  Editing and paying in the checkout is enabled again.
174
211
 
212
+ ### Validating session before payment
213
+
214
+ To validate the session and perform actions before the session is paid, use the `onSessionValidation`-handler.
215
+
216
+ The checkout will be locked and payment will be paused until the provided callback function is called, or `checkout.submitValidationResult` is called with the result.
217
+
218
+ When validated successfully, return a successful result:
219
+
220
+ ```js
221
+ {
222
+ success: true
223
+ }
224
+ ```
225
+
226
+ If the validation is not successful, return the result with an error message:
227
+
228
+ ```js
229
+ {
230
+ success: false,
231
+ clientValidationError: "session is not in sync with cart"
232
+ }
233
+ ```
234
+
235
+ Example implementation:
236
+
237
+ ```
238
+ onValidateSession: function(event, checkout, callback) {
239
+ // Call the ecommerce solution to make sure the session is sync with the cart
240
+ callback({
241
+ success: false,
242
+ clientValidationError: "session is not in sync with cart",
243
+ });
244
+ },
245
+ ```
246
+
175
247
  ## Using the SDK for a redirect checkout
176
248
 
177
249
  The user is redirected to the Dintero Checkout to complete payment.
@@ -207,11 +279,7 @@ npm run build
207
279
 
208
280
  The Dintero Checkout SDK is built with [microbundle](https://github.com/developit/microbundle).
209
281
 
210
- ## Creating a new release checklist
282
+ ## Creating a new release
211
283
 
212
- 1. Bump the package version in `package.json`.
213
- 2. Regenerate integrity hash and update the unpgk install instructions in this file `shasum -b -a 384 dist/dintero-checkout-web-sdk.umd.min.js | awk '{ print $1 }' | xxd -r -p | base64 | sed "s/^/sha384-/g"`
214
- 3. Update README.md with new version/sha
215
- 4. Publish new version to npm with `npm publish --access=public`.
216
- 5. Tag and create release in Github
217
- `git tag "v$(jq .version -r < package.json)"`
284
+ 1. Enforce all commits to the master branch to be formatted according to the [Angular Commit Message Format](https://github.com/angular/angular/blob/master/CONTRIBUTING.md#-commit-message-format)
285
+ 2. When merged to master, it will automatically be released with [semantic-release](https://github.com/semantic-release/semantic-release)
@@ -25,7 +25,7 @@
25
25
  <div class='fl pad1y space-right2'>
26
26
  <span class="strong">100% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>13/13</span>
28
+ <span class='fraction'>15/15</span>
29
29
  </div>
30
30
 
31
31
 
@@ -46,7 +46,7 @@
46
46
  <div class='fl pad1y space-right2'>
47
47
  <span class="strong">100% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>13/13</span>
49
+ <span class='fraction'>15/15</span>
50
50
  </div>
51
51
 
52
52
 
@@ -135,7 +135,30 @@
135
135
  <a name='L76'></a><a href='#L76'>76</a>
136
136
  <a name='L77'></a><a href='#L77'>77</a>
137
137
  <a name='L78'></a><a href='#L78'>78</a>
138
- <a name='L79'></a><a href='#L79'>79</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
138
+ <a name='L79'></a><a href='#L79'>79</a>
139
+ <a name='L80'></a><a href='#L80'>80</a>
140
+ <a name='L81'></a><a href='#L81'>81</a>
141
+ <a name='L82'></a><a href='#L82'>82</a>
142
+ <a name='L83'></a><a href='#L83'>83</a>
143
+ <a name='L84'></a><a href='#L84'>84</a>
144
+ <a name='L85'></a><a href='#L85'>85</a>
145
+ <a name='L86'></a><a href='#L86'>86</a>
146
+ <a name='L87'></a><a href='#L87'>87</a>
147
+ <a name='L88'></a><a href='#L88'>88</a>
148
+ <a name='L89'></a><a href='#L89'>89</a>
149
+ <a name='L90'></a><a href='#L90'>90</a>
150
+ <a name='L91'></a><a href='#L91'>91</a>
151
+ <a name='L92'></a><a href='#L92'>92</a>
152
+ <a name='L93'></a><a href='#L93'>93</a>
153
+ <a name='L94'></a><a href='#L94'>94</a>
154
+ <a name='L95'></a><a href='#L95'>95</a>
155
+ <a name='L96'></a><a href='#L96'>96</a>
156
+ <a name='L97'></a><a href='#L97'>97</a>
157
+ <a name='L98'></a><a href='#L98'>98</a>
158
+ <a name='L99'></a><a href='#L99'>99</a>
159
+ <a name='L100'></a><a href='#L100'>100</a>
160
+ <a name='L101'></a><a href='#L101'>101</a>
161
+ <a name='L102'></a><a href='#L102'>102</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
139
162
  <span class="cline-any cline-neutral">&nbsp;</span>
140
163
  <span class="cline-any cline-yes">1x</span>
141
164
  <span class="cline-any cline-yes">1x</span>
@@ -147,6 +170,8 @@
147
170
  <span class="cline-any cline-yes">1x</span>
148
171
  <span class="cline-any cline-yes">1x</span>
149
172
  <span class="cline-any cline-yes">1x</span>
173
+ <span class="cline-any cline-yes">1x</span>
174
+ <span class="cline-any cline-yes">1x</span>
150
175
  <span class="cline-any cline-neutral">&nbsp;</span>
151
176
  <span class="cline-any cline-yes">1x</span>
152
177
  <span class="cline-any cline-yes">1x</span>
@@ -213,6 +238,27 @@
213
238
  <span class="cline-any cline-neutral">&nbsp;</span>
214
239
  <span class="cline-any cline-neutral">&nbsp;</span>
215
240
  <span class="cline-any cline-neutral">&nbsp;</span>
241
+ <span class="cline-any cline-neutral">&nbsp;</span>
242
+ <span class="cline-any cline-neutral">&nbsp;</span>
243
+ <span class="cline-any cline-neutral">&nbsp;</span>
244
+ <span class="cline-any cline-neutral">&nbsp;</span>
245
+ <span class="cline-any cline-neutral">&nbsp;</span>
246
+ <span class="cline-any cline-neutral">&nbsp;</span>
247
+ <span class="cline-any cline-neutral">&nbsp;</span>
248
+ <span class="cline-any cline-neutral">&nbsp;</span>
249
+ <span class="cline-any cline-neutral">&nbsp;</span>
250
+ <span class="cline-any cline-neutral">&nbsp;</span>
251
+ <span class="cline-any cline-neutral">&nbsp;</span>
252
+ <span class="cline-any cline-neutral">&nbsp;</span>
253
+ <span class="cline-any cline-neutral">&nbsp;</span>
254
+ <span class="cline-any cline-neutral">&nbsp;</span>
255
+ <span class="cline-any cline-neutral">&nbsp;</span>
256
+ <span class="cline-any cline-neutral">&nbsp;</span>
257
+ <span class="cline-any cline-neutral">&nbsp;</span>
258
+ <span class="cline-any cline-neutral">&nbsp;</span>
259
+ <span class="cline-any cline-neutral">&nbsp;</span>
260
+ <span class="cline-any cline-neutral">&nbsp;</span>
261
+ <span class="cline-any cline-neutral">&nbsp;</span>
216
262
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import { Session } from "./session";
217
263
  &nbsp;
218
264
  export enum CheckoutEvents {
@@ -225,6 +271,8 @@ export enum CheckoutEvents {
225
271
  SessionPaymentError = "SessionPaymentError",
226
272
  SessionLocked = "SessionLocked",
227
273
  SessionLockFailed = "SessionLockFailed",
274
+ ActivePaymentProductType = "ActivePaymentProductType",
275
+ ValidateSession = "ValidateSession",
228
276
  }
229
277
  export enum InternalCheckoutEvents {
230
278
  HeightChanged = "HeightChanged",
@@ -267,11 +315,30 @@ export type SessionPaymentAuthorized = {
267
315
  export type SessionLocked = {
268
316
  type: CheckoutEvents.SessionLocked;
269
317
  pay_lock_id: string;
318
+ callback: () =&gt; void;
270
319
  };
271
320
  &nbsp;
272
321
  export type SessionLockFailed = {
273
322
  type: CheckoutEvents.SessionLockFailed;
274
323
  };
324
+ export type ActivePaymentProductType = {
325
+ type: CheckoutEvents.ActivePaymentProductType;
326
+ payment_product_type: string | undefined;
327
+ };
328
+ &nbsp;
329
+ export type ValidateSession = {
330
+ type: CheckoutEvents.ValidateSession;
331
+ session: Session;
332
+ callback: (result: SessionValidationCallback) =&gt; void;
333
+ };
334
+ &nbsp;
335
+ export interface SessionValidationCallback {
336
+ success: boolean;
337
+ clientValidationError?: string;
338
+ }
339
+ &nbsp;
340
+ export type WrappedValidateSession = Pick&lt;ValidateSession, "type" | "session"&gt;;
341
+ export type WrappedSessionLocked = Pick&lt;SessionLocked, "type" | "pay_lock_id"&gt;;
275
342
  &nbsp;
276
343
  export type SessionPayment = SessionPaymentAuthorized | SessionPaymentOnHold;
277
344
  &nbsp;
@@ -289,8 +356,10 @@ export type SessionEvent =
289
356
  | SessionPaymentOnHold
290
357
  | SessionPaymentAuthorized
291
358
  | SessionPaymentError
292
- | SessionLocked
293
- | SessionLockFailed;
359
+ | WrappedSessionLocked
360
+ | SessionLockFailed
361
+ | ActivePaymentProductType
362
+ | WrappedValidateSession;
294
363
  &nbsp;</pre></td></tr></table></pre>
295
364
 
296
365
  <div class='push'></div><!-- for sticky footer -->
@@ -298,7 +367,7 @@ export type SessionEvent =
298
367
  <div class='footer quiet pad2 space-top1 center small'>
299
368
  Code coverage generated by
300
369
  <a href="https://istanbul.js.org/" target="_blank">istanbul</a>
301
- at Tue May 11 2021 12:17:54 GMT+0200 (Central European Summer Time)
370
+ at Wed Feb 16 2022 09:14:07 GMT+0000 (Coordinated Universal Time)
302
371
  </div>
303
372
  </div>
304
373
  <script src="prettify.js"></script>
@@ -126,15 +126,15 @@
126
126
  <span class="cline-any cline-neutral">&nbsp;</span>
127
127
  <span class="cline-any cline-neutral">&nbsp;</span>
128
128
  <span class="cline-any cline-neutral">&nbsp;</span>
129
- <span class="cline-any cline-yes">46x</span>
129
+ <span class="cline-any cline-yes">26x</span>
130
130
  <span class="cline-any cline-no">&nbsp;</span>
131
131
  <span class="cline-any cline-neutral">&nbsp;</span>
132
- <span class="cline-any cline-yes">46x</span>
132
+ <span class="cline-any cline-yes">26x</span>
133
133
  <span class="cline-any cline-neutral">&nbsp;</span>
134
134
  <span class="cline-any cline-neutral">&nbsp;</span>
135
- <span class="cline-any cline-yes">46x</span>
136
- <span class="cline-any cline-yes">46x</span>
137
- <span class="cline-any cline-yes">46x</span>
135
+ <span class="cline-any cline-yes">26x</span>
136
+ <span class="cline-any cline-yes">26x</span>
137
+ <span class="cline-any cline-yes">26x</span>
138
138
  <span class="cline-any cline-neutral">&nbsp;</span>
139
139
  <span class="cline-any cline-neutral">&nbsp;</span>
140
140
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -147,28 +147,28 @@
147
147
  <span class="cline-any cline-neutral">&nbsp;</span>
148
148
  <span class="cline-any cline-neutral">&nbsp;</span>
149
149
  <span class="cline-any cline-neutral">&nbsp;</span>
150
- <span class="cline-any cline-yes">46x</span>
150
+ <span class="cline-any cline-yes">26x</span>
151
151
  <span class="cline-any cline-neutral">&nbsp;</span>
152
152
  <span class="cline-any cline-neutral">&nbsp;</span>
153
153
  <span class="cline-any cline-neutral">&nbsp;</span>
154
154
  <span class="cline-any cline-neutral">&nbsp;</span>
155
155
  <span class="cline-any cline-neutral">&nbsp;</span>
156
- <span class="cline-any cline-yes">46x</span>
156
+ <span class="cline-any cline-yes">26x</span>
157
157
  <span class="cline-any cline-neutral">&nbsp;</span>
158
158
  <span class="cline-any cline-neutral">&nbsp;</span>
159
- <span class="cline-any cline-yes">46x</span>
159
+ <span class="cline-any cline-yes">26x</span>
160
160
  <span class="cline-any cline-neutral">&nbsp;</span>
161
161
  <span class="cline-any cline-neutral">&nbsp;</span>
162
162
  <span class="cline-any cline-neutral">&nbsp;</span>
163
163
  <span class="cline-any cline-neutral">&nbsp;</span>
164
164
  <span class="cline-any cline-neutral">&nbsp;</span>
165
- <span class="cline-any cline-yes">46x</span>
165
+ <span class="cline-any cline-yes">26x</span>
166
166
  <span class="cline-any cline-neutral">&nbsp;</span>
167
- <span class="cline-any cline-yes">46x</span>
168
- <span class="cline-any cline-yes">46x</span>
169
- <span class="cline-any cline-yes">59x</span>
170
- <span class="cline-any cline-yes">46x</span>
171
- <span class="cline-any cline-yes">46x</span>
167
+ <span class="cline-any cline-yes">26x</span>
168
+ <span class="cline-any cline-yes">26x</span>
169
+ <span class="cline-any cline-yes">31x</span>
170
+ <span class="cline-any cline-yes">26x</span>
171
+ <span class="cline-any cline-yes">26x</span>
172
172
  <span class="cline-any cline-neutral">&nbsp;</span>
173
173
  <span class="cline-any cline-neutral">&nbsp;</span>
174
174
  <span class="cline-any cline-neutral">&nbsp;</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 Tue May 11 2021 12:17:54 GMT+0200 (Central European Summer Time)
241
+ at Wed Feb 16 2022 09:14:07 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">92.65% </span>
26
+ <span class="strong">89.74% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>126/136</span>
28
+ <span class='fraction'>140/156</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">78.57% </span>
33
+ <span class="strong">73.75% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>55/70</span>
35
+ <span class='fraction'>59/80</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">81.25% </span>
40
+ <span class="strong">73.68% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>26/32</span>
42
+ <span class='fraction'>28/38</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">92.31% </span>
47
+ <span class="strong">88.97% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>108/117</span>
49
+ <span class='fraction'>121/136</span>
50
50
  </div>
51
51
 
52
52
 
@@ -78,13 +78,13 @@
78
78
  <div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
79
79
  </td>
80
80
  <td data-value="100" class="pct high">100%</td>
81
- <td data-value="13" class="abs high">13/13</td>
81
+ <td data-value="15" class="abs high">15/15</td>
82
82
  <td data-value="100" class="pct high">100%</td>
83
83
  <td data-value="4" class="abs high">4/4</td>
84
84
  <td data-value="100" class="pct high">100%</td>
85
85
  <td data-value="2" class="abs high">2/2</td>
86
86
  <td data-value="100" class="pct high">100%</td>
87
- <td data-value="13" class="abs high">13/13</td>
87
+ <td data-value="15" class="abs high">15/15</td>
88
88
  </tr>
89
89
 
90
90
  <tr>
@@ -104,47 +104,47 @@
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="96.83" class="pic high">
108
- <div class="chart"><div class="cover-fill" style="width: 96%"></div><div class="cover-empty" style="width: 4%"></div></div>
107
+ <td data-value="94.44" class="pic high">
108
+ <div class="chart"><div class="cover-fill" style="width: 94%"></div><div class="cover-empty" style="width: 6%"></div></div>
109
109
  </td>
110
- <td data-value="96.83" class="pct high">96.83%</td>
111
- <td data-value="63" class="abs high">61/63</td>
112
- <td data-value="82.35" class="pct high">82.35%</td>
113
- <td data-value="34" class="abs high">28/34</td>
114
- <td data-value="87.5" class="pct high">87.5%</td>
115
- <td data-value="16" class="abs high">14/16</td>
116
- <td data-value="96.23" class="pct high">96.23%</td>
117
- <td data-value="53" class="abs high">51/53</td>
110
+ <td data-value="94.44" class="pct high">94.44%</td>
111
+ <td data-value="72" class="abs high">68/72</td>
112
+ <td data-value="81.58" class="pct high">81.58%</td>
113
+ <td data-value="38" class="abs high">31/38</td>
114
+ <td data-value="80" class="pct high">80%</td>
115
+ <td data-value="20" class="abs high">16/20</td>
116
+ <td data-value="93.65" class="pct high">93.65%</td>
117
+ <td data-value="63" class="abs high">59/63</td>
118
118
  </tr>
119
119
 
120
120
  <tr>
121
- <td class="file high" data-value="subscribe.ts"><a href="subscribe.ts.html">subscribe.ts</a></td>
122
- <td data-value="84.62" class="pic high">
123
- <div class="chart"><div class="cover-fill" style="width: 84%"></div><div class="cover-empty" style="width: 16%"></div></div>
121
+ <td class="file medium" data-value="subscribe.ts"><a href="subscribe.ts.html">subscribe.ts</a></td>
122
+ <td data-value="76.47" class="pic medium">
123
+ <div class="chart"><div class="cover-fill" style="width: 76%"></div><div class="cover-empty" style="width: 24%"></div></div>
124
124
  </td>
125
- <td data-value="84.62" class="pct high">84.62%</td>
126
- <td data-value="26" class="abs high">22/26</td>
127
- <td data-value="75" class="pct medium">75%</td>
128
- <td data-value="20" class="abs medium">15/20</td>
129
- <td data-value="66.67" class="pct medium">66.67%</td>
130
- <td data-value="6" class="abs medium">4/6</td>
131
- <td data-value="82.61" class="pct high">82.61%</td>
132
- <td data-value="23" class="abs high">19/23</td>
125
+ <td data-value="76.47" class="pct medium">76.47%</td>
126
+ <td data-value="34" class="abs medium">26/34</td>
127
+ <td data-value="62.5" class="pct medium">62.5%</td>
128
+ <td data-value="24" class="abs medium">15/24</td>
129
+ <td data-value="50" class="pct medium">50%</td>
130
+ <td data-value="8" class="abs medium">4/8</td>
131
+ <td data-value="72.41" class="pct medium">72.41%</td>
132
+ <td data-value="29" class="abs medium">21/29</td>
133
133
  </tr>
134
134
 
135
135
  <tr>
136
136
  <td class="file high" data-value="url.ts"><a href="url.ts.html">url.ts</a></td>
137
- <td data-value="86.67" class="pic high">
138
- <div class="chart"><div class="cover-fill" style="width: 86%"></div><div class="cover-empty" style="width: 14%"></div></div>
137
+ <td data-value="87.5" class="pic high">
138
+ <div class="chart"><div class="cover-fill" style="width: 87%"></div><div class="cover-empty" style="width: 13%"></div></div>
139
139
  </td>
140
- <td data-value="86.67" class="pct high">86.67%</td>
141
- <td data-value="15" class="abs high">13/15</td>
142
- <td data-value="62.5" class="pct medium">62.5%</td>
143
- <td data-value="8" class="abs medium">5/8</td>
140
+ <td data-value="87.5" class="pct high">87.5%</td>
141
+ <td data-value="16" class="abs high">14/16</td>
142
+ <td data-value="60" class="pct medium">60%</td>
143
+ <td data-value="10" class="abs medium">6/10</td>
144
144
  <td data-value="66.67" class="pct medium">66.67%</td>
145
145
  <td data-value="3" class="abs medium">2/3</td>
146
- <td data-value="83.33" class="pct high">83.33%</td>
147
- <td data-value="12" class="abs high">10/12</td>
146
+ <td data-value="84.62" class="pct high">84.62%</td>
147
+ <td data-value="13" class="abs high">11/13</td>
148
148
  </tr>
149
149
 
150
150
  </tbody>
@@ -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 Tue May 11 2021 12:17:54 GMT+0200 (Central European Summer Time)
158
+ at Wed Feb 16 2022 09:14:07 GMT+0000 (Coordinated Universal Time)
159
159
  </div>
160
160
  </div>
161
161
  <script src="prettify.js"></script>