@pixwel/pixwel-sdk 1.1.7 → 1.1.9

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.
@@ -20,31 +20,31 @@
20
20
  </h1>
21
21
  <div class='clearfix'>
22
22
  <div class='fl pad1y space-right2'>
23
- <span class="strong">75.81% </span>
23
+ <span class="strong">82.86% </span>
24
24
  <span class="quiet">Statements</span>
25
- <span class='fraction'>47/62</span>
25
+ <span class='fraction'>116/140</span>
26
26
  </div>
27
27
  <div class='fl pad1y space-right2'>
28
- <span class="strong">56.92% </span>
28
+ <span class="strong">81.75% </span>
29
29
  <span class="quiet">Branches</span>
30
- <span class='fraction'>37/65</span>
30
+ <span class='fraction'>103/126</span>
31
31
  </div>
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">50% </span>
33
+ <span class="strong">100% </span>
34
34
  <span class="quiet">Functions</span>
35
- <span class='fraction'>2/4</span>
35
+ <span class='fraction'>4/4</span>
36
36
  </div>
37
37
  <div class='fl pad1y space-right2'>
38
- <span class="strong">79.66% </span>
38
+ <span class="strong">82.86% </span>
39
39
  <span class="quiet">Lines</span>
40
- <span class='fraction'>47/59</span>
40
+ <span class='fraction'>116/140</span>
41
41
  </div>
42
42
  </div>
43
43
  <p class="quiet">
44
44
  Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
45
45
  </p>
46
46
  </div>
47
- <div class='status-line medium'></div>
47
+ <div class='status-line high'></div>
48
48
  <pre><table class="coverage">
49
49
  <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
50
50
  <a name='L2'></a><a href='#L2'>2</a>
@@ -231,8 +231,161 @@
231
231
  <a name='L183'></a><a href='#L183'>183</a>
232
232
  <a name='L184'></a><a href='#L184'>184</a>
233
233
  <a name='L185'></a><a href='#L185'>185</a>
