From 60554ad464c414d30805ee551c0c3db998594bf3 Mon Sep 17 00:00:00 2001 From: David Halls Date: Mon, 31 Jul 2017 22:27:02 +0100 Subject: [PATCH] Move remove undefined test into _remove_value --- bench/options/_mapval.js | 1 + coverage/lcov-report/index.html | 14 +- coverage/lcov-report/qlobber/index.html | 2 +- coverage/lcov-report/qlobber/index.js.html | 2 +- coverage/lcov-report/qlobber/lib/index.html | 14 +- .../lcov-report/qlobber/lib/qlobber.js.html | 46 +- coverage/lcov.info | 545 +++++++++--------- lib/qlobber.js | 14 +- package.json | 2 +- test/custom.js | 6 + 10 files changed, 346 insertions(+), 300 deletions(-) diff --git a/bench/options/_mapval.js b/bench/options/_mapval.js index eddcc00..38afb2a 100644 --- a/bench/options/_mapval.js +++ b/bench/options/_mapval.js @@ -32,6 +32,7 @@ MapValQlobber.prototype._add_values = function (dest, origin) MapValQlobber.prototype._remove_value = function (vals, val) { vals.delete(val); + return vals.size === 0; }; MapValQlobber.prototype.test_values = function (vals, val) diff --git a/coverage/lcov-report/index.html b/coverage/lcov-report/index.html index 82f3af0..eea2db4 100644 --- a/coverage/lcov-report/index.html +++ b/coverage/lcov-report/index.html @@ -22,12 +22,12 @@

100% Statements - 170/170 + 174/174
100% Branches - 95/95 + 98/98
100% @@ -37,7 +37,7 @@

100% Lines - 169/169 + 173/173

@@ -75,13 +75,13 @@

qlobber/lib
100% - 169/169 + 173/173 100% - 95/95 + 98/98 100% 33/33 100% - 168/168 + 172/172 @@ -90,7 +90,7 @@

diff --git a/coverage/lcov-report/qlobber/index.html b/coverage/lcov-report/qlobber/index.html index 59c9395..358faba 100644 --- a/coverage/lcov-report/qlobber/index.html +++ b/coverage/lcov-report/qlobber/index.html @@ -77,7 +77,7 @@

diff --git a/coverage/lcov-report/qlobber/index.js.html b/coverage/lcov-report/qlobber/index.js.html index 0017545..7b70eff 100644 --- a/coverage/lcov-report/qlobber/index.js.html +++ b/coverage/lcov-report/qlobber/index.js.html @@ -58,7 +58,7 @@

diff --git a/coverage/lcov-report/qlobber/lib/index.html b/coverage/lcov-report/qlobber/lib/index.html index b4a886f..9400d7b 100644 --- a/coverage/lcov-report/qlobber/lib/index.html +++ b/coverage/lcov-report/qlobber/lib/index.html @@ -22,12 +22,12 @@

100% Statements - 169/169 + 173/173
100% Branches - 95/95 + 98/98
100% @@ -37,7 +37,7 @@

100% Lines - 168/168 + 172/172

@@ -62,13 +62,13 @@

qlobber.js
100% - 169/169 + 173/173 100% - 95/95 + 98/98 100% 33/33 100% - 168/168 + 172/172 @@ -77,7 +77,7 @@

diff --git a/coverage/lcov-report/qlobber/lib/qlobber.js.html b/coverage/lcov-report/qlobber/lib/qlobber.js.html index c48b840..2a4fdea 100644 --- a/coverage/lcov-report/qlobber/lib/qlobber.js.html +++ b/coverage/lcov-report/qlobber/lib/qlobber.js.html @@ -22,12 +22,12 @@

100% Statements - 169/169 + 173/173
100% Branches - 95/95 + 98/98
100% @@ -37,7 +37,7 @@

100% Lines - 168/168 + 172/172

@@ -675,7 +675,15 @@

