27
27
< div class ='fl pad1y space-right2 '>
28
28
< span class ="strong "> 100% </ span >
29
29
< span class ="quiet "> Branches</ span >
30
- < span class ='fraction '> 341/341 </ span >
30
+ < span class ='fraction '> 335/335 </ span >
31
31
</ div >
32
32
< div class ='fl pad1y space-right2 '>
33
33
< span class ="strong "> 100% </ span >
34
34
< span class ="quiet "> Functions</ span >
35
- < span class ='fraction '> 97/97 </ span >
35
+ < span class ='fraction '> 98/98 </ span >
36
36
</ div >
37
37
< div class ='fl pad1y space-right2 '>
38
38
< span class ="strong "> 100% </ span >
39
39
< span class ="quiet "> Lines</ span >
40
- < span class ='fraction '> 590/590 </ span >
40
+ < span class ='fraction '> 591/591 </ span >
41
41
</ div >
42
42
</ div >
43
43
</ div >
@@ -1446,7 +1446,8 @@ <h1>
1446
1446
1401
1447
1447
1402
1448
1448
1403
1449
- 1404</ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 2×</ span >
1449
+ 1404
1450
+ 1405</ td > < td class ="line-coverage quiet "> < span class ="cline-any cline-yes "> 2×</ span >
1450
1451
< span class ="cline-any cline-neutral "> </ span >
1451
1452
< span class ="cline-any cline-neutral "> </ span >
1452
1453
< span class ="cline-any cline-neutral "> </ span >
@@ -1924,6 +1925,15 @@ <h1>
1924
1925
< span class ="cline-any cline-neutral "> </ span >
1925
1926
< span class ="cline-any cline-neutral "> </ span >
1926
1927
< span class ="cline-any cline-neutral "> </ span >
1928
+ < span class ="cline-any cline-yes "> 2×</ span >
1929
+ < span class ="cline-any cline-yes "> 2×</ span >
1930
+ < span class ="cline-any cline-yes "> 206×</ span >
1931
+ < span class ="cline-any cline-yes "> 2×</ span >
1932
+ < span class ="cline-any cline-neutral "> </ span >
1933
+ < span class ="cline-any cline-neutral "> </ span >
1934
+ < span class ="cline-any cline-neutral "> </ span >
1935
+ < span class ="cline-any cline-neutral "> </ span >
1936
+ < span class ="cline-any cline-neutral "> </ span >
1927
1937
< span class ="cline-any cline-neutral "> </ span >
1928
1938
< span class ="cline-any cline-neutral "> </ span >
1929
1939
< span class ="cline-any cline-yes "> 2×</ span >
@@ -2201,16 +2211,13 @@ <h1>
2201
2211
< span class ="cline-any cline-neutral "> </ span >
2202
2212
< span class ="cline-any cline-neutral "> </ span >
2203
2213
< span class ="cline-any cline-yes "> 2×</ span >
2204
- < span class ="cline-any cline-yes "> 2×</ span >
2205
- < span class ="cline-any cline-yes "> 1×</ span >
2206
2214
< span class ="cline-any cline-yes "> 1×</ span >
2207
2215
< span class ="cline-any cline-yes "> 206×</ span >
2208
2216
< span class ="cline-any cline-yes "> 206×</ span >
2209
2217
< span class ="cline-any cline-neutral "> </ span >
2210
2218
< span class ="cline-any cline-neutral "> </ span >
2211
2219
< span class ="cline-any cline-neutral "> </ span >
2212
2220
< span class ="cline-any cline-neutral "> </ span >
2213
- < span class ="cline-any cline-neutral "> </ span >
2214
2221
< span class ="cline-any cline-yes "> 2×</ span >
2215
2222
< span class ="cline-any cline-neutral "> </ span >
2216
2223
< span class ="cline-any cline-yes "> 69×</ span >
@@ -2665,7 +2672,6 @@ <h1>
2665
2672
< span class ="cline-any cline-neutral "> </ span >
2666
2673
< span class ="cline-any cline-neutral "> </ span >
2667
2674
< span class ="cline-any cline-neutral "> </ span >
2668
- < span class ="cline-any cline-neutral "> </ span >
2669
2675
< span class ="cline-any cline-yes "> 1×</ span >
2670
2676
< span class ="cline-any cline-yes "> 60×</ span >
2671
2677
< span class ="cline-any cline-neutral "> </ span >
@@ -2691,20 +2697,22 @@ <h1>
2691
2697
< span class ="cline-any cline-neutral "> </ span >
2692
2698
< span class ="cline-any cline-neutral "> </ span >
2693
2699
< span class ="cline-any cline-neutral "> </ span >
2694
- < span class ="cline-any cline-yes "> 2×</ span >
2695
- < span class ="cline-any cline-yes "> 104×</ span >
2696
- < span class ="cline-any cline-yes "> 104×</ span >
2700
+ < span class ="cline-any cline-neutral "> </ span >
2697
2701
< span class ="cline-any cline-neutral "> </ span >
2698
2702
< span class ="cline-any cline-neutral "> </ span >
2699
2703
< span class ="cline-any cline-yes "> 2×</ span >
2704
+ < span class ="cline-any cline-yes "> 104×</ span >
2705
+ < span class ="cline-any cline-yes "> 104×</ span >
2706
+ < span class ="cline-any cline-yes "> 88×</ span >
2707
+ < span class ="cline-any cline-yes "> 88×</ span >
2708
+ < span class ="cline-any cline-yes "> 88×</ span >
2709
+ < span class ="cline-any cline-yes "> 88×</ span >
2700
2710
< span class ="cline-any cline-neutral "> </ span >
2711
+ < span class ="cline-any cline-yes "> 104×</ span >
2701
2712
< span class ="cline-any cline-neutral "> </ span >
2702
2713
< span class ="cline-any cline-neutral "> </ span >
2714
+ < span class ="cline-any cline-yes "> 2×</ span >
2703
2715
< span class ="cline-any cline-neutral "> </ span >
2704
- < span class ="cline-any cline-yes "> 1×</ span >
2705
- < span class ="cline-any cline-yes "> 104×</ span >
2706
- < span class ="cline-any cline-yes "> 104×</ span >
2707
- < span class ="cline-any cline-yes "> 104×</ span >
2708
2716
< span class ="cline-any cline-neutral "> </ span >
2709
2717
< span class ="cline-any cline-neutral "> </ span >
2710
2718
< span class ="cline-any cline-neutral "> </ span >
@@ -2829,11 +2837,6 @@ <h1>
2829
2837
< span class ="cline-any cline-neutral "> </ span >
2830
2838
< span class ="cline-any cline-neutral "> </ span >
2831
2839
< span class ="cline-any cline-neutral "> </ span >
2832
- < span class ="cline-any cline-yes "> 1×</ span >
2833
- < span class ="cline-any cline-yes "> 88×</ span >
2834
- < span class ="cline-any cline-neutral "> </ span >
2835
- < span class ="cline-any cline-neutral "> </ span >
2836
- < span class ="cline-any cline-neutral "> </ span >
2837
2840
< span class ="cline-any cline-neutral "> </ span >
2838
2841
< span class ="cline-any cline-neutral "> </ span >
2839
2842
< span class ="cline-any cline-neutral "> </ span >
@@ -2848,8 +2851,7 @@ <h1>
2848
2851
< span class ="cline-any cline-neutral "> </ span >
2849
2852
< span class ="cline-any cline-neutral "> </ span >
2850
2853
< span class ="cline-any cline-neutral "> </ span >
2851
- < span class ="cline-any cline-yes "> 2×</ span >
2852
- < span class ="cline-any cline-neutral "> </ span > </ td > < td class ="text "> < pre class ="prettyprint lang-js "> var hyperHTML = (function (globalDocument, majinbuu) {'use strict';
2854
+ < span class ="cline-any cline-yes "> 2×</ span > </ td > < td class ="text "> < pre class ="prettyprint lang-js "> var hyperHTML = (function (globalDocument, majinbuu) {'use strict';
2853
2855
2854
2856
/*! (c) 2017 Andrea Giammarchi @WebReflection, (ISC) */
2855
2857
@@ -3033,7 +3035,7 @@ <h1>
3033
3035
var hyper = hypers.get(this);
3034
3036
if (
3035
3037
!hyper ||
3036
- hyper.template !== (FF ? unique(template) : template)
3038
+ hyper.template !== TL( template)
3037
3039
) {
3038
3040
hyper = upgrade.apply(this, arguments);
3039
3041
hypers.set(this, hyper);
@@ -3323,6 +3325,15 @@ <h1>
3323
3325
3324
3326
// beside IE, old WebKit browsers don't have `children` in DocumentFragment
3325
3327
var WK = !('children' in featureFragment);
3328
+
3329
+ // both Firefox < 55 and TypeScript have issues with template literals
3330
+ // this lazy defined callback should spot issues right away
3331
+ // and in the best case scenario become a no-op
3332
+ var TL = function (template) {
3333
+ if (template.propertyIsEnumerable('raw') || FF) TL = unique;
3334
+ else TL = function (t) { return t; };
3335
+ return TL(template);
3336
+ };
3326
3337
3327
3338
// ---------------------------------------------
3328
3339
// Helpers
@@ -3603,14 +3614,11 @@ <h1>
3603
3614
var transformers = {};
3604
3615
3605
3616
// normalize Firefox issue with template literals
3606
- var templateObjects, unique;
3607
- if (FF) {
3608
- templateObjects = {};
3609
- unique = function (template) {
3610
- var key = '_' + template.join(UIDC);
3611
- return templateObjects[key] ||
3612
- (templateObjects[key] = template);
3613
- };
3617
+ var templateObjects = {}, unique;
3618
+ function unique(template) {
3619
+ var key = '_' + template.join(UIDC);
3620
+ return templateObjects[key] ||
3621
+ (templateObjects[key] = template);
3614
3622
}
3615
3623
3616
3624
// use native .append(...childNodes) where available
@@ -3940,7 +3948,7 @@ <h1>
3940
3948
// create a template, if unknown
3941
3949
// upgrade a node to use such template for future updates
3942
3950
function upgrade(template) {
3943
- if (FF) template = unique (template);
3951
+ template = TL (template);
3944
3952
var updates;
3945
3953
var info = templates.get(template) ||
3946
3954
createTemplate.call(this, template);
@@ -3985,7 +3993,7 @@ <h1>
3985
3993
return type === 'adopt' ?
3986
3994
function adopt(statics) {
3987
3995
var args = arguments;
3988
- if (FF) statics = unique (statics);
3996
+ statics = TL (statics);
3989
3997
if (template !== statics) {
3990
3998
setup = true;
3991
3999
template = statics;
@@ -4011,7 +4019,7 @@ <h1>
4011
4019
return adopter;
4012
4020
} :
4013
4021
function update(statics) {
4014
- if (FF) statics = unique (statics);
4022
+ statics = TL (statics);
4015
4023
if (template !== statics) {
4016
4024
setup = true;
4017
4025
template = statics;
@@ -4044,7 +4052,7 @@ <h1>
4044
4052
// changes needed to show the a new list
4045
4053
// where there was another one.
4046
4054
// There is a limit, in terms of performance,
4047
- // on how bug can the optimal computation be,
4055
+ // on how big can the optimal computation be,
4048
4056
// so if you change this value be sure your
4049
4057
// target hardware is good enough.
4050
4058
hyper.MAX_LIST_SIZE = 1000;
@@ -4063,7 +4071,6 @@ <h1>
4063
4071
DELETE = 'del',
4064
4072
INSERT = 'ins',
4065
4073
SUBSTITUTE = 'sub',
4066
- AuraPrototype = Aura.prototype,
4067
4074
TypedArray = /^u/.test(typeof Int32Array) ? Array : Int32Array
4068
4075
;
4069
4076
@@ -4093,22 +4100,24 @@ <h1>
4093
4100
4094
4101
// given an object that would like to intercept
4095
4102
// all splice operations performed through a list,
4096
- // return a list "aura" that will delegate all splices
4097
- majinbuu.aura = function aura(interceptor, list) {
4098
- Aura.prototype = list;
4099
- return new Aura(interceptor);
4103
+ // wraps the list.splice method to delegate such object
4104
+ // and it puts back original splice right before
4105
+ // every invocation.
4106
+ // Note: do not use the same list in two different aura
4107
+ majinbuu.aura = function aura(splicer, list) {
4108
+ var splice = list.splice;
4109
+ list.splice = function hodor() {
4110
+ list.splice = splice;
4111
+ var result = splicer.splice.apply(splicer, arguments);
4112
+ list.splice = hodor;
4113
+ return result;
4114
+ };
4115
+ return list;
4100
4116
};
4101
4117
4102
4118
return majinbuu;
4103
4119
4104
4120
// Helpers - - - - - - - - - - - - - - - - - - - - - -
4105
-
4106
- // Aura instances are just Array bridges
4107
- function Aura(interceptor) {
4108
- Aura.prototype = AuraPrototype;
4109
- this._ = interceptor;
4110
- this.splice = splice;
4111
- }
4112
4121
4113
4122
// originally readapted from:
4114
4123
// http://webreflection.blogspot.co.uk/2009/02/levenshtein-algorithm-revisited-25.html
@@ -4230,11 +4239,6 @@ <h1>
4230
4239
target.splice.apply(target, [op.y + diff, op.count].concat(op.items));
4231
4240
}
4232
4241
}
4233
-
4234
- // delegate all splice operations through an aura
4235
- function splice() {
4236
- return this._.splice.apply(this._, arguments);
4237
- }
4238
4242
4239
4243
/* one-by-one operation (testing purpose)
4240
4244
function performOperations(target, operations) {
@@ -4251,14 +4255,13 @@ <h1>
4251
4255
}()));
4252
4256
4253
4257
// umd.KISS
4254
- try { module.exports = hyperHTML; } catch(o_O) {}
4255
- </ pre > </ td > </ tr >
4258
+ try { module.exports = hyperHTML; } catch(o_O) {}</ pre > </ td > </ tr >
4256
4259
</ table > </ pre >
4257
4260
< div class ='push '> </ div > <!-- for sticky footer -->
4258
4261
</ div > <!-- /wrapper -->
4259
4262
< div class ='footer quiet pad2 space-top1 center small '>
4260
4263
Code coverage
4261
- generated by < a href ="http://istanbul-js.org/ " target ="_blank "> istanbul</ a > at Wed Sep 06 2017 16:32:47 GMT+0100 (BST)
4264
+ generated by < a href ="http://istanbul-js.org/ " target ="_blank "> istanbul</ a > at Thu Sep 07 2017 12:41:04 GMT+0100 (BST)
4262
4265
</ div >
4263
4266
</ div >
4264
4267
< script src ="../prettify.js "> </ script >
0 commit comments