234
- <a name='L186'></a><a href='#L186'>186</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
235
- <span class="cline-any cline-neutral">&nbsp;</span>
234
+ <a name='L186'></a><a href='#L186'>186</a>
235
+ <a name='L187'></a><a href='#L187'>187</a>
236
+ <a name='L188'></a><a href='#L188'>188</a>
237
+ <a name='L189'></a><a href='#L189'>189</a>
238
+ <a name='L190'></a><a href='#L190'>190</a>
239
+ <a name='L191'></a><a href='#L191'>191</a>
240
+ <a name='L192'></a><a href='#L192'>192</a>
241
+ <a name='L193'></a><a href='#L193'>193</a>
242
+ <a name='L194'></a><a href='#L194'>194</a>
243
+ <a name='L195'></a><a href='#L195'>195</a>
244
+ <a name='L196'></a><a href='#L196'>196</a>
245
+ <a name='L197'></a><a href='#L197'>197</a>
246
+ <a name='L198'></a><a href='#L198'>198</a>
247
+ <a name='L199'></a><a href='#L199'>199</a>
248
+ <a name='L200'></a><a href='#L200'>200</a>
249
+ <a name='L201'></a><a href='#L201'>201</a>
250
+ <a name='L202'></a><a href='#L202'>202</a>
251
+ <a name='L203'></a><a href='#L203'>203</a>
252
+ <a name='L204'></a><a href='#L204'>204</a>
253
+ <a name='L205'></a><a href='#L205'>205</a>
254
+ <a name='L206'></a><a href='#L206'>206</a>
255
+ <a name='L207'></a><a href='#L207'>207</a>
256
+ <a name='L208'></a><a href='#L208'>208</a>
257
+ <a name='L209'></a><a href='#L209'>209</a>
258
+ <a name='L210'></a><a href='#L210'>210</a>
259
+ <a name='L211'></a><a href='#L211'>211</a>
260
+ <a name='L212'></a><a href='#L212'>212</a>
261
+ <a name='L213'></a><a href='#L213'>213</a>
262
+ <a name='L214'></a><a href='#L214'>214</a>
263
+ <a name='L215'></a><a href='#L215'>215</a>
264
+ <a name='L216'></a><a href='#L216'>216</a>
265
+ <a name='L217'></a><a href='#L217'>217</a>
266
+ <a name='L218'></a><a href='#L218'>218</a>
267
+ <a name='L219'></a><a href='#L219'>219</a>
268
+ <a name='L220'></a><a href='#L220'>220</a>
269
+ <a name='L221'></a><a href='#L221'>221</a>
270
+ <a name='L222'></a><a href='#L222'>222</a>
271
+ <a name='L223'></a><a href='#L223'>223</a>
272
+ <a name='L224'></a><a href='#L224'>224</a>
273
+ <a name='L225'></a><a href='#L225'>225</a>
274
+ <a name='L226'></a><a href='#L226'>226</a>
275
+ <a name='L227'></a><a href='#L227'>227</a>
276
+ <a name='L228'></a><a href='#L228'>228</a>
277
+ <a name='L229'></a><a href='#L229'>229</a>
278
+ <a name='L230'></a><a href='#L230'>230</a>
279
+ <a name='L231'></a><a href='#L231'>231</a>
280
+ <a name='L232'></a><a href='#L232'>232</a>
281
+ <a name='L233'></a><a href='#L233'>233</a>
282
+ <a name='L234'></a><a href='#L234'>234</a>
283
+ <a name='L235'></a><a href='#L235'>235</a>
284
+ <a name='L236'></a><a href='#L236'>236</a>
285
+ <a name='L237'></a><a href='#L237'>237</a>
286
+ <a name='L238'></a><a href='#L238'>238</a>
287
+ <a name='L239'></a><a href='#L239'>239</a>
288
+ <a name='L240'></a><a href='#L240'>240</a>
289
+ <a name='L241'></a><a href='#L241'>241</a>
290
+ <a name='L242'></a><a href='#L242'>242</a>
291
+ <a name='L243'></a><a href='#L243'>243</a>
292
+ <a name='L244'></a><a href='#L244'>244</a>
293
+ <a name='L245'></a><a href='#L245'>245</a>
294
+ <a name='L246'></a><a href='#L246'>246</a>
295
+ <a name='L247'></a><a href='#L247'>247</a>
296
+ <a name='L248'></a><a href='#L248'>248</a>
297
+ <a name='L249'></a><a href='#L249'>249</a>
298
+ <a name='L250'></a><a href='#L250'>250</a>
299
+ <a name='L251'></a><a href='#L251'>251</a>
300
+ <a name='L252'></a><a href='#L252'>252</a>
301
+ <a name='L253'></a><a href='#L253'>253</a>
302
+ <a name='L254'></a><a href='#L254'>254</a>
303
+ <a name='L255'></a><a href='#L255'>255</a>
304
+ <a name='L256'></a><a href='#L256'>256</a>
305
+ <a name='L257'></a><a href='#L257'>257</a>
306
+ <a name='L258'></a><a href='#L258'>258</a>
307
+ <a name='L259'></a><a href='#L259'>259</a>
308
+ <a name='L260'></a><a href='#L260'>260</a>
309
+ <a name='L261'></a><a href='#L261'>261</a>
310
+ <a name='L262'></a><a href='#L262'>262</a>
311
+ <a name='L263'></a><a href='#L263'>263</a>
312
+ <a name='L264'></a><a href='#L264'>264</a>
313
+ <a name='L265'></a><a href='#L265'>265</a>
314
+ <a name='L266'></a><a href='#L266'>266</a>
315
+ <a name='L267'></a><a href='#L267'>267</a>
316
+ <a name='L268'></a><a href='#L268'>268</a>
317
+ <a name='L269'></a><a href='#L269'>269</a>
318
+ <a name='L270'></a><a href='#L270'>270</a>
319
+ <a name='L271'></a><a href='#L271'>271</a>
320
+ <a name='L272'></a><a href='#L272'>272</a>
321
+ <a name='L273'></a><a href='#L273'>273</a>
322
+ <a name='L274'></a><a href='#L274'>274</a>
323
+ <a name='L275'></a><a href='#L275'>275</a>
324
+ <a name='L276'></a><a href='#L276'>276</a>
325
+ <a name='L277'></a><a href='#L277'>277</a>
326
+ <a name='L278'></a><a href='#L278'>278</a>
327
+ <a name='L279'></a><a href='#L279'>279</a>
328
+ <a name='L280'></a><a href='#L280'>280</a>
329
+ <a name='L281'></a><a href='#L281'>281</a>
330
+ <a name='L282'></a><a href='#L282'>282</a>
331
+ <a name='L283'></a><a href='#L283'>283</a>
332
+ <a name='L284'></a><a href='#L284'>284</a>
333
+ <a name='L285'></a><a href='#L285'>285</a>
334
+ <a name='L286'></a><a href='#L286'>286</a>
335
+ <a name='L287'></a><a href='#L287'>287</a>
336
+ <a name='L288'></a><a href='#L288'>288</a>
337
+ <a name='L289'></a><a href='#L289'>289</a>
338
+ <a name='L290'></a><a href='#L290'>290</a>
339
+ <a name='L291'></a><a href='#L291'>291</a>
340
+ <a name='L292'></a><a href='#L292'>292</a>
341
+ <a name='L293'></a><a href='#L293'>293</a>
342
+ <a name='L294'></a><a href='#L294'>294</a>
343
+ <a name='L295'></a><a href='#L295'>295</a>
344
+ <a name='L296'></a><a href='#L296'>296</a>
345
+ <a name='L297'></a><a href='#L297'>297</a>
346
+ <a name='L298'></a><a href='#L298'>298</a>
347
+ <a name='L299'></a><a href='#L299'>299</a>
348
+ <a name='L300'></a><a href='#L300'>300</a>
349
+ <a name='L301'></a><a href='#L301'>301</a>
350
+ <a name='L302'></a><a href='#L302'>302</a>
351
+ <a name='L303'></a><a href='#L303'>303</a>
352
+ <a name='L304'></a><a href='#L304'>304</a>
353
+ <a name='L305'></a><a href='#L305'>305</a>
354
+ <a name='L306'></a><a href='#L306'>306</a>
355
+ <a name='L307'></a><a href='#L307'>307</a>
356
+ <a name='L308'></a><a href='#L308'>308</a>
357
+ <a name='L309'></a><a href='#L309'>309</a>
358
+ <a name='L310'></a><a href='#L310'>310</a>
359
+ <a name='L311'></a><a href='#L311'>311</a>
360
+ <a name='L312'></a><a href='#L312'>312</a>
361
+ <a name='L313'></a><a href='#L313'>313</a>
362
+ <a name='L314'></a><a href='#L314'>314</a>
363
+ <a name='L315'></a><a href='#L315'>315</a>
364
+ <a name='L316'></a><a href='#L316'>316</a>
365
+ <a name='L317'></a><a href='#L317'>317</a>
366
+ <a name='L318'></a><a href='#L318'>318</a>
367
+ <a name='L319'></a><a href='#L319'>319</a>
368
+ <a name='L320'></a><a href='#L320'>320</a>
369
+ <a name='L321'></a><a href='#L321'>321</a>
370
+ <a name='L322'></a><a href='#L322'>322</a>
371
+ <a name='L323'></a><a href='#L323'>323</a>
372
+ <a name='L324'></a><a href='#L324'>324</a>
373
+ <a name='L325'></a><a href='#L325'>325</a>
374
+ <a name='L326'></a><a href='#L326'>326</a>
375
+ <a name='L327'></a><a href='#L327'>327</a>
376
+ <a name='L328'></a><a href='#L328'>328</a>
377
+ <a name='L329'></a><a href='#L329'>329</a>
378
+ <a name='L330'></a><a href='#L330'>330</a>
379
+ <a name='L331'></a><a href='#L331'>331</a>
380
+ <a name='L332'></a><a href='#L332'>332</a>
381
+ <a name='L333'></a><a href='#L333'>333</a>
382
+ <a name='L334'></a><a href='#L334'>334</a>
383
+ <a name='L335'></a><a href='#L335'>335</a>
384
+ <a name='L336'></a><a href='#L336'>336</a>
385
+ <a name='L337'></a><a href='#L337'>337</a>
386
+ <a name='L338'></a><a href='#L338'>338</a>
387
+ <a name='L339'></a><a href='#L339'>339</a>
388
+ <a name='L340'></a><a href='#L340'>340</a></td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
236
389
  <span class="cline-any cline-neutral">&nbsp;</span>