630 631 632 -633  +633 +634 +635 +636 +637 +638 +639 +640 +641        @@ -828,6 +836,11 @@

  1x   +32x +  +5x +  +  27x   27x @@ -881,8 +894,6 @@

  72x   -  -  65x 65x   @@ -1214,6 +1225,11 @@

  1x   +34x +  +6x +  +  28x 28x   @@ -1272,7 +1288,7 @@

  1x   -1x +3x       @@ -1460,6 +1476,11 @@

  Qlobber.prototype._remove_value = function (vals, val) { + if (val === undefined) + { + return true; + } +  var index = vals.lastIndexOf(val);   if (index >= 0) @@ -1511,9 +1532,7 @@

{ st = sub_trie.get(this._separator);   - if (st && - ((val === undefined) || - this._remove_value(st, val))) + if (st && this._remove_value(st, val)) { sub_trie.delete(this._separator); return true; @@ -1846,6 +1865,11 @@

  QlobberDedup.prototype._remove_value = function (vals, val) { + if (val === undefined) + { + return true; + } +  vals.delete(val); return vals.size === 0; }; @@ -1945,7 +1969,7 @@

diff --git a/coverage/lcov.info b/coverage/lcov.info index 4c02531..fbda26d 100644 --- a/coverage/lcov.info +++ b/coverage/lcov.info @@ -15,41 +15,41 @@ FN:132,(anonymous_1) FN:137,(anonymous_2) FN:142,(anonymous_3) FN:152,(anonymous_4) -FN:164,(anonymous_5) -FN:197,(anonymous_6) -FN:234,(anonymous_7) -FN:253,(anonymous_8) -FN:318,(anonymous_9) -FN:328,(anonymous_10) -FN:350,(anonymous_11) -FN:413,(anonymous_12) -FN:438,(anonymous_13) -FN:453,(anonymous_14) -FN:465,(anonymous_15) -FN:477,(anonymous_16) -FN:489,(anonymous_17) -FN:500,(anonymous_18) -FN:513,QlobberDedup -FN:520,(anonymous_20) -FN:525,(anonymous_21) -FN:530,(anonymous_22) -FN:532,(anonymous_23) -FN:538,(anonymous_24) -FN:551,(anonymous_25) -FN:562,(anonymous_26) -FN:580,QlobberTrue -FN:587,(anonymous_28) -FN:592,(anonymous_29) -FN:596,(anonymous_30) -FN:609,(anonymous_31) -FN:624,(anonymous_32) +FN:169,(anonymous_5) +FN:202,(anonymous_6) +FN:237,(anonymous_7) +FN:256,(anonymous_8) +FN:321,(anonymous_9) +FN:331,(anonymous_10) +FN:353,(anonymous_11) +FN:416,(anonymous_12) +FN:441,(anonymous_13) +FN:456,(anonymous_14) +FN:468,(anonymous_15) +FN:480,(anonymous_16) +FN:492,(anonymous_17) +FN:503,(anonymous_18) +FN:516,QlobberDedup +FN:523,(anonymous_20) +FN:528,(anonymous_21) +FN:533,(anonymous_22) +FN:535,(anonymous_23) +FN:541,(anonymous_24) +FN:559,(anonymous_25) +FN:570,(anonymous_26) +FN:588,QlobberTrue +FN:595,(anonymous_28) +FN:600,(anonymous_29) +FN:604,(anonymous_30) +FN:617,(anonymous_31) +FN:632,(anonymous_32) FNF:33 FNH:33 FNDA:44,Qlobber FNDA:167,(anonymous_1) FNDA:360000,(anonymous_2) FNDA:1015,(anonymous_3) -FNDA:27,(anonymous_4) +FNDA:32,(anonymous_4) FNDA:4321246,(anonymous_5) FNDA:250,(anonymous_6) FNDA:1944,(anonymous_7) @@ -69,13 +69,13 @@ FNDA:174,(anonymous_20) FNDA:360002,(anonymous_21) FNDA:1017,(anonymous_22) FNDA:121017,(anonymous_23) -FNDA:28,(anonymous_24) +FNDA:34,(anonymous_24) FNDA:3970,(anonymous_25) FNDA:73,(anonymous_26) FNDA:5,QlobberTrue FNDA:6,(anonymous_28) FNDA:1,(anonymous_29) -FNDA:1,(anonymous_30) +FNDA:3,(anonymous_30) FNDA:7,(anonymous_31) FNDA:4,(anonymous_32) DA:102,1 @@ -95,159 +95,163 @@ DA:144,1015 DA:146,1015 DA:148,121015 DA:152,1 -DA:154,27 -DA:156,27 -DA:158,26 +DA:154,32 +DA:156,5 +DA:159,27 DA:161,27 -DA:164,1 -DA:168,4321246 -DA:170,720358 -DA:172,720358 -DA:174,720005 -DA:178,353 -DA:179,353 -DA:182,720358 -DA:185,3600888 -DA:186,3600888 -DA:188,3600888 -DA:190,487 -DA:191,487 -DA:194,3600888 -DA:197,1 -DA:201,250 -DA:203,72 -DA:205,72 -DA:209,65 -DA:210,65 -DA:213,7 -DA:216,178 -DA:217,178 +DA:163,26 +DA:166,27 +DA:169,1 +DA:173,4321246 +DA:175,720358 +DA:177,720358 +DA:179,720005 +DA:183,353 +DA:184,353 +DA:187,720358 +DA:190,3600888 +DA:191,3600888 +DA:193,3600888 +DA:195,487 +DA:196,487 +DA:199,3600888 +DA:202,1 +DA:206,250 +DA:208,72 +DA:210,72 +DA:212,65 +DA:213,65 +DA:216,7 DA:219,178 -DA:221,2 -DA:224,176 -DA:226,176 -DA:228,85 -DA:231,176 -DA:234,1 -DA:238,1944 -DA:240,2348 -DA:242,520 -DA:244,928 -DA:246,520 -DA:250,1944 -DA:253,1 -DA:257,3877 -DA:259,3877 -DA:262,1944 -DA:264,1944 -DA:267,3877 -DA:269,2242 -DA:271,2242 -DA:273,2052 -DA:275,106 -DA:276,106 -DA:277,106 -DA:279,1946 -DA:281,124 -DA:282,124 -DA:286,1822 -DA:292,1635 -DA:294,1635 -DA:296,1631 -DA:298,1631 -DA:300,342 -DA:304,1635 -DA:306,1607 -DA:308,1607 -DA:310,518 -DA:315,3877 -DA:318,1 -DA:320,145 -DA:325,145 -DA:328,1 -DA:332,11560 -DA:334,14208 -DA:336,3316 -DA:338,5662 -DA:340,520 -DA:343,2796 -DA:347,11040 -DA:350,1 -DA:354,21296 -DA:356,21296 -DA:359,11560 -DA:363,1052 -DA:367,20244 -DA:369,12254 -DA:371,12254 -DA:373,739 -DA:378,7990 -DA:380,7990 -DA:382,7986 -DA:384,7986 -DA:386,412 -DA:390,7578 -DA:392,7518 -DA:394,7518 -DA:396,412 -DA:401,18681 -DA:413,1 -DA:415,720359 -DA:416,720359 -DA:418,1 -DA:422,720358 -DA:423,720358 -DA:425,6 -DA:428,720359 -DA:438,1 -DA:440,74 -DA:442,3 -DA:444,74 -DA:453,1 -DA:455,67 -DA:465,1 -DA:467,873 -DA:477,1 -DA:479,3966 -DA:489,1 -DA:491,3 -DA:492,3 -DA:494,1 -DA:496,3 -DA:500,1 -DA:502,9 -DA:515,20 -DA:518,1 -DA:520,1 -DA:522,174 -DA:525,1 -DA:527,360002 -DA:530,1 -DA:532,1017 -DA:534,121017 -DA:538,1 -DA:540,28 -DA:541,28 -DA:551,1 -DA:553,3970 -DA:562,1 -DA:564,73 -DA:582,5 -DA:585,1 -DA:587,1 -DA:589,6 -DA:592,1 -DA:596,1 -DA:598,1 -DA:609,1 -DA:611,7 -DA:624,1 -DA:626,4 -DA:629,1 -DA:630,1 -DA:631,1 -LF:168 -LH:168 +DA:220,178 +DA:222,178 +DA:224,2 +DA:227,176 +DA:229,176 +DA:231,85 +DA:234,176 +DA:237,1 +DA:241,1944 +DA:243,2348 +DA:245,520 +DA:247,928 +DA:249,520 +DA:253,1944 +DA:256,1 +DA:260,3877 +DA:262,3877 +DA:265,1944 +DA:267,1944 +DA:270,3877 +DA:272,2242 +DA:274,2242 +DA:276,2052 +DA:278,106 +DA:279,106 +DA:280,106 +DA:282,1946 +DA:284,124 +DA:285,124 +DA:289,1822 +DA:295,1635 +DA:297,1635 +DA:299,1631 +DA:301,1631 +DA:303,342 +DA:307,1635 +DA:309,1607 +DA:311,1607 +DA:313,518 +DA:318,3877 +DA:321,1 +DA:323,145 +DA:328,145 +DA:331,1 +DA:335,11560 +DA:337,14208 +DA:339,3316 +DA:341,5662 +DA:343,520 +DA:346,2796 +DA:350,11040 +DA:353,1 +DA:357,21296 +DA:359,21296 +DA:362,11560 +DA:366,1052 +DA:370,20244 +DA:372,12254 +DA:374,12254 +DA:376,739 +DA:381,7990 +DA:383,7990 +DA:385,7986 +DA:387,7986 +DA:389,412 +DA:393,7578 +DA:395,7518 +DA:397,7518 +DA:399,412 +DA:404,18681 +DA:416,1 +DA:418,720359 +DA:419,720359 +DA:421,1 +DA:425,720358 +DA:426,720358 +DA:428,6 +DA:431,720359 +DA:441,1 +DA:443,74 +DA:445,3 +DA:447,74 +DA:456,1 +DA:458,67 +DA:468,1 +DA:470,873 +DA:480,1 +DA:482,3966 +DA:492,1 +DA:494,3 +DA:495,3 +DA:497,1 +DA:499,3 +DA:503,1 +DA:505,9 +DA:518,20 +DA:521,1 +DA:523,1 +DA:525,174 +DA:528,1 +DA:530,360002 +DA:533,1 +DA:535,1017 +DA:537,121017 +DA:541,1 +DA:543,34 +DA:545,6 +DA:548,28 +DA:549,28 +DA:559,1 +DA:561,3970 +DA:570,1 +DA:572,73 +DA:590,5 +DA:593,1 +DA:595,1 +DA:597,6 +DA:600,1 +DA:604,1 +DA:606,3 +DA:617,1 +DA:619,7 +DA:632,1 +DA:634,4 +DA:637,1 +DA:638,1 +DA:639,1 +LF:172 +LH:172 BRDA:120,0,0,44 BRDA:120,0,1,36 BRDA:122,1,0,44 @@ -258,91 +262,94 @@ BRDA:124,3,0,44 BRDA:124,3,1,42 BRDA:126,4,0,6 BRDA:126,4,1,38 -BRDA:156,5,0,26 -BRDA:156,5,1,1 -BRDA:168,6,0,720358 -BRDA:168,6,1,3600888 -BRDA:172,7,0,720005 -BRDA:172,7,1,353 -BRDA:188,8,0,487 -BRDA:188,8,1,3600401 -BRDA:201,9,0,72 -BRDA:201,9,1,178 -BRDA:205,10,0,65 -BRDA:205,10,1,7 -BRDA:205,11,0,72 -BRDA:205,11,1,70 -BRDA:205,11,2,57 -BRDA:219,12,0,2 -BRDA:219,12,1,176 -BRDA:226,13,0,85 -BRDA:226,13,1,91 -BRDA:240,14,0,520 -BRDA:240,14,1,1828 -BRDA:259,15,0,1944 -BRDA:259,15,1,1933 -BRDA:267,16,0,2242 -BRDA:267,16,1,1635 -BRDA:271,17,0,2052 -BRDA:271,17,1,190 -BRDA:273,18,0,106 -BRDA:273,18,1,1946 -BRDA:279,19,0,124 -BRDA:279,19,1,1822 -BRDA:294,20,0,1631 -BRDA:294,20,1,4 -BRDA:294,21,0,1635 -BRDA:294,21,1,1633 -BRDA:298,22,0,342 -BRDA:298,22,1,1289 -BRDA:304,23,0,1607 -BRDA:304,23,1,28 -BRDA:308,24,0,518 -BRDA:308,24,1,1089 -BRDA:325,25,0,145 -BRDA:325,25,1,106 -BRDA:334,26,0,3316 -BRDA:334,26,1,10892 -BRDA:338,27,0,520 -BRDA:338,27,1,5142 -BRDA:356,28,0,11560 -BRDA:356,28,1,9736 -BRDA:359,29,0,1052 -BRDA:359,29,1,10508 -BRDA:359,30,0,11560 -BRDA:359,30,1,11040 -BRDA:367,31,0,12254 -BRDA:367,31,1,7990 -BRDA:371,32,0,739 -BRDA:371,32,1,11515 -BRDA:371,33,0,12254 -BRDA:371,33,1,11476 -BRDA:380,34,0,7986 -BRDA:380,34,1,4 -BRDA:380,35,0,7990 -BRDA:380,35,1,7988 -BRDA:384,36,0,412 -BRDA:384,36,1,7574 -BRDA:384,37,0,7986 -BRDA:384,37,1,1690 -BRDA:390,38,0,7518 -BRDA:390,38,1,60 -BRDA:394,39,0,412 -BRDA:394,39,1,7106 -BRDA:394,40,0,7518 -BRDA:394,40,1,2031 -BRDA:415,41,0,720359 -BRDA:415,41,1,7 -BRDA:416,42,0,1 -BRDA:416,42,1,720358 -BRDA:423,43,0,6 -BRDA:423,43,1,720352 -BRDA:440,44,0,3 -BRDA:440,44,1,71 -BRDA:440,45,0,74 -BRDA:440,45,1,65 -BRDA:492,46,0,1 -BRDA:492,46,1,2 -BRF:95 -BRH:95 +BRDA:154,5,0,5 +BRDA:154,5,1,27 +BRDA:161,6,0,26 +BRDA:161,6,1,1 +BRDA:173,7,0,720358 +BRDA:173,7,1,3600888 +BRDA:177,8,0,720005 +BRDA:177,8,1,353 +BRDA:193,9,0,487 +BRDA:193,9,1,3600401 +BRDA:206,10,0,72 +BRDA:206,10,1,178 +BRDA:210,11,0,65 +BRDA:210,11,1,7 +BRDA:210,12,0,72 +BRDA:210,12,1,70 +BRDA:222,13,0,2 +BRDA:222,13,1,176 +BRDA:229,14,0,85 +BRDA:229,14,1,91 +BRDA:243,15,0,520 +BRDA:243,15,1,1828 +BRDA:262,16,0,1944 +BRDA:262,16,1,1933 +BRDA:270,17,0,2242 +BRDA:270,17,1,1635 +BRDA:274,18,0,2052 +BRDA:274,18,1,190 +BRDA:276,19,0,106 +BRDA:276,19,1,1946 +BRDA:282,20,0,124 +BRDA:282,20,1,1822 +BRDA:297,21,0,1631 +BRDA:297,21,1,4 +BRDA:297,22,0,1635 +BRDA:297,22,1,1633 +BRDA:301,23,0,342 +BRDA:301,23,1,1289 +BRDA:307,24,0,1607 +BRDA:307,24,1,28 +BRDA:311,25,0,518 +BRDA:311,25,1,1089 +BRDA:328,26,0,145 +BRDA:328,26,1,106 +BRDA:337,27,0,3316 +BRDA:337,27,1,10892 +BRDA:341,28,0,520 +BRDA:341,28,1,5142 +BRDA:359,29,0,11560 +BRDA:359,29,1,9736 +BRDA:362,30,0,1052 +BRDA:362,30,1,10508 +BRDA:362,31,0,11560 +BRDA:362,31,1,11040 +BRDA:370,32,0,12254 +BRDA:370,32,1,7990 +BRDA:374,33,0,739 +BRDA:374,33,1,11515 +BRDA:374,34,0,12254 +BRDA:374,34,1,11476 +BRDA:383,35,0,7986 +BRDA:383,35,1,4 +BRDA:383,36,0,7990 +BRDA:383,36,1,7988 +BRDA:387,37,0,412 +BRDA:387,37,1,7574 +BRDA:387,38,0,7986 +BRDA:387,38,1,1690 +BRDA:393,39,0,7518 +BRDA:393,39,1,60 +BRDA:397,40,0,412 +BRDA:397,40,1,7106 +BRDA:397,41,0,7518 +BRDA:397,41,1,2031 +BRDA:418,42,0,720359 +BRDA:418,42,1,7 +BRDA:419,43,0,1 +BRDA:419,43,1,720358 +BRDA:426,44,0,6 +BRDA:426,44,1,720352 +BRDA:443,45,0,3 +BRDA:443,45,1,71 +BRDA:443,46,0,74 +BRDA:443,46,1,65 +BRDA:495,47,0,1 +BRDA:495,47,1,2 +BRDA:543,48,0,6 +BRDA:543,48,1,28 +BRF:98 +BRH:98 end_of_record diff --git a/lib/qlobber.js b/lib/qlobber.js index 5b1efab..b74b3c7 100644 --- a/lib/qlobber.js +++ b/lib/qlobber.js @@ -151,6 +151,11 @@ Qlobber.prototype._add_values = function (dest, origin) Qlobber.prototype._remove_value = function (vals, val) { + if (val === undefined) + { + return true; + } + var index = vals.lastIndexOf(val); if (index >= 0) @@ -202,9 +207,7 @@ Qlobber.prototype._remove = function (val, i, words, sub_trie) { st = sub_trie.get(this._separator); - if (st && - ((val === undefined) || - this._remove_value(st, val))) + if (st && this._remove_value(st, val)) { sub_trie.delete(this._separator); return true; @@ -537,6 +540,11 @@ QlobberDedup.prototype._add_values = function (dest, origin) QlobberDedup.prototype._remove_value = function (vals, val) { + if (val === undefined) + { + return true; + } + vals.delete(val); return vals.size === 0; }; diff --git a/package.json b/package.json index 38b7b03..93346e0 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "qlobber", "description": "Node.js globbing for amqp-like topics", - "version": "1.0.0", + "version": "1.1.0", "homepage": "https://github.com/davedoesdev/qlobber", "author": { "name": "David Halls", diff --git a/test/custom.js b/test/custom.js index f98eb10..19e0ef7 100644 --- a/test/custom.js +++ b/test/custom.js @@ -33,7 +33,13 @@ QosQlobber.prototype._add_values = function (dest, origin) QosQlobber.prototype._remove_value = function (vals, val) { + if (val === undefined) + { + return true; + } + vals.delete(val); + return vals.size === 0; }; QosQlobber.prototype.test_values = function (vals, val)