diff --git a/.gitignore b/.gitignore index 2361363..aa280b1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ /.idea/* -/node_modules/* \ No newline at end of file +/node_modules/* +/coverage/ \ No newline at end of file diff --git a/coverage/clover.xml b/coverage/clover.xml deleted file mode 100644 index e5cad72..0000000 --- a/coverage/clover.xml +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json deleted file mode 100644 index dea6835..0000000 --- a/coverage/coverage-final.json +++ /dev/null @@ -1,9 +0,0 @@ -{"F:\GitRepos\redux-arg\src\redux-arg\buildStoreChunk.js": {"path":"F:\\GitRepos\\redux-arg\\src\\redux-arg\\buildStoreChunk.js","statementMap":{"0":{"start":{"line":23,"column":28},"end":{"line":23,"column":39}},"1":{"start":{"line":29,"column":4},"end":{"line":29,"column":120}},"2":{"start":{"line":29,"column":20},"end":{"line":29,"column":120}},"3":{"start":{"line":30,"column":43},"end":{"line":39,"column":5}},"4":{"start":{"line":45,"column":4},"end":{"line":45,"column":112}},"5":{"start":{"line":45,"column":31},"end":{"line":45,"column":112}},"6":{"start":{"line":46,"column":4},"end":{"line":46,"column":87}},"7":{"start":{"line":53,"column":4},"end":{"line":55,"column":7}},"8":{"start":{"line":63,"column":41},"end":{"line":63,"column":52}},"9":{"start":{"line":64,"column":29},"end":{"line":64,"column":89}},"10":{"start":{"line":64,"column":56},"end":{"line":64,"column":88}},"11":{"start":{"line":70,"column":23},"end":{"line":78,"column":14}},"12":{"start":{"line":73,"column":46},"end":{"line":73,"column":80}},"13":{"start":{"line":85,"column":4},"end":{"line":99,"column":6}},"14":{"start":{"line":97,"column":77},"end":{"line":97,"column":111}}},"fnMap":{"0":{"name":"buildStoreChunk","decl":{"start":{"line":22,"column":16},"end":{"line":22,"column":31}},"loc":{"start":{"line":28,"column":27},"end":{"line":47,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":23,"column":19},"end":{"line":23,"column":20}},"loc":{"start":{"line":23,"column":28},"end":{"line":23,"column":39}}},"2":{"name":"combineStoreChunkReducers","decl":{"start":{"line":49,"column":16},"end":{"line":49,"column":41}},"loc":{"start":{"line":49,"column":82},"end":{"line":56,"column":1}}},"3":{"name":"processStructure","decl":{"start":{"line":58,"column":16},"end":{"line":58,"column":32}},"loc":{"start":{"line":58,"column":118},"end":{"line":100,"column":1}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":64,"column":51},"end":{"line":64,"column":52}},"loc":{"start":{"line":64,"column":56},"end":{"line":64,"column":88}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":73,"column":30},"end":{"line":73,"column":31}},"loc":{"start":{"line":73,"column":46},"end":{"line":73,"column":80}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":97,"column":68},"end":{"line":97,"column":69}},"loc":{"start":{"line":97,"column":77},"end":{"line":97,"column":111}}}},"branchMap":{"0":{"loc":{"start":{"line":22,"column":62},"end":{"line":28,"column":6}},"type":"default-arg","locations":[{"start":{"line":28,"column":4},"end":{"line":28,"column":6}}]},"1":{"loc":{"start":{"line":23,"column":4},"end":{"line":23,"column":39}},"type":"default-arg","locations":[{"start":{"line":23,"column":19},"end":{"line":23,"column":39}}]},"2":{"loc":{"start":{"line":24,"column":4},"end":{"line":24,"column":23}},"type":"default-arg","locations":[{"start":{"line":24,"column":21},"end":{"line":24,"column":23}}]},"3":{"loc":{"start":{"line":29,"column":4},"end":{"line":29,"column":120}},"type":"if","locations":[{"start":{"line":29,"column":4},"end":{"line":29,"column":120}},{"start":{"line":29,"column":4},"end":{"line":29,"column":120}}]},"4":{"loc":{"start":{"line":45,"column":4},"end":{"line":45,"column":112}},"type":"if","locations":[{"start":{"line":45,"column":4},"end":{"line":45,"column":112}},{"start":{"line":45,"column":4},"end":{"line":45,"column":112}}]},"5":{"loc":{"start":{"line":70,"column":23},"end":{"line":78,"column":14}},"type":"cond-expr","locations":[{"start":{"line":71,"column":12},"end":{"line":74,"column":14}},{"start":{"line":75,"column":12},"end":{"line":78,"column":14}}]},"6":{"loc":{"start":{"line":72,"column":32},"end":{"line":72,"column":101}},"type":"cond-expr","locations":[{"start":{"line":72,"column":54},"end":{"line":72,"column":90}},{"start":{"line":72,"column":93},"end":{"line":72,"column":101}}]},"7":{"loc":{"start":{"line":97,"column":24},"end":{"line":97,"column":111}},"type":"cond-expr","locations":[{"start":{"line":97,"column":43},"end":{"line":97,"column":65}},{"start":{"line":97,"column":68},"end":{"line":97,"column":111}}]}},"s":{"0":6,"1":7,"2":1,"3":6,"4":6,"5":2,"6":4,"7":6,"8":10,"9":10,"10":2,"11":10,"12":1,"13":10,"14":6},"f":{"0":7,"1":6,"2":6,"3":10,"4":2,"5":1,"6":6},"b":{"0":[5],"1":[5],"2":[5],"3":[1,6],"4":[2,4],"5":[2,8],"6":[1,1],"7":[2,8]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"946807fc8e84de6f8565992e56e857d535248c0e"} -,"F:\GitRepos\redux-arg\src\redux-arg\reducers.js": {"path":"F:\\GitRepos\\redux-arg\\src\\redux-arg\\reducers.js","statementMap":{"0":{"start":{"line":45,"column":69},"end":{"line":51,"column":1}},"1":{"start":{"line":63,"column":26},"end":{"line":63,"column":45}},"2":{"start":{"line":64,"column":21},"end":{"line":64,"column":32}},"3":{"start":{"line":66,"column":4},"end":{"line":66,"column":131}},"4":{"start":{"line":66,"column":38},"end":{"line":66,"column":131}},"5":{"start":{"line":68,"column":4},"end":{"line":73,"column":6}},"6":{"start":{"line":82,"column":4},"end":{"line":85,"column":7}},"7":{"start":{"line":94,"column":4},"end":{"line":97,"column":12}},"8":{"start":{"line":94,"column":62},"end":{"line":97,"column":5}},"9":{"start":{"line":106,"column":56},"end":{"line":106,"column":73}},"10":{"start":{"line":107,"column":20},"end":{"line":107,"column":77}},"11":{"start":{"line":109,"column":4},"end":{"line":109,"column":38}},"12":{"start":{"line":109,"column":18},"end":{"line":109,"column":38}},"13":{"start":{"line":111,"column":4},"end":{"line":114,"column":12}},"14":{"start":{"line":111,"column":61},"end":{"line":114,"column":5}},"15":{"start":{"line":117,"column":29},"end":{"line":117,"column":71}}},"fnMap":{"0":{"name":"determineReducerType","decl":{"start":{"line":53,"column":16},"end":{"line":53,"column":36}},"loc":{"start":{"line":61,"column":25},"end":{"line":74,"column":1}}},"1":{"name":"callReducer","decl":{"start":{"line":76,"column":16},"end":{"line":76,"column":27}},"loc":{"start":{"line":81,"column":25},"end":{"line":86,"column":1}}},"2":{"name":"createReducerBehaviors","decl":{"start":{"line":88,"column":16},"end":{"line":88,"column":38}},"loc":{"start":{"line":88,"column":127},"end":{"line":98,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":94,"column":35},"end":{"line":94,"column":36}},"loc":{"start":{"line":94,"column":62},"end":{"line":97,"column":5}}},"4":{"name":"calculateDefaults","decl":{"start":{"line":100,"column":16},"end":{"line":100,"column":33}},"loc":{"start":{"line":100,"column":82},"end":{"line":115,"column":1}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":111,"column":29},"end":{"line":111,"column":30}},"loc":{"start":{"line":111,"column":61},"end":{"line":114,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":56,"column":4},"end":{"line":56,"column":51}},"type":"default-arg","locations":[{"start":{"line":56,"column":28},"end":{"line":56,"column":51}}]},"1":{"loc":{"start":{"line":66,"column":4},"end":{"line":66,"column":131}},"type":"if","locations":[{"start":{"line":66,"column":4},"end":{"line":66,"column":131}},{"start":{"line":66,"column":4},"end":{"line":66,"column":131}}]},"2":{"loc":{"start":{"line":106,"column":18},"end":{"line":106,"column":32}},"type":"default-arg","locations":[{"start":{"line":106,"column":30},"end":{"line":106,"column":32}}]},"3":{"loc":{"start":{"line":106,"column":34},"end":{"line":106,"column":51}},"type":"default-arg","locations":[{"start":{"line":106,"column":49},"end":{"line":106,"column":51}}]},"4":{"loc":{"start":{"line":109,"column":4},"end":{"line":109,"column":38}},"type":"if","locations":[{"start":{"line":109,"column":4},"end":{"line":109,"column":38}},{"start":{"line":109,"column":4},"end":{"line":109,"column":38}}]}},"s":{"0":2,"1":14,"2":14,"3":14,"4":1,"5":13,"6":9,"7":9,"8":22,"9":12,"10":12,"11":12,"12":9,"13":3,"14":6,"15":2},"f":{"0":14,"1":9,"2":9,"3":22,"4":12,"5":6},"b":{"0":[13],"1":[1,13],"2":[9],"3":[3],"4":[9,3]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8fd7f0f0efa9f87ac0b9db82affcee078df55df7"} -,"F:\GitRepos\redux-arg\src\redux-arg\structure.js": {"path":"F:\\GitRepos\\redux-arg\\src\\redux-arg\\structure.js","statementMap":{"0":{"start":{"line":49,"column":26},"end":{"line":56,"column":1}},"1":{"start":{"line":60,"column":34},"end":{"line":89,"column":1}},"2":{"start":{"line":61,"column":43},"end":{"line":65,"column":6}},"3":{"start":{"line":61,"column":50},"end":{"line":65,"column":5}},"4":{"start":{"line":66,"column":42},"end":{"line":70,"column":6}},"5":{"start":{"line":66,"column":49},"end":{"line":70,"column":5}},"6":{"start":{"line":71,"column":48},"end":{"line":75,"column":6}},"7":{"start":{"line":71,"column":55},"end":{"line":75,"column":5}},"8":{"start":{"line":76,"column":78},"end":{"line":80,"column":6}},"9":{"start":{"line":76,"column":85},"end":{"line":80,"column":5}},"10":{"start":{"line":81,"column":44},"end":{"line":84,"column":6}},"11":{"start":{"line":81,"column":51},"end":{"line":84,"column":5}},"12":{"start":{"line":85,"column":42},"end":{"line":88,"column":6}},"13":{"start":{"line":85,"column":49},"end":{"line":88,"column":5}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":61,"column":12},"end":{"line":61,"column":13}},"loc":{"start":{"line":61,"column":43},"end":{"line":65,"column":6}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":61,"column":43},"end":{"line":61,"column":44}},"loc":{"start":{"line":61,"column":50},"end":{"line":65,"column":5}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":66,"column":12},"end":{"line":66,"column":13}},"loc":{"start":{"line":66,"column":42},"end":{"line":70,"column":6}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":66,"column":42},"end":{"line":66,"column":43}},"loc":{"start":{"line":66,"column":49},"end":{"line":70,"column":5}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":71,"column":13},"end":{"line":71,"column":14}},"loc":{"start":{"line":71,"column":48},"end":{"line":75,"column":6}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":71,"column":48},"end":{"line":71,"column":49}},"loc":{"start":{"line":71,"column":55},"end":{"line":75,"column":5}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":76,"column":13},"end":{"line":76,"column":14}},"loc":{"start":{"line":76,"column":78},"end":{"line":80,"column":6}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":76,"column":78},"end":{"line":76,"column":79}},"loc":{"start":{"line":76,"column":85},"end":{"line":80,"column":5}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":81,"column":13},"end":{"line":81,"column":14}},"loc":{"start":{"line":81,"column":44},"end":{"line":84,"column":6}}},"9":{"name":"(anonymous_9)","decl":{"start":{"line":81,"column":44},"end":{"line":81,"column":45}},"loc":{"start":{"line":81,"column":51},"end":{"line":84,"column":5}}},"10":{"name":"(anonymous_10)","decl":{"start":{"line":85,"column":11},"end":{"line":85,"column":12}},"loc":{"start":{"line":85,"column":42},"end":{"line":88,"column":6}}},"11":{"name":"(anonymous_11)","decl":{"start":{"line":85,"column":42},"end":{"line":85,"column":43}},"loc":{"start":{"line":85,"column":49},"end":{"line":88,"column":5}}}},"branchMap":{"0":{"loc":{"start":{"line":61,"column":13},"end":{"line":61,"column":38}},"type":"default-arg","locations":[{"start":{"line":61,"column":36},"end":{"line":61,"column":38}}]},"1":{"loc":{"start":{"line":66,"column":13},"end":{"line":66,"column":37}},"type":"default-arg","locations":[{"start":{"line":66,"column":36},"end":{"line":66,"column":37}}]},"2":{"loc":{"start":{"line":71,"column":14},"end":{"line":71,"column":43}},"type":"default-arg","locations":[{"start":{"line":71,"column":38},"end":{"line":71,"column":43}}]},"3":{"loc":{"start":{"line":76,"column":56},"end":{"line":76,"column":73}},"type":"default-arg","locations":[{"start":{"line":76,"column":71},"end":{"line":76,"column":73}}]}},"s":{"0":4,"1":4,"2":24,"3":59,"4":16,"5":28,"6":7,"7":7,"8":11,"9":15,"10":18,"11":28,"12":14,"13":29},"f":{"0":24,"1":59,"2":16,"3":28,"4":7,"5":7,"6":11,"7":15,"8":18,"9":28,"10":14,"11":29},"b":{"0":[17],"1":[14],"2":[6],"3":[10]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"d3ac28eae12016abead62c5eb021adcbc0b59845"} -,"F:\GitRepos\redux-arg\src\redux-arg\validatePayload.js": {"path":"F:\\GitRepos\\redux-arg\\src\\redux-arg\\validatePayload.js","statementMap":{"0":{"start":{"line":16,"column":4},"end":{"line":19,"column":5}},"1":{"start":{"line":17,"column":8},"end":{"line":17,"column":96}},"2":{"start":{"line":18,"column":8},"end":{"line":18,"column":18}},"3":{"start":{"line":21,"column":4},"end":{"line":43,"column":11}},"4":{"start":{"line":22,"column":26},"end":{"line":22,"column":59}},"5":{"start":{"line":25,"column":8},"end":{"line":29,"column":9}},"6":{"start":{"line":26,"column":12},"end":{"line":27,"column":99}},"7":{"start":{"line":28,"column":12},"end":{"line":28,"column":24}},"8":{"start":{"line":31,"column":31},"end":{"line":31,"column":84}},"9":{"start":{"line":32,"column":8},"end":{"line":37,"column":9}},"10":{"start":{"line":33,"column":12},"end":{"line":35,"column":32}},"11":{"start":{"line":36,"column":12},"end":{"line":36,"column":24}},"12":{"start":{"line":39,"column":8},"end":{"line":42,"column":9}},"13":{"start":{"line":48,"column":4},"end":{"line":48,"column":64}},"14":{"start":{"line":48,"column":51},"end":{"line":48,"column":64}},"15":{"start":{"line":49,"column":4},"end":{"line":49,"column":104}},"16":{"start":{"line":55,"column":4},"end":{"line":58,"column":5}},"17":{"start":{"line":56,"column":8},"end":{"line":56,"column":94}},"18":{"start":{"line":57,"column":8},"end":{"line":57,"column":18}},"19":{"start":{"line":59,"column":29},"end":{"line":59,"column":55}},"20":{"start":{"line":60,"column":24},"end":{"line":60,"column":47}},"21":{"start":{"line":61,"column":4},"end":{"line":61,"column":106}},"22":{"start":{"line":61,"column":32},"end":{"line":61,"column":89}},"23":{"start":{"line":61,"column":103},"end":{"line":61,"column":104}},"24":{"start":{"line":65,"column":29},"end":{"line":71,"column":5}},"25":{"start":{"line":72,"column":27},"end":{"line":72,"column":49}},"26":{"start":{"line":73,"column":4},"end":{"line":76,"column":5}},"27":{"start":{"line":74,"column":8},"end":{"line":75,"column":39}},"28":{"start":{"line":77,"column":4},"end":{"line":77,"column":26}}},"fnMap":{"0":{"name":"validateShape","decl":{"start":{"line":15,"column":16},"end":{"line":15,"column":29}},"loc":{"start":{"line":15,"column":74},"end":{"line":44,"column":1}}},"1":{"name":"(anonymous_1)","decl":{"start":{"line":21,"column":25},"end":{"line":21,"column":26}},"loc":{"start":{"line":21,"column":48},"end":{"line":43,"column":5}}},"2":{"name":"validatePrimitive","decl":{"start":{"line":46,"column":16},"end":{"line":46,"column":33}},"loc":{"start":{"line":46,"column":69},"end":{"line":50,"column":1}}},"3":{"name":"validateArray","decl":{"start":{"line":52,"column":16},"end":{"line":52,"column":29}},"loc":{"start":{"line":52,"column":84},"end":{"line":62,"column":1}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":61,"column":21},"end":{"line":61,"column":22}},"loc":{"start":{"line":61,"column":32},"end":{"line":61,"column":89}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":61,"column":98},"end":{"line":61,"column":99}},"loc":{"start":{"line":61,"column":103},"end":{"line":61,"column":104}}},"6":{"name":"getTypeValidation","decl":{"start":{"line":64,"column":16},"end":{"line":64,"column":33}},"loc":{"start":{"line":64,"column":68},"end":{"line":78,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":16,"column":4},"end":{"line":19,"column":5}},"type":"if","locations":[{"start":{"line":16,"column":4},"end":{"line":19,"column":5}},{"start":{"line":16,"column":4},"end":{"line":19,"column":5}}]},"1":{"loc":{"start":{"line":25,"column":8},"end":{"line":29,"column":9}},"type":"if","locations":[{"start":{"line":25,"column":8},"end":{"line":29,"column":9}},{"start":{"line":25,"column":8},"end":{"line":29,"column":9}}]},"2":{"loc":{"start":{"line":32,"column":8},"end":{"line":37,"column":9}},"type":"if","locations":[{"start":{"line":32,"column":8},"end":{"line":37,"column":9}},{"start":{"line":32,"column":8},"end":{"line":37,"column":9}}]},"3":{"loc":{"start":{"line":48,"column":4},"end":{"line":48,"column":64}},"type":"if","locations":[{"start":{"line":48,"column":4},"end":{"line":48,"column":64}},{"start":{"line":48,"column":4},"end":{"line":48,"column":64}}]},"4":{"loc":{"start":{"line":55,"column":4},"end":{"line":58,"column":5}},"type":"if","locations":[{"start":{"line":55,"column":4},"end":{"line":58,"column":5}},{"start":{"line":55,"column":4},"end":{"line":58,"column":5}}]},"5":{"loc":{"start":{"line":73,"column":4},"end":{"line":76,"column":5}},"type":"if","locations":[{"start":{"line":73,"column":4},"end":{"line":76,"column":5}},{"start":{"line":73,"column":4},"end":{"line":76,"column":5}}]}},"s":{"0":11,"1":1,"2":1,"3":10,"4":15,"5":15,"6":1,"7":1,"8":14,"9":14,"10":1,"11":1,"12":13,"13":35,"14":31,"15":4,"16":7,"17":1,"18":1,"19":6,"20":6,"21":6,"22":14,"23":14,"24":29,"25":29,"26":29,"27":1,"28":28},"f":{"0":11,"1":15,"2":35,"3":7,"4":14,"5":14,"6":29},"b":{"0":[1,10],"1":[1,14],"2":[1,13],"3":[31,4],"4":[1,6],"5":[1,28]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"df8e8c423250d2460e9a8444bc9c269743398d34"} -,"F:\GitRepos\redux-arg\src\redux-arg\reducers\arrayReducer.js": {"path":"F:\\GitRepos\\redux-arg\\src\\redux-arg\\reducers\\arrayReducer.js","statementMap":{"0":{"start":{"line":48,"column":4},"end":{"line":51,"column":5}},"1":{"start":{"line":49,"column":8},"end":{"line":49,"column":84}},"2":{"start":{"line":50,"column":8},"end":{"line":50,"column":21}},"3":{"start":{"line":52,"column":4},"end":{"line":52,"column":16}},"4":{"start":{"line":65,"column":61},"end":{"line":109,"column":1}},"5":{"start":{"line":69,"column":12},"end":{"line":69,"column":75}},"6":{"start":{"line":69,"column":62},"end":{"line":69,"column":75}},"7":{"start":{"line":70,"column":12},"end":{"line":70,"column":134}},"8":{"start":{"line":70,"column":39},"end":{"line":70,"column":134}},"9":{"start":{"line":71,"column":12},"end":{"line":71,"column":123}},"10":{"start":{"line":71,"column":55},"end":{"line":71,"column":123}},"11":{"start":{"line":72,"column":12},"end":{"line":72,"column":56}},"12":{"start":{"line":77,"column":12},"end":{"line":77,"column":55}},"13":{"start":{"line":78,"column":12},"end":{"line":78,"column":61}},"14":{"start":{"line":83,"column":12},"end":{"line":83,"column":56}},"15":{"start":{"line":84,"column":12},"end":{"line":84,"column":47}},"16":{"start":{"line":89,"column":12},"end":{"line":89,"column":57}},"17":{"start":{"line":90,"column":12},"end":{"line":90,"column":118}},"18":{"start":{"line":90,"column":39},"end":{"line":90,"column":118}},"19":{"start":{"line":91,"column":12},"end":{"line":91,"column":56}},"20":{"start":{"line":97,"column":12},"end":{"line":97,"column":101}},"21":{"start":{"line":97,"column":32},"end":{"line":97,"column":101}},"22":{"start":{"line":98,"column":12},"end":{"line":98,"column":25}},"23":{"start":{"line":101,"column":12},"end":{"line":101,"column":27}},"24":{"start":{"line":106,"column":12},"end":{"line":106,"column":32}},"25":{"start":{"line":116,"column":4},"end":{"line":121,"column":6}},"26":{"start":{"line":128,"column":25},"end":{"line":128,"column":97}},"27":{"start":{"line":131,"column":4},"end":{"line":138,"column":5}},"28":{"start":{"line":133,"column":8},"end":{"line":133,"column":43}},"29":{"start":{"line":133,"column":30},"end":{"line":133,"column":43}},"30":{"start":{"line":137,"column":8},"end":{"line":137,"column":107}},"31":{"start":{"line":150,"column":4},"end":{"line":150,"column":78}},"32":{"start":{"line":150,"column":26},"end":{"line":150,"column":78}},"33":{"start":{"line":154,"column":26},"end":{"line":154,"column":48}},"34":{"start":{"line":155,"column":4},"end":{"line":155,"column":89}},"35":{"start":{"line":155,"column":48},"end":{"line":155,"column":89}},"36":{"start":{"line":156,"column":4},"end":{"line":156,"column":49}},"37":{"start":{"line":162,"column":4},"end":{"line":169,"column":12}},"38":{"start":{"line":162,"column":62},"end":{"line":169,"column":5}},"39":{"start":{"line":164,"column":56},"end":{"line":168,"column":9}},"40":{"start":{"line":166,"column":48},"end":{"line":166,"column":53}}},"fnMap":{"0":{"name":"checkIndex","decl":{"start":{"line":47,"column":9},"end":{"line":47,"column":19}},"loc":{"start":{"line":47,"column":81},"end":{"line":53,"column":1}}},"1":{"name":"createArrayReducer","decl":{"start":{"line":112,"column":16},"end":{"line":112,"column":34}},"loc":{"start":{"line":115,"column":29},"end":{"line":122,"column":1}}},"2":{"name":"createReducer","decl":{"start":{"line":125,"column":9},"end":{"line":125,"column":22}},"loc":{"start":{"line":125,"column":113},"end":{"line":139,"column":1}}},"3":{"name":"(anonymous_3)","decl":{"start":{"line":131,"column":11},"end":{"line":131,"column":12}},"loc":{"start":{"line":131,"column":95},"end":{"line":138,"column":5}}},"4":{"name":"applyValidation","decl":{"start":{"line":142,"column":9},"end":{"line":142,"column":24}},"loc":{"start":{"line":142,"column":81},"end":{"line":157,"column":1}}},"5":{"name":"createActions","decl":{"start":{"line":160,"column":9},"end":{"line":160,"column":22}},"loc":{"start":{"line":160,"column":107},"end":{"line":170,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":162,"column":35},"end":{"line":162,"column":36}},"loc":{"start":{"line":162,"column":62},"end":{"line":169,"column":5}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":164,"column":16},"end":{"line":164,"column":17}},"loc":{"start":{"line":164,"column":56},"end":{"line":168,"column":9}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":166,"column":42},"end":{"line":166,"column":43}},"loc":{"start":{"line":166,"column":48},"end":{"line":166,"column":53}}}},"branchMap":{"0":{"loc":{"start":{"line":48,"column":4},"end":{"line":51,"column":5}},"type":"if","locations":[{"start":{"line":48,"column":4},"end":{"line":51,"column":5}},{"start":{"line":48,"column":4},"end":{"line":51,"column":5}}]},"1":{"loc":{"start":{"line":48,"column":8},"end":{"line":48,"column":40}},"type":"binary-expr","locations":[{"start":{"line":48,"column":8},"end":{"line":48,"column":24}},{"start":{"line":48,"column":28},"end":{"line":48,"column":40}}]},"2":{"loc":{"start":{"line":68,"column":46},"end":{"line":68,"column":56}},"type":"default-arg","locations":[{"start":{"line":68,"column":54},"end":{"line":68,"column":56}}]},"3":{"loc":{"start":{"line":69,"column":12},"end":{"line":69,"column":75}},"type":"if","locations":[{"start":{"line":69,"column":12},"end":{"line":69,"column":75}},{"start":{"line":69,"column":12},"end":{"line":69,"column":75}}]},"4":{"loc":{"start":{"line":70,"column":12},"end":{"line":70,"column":134}},"type":"if","locations":[{"start":{"line":70,"column":12},"end":{"line":70,"column":134}},{"start":{"line":70,"column":12},"end":{"line":70,"column":134}}]},"5":{"loc":{"start":{"line":70,"column":46},"end":{"line":70,"column":133}},"type":"binary-expr","locations":[{"start":{"line":70,"column":46},"end":{"line":70,"column":124}},{"start":{"line":70,"column":128},"end":{"line":70,"column":133}}]},"6":{"loc":{"start":{"line":71,"column":12},"end":{"line":71,"column":123}},"type":"if","locations":[{"start":{"line":71,"column":12},"end":{"line":71,"column":123}},{"start":{"line":71,"column":12},"end":{"line":71,"column":123}}]},"7":{"loc":{"start":{"line":71,"column":16},"end":{"line":71,"column":53}},"type":"binary-expr","locations":[{"start":{"line":71,"column":16},"end":{"line":71,"column":32}},{"start":{"line":71,"column":36},"end":{"line":71,"column":53}}]},"8":{"loc":{"start":{"line":90,"column":12},"end":{"line":90,"column":118}},"type":"if","locations":[{"start":{"line":90,"column":12},"end":{"line":90,"column":118}},{"start":{"line":90,"column":12},"end":{"line":90,"column":118}}]},"9":{"loc":{"start":{"line":97,"column":12},"end":{"line":97,"column":101}},"type":"if","locations":[{"start":{"line":97,"column":12},"end":{"line":97,"column":101}},{"start":{"line":97,"column":12},"end":{"line":97,"column":101}}]},"10":{"loc":{"start":{"line":112,"column":77},"end":{"line":115,"column":27}},"type":"default-arg","locations":[{"start":{"line":115,"column":25},"end":{"line":115,"column":27}}]},"11":{"loc":{"start":{"line":131,"column":12},"end":{"line":131,"column":44}},"type":"default-arg","locations":[{"start":{"line":131,"column":32},"end":{"line":131,"column":44}}]},"12":{"loc":{"start":{"line":133,"column":8},"end":{"line":133,"column":43}},"type":"if","locations":[{"start":{"line":133,"column":8},"end":{"line":133,"column":43}},{"start":{"line":133,"column":8},"end":{"line":133,"column":43}}]},"13":{"loc":{"start":{"line":150,"column":4},"end":{"line":150,"column":78}},"type":"if","locations":[{"start":{"line":150,"column":4},"end":{"line":150,"column":78}},{"start":{"line":150,"column":4},"end":{"line":150,"column":78}}]},"14":{"loc":{"start":{"line":155,"column":4},"end":{"line":155,"column":89}},"type":"if","locations":[{"start":{"line":155,"column":4},"end":{"line":155,"column":89}},{"start":{"line":155,"column":4},"end":{"line":155,"column":89}}]},"15":{"loc":{"start":{"line":166,"column":22},"end":{"line":166,"column":54}},"type":"binary-expr","locations":[{"start":{"line":166,"column":22},"end":{"line":166,"column":37}},{"start":{"line":166,"column":42},"end":{"line":166,"column":53}}]}},"s":{"0":0,"1":0,"2":0,"3":0,"4":2,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":1,"21":0,"22":1,"23":0,"24":0,"25":1,"26":1,"27":1,"28":15,"29":15,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":1,"38":6,"39":1,"40":0},"f":{"0":0,"1":1,"2":1,"3":15,"4":0,"5":1,"6":6,"7":1,"8":0},"b":{"0":[0,0],"1":[0,0],"2":[0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,1],"10":[0],"11":[11],"12":[15,0],"13":[0,0],"14":[0,0],"15":[1,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"f275eeb0ef09af0272e3cc473fcf6bef40f2fa71"} -,"F:\GitRepos\redux-arg\src\redux-arg\reducers\objectReducer.js": {"path":"F:\\GitRepos\\redux-arg\\src\\redux-arg\\reducers\\objectReducer.js","statementMap":{"0":{"start":{"line":53,"column":61},"end":{"line":71,"column":1}},"1":{"start":{"line":55,"column":24},"end":{"line":55,"column":36}},"2":{"start":{"line":57,"column":12},"end":{"line":57,"column":44}},"3":{"start":{"line":62,"column":12},"end":{"line":62,"column":32}},"4":{"start":{"line":66,"column":24},"end":{"line":66,"column":36}},"5":{"start":{"line":68,"column":12},"end":{"line":68,"column":27}},"6":{"start":{"line":78,"column":4},"end":{"line":83,"column":6}},"7":{"start":{"line":88,"column":4},"end":{"line":93,"column":12}},"8":{"start":{"line":88,"column":68},"end":{"line":93,"column":5}},"9":{"start":{"line":98,"column":33},"end":{"line":98,"column":111}},"10":{"start":{"line":99,"column":4},"end":{"line":106,"column":5}},"11":{"start":{"line":101,"column":8},"end":{"line":101,"column":43}},"12":{"start":{"line":101,"column":30},"end":{"line":101,"column":43}},"13":{"start":{"line":105,"column":8},"end":{"line":105,"column":93}},"14":{"start":{"line":112,"column":4},"end":{"line":118,"column":12}},"15":{"start":{"line":112,"column":62},"end":{"line":118,"column":5}},"16":{"start":{"line":114,"column":36},"end":{"line":117,"column":9}},"17":{"start":{"line":116,"column":48},"end":{"line":116,"column":62}}},"fnMap":{"0":{"name":"createShapeReducer","decl":{"start":{"line":74,"column":16},"end":{"line":74,"column":34}},"loc":{"start":{"line":77,"column":29},"end":{"line":84,"column":1}}},"1":{"name":"calculateDefaults","decl":{"start":{"line":87,"column":9},"end":{"line":87,"column":26}},"loc":{"start":{"line":87,"column":45},"end":{"line":94,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":88,"column":36},"end":{"line":88,"column":37}},"loc":{"start":{"line":88,"column":68},"end":{"line":93,"column":5}}},"3":{"name":"createReducer","decl":{"start":{"line":97,"column":9},"end":{"line":97,"column":22}},"loc":{"start":{"line":97,"column":103},"end":{"line":107,"column":1}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":99,"column":11},"end":{"line":99,"column":12}},"loc":{"start":{"line":99,"column":76},"end":{"line":106,"column":5}}},"5":{"name":"createActions","decl":{"start":{"line":110,"column":9},"end":{"line":110,"column":22}},"loc":{"start":{"line":110,"column":128},"end":{"line":119,"column":1}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":112,"column":35},"end":{"line":112,"column":36}},"loc":{"start":{"line":112,"column":62},"end":{"line":118,"column":5}}},"7":{"name":"(anonymous_7)","decl":{"start":{"line":114,"column":16},"end":{"line":114,"column":17}},"loc":{"start":{"line":114,"column":36},"end":{"line":117,"column":9}}},"8":{"name":"(anonymous_8)","decl":{"start":{"line":116,"column":42},"end":{"line":116,"column":43}},"loc":{"start":{"line":116,"column":48},"end":{"line":116,"column":62}}}},"branchMap":{"0":{"loc":{"start":{"line":56,"column":23},"end":{"line":56,"column":35}},"type":"default-arg","locations":[{"start":{"line":56,"column":33},"end":{"line":56,"column":35}}]},"1":{"loc":{"start":{"line":67,"column":23},"end":{"line":67,"column":35}},"type":"default-arg","locations":[{"start":{"line":67,"column":33},"end":{"line":67,"column":35}}]},"2":{"loc":{"start":{"line":74,"column":64},"end":{"line":77,"column":27}},"type":"default-arg","locations":[{"start":{"line":77,"column":25},"end":{"line":77,"column":27}}]},"3":{"loc":{"start":{"line":90,"column":20},"end":{"line":92,"column":38}},"type":"cond-expr","locations":[{"start":{"line":91,"column":14},"end":{"line":91,"column":54}},{"start":{"line":92,"column":14},"end":{"line":92,"column":38}}]},"4":{"loc":{"start":{"line":99,"column":12},"end":{"line":99,"column":32}},"type":"default-arg","locations":[{"start":{"line":99,"column":20},"end":{"line":99,"column":32}}]},"5":{"loc":{"start":{"line":101,"column":8},"end":{"line":101,"column":43}},"type":"if","locations":[{"start":{"line":101,"column":8},"end":{"line":101,"column":43}},{"start":{"line":101,"column":8},"end":{"line":101,"column":43}}]},"6":{"loc":{"start":{"line":116,"column":22},"end":{"line":116,"column":63}},"type":"binary-expr","locations":[{"start":{"line":116,"column":22},"end":{"line":116,"column":37}},{"start":{"line":116,"column":42},"end":{"line":116,"column":62}}]}},"s":{"0":2,"1":0,"2":0,"3":0,"4":1,"5":0,"6":1,"7":1,"8":0,"9":1,"10":1,"11":15,"12":15,"13":0,"14":1,"15":3,"16":1,"17":0},"f":{"0":1,"1":1,"2":0,"3":1,"4":15,"5":1,"6":3,"7":1,"8":0},"b":{"0":[0],"1":[0],"2":[0],"3":[0,0],"4":[11],"5":[15,0],"6":[1,0]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"1c7b02e1913e1cac1b934c4432cd78273eee1475"} -,"F:\GitRepos\redux-arg\src\redux-arg\reducers\primitiveReducer.js": {"path":"F:\\GitRepos\\redux-arg\\src\\redux-arg\\reducers\\primitiveReducer.js","statementMap":{"0":{"start":{"line":50,"column":69},"end":{"line":63,"column":1}},"1":{"start":{"line":52,"column":24},"end":{"line":52,"column":36}},"2":{"start":{"line":54,"column":12},"end":{"line":54,"column":52}},"3":{"start":{"line":54,"column":39},"end":{"line":54,"column":52}},"4":{"start":{"line":55,"column":12},"end":{"line":55,"column":27}},"5":{"start":{"line":60,"column":12},"end":{"line":60,"column":32}},"6":{"start":{"line":70,"column":4},"end":{"line":75,"column":6}},"7":{"start":{"line":80,"column":32},"end":{"line":80,"column":94}},"8":{"start":{"line":81,"column":4},"end":{"line":88,"column":5}},"9":{"start":{"line":83,"column":8},"end":{"line":83,"column":43}},"10":{"start":{"line":83,"column":30},"end":{"line":83,"column":43}},"11":{"start":{"line":87,"column":8},"end":{"line":87,"column":95}},"12":{"start":{"line":94,"column":4},"end":{"line":100,"column":12}},"13":{"start":{"line":94,"column":62},"end":{"line":100,"column":5}},"14":{"start":{"line":96,"column":35},"end":{"line":99,"column":9}},"15":{"start":{"line":98,"column":48},"end":{"line":98,"column":62}}},"fnMap":{"0":{"name":"createPrimitiveReducer","decl":{"start":{"line":66,"column":16},"end":{"line":66,"column":38}},"loc":{"start":{"line":69,"column":33},"end":{"line":76,"column":1}}},"1":{"name":"createReducer","decl":{"start":{"line":79,"column":9},"end":{"line":79,"column":22}},"loc":{"start":{"line":79,"column":109},"end":{"line":89,"column":1}}},"2":{"name":"(anonymous_2)","decl":{"start":{"line":81,"column":11},"end":{"line":81,"column":12}},"loc":{"start":{"line":81,"column":80},"end":{"line":88,"column":5}}},"3":{"name":"createActions","decl":{"start":{"line":92,"column":9},"end":{"line":92,"column":22}},"loc":{"start":{"line":92,"column":136},"end":{"line":101,"column":1}}},"4":{"name":"(anonymous_4)","decl":{"start":{"line":94,"column":35},"end":{"line":94,"column":36}},"loc":{"start":{"line":94,"column":62},"end":{"line":100,"column":5}}},"5":{"name":"(anonymous_5)","decl":{"start":{"line":96,"column":16},"end":{"line":96,"column":17}},"loc":{"start":{"line":96,"column":35},"end":{"line":99,"column":9}}},"6":{"name":"(anonymous_6)","decl":{"start":{"line":98,"column":42},"end":{"line":98,"column":43}},"loc":{"start":{"line":98,"column":48},"end":{"line":98,"column":62}}}},"branchMap":{"0":{"loc":{"start":{"line":54,"column":12},"end":{"line":54,"column":52}},"type":"if","locations":[{"start":{"line":54,"column":12},"end":{"line":54,"column":52}},{"start":{"line":54,"column":12},"end":{"line":54,"column":52}}]},"1":{"loc":{"start":{"line":66,"column":69},"end":{"line":69,"column":31}},"type":"default-arg","locations":[{"start":{"line":69,"column":29},"end":{"line":69,"column":31}}]},"2":{"loc":{"start":{"line":81,"column":12},"end":{"line":81,"column":32}},"type":"default-arg","locations":[{"start":{"line":81,"column":20},"end":{"line":81,"column":32}}]},"3":{"loc":{"start":{"line":83,"column":8},"end":{"line":83,"column":43}},"type":"if","locations":[{"start":{"line":83,"column":8},"end":{"line":83,"column":43}},{"start":{"line":83,"column":8},"end":{"line":83,"column":43}}]},"4":{"loc":{"start":{"line":98,"column":22},"end":{"line":98,"column":63}},"type":"binary-expr","locations":[{"start":{"line":98,"column":22},"end":{"line":98,"column":37}},{"start":{"line":98,"column":42},"end":{"line":98,"column":62}}]}},"s":{"0":2,"1":3,"2":2,"3":0,"4":2,"5":2,"6":6,"7":6,"8":6,"9":67,"10":63,"11":4,"12":6,"13":12,"14":5,"15":2},"f":{"0":6,"1":6,"2":67,"3":6,"4":12,"5":5,"6":2},"b":{"0":[0,2],"1":[0],"2":[51],"3":[63,4],"4":[5,2]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"df48bac692aa287e7e8682954d068a235a2e741a"} -,"F:\GitRepos\redux-arg\src\redux-arg\utils\arrayUtils.js": {"path":"F:\\GitRepos\\redux-arg\\src\\redux-arg\\utils\\arrayUtils.js","statementMap":{"0":{"start":{"line":3,"column":4},"end":{"line":3,"column":100}},"1":{"start":{"line":3,"column":35},"end":{"line":3,"column":100}},"2":{"start":{"line":4,"column":4},"end":{"line":4,"column":124}},"3":{"start":{"line":4,"column":47},"end":{"line":4,"column":124}},"4":{"start":{"line":5,"column":4},"end":{"line":9,"column":6}},"5":{"start":{"line":13,"column":4},"end":{"line":13,"column":100}},"6":{"start":{"line":13,"column":35},"end":{"line":13,"column":100}},"7":{"start":{"line":14,"column":4},"end":{"line":14,"column":124}},"8":{"start":{"line":14,"column":47},"end":{"line":14,"column":124}},"9":{"start":{"line":15,"column":4},"end":{"line":18,"column":6}}},"fnMap":{"0":{"name":"updateAtIndex","decl":{"start":{"line":2,"column":16},"end":{"line":2,"column":29}},"loc":{"start":{"line":2,"column":88},"end":{"line":10,"column":1}}},"1":{"name":"removeAtIndex","decl":{"start":{"line":12,"column":16},"end":{"line":12,"column":29}},"loc":{"start":{"line":12,"column":76},"end":{"line":19,"column":1}}}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":4},"end":{"line":3,"column":100}},"type":"if","locations":[{"start":{"line":3,"column":4},"end":{"line":3,"column":100}},{"start":{"line":3,"column":4},"end":{"line":3,"column":100}}]},"1":{"loc":{"start":{"line":4,"column":4},"end":{"line":4,"column":124}},"type":"if","locations":[{"start":{"line":4,"column":4},"end":{"line":4,"column":124}},{"start":{"line":4,"column":4},"end":{"line":4,"column":124}}]},"2":{"loc":{"start":{"line":4,"column":8},"end":{"line":4,"column":45}},"type":"binary-expr","locations":[{"start":{"line":4,"column":8},"end":{"line":4,"column":17}},{"start":{"line":4,"column":21},"end":{"line":4,"column":45}}]},"3":{"loc":{"start":{"line":13,"column":4},"end":{"line":13,"column":100}},"type":"if","locations":[{"start":{"line":13,"column":4},"end":{"line":13,"column":100}},{"start":{"line":13,"column":4},"end":{"line":13,"column":100}}]},"4":{"loc":{"start":{"line":14,"column":4},"end":{"line":14,"column":124}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":14,"column":124}},{"start":{"line":14,"column":4},"end":{"line":14,"column":124}}]},"5":{"loc":{"start":{"line":14,"column":8},"end":{"line":14,"column":45}},"type":"binary-expr","locations":[{"start":{"line":14,"column":8},"end":{"line":14,"column":17}},{"start":{"line":14,"column":21},"end":{"line":14,"column":45}}]}},"s":{"0":6,"1":2,"2":4,"3":1,"4":3,"5":6,"6":2,"7":4,"8":1,"9":3},"f":{"0":6,"1":6},"b":{"0":[2,4],"1":[1,3],"2":[4,4],"3":[2,4],"4":[1,3],"5":[4,4]},"_coverageSchema":"332fd63041d2c1bcb487cc26dd0d5f7d97098a6c","hash":"8cc8bd05559913dd85112fae5b66db64a98fda2a"} -} diff --git a/coverage/lcov-report/base.css b/coverage/lcov-report/base.css deleted file mode 100644 index 417c7ad..0000000 --- a/coverage/lcov-report/base.css +++ /dev/null @@ -1,212 +0,0 @@ -body, html { - margin:0; padding: 0; - height: 100%; -} -body { - font-family: Helvetica Neue, Helvetica, Arial; - font-size: 14px; - color:#333; -} -.small { font-size: 12px; } -*, *:after, *:before { - -webkit-box-sizing:border-box; - -moz-box-sizing:border-box; - box-sizing:border-box; - } -h1 { font-size: 20px; margin: 0;} -h2 { font-size: 14px; } -pre { - font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; - margin: 0; - padding: 0; - -moz-tab-size: 2; - -o-tab-size: 2; - tab-size: 2; -} -a { color:#0074D9; text-decoration:none; } -a:hover { text-decoration:underline; } -.strong { font-weight: bold; } -.space-top1 { padding: 10px 0 0 0; } -.pad2y { padding: 20px 0; } -.pad1y { padding: 10px 0; } -.pad2x { padding: 0 20px; } -.pad2 { padding: 20px; } -.pad1 { padding: 10px; } -.space-left2 { padding-left:55px; } -.space-right2 { padding-right:20px; } -.center { text-align:center; } -.clearfix { display:block; } -.clearfix:after { - content:''; - display:block; - height:0; - clear:both; - visibility:hidden; - } -.fl { float: left; } -@media only screen and (max-width:640px) { - .col3 { width:100%; max-width:100%; } - .hide-mobile { display:none!important; } -} - -.quiet { - color: #7f7f7f; - color: rgba(0,0,0,0.5); -} -.quiet a { opacity: 0.7; } - -.fraction { - font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; - font-size: 10px; - color: #555; - background: #E8E8E8; - padding: 4px 5px; - border-radius: 3px; - vertical-align: middle; -} - -div.path a:link, div.path a:visited { color: #333; } -table.coverage { - border-collapse: collapse; - margin: 10px 0 0 0; - padding: 0; -} - -table.coverage td { - margin: 0; - padding: 0; - vertical-align: top; -} -table.coverage td.line-count { - text-align: right; - padding: 0 5px 0 20px; -} -table.coverage td.line-coverage { - text-align: right; - padding-right: 10px; - min-width:20px; -} - -table.coverage td span.cline-any { - display: inline-block; - padding: 0 5px; - width: 100%; -} -.missing-if-branch { - display: inline-block; - margin-right: 5px; - border-radius: 3px; - position: relative; - padding: 0 4px; - background: #333; - color: yellow; -} - -.skip-if-branch { - display: none; - margin-right: 10px; - position: relative; - padding: 0 4px; - background: #ccc; - color: white; -} -.missing-if-branch .typ, .skip-if-branch .typ { - color: inherit !important; -} -.coverage-summary { - border-collapse: collapse; - width: 100%; -} -.coverage-summary tr { border-bottom: 1px solid #bbb; } -.keyline-all { border: 1px solid #ddd; } -.coverage-summary td, .coverage-summary th { padding: 10px; } -.coverage-summary tbody { border: 1px solid #bbb; } -.coverage-summary td { border-right: 1px solid #bbb; } -.coverage-summary td:last-child { border-right: none; } -.coverage-summary th { - text-align: left; - font-weight: normal; - white-space: nowrap; -} -.coverage-summary th.file { border-right: none !important; } -.coverage-summary th.pct { } -.coverage-summary th.pic, -.coverage-summary th.abs, -.coverage-summary td.pct, -.coverage-summary td.abs { text-align: right; } -.coverage-summary td.file { white-space: nowrap; } -.coverage-summary td.pic { min-width: 120px !important; } -.coverage-summary tfoot td { } - -.coverage-summary .sorter { - height: 10px; - width: 7px; - display: inline-block; - margin-left: 0.5em; - background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; -} -.coverage-summary .sorted .sorter { - background-position: 0 -20px; -} -.coverage-summary .sorted-desc .sorter { - background-position: 0 -10px; -} -.status-line { height: 10px; } -/* dark red */ -.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } -.low .chart { border:1px solid #C21F39 } -/* medium red */ -.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } -/* light red */ -.low, .cline-no { background:#FCE1E5 } -/* light green */ -.high, .cline-yes { background:rgb(230,245,208) } -/* medium green */ -.cstat-yes { background:rgb(161,215,106) } -/* dark green */ -.status-line.high, .high .cover-fill { background:rgb(77,146,33) } -.high .chart { border:1px solid rgb(77,146,33) } - - -.medium .chart { border:1px solid #666; } -.medium .cover-fill { background: #666; } - -.cbranch-no { background: yellow !important; color: #111; } - -.cstat-skip { background: #ddd; color: #111; } -.fstat-skip { background: #ddd; color: #111 !important; } -.cbranch-skip { background: #ddd !important; color: #111; } - -span.cline-neutral { background: #eaeaea; } -.medium { background: #eaeaea; } - -.cover-fill, .cover-empty { - display:inline-block; - height: 12px; -} -.chart { - line-height: 0; -} -.cover-empty { - background: white; -} -.cover-full { - border-right: none !important; -} -pre.prettyprint { - border: none !important; - padding: 0 !important; - margin: 0 !important; -} -.com { color: #999 !important; } -.ignore-none { color: #999; font-weight: normal; } - -.wrapper { - min-height: 100%; - height: auto !important; - height: 100%; - margin: 0 auto -48px; -} -.footer, .push { - height: 48px; -} diff --git a/coverage/lcov-report/index.html b/coverage/lcov-report/index.html deleted file mode 100644 index 4905a66..0000000 --- a/coverage/lcov-report/index.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - Code coverage report for All files - - - - - - - -
-
-

- All files -

-
-
- 76.1% - Statements - 121/159 -
-
- 64.21% - Branches - 61/95 -
-
- 91.53% - Functions - 54/59 -
-
- 76.61% - Lines - 95/124 -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
redux-arg
100%74/74100%36/36100%32/32100%58/58
redux-arg/reducers
49.33%37/7527.66%13/4780%20/2551.67%31/60
redux-arg/utils
100%10/10100%12/12100%2/2100%6/6
-
-
- - - - - - - diff --git a/coverage/lcov-report/prettify.css b/coverage/lcov-report/prettify.css deleted file mode 100644 index b317a7c..0000000 --- a/coverage/lcov-report/prettify.css +++ /dev/null @@ -1 +0,0 @@ -.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/coverage/lcov-report/prettify.js b/coverage/lcov-report/prettify.js deleted file mode 100644 index ef51e03..0000000 --- a/coverage/lcov-report/prettify.js +++ /dev/null @@ -1 +0,0 @@ -window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/coverage/lcov-report/redux-arg/buildStoreChunk.js.html b/coverage/lcov-report/redux-arg/buildStoreChunk.js.html deleted file mode 100644 index a8e3b27..0000000 --- a/coverage/lcov-report/redux-arg/buildStoreChunk.js.html +++ /dev/null @@ -1,392 +0,0 @@ - - - - Code coverage report for redux-arg/buildStoreChunk.js - - - - - - - -
-
-

- All files / redux-arg buildStoreChunk.js -

-
-
- 100% - Statements - 15/15 -
-
- 100% - Branches - 13/13 -
-
- 100% - Functions - 7/7 -
-
- 100% - Lines - 12/12 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -6x -  -  -  -  -  -7x -6x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -6x -4x -  -  -  -  -  -  -6x -  -  -  -  -  -  -  -  -  -10x -10x -  -  -  -  -  -10x -  -  -1x -  -  -  -  -  -  -  -  -  -  -  -10x -  -  -  -  -  -  -  -  -  -  -  -6x -  -  -  -  -  -  -  -  -  -  -  -  - 
//@flow
-//==============================
-// Flow imports
-//==============================
-import type { StructureType, PrimitiveType } from './structure';
-import type { PartialStoreChunk } from './reducers';
- 
-//==============================
-// JS imports
-//==============================
-import { combineReducers } from 'redux';
-import { reduce, find, omit, isFunction } from 'lodash';
-import { compose } from 'ramda';
-import { createReducer } from './reducers';
-import { PROP_TYPES } from './structure';
- 
-// Build a chunk of the eventual store. The selectors and actions
-// generated will specifically operate on the store chunk generated. Selectors will be
-// relative to the baseSelector provided or, if not specified, the root of the store, using
-// the name of the chunk as the base property.
- 
-export function buildStoreChunk(name: string, structure: any, {
-    baseSelector = state => state[name],
-    locationString = '',
-}: {
-    baseSelector: any,
-    locationString: string,
-} = {}): PartialStoreChunk {
-    if (!structure) throw new Error(`The structure must be defined for a reducer! LocationString: ${ locationString }`);
-    const initialMemo: PartialStoreChunk = {
-        reducers: {
-            [name]: {},
-        },
-        actions: {},
-        selectors: {},
-        baseSelector,
-        locationString,
-        name,
-    };
-    //Build up the reducers, actions, and selectors for this level. Due to recursion,
-    //these objects will be assigned to a property in the parent object, or simply
-    //returned to the call site for use in the rest of the application.
- 
-    //If the reducer's structure is a function (and, therefore, not nested reducers), we can skip the reduce.
-    if (isFunction(structure)) return combineStoreChunkReducers(processStructure(initialMemo, structure, name));
-    return combineStoreChunkReducers(reduce(structure, processStructure, initialMemo));
-}
- 
-export function combineStoreChunkReducers(processedStoreChunk: PartialStoreChunk) {
-    //The Redux 'combineReducers' helper function is used here to save a little bit of boilerplate.
-    //This helper, if you're not aware, ensures that the correct store properties are passed to the
-    //reducers assigned to those properties.
-    return { ...omit(processedStoreChunk, ['baseSelector', 'locationString', 'name']), reducers: {
-        [processedStoreChunk.name]: combineReducers(processedStoreChunk.reducers)
-    }};
-}
- 
-export function processStructure(memo: PartialStoreChunk, propValue: StructureType | PrimitiveType, propName: string) {
-    //Get the structure from the propValue. In the case of 'StructureType' properties, this
-    //will be some form of shape (or primitives in the case of arrays). At this point we
-    //are only interested in whether or not the structure contains reducers, as that
-    //has an impact on how we proceed with regards to calls.
-    const { structure: propStructure } = propValue();
-    const containsReducers = !!find(propStructure, v => v().type === PROP_TYPES._reducer);
- 
-    //Create the child reducer. Depending on whether or not the current structure level contains
-    //child reducers, we will either recursively call reducerBuilder, or we will call the
-    //createReducer function, which will create the correct reducer for the given structure
-    //(which can be either object, array, or primitive).
-    let childReducer = containsReducers
-        ?   buildStoreChunk(propName, propStructure, {
-                locationString: memo.locationString ? `${memo.locationString}.${propName}` : propName,
-                baseSelector: (state: any) => memo.baseSelector(state)[propName],
-            })
-        :   createReducer(propValue, {
-                locationString: `${memo.locationString}.${propName}`,
-                name: propName,
-            });
- 
-    //As the object is built up, we want to assign the reducers/actions created
-    //by the child to a location on the reducers/actions object which will match up
-    //to their location. Selectors are created at this level, as the child does not
-    //need to know where it is located within the grand scheme of things.
- 
-    return {
-        ...memo,
-        reducers: {
-            ...memo.reducers,
-            ...childReducer.reducers
-        },
-        actions: {
-            ...memo.actions,
-            [propName]: childReducer.actions,
-        },
-        selectors: {
-            ...memo.selectors,
-            [propName]: containsReducers ? childReducer.selectors : state => memo.baseSelector(state)[propName],
-        },
-    };
-}
- 
- 
- 
- 
- 
- 
- 
- 
- 
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/redux-arg/index.html b/coverage/lcov-report/redux-arg/index.html deleted file mode 100644 index 1a0e421..0000000 --- a/coverage/lcov-report/redux-arg/index.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - Code coverage report for redux-arg - - - - - - - -
-
-

- All files redux-arg -

-
-
- 100% - Statements - 74/74 -
-
- 100% - Branches - 36/36 -
-
- 100% - Functions - 32/32 -
-
- 100% - Lines - 58/58 -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
buildStoreChunk.js
100%15/15100%13/13100%7/7100%12/12
reducers.js
100%16/16100%7/7100%6/6100%12/12
structure.js
100%14/14100%4/4100%12/12100%8/8
validatePayload.js
100%29/29100%12/12100%7/7100%26/26
-
-
- - - - - - - diff --git a/coverage/lcov-report/redux-arg/reducers.js.html b/coverage/lcov-report/redux-arg/reducers.js.html deleted file mode 100644 index c7598db..0000000 --- a/coverage/lcov-report/redux-arg/reducers.js.html +++ /dev/null @@ -1,416 +0,0 @@ - - - - Code coverage report for redux-arg/reducers.js - - - - - - - -
-
-

- All files / redux-arg reducers.js -

-
-
- 100% - Statements - 16/16 -
-
- 100% - Branches - 7/7 -
-
- 100% - Functions - 6/6 -
-
- 100% - Lines - 12/12 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -2x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -14x -14x -  -14x -  -13x -  -  -  -  -  -  -  -  -  -  -  -  -  -9x -  -  -  -  -  -  -  -  -  -  -  -22x -  -  -  -  -  -  -  -  -  -  -  -12x -12x -  -12x -  -6x -  -  -  -  -  -2x - 
//@flow
-//==============================
-// Flow imports
-//==============================
-import type {
-    StructureType,
-    PrimitiveType,
-    ReducerType,
-    PropTypeKeys,
-} from './structure';
- 
-//==============================
-// Flow types
-//==============================
-export type PartialStoreChunk = {
-    reducers: { [key: string]: any },
-    actions: { [key: string]: any },
-    selectors: { [key: string]: any },
-    locationString: string,
-    baseSelector: () => {},
-    name: string,
-};
- 
-export type Selector = (state: Object) => any;
- 
-type CallReducerInterface = {
-    name: string,
-    reducerFn: () => {},
-    reducerStructureDescriptor: StructureType | PrimitiveType,
-    locationString: string,
-};
- 
-//==============================
-// JS imports
-//==============================
-import {
-    PROP_TYPES,
-} from './structure';
-import { compose } from 'ramda';
-import { reduce, find } from 'lodash';
-import { createShapeReducer } from './reducers/objectReducer';
-import { createArrayReducer } from './reducers/arrayReducer';
-import { createPrimitiveReducer } from './reducers/primitiveReducer';
- 
-export const REDUCER_CREATOR_MAPPING: { [key: PropTypeKeys]: any } = {
-    [PROP_TYPES._shape]: createShapeReducer,
-    [PROP_TYPES._array]: createArrayReducer,
-    [PROP_TYPES._boolean]: createPrimitiveReducer,
-    [PROP_TYPES._string]: createPrimitiveReducer,
-    [PROP_TYPES._number]: createPrimitiveReducer,
-};
- 
-export function determineReducerType(reducerDescriptor: ReducerType, {
-    name,
-    locationString,
-    reducerCreatorMapping = REDUCER_CREATOR_MAPPING,
-}: {
-    name: string,
-    locationString: string,
-    reducerCreatorMapping: { [key: PropTypeKeys]: any },
-}): CallReducerInterface {
- 
-    const { structure } = reducerDescriptor();
-    const { type } = structure();
- 
-    if (!reducerCreatorMapping[type]) throw new Error(`Reducer type ${type} does not have a corresponding createReducer function`);
- 
-    return {
-        name,
-        reducerFn: reducerCreatorMapping[type],
-        reducerStructureDescriptor: structure,
-        locationString,
-    };
-}
- 
-export function callReducer({
-    name,
-    reducerFn,
-    reducerStructureDescriptor,
-    locationString
-}: CallReducerInterface) {
-    return reducerFn(reducerStructureDescriptor, {
-        locationString,
-        name,
-    });
-}
- 
-export function createReducerBehaviors(behaviorsConfig: { [key: string]: { reducer: () => {} } }, locationString: string): any {
-    //Take a reducer behavior config object, and create the reducer behaviors using the location string.
-    //This is necessary since all action types are effectively global when Redux processes an action
-    //(i.e. every reducer will be ran using the action object). Therefore we need to ensure that all
-    //actions only result in the specific reducer performing a change. Actions are also generated using
-    //the location string/name combination, so will match up 1:1.
-    return reduce(behaviorsConfig, (memo, behavior, name) => ({
-        ...memo,
-        [`${locationString}.${name}`]: behavior.reducer,
-    }), {});
-}
- 
-export function calculateDefaults(typeDescription: StructureType | PrimitiveType) {
-    //Using the structure of a type, calculate the default for that type.
-    //Types can take two forms; a 'StructureType' and a 'PrimitiveType'. The former
-    //can (and usually does) contain nested type descriptions, so we need to recurse
-    //through the definition until defaults are found, and build up the corresponding
-    //structure.
-    const { type, structure = {}, defaultValue = '' } = typeDescription();
-    const complex = [PROP_TYPES._array, PROP_TYPES._shape].indexOf(type) > -1;
- 
-    if (!complex) return defaultValue;
- 
-    return reduce(structure, (memo, propValue, propName) => ({
-        ...memo,
-        [propName]: calculateDefaults(propValue),
-    }), {});
-}
- 
-export const createReducer = compose(callReducer, determineReducerType);
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/redux-arg/reducers/arrayReducer.js.html b/coverage/lcov-report/redux-arg/reducers/arrayReducer.js.html deleted file mode 100644 index b36d885..0000000 --- a/coverage/lcov-report/redux-arg/reducers/arrayReducer.js.html +++ /dev/null @@ -1,575 +0,0 @@ - - - - Code coverage report for redux-arg/reducers/arrayReducer.js - - - - - - - -
-
-

- All files / redux-arg/reducers arrayReducer.js -

-
-
- 26.83% - Statements - 11/41 -
-
- 13.79% - Branches - 4/29 -
-
- 66.67% - Functions - 6/9 -
-
- 28.13% - Lines - 9/32 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122 -123 -124 -125 -126 -127 -128 -129 -130 -131 -132 -133 -134 -135 -136 -137 -138 -139 -140 -141 -142 -143 -144 -145 -146 -147 -148 -149 -150 -151 -152 -153 -154 -155 -156 -157 -158 -159 -160 -161 -162 -163 -164 -165 -166 -167 -168 -169 -170 -171  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -2x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -1x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -  -  -  -  -  -  -  -  -  -  -1x -  -  -1x -  -15x -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -6x -  -1x -  -  -  -  -  -  - 
//@flow
-//==============================
-// Flow imports
-//==============================
-import type { ArrayStructureType } from '../structure';
- 
-//==============================
-// Flow types
-//==============================
-export type ArrayReducerAction = {
-    type: string,
-    payload: any,
-    index: number,
-};
-export type ArrayReducer = (state: Array<any>, action: ArrayReducerAction) => Array<any>;
-export type ArrayReducerBehavior = (state: Array<any>, payload: any, initialState: Array<any>, index: number | void) => Array<any>;
-export type ArrayReducerBehaviorsConfig = {
-    [key: string]: {
-        action?: (value: any) => any,
-        reducer: ArrayReducerBehavior,
-    }
-};
-export type ArrayReducerBehaviors = {
-    [key: string]: ArrayReducerBehavior,
-};
-export type ArrayAction = (value: Array<any>) => { type: string, payload: any, index?: number };
-export type ArrayActions = {
-    [key: string]: Array<any>
-};
-export type ArrayReducerOptions = {
-    behaviorsConfig: ArrayReducerBehaviorsConfig,
-    locationString: string,
-    name: string,
-};
-export type ArraySelector = (state: Object) => Array<any>;
- 
-//==============================
-// JS imports
-//==============================
-import { reduce, isArray, isNumber, isObject } from 'lodash';
-import { validateArray, validateShape, validatePrimitive } from '../validatePayload';
-import { createReducerBehaviors } from '../reducers';
-import { updateAtIndex, removeAtIndex } from '../utils/arrayUtils';
-import { PROP_TYPES } from '../structure';
- 
- 
-function checkIndex(index: ?number, payload: any, behaviorName: string): boolean {
-    if (!isNumber(index) || index === -1) {
-        console.warn(`Index not passed to ${behaviorName} for payload ${payload}.`);
-        return false;
-    }
-    return true;
-}
- 
- 
-//==============================
-// Array behaviors
-// ----------------
-// Arrays are more complicated than shape or primitive reducers, due to
-// the complexities in amending specific elements. Of course, the behaviours
-// could still follow and the same pattern as the other reducers and simply
-// make the end user replace the correct index themselves. However, it made sense
-// to create a few helper behaviors to aid with the most common array operations.
-//==============================
-const DEFAULT_ARRAY_BEHAVIORS: ArrayReducerBehaviorsConfig = {
-    //Index specific behaviors.
-    updateAtIndex: {
-        reducer(state, payload, initialState, index = -1) {
-            if (!checkIndex(index, payload, 'updateAtIndex')) return state;
-            if (payload === undefined) return console.warn('Undefined was passed when updating index. Update not performed') || state;
-            if (isArray(payload) || isObject(payload)) return updateAtIndex(state, { ...state[index], ...payload }, index);
-            return updateAtIndex(state, payload, index);
-        }
-    },
-    resetAtIndex: {
-        reducer(state, payload, initialState, index) {
-            checkIndex(index, payload, 'resetAtIndex');
-            return updateAtIndex(state, initialState, index);
-        }
-    },
-    removeAtIndex: {
-        reducer(state, payload, initialState, index) {
-            checkIndex(index, payload, 'removeAtIndex');
-            return removeAtIndex(state, index);
-        }
-    },
-    replaceAtIndex: {
-        reducer(state, payload, initialState, index) {
-            checkIndex(index, payload, 'replaceAtIndex');
-            if (payload === undefined) console.warn('Undefined was passed when updating index. Update not performed');
-            return updateAtIndex(state, payload, index);
-        }
-    },
-    //Whole array behaviors.
-    replace: {
-        action(value) {
-            Iif(!isArray(value)) throw new Error('An array must be provided when replacing an array');
-            return value;
-        },
-        reducer(state, payload) {
-            return payload;
-        }
-    },
-    reset: {
-        reducer(state, payload, initialState) {
-            return initialState;
-        }
-    },
-};
- 
- 
-export function createArrayReducer(arrayTypeDescription: ArrayStructureType, {
-    locationString,
-    name,
-}: ArrayReducerOptions = {}) {
-    return {
-        reducers: {
-            [name]: createReducer(arrayTypeDescription, createReducerBehaviors(DEFAULT_ARRAY_BEHAVIORS, locationString))
-        },
-        actions: createActions(DEFAULT_ARRAY_BEHAVIORS, locationString, {}),
-    };
-}
- 
- 
-function createReducer(arrayTypeDescription: ArrayStructureType, behaviors: ArrayReducerBehaviors): ArrayReducer {
-    //Take the initial value specified as the default for the array, then apply it, using the validation
-    //when doing so. The initial value must be an array.
-    const initialValue = validateArray(arrayTypeDescription, arrayTypeDescription().defaultValue);
- 
-    //Return the array reducer.
-    return (state: Array<any> = initialValue, { type, payload, index }: ArrayReducerAction) => {
-        //If the action type does not match any of the specified behaviors, just return the current state.
-        Eif (!behaviors[type]) return state;
-        //Validating the payload of an array is more tricky, as we do not know ahead of time if the
-        //payload should be an object, primitive, or an array. However, we can still validate here based on the
-        //payload type passed.
-        return behaviors[type](state, applyValidation(arrayTypeDescription, payload), initialValue, index);
-    }
-}
- 
- 
-function applyValidation(arrayTypeDescription: ArrayStructureType, payload: any) {
-    // Array validation is more tricky than object/primitive, as it is possible that the current
-    // action may involve updating the contents of a specific array element, rather than the
-    // whole array. As a result, some extra functionality is required to determine which
-    // form of validation to apply.
- 
-    // First case is simple - if the action payload is an array, then we simply validate it against
-    // the structure of this reducer.
-    if (isArray(payload)) return validateArray(arrayTypeDescription, payload);
- 
-    // If a non-array payload has been passed in, then we need to check which form of validation
-    // to use, by checking the structure of the array.
-    const { structure } = arrayTypeDescription();
-    if (structure().type === PROP_TYPES._shape) return validateShape(structure, payload);
-    return validatePrimitive(structure, payload);
-}
- 
- 
-function createActions(behaviorsConfig: ArrayReducerBehaviorsConfig, locationString: string): ArrayActions {
-    //Take a reducer behavior config object, and create actions using the location string
-    return reduce(behaviorsConfig, (memo, behavior, name) => ({
-        ...memo,
-        [name]: (value: Array<any>, index: ?number) => ({
-            type: `${locationString}.${name}`,
-            payload: (behavior.action || (() => value))(value),
-            index,
-        })
-    }), {});
-}
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/redux-arg/reducers/index.html b/coverage/lcov-report/redux-arg/reducers/index.html deleted file mode 100644 index e5d21c3..0000000 --- a/coverage/lcov-report/redux-arg/reducers/index.html +++ /dev/null @@ -1,119 +0,0 @@ - - - - Code coverage report for redux-arg/reducers - - - - - - - -
-
-

- All files redux-arg/reducers -

-
-
- 49.33% - Statements - 37/75 -
-
- 27.66% - Branches - 13/47 -
-
- 80% - Functions - 20/25 -
-
- 51.67% - Lines - 31/60 -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
arrayReducer.js
26.83%11/4113.79%4/2966.67%6/928.13%9/32
objectReducer.js
61.11%11/1830%3/1077.78%7/960%9/15
primitiveReducer.js
93.75%15/1675%6/8100%7/7100%13/13
-
-
- - - - - - - diff --git a/coverage/lcov-report/redux-arg/reducers/objectReducer.js.html b/coverage/lcov-report/redux-arg/reducers/objectReducer.js.html deleted file mode 100644 index 0325dda..0000000 --- a/coverage/lcov-report/redux-arg/reducers/objectReducer.js.html +++ /dev/null @@ -1,428 +0,0 @@ - - - - Code coverage report for redux-arg/reducers/objectReducer.js - - - - - - - -
-
-

- All files / redux-arg/reducers objectReducer.js -

-
-
- 61.11% - Statements - 11/18 -
-
- 30% - Branches - 3/10 -
-
- 77.78% - Functions - 7/9 -
-
- 60% - Lines - 9/15 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105 -106 -107 -108 -109 -110 -111 -112 -113 -114 -115 -116 -117 -118 -119 -120 -121 -122  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -2x -  -  -  -  -  -  -  -  -  -  -  -  -1x -  -  -  -  -  -  -  -  -  -  -  -1x -  -  -  -  -  -  -  -  -  -1x -  -  -  -  -  -  -  -  -  -1x -1x -  -15x -  -  -  -  -  -  -  -  -  -  -3x -  -1x -  -  -  -  -  -  -  - 
//@flow
-//==============================
-// Flow imports
-//==============================
-import type { StructureType } from '../structure';
- 
- 
-//==============================
-// Flow types
-//==============================
-export type ShapeReducerAction = {
-    type: string,
-    payload: Object,
-};
-export type ShapeReducer = (state: Object, action: ShapeReducerAction) => Object;
-export type ShapeReducerBehavior = (state: {}, payload: Object | void, initialState: {}) => Object;
-export type ShapeReducerBehaviorsConfig = {
-    [key: string]: {
-        action?: (value: Object) => Object,
-        reducer: ShapeReducerBehavior,
-    }
-};
-export type ShapeReducerBehaviors = {
-    [key: string]: ShapeReducerBehavior,
-};
-export type ShapeAction = (value: Object) => { type: string, payload: Object };
-export type ShapeActions = {
-    [key: string]: ShapeAction
-};
-export type ShapeReducerOptions = {
-    behaviorsConfig: ShapeReducerBehaviorsConfig,
-    locationString: string,
-    name: string,
-};
- 
- 
-//==============================
-// JS imports
-//==============================
-import { reduce } from 'lodash';
-import { validateShape } from '../validatePayload';
-import { createReducerBehaviors } from '../reducers';
-import { PROP_TYPES } from '../structure';
- 
- 
-//==============================
-// Shape behaviors
-// ----------------
-// Shapes differ from primitive reducers by allowing an update behavior, merging the
-// payload and the previous state in a shallow way. This supplements the replace
-// behavior, which still replaces the previous state with the payload.
-//==============================
-const DEFAULT_SHAPE_BEHAVIORS: ShapeReducerBehaviorsConfig = {
-    update: {
-        action(value) { return value },
-        reducer(state, payload = {}) {
-            return { ...state, ...payload };
-        }
-    },
-    reset: {
-        reducer(state, payload, initialState) {
-            return initialState;
-        }
-    },
-    replace: {
-        action(value) { return value },
-        reducer(state, payload = {}) {
-            return payload;
-        }
-    }
-};
- 
- 
-export function createShapeReducer(reducerShape: StructureType, {
-    locationString,
-    name,
-}: ShapeReducerOptions = {}) {
-    return {
-        reducers: {
-            [name]: createReducer(reducerShape, createReducerBehaviors(DEFAULT_SHAPE_BEHAVIORS, locationString)),
-        },
-        actions: createActions(DEFAULT_SHAPE_BEHAVIORS, locationString, {}),
-    };
-}
- 
- 
-function calculateDefaults(reducerStructure) {
-    return reduce(reducerStructure, (memo, propValue, propName) => ({
-        ...memo,
-        [propName]: propValue().type === PROP_TYPES._shape
-            ? calculateDefaults(propValue().structure)
-            : propValue().defaultValue,
-    }), {});
-}
- 
- 
-function createReducer(objectStructure: StructureType, behaviors: ShapeReducerBehaviors): ShapeReducer {
-    const initialState: Object = validateShape(objectStructure, calculateDefaults(objectStructure().structure));
-    return (state = initialState, { type, payload }: ShapeReducerAction) => {
-        //If the action type does not match any of the specified behaviors, just return the current state.
-        Eif (!behaviors[type]) return state;
- 
-        //Sanitize the payload using the reducer shape, then apply the sanitized
-        //payload to the state using the behavior linked to this action type.
-        return behaviors[type](state, validateShape(objectStructure, payload), initialState);
-    }
-}
- 
- 
-function createActions(behaviorsConfig: ShapeReducerBehaviorsConfig, locationString: string, defaultPayload: any): ShapeActions {
-    //Take a reducer behavior config object, and create actions using the location string
-    return reduce(behaviorsConfig, (memo, behavior, name) => ({
-        ...memo,
-        [name]: (value: Object) => ({
-            type: `${locationString}.${name}`,
-            payload: (behavior.action || (() => defaultPayload))(value),
-        })
-    }), {});
-}
- 
- 
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/redux-arg/reducers/primitiveReducer.js.html b/coverage/lcov-report/redux-arg/reducers/primitiveReducer.js.html deleted file mode 100644 index 7d52c1e..0000000 --- a/coverage/lcov-report/redux-arg/reducers/primitiveReducer.js.html +++ /dev/null @@ -1,377 +0,0 @@ - - - - Code coverage report for redux-arg/reducers/primitiveReducer.js - - - - - - - -
-
-

- All files / redux-arg/reducers primitiveReducer.js -

-
-
- 93.75% - Statements - 15/16 -
-
- 75% - Branches - 6/8 -
-
- 100% - Functions - 7/7 -
-
- 100% - Lines - 13/13 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90 -91 -92 -93 -94 -95 -96 -97 -98 -99 -100 -101 -102 -103 -104 -105  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -2x -  -3x -  -2x -2x -  -  -  -  -2x -  -  -  -  -  -  -  -  -  -6x -  -  -  -  -  -  -  -  -  -6x -6x -  -67x -  -  -  -4x -  -  -  -  -  -  -12x -  -5x -  -2x -  -  -  -  -  -  - 
//@flow
-//==============================
-// Flow imports
-//==============================
-import type { PrimitiveType } from '../structure';
- 
-//==============================
-// Flow types
-//==============================
-export type PrimitiveReducerAction = {
-    type: string,
-    payload: mixed,
-};
-export type PrimitiveReducer = (state: mixed, action: PrimitiveReducerAction) => mixed;
-export type PrimitiveReducerBehavior = (state: mixed, payload: mixed | void, initialState: mixed) => mixed;
-export type PrimitiveReducerBehaviorsConfig = {
-    [key: string]: {
-        action?: (value: mixed) => mixed,
-        reducer: PrimitiveReducerBehavior,
-    }
-};
-export type PrimitiveReducerBehaviors = {
-    [key: string]: PrimitiveReducerBehavior,
-};
-export type PrimitiveAction = (value: mixed) => { type: string, payload: mixed };
-export type PrimitiveActions = {
-    [key: string]: PrimitiveAction
-};
-export type PrimitiveReducerOptions = {
-    behaviorsConfig: PrimitiveReducerBehaviorsConfig,
-    locationString: string,
-    name: string,
-};
- 
-//==============================
-// JS imports
-//==============================
-import { reduce } from 'lodash';
-import { validatePrimitive } from '../validatePayload';
-import { createReducerBehaviors } from '../reducers';
- 
- 
-//==============================
-// Primitive behaviors
-// ----------------
-// Primitives are the most simple case, as they only have the replace and
-// reset behaviors by default.
-//==============================
- 
-const DEFAULT_PRIMITIVE_BEHAVIORS: PrimitiveReducerBehaviorsConfig = {
-    replace: {
-        action(value) { return value },
-        reducer(state, payload) {
-            Iif (payload === undefined) return state;
-            return payload;
-        }
-    },
-    reset: {
-        reducer(state, payload, initialState) {
-            return initialState;
-        }
-    },
-};
- 
- 
-export function createPrimitiveReducer(primitiveType: PrimitiveType, {
-    locationString,
-    name,
-}: PrimitiveReducerOptions = {}) {
-    return {
-        reducers: {
-            [name]: createReducer(primitiveType, createReducerBehaviors(DEFAULT_PRIMITIVE_BEHAVIORS, locationString)),
-        },
-        actions: createActions(DEFAULT_PRIMITIVE_BEHAVIORS, locationString, {}),
-    };
-}
- 
- 
-function createReducer(primitiveType: PrimitiveType, behaviors: PrimitiveReducerBehaviors): PrimitiveReducer {
-    const initialState: mixed = validatePrimitive(primitiveType, primitiveType().defaultValue);
-    return (state = initialState, { type, payload }: PrimitiveReducerAction) => {
-        //If the action type does not match any of the specified behaviors, just return the current state.
-        if (!behaviors[type]) return state;
- 
-        //Sanitize the payload using the reducer shape, then apply the sanitized
-        //payload to the state using the behavior linked to this action type.
-        return behaviors[type](state, validatePrimitive(primitiveType, payload), initialState);
-    }
-}
- 
- 
-function createActions(behaviorsConfig: PrimitiveReducerBehaviorsConfig, locationString: string, defaultPayload: any): PrimitiveActions {
-    //Take a reducer behavior config object, and create actions using the location string
-    return reduce(behaviorsConfig, (memo, behavior, name) => ({
-        ...memo,
-        [name]: (value: mixed) => ({
-            type: `${locationString}.${name}`,
-            payload: (behavior.action || (() => defaultPayload))(value),
-        })
-    }), {});
-}
- 
- 
- 
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/redux-arg/structure.js.html b/coverage/lcov-report/redux-arg/structure.js.html deleted file mode 100644 index f890d10..0000000 --- a/coverage/lcov-report/redux-arg/structure.js.html +++ /dev/null @@ -1,332 +0,0 @@ - - - - Code coverage report for redux-arg/structure.js - - - - - - - -
-
-

- All files / redux-arg structure.js -

-
-
- 100% - Statements - 14/14 -
-
- 100% - Branches - 4/4 -
-
- 100% - Functions - 12/12 -
-
- 100% - Lines - 8/8 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78 -79 -80 -81 -82 -83 -84 -85 -86 -87 -88 -89 -90  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -4x -  -  -  -  -  -  -  -  -  -  -4x -59x -  -  -  -  -28x -  -  -  -  -7x -  -  -  -  -15x -  -  -  -  -28x -  -  -  -29x -  -  -  -  - 
//@flow
- 
-//==============================
-// Flow types
-//==============================
-export type PropTypeKeys = $Keys<typeof PROP_TYPES>;
- 
-export type ShapeStructure = {
-    [key: string]: StructureType | PrimitiveType | ArrayStructureType,
-}
-export type StructureType = () => {
-    type: PropTypeKeys,
-    structure: ShapeStructure | StructureType | PrimitiveType,
-    defaultValue?: any,
-};
-export type ReducerType = () => {
-    type: PropTypeKeys,
-    structure: StructureType | PrimitiveType,
-};
-export type ArrayStructureType = () => {
-    type: PropTypeKeys,
-    structure: StructureType | PrimitiveType,
-    defaultValue: any,
-}
-export type PrimitiveType = () => {
-    type: PropTypeKeys,
-    defaultValue?: any,
-    typeofValue: string,
-    structure?: PrimitiveType,
-};
-export type TypesObject = {
-    [key: string]: CreateArrayType | CreateStringType | CreateNumberType | CreateShapeType | CreateBooleanType;
-}
- 
-export type TypesObjectDefaults = {
-    [key: string]: mixed | TypesArrayDefaults,
-}
-export type TypesArrayDefaults = Array<mixed> | Array<TypesObjectDefaults>;
- 
-type CreateStringType = (defaultValue: string) => PrimitiveType;
-type CreateNumberType = (defaultValue: number) => PrimitiveType;
-type CreateBooleanType = (defaultValue: boolean) => PrimitiveType;
-type CreateArrayType = (structure: StructureType | PrimitiveType, defaultValue: TypesArrayDefaults | TypesObjectDefaults) => StructureType;
-type CreateShapeType = (structure: ShapeStructure, defaultValue: TypesArrayDefaults | TypesObjectDefaults) => StructureType;
- 
-//==============================
-// Structure
-//==============================
-export const PROP_TYPES = {
-    _string: '_string',
-    _number: '_number',
-    _boolean: '_boolean',
-    _reducer: '_reducer',
-    _shape: '_shape',
-    _array: '_array',
-};
- 
-//The types objects are used in order to build up the structure of a store chunk, and provide/accept
-//default values whilst doing so.
-export const Types: TypesObject = {
-    string: (defaultValue: string = '') => () => ({
-        type: PROP_TYPES._string,
-        defaultValue,
-        typeofValue: 'string',
-    }),
-    number: (defaultValue: number = 0) => () => ({
-        type: PROP_TYPES._number,
-        defaultValue,
-        typeofValue: 'number',
-    }),
-    boolean: (defaultValue: boolean = false) => () => ({
-        type: PROP_TYPES._boolean,
-        defaultValue,
-        typeofValue: 'boolean',
-    }),
-    arrayOf: (structure: StructureType | PrimitiveType, defaultValue = []) => () => ({
-        type: PROP_TYPES._array,
-        structure,
-        defaultValue,
-    }),
-    reducer: (structure: ShapeStructure) => () => ({
-        type: PROP_TYPES._reducer,
-        structure,
-    }),
-    shape: (structure: ShapeStructure) => () => ({
-        type: PROP_TYPES._shape,
-        structure,
-    }),
-};
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/redux-arg/utils/arrayUtils.js.html b/coverage/lcov-report/redux-arg/utils/arrayUtils.js.html deleted file mode 100644 index c1c053f..0000000 --- a/coverage/lcov-report/redux-arg/utils/arrayUtils.js.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - Code coverage report for redux-arg/utils/arrayUtils.js - - - - - - - -
-
-

- All files / redux-arg/utils arrayUtils.js -

-
-
- 100% - Statements - 10/10 -
-
- 100% - Branches - 12/12 -
-
- 100% - Functions - 2/2 -
-
- 100% - Lines - 6/6 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20  -  -6x -4x -3x -  -  -  -  -  -  -  -6x -4x -3x -  -  -  -  - 
//@flow
-export function updateAtIndex(array: Array<any>, value: any, index: number): Array<any> {
-    if (typeof index !== 'number') throw new Error('Must provide a numeric index to updateAtIndex');
-    if (index < 0 || index > array.length - 1) throw new Error(`The index ${index} is out of range for the array provided`);
-    return [
-        ...array.slice(0,index),
-        value,
-        ...array.slice(index + 1),
-    ];
-}
- 
-export function removeAtIndex(array: Array<any>, index: number): Array<any> {
-    if (typeof index !== 'number') throw new Error('Must provide a numeric index to removeAtIndex');
-    if (index < 0 || index > array.length - 1) throw new Error(`The index ${index} is out of range for the array provided`);
-    return [
-        ...array.slice(0, index),
-        ...array.slice(index + 1),
-    ];
-}
- 
-
-
- - - - - - - diff --git a/coverage/lcov-report/redux-arg/utils/index.html b/coverage/lcov-report/redux-arg/utils/index.html deleted file mode 100644 index fb23ec3..0000000 --- a/coverage/lcov-report/redux-arg/utils/index.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - Code coverage report for redux-arg/utils - - - - - - - -
-
-

- All files redux-arg/utils -

-
-
- 100% - Statements - 10/10 -
-
- 100% - Branches - 12/12 -
-
- 100% - Functions - 2/2 -
-
- 100% - Lines - 6/6 -
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileStatementsBranchesFunctionsLines
arrayUtils.js
100%10/10100%12/12100%2/2100%6/6
-
-
- - - - - - - diff --git a/coverage/lcov-report/redux-arg/validatePayload.js.html b/coverage/lcov-report/redux-arg/validatePayload.js.html deleted file mode 100644 index 9971777..0000000 --- a/coverage/lcov-report/redux-arg/validatePayload.js.html +++ /dev/null @@ -1,296 +0,0 @@ - - - - Code coverage report for redux-arg/validatePayload.js - - - - - - - -
-
-

- All files / redux-arg validatePayload.js -

-
-
- 100% - Statements - 29/29 -
-
- 100% - Branches - 12/12 -
-
- 100% - Functions - 7/7 -
-
- 100% - Lines - 26/26 -
-
-
-
-

-
-
1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -15 -16 -17 -18 -19 -20 -21 -22 -23 -24 -25 -26 -27 -28 -29 -30 -31 -32 -33 -34 -35 -36 -37 -38 -39 -40 -41 -42 -43 -44 -45 -46 -47 -48 -49 -50 -51 -52 -53 -54 -55 -56 -57 -58 -59 -60 -61 -62 -63 -64 -65 -66 -67 -68 -69 -70 -71 -72 -73 -74 -75 -76 -77 -78  -  -  -  -  -  -  -  -  -  -  -  -  -  -  -11x -1x -1x -  -  -10x -15x -  -  -15x -1x -  -1x -  -  -14x -14x -1x -  -  -1x -  -  -13x -  -  -  -  -  -  -  -  -35x -4x -  -  -  -  -  -7x -1x -1x -  -6x -6x -14x -  -  -  -29x -  -  -  -  -  -  -29x -29x -1x -  -  -28x - 
//@flow
-//==============================
-// Flow imports and types
-//==============================
-import type { PrimitiveType, StructureType, ShapeStructure } from './structure';
- 
-type validationFunction = (structure: StructureType | PrimitiveType | ShapeStructure, value: any) => any;
- 
-//==============================
-// JS imports
-//==============================
-import { reduce, isObject } from 'lodash';
-import { PROP_TYPES } from './structure';
- 
-export function validateShape(objectStructure: any, value: mixed): Object {
-    if (!isObject(value)) {
-        console.error(`The value passed to validateObject() was not an object. Value: `, value);
-        return {};
-    }
- 
-    return reduce(value, (memo, value, name) => {
-        const valueType = objectStructure().structure[name];
-        //If the value type does not exist in the reducer structure, we don't want to include it in the payload.
-        //Display a console error for the developer, and skip the inclusion of this property in the payload.
-        if (!valueType) {
-            console.warn(`The property, ${name}, was not specified in the structure` +
-                ' and was stripped out of the payload. Structure: ',  objectStructure().structure);
-            return memo;
-        }
- 
-        const validatedValue = getTypeValidation(valueType().type)(valueType, value);
-        if (validatedValue === undefined) {
-            console.warn(`The property, ${name}, was populated with a type ${ typeof value } which does not` +
-                ' match that specified in the reducer configuration. It has been stripped from' +
-                ' the payload');
-            return memo;
-        }
- 
-        return {
-            ...memo,
-            [name]: validatedValue,
-        }
-    }, {});
-}
- 
-export function validatePrimitive(primitive: any, value: any): mixed {
-    //Validate primitives using the typeofValue property of the primitive type definitions.
-    if (typeof value === primitive().typeofValue ) return value;
-    return console.warn(`The value, ${value}, did not match the type specified (${primitive().type}).`);
-}
- 
-export function validateArray(arrayStructure: any, value: Array<any>): Array<mixed> {
-    //Validate arrays by performing either of the other validation types to each element of the array,
-    //based on the provided reducer structure.
-    if (!Array.isArray(value)) {
-        console.error(`The value passed to validateArray() was not an array. Value: `, value);
-        return [];
-    }
-    const elementStructure = arrayStructure().structure;
-    const elementType = elementStructure().type;
-    return value.map(element => getTypeValidation(elementType)(elementStructure, element)).filter(e => e);
-}
- 
-export function getTypeValidation(type: string): validationFunction {
-    const TYPE_VALIDATIONS = {
-        [PROP_TYPES._string]: validatePrimitive,
-        [PROP_TYPES._number]: validatePrimitive,
-        [PROP_TYPES._boolean]: validatePrimitive,
-        [PROP_TYPES._array]: validateArray,
-        [PROP_TYPES._shape]: validateShape,
-    };
-    const typeValidation = TYPE_VALIDATIONS[type];
-    if (!typeValidation) {
-        throw new Error(`The type ${type} does not have a corresponding
-                validation function!`);
-    }
-    return typeValidation;
-}
-
-
- - - - - - - diff --git a/coverage/lcov-report/sort-arrow-sprite.png b/coverage/lcov-report/sort-arrow-sprite.png deleted file mode 100644 index 03f704a..0000000 Binary files a/coverage/lcov-report/sort-arrow-sprite.png and /dev/null differ diff --git a/coverage/lcov-report/sorter.js b/coverage/lcov-report/sorter.js deleted file mode 100644 index 6c5034e..0000000 --- a/coverage/lcov-report/sorter.js +++ /dev/null @@ -1,158 +0,0 @@ -var addSorting = (function () { - "use strict"; - var cols, - currentSort = { - index: 0, - desc: false - }; - - // returns the summary table element - function getTable() { return document.querySelector('.coverage-summary'); } - // returns the thead element of the summary table - function getTableHeader() { return getTable().querySelector('thead tr'); } - // returns the tbody element of the summary table - function getTableBody() { return getTable().querySelector('tbody'); } - // returns the th element for nth column - function getNthColumn(n) { return getTableHeader().querySelectorAll('th')[n]; } - - // loads all columns - function loadColumns() { - var colNodes = getTableHeader().querySelectorAll('th'), - colNode, - cols = [], - col, - i; - - for (i = 0; i < colNodes.length; i += 1) { - colNode = colNodes[i]; - col = { - key: colNode.getAttribute('data-col'), - sortable: !colNode.getAttribute('data-nosort'), - type: colNode.getAttribute('data-type') || 'string' - }; - cols.push(col); - if (col.sortable) { - col.defaultDescSort = col.type === 'number'; - colNode.innerHTML = colNode.innerHTML + ''; - } - } - return cols; - } - // attaches a data attribute to every tr element with an object - // of data values keyed by column name - function loadRowData(tableRow) { - var tableCols = tableRow.querySelectorAll('td'), - colNode, - col, - data = {}, - i, - val; - for (i = 0; i < tableCols.length; i += 1) { - colNode = tableCols[i]; - col = cols[i]; - val = colNode.getAttribute('data-value'); - if (col.type === 'number') { - val = Number(val); - } - data[col.key] = val; - } - return data; - } - // loads all row data - function loadData() { - var rows = getTableBody().querySelectorAll('tr'), - i; - - for (i = 0; i < rows.length; i += 1) { - rows[i].data = loadRowData(rows[i]); - } - } - // sorts the table using the data for the ith column - function sortByIndex(index, desc) { - var key = cols[index].key, - sorter = function (a, b) { - a = a.data[key]; - b = b.data[key]; - return a < b ? -1 : a > b ? 1 : 0; - }, - finalSorter = sorter, - tableBody = document.querySelector('.coverage-summary tbody'), - rowNodes = tableBody.querySelectorAll('tr'), - rows = [], - i; - - if (desc) { - finalSorter = function (a, b) { - return -1 * sorter(a, b); - }; - } - - for (i = 0; i < rowNodes.length; i += 1) { - rows.push(rowNodes[i]); - tableBody.removeChild(rowNodes[i]); - } - - rows.sort(finalSorter); - - for (i = 0; i < rows.length; i += 1) { - tableBody.appendChild(rows[i]); - } - } - // removes sort indicators for current column being sorted - function removeSortIndicators() { - var col = getNthColumn(currentSort.index), - cls = col.className; - - cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); - col.className = cls; - } - // adds sort indicators for current column being sorted - function addSortIndicators() { - getNthColumn(currentSort.index).className += currentSort.desc ? ' sorted-desc' : ' sorted'; - } - // adds event listeners for all sorter widgets - function enableUI() { - var i, - el, - ithSorter = function ithSorter(i) { - var col = cols[i]; - - return function () { - var desc = col.defaultDescSort; - - if (currentSort.index === i) { - desc = !currentSort.desc; - } - sortByIndex(i, desc); - removeSortIndicators(); - currentSort.index = i; - currentSort.desc = desc; - addSortIndicators(); - }; - }; - for (i =0 ; i < cols.length; i += 1) { - if (cols[i].sortable) { - // add the click event handler on the th so users - // dont have to click on those tiny arrows - el = getNthColumn(i).querySelector('.sorter').parentElement; - if (el.addEventListener) { - el.addEventListener('click', ithSorter(i)); - } else { - el.attachEvent('onclick', ithSorter(i)); - } - } - } - } - // adds sorting functionality to the UI - return function () { - if (!getTable()) { - return; - } - cols = loadColumns(); - loadData(cols); - addSortIndicators(); - enableUI(); - }; -})(); - -window.addEventListener('load', addSorting); diff --git a/coverage/lcov.info b/coverage/lcov.info deleted file mode 100644 index c9870ba..0000000 --- a/coverage/lcov.info +++ /dev/null @@ -1,409 +0,0 @@ -TN: -SF:F:\GitRepos\redux-arg\src\redux-arg\buildStoreChunk.js -FN:22,buildStoreChunk -FN:23,(anonymous_1) -FN:49,combineStoreChunkReducers -FN:58,processStructure -FN:64,(anonymous_4) -FN:73,(anonymous_5) -FN:97,(anonymous_6) -FNF:7 -FNH:7 -FNDA:7,buildStoreChunk -FNDA:6,(anonymous_1) -FNDA:6,combineStoreChunkReducers -FNDA:10,processStructure -FNDA:2,(anonymous_4) -FNDA:1,(anonymous_5) -FNDA:6,(anonymous_6) -DA:23,6 -DA:29,7 -DA:30,6 -DA:45,6 -DA:46,4 -DA:53,6 -DA:63,10 -DA:64,10 -DA:70,10 -DA:73,1 -DA:85,10 -DA:97,6 -LF:12 -LH:12 -BRDA:22,0,0,5 -BRDA:23,1,0,5 -BRDA:24,2,0,5 -BRDA:29,3,0,1 -BRDA:29,3,1,6 -BRDA:45,4,0,2 -BRDA:45,4,1,4 -BRDA:70,5,0,2 -BRDA:70,5,1,8 -BRDA:72,6,0,1 -BRDA:72,6,1,1 -BRDA:97,7,0,2 -BRDA:97,7,1,8 -BRF:13 -BRH:13 -end_of_record -TN: -SF:F:\GitRepos\redux-arg\src\redux-arg\reducers.js -FN:53,determineReducerType -FN:76,callReducer -FN:88,createReducerBehaviors -FN:94,(anonymous_3) -FN:100,calculateDefaults -FN:111,(anonymous_5) -FNF:6 -FNH:6 -FNDA:14,determineReducerType -FNDA:9,callReducer -FNDA:9,createReducerBehaviors -FNDA:22,(anonymous_3) -FNDA:12,calculateDefaults -FNDA:6,(anonymous_5) -DA:45,2 -DA:63,14 -DA:64,14 -DA:66,14 -DA:68,13 -DA:82,9 -DA:94,22 -DA:106,12 -DA:107,12 -DA:109,12 -DA:111,6 -DA:117,2 -LF:12 -LH:12 -BRDA:56,0,0,13 -BRDA:66,1,0,1 -BRDA:66,1,1,13 -BRDA:106,2,0,9 -BRDA:106,3,0,3 -BRDA:109,4,0,9 -BRDA:109,4,1,3 -BRF:7 -BRH:7 -end_of_record -TN: -SF:F:\GitRepos\redux-arg\src\redux-arg\structure.js -FN:61,(anonymous_0) -FN:61,(anonymous_1) -FN:66,(anonymous_2) -FN:66,(anonymous_3) -FN:71,(anonymous_4) -FN:71,(anonymous_5) -FN:76,(anonymous_6) -FN:76,(anonymous_7) -FN:81,(anonymous_8) -FN:81,(anonymous_9) -FN:85,(anonymous_10) -FN:85,(anonymous_11) -FNF:12 -FNH:12 -FNDA:24,(anonymous_0) -FNDA:59,(anonymous_1) -FNDA:16,(anonymous_2) -FNDA:28,(anonymous_3) -FNDA:7,(anonymous_4) -FNDA:7,(anonymous_5) -FNDA:11,(anonymous_6) -FNDA:15,(anonymous_7) -FNDA:18,(anonymous_8) -FNDA:28,(anonymous_9) -FNDA:14,(anonymous_10) -FNDA:29,(anonymous_11) -DA:49,4 -DA:60,4 -DA:61,59 -DA:66,28 -DA:71,7 -DA:76,15 -DA:81,28 -DA:85,29 -LF:8 -LH:8 -BRDA:61,0,0,17 -BRDA:66,1,0,14 -BRDA:71,2,0,6 -BRDA:76,3,0,10 -BRF:4 -BRH:4 -end_of_record -TN: -SF:F:\GitRepos\redux-arg\src\redux-arg\validatePayload.js -FN:15,validateShape -FN:21,(anonymous_1) -FN:46,validatePrimitive -FN:52,validateArray -FN:61,(anonymous_4) -FN:61,(anonymous_5) -FN:64,getTypeValidation -FNF:7 -FNH:7 -FNDA:11,validateShape -FNDA:15,(anonymous_1) -FNDA:35,validatePrimitive -FNDA:7,validateArray -FNDA:14,(anonymous_4) -FNDA:14,(anonymous_5) -FNDA:29,getTypeValidation -DA:16,11 -DA:17,1 -DA:18,1 -DA:21,10 -DA:22,15 -DA:25,15 -DA:26,1 -DA:28,1 -DA:31,14 -DA:32,14 -DA:33,1 -DA:36,1 -DA:39,13 -DA:48,35 -DA:49,4 -DA:55,7 -DA:56,1 -DA:57,1 -DA:59,6 -DA:60,6 -DA:61,14 -DA:65,29 -DA:72,29 -DA:73,29 -DA:74,1 -DA:77,28 -LF:26 -LH:26 -BRDA:16,0,0,1 -BRDA:16,0,1,10 -BRDA:25,1,0,1 -BRDA:25,1,1,14 -BRDA:32,2,0,1 -BRDA:32,2,1,13 -BRDA:48,3,0,31 -BRDA:48,3,1,4 -BRDA:55,4,0,1 -BRDA:55,4,1,6 -BRDA:73,5,0,1 -BRDA:73,5,1,28 -BRF:12 -BRH:12 -end_of_record -TN: -SF:F:\GitRepos\redux-arg\src\redux-arg\reducers\arrayReducer.js -FN:47,checkIndex -FN:112,createArrayReducer -FN:125,createReducer -FN:131,(anonymous_3) -FN:142,applyValidation -FN:160,createActions -FN:162,(anonymous_6) -FN:164,(anonymous_7) -FN:166,(anonymous_8) -FNF:9 -FNH:6 -FNDA:0,checkIndex -FNDA:1,createArrayReducer -FNDA:1,createReducer -FNDA:15,(anonymous_3) -FNDA:0,applyValidation -FNDA:1,createActions -FNDA:6,(anonymous_6) -FNDA:1,(anonymous_7) -FNDA:0,(anonymous_8) -DA:48,0 -DA:49,0 -DA:50,0 -DA:52,0 -DA:65,2 -DA:69,0 -DA:70,0 -DA:71,0 -DA:72,0 -DA:77,0 -DA:78,0 -DA:83,0 -DA:84,0 -DA:89,0 -DA:90,0 -DA:91,0 -DA:97,1 -DA:98,1 -DA:101,0 -DA:106,0 -DA:116,1 -DA:128,1 -DA:131,1 -DA:133,15 -DA:137,0 -DA:150,0 -DA:154,0 -DA:155,0 -DA:156,0 -DA:162,6 -DA:164,1 -DA:166,0 -LF:32 -LH:9 -BRDA:48,0,0,0 -BRDA:48,0,1,0 -BRDA:48,1,0,0 -BRDA:48,1,1,0 -BRDA:68,2,0,0 -BRDA:69,3,0,0 -BRDA:69,3,1,0 -BRDA:70,4,0,0 -BRDA:70,4,1,0 -BRDA:70,5,0,0 -BRDA:70,5,1,0 -BRDA:71,6,0,0 -BRDA:71,6,1,0 -BRDA:71,7,0,0 -BRDA:71,7,1,0 -BRDA:90,8,0,0 -BRDA:90,8,1,0 -BRDA:97,9,0,0 -BRDA:97,9,1,1 -BRDA:112,10,0,0 -BRDA:131,11,0,11 -BRDA:133,12,0,15 -BRDA:133,12,1,0 -BRDA:150,13,0,0 -BRDA:150,13,1,0 -BRDA:155,14,0,0 -BRDA:155,14,1,0 -BRDA:166,15,0,1 -BRDA:166,15,1,0 -BRF:29 -BRH:4 -end_of_record -TN: -SF:F:\GitRepos\redux-arg\src\redux-arg\reducers\objectReducer.js -FN:74,createShapeReducer -FN:87,calculateDefaults -FN:88,(anonymous_2) -FN:97,createReducer -FN:99,(anonymous_4) -FN:110,createActions -FN:112,(anonymous_6) -FN:114,(anonymous_7) -FN:116,(anonymous_8) -FNF:9 -FNH:7 -FNDA:1,createShapeReducer -FNDA:1,calculateDefaults -FNDA:0,(anonymous_2) -FNDA:1,createReducer -FNDA:15,(anonymous_4) -FNDA:1,createActions -FNDA:3,(anonymous_6) -FNDA:1,(anonymous_7) -FNDA:0,(anonymous_8) -DA:53,2 -DA:55,0 -DA:57,0 -DA:62,0 -DA:66,1 -DA:68,0 -DA:78,1 -DA:88,1 -DA:98,1 -DA:99,1 -DA:101,15 -DA:105,0 -DA:112,3 -DA:114,1 -DA:116,0 -LF:15 -LH:9 -BRDA:56,0,0,0 -BRDA:67,1,0,0 -BRDA:74,2,0,0 -BRDA:90,3,0,0 -BRDA:90,3,1,0 -BRDA:99,4,0,11 -BRDA:101,5,0,15 -BRDA:101,5,1,0 -BRDA:116,6,0,1 -BRDA:116,6,1,0 -BRF:10 -BRH:3 -end_of_record -TN: -SF:F:\GitRepos\redux-arg\src\redux-arg\reducers\primitiveReducer.js -FN:66,createPrimitiveReducer -FN:79,createReducer -FN:81,(anonymous_2) -FN:92,createActions -FN:94,(anonymous_4) -FN:96,(anonymous_5) -FN:98,(anonymous_6) -FNF:7 -FNH:7 -FNDA:6,createPrimitiveReducer -FNDA:6,createReducer -FNDA:67,(anonymous_2) -FNDA:6,createActions -FNDA:12,(anonymous_4) -FNDA:5,(anonymous_5) -FNDA:2,(anonymous_6) -DA:50,2 -DA:52,3 -DA:54,2 -DA:55,2 -DA:60,2 -DA:70,6 -DA:80,6 -DA:81,6 -DA:83,67 -DA:87,4 -DA:94,12 -DA:96,5 -DA:98,2 -LF:13 -LH:13 -BRDA:54,0,0,0 -BRDA:54,0,1,2 -BRDA:66,1,0,0 -BRDA:81,2,0,51 -BRDA:83,3,0,63 -BRDA:83,3,1,4 -BRDA:98,4,0,5 -BRDA:98,4,1,2 -BRF:8 -BRH:6 -end_of_record -TN: -SF:F:\GitRepos\redux-arg\src\redux-arg\utils\arrayUtils.js -FN:2,updateAtIndex -FN:12,removeAtIndex -FNF:2 -FNH:2 -FNDA:6,updateAtIndex -FNDA:6,removeAtIndex -DA:3,6 -DA:4,4 -DA:5,3 -DA:13,6 -DA:14,4 -DA:15,3 -LF:6 -LH:6 -BRDA:3,0,0,2 -BRDA:3,0,1,4 -BRDA:4,1,0,1 -BRDA:4,1,1,3 -BRDA:4,2,0,4 -BRDA:4,2,1,4 -BRDA:13,3,0,2 -BRDA:13,3,1,4 -BRDA:14,4,0,1 -BRDA:14,4,1,3 -BRDA:14,5,0,4 -BRDA:14,5,1,4 -BRF:12 -BRH:12 -end_of_record