237
390
  <span class="cline-any cline-neutral">&nbsp;</span>
238
391
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -259,6 +412,8 @@
259
412
  <span class="cline-any cline-neutral">&nbsp;</span>
260
413
  <span class="cline-any cline-neutral">&nbsp;</span>
261
414
  <span class="cline-any cline-yes">7x</span>
415
+ <span class="cline-any cline-neutral">&nbsp;</span>
416
+ <span class="cline-any cline-yes">7x</span>
262
417
  <span class="cline-any cline-yes">1x</span>
263
418
  <span class="cline-any cline-neutral">&nbsp;</span>
264
419
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -266,8 +421,11 @@
266
421
  <span class="cline-any cline-yes">1x</span>
267
422
  <span class="cline-any cline-neutral">&nbsp;</span>
268
423
  <span class="cline-any cline-neutral">&nbsp;</span>
424
+ <span class="cline-any cline-neutral">&nbsp;</span>
269
425
  <span class="cline-any cline-yes">5x</span>
426
+ <span class="cline-any cline-yes">1x</span>
270
427
  <span class="cline-any cline-neutral">&nbsp;</span>
428
+ <span class="cline-any cline-yes">4x</span>
271
429
  <span class="cline-any cline-neutral">&nbsp;</span>
272
430
  <span class="cline-any cline-neutral">&nbsp;</span>
273
431
  <span class="cline-any cline-yes">5x</span>
@@ -302,20 +460,40 @@
302
460
  <span class="cline-any cline-yes">4x</span>
303
461
  <span class="cline-any cline-yes">4x</span>
304
462
  <span class="cline-any cline-yes">4x</span>
305
- <span class="cline-any cline-neutral">&nbsp;</span>
306
463
  <span class="cline-any cline-yes">4x</span>
464
+ <span class="cline-any cline-yes">3x</span>
307
465
  <span class="cline-any cline-neutral">&nbsp;</span>
308
- <span class="cline-any cline-yes">4x</span>
309
- <span class="cline-any cline-yes">4x</span>
310
466
  <span class="cline-any cline-neutral">&nbsp;</span>
311
467
  <span class="cline-any cline-yes">4x</span>
312
468
  <span class="cline-any cline-yes">4x</span>
469
+ <span class="cline-any cline-no">&nbsp;</span>
470
+ <span class="cline-any cline-neutral">&nbsp;</span>
471
+ <span class="cline-any cline-neutral">&nbsp;</span>
313
472
  <span class="cline-any cline-yes">4x</span>
314
473
  <span class="cline-any cline-yes">4x</span>
474
+ <span class="cline-any cline-neutral">&nbsp;</span>
475
+ <span class="cline-any cline-yes">2x</span>
315
476
  <span class="cline-any cline-yes">2x</span>
316
477
  <span class="cline-any cline-neutral">&nbsp;</span>
478
+ <span class="cline-any cline-no">&nbsp;</span>
479
+ <span class="cline-any cline-no">&nbsp;</span>
480
+ <span class="cline-any cline-neutral">&nbsp;</span>
481
+ <span class="cline-any cline-no">&nbsp;</span>
482
+ <span class="cline-any cline-no">&nbsp;</span>
483
+ <span class="cline-any cline-neutral">&nbsp;</span>
484
+ <span class="cline-any cline-no">&nbsp;</span>
485
+ <span class="cline-any cline-no">&nbsp;</span>
486
+ <span class="cline-any cline-neutral">&nbsp;</span>
487
+ <span class="cline-any cline-no">&nbsp;</span>
488
+ <span class="cline-any cline-no">&nbsp;</span>
489
+ <span class="cline-any cline-neutral">&nbsp;</span>
490
+ <span class="cline-any cline-no">&nbsp;</span>
491
+ <span class="cline-any cline-no">&nbsp;</span>
492
+ <span class="cline-any cline-neutral">&nbsp;</span>
493
+ <span class="cline-any cline-yes">4x</span>
317
494
  <span class="cline-any cline-yes">4x</span>
318
495
  <span class="cline-any cline-yes">4x</span>
496
+ <span class="cline-any cline-yes">2x</span>
319
497
  <span class="cline-any cline-neutral">&nbsp;</span>
320
498
  <span class="cline-any cline-neutral">&nbsp;</span>
321
499
  <span class="cline-any cline-yes">4x</span>
@@ -333,17 +511,19 @@
333
511
  <span class="cline-any cline-neutral">&nbsp;</span>
334
512
  <span class="cline-any cline-neutral">&nbsp;</span>
335
513
  <span class="cline-any cline-neutral">&nbsp;</span>
336
- <span class="cline-any cline-yes">4x</span>
514
+ <span class="cline-any cline-neutral">&nbsp;</span>
337
515
  <span class="cline-any cline-yes">4x</span>
338
516
  <span class="cline-any cline-neutral">&nbsp;</span>
339
517
  <span class="cline-any cline-yes">1x</span>
518
+ <span class="cline-any cline-yes">1x</span>
340
519
  <span class="cline-any cline-neutral">&nbsp;</span>
341
520
  <span class="cline-any cline-yes">1x</span>
521
+ <span class="cline-any cline-yes">1x</span>
342
522
  <span class="cline-any cline-neutral">&nbsp;</span>
523
+ <span class="cline-any cline-yes">4x</span>
343
524
  <span class="cline-any cline-yes">2x</span>
344
525
  <span class="cline-any cline-neutral">&nbsp;</span>
345
526
  <span class="cline-any cline-neutral">&nbsp;</span>
346
- <span class="cline-any cline-neutral">&nbsp;</span>
347
527
  <span class="cline-any cline-yes">4x</span>
348
528
  <span class="cline-any cline-yes">1x</span>
349
529
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -357,38 +537,104 @@
357
537
  <span class="cline-any cline-neutral">&nbsp;</span>
