@pixwel/pixwel-sdk 2.1.30 → 2.1.32
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/coverage/clover.xml +494 -506
- package/coverage/coverage-final.json +15 -15
- package/coverage/lcov-report/Ass.js.html +228 -228
- package/coverage/lcov-report/Asset.js.html +27 -27
- package/coverage/lcov-report/AssetType.js.html +1 -1
- package/coverage/lcov-report/Encode.js.html +1 -1
- package/coverage/lcov-report/File.js.html +1 -1
- package/coverage/lcov-report/Filename.js.html +1 -1
- package/coverage/lcov-report/Ingest.js.html +122 -95
- package/coverage/lcov-report/IngestFile.js.html +1 -1
- package/coverage/lcov-report/Model.js.html +136 -136
- package/coverage/lcov-report/Order.js.html +28 -28
- package/coverage/lcov-report/Srt.js.html +108 -108
- package/coverage/lcov-report/Sub.js.html +47 -47
- package/coverage/lcov-report/Tag.js.html +1 -1
- package/coverage/lcov-report/TimeFormat.js.html +62 -62
- package/coverage/lcov-report/fileType.js.html +4 -4
- package/coverage/lcov-report/index.html +87 -87
- package/coverage/lcov.info +942 -963
- package/dist/src/Ingest.js +38 -13
- package/package.json +1 -1
- package/src/Ingest.js +33 -24
- package/test/Ingest.spec.js +269 -60
|
@@ -20,28 +20,28 @@
|
|
|
20
20
|
</h1>
|
|
21
21
|
<div class='clearfix'>
|
|
22
22
|
<div class='fl pad1y space-right2'>
|
|
23
|
-
<span class="strong">
|
|
23
|
+
<span class="strong">95.92% </span>
|
|
24
24
|
<span class="quiet">Statements</span>
|
|
25
|
-
<span class='fraction'>
|
|
25
|
+
<span class='fraction'>94/98</span>
|
|
26
26
|
</div>
|
|
27
27
|
<div class='fl pad1y space-right2'>
|
|
28
|
-
<span class="strong">
|
|
28
|
+
<span class="strong">77.55% </span>
|
|
29
29
|
<span class="quiet">Branches</span>
|
|
30
|
-
<span class='fraction'>
|
|
30
|
+
<span class='fraction'>38/49</span>
|
|
31
31
|
</div>
|
|
32
32
|
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">
|
|
33
|
+
<span class="strong">100% </span>
|
|
34
34
|
<span class="quiet">Functions</span>
|
|
35
|
-
<span class='fraction'>
|
|
35
|
+
<span class='fraction'>11/11</span>
|
|
36
36
|
</div>
|
|
37
37
|
<div class='fl pad1y space-right2'>
|
|
38
|
-
<span class="strong">
|
|
38
|
+
<span class="strong">95.92% </span>
|
|
39
39
|
<span class="quiet">Lines</span>
|
|
40
|
-
<span class='fraction'>
|
|
40
|
+
<span class='fraction'>94/98</span>
|
|
41
41
|
</div>
|
|
42
42
|
</div>
|
|
43
43
|
</div>
|
|
44
|
-
<div class='status-line
|
|
44
|
+
<div class='status-line high'></div>
|
|
45
45
|
<pre><table class="coverage">
|
|
46
46
|
<tr><td class="line-count quiet">1
|
|
47
47
|
2
|
|
@@ -239,399 +239,399 @@
|
|
|
239
239
|
194
|
|
240
240
|
195</td><td class="line-coverage quiet"><span class="cline-any cline-neutral"> </span>
|
|
241
241
|
<span class="cline-any cline-neutral"> </span>
|
|
242
|
-
<span class="cline-any cline-no"> </span>
|
|
243
242
|
<span class="cline-any cline-neutral"> </span>
|
|
244
243
|
<span class="cline-any cline-neutral"> </span>
|
|
244
|
+
<span class="cline-any cline-yes">27x</span>
|
|
245
245
|
<span class="cline-any cline-neutral"> </span>
|
|
246
|
-
<span class="cline-any cline-no"> </span>
|
|
247
246
|
<span class="cline-any cline-neutral"> </span>
|
|
248
|
-
<span class="cline-any cline-no"> </span>
|
|
249
247
|
<span class="cline-any cline-neutral"> </span>
|
|
250
|
-
<span class="cline-any cline-
|
|
248
|
+
<span class="cline-any cline-yes">50x</span>
|
|
249
|
+
<span class="cline-any cline-yes">50x</span>
|
|
251
250
|
<span class="cline-any cline-neutral"> </span>
|
|
252
|
-
<span class="cline-any cline-
|
|
251
|
+
<span class="cline-any cline-yes">50x</span>
|
|
252
|
+
<span class="cline-any cline-yes">127x</span>
|
|
253
|
+
<span class="cline-any cline-yes">127x</span>
|
|
254
|
+
<span class="cline-any cline-yes">37x</span>
|
|
253
255
|
<span class="cline-any cline-neutral"> </span>
|
|
254
|
-
<span class="cline-any cline-no"> </span>
|
|
255
256
|
<span class="cline-any cline-neutral"> </span>
|
|
257
|
+
<span class="cline-any cline-yes">13x</span>
|
|
256
258
|
<span class="cline-any cline-neutral"> </span>
|
|
257
|
-
<span class="cline-any cline-no"> </span>
|
|
258
259
|
<span class="cline-any cline-neutral"> </span>
|
|
259
260
|
<span class="cline-any cline-neutral"> </span>
|
|
261
|
+
<span class="cline-any cline-yes">8x</span>
|
|
260
262
|
<span class="cline-any cline-neutral"> </span>
|
|
261
|
-
<span class="cline-any cline-
|
|
262
|
-
<span class="cline-any cline-no"> </span>
|
|
263
|
+
<span class="cline-any cline-yes">8x</span>
|
|
263
264
|
<span class="cline-any cline-neutral"> </span>
|
|
264
|
-
<span class="cline-any cline-
|
|
265
|
-
<span class="cline-any cline-
|
|
266
|
-
<span class="cline-any cline-no"> </span>
|
|
267
|
-
<span class="cline-any cline-no"> </span>
|
|
265
|
+
<span class="cline-any cline-yes">8x</span>
|
|
266
|
+
<span class="cline-any cline-yes">3x</span>
|
|
268
267
|
<span class="cline-any cline-neutral"> </span>
|
|
269
268
|
<span class="cline-any cline-neutral"> </span>
|
|
270
|
-
<span class="cline-any cline-
|
|
269
|
+
<span class="cline-any cline-yes">5x</span>
|
|
271
270
|
<span class="cline-any cline-neutral"> </span>
|
|
271
|
+
<span class="cline-any cline-yes">5x</span>
|
|
272
|
+
<span class="cline-any cline-no"> </span>
|
|
272
273
|
<span class="cline-any cline-neutral"> </span>
|
|
273
274
|
<span class="cline-any cline-neutral"> </span>
|
|
275
|
+
<span class="cline-any cline-yes">5x</span>
|
|
276
|
+
<span class="cline-any cline-yes">5x</span>
|
|
277
|
+
<span class="cline-any cline-yes">5x</span>
|
|
278
|
+
<span class="cline-any cline-yes">5x</span>
|
|
274
279
|
<span class="cline-any cline-neutral"> </span>
|
|
280
|
+
<span class="cline-any cline-yes">5x</span>
|
|
275
281
|
<span class="cline-any cline-no"> </span>
|
|
276
282
|
<span class="cline-any cline-neutral"> </span>
|
|
277
|
-
<span class="cline-any cline-no"> </span>
|
|
278
283
|
<span class="cline-any cline-neutral"> </span>
|
|
279
|
-
<span class="cline-any cline-
|
|
280
|
-
<span class="cline-any cline-no"> </span>
|
|
284
|
+
<span class="cline-any cline-yes">5x</span>
|
|
281
285
|
<span class="cline-any cline-neutral"> </span>
|
|
286
|
+
<span class="cline-any cline-yes">5x</span>
|
|
282
287
|
<span class="cline-any cline-neutral"> </span>
|
|
283
|
-
<span class="cline-any cline-
|
|
288
|
+
<span class="cline-any cline-yes">5x</span>
|
|
289
|
+
<span class="cline-any cline-yes">8x</span>
|
|
284
290
|
<span class="cline-any cline-neutral"> </span>
|
|
285
|
-
<span class="cline-any cline-
|
|
286
|
-
<span class="cline-any cline-
|
|
291
|
+
<span class="cline-any cline-yes">8x</span>
|
|
292
|
+
<span class="cline-any cline-yes">8x</span>
|
|
293
|
+
<span class="cline-any cline-yes">1x</span>
|
|
287
294
|
<span class="cline-any cline-neutral"> </span>
|
|
295
|
+
<span class="cline-any cline-yes">7x</span>
|
|
296
|
+
<span class="cline-any cline-yes">7x</span>
|
|
297
|
+
<span class="cline-any cline-yes">7x</span>
|
|
298
|
+
<span class="cline-any cline-yes">7x</span>
|
|
299
|
+
<span class="cline-any cline-yes">7x</span>
|
|
288
300
|
<span class="cline-any cline-neutral"> </span>
|
|
289
|
-
<span class="cline-any cline-
|
|
290
|
-
<span class="cline-any cline-no"> </span>
|
|
291
|
-
<span class="cline-any cline-no"> </span>
|
|
292
|
-
<span class="cline-any cline-no"> </span>
|
|
301
|
+
<span class="cline-any cline-yes">7x</span>
|
|
293
302
|
<span class="cline-any cline-neutral"> </span>
|
|
294
|
-
<span class="cline-any cline-
|
|
295
|
-
<span class="cline-any cline-no"> </span>
|
|
303
|
+
<span class="cline-any cline-yes">7x</span>
|
|
296
304
|
<span class="cline-any cline-neutral"> </span>
|
|
305
|
+
<span class="cline-any cline-yes">4x</span>
|
|
297
306
|
<span class="cline-any cline-neutral"> </span>
|
|
298
|
-
<span class="cline-any cline-no"> </span>
|
|
299
307
|
<span class="cline-any cline-neutral"> </span>
|
|
300
|
-
<span class="cline-any cline-no"> </span>
|
|
301
308
|
<span class="cline-any cline-neutral"> </span>
|
|
302
|
-
<span class="cline-any cline-no"> </span>
|
|
303
|
-
<span class="cline-any cline-no"> </span>
|
|
304
309
|
<span class="cline-any cline-neutral"> </span>
|
|
305
|
-
<span class="cline-any cline-no"> </span>
|
|
306
|
-
<span class="cline-any cline-no"> </span>
|
|
307
|
-
<span class="cline-any cline-no"> </span>
|
|
308
310
|
<span class="cline-any cline-neutral"> </span>
|
|
309
|
-
<span class="cline-any cline-
|
|
310
|
-
<span class="cline-any cline-no"> </span>
|
|
311
|
-
<span class="cline-any cline-no"> </span>
|
|
312
|
-
<span class="cline-any cline-no"> </span>
|
|
313
|
-
<span class="cline-any cline-no"> </span>
|
|
311
|
+
<span class="cline-any cline-yes">8x</span>
|
|
314
312
|
<span class="cline-any cline-neutral"> </span>
|
|
315
|
-
<span class="cline-any cline-no"> </span>
|
|
316
313
|
<span class="cline-any cline-neutral"> </span>
|
|
317
|
-
<span class="cline-any cline-
|
|
314
|
+
<span class="cline-any cline-yes">18x</span>
|
|
315
|
+
<span class="cline-any cline-yes">18x</span>
|
|
318
316
|
<span class="cline-any cline-neutral"> </span>
|
|
319
|
-
<span class="cline-any cline-
|
|
317
|
+
<span class="cline-any cline-yes">18x</span>
|
|
320
318
|
<span class="cline-any cline-neutral"> </span>
|
|
321
319
|
<span class="cline-any cline-neutral"> </span>
|
|
322
|
-
<span class="cline-any cline-no"> </span>
|
|
323
320
|
<span class="cline-any cline-neutral"> </span>
|
|
321
|
+
<span class="cline-any cline-yes">9x</span>
|
|
324
322
|
<span class="cline-any cline-neutral"> </span>
|
|
325
|
-
<span class="cline-any cline-
|
|
323
|
+
<span class="cline-any cline-yes">3x</span>
|
|
326
324
|
<span class="cline-any cline-neutral"> </span>
|
|
327
325
|
<span class="cline-any cline-neutral"> </span>
|
|
328
|
-
<span class="cline-any cline-no"> </span>
|
|
329
|
-
<span class="cline-any cline-no"> </span>
|
|
330
326
|
<span class="cline-any cline-neutral"> </span>
|
|
331
|
-
<span class="cline-any cline-
|
|
327
|
+
<span class="cline-any cline-yes">8x</span>
|
|
332
328
|
<span class="cline-any cline-neutral"> </span>
|
|
329
|
+
<span class="cline-any cline-yes">7x</span>
|
|
333
330
|
<span class="cline-any cline-neutral"> </span>
|
|
331
|
+
<span class="cline-any cline-yes">7x</span>
|
|
332
|
+
<span class="cline-any cline-yes">2x</span>
|
|
334
333
|
<span class="cline-any cline-neutral"> </span>
|
|
335
|
-
<span class="cline-any cline-no"> </span>
|
|
336
|
-
<span class="cline-any cline-no"> </span>
|
|
337
334
|
<span class="cline-any cline-neutral"> </span>
|
|
335
|
+
<span class="cline-any cline-yes">5x</span>
|
|
338
336
|
<span class="cline-any cline-neutral"> </span>
|
|
337
|
+
<span class="cline-any cline-yes">5x</span>
|
|
338
|
+
<span class="cline-any cline-yes">1x</span>
|
|
339
339
|
<span class="cline-any cline-neutral"> </span>
|
|
340
|
-
<span class="cline-any cline-no"> </span>
|
|
341
340
|
<span class="cline-any cline-neutral"> </span>
|
|
342
|
-
<span class="cline-any cline-
|
|
341
|
+
<span class="cline-any cline-yes">4x</span>
|
|
342
|
+
<span class="cline-any cline-yes">4x</span>
|
|
343
|
+
<span class="cline-any cline-yes">4x</span>
|
|
344
|
+
<span class="cline-any cline-yes">4x</span>
|
|
345
|
+
<span class="cline-any cline-yes">4x</span>
|
|
346
|
+
<span class="cline-any cline-yes">4x</span>
|
|
343
347
|
<span class="cline-any cline-neutral"> </span>
|
|
344
|
-
<span class="cline-any cline-
|
|
348
|
+
<span class="cline-any cline-yes">4x</span>
|
|
345
349
|
<span class="cline-any cline-no"> </span>
|
|
346
350
|
<span class="cline-any cline-neutral"> </span>
|
|
347
351
|
<span class="cline-any cline-neutral"> </span>
|
|
348
|
-
<span class="cline-any cline-
|
|
352
|
+
<span class="cline-any cline-yes">4x</span>
|
|
353
|
+
<span class="cline-any cline-yes">4x</span>
|
|
349
354
|
<span class="cline-any cline-neutral"> </span>
|
|
350
|
-
<span class="cline-any cline-
|
|
351
|
-
<span class="cline-any cline-no"> </span>
|
|
355
|
+
<span class="cline-any cline-yes">4x</span>
|
|
352
356
|
<span class="cline-any cline-neutral"> </span>
|
|
357
|
+
<span class="cline-any cline-yes">4x</span>
|
|
358
|
+
<span class="cline-any cline-yes">10x</span>
|
|
359
|
+
<span class="cline-any cline-yes">10x</span>
|
|
360
|
+
<span class="cline-any cline-yes">10x</span>
|
|
361
|
+
<span class="cline-any cline-yes">1x</span>
|
|
353
362
|
<span class="cline-any cline-neutral"> </span>
|
|
354
|
-
<span class="cline-any cline-
|
|
355
|
-
<span class="cline-any cline-
|
|
356
|
-
<span class="cline-any cline-no"> </span>
|
|
357
|
-
<span class="cline-any cline-no"> </span>
|
|
358
|
-
<span class="cline-any cline-no"> </span>
|
|
359
|
-
<span class="cline-any cline-no"> </span>
|
|
363
|
+
<span class="cline-any cline-yes">9x</span>
|
|
364
|
+
<span class="cline-any cline-yes">9x</span>
|
|
360
365
|
<span class="cline-any cline-neutral"> </span>
|
|
361
|
-
<span class="cline-any cline-no"> </span>
|
|
362
|
-
<span class="cline-any cline-no"> </span>
|
|
363
366
|
<span class="cline-any cline-neutral"> </span>
|
|
364
367
|
<span class="cline-any cline-neutral"> </span>
|
|
365
|
-
<span class="cline-any cline-no"> </span>
|
|
366
|
-
<span class="cline-any cline-no"> </span>
|
|
367
368
|
<span class="cline-any cline-neutral"> </span>
|
|
368
|
-
<span class="cline-any cline-no"> </span>
|
|
369
369
|
<span class="cline-any cline-neutral"> </span>
|
|
370
|
-
<span class="cline-any cline-
|
|
371
|
-
<span class="cline-any cline-
|
|
372
|
-
<span class="cline-any cline-
|
|
373
|
-
<span class="cline-any cline-
|
|
374
|
-
<span class="cline-any cline-no"> </span>
|
|
370
|
+
<span class="cline-any cline-yes">9x</span>
|
|
371
|
+
<span class="cline-any cline-yes">9x</span>
|
|
372
|
+
<span class="cline-any cline-yes">9x</span>
|
|
373
|
+
<span class="cline-any cline-yes">9x</span>
|
|
375
374
|
<span class="cline-any cline-neutral"> </span>
|
|
376
|
-
<span class="cline-any cline-no"> </span>
|
|
377
|
-
<span class="cline-any cline-no"> </span>
|
|
378
375
|
<span class="cline-any cline-neutral"> </span>
|
|
376
|
+
<span class="cline-any cline-yes">9x</span>
|
|
379
377
|
<span class="cline-any cline-neutral"> </span>
|
|
378
|
+
<span class="cline-any cline-yes">9x</span>
|
|
380
379
|
<span class="cline-any cline-neutral"> </span>
|
|
380
|
+
<span class="cline-any cline-yes">3x</span>
|
|
381
381
|
<span class="cline-any cline-neutral"> </span>
|
|
382
382
|
<span class="cline-any cline-neutral"> </span>
|
|
383
|
-
<span class="cline-any cline-
|
|
384
|
-
<span class="cline-any cline-no"> </span>
|
|
385
|
-
<span class="cline-any cline-no"> </span>
|
|
386
|
-
<span class="cline-any cline-no"> </span>
|
|
383
|
+
<span class="cline-any cline-yes">4x</span>
|
|
387
384
|
<span class="cline-any cline-neutral"> </span>
|
|
385
|
+
<span class="cline-any cline-yes">4x</span>
|
|
388
386
|
<span class="cline-any cline-neutral"> </span>
|
|
389
|
-
<span class="cline-any cline-
|
|
387
|
+
<span class="cline-any cline-yes">4x</span>
|
|
390
388
|
<span class="cline-any cline-neutral"> </span>
|
|
391
|
-
<span class="cline-any cline-no"> </span>
|
|
392
389
|
<span class="cline-any cline-neutral"> </span>
|
|
393
|
-
<span class="cline-any cline-no"> </span>
|
|
394
390
|
<span class="cline-any cline-neutral"> </span>
|
|
395
391
|
<span class="cline-any cline-neutral"> </span>
|
|
396
|
-
<span class="cline-any cline-
|
|
392
|
+
<span class="cline-any cline-yes">4x</span>
|
|
393
|
+
<span class="cline-any cline-yes">4x</span>
|
|
397
394
|
<span class="cline-any cline-neutral"> </span>
|
|
398
|
-
<span class="cline-any cline-
|
|
395
|
+
<span class="cline-any cline-yes">4x</span>
|
|
396
|
+
<span class="cline-any cline-yes">4x</span>
|
|
397
|
+
<span class="cline-any cline-yes">4x</span>
|
|
398
|
+
<span class="cline-any cline-yes">4x</span>
|
|
399
399
|
<span class="cline-any cline-neutral"> </span>
|
|
400
|
-
<span class="cline-any cline-
|
|
400
|
+
<span class="cline-any cline-yes">4x</span>
|
|
401
|
+
<span class="cline-any cline-yes">4x</span>
|
|
401
402
|
<span class="cline-any cline-neutral"> </span>
|
|
402
403
|
<span class="cline-any cline-neutral"> </span>
|
|
404
|
+
<span class="cline-any cline-yes">24x</span>
|
|
405
|
+
<span class="cline-any cline-yes">24x</span>
|
|
403
406
|
<span class="cline-any cline-neutral"> </span>
|
|
407
|
+
<span class="cline-any cline-yes">24x</span>
|
|
404
408
|
<span class="cline-any cline-neutral"> </span>
|
|
405
|
-
<span class="cline-any cline-no"> </span>
|
|
406
|
-
<span class="cline-any cline-no"> </span>
|
|
407
409
|
<span class="cline-any cline-neutral"> </span>
|
|
408
|
-
<span class="cline-any cline-no"> </span>
|
|
409
|
-
<span class="cline-any cline-no"> </span>
|
|
410
|
-
<span class="cline-any cline-no"> </span>
|
|
411
|
-
<span class="cline-any cline-no"> </span>
|
|
412
410
|
<span class="cline-any cline-neutral"> </span>
|
|
413
|
-
<span class="cline-any cline-
|
|
414
|
-
<span class="cline-any cline-no"> </span>
|
|
411
|
+
<span class="cline-any cline-yes">12x</span>
|
|
415
412
|
<span class="cline-any cline-neutral"> </span>
|
|
416
413
|
<span class="cline-any cline-neutral"> </span>
|
|
417
|
-
<span class="cline-any cline-no"> </span>
|
|
418
|
-
<span class="cline-any cline-no"> </span>
|
|
419
414
|
<span class="cline-any cline-neutral"> </span>
|
|
420
|
-
<span class="cline-any cline-no"> </span>
|
|
421
415
|
<span class="cline-any cline-neutral"> </span>
|
|
422
416
|
<span class="cline-any cline-neutral"> </span>
|
|
423
417
|
<span class="cline-any cline-neutral"> </span>
|
|
424
|
-
<span class="cline-any cline-no"> </span>
|
|
425
418
|
<span class="cline-any cline-neutral"> </span>
|
|
426
419
|
<span class="cline-any cline-neutral"> </span>
|
|
427
|
-
<span class="cline-any cline-no"> </span>
|
|
428
|
-
<span class="cline-any cline-no"> </span>
|
|
429
|
-
<span class="cline-any cline-no"> </span>
|
|
430
420
|
<span class="cline-any cline-neutral"> </span>
|
|
421
|
+
<span class="cline-any cline-neutral"> </span>
|
|
422
|
+
<span class="cline-any cline-yes">4x</span>
|
|
423
|
+
<span class="cline-any cline-yes">12x</span>
|
|
431
424
|
<span class="cline-any cline-no"> </span>
|
|
432
|
-
<span class="cline-any cline-
|
|
433
|
-
<span class="cline-any cline-
|
|
434
|
-
<span class="cline-any cline-
|
|
425
|
+
<span class="cline-any cline-neutral"> </span>
|
|
426
|
+
<span class="cline-any cline-yes">12x</span>
|
|
427
|
+
<span class="cline-any cline-yes">12x</span>
|
|
428
|
+
<span class="cline-any cline-yes">12x</span>
|
|
429
|
+
<span class="cline-any cline-yes">12x</span>
|
|
430
|
+
<span class="cline-any cline-yes">12x</span>
|
|
431
|
+
<span class="cline-any cline-neutral"> </span>
|
|
432
|
+
<span class="cline-any cline-yes">4x</span>
|
|
433
|
+
<span class="cline-any cline-neutral"> </span>
|
|
434
|
+
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import _ from 'lodash';
|
|
435
435
|
import TimeFormat from './TimeFormat';
|
|
436
|
-
|
|
436
|
+
|
|
437
437
|
function trim(str) {
|
|
438
438
|
return str.replace(/^\s+|\s+$/g, '');
|
|
439
439
|
}
|
|
440
|
-
|
|
440
|
+
|
|
441
441
|
function searchIndex(lines, pattern, startIndex) {
|
|
442
|
-
var len =
|
|
442
|
+
var len = lines.length;
|
|
443
443
|
startIndex = startIndex || 0;
|
|
444
|
-
|
|
444
|
+
|
|
445
445
|
for (var i = startIndex; i < len; i++) {
|
|
446
|
-
var line =
|
|
446
|
+
var line = lines[i];
|
|
447
447
|
if (line.match(pattern)) {
|
|
448
|
-
|
|
448
|
+
return i;
|
|
449
449
|
}
|
|
450
|
-
}
|
|
451
|
-
|
|
450
|
+
}
|
|
451
|
+
return false;
|
|
452
452
|
}
|
|
453
453
|
|
|
454
|
-
function
|
|
455
|
-
var line,
|
|
456
|
-
|
|
454
|
+
function extractStyles(lines) {
|
|
455
|
+
var line, styles = {};
|
|
456
|
+
|
|
457
457
|
var currentIndex = searchIndex(lines, /^\[V4\+ Styles\]$/);
|
|
458
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
459
|
-
if (currentInde<span class="cstat-no" title="statement not covered" >x === fal</span>se) {
|
|
460
|
-
<span class="cstat-no" title="statement not covered" > return styles;</span>
|
|
461
|
-
}<span class="cstat-no" title="statement not covered" ></span>
|
|
462
458
|
|
|
463
|
-
currentIndex = searchIndex(lines, /^Format:/, ++currentIndex);
|
|
464
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
465
459
|
if (currentIndex === false) {
|
|
466
460
|
return styles;
|
|
467
|
-
}
|
|
461
|
+
}
|
|
468
462
|
|
|
469
|
-
|
|
463
|
+
currentIndex = searchIndex(lines, /^Format:/, ++currentIndex);
|
|
464
|
+
|
|
465
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (currentIndex === false) {
|
|
466
|
+
<span class="cstat-no" title="statement not covered" > return styles;</span>
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
line = trim(lines[currentIndex]);
|
|
470
470
|
var fields = line.replace(/^Format:\s+/, '').split(/\s*,\s*/);
|
|
471
|
-
var nameIndex =
|
|
471
|
+
var nameIndex = fields.indexOf('Name');
|
|
472
472
|
var alignmentIndex = fields.indexOf('Alignment');
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
return styles
|
|
473
|
+
|
|
474
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (nameIndex === -1) {
|
|
475
|
+
<span class="cstat-no" title="statement not covered" > return styles;</span>
|
|
476
476
|
}
|
|
477
|
-
|
|
477
|
+
|
|
478
478
|
var pattern = new RegExp('^' + (new Array(fields.length).join('\s*(.*?)\s*,')) + '(.*?)$');
|
|
479
|
-
|
|
480
|
-
|
|
479
|
+
|
|
480
|
+
currentIndex = searchIndex(lines, /^Style:/, ++currentIndex);
|
|
481
481
|
|
|
482
482
|
while (currentIndex !== false) {
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
var parts =
|
|
486
|
-
if (!parts) {
|
|
483
|
+
line = trim(lines[currentIndex]);
|
|
484
|
+
|
|
485
|
+
var parts = line.replace(/^Style:\s+/, '').match(pattern);
|
|
486
|
+
if (!parts) {
|
|
487
487
|
throw new Error('Error, missing fields in a `Style` entry');
|
|
488
|
-
|
|
489
|
-
<span class="
|
|
488
|
+
}
|
|
489
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (parts.length) {
|
|
490
490
|
var style = {};
|
|
491
|
-
if (alignmentIndex !== -1) {
|
|
492
|
-
|
|
491
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (alignmentIndex !== -1) {
|
|
492
|
+
var alignmentNumber = parts[alignmentIndex + 1];
|
|
493
493
|
style.alignment = alignmentNumber >= 7 ? 'top' : 'bottom';
|
|
494
|
-
|
|
494
|
+
}
|
|
495
495
|
styles[parts[nameIndex + 1]] = style;
|
|
496
|
-
|
|
497
|
-
|
|
496
|
+
}
|
|
497
|
+
currentIndex = searchIndex(lines, /^Style:/, ++currentIndex);
|
|
498
498
|
}
|
|
499
|
-
return styles
|
|
500
|
-
}
|
|
501
|
-
|
|
499
|
+
return styles;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
502
|
export default {
|
|
503
|
-
|
|
504
|
-
var line
|
|
505
|
-
var
|
|
506
|
-
|
|
507
|
-
function
|
|
508
|
-
if (time.charAt(1) === ':') {
|
|
509
|
-
|
|
503
|
+
parse: function(lines) {
|
|
504
|
+
var line;
|
|
505
|
+
var currentIndex = 0;
|
|
506
|
+
|
|
507
|
+
function normalizeTime(time) {
|
|
508
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (time.charAt(1) === ':') {
|
|
509
|
+
time = '0' + time;
|
|
510
510
|
}
|
|
511
|
-
|
|
511
|
+
return time.replace('.', ',') + '0';
|
|
512
512
|
}
|
|
513
|
-
|
|
513
|
+
|
|
514
514
|
function normalizeText(text) {
|
|
515
515
|
return text.replace(/\\n|\\N/, '\n')
|
|
516
|
-
|
|
517
|
-
|
|
516
|
+
.replace(/{\\(.*)1}(.*){\\\1[0]}/g, function(match, tag, content) {
|
|
517
|
+
return '<' + tag + '>' + content + '</' + tag + '>';
|
|
518
518
|
});
|
|
519
|
-
}
|
|
519
|
+
}
|
|
520
520
|
|
|
521
|
-
var
|
|
522
|
-
<span class="cstat-no" title="statement not covered" ></span>
|
|
523
|
-
currentI<span class="cstat-no" title="statement not covered" >ndex = searchIndex(</span>lines, /^\[Events\]$/);
|
|
521
|
+
var styles = extractStyles(lines);
|
|
524
522
|
|
|
525
|
-
|
|
523
|
+
currentIndex = searchIndex(lines, /^\[Events\]$/);
|
|
524
|
+
|
|
525
|
+
if (currentIndex === false) {
|
|
526
526
|
throw new Error('Error, missing `[Events]` section');
|
|
527
527
|
}
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
528
|
+
|
|
529
|
+
currentIndex = searchIndex(lines, /^Format:/, ++currentIndex);
|
|
530
|
+
|
|
531
531
|
if (currentIndex === false) {
|
|
532
532
|
throw new Error('Error, missing `Format` entry');
|
|
533
533
|
}
|
|
534
|
-
|
|
534
|
+
|
|
535
535
|
line = trim(lines[currentIndex]);
|
|
536
|
-
|
|
536
|
+
var fields = line.replace(/^Format:\s+/, '').split(/\s*,\s*/);
|
|
537
537
|
var startIndex = fields.indexOf('Start');
|
|
538
|
-
|
|
539
|
-
var
|
|
538
|
+
var endIndex = fields.indexOf('End');
|
|
539
|
+
var styleIndex = fields.indexOf('Style');
|
|
540
540
|
var textIndex = fields.indexOf('Text');
|
|
541
541
|
|
|
542
|
-
<span class="
|
|
543
|
-
throw new Error('Error, missing fields in a `Format` entry')
|
|
544
|
-
|
|
545
|
-
|
|
542
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (startIndex === -1 || endIndex === -1 || textIndex === -1) {
|
|
543
|
+
<span class="cstat-no" title="statement not covered" > throw new Error('Error, missing fields in a `Format` entry');</span>
|
|
544
|
+
}
|
|
545
|
+
|
|
546
546
|
var result = [];
|
|
547
547
|
var pattern = new RegExp('^' + (new Array(fields.length).join('\s*(.*?)\s*,')) + '(.*?)$');
|
|
548
|
-
|
|
549
|
-
currentIndex
|
|
550
|
-
|
|
551
|
-
while (
|
|
552
|
-
line = trim(
|
|
553
|
-
var parts =
|
|
548
|
+
|
|
549
|
+
currentIndex = searchIndex(lines, /^Dialogue:/, ++currentIndex);
|
|
550
|
+
|
|
551
|
+
while (currentIndex !== false) {
|
|
552
|
+
line = trim(lines[currentIndex]);
|
|
553
|
+
var parts = line.replace(/^Dialogue:\s+/, '').match(pattern);
|
|
554
554
|
if (!parts) {
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
if (parts.length) {
|
|
555
|
+
throw new Error('Error, missing fields in a `Dialogue` entry');
|
|
556
|
+
}
|
|
557
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (parts.length) {
|
|
558
558
|
var entry = {
|
|
559
|
-
|
|
560
|
-
|
|
559
|
+
startTime: normalizeTime(parts[startIndex + 1]),
|
|
560
|
+
stopTime: normalizeTime(parts[endIndex + 1]),
|
|
561
561
|
text: normalizeText(parts[textIndex + 1]),
|
|
562
|
-
|
|
562
|
+
alignment: 'bottom'
|
|
563
563
|
};
|
|
564
|
-
<span class="
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
564
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (styleIndex !== -1) {
|
|
565
|
+
var style = styles[parts[styleIndex + 1]];
|
|
566
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (style && style.alignment) {
|
|
567
|
+
entry.alignment = style.alignment;
|
|
568
|
+
}
|
|
569
569
|
}
|
|
570
|
-
|
|
571
|
-
}
|
|
570
|
+
result.push(entry);
|
|
571
|
+
}
|
|
572
572
|
currentIndex = searchIndex(lines, /^Dialogue:/, ++currentIndex);
|
|
573
573
|
}
|
|
574
574
|
return result;
|
|
575
575
|
},
|
|
576
576
|
export: function(lines, options) {
|
|
577
|
-
var
|
|
578
|
-
|
|
579
|
-
options =
|
|
580
|
-
|
|
577
|
+
var result = '';
|
|
578
|
+
|
|
579
|
+
options = options || {};
|
|
580
|
+
|
|
581
581
|
var font = options.font || {
|
|
582
582
|
face: 'Arial',
|
|
583
|
-
size
|
|
583
|
+
size: 20
|
|
584
584
|
};
|
|
585
|
-
|
|
585
|
+
|
|
586
586
|
result += "[Script Info]\n";
|
|
587
|
-
|
|
587
|
+
result += "ScriptType: v4.00+\n\n";
|
|
588
588
|
|
|
589
|
-
result += "[
|
|
590
|
-
result += "
|
|
589
|
+
result += "[V4+ Styles]\n";
|
|
590
|
+
result += "Format: Name, Fontname, Fontsize, PrimaryColour,Shadow,MarginV,Alignment\n";
|
|
591
591
|
result += "Style: Bottom," + font.face + "," + font.size + ",&H00FFFFFF,1,20,2\n";
|
|
592
|
-
|
|
592
|
+
result += "Style: Top," + font.face + "," + font.size + ",&H00FFFFFF,1,20,8\n\n";
|
|
593
593
|
|
|
594
|
-
result += "
|
|
594
|
+
result += "[Events]\n";
|
|
595
595
|
result += "Format: Layer, Start, End, Style, Text\n";
|
|
596
596
|
|
|
597
597
|
function normalizeTime(time) {
|
|
598
|
-
if (time.charAt(0) === '0') {
|
|
599
|
-
|
|
600
|
-
|
|
598
|
+
<span class="missing-if-branch" title="else path not taken" >E</span>if (time.charAt(0) === '0') {
|
|
599
|
+
time = time.substr(1);
|
|
600
|
+
}
|
|
601
601
|
return time.replace(',', '.').slice(0, -1);
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
function normalizeText(text) {
|
|
605
|
+
return _.unescape(text
|
|
606
606
|
.replace(/<div>/g, '\\N')
|
|
607
|
-
|
|
608
|
-
|
|
607
|
+
.replace(/<\/div>/g, '')
|
|
608
|
+
.replace(/\n/g, '\\N')
|
|
609
609
|
.replace(/<br>/g, '\\N')
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
610
|
+
.replace(/<i>/g, '{\\i1}')
|
|
611
|
+
.replace(/<\/i>/g, '{\\i0}')
|
|
612
|
+
.replace(/<b>/g, '{\\b1}')
|
|
613
613
|
.replace(/<\/b>/g, '{\\b0}'))
|
|
614
|
-
}
|
|
614
|
+
}
|
|
615
615
|
|
|
616
616
|
lines.forEach(function(line) {
|
|
617
|
-
|
|
617
|
+
<span class="missing-if-branch" title="if path not taken" >I</span>if (line.text === undefined) {
|
|
618
618
|
<span class="cstat-no" title="statement not covered" > return;</span>
|
|
619
619
|
}
|
|
620
620
|
result += "Dialogue: 0";
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
621
|
+
result += "," + normalizeTime(TimeFormat.startTime(line));
|
|
622
|
+
result += "," + normalizeTime(TimeFormat.stopTime(line));
|
|
623
|
+
result += line.alignment === 'top' ? ",Top" : ",Bottom";
|
|
624
624
|
result += "," + normalizeText(line.text) + "\n";
|
|
625
|
-
})
|
|
626
|
-
|
|
627
|
-
}
|
|
628
|
-
}
|
|
625
|
+
});
|
|
626
|
+
return result;
|
|
627
|
+
}
|
|
628
|
+
};</pre></td></tr>
|
|
629
629
|
</table></pre>
|
|
630
630
|
<div class='push'></div><!-- for sticky footer -->
|
|
631
631
|
</div><!-- /wrapper -->
|
|
632
632
|
<div class='footer quiet pad2 space-top1 center small'>
|
|
633
633
|
Code coverage
|
|
634
|
-
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at
|
|
634
|
+
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Tue Nov 19 2019 17:01:57 GMT+0000 (Coordinated Universal Time)
|
|
635
635
|
</div>
|
|
636
636
|
</div>
|
|
637
637
|
<script src="prettify.js"></script>
|