358
538
  <span class="cline-any cline-neutral">&nbsp;</span>
359
539
  <span class="cline-any cline-yes">4x</span>
360
- <span class="cline-any cline-yes">4x</span>
361
540
  <span class="cline-any cline-neutral">&nbsp;</span>
362
- <span class="cline-any cline-yes">4x</span>
541
+ <span class="cline-any cline-no">&nbsp;</span>
542
+ <span class="cline-any cline-no">&nbsp;</span>
363
543
  <span class="cline-any cline-neutral">&nbsp;</span>
544
+ <span class="cline-any cline-no">&nbsp;</span>
545
+ <span class="cline-any cline-no">&nbsp;</span>
546
+ <span class="cline-any cline-neutral">&nbsp;</span>
547
+ <span class="cline-any cline-no">&nbsp;</span>
548
+ <span class="cline-any cline-no">&nbsp;</span>
364
549
  <span class="cline-any cline-neutral">&nbsp;</span>
550
+ <span class="cline-any cline-yes">2x</span>
551
+ <span class="cline-any cline-yes">2x</span>
365
552
  <span class="cline-any cline-neutral">&nbsp;</span>
366
553
  <span class="cline-any cline-no">&nbsp;</span>
367
554
  <span class="cline-any cline-no">&nbsp;</span>
368
555
  <span class="cline-any cline-neutral">&nbsp;</span>
556
+ <span class="cline-any cline-no">&nbsp;</span>
557
+ <span class="cline-any cline-no">&nbsp;</span>
369
558
  <span class="cline-any cline-neutral">&nbsp;</span>
370
559
  <span class="cline-any cline-neutral">&nbsp;</span>
560
+ <span class="cline-any cline-yes">4x</span>
561
+ <span class="cline-any cline-yes">4x</span>
562
+ <span class="cline-any cline-yes">2x</span>
371
563
  <span class="cline-any cline-neutral">&nbsp;</span>
372
564
  <span class="cline-any cline-neutral">&nbsp;</span>
565
+ <span class="cline-any cline-yes">4x</span>
373
566
  <span class="cline-any cline-neutral">&nbsp;</span>
374
567
  <span class="cline-any cline-neutral">&nbsp;</span>
375
- <span class="cline-any cline-no">&nbsp;</span>
376
- <span class="cline-any cline-no">&nbsp;</span>
377
- <span class="cline-any cline-no">&nbsp;</span>
378
- <span class="cline-any cline-no">&nbsp;</span>
379
568
  <span class="cline-any cline-neutral">&nbsp;</span>
380
569
  <span class="cline-any cline-neutral">&nbsp;</span>
381
570
  <span class="cline-any cline-neutral">&nbsp;</span>
382
- <span class="cline-any cline-no">&nbsp;</span>
571
+ <span class="cline-any cline-neutral">&nbsp;</span>
572
+ <span class="cline-any cline-neutral">&nbsp;</span>
573
+ <span class="cline-any cline-yes">4x</span>
574
+ <span class="cline-any cline-neutral">&nbsp;</span>
575
+ <span class="cline-any cline-neutral">&nbsp;</span>
576
+ <span class="cline-any cline-neutral">&nbsp;</span>
577
+ <span class="cline-any cline-neutral">&nbsp;</span>
578
+ <span class="cline-any cline-neutral">&nbsp;</span>
579
+ <span class="cline-any cline-neutral">&nbsp;</span>
580
+ <span class="cline-any cline-neutral">&nbsp;</span>
581
+ <span class="cline-any cline-yes">3x</span>
582
+ <span class="cline-any cline-neutral">&nbsp;</span>
583
+ <span class="cline-any cline-neutral">&nbsp;</span>
584
+ <span class="cline-any cline-neutral">&nbsp;</span>
585
+ <span class="cline-any cline-neutral">&nbsp;</span>
586
+ <span class="cline-any cline-neutral">&nbsp;</span>
587
+ <span class="cline-any cline-yes">3x</span>
588
+ <span class="cline-any cline-yes">7x</span>
589
+ <span class="cline-any cline-yes">7x</span>
590
+ <span class="cline-any cline-yes">7x</span>
591
+ <span class="cline-any cline-yes">4x</span>
592
+ <span class="cline-any cline-yes">2x</span>
593
+ <span class="cline-any cline-neutral">&nbsp;</span>
594
+ <span class="cline-any cline-yes">4x</span>
595
+ <span class="cline-any cline-yes">2x</span>
596
+ <span class="cline-any cline-neutral">&nbsp;</span>
597
+ <span class="cline-any cline-neutral">&nbsp;</span>
598
+ <span class="cline-any cline-yes">3x</span>
599
+ <span class="cline-any cline-neutral">&nbsp;</span>
600
+ <span class="cline-any cline-neutral">&nbsp;</span>
601
+ <span class="cline-any cline-neutral">&nbsp;</span>
602
+ <span class="cline-any cline-yes">3x</span>
603
+ <span class="cline-any cline-yes">3x</span>
604
+ <span class="cline-any cline-neutral">&nbsp;</span>
605
+ <span class="cline-any cline-neutral">&nbsp;</span>
606
+ <span class="cline-any cline-neutral">&nbsp;</span>
607
+ <span class="cline-any cline-neutral">&nbsp;</span>
608
+ <span class="cline-any cline-neutral">&nbsp;</span>
609
+ <span class="cline-any cline-neutral">&nbsp;</span>
610
+ <span class="cline-any cline-neutral">&nbsp;</span>
611
+ <span class="cline-any cline-neutral">&nbsp;</span>
612
+ <span class="cline-any cline-yes">3x</span>
613
+ <span class="cline-any cline-yes">1x</span>
614
+ <span class="cline-any cline-yes">2x</span>
615
+ <span class="cline-any cline-yes">1x</span>
616
+ <span class="cline-any cline-yes">1x</span>
617
+ <span class="cline-any cline-yes">1x</span>
618
+ <span class="cline-any cline-neutral">&nbsp;</span>
619
+ <span class="cline-any cline-yes">3x</span>
620
+ <span class="cline-any cline-yes">3x</span>
621
+ <span class="cline-any cline-yes">3x</span>
622
+ <span class="cline-any cline-neutral">&nbsp;</span>
623
+ <span class="cline-any cline-yes">3x</span>
624
+ <span class="cline-any cline-yes">3x</span>
625
+ <span class="cline-any cline-neutral">&nbsp;</span>
626
+ <span class="cline-any cline-yes">3x</span>
627
+ <span class="cline-any cline-neutral">&nbsp;</span>
628
+ <span class="cline-any cline-neutral">&nbsp;</span>
629
+ <span class="cline-any cline-neutral">&nbsp;</span>
383
630
  <span class="cline-any cline-neutral">&nbsp;</span>
384
631
  <span class="cline-any cline-neutral">&nbsp;</span>
385
632
  <span class="cline-any cline-neutral">&nbsp;</span>
386
633
  <span class="cline-any cline-neutral">&nbsp;</span>
387
- <span class="cline-any cline-no">&nbsp;</span>
388
634
  <span class="cline-any cline-neutral">&nbsp;</span>
389
- <span class="cline-any cline-no">&nbsp;</span>
390
635
  <span class="cline-any cline-neutral">&nbsp;</span>
391
636
  <span class="cline-any cline-neutral">&nbsp;</span>
637
+ <span class="cline-any cline-yes">13x</span>
392
638
  <span class="cline-any cline-neutral">&nbsp;</span>
393
639
  <span class="cline-any cline-neutral">&nbsp;</span>
394
640
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -415,6 +661,68 @@
415
661
  <span class="cline-any cline-neutral">&nbsp;</span>
416
662
  <span class="cline-any cline-neutral">&nbsp;</span>
417
663
  <span class="cline-any cline-neutral">&nbsp;</span>
664
+ <span class="cline-any cline-yes">13x</span>
665
+ <span class="cline-any cline-neutral">&nbsp;</span>
666
+ <span class="cline-any cline-yes">13x</span>
667
+ <span class="cline-any cline-yes">2x</span>
668
+ <span class="cline-any cline-neutral">&nbsp;</span>
669
+ <span class="cline-any cline-neutral">&nbsp;</span>
670
+ <span class="cline-any cline-yes">13x</span>
671
+ <span class="cline-any cline-yes">1x</span>
672
+ <span class="cline-any cline-neutral">&nbsp;</span>
673
+ <span class="cline-any cline-neutral">&nbsp;</span>
674
+ <span class="cline-any cline-yes">13x</span>
675
+ <span class="cline-any cline-yes">1x</span>
676
+ <span class="cline-any cline-yes">1x</span>
677
+ <span class="cline-any cline-yes">1x</span>
678
+ <span class="cline-any cline-neutral">&nbsp;</span>
679
+ <span class="cline-any cline-neutral">&nbsp;</span>
680
+ <span class="cline-any cline-yes">13x</span>
681
+ <span class="cline-any cline-yes">1x</span>
682
+ <span class="cline-any cline-neutral">&nbsp;</span>
683
+ <span class="cline-any cline-neutral">&nbsp;</span>
684
+ <span class="cline-any cline-yes">13x</span>
685
+ <span class="cline-any cline-yes">2x</span>
686
+ <span class="cline-any cline-neutral">&nbsp;</span>
687
+ <span class="cline-any cline-neutral">&nbsp;</span>
688
+ <span class="cline-any cline-yes">13x</span>
689
+ <span class="cline-any cline-yes">1x</span>
690
+ <span class="cline-any cline-neutral">&nbsp;</span>
691
+ <span class="cline-any cline-yes">13x</span>
692
+ <span class="cline-any cline-yes">1x</span>
693
+ <span class="cline-any cline-yes">1x</span>
694
+ <span class="cline-any cline-neutral">&nbsp;</span>
695
+ <span class="cline-any cline-yes">13x</span>
696
+ <span class="cline-any cline-yes">1x</span>
697
+ <span class="cline-any cline-neutral">&nbsp;</span>
698
+ <span class="cline-any cline-yes">13x</span>
699
+ <span class="cline-any cline-yes">4x</span>
700
+ <span class="cline-any cline-neutral">&nbsp;</span>
701
+ <span class="cline-any cline-neutral">&nbsp;</span>
702
+ <span class="cline-any cline-neutral">&nbsp;</span>
703
+ <span class="cline-any cline-neutral">&nbsp;</span>
704
+ <span class="cline-any cline-yes">13x</span>
705
+ <span class="cline-any cline-yes">3x</span>
706
+ <span class="cline-any cline-neutral">&nbsp;</span>
707
+ <span class="cline-any cline-yes">13x</span>
708
+ <span class="cline-any cline-yes">3x</span>
709
+ <span class="cline-any cline-neutral">&nbsp;</span>
710
+ <span class="cline-any cline-yes">13x</span>
711
+ <span class="cline-any cline-yes">2x</span>
712
+ <span class="cline-any cline-neutral">&nbsp;</span>
713
+ <span class="cline-any cline-neutral">&nbsp;</span>
714
+ <span class="cline-any cline-yes">13x</span>
715
+ <span class="cline-any cline-neutral">&nbsp;</span>
716
+ <span class="cline-any cline-yes">13x</span>
717
+ <span class="cline-any cline-yes">13x</span>
718
+ <span class="cline-any cline-neutral">&nbsp;</span>
719
+ <span class="cline-any cline-neutral">&nbsp;</span>
720
+ <span class="cline-any cline-neutral">&nbsp;</span>
721
+ <span class="cline-any cline-neutral">&nbsp;</span>
722
+ <span class="cline-any cline-neutral">&nbsp;</span>
723
+ <span class="cline-any cline-neutral">&nbsp;</span>
724
+ <span class="cline-any cline-yes">13x</span>
725
+ <span class="cline-any cline-neutral">&nbsp;</span>
418
726
  <span class="cline-any cline-neutral">&nbsp;</span>
419
727
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import _ from "lodash";
420
728
  &nbsp;
@@ -424,24 +732,25 @@
424
732
  */
425
733
  export default class Ingest {
426
734
  /**
427
- * [mapMetaToTags description]
428
- * @param {[type]} info [description]
429
- * @return {[type]} [description]
735
+ * Maps mediainfo metadata into ingest Tag format
736
+ * @param {*} info
737
+ * @param {*} mediaType
430
738
  */
431
- static mapMetaToTags(info, mediaType) {
432
- &nbsp;
433
- let tags = {
434
- Aspect: "",
435
- Standard: "",
436
- Resolution: "",
437
- Codec: "",
438
- "Frame Mode": "",
439
- Text: "",
440
- Usage: "",
739
+ static mapFromMediainfo(info, mediaType) {
740
+ let schema = {
741
+ Aspect: null,
742
+ Standard: null,
743
+ Resolution: null,
744
+ Codec: null,
745
+ "Frame Mode": null,
746
+ Text: null,
747
+ Usage: null,
441
748
  Extra: [],
442
- Framerate: "",
443
- Duration: ""
749
+ Framerate: null,
750
+ Duration: null
444
751
  };
752
+ &nbsp;
753
+ let tags = {};
445
754
  &nbsp;
446
755
  if (!info.File) {
447
756
  throw "missing info.File";
@@ -451,32 +760,35 @@ export default class Ingest {
451
760
  throw "missing info.File.track";
452
761
  }
453
762
  &nbsp;
454
- let general = _.find(info["File"]["track"], {
455
- _type: 'General'
456
- });
763
+ let general;
764
+ if (!Array.isArray(info["File"]["track"])) {
765
+ general = info["File"]["track"];
766
+ } else {
767
+ general = _.find(info["File"]["track"], { _type: "General" });
768
+ }
457
769
  &nbsp;
458
770
  switch (mediaType) {
459
- case 'video':
460
- mediaType = 'Video';
771
+ case "video":
772
+ mediaType = "Video";
461
773
  break;
462
- case 'image':
463
- mediaType = 'Image';
774
+ case "image":
775
+ mediaType = "Image";
464
776
  break;
465
777
  default:
466
- <span class="missing-if-branch" title="else path not taken" >E</span>if (general.Format == 'MXF') {
467
- tags.Usage = 'broadcast';
778
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (general.Format &amp;&amp; general.Format == "MXF") {
779
+ tags.Usage = "broadcast";
468
780
  }
469
781
  return tags;
470
782
  }
471
783
  &nbsp;
472
784
  let mediainfoDefaults = {
473
- Display_aspect_ratio: "",
785
+ DisplayAspectRatio: "",
474
786
  Format: "",
475
787
  Standard: "",
476
788
  Height: "",
477
789
  Width: "",
478
- Frame_rate: "",
479
- Scan_type: ""
790
+ FrameRate: "",
791
+ ScanType: ""
480
792
  };
481
793
  &nbsp;
482
794
  let media = _.find(info["File"]["track"], {
@@ -486,21 +798,41 @@ export default class Ingest {
486
798
  &nbsp;
487
799
  let width = parseInt(media["Width"].replace(" ", "").match(/[0-9 ]+/));
488
800
  let height = parseInt(media["Height"].replace(" ", "").match(/[0-9 ]+/));
489
- tags.Resolution = width &amp;&amp; height ? `${width}x${height}` : "";
490
- &nbsp;
491
- tags.Standard = media["Standard"] ? <span class="branch-0 cbranch-no" title="branch not covered" >media["Standard"].toLowerCase() </span>: "";
801
+ let Resolution = width &amp;&amp; height ? `${width}x${height}` : null;
802
+ if (Resolution) {
803
+ tags.Resolution = Resolution;
804
+ }
492
805
  &nbsp;
493
- let scan = /Progressive/.test(media["Scan_type"]) ? "p" : "i";
494
- let dimension = /3D/.test(name) ? <span class="branch-0 cbranch-no" title="branch not covered" >"3D" </span>: "2D";
806
+ let Standard = media["Standard"] ? <span class="branch-0 cbranch-no" title="branch not covered" >media["Standard"].toLowerCase() </span>: null;
807
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (Standard) {
808
+ <span class="cstat-no" title="statement not covered" > tags.Standard = Standard;</span>
809
+ }
495
810
  &nbsp;
496
- let framerate = media["Frame_rate"].split(" ");
497
- <span class="missing-if-branch" title="else path not taken" >E</span>if (framerate.length) {
498
- let f = framerate[0];
499
- if (f == "23.976") {
500
- f = "23.98";
501
- }
502
- f = parseFloat(f).toString();
503
- tags.Framerate = f != "NaN" ? f : "";
811
+ let framerate = media["FrameRate"];
812
+ switch (framerate) {
813
+ case "23.976":
814
+ framerate = "23.98";
815
+ break;
816
+ <span class="branch-1 cbranch-no" title="branch not covered" > case "24.000":</span>
817
+ <span class="cstat-no" title="statement not covered" > framerate = "24";</span>
818
+ <span class="cstat-no" title="statement not covered" > break;</span>
819
+ <span class="branch-2 cbranch-no" title="branch not covered" > case "25.000":</span>
820
+ <span class="cstat-no" title="statement not covered" > framerate = "25";</span>
821
+ <span class="cstat-no" title="statement not covered" > break;</span>
822
+ <span class="branch-3 cbranch-no" title="branch not covered" > case "29.970":</span>
823
+ <span class="cstat-no" title="statement not covered" > framerate = "29.97";</span>
824
+ <span class="cstat-no" title="statement not covered" > break;</span>
825
+ <span class="branch-4 cbranch-no" title="branch not covered" > case "50.000":</span>
826
+ <span class="cstat-no" title="statement not covered" > framerate = "50";</span>
827
+ <span class="cstat-no" title="statement not covered" > break;</span>
828
+ <span class="branch-5 cbranch-no" title="branch not covered" > case "59.940":</span>
829
+ <span class="cstat-no" title="statement not covered" > framerate = "59.94";</span>
830
+ <span class="cstat-no" title="statement not covered" > break;</span>
831
+ }
832
+ framerate = parseFloat(framerate).toString();
833
+ framerate = framerate != "NaN" ? framerate : null;
834
+ if (framerate) {
835
+ tags.Framerate = framerate;
504
836
  }
505
837
  &nbsp;
506
838
  <span class="missing-if-branch" title="else path not taken" >E</span>if (!tags.Standard) {
@@ -518,16 +850,18 @@ export default class Ingest {
518
850
  }
519
851
  }
520
852
  &nbsp;
521
- tags.Codec = (function(codec) {
522
- switch (codec) {
523
- case "AVC":
524
- return "h264";
525
- case "ProRes":
526
- return "prores";
527
- default:
528
- return "";
529
- }
530
- })(media["Format"]);
853
+ let Codec;
854
+ switch (media["Format"]) {
855
+ case "AVC":
856
+ Codec = "h264";
857
+ break;
858
+ case "ProRes":
859
+ Codec = "prores";
860
+ break;
861
+ }
862
+ if (Codec) {
863
+ tags.Codec = Codec;
864
+ }
531
865
  &nbsp;
532
866
  if (tags.Codec == "h264") {
533
867
  tags.Usage = "online";
@@ -537,77 +871,205 @@ export default class Ingest {
537
871
  tags.Usage = "broadcast";
538
872
  }
539
873
  &nbsp;
540
- <span class="missing-if-branch" title="if path not taken" >I</span>if (general &amp;&amp; general['Format'] == 'MXF') {
541
- <span class="cstat-no" title="statement not covered" > tags.Usage = 'broadcast';</span>
874
+ <span class="missing-if-branch" title="if path not taken" >I</span>if (general &amp;&amp; general["Format"] == "MXF") {
875
+ <span class="cstat-no" title="statement not covered" > tags.Usage = "broadcast";</span>
542
876
  }
543
877
  &nbsp;
544
- tags.Aspect = media["Display_aspect_ratio"] || "";
545
- tags["Frame Mode"] = media["Scan_type"].toLowerCase();
546
- &nbsp;
547
- return tags;
548
- }
549
- <span class="fstat-no" title="function not covered" > st</span>atic mapFromKnownData(context, order, tags, watermarks = <span class="branch-0 cbranch-no" title="branch not covered" >[])</span> {
550
- &nbsp;
551
- <span class="cstat-no" title="statement not covered" > if (order.asset) {</span>
552
- <span class="cstat-no" title="statement not covered" > context = {</span>
553
- asset: order.asset._id,
554
- project: order.project._id,
555
- assetType: order.assetType,
556
- purpose: "download"
557
- };
878
+ switch (media["DisplayAspectRatio"]) {
879
+ <span class="branch-0 cbranch-no" title="branch not covered" > case "1.000":</span>
880
+ <span class="cstat-no" title="statement not covered" > tags.Aspect = "1:1";</span>
881
+ <span class="cstat-no" title="statement not covered" > break;</span>
882
+ <span class="branch-1 cbranch-no" title="branch not covered" > case "1.347":</span>
883
+ <span class="cstat-no" title="statement not covered" > tags.Aspect = "4:3";</span>
884
+ <span class="cstat-no" title="statement not covered" > break;</span>
885
+ <span class="branch-2 cbranch-no" title="branch not covered" > case "1.756":</span>
886
+ <span class="cstat-no" title="statement not covered" > tags.Aspect = "16:9";</span>
887
+ <span class="cstat-no" title="statement not covered" > break;</span>
888
+ case "1.778":
889
+ tags.Aspect = "16:9";
890
+ break;
891
+ <span class="branch-4 cbranch-no" title="branch not covered" > case "1.366":</span>
892
+ <span class="cstat-no" title="statement not covered" > tags.Aspect = "4:3";</span>
893
+ <span class="cstat-no" title="statement not covered" > break;</span>
894
+ <span class="branch-5 cbranch-no" title="branch not covered" > case "0.562":</span>
895
+ <span class="cstat-no" title="statement not covered" > tags.Aspect = "9:16";</span>
896
+ <span class="cstat-no" title="statement not covered" > break;</span>
558
897
  }
559
898
  &nbsp;
560
- let previewType = <span class="cstat-no" title="statement not covered" >(<span class="fstat-no" title="function not covered" >fu</span>nction() {</span>
561
- <span class="cstat-no" title="statement not covered" > if (order.isSub() &amp;&amp; order.isDub()) <span class="cstat-no" title="statement not covered" >return "both";</span></span>
562
- <span class="cstat-no" title="statement not covered" > if (order.isDub()) <span class="cstat-no" title="statement not covered" >return "dub";</span></span>
563
- <span class="cstat-no" title="statement not covered" > if (order.isSub()) <span class="cstat-no" title="statement not covered" >return "sub";</span></span>
564
- })();
899
+ let ScanType = media["ScanType"].toLowerCase() || null;
900
+ if (ScanType) {
901
+ tags["Frame Mode"] = ScanType;
902
+ }
565
903
  &nbsp;
566
- let isPreviewEnabled =
567
- <span class="cstat-no" title="statement not covered" > (tags.Codec == "prores" &amp;&amp;</span>
568
- tags.Resolution.split("x")[1] == "1080" &amp;&amp;
569
- (tags.Framerate == "23.98" || tags.Framerate == "25") &amp;&amp;
570
- watermarks.length) || null;
904
+ let ingest = {
905
+ selected: {
906
+ download: {
907
+ tags: tags
908
+ }
909
+ }
910
+ };
571
911
  &nbsp;
572
- let watermark = <span class="cstat-no" title="statement not covered" >watermarks[0] ? watermarks[0]._id : "";</span>
912
+ return ingest;
913
+ }
914
+ /**
915
+ * Maps parsed filename data to a partial ingest record for later merging
916
+ * @param {*} filename
917
+ * @param {*} allTags
918
+ */
919
+ static mapFromFilename(filename, allTags) {
920
+ let tags = {
921
+ SubDub: {
922
+ sub: null,
923
+ dub: null
924
+ }
925
+ };
926
+ filename.file.tags.forEach(tag =&gt; {
927
+ let foundTag = _.find(allTags, { name: tag });
928
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (foundTag) {
929
+ if (foundTag.type == 'SubDub') {
930
+ if (foundTag.name == 'sub') {
931
+ tags.SubDub.sub = true;
932
+ }
933
+ if (foundTag.name == 'dub') {
934
+ tags.SubDub.dub = true;
935
+ }
936
+ } else {
937
+ tags[foundTag.type] = foundTag.name;
938
+ }
939
+ }
940
+ });
941
+ tags.Extra = filename.extra;
942
+ let ingest = {
943
+ selected: {
944
+ download: {
945
+ tags: tags
946
+ },
947
+ preview: {
948
+ }
949
+ }
950
+ };
951
+ if (filename.file.tags.includes('sub') &amp;&amp; filename.file.tags.includes('dub')) {
952
+ ingest.selected.preview.type = 'both';
953
+ } else if (filename.file.tags.includes('sub')) {
954
+ ingest.selected.preview.type = 'sub';
955
+ } else <span class="missing-if-branch" title="else path not taken" >E</span>if (filename.file.tags.includes('dub')) {
956
+ ingest.selected.preview.type = 'dub';
957
+ }
958
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (filename.file.language) {
959
+ ingest.selected.preview.language = filename.file.language;
960
+ ingest.selected.download.language = filename.file.language;
961
+ }
962
+ <span class="missing-if-branch" title="else path not taken" >E</span>if (filename.file.country) {
963
+ ingest.selected.download.country = filename.file.country;
964
+ }
965
+ return ingest;
966
+ }
967
+ /**
968
+ * Assembles Ingest based on weighted rules
969
+ * @param {*} context
970
+ * @param {*} filename
971
+ * @param {*} mediainfo
972
+ * @param {*} order
973
+ */
974
+ static assemble(original, filename, mediainfo, order, watermarks = []) {
573
975
  &nbsp;
574
- <span class="cstat-no" title="statement not covered" > return {</span>
976
+ let defaults = {
575
977
  workRequest: order._id,
576
978
  selected: {
577
979
  download: {
578
980
  enabled: true,
579
- country: order.country,
580
- language: order.language,
581
- tags: tags,
981
+ tags: {
982
+ Extra: []
983
+ },
582
984
  embargo: {
583
985
  enabled: false
584
986
  }
585
987
  },
586
988
  preview: {
587
- enabled: isPreviewEnabled,
588
- language: order.language,
589
- revision: "Final",
590
- type: previewType,
591
- watermark: watermark,
989
+ enabled: false,
990
+ revision: 'Final',
991
+ type: 'none',
592
992
  embargo: {
593
993
  enabled: false
594
994
  }
595
995
  },
596
996
  thumbnail: {
597
- enabled: false
997
+ enabled: false,
998
+ position: 50
598
999
  }
599
- },
600
- context: context
1000
+ }
601
1001
  };
1002
+ &nbsp;
1003
+ let ingest = _.merge(defaults, original, filename, mediainfo);
1004
+ &nbsp;
1005
+ if (original.asset &amp;&amp; original.asset.creative) {
1006
+ ingest.selected.preview.revision = 'Unfinished';
1007
+ }
1008
+ &nbsp;
1009
+ if (!original.context.asset &amp;&amp; filename.asset &amp;&amp; filename.asset._id) {
1010
+ ingest.selected.asset = filename.asset._id;
1011
+ }
1012
+ &nbsp;
1013
+ if (ingest.workRequest) {
1014
+ ingest.selected.project = ingest.context.project;
1015
+ ingest.selected.asset = ingest.context.asset;
1016
+ ingest.selected.assetType = ingest.context.assetType;
1017
+ }
1018
+ &nbsp;
1019
+ if (ingest.workRequest) {
1020
+ ingest.selected.download.tags.Extra = [];
1021
+ }
1022
+ &nbsp;
1023
+ if (original.context.tag) {
1024
+ ingest.selected.download.tags.Extra = [original.context.tag];
1025
+ }
1026
+ &nbsp;
1027
+ if (order.territory) {
1028
+ ingest.selected.download.country = order.territory;
1029
+ }
1030
+ if (order.language) {
1031
+ ingest.selected.preview.language = order.language;
1032
+ ingest.selected.download.language = order.language;
1033
+ }
1034
+ if (order._id) {
1035
+ ingest.selected.download.tags.Text = 'txtd';
1036
+ }
1037
+ if (order.isSub() || order.isDub()) {
1038
+ ingest.selected.download.tags.SubDub = {
1039
+ sub: order.isSub(),
1040
+ dub: order.isDub()
1041
+ }
1042
+ }
1043
+ if (order.isSub()) {
1044
+ ingest.selected.preview.type = "sub";
1045
+ }
1046
+ if (order.isDub()) {
1047
+ ingest.selected.preview.type = "dub";
1048
+ }
1049
+ if (order.isSub() &amp;&amp; order.isDub()) {
1050
+ ingest.selected.preview.type = "both";
1051
+ }
1052
+ &nbsp;
1053
+ ingest.selected.preview.watermark = watermarks[0] ? watermarks[0]._id : "";
1054
+ &nbsp;
1055
+ let tags = ingest.selected.download.tags;
1056
+ ingest.selected.preview.enabled =
1057
+ !!(tags.Codec == "prores" &amp;&amp;
1058
+ tags.Resolution.split("x")[1] == "1080" &amp;&amp;
1059
+ (tags.Framerate == "23.98" || <span class="branch-3 cbranch-no" title="branch not covered" >tags.Framerate == "25")</span> &amp;&amp;
1060
+ watermarks.length) ||
1061
+ false;
1062
+ &nbsp;
1063
+ return ingest;
602
1064
  }
603
1065
  }
604
- </pre></td></tr>
1066
+ &nbsp;</pre></td></tr>
605
1067
  </table></pre>
606
1068
  <div class='push'></div><!-- for sticky footer -->
607
1069
  </div><!-- /wrapper -->
608
1070
  <div class='footer quiet pad2 space-top1 center small'>
609
1071
  Code coverage
610
- generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Mon Jul 16 2018 16:41:49 GMT-0500 (Central Daylight Time)
1072
+ generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Sat Jul 27 2019 16:56:44 GMT-0500 (Central Daylight Time)
611
1073
  </div>
612
1074
  </div>
613
1075
  <script src="prettify.js"></script>