From 033d26791c4a1aaf463ec3d1ff9a1e6ba531a08a Mon Sep 17 00:00:00 2001 From: Sentayhu berhanu Date: Thu, 17 Nov 2022 16:37:08 +0300 Subject: [PATCH 1/5] Code Optimization --- coverage/clover.xml | 126 + coverage/coverage-final.json | 6 + coverage/lcov-report/base.css | 224 + coverage/lcov-report/block-navigation.js | 87 + coverage/lcov-report/check.option.js.html | 211 + coverage/lcov-report/cryptorandomt.js.html | 121 + coverage/lcov-report/emoji.js.html | 5422 ++++++++++++++++++++ coverage/lcov-report/favicon.png | Bin 0 -> 540 bytes coverage/lcov-report/index.html | 176 + coverage/lcov-report/index.js.html | 331 ++ coverage/lcov-report/prettify.css | 1 + coverage/lcov-report/prettify.js | 2 + coverage/lcov-report/sort-arrow-sprite.png | Bin 0 -> 209 bytes coverage/lcov-report/sorter.js | 196 + coverage/lcov-report/types.js.html | 121 + coverage/lcov.info | 200 + lib/index.js | 32 +- src/index.ts | 32 +- 18 files changed, 7249 insertions(+), 39 deletions(-) create mode 100644 coverage/clover.xml create mode 100644 coverage/coverage-final.json create mode 100644 coverage/lcov-report/base.css create mode 100644 coverage/lcov-report/block-navigation.js create mode 100644 coverage/lcov-report/check.option.js.html create mode 100644 coverage/lcov-report/cryptorandomt.js.html create mode 100644 coverage/lcov-report/emoji.js.html create mode 100644 coverage/lcov-report/favicon.png create mode 100644 coverage/lcov-report/index.html create mode 100644 coverage/lcov-report/index.js.html create mode 100644 coverage/lcov-report/prettify.css create mode 100644 coverage/lcov-report/prettify.js create mode 100644 coverage/lcov-report/sort-arrow-sprite.png create mode 100644 coverage/lcov-report/sorter.js create mode 100644 coverage/lcov-report/types.js.html create mode 100644 coverage/lcov.info diff --git a/coverage/clover.xml b/coverage/clover.xml new file mode 100644 index 0000000..01e1c47 --- /dev/null +++ b/coverage/clover.xml @@ -0,0 +1,126 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/coverage/coverage-final.json b/coverage/coverage-final.json new file mode 100644 index 0000000..cef1595 --- /dev/null +++ b/coverage/coverage-final.json @@ -0,0 +1,6 @@ +{"C:\\Users\\svolt\\Desktop\\String gen\\random-string\\lib\\check.option.js": {"path":"C:\\Users\\svolt\\Desktop\\String gen\\random-string\\lib\\check.option.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":30}},"2":{"start":{"line":4,"column":14},"end":{"line":4,"column":32}},"3":{"start":{"line":5,"column":19},"end":{"line":41,"column":1}},"4":{"start":{"line":6,"column":20},"end":{"line":6,"column":26}},"5":{"start":{"line":7,"column":4},"end":{"line":20,"column":5}},"6":{"start":{"line":8,"column":8},"end":{"line":8,"column":23}},"7":{"start":{"line":9,"column":25},"end":{"line":15,"column":51}},"8":{"start":{"line":16,"column":31},"end":{"line":16,"column":48}},"9":{"start":{"line":17,"column":8},"end":{"line":19,"column":9}},"10":{"start":{"line":17,"column":21},"end":{"line":17,"column":22}},"11":{"start":{"line":18,"column":12},"end":{"line":18,"column":89}},"12":{"start":{"line":21,"column":4},"end":{"line":27,"column":5}},"13":{"start":{"line":22,"column":8},"end":{"line":22,"column":23}},"14":{"start":{"line":23,"column":31},"end":{"line":23,"column":53}},"15":{"start":{"line":24,"column":8},"end":{"line":26,"column":9}},"16":{"start":{"line":24,"column":21},"end":{"line":24,"column":22}},"17":{"start":{"line":25,"column":12},"end":{"line":25,"column":94}},"18":{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},"19":{"start":{"line":29,"column":8},"end":{"line":29,"column":46}},"20":{"start":{"line":31,"column":4},"end":{"line":33,"column":5}},"21":{"start":{"line":32,"column":8},"end":{"line":32,"column":46}},"22":{"start":{"line":34,"column":4},"end":{"line":36,"column":5}},"23":{"start":{"line":35,"column":8},"end":{"line":35,"column":39}},"24":{"start":{"line":37,"column":4},"end":{"line":39,"column":5}},"25":{"start":{"line":38,"column":8},"end":{"line":38,"column":39}},"26":{"start":{"line":40,"column":4},"end":{"line":40,"column":21}},"27":{"start":{"line":42,"column":0},"end":{"line":42,"column":36}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":19},"end":{"line":5,"column":20}},"loc":{"start":{"line":5,"column":45},"end":{"line":41,"column":1}},"line":5}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":20,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":20,"column":5}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":9,"column":25},"end":{"line":15,"column":51}},"type":"cond-expr","locations":[{"start":{"line":10,"column":14},"end":{"line":10,"column":59}},{"start":{"line":11,"column":14},"end":{"line":15,"column":51}}],"line":9},"2":{"loc":{"start":{"line":11,"column":14},"end":{"line":15,"column":51}},"type":"cond-expr","locations":[{"start":{"line":12,"column":18},"end":{"line":12,"column":38}},{"start":{"line":13,"column":18},"end":{"line":15,"column":51}}],"line":11},"3":{"loc":{"start":{"line":13,"column":18},"end":{"line":15,"column":51}},"type":"cond-expr","locations":[{"start":{"line":14,"column":22},"end":{"line":14,"column":44}},{"start":{"line":15,"column":22},"end":{"line":15,"column":51}}],"line":13},"4":{"loc":{"start":{"line":21,"column":4},"end":{"line":27,"column":5}},"type":"if","locations":[{"start":{"line":21,"column":4},"end":{"line":27,"column":5}},{"start":{},"end":{}}],"line":21},"5":{"loc":{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},"type":"if","locations":[{"start":{"line":28,"column":4},"end":{"line":30,"column":5}},{"start":{},"end":{}}],"line":28},"6":{"loc":{"start":{"line":31,"column":4},"end":{"line":33,"column":5}},"type":"if","locations":[{"start":{"line":31,"column":4},"end":{"line":33,"column":5}},{"start":{},"end":{}}],"line":31},"7":{"loc":{"start":{"line":34,"column":4},"end":{"line":36,"column":5}},"type":"if","locations":[{"start":{"line":34,"column":4},"end":{"line":36,"column":5}},{"start":{},"end":{}}],"line":34},"8":{"loc":{"start":{"line":37,"column":4},"end":{"line":39,"column":5}},"type":"if","locations":[{"start":{"line":37,"column":4},"end":{"line":39,"column":5}},{"start":{},"end":{}}],"line":37}},"s":{"0":1,"1":1,"2":1,"3":1,"4":11,"5":11,"6":4,"7":4,"8":4,"9":4,"10":4,"11":43,"12":11,"13":0,"14":0,"15":0,"16":0,"17":0,"18":11,"19":0,"20":11,"21":0,"22":11,"23":2,"24":9,"25":2,"26":7,"27":1},"f":{"0":11},"b":{"0":[4,7],"1":[1,3],"2":[1,2],"3":[0,2],"4":[0,11],"5":[0,11],"6":[0,11],"7":[2,9],"8":[2,7]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"e6922e54594073e041a46de2664aec3709add07a"} +,"C:\\Users\\svolt\\Desktop\\String gen\\random-string\\lib\\cryptorandomt.js": {"path":"C:\\Users\\svolt\\Desktop\\String gen\\random-string\\lib\\cryptorandomt.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":36}},"2":{"start":{"line":4,"column":13},"end":{"line":4,"column":30}},"3":{"start":{"line":5,"column":25},"end":{"line":11,"column":1}},"4":{"start":{"line":6,"column":14},"end":{"line":6,"column":15}},"5":{"start":{"line":7,"column":16},"end":{"line":7,"column":51}},"6":{"start":{"line":8,"column":20},"end":{"line":8,"column":43}},"7":{"start":{"line":9,"column":4},"end":{"line":9,"column":62}},"8":{"start":{"line":10,"column":4},"end":{"line":10,"column":21}},"9":{"start":{"line":12,"column":0},"end":{"line":12,"column":48}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":25},"end":{"line":5,"column":26}},"loc":{"start":{"line":5,"column":40},"end":{"line":11,"column":1}},"line":5}},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":106,"5":106,"6":106,"7":106,"8":106,"9":1},"f":{"0":106},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"558a0975feb180defeda3eea99203643089171a8"} +,"C:\\Users\\svolt\\Desktop\\String gen\\random-string\\lib\\emoji.js": {"path":"C:\\Users\\svolt\\Desktop\\String gen\\random-string\\lib\\emoji.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":24}},"2":{"start":{"line":4,"column":0},"end":{"line":1779,"column":2}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"9c68649be4e3bc919cafc2ffdbea6231e8bd6848"} +,"C:\\Users\\svolt\\Desktop\\String gen\\random-string\\lib\\index.js": {"path":"C:\\Users\\svolt\\Desktop\\String gen\\random-string\\lib\\index.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":57}},"2":{"start":{"line":4,"column":21},"end":{"line":4,"column":46}},"3":{"start":{"line":5,"column":14},"end":{"line":5,"column":32}},"4":{"start":{"line":6,"column":14},"end":{"line":6,"column":32}},"5":{"start":{"line":7,"column":22},"end":{"line":7,"column":48}},"6":{"start":{"line":12,"column":15},"end":{"line":71,"column":1}},"7":{"start":{"line":13,"column":17},"end":{"line":13,"column":19}},"8":{"start":{"line":14,"column":4},"end":{"line":69,"column":5}},"9":{"start":{"line":15,"column":18},"end":{"line":15,"column":38}},"10":{"start":{"line":16,"column":25},"end":{"line":16,"column":45}},"11":{"start":{"line":17,"column":31},"end":{"line":17,"column":48}},"12":{"start":{"line":18,"column":8},"end":{"line":20,"column":9}},"13":{"start":{"line":18,"column":21},"end":{"line":18,"column":22}},"14":{"start":{"line":19,"column":12},"end":{"line":19,"column":99}},"15":{"start":{"line":22,"column":9},"end":{"line":69,"column":5}},"16":{"start":{"line":23,"column":8},"end":{"line":25,"column":9}},"17":{"start":{"line":24,"column":12},"end":{"line":24,"column":31}},"18":{"start":{"line":26,"column":8},"end":{"line":68,"column":9}},"19":{"start":{"line":27,"column":29},"end":{"line":27,"column":41}},"20":{"start":{"line":28,"column":35},"end":{"line":28,"column":63}},"21":{"start":{"line":29,"column":12},"end":{"line":31,"column":13}},"22":{"start":{"line":29,"column":25},"end":{"line":29,"column":26}},"23":{"start":{"line":30,"column":16},"end":{"line":30,"column":103}},"24":{"start":{"line":32,"column":12},"end":{"line":32,"column":70}},"25":{"start":{"line":34,"column":13},"end":{"line":68,"column":9}},"26":{"start":{"line":35,"column":12},"end":{"line":35,"column":102}},"27":{"start":{"line":36,"column":12},"end":{"line":36,"column":78}},"28":{"start":{"line":38,"column":13},"end":{"line":68,"column":9}},"29":{"start":{"line":39,"column":12},"end":{"line":41,"column":13}},"30":{"start":{"line":39,"column":25},"end":{"line":39,"column":26}},"31":{"start":{"line":40,"column":16},"end":{"line":40,"column":69}},"32":{"start":{"line":43,"column":13},"end":{"line":68,"column":9}},"33":{"start":{"line":44,"column":12},"end":{"line":46,"column":13}},"34":{"start":{"line":44,"column":25},"end":{"line":44,"column":26}},"35":{"start":{"line":45,"column":16},"end":{"line":45,"column":69}},"36":{"start":{"line":48,"column":13},"end":{"line":68,"column":9}},"37":{"start":{"line":49,"column":35},"end":{"line":49,"column":53}},"38":{"start":{"line":50,"column":12},"end":{"line":52,"column":13}},"39":{"start":{"line":50,"column":25},"end":{"line":50,"column":26}},"40":{"start":{"line":51,"column":16},"end":{"line":51,"column":104}},"41":{"start":{"line":53,"column":12},"end":{"line":53,"column":70}},"42":{"start":{"line":55,"column":13},"end":{"line":68,"column":9}},"43":{"start":{"line":56,"column":35},"end":{"line":56,"column":58}},"44":{"start":{"line":57,"column":12},"end":{"line":59,"column":13}},"45":{"start":{"line":57,"column":25},"end":{"line":57,"column":26}},"46":{"start":{"line":58,"column":16},"end":{"line":58,"column":109}},"47":{"start":{"line":60,"column":12},"end":{"line":60,"column":70}},"48":{"start":{"line":63,"column":35},"end":{"line":63,"column":62}},"49":{"start":{"line":64,"column":12},"end":{"line":66,"column":13}},"50":{"start":{"line":64,"column":25},"end":{"line":64,"column":26}},"51":{"start":{"line":65,"column":16},"end":{"line":65,"column":113}},"52":{"start":{"line":67,"column":12},"end":{"line":67,"column":70}},"53":{"start":{"line":70,"column":4},"end":{"line":70,"column":18}},"54":{"start":{"line":72,"column":0},"end":{"line":72,"column":28}},"55":{"start":{"line":73,"column":27},"end":{"line":81,"column":1}},"56":{"start":{"line":74,"column":14},"end":{"line":74,"column":34}},"57":{"start":{"line":75,"column":17},"end":{"line":75,"column":19}},"58":{"start":{"line":76,"column":27},"end":{"line":76,"column":48}},"59":{"start":{"line":77,"column":4},"end":{"line":79,"column":5}},"60":{"start":{"line":77,"column":17},"end":{"line":77,"column":18}},"61":{"start":{"line":78,"column":8},"end":{"line":78,"column":99}},"62":{"start":{"line":80,"column":4},"end":{"line":80,"column":18}},"63":{"start":{"line":82,"column":0},"end":{"line":82,"column":52}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":12,"column":15},"end":{"line":12,"column":16}},"loc":{"start":{"line":12,"column":33},"end":{"line":71,"column":1}},"line":12},"1":{"name":"(anonymous_1)","decl":{"start":{"line":73,"column":27},"end":{"line":73,"column":28}},"loc":{"start":{"line":73,"column":45},"end":{"line":81,"column":1}},"line":73}},"branchMap":{"0":{"loc":{"start":{"line":14,"column":4},"end":{"line":69,"column":5}},"type":"if","locations":[{"start":{"line":14,"column":4},"end":{"line":69,"column":5}},{"start":{"line":22,"column":9},"end":{"line":69,"column":5}}],"line":14},"1":{"loc":{"start":{"line":14,"column":8},"end":{"line":14,"column":45}},"type":"binary-expr","locations":[{"start":{"line":14,"column":8},"end":{"line":14,"column":34}},{"start":{"line":14,"column":38},"end":{"line":14,"column":45}}],"line":14},"2":{"loc":{"start":{"line":15,"column":18},"end":{"line":15,"column":38}},"type":"cond-expr","locations":[{"start":{"line":15,"column":27},"end":{"line":15,"column":33}},{"start":{"line":15,"column":36},"end":{"line":15,"column":38}}],"line":15},"3":{"loc":{"start":{"line":22,"column":9},"end":{"line":69,"column":5}},"type":"if","locations":[{"start":{"line":22,"column":9},"end":{"line":69,"column":5}},{"start":{},"end":{}}],"line":22},"4":{"loc":{"start":{"line":23,"column":8},"end":{"line":25,"column":9}},"type":"if","locations":[{"start":{"line":23,"column":8},"end":{"line":25,"column":9}},{"start":{},"end":{}}],"line":23},"5":{"loc":{"start":{"line":26,"column":8},"end":{"line":68,"column":9}},"type":"if","locations":[{"start":{"line":26,"column":8},"end":{"line":68,"column":9}},{"start":{"line":34,"column":13},"end":{"line":68,"column":9}}],"line":26},"6":{"loc":{"start":{"line":34,"column":13},"end":{"line":68,"column":9}},"type":"if","locations":[{"start":{"line":34,"column":13},"end":{"line":68,"column":9}},{"start":{"line":38,"column":13},"end":{"line":68,"column":9}}],"line":34},"7":{"loc":{"start":{"line":38,"column":13},"end":{"line":68,"column":9}},"type":"if","locations":[{"start":{"line":38,"column":13},"end":{"line":68,"column":9}},{"start":{"line":43,"column":13},"end":{"line":68,"column":9}}],"line":38},"8":{"loc":{"start":{"line":43,"column":13},"end":{"line":68,"column":9}},"type":"if","locations":[{"start":{"line":43,"column":13},"end":{"line":68,"column":9}},{"start":{"line":48,"column":13},"end":{"line":68,"column":9}}],"line":43},"9":{"loc":{"start":{"line":48,"column":13},"end":{"line":68,"column":9}},"type":"if","locations":[{"start":{"line":48,"column":13},"end":{"line":68,"column":9}},{"start":{"line":55,"column":13},"end":{"line":68,"column":9}}],"line":48},"10":{"loc":{"start":{"line":55,"column":13},"end":{"line":68,"column":9}},"type":"if","locations":[{"start":{"line":55,"column":13},"end":{"line":68,"column":9}},{"start":{"line":62,"column":13},"end":{"line":68,"column":9}}],"line":55},"11":{"loc":{"start":{"line":74,"column":14},"end":{"line":74,"column":34}},"type":"cond-expr","locations":[{"start":{"line":74,"column":23},"end":{"line":74,"column":29}},{"start":{"line":74,"column":32},"end":{"line":74,"column":34}}],"line":74}},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":15,"8":15,"9":2,"10":2,"11":2,"12":2,"13":2,"14":25,"15":13,"16":13,"17":2,"18":13,"19":3,"20":3,"21":3,"22":3,"23":22,"24":3,"25":10,"26":2,"27":2,"28":8,"29":1,"30":1,"31":6,"32":7,"33":1,"34":1,"35":6,"36":6,"37":1,"38":1,"39":1,"40":6,"41":1,"42":5,"43":3,"44":3,"45":3,"46":18,"47":3,"48":2,"49":2,"50":2,"51":21,"52":2,"53":15,"54":1,"55":1,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":1},"f":{"0":15,"1":0},"b":{"0":[2,13],"1":[15,14],"2":[1,1],"3":[13,0],"4":[2,11],"5":[3,10],"6":[2,8],"7":[1,7],"8":[1,6],"9":[1,5],"10":[3,2],"11":[0,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"a8ec9cf96b7d853e086b8a9e2251f007762eba0f"} +,"C:\\Users\\svolt\\Desktop\\String gen\\random-string\\lib\\types.js": {"path":"C:\\Users\\svolt\\Desktop\\String gen\\random-string\\lib\\types.js","statementMap":{"0":{"start":{"line":2,"column":0},"end":{"line":2,"column":62}},"1":{"start":{"line":3,"column":0},"end":{"line":3,"column":178}},"2":{"start":{"line":4,"column":0},"end":{"line":4,"column":39}},"3":{"start":{"line":5,"column":0},"end":{"line":5,"column":57}},"4":{"start":{"line":6,"column":0},"end":{"line":6,"column":74}},"5":{"start":{"line":7,"column":0},"end":{"line":7,"column":88}},"6":{"start":{"line":8,"column":0},"end":{"line":8,"column":30}},"7":{"start":{"line":9,"column":0},"end":{"line":9,"column":120}},"8":{"start":{"line":10,"column":0},"end":{"line":10,"column":72}},"9":{"start":{"line":11,"column":0},"end":{"line":12,"column":8}}},"fnMap":{},"branchMap":{},"s":{"0":1,"1":1,"2":1,"3":1,"4":1,"5":1,"6":1,"7":1,"8":1,"9":1},"f":{},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"3566b6887e1fb058923341ca08c05ab20c46cfde"} +} diff --git a/coverage/lcov-report/base.css b/coverage/lcov-report/base.css new file mode 100644 index 0000000..f418035 --- /dev/null +++ b/coverage/lcov-report/base.css @@ -0,0 +1,224 @@ +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; } +/* yellow */ +.cbranch-no { background: yellow !important; color: #111; } +/* dark red */ +.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } +.low .chart { border:1px solid #C21F39 } +.highlighted, +.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ + background: #C21F39 !important; +} +/* 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) } +/* dark yellow (gold) */ +.status-line.medium, .medium .cover-fill { background: #f9cd0b; } +.medium .chart { border:1px solid #f9cd0b; } +/* light yellow */ +.medium { background: #fff4c2; } + +.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; } + +.coverage-summary td.empty { + opacity: .5; + padding-top: 4px; + padding-bottom: 4px; + line-height: 1; + color: #888; +} + +.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/block-navigation.js b/coverage/lcov-report/block-navigation.js new file mode 100644 index 0000000..cc12130 --- /dev/null +++ b/coverage/lcov-report/block-navigation.js @@ -0,0 +1,87 @@ +/* eslint-disable */ +var jumpToCode = (function init() { + // Classes of code we would like to highlight in the file view + var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; + + // Elements to highlight in the file listing view + var fileListingElements = ['td.pct.low']; + + // We don't want to select elements that are direct descendants of another match + var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` + + // Selecter that finds elements on the page to which we can jump + var selector = + fileListingElements.join(', ') + + ', ' + + notSelector + + missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` + + // The NodeList of matching elements + var missingCoverageElements = document.querySelectorAll(selector); + + var currentIndex; + + function toggleClass(index) { + missingCoverageElements + .item(currentIndex) + .classList.remove('highlighted'); + missingCoverageElements.item(index).classList.add('highlighted'); + } + + function makeCurrent(index) { + toggleClass(index); + currentIndex = index; + missingCoverageElements.item(index).scrollIntoView({ + behavior: 'smooth', + block: 'center', + inline: 'center' + }); + } + + function goToPrevious() { + var nextIndex = 0; + if (typeof currentIndex !== 'number' || currentIndex === 0) { + nextIndex = missingCoverageElements.length - 1; + } else if (missingCoverageElements.length > 1) { + nextIndex = currentIndex - 1; + } + + makeCurrent(nextIndex); + } + + function goToNext() { + var nextIndex = 0; + + if ( + typeof currentIndex === 'number' && + currentIndex < missingCoverageElements.length - 1 + ) { + nextIndex = currentIndex + 1; + } + + makeCurrent(nextIndex); + } + + return function jump(event) { + if ( + document.getElementById('fileSearch') === document.activeElement && + document.activeElement != null + ) { + // if we're currently focused on the search input, we don't want to navigate + return; + } + + switch (event.which) { + case 78: // n + case 74: // j + goToNext(); + break; + case 66: // b + case 75: // k + case 80: // p + goToPrevious(); + break; + } + }; +})(); +window.addEventListener('keydown', jumpToCode); diff --git a/coverage/lcov-report/check.option.js.html b/coverage/lcov-report/check.option.js.html new file mode 100644 index 0000000..145da07 --- /dev/null +++ b/coverage/lcov-report/check.option.js.html @@ -0,0 +1,211 @@ + + + + + + Code coverage report for check.option.js + + + + + + + + + +
+
+

All files check.option.js

+
+ +
+ 75% + Statements + 21/28 +
+ + +
+ 77.77% + Branches + 14/18 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 76.92% + Lines + 20/26 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +1x +1x +1x +1x +11x +11x +4x +4x +  +  +  +  +  +  +4x +4x +43x +  +  +11x +  +  +  +  +  +  +11x +  +  +11x +  +  +11x +2x +  +9x +2x +  +7x +  +1x + 
"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.checkOptions = void 0;
+var types_1 = require("./types");
+var checkOptions = function (result, option) {
+    var newResult = result;
+    if (option.insertSymbol) {
+        newResult = '';
+        var characters = option.range
+            ? option.range + types_1.symbols + option.range
+            : option.charset === 'number'
+                ? types_1.numberSymbol
+                : option.charset === 'alphabet'
+                    ? types_1.alphabetSymbol
+                    : types_1.alphabetNumericSymbol;
+        var charactersLength = characters.length;
+        for (var i = 0; i < option.length; i++) {
+            newResult += characters.charAt(Math.floor(Math.random() * charactersLength));
+        }
+    }
+    Iif (option.symbolsOnly) {
+        newResult = '';
+        var charactersLength = types_1.symbols.length;
+        for (var i = 0; i < option.length; i += 1) {
+            newResult += types_1.symbols.charAt(Math.floor(Math.random() * charactersLength));
+        }
+    }
+    Iif (option.prefix) {
+        newResult = option.prefix + newResult;
+    }
+    Iif (option.suffix) {
+        newResult = newResult + option.suffix;
+    }
+    if (option.lowerCaseOnly) {
+        return newResult.toLowerCase();
+    }
+    if (option.upperCaseOnly) {
+        return newResult.toUpperCase();
+    }
+    return newResult;
+};
+exports.checkOptions = checkOptions;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/cryptorandomt.js.html b/coverage/lcov-report/cryptorandomt.js.html new file mode 100644 index 0000000..3b154af --- /dev/null +++ b/coverage/lcov-report/cryptorandomt.js.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for cryptorandomt.js + + + + + + + + + +
+
+

All files cryptorandomt.js

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +1x +1x +1x +1x +106x +106x +106x +106x +106x +  +1x + 
"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.getCryptoRandomInt = void 0;
+var crypto = require('crypto');
+var getCryptoRandomInt = function (max) {
+    var min = 0;
+    var array = crypto.randomBytes(1).toJSON().data;
+    var randomNum = Number('0.' + array[0]);
+    randomNum = Math.floor(randomNum * (max - min + 1)) + min;
+    return randomNum;
+};
+exports.getCryptoRandomInt = getCryptoRandomInt;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/emoji.js.html b/coverage/lcov-report/emoji.js.html new file mode 100644 index 0000000..016f24d --- /dev/null +++ b/coverage/lcov-report/emoji.js.html @@ -0,0 +1,5422 @@ + + + + + + Code coverage report for emoji.js + + + + + + + + + +
+
+

All files emoji.js

+
+ +
+ 100% + Statements + 3/3 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 3/3 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 +857 +858 +859 +860 +861 +862 +863 +864 +865 +866 +867 +868 +869 +870 +871 +872 +873 +874 +875 +876 +877 +878 +879 +880 +881 +882 +883 +884 +885 +886 +887 +888 +889 +890 +891 +892 +893 +894 +895 +896 +897 +898 +899 +900 +901 +902 +903 +904 +905 +906 +907 +908 +909 +910 +911 +912 +913 +914 +915 +916 +917 +918 +919 +920 +921 +922 +923 +924 +925 +926 +927 +928 +929 +930 +931 +932 +933 +934 +935 +936 +937 +938 +939 +940 +941 +942 +943 +944 +945 +946 +947 +948 +949 +950 +951 +952 +953 +954 +955 +956 +957 +958 +959 +960 +961 +962 +963 +964 +965 +966 +967 +968 +969 +970 +971 +972 +973 +974 +975 +976 +977 +978 +979 +980 +981 +982 +983 +984 +985 +986 +987 +988 +989 +990 +991 +992 +993 +994 +995 +996 +997 +998 +999 +1000 +1001 +1002 +1003 +1004 +1005 +1006 +1007 +1008 +1009 +1010 +1011 +1012 +1013 +1014 +1015 +1016 +1017 +1018 +1019 +1020 +1021 +1022 +1023 +1024 +1025 +1026 +1027 +1028 +1029 +1030 +1031 +1032 +1033 +1034 +1035 +1036 +1037 +1038 +1039 +1040 +1041 +1042 +1043 +1044 +1045 +1046 +1047 +1048 +1049 +1050 +1051 +1052 +1053 +1054 +1055 +1056 +1057 +1058 +1059 +1060 +1061 +1062 +1063 +1064 +1065 +1066 +1067 +1068 +1069 +1070 +1071 +1072 +1073 +1074 +1075 +1076 +1077 +1078 +1079 +1080 +1081 +1082 +1083 +1084 +1085 +1086 +1087 +1088 +1089 +1090 +1091 +1092 +1093 +1094 +1095 +1096 +1097 +1098 +1099 +1100 +1101 +1102 +1103 +1104 +1105 +1106 +1107 +1108 +1109 +1110 +1111 +1112 +1113 +1114 +1115 +1116 +1117 +1118 +1119 +1120 +1121 +1122 +1123 +1124 +1125 +1126 +1127 +1128 +1129 +1130 +1131 +1132 +1133 +1134 +1135 +1136 +1137 +1138 +1139 +1140 +1141 +1142 +1143 +1144 +1145 +1146 +1147 +1148 +1149 +1150 +1151 +1152 +1153 +1154 +1155 +1156 +1157 +1158 +1159 +1160 +1161 +1162 +1163 +1164 +1165 +1166 +1167 +1168 +1169 +1170 +1171 +1172 +1173 +1174 +1175 +1176 +1177 +1178 +1179 +1180 +1181 +1182 +1183 +1184 +1185 +1186 +1187 +1188 +1189 +1190 +1191 +1192 +1193 +1194 +1195 +1196 +1197 +1198 +1199 +1200 +1201 +1202 +1203 +1204 +1205 +1206 +1207 +1208 +1209 +1210 +1211 +1212 +1213 +1214 +1215 +1216 +1217 +1218 +1219 +1220 +1221 +1222 +1223 +1224 +1225 +1226 +1227 +1228 +1229 +1230 +1231 +1232 +1233 +1234 +1235 +1236 +1237 +1238 +1239 +1240 +1241 +1242 +1243 +1244 +1245 +1246 +1247 +1248 +1249 +1250 +1251 +1252 +1253 +1254 +1255 +1256 +1257 +1258 +1259 +1260 +1261 +1262 +1263 +1264 +1265 +1266 +1267 +1268 +1269 +1270 +1271 +1272 +1273 +1274 +1275 +1276 +1277 +1278 +1279 +1280 +1281 +1282 +1283 +1284 +1285 +1286 +1287 +1288 +1289 +1290 +1291 +1292 +1293 +1294 +1295 +1296 +1297 +1298 +1299 +1300 +1301 +1302 +1303 +1304 +1305 +1306 +1307 +1308 +1309 +1310 +1311 +1312 +1313 +1314 +1315 +1316 +1317 +1318 +1319 +1320 +1321 +1322 +1323 +1324 +1325 +1326 +1327 +1328 +1329 +1330 +1331 +1332 +1333 +1334 +1335 +1336 +1337 +1338 +1339 +1340 +1341 +1342 +1343 +1344 +1345 +1346 +1347 +1348 +1349 +1350 +1351 +1352 +1353 +1354 +1355 +1356 +1357 +1358 +1359 +1360 +1361 +1362 +1363 +1364 +1365 +1366 +1367 +1368 +1369 +1370 +1371 +1372 +1373 +1374 +1375 +1376 +1377 +1378 +1379 +1380 +1381 +1382 +1383 +1384 +1385 +1386 +1387 +1388 +1389 +1390 +1391 +1392 +1393 +1394 +1395 +1396 +1397 +1398 +1399 +1400 +1401 +1402 +1403 +1404 +1405 +1406 +1407 +1408 +1409 +1410 +1411 +1412 +1413 +1414 +1415 +1416 +1417 +1418 +1419 +1420 +1421 +1422 +1423 +1424 +1425 +1426 +1427 +1428 +1429 +1430 +1431 +1432 +1433 +1434 +1435 +1436 +1437 +1438 +1439 +1440 +1441 +1442 +1443 +1444 +1445 +1446 +1447 +1448 +1449 +1450 +1451 +1452 +1453 +1454 +1455 +1456 +1457 +1458 +1459 +1460 +1461 +1462 +1463 +1464 +1465 +1466 +1467 +1468 +1469 +1470 +1471 +1472 +1473 +1474 +1475 +1476 +1477 +1478 +1479 +1480 +1481 +1482 +1483 +1484 +1485 +1486 +1487 +1488 +1489 +1490 +1491 +1492 +1493 +1494 +1495 +1496 +1497 +1498 +1499 +1500 +1501 +1502 +1503 +1504 +1505 +1506 +1507 +1508 +1509 +1510 +1511 +1512 +1513 +1514 +1515 +1516 +1517 +1518 +1519 +1520 +1521 +1522 +1523 +1524 +1525 +1526 +1527 +1528 +1529 +1530 +1531 +1532 +1533 +1534 +1535 +1536 +1537 +1538 +1539 +1540 +1541 +1542 +1543 +1544 +1545 +1546 +1547 +1548 +1549 +1550 +1551 +1552 +1553 +1554 +1555 +1556 +1557 +1558 +1559 +1560 +1561 +1562 +1563 +1564 +1565 +1566 +1567 +1568 +1569 +1570 +1571 +1572 +1573 +1574 +1575 +1576 +1577 +1578 +1579 +1580 +1581 +1582 +1583 +1584 +1585 +1586 +1587 +1588 +1589 +1590 +1591 +1592 +1593 +1594 +1595 +1596 +1597 +1598 +1599 +1600 +1601 +1602 +1603 +1604 +1605 +1606 +1607 +1608 +1609 +1610 +1611 +1612 +1613 +1614 +1615 +1616 +1617 +1618 +1619 +1620 +1621 +1622 +1623 +1624 +1625 +1626 +1627 +1628 +1629 +1630 +1631 +1632 +1633 +1634 +1635 +1636 +1637 +1638 +1639 +1640 +1641 +1642 +1643 +1644 +1645 +1646 +1647 +1648 +1649 +1650 +1651 +1652 +1653 +1654 +1655 +1656 +1657 +1658 +1659 +1660 +1661 +1662 +1663 +1664 +1665 +1666 +1667 +1668 +1669 +1670 +1671 +1672 +1673 +1674 +1675 +1676 +1677 +1678 +1679 +1680 +1681 +1682 +1683 +1684 +1685 +1686 +1687 +1688 +1689 +1690 +1691 +1692 +1693 +1694 +1695 +1696 +1697 +1698 +1699 +1700 +1701 +1702 +1703 +1704 +1705 +1706 +1707 +1708 +1709 +1710 +1711 +1712 +1713 +1714 +1715 +1716 +1717 +1718 +1719 +1720 +1721 +1722 +1723 +1724 +1725 +1726 +1727 +1728 +1729 +1730 +1731 +1732 +1733 +1734 +1735 +1736 +1737 +1738 +1739 +1740 +1741 +1742 +1743 +1744 +1745 +1746 +1747 +1748 +1749 +1750 +1751 +1752 +1753 +1754 +1755 +1756 +1757 +1758 +1759 +1760 +1761 +1762 +1763 +1764 +1765 +1766 +1767 +1768 +1769 +1770 +1771 +1772 +1773 +1774 +1775 +1776 +1777 +1778 +1779 +1780  +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.emojis = void 0;
+exports.emojis = [
+    '⌚',
+    '⏩',
+    '⏪',
+    '⏫',
+    '⏰',
+    '⏳',
+    '◽',
+    '☔',
+    '♈',
+    '♉',
+    '♊',
+    '♋',
+    '♌',
+    '♍',
+    '♎',
+    '♏',
+    '♐',
+    '♑',
+    '♒',
+    '♿',
+    '⚓',
+    '⚡',
+    '⚪',
+    '⚽',
+    '⛄',
+    '⛎',
+    '⛔',
+    '⛪',
+    '⛲',
+    '⛵',
+    '⛺',
+    '⛽',
+    '✅',
+    '✊',
+    '✨',
+    '❌',
+    '❎',
+    '❓',
+    '❔',
+    '❗',
+    '➕',
+    '➖',
+    '➰',
+    '➿',
+    '⬛',
+    '⭐',
+    '⭕',
+    '🀄',
+    '🃏',
+    '🆎',
+    '🆑',
+    '🆒',
+    '🆓',
+    '🆔',
+    '🆕',
+    '🆖',
+    '🆗',
+    '🆘',
+    '🆙',
+    '🈁',
+    '🈚',
+    '🈯',
+    '🈲',
+    '🈳',
+    '🈴',
+    '🈵',
+    '🈸',
+    '🈹',
+    '🉐',
+    '🌀',
+    '🌁',
+    '🌂',
+    '🌃',
+    '🌄',
+    '🌅',
+    '🌆',
+    '🌇',
+    '🌈',
+    '🌉',
+    '🌊',
+    '🌋',
+    '🌍',
+    '🌏',
+    '🌐',
+    '🌑',
+    '🌒',
+    '🌓',
+    '🌔',
+    '🌖',
+    '🌗',
+    '🌙',
+    '🌚',
+    '🌛',
+    '🌜',
+    '🌝',
+    '🌟',
+    '🌭',
+    '🌮',
+    '🌰',
+    '🌲',
+    '🌴',
+    '🌷',
+    '🌸',
+    '🌹',
+    '🌺',
+    '🌻',
+    '🌼',
+    '🌽',
+    '🌾',
+    '🌿',
+    '🍀',
+    '🍁',
+    '🍂',
+    '🍃',
+    '🍄',
+    '🍅',
+    '🍆',
+    '🍇',
+    '🍈',
+    '🍉',
+    '🍋',
+    '🍌',
+    '🍍',
+    '🍎',
+    '🍐',
+    '🍑',
+    '🍒',
+    '🍓',
+    '🍔',
+    '🍕',
+    '🍖',
+    '🍗',
+    '🍘',
+    '🍙',
+    '🍚',
+    '🍛',
+    '🍜',
+    '🍝',
+    '🍞',
+    '🍟',
+    '🍠',
+    '🍡',
+    '🍢',
+    '🍣',
+    '🍤',
+    '🍥',
+    '🍦',
+    '🍧',
+    '🍨',
+    '🍩',
+    '🍪',
+    '🍫',
+    '🍬',
+    '🍭',
+    '🍮',
+    '🍯',
+    '🍰',
+    '🍱',
+    '🍲',
+    '🍳',
+    '🍴',
+    '🍵',
+    '🍶',
+    '🍷',
+    '🍸',
+    '🍹',
+    '🍺',
+    '🍼',
+    '🍾',
+    '🎀',
+    '🎁',
+    '🎂',
+    '🎃',
+    '🎄',
+    '🎅',
+    '🎆',
+    '🎇',
+    '🎈',
+    '🎉',
+    '🎊',
+    '🎋',
+    '🎌',
+    '🎍',
+    '🎎',
+    '🎏',
+    '🎐',
+    '🎑',
+    '🎒',
+    '🎠',
+    '🎡',
+    '🎢',
+    '🎣',
+    '🎤',
+    '🎥',
+    '🎦',
+    '🎧',
+    '🎨',
+    '🎩',
+    '🎪',
+    '🎫',
+    '🎬',
+    '🎭',
+    '🎮',
+    '🎯',
+    '🎰',
+    '🎱',
+    '🎲',
+    '🎳',
+    '🎴',
+    '🎵',
+    '🎶',
+    '🎷',
+    '🎸',
+    '🎹',
+    '🎺',
+    '🎻',
+    '🎼',
+    '🎽',
+    '🎾',
+    '🎿',
+    '🏀',
+    '🏁',
+    '🏂',
+    '🏃',
+    '🏅',
+    '🏆',
+    '🏇',
+    '🏈',
+    '🏉',
+    '🏊',
+    '🏏',
+    '🏐',
+    '🏑',
+    '🏒',
+    '🏠',
+    '🏡',
+    '🏢',
+    '🏤',
+    '🏥',
+    '🏦',
+    '🏧',
+    '🏨',
+    '🏩',
+    '🏪',
+    '🏫',
+    '🏬',
+    '🏭',
+    '🏮',
+    '🏯',
+    '🏴',
+    '🏸',
+    '🏹',
+    '🏺',
+    '🐀',
+    '🐁',
+    '🐂',
+    '🐃',
+    '🐄',
+    '🐅',
+    '🐆',
+    '🐈',
+    '🐉',
+    '🐊',
+    '🐌',
+    '🐍',
+    '🐏',
+    '🐑',
+    '🐓',
+    '🐔',
+    '🐕',
+    '🐖',
+    '🐗',
+    '🐘',
+    '🐙',
+    '🐚',
+    '🐛',
+    '🐜',
+    '🐝',
+    '🐞',
+    '🐟',
+    '🐠',
+    '🐡',
+    '🐢',
+    '🐣',
+    '🐤',
+    '🐥',
+    '🐦',
+    '🐧',
+    '🐨',
+    '🐪',
+    '🐫',
+    '🐬',
+    '🐭',
+    '🐮',
+    '🐯',
+    '🐰',
+    '🐱',
+    '🐲',
+    '🐳',
+    '🐴',
+    '🐵',
+    '🐶',
+    '🐷',
+    '🐸',
+    '🐹',
+    '🐺',
+    '🐻',
+    '🐼',
+    '🐽',
+    '👀',
+    '👂',
+    '👃',
+    '👄',
+    '👅',
+    '👆',
+    '👇',
+    '👈',
+    '👉',
+    '👊',
+    '👋',
+    '👌',
+    '👍',
+    '👎',
+    '👏',
+    '👐',
+    '👑',
+    '👒',
+    '👓',
+    '👔',
+    '👕',
+    '👖',
+    '👗',
+    '👘',
+    '👙',
+    '👚',
+    '👛',
+    '👜',
+    '👝',
+    '👞',
+    '👟',
+    '👠',
+    '👡',
+    '👢',
+    '👣',
+    '👥',
+    '👦',
+    '👧',
+    '👨',
+    '👩',
+    '👪',
+    '👬',
+    '👮',
+    '👯',
+    '👰',
+    '👱',
+    '👲',
+    '👳',
+    '👴',
+    '👵',
+    '👶',
+    '👷',
+    '👸',
+    '👹',
+    '👺',
+    '👻',
+    '👼',
+    '👽',
+    '👾',
+    '👿',
+    '💀',
+    '💁',
+    '💂',
+    '💃',
+    '💄',
+    '💅',
+    '💆',
+    '💇',
+    '💈',
+    '💉',
+    '💊',
+    '💋',
+    '💌',
+    '💍',
+    '💎',
+    '💏',
+    '💐',
+    '💑',
+    '💒',
+    '💓',
+    '💔',
+    '💕',
+    '💖',
+    '💗',
+    '💘',
+    '💙',
+    '💚',
+    '💛',
+    '💜',
+    '💝',
+    '💞',
+    '💟',
+    '💠',
+    '💡',
+    '💢',
+    '💣',
+    '💤',
+    '💥',
+    '💦',
+    '💧',
+    '💨',
+    '💩',
+    '💪',
+    '💫',
+    '💭',
+    '💮',
+    '💯',
+    '💰',
+    '💱',
+    '💲',
+    '💳',
+    '💴',
+    '💶',
+    '💸',
+    '💹',
+    '💺',
+    '💻',
+    '💼',
+    '💽',
+    '💾',
+    '💿',
+    '📀',
+    '📁',
+    '📂',
+    '📃',
+    '📄',
+    '📅',
+    '📆',
+    '📇',
+    '📈',
+    '📉',
+    '📊',
+    '📋',
+    '📌',
+    '📍',
+    '📎',
+    '📏',
+    '📐',
+    '📑',
+    '📒',
+    '📓',
+    '📔',
+    '📕',
+    '📖',
+    '📗',
+    '📘',
+    '📙',
+    '📚',
+    '📛',
+    '📜',
+    '📝',
+    '📞',
+    '📟',
+    '📠',
+    '📡',
+    '📢',
+    '📣',
+    '📤',
+    '📥',
+    '📦',
+    '📧',
+    '📨',
+    '📩',
+    '📪',
+    '📬',
+    '📮',
+    '📯',
+    '📰',
+    '📱',
+    '📲',
+    '📳',
+    '📵',
+    '📶',
+    '📸',
+    '📹',
+    '📺',
+    '📻',
+    '📿',
+    '🔀',
+    '🔁',
+    '🔃',
+    '🔄',
+    '🔅',
+    '🔆',
+    '🔈',
+    '🔉',
+    '🔊',
+    '🔋',
+    '🔌',
+    '🔍',
+    '🔎',
+    '🔏',
+    '🔐',
+    '🔑',
+    '🔒',
+    '🔓',
+    '🔕',
+    '🔖',
+    '🔗',
+    '🔘',
+    '🔙',
+    '🔚',
+    '🔛',
+    '🔜',
+    '🔝',
+    '🔞',
+    '🔟',
+    '🔠',
+    '🔡',
+    '🔢',
+    '🔣',
+    '🔤',
+    '🔥',
+    '🔦',
+    '🔧',
+    '🔨',
+    '🔩',
+    '🔪',
+    '🔬',
+    '🔮',
+    '🔯',
+    '🔰',
+    '🔱',
+    '🔲',
+    '🔳',
+    '🔴',
+    '🔵',
+    '🔶',
+    '🔷',
+    '🔸',
+    '🔹',
+    '🔺',
+    '🔻',
+    '🔼',
+    '🕋',
+    '🕌',
+    '🕍',
+    '🕐',
+    '🕑',
+    '🕒',
+    '🕓',
+    '🕔',
+    '🕕',
+    '🕖',
+    '🕗',
+    '🕘',
+    '🕙',
+    '🕚',
+    '🕜',
+    '🕝',
+    '🕞',
+    '🕟',
+    '🕠',
+    '🕡',
+    '🕢',
+    '🕣',
+    '🕤',
+    '🕥',
+    '🕦',
+    '🕺',
+    '🖕',
+    '🖤',
+    '🗻',
+    '🗼',
+    '🗽',
+    '🗾',
+    '😀',
+    '😁',
+    '😂',
+    '😃',
+    '😄',
+    '😅',
+    '😇',
+    '😉',
+    '😊',
+    '😋',
+    '😌',
+    '😎',
+    '😏',
+    '😐',
+    '😑',
+    '😒',
+    '😓',
+    '😕',
+    '😖',
+    '😗',
+    '😘',
+    '😙',
+    '😚',
+    '😛',
+    '😜',
+    '😝',
+    '😟',
+    '😠',
+    '😡',
+    '😢',
+    '😣',
+    '😤',
+    '😦',
+    '😨',
+    '😩',
+    '😪',
+    '😬',
+    '😭',
+    '😮',
+    '😰',
+    '😱',
+    '😲',
+    '😴',
+    '😵',
+    '😶',
+    '😷',
+    '😸',
+    '😹',
+    '😺',
+    '😻',
+    '😼',
+    '😽',
+    '😾',
+    '😿',
+    '🙁',
+    '🙂',
+    '🙃',
+    '🙅',
+    '🙆',
+    '🙇',
+    '🙈',
+    '🙉',
+    '🙊',
+    '🙋',
+    '🙌',
+    '🙍',
+    '🙎',
+    '🚀',
+    '🚁',
+    '🚃',
+    '🚄',
+    '🚆',
+    '🚇',
+    '🚈',
+    '🚉',
+    '🚊',
+    '🚌',
+    '🚍',
+    '🚎',
+    '🚏',
+    '🚐',
+    '🚑',
+    '🚒',
+    '🚔',
+    '🚕',
+    '🚖',
+    '🚗',
+    '🚘',
+    '🚙',
+    '🚛',
+    '🚜',
+    '🚝',
+    '🚞',
+    '🚟',
+    '🚠',
+    '🚢',
+    '🚣',
+    '🚤',
+    '🚦',
+    '🚧',
+    '🚨',
+    '🚩',
+    '🚪',
+    '🚫',
+    '🚬',
+    '🚮',
+    '🚯',
+    '🚰',
+    '🚲',
+    '🚳',
+    '🚴',
+    '🚶',
+    '🚷',
+    '🚹',
+    '🚺',
+    '🚻',
+    '🚼',
+    '🚽',
+    '🚿',
+    '🛀',
+    '🛁',
+    '🛂',
+    '🛃',
+    '🛄',
+    '🛌',
+    '🛐',
+    '🛑',
+    '🛕',
+    '🛖',
+    '🛫',
+    '🛴',
+    '🛵',
+    '🛷',
+    '🛹',
+    '🛺',
+    '🛻',
+    '🟠',
+    '🟡',
+    '🟢',
+    '🟣',
+    '🟤',
+    '🟥',
+    '🟦',
+    '🟧',
+    '🟨',
+    '🟩',
+    '🟪',
+    '🤌',
+    '🤍',
+    '🤎',
+    '🤐',
+    '🤑',
+    '🤒',
+    '🤓',
+    '🤔',
+    '🤕',
+    '🤖',
+    '🤗',
+    '🤙',
+    '🤚',
+    '🤛',
+    '🤜',
+    '🤝',
+    '🤟',
+    '🤠',
+    '🤡',
+    '🤢',
+    '🤣',
+    '🤤',
+    '🤥',
+    '🤦',
+    '🤨',
+    '🤩',
+    '🤪',
+    '🤫',
+    '🤬',
+    '🤭',
+    '🤮',
+    '🤰',
+    '🤱',
+    '🤳',
+    '🤴',
+    '🤵',
+    '🤶',
+    '🤷',
+    '🤸',
+    '🤹',
+    '🤼',
+    '🤽',
+    '🤿',
+    '🥀',
+    '🥁',
+    '🥂',
+    '🥃',
+    '🥄',
+    '🥇',
+    '🥈',
+    '🥉',
+    '🥊',
+    '🥌',
+    '🥍',
+    '🥎',
+    '🥐',
+    '🥑',
+    '🥒',
+    '🥓',
+    '🥔',
+    '🥕',
+    '🥖',
+    '🥗',
+    '🥘',
+    '🥙',
+    '🥚',
+    '🥛',
+    '🥜',
+    '🥝',
+    '🥟',
+    '🥠',
+    '🥡',
+    '🥢',
+    '🥣',
+    '🥤',
+    '🥥',
+    '🥦',
+    '🥧',
+    '🥨',
+    '🥩',
+    '🥪',
+    '🦀',
+    '🦁',
+    '🦂',
+    '🦃',
+    '🦅',
+    '🦆',
+    '🦇',
+    '🦈',
+    '🦉',
+    '🦊',
+    '🦋',
+    '🦌',
+    '🦍',
+    '🦎',
+    '🦏',
+    '🦐',
+    '🦒',
+    '🦓',
+    '🦔',
+    '🦕',
+    '🦖',
+    '🦘',
+    '🦙',
+    '🦚',
+    '🦛',
+    '🦜',
+    '🦝',
+    '🦞',
+    '🦟',
+    '🦠',
+    '🦡',
+    '🦣',
+    '🦥',
+    '🦦',
+    '🦧',
+    '🦨',
+    '🦩',
+    '🦫',
+    '🦬',
+    '🦮',
+    '🦰',
+    '🦱',
+    '🦲',
+    '🦳',
+    '🦴',
+    '🦵',
+    '🦶',
+    '🦷',
+    '🦸',
+    '🦺',
+    '🦻',
+    '🦼',
+    '🦽',
+    '🦾',
+    '🧀',
+    '🧁',
+    '🧃',
+    '🧄',
+    '🧅',
+    '🧆',
+    '🧇',
+    '🧈',
+    '🧉',
+    '🧋',
+    '🧍',
+    '🧎',
+    '🧐',
+    '🧑',
+    '🧒',
+    '🧓',
+    '🧔',
+    '🧕',
+    '🧖',
+    '🧗',
+    '🧘',
+    '🧙',
+    '🧚',
+    '🧛',
+    '🧜',
+    '🧝',
+    '🧞',
+    '🧟',
+    '🧠',
+    '🧡',
+    '🧢',
+    '🧣',
+    '🧤',
+    '🧥',
+    '🧧',
+    '🧨',
+    '🧩',
+    '🧪',
+    '🧫',
+    '🧬',
+    '🧭',
+    '🧮',
+    '🧯',
+    '🧰',
+    '🧱',
+    '🧲',
+    '🧳',
+    '🧴',
+    '🧵',
+    '🧶',
+    '🧷',
+    '🧸',
+    '🧹',
+    '🧺',
+    '🧻',
+    '🧼',
+    '🧽',
+    '🧾',
+    '🩰',
+    '🩱',
+    '🩲',
+    '🩴',
+    '🩸',
+    '🩹',
+    '🪀',
+    '🪁',
+    '🪃',
+    '🪄',
+    '🪅',
+    '🪐',
+    '🪑',
+    '🪒',
+    '🪓',
+    '🪔',
+    '🪖',
+    '🪗',
+    '🪘',
+    '🪙',
+    '🪚',
+    '🪛',
+    '🪜',
+    '🪝',
+    '🪞',
+    '🪟',
+    '🪠',
+    '🪡',
+    '🪢',
+    '🪣',
+    '🪤',
+    '🪥',
+    '🪦',
+    '🪧',
+    '🪰',
+    '🪱',
+    '🪲',
+    '🪳',
+    '🪴',
+    '🪵',
+    '🫀',
+    '🫁',
+    '🫐',
+    '🫑',
+    '🫒',
+    '🫓',
+    '🫔',
+    '🫕',
+    '©️',
+    '®️',
+    '‼️',
+    '⁉️',
+    '™️',
+    'ℹ️',
+    '↔️',
+    '↕️',
+    '↖️',
+    '↗️',
+    '↘️',
+    '↙️',
+    '↩️',
+    '↪️',
+    '⌨️',
+    '⏏️',
+    '⏭️',
+    '⏮️',
+    '⏯️',
+    '⏱️',
+    '⏲️',
+    '⏸️',
+    '⏹️',
+    '⏺️',
+    'Ⓜ️',
+    '▪️',
+    '▫️',
+    '▶️',
+    '◀️',
+    '◻️',
+    '◼️',
+    '☀️',
+    '☁️',
+    '☂️',
+    '☃️',
+    '☄️',
+    '☎️',
+    '☑️',
+    '☘️',
+    '☝️',
+    '☠️',
+    '☢️',
+    '☣️',
+    '☦️',
+    '☪️',
+    '☮️',
+    '☯️',
+    '☸️',
+    '☹️',
+    '☺️',
+    '♀️',
+    '♂️',
+    '♟️',
+    '♠️',
+    '♣️',
+    '♥️',
+    '♦️',
+    '♨️',
+    '♻️',
+    '♾️',
+    '⚒️',
+    '⚔️',
+    '⚕️',
+    '⚖️',
+    '⚗️',
+    '⚙️',
+    '⚛️',
+    '⚜️',
+    '⚠️',
+    '⚧️',
+    '⚰️',
+    '⚱️',
+    '⛈️',
+    '⛏️',
+    '⛑️',
+    '⛓️',
+    '⛩️',
+    '⛰️',
+    '⛱️',
+    '⛴️',
+    '⛷️',
+    '⛸️',
+    '⛹️',
+    '✂️',
+    '✈️',
+    '✉️',
+    '✌️',
+    '✍️',
+    '✏️',
+    '✒️',
+    '✔️',
+    '✖️',
+    '✝️',
+    '✡️',
+    '✳️',
+    '✴️',
+    '❄️',
+    '❇️',
+    '❣️',
+    '❤️',
+    '➡️',
+    '⤴️',
+    '⤵️',
+    '⬅️',
+    '⬆️',
+    '⬇️',
+    '〰️',
+    '〽️',
+    '㊗️',
+    '㊙️',
+    '🅰️',
+    '🅱️',
+    '🅾️',
+    '🅿️',
+    '🈂️',
+    '🈷️',
+    '🌡️',
+    '🌤️',
+    '🌥️',
+    '🌦️',
+    '🌧️',
+    '🌨️',
+    '🌩️',
+    '🌪️',
+    '🌫️',
+    '🌬️',
+    '🌶️',
+    '🍽️',
+    '🎖️',
+    '🎗️',
+    '🎙️',
+    '🎚️',
+    '🎛️',
+    '🎞️',
+    '🎟️',
+    '🏋️',
+    '🏌️',
+    '🏍️',
+    '🏎️',
+    '🏔️',
+    '🏕️',
+    '🏖️',
+    '🏗️',
+    '🏘️',
+    '🏙️',
+    '🏚️',
+    '🏛️',
+    '🏜️',
+    '🏝️',
+    '🏞️',
+    '🏟️',
+    '🏳️',
+    '🏵️',
+    '🏷️',
+    '🐿️',
+    '👁️',
+    '📽️',
+    '🕉️',
+    '🕊️',
+    '🕯️',
+    '🕰️',
+    '🕳️',
+    '🕴️',
+    '🕵️',
+    '🕶️',
+    '🕷️',
+    '🕸️',
+    '🕹️',
+    '🖇️',
+    '🖊️',
+    '🖋️',
+    '🖌️',
+    '🖍️',
+    '🖐️',
+    '🖥️',
+    '🖨️',
+    '🖱️',
+    '🖲️',
+    '🖼️',
+    '🗂️',
+    '🗃️',
+    '🗄️',
+    '🗑️',
+    '🗒️',
+    '🗓️',
+    '🗜️',
+    '🗝️',
+    '🗞️',
+    '🗡️',
+    '🗣️',
+    '🗨️',
+    '🗯️',
+    '🗳️',
+    '🗺️',
+    '🛋️',
+    '🛍️',
+    '🛎️',
+    '🛏️',
+    '🛠️',
+    '🛡️',
+    '🛢️',
+    '🛣️',
+    '🛤️',
+    '🛥️',
+    '🛩️',
+    '🛰️',
+    '🛳️',
+    '#️⃣',
+    '*️⃣',
+    '0️⃣',
+    '1️⃣',
+    '2️⃣',
+    '3️⃣',
+    '4️⃣',
+    '5️⃣',
+    '6️⃣',
+    '7️⃣',
+    '8️⃣',
+    '9️⃣',
+    '🏴󠁧󠁢󠁥󠁮󠁧󠁿',
+    '☝',
+    '☝',
+    '☝',
+    '☝',
+    '☝',
+    '⛹',
+    '⛹',
+    '⛹',
+    '⛹',
+    '⛹',
+    '✊',
+    '✊',
+    '✊',
+    '✊',
+    '✊',
+    '✋   ',
+    '✋  ',
+    '✋  ',
+    '✋   ',
+    '✋   ',
+    '✌   ',
+    '✌  ',
+    '✌  ',
+    '✌   ',
+    '✌   ',
+    '✍   ',
+    '✍  ',
+    '✍  ',
+    '✍   ',
+    '✍   ',
+    '🎅   ',
+    '🎅  ',
+    '🎅  ',
+    '🎅   ',
+    '🎅   ',
+    '🏂   ',
+    '🏂  ',
+    '🏂  ',
+    '🏂   ',
+    '🏂   ',
+    '🏃   ',
+    '🏃  ',
+    '🏃  ',
+    '🏃   ',
+    '🏃   ',
+    '🏄   ',
+    '🏄  ',
+    '🏄  ',
+    '🏄   ',
+    '🏄   ',
+    '🏇   ',
+    '🏇  ',
+    '🏇  ',
+    '🏇   ',
+    '🏇   ',
+    '🏊   ',
+    '🏊  ',
+    '🏊  ',
+    '🏊   ',
+    '🏊   ',
+    '🏋   ',
+    '🏋  ',
+    '🏋  ',
+    '🏋   ',
+    '🏋   ',
+    '🏌   ',
+    '🏌  ',
+    '🏌  ',
+    '🏌   ',
+    '🏌   ',
+    '👂   ',
+    '👂  ',
+    '👂  ',
+    '👂   ',
+    '👂   ',
+    '👃   ',
+    '👃  ',
+    '👃  ',
+    '👃   ',
+    '👃   ',
+    '👆   ',
+    '👆  ',
+    '👆  ',
+    '👆   ',
+    '👆   ',
+    '👇   ',
+    '👇  ',
+    '👇  ',
+    '👇   ',
+    '👇   ',
+    '👈   ',
+    '👈  ',
+    '👈  ',
+    '👈   ',
+    '👈   ',
+    '👉   ',
+    '👉  ',
+    '👉  ',
+    '👉   ',
+    '👉   ',
+    '👊   ',
+    '👊  ',
+    '👊  ',
+    '👊   ',
+    '👊   ',
+    '👋   ',
+    '👋  ',
+    '👋  ',
+    '👋   ',
+    '👋   ',
+    '👌   ',
+    '👌  ',
+    '👌  ',
+    '👌   ',
+    '👌   ',
+    '👍   ',
+    '👍  ',
+    '👍  ',
+    '👍   ',
+    '👍   ',
+    '👎   ',
+    '👎  ',
+    '👎  ',
+    '👎   ',
+    '👎   ',
+    '👏   ',
+    '👏  ',
+    '👏  ',
+    '👏   ',
+    '👏   ',
+    '👐   ',
+    '👐  ',
+    '👐  ',
+    '👐   ',
+    '👐   ',
+    '👦   ',
+    '👦  ',
+    '👦  ',
+    '👦   ',
+    '👦   ',
+    '👧   ',
+    '👧  ',
+    '👧  ',
+    '👧   ',
+    '👧   ',
+    '👨   ',
+    '👨  ',
+    '👨  ',
+    '👨   ',
+    '👨   ',
+    '👩   ',
+    '👩  ',
+    '👩  ',
+    '👩   ',
+    '👩   ',
+    '👫   ',
+    '👫  ',
+    '👫  ',
+    '👫   ',
+    '👫   ',
+    '👬   ',
+    '👬  ',
+    '👬  ',
+    '👬   ',
+    '👬   ',
+    '👭   ',
+    '👭  ',
+    '👭  ',
+    '👭   ',
+    '👭   ',
+    '👮   ',
+    '👮  ',
+    '👮  ',
+    '👮   ',
+    '👮   ',
+    '👰   ',
+    '👰  ',
+    '👰  ',
+    '👰   ',
+    '👰   ',
+    '👱   ',
+    '👱  ',
+    '👱  ',
+    '👱   ',
+    '👱   ',
+    '👲   ',
+    '👲  ',
+    '👲  ',
+    '👲   ',
+    '👲   ',
+    '👳   ',
+    '👳  ',
+    '👳  ',
+    '👳   ',
+    '👳   ',
+    '👴   ',
+    '👴  ',
+    '👴  ',
+    '👴   ',
+    '👴   ',
+    '👵   ',
+    '👵  ',
+    '👵  ',
+    '👵   ',
+    '👵   ',
+    '👶   ',
+    '👶  ',
+    '👶  ',
+    '👶   ',
+    '👶   ',
+    '👷   ',
+    '👷  ',
+    '👷  ',
+    '👷   ',
+    '👷   ',
+    '👸   ',
+    '👸  ',
+    '👸  ',
+    '👸   ',
+    '👸   ',
+    '👼   ',
+    '👼  ',
+    '👼  ',
+    '👼   ',
+    '👼   ',
+    '💁   ',
+    '💁  ',
+    '💁  ',
+    '💁   ',
+    '💁   ',
+    '💂   ',
+    '💂  ',
+    '💂  ',
+    '💂   ',
+    '💂   ',
+    '💃   ',
+    '💃  ',
+    '💃  ',
+    '💃   ',
+    '💃   ',
+    '💅   ',
+    '💅  ',
+    '💅  ',
+    '💅   ',
+    '💅   ',
+    '💆   ',
+    '💆  ',
+    '💆  ',
+    '💆   ',
+    '💆   ',
+    '💇   ',
+    '💇  ',
+    '💇  ',
+    '💇   ',
+    '💇   ',
+    '💏   ',
+    '💏  ',
+    '💏  ',
+    '💏   ',
+    '💏   ',
+    '💑   ',
+    '💑  ',
+    '💑  ',
+    '💑   ',
+    '💑   ',
+    '💪   ',
+    '💪  ',
+    '💪  ',
+    '💪   ',
+    '💪   ',
+    '🕴   ',
+    '🕴  ',
+    '🕴  ',
+    '🕴   ',
+    '🕴   ',
+    '🕵   ',
+    '🕵  ',
+    '🕵  ',
+    '🕵   ',
+    '🕵   ',
+    '🕺   ',
+    '🕺  ',
+    '🕺  ',
+    '🕺   ',
+    '🕺   ',
+    '🖐   ',
+    '🖐  ',
+    '🖐  ',
+    '🖐   ',
+    '🖐   ',
+    '🖕   ',
+    '🖕  ',
+    '🖕  ',
+    '🖕   ',
+    '🖕   ',
+    '🖖   ',
+    '🖖  ',
+    '🖖  ',
+    '🖖   ',
+    '🖖   ',
+    '🙅   ',
+    '🙅  ',
+    '🙅  ',
+    '🙅   ',
+    '🙅   ',
+    '🙆   ',
+    '🙆  ',
+    '🙆  ',
+    '🙆   ',
+    '🙆   ',
+    '🙇   ',
+    '🙇  ',
+    '🙇  ',
+    '🙇   ',
+    '🙇   ',
+    '🙋   ',
+    '🙋  ',
+    '🙋  ',
+    '🙋   ',
+    '🙋   ',
+    '🙌   ',
+    '🙌  ',
+    '🙌  ',
+    '🙌   ',
+    '🙌   ',
+    '🙍   ',
+    '🙍  ',
+    '🙍  ',
+    '🙍   ',
+    '🙍   ',
+    '🙎   ',
+    '🙎  ',
+    '🙎  ',
+    '🙎   ',
+    '🙎   ',
+    '🙏   ',
+    '🙏  ',
+    '🙏  ',
+    '🙏   ',
+    '🙏   ',
+    '🚣   ',
+    '🚣  ',
+    '🚣  ',
+    '🚣   ',
+    '🚣   ',
+    '🚴   ',
+    '🚴  ',
+    '🚴  ',
+    '🚴   ',
+    '🚴   ',
+    '🚵   ',
+    '🚵  ',
+    '🚵  ',
+    '🚵   ',
+    '🚵   ',
+    '🚶   ',
+    '🚶  ',
+    '🚶  ',
+    '🚶   ',
+    '🚶   ',
+    '🛀   ',
+    '🛀  ',
+    '🛀  ',
+    '🛀   ',
+    '🛀   ',
+    '🛌   ',
+    '🛌  ',
+    '🛌  ',
+    '🛌   ',
+    '🛌   ',
+    '🤌   ',
+    '🤌  ',
+    '🤌  ',
+    '🤌   ',
+    '🤌   ',
+    '🤏   ',
+    '🤏  ',
+    '🤏  ',
+    '🤏   ',
+    '🤏   ',
+    '🤘   ',
+    '🤘  ',
+    '🤘  ',
+    '🤘   ',
+    '🤘   ',
+    '🤙   ',
+    '🤙  ',
+    '🤙  ',
+    '🤙   ',
+    '🤙   ',
+    '🤚   ',
+    '🤚  ',
+    '🤚  ',
+    '🤚   ',
+    '🤚   ',
+    '🤛   ',
+    '🤛  ',
+    '🤛  ',
+    '🤛   ',
+    '🤛   ',
+    '🤜   ',
+    '🤜  ',
+    '🤜  ',
+    '🤜   ',
+    '🤜   ',
+    '🤞   ',
+    '🤞  ',
+    '🤞  ',
+    '🤞   ',
+    '🤞   ',
+    '🤟   ',
+    '🤟  ',
+    '🤟  ',
+    '🤟   ',
+    '🤟   ',
+    '🤦   ',
+    '🤦  ',
+    '🤦  ',
+    '🤦   ',
+    '🤦   ',
+    '🤰   ',
+    '🤰  ',
+    '🤰  ',
+    '🤰   ',
+    '🤰   ',
+    '🤱   ',
+    '🤱  ',
+    '🤱  ',
+    '🤱   ',
+    '🤱   ',
+    '🤲   ',
+    '🤲  ',
+    '🤲  ',
+    '🤲   ',
+    '🤲   ',
+    '🤳   ',
+    '🤳  ',
+    '🤳  ',
+    '🤳   ',
+    '🤳   ',
+    '🤴   ',
+    '🤴  ',
+    '🤴  ',
+    '🤴   ',
+    '🤴   ',
+    '🤵   ',
+    '🤵  ',
+    '🤵  ',
+    '🤵   ',
+    '🤵   ',
+    '🤶   ',
+    '🤶  ',
+    '🤶  ',
+    '🤶   ',
+    '🤶   ',
+    '🤷   ',
+    '🤷  ',
+    '🤷  ',
+    '🤷   ',
+    '🤷   ',
+    '🤸   ',
+    '🤸  ',
+    '🤸  ',
+    '🤸   ',
+    '🤸   ',
+    '🤹   ',
+    '🤹  ',
+    '🤹  ',
+    '🤹   ',
+    '🤹   ',
+    '🤽   ',
+    '🤽  ',
+    '🤽  ',
+    '🤽   ',
+    '🤽   ',
+    '🤾   ',
+    '🤾  ',
+    '🤾  ',
+    '🤾   ',
+    '🤾   ',
+    '🥷   ',
+    '🥷  ',
+    '🥷  ',
+    '🥷   ',
+    '🥷   ',
+    '🦵   ',
+    '🦵  ',
+    '🦵  ',
+    '🦵   ',
+    '🦵   ',
+    '🦶   ',
+    '🦶  ',
+    '🦶  ',
+    '🦶   ',
+    '🦶   ',
+    '🦸   ',
+    '🦸  ',
+    '🦸  ',
+    '🦸   ',
+    '🦸   ',
+    '🦹   ',
+    '🦹  ',
+    '🦹  ',
+    '🦹   ',
+    '🦹   ',
+    '🦻   ',
+    '🦻  ',
+    '🦻  ',
+    '🦻   ',
+    '🦻   ',
+    '🧍   ',
+    '🧍  ',
+    '🧍  ',
+    '🧍   ',
+    '🧍   ',
+    '🧎   ',
+    '🧎  ',
+    '🧎  ',
+    '🧎   ',
+    '🧎   ',
+    '🧏   ',
+    '🧏  ',
+    '🧏  ',
+    '🧏   ',
+    '🧏   ',
+    '🧑   ',
+    '🧑  ',
+    '🧑  ',
+    '🧑   ',
+    '🧑   ',
+    '🧒   ',
+    '🧒  ',
+    '🧒  ',
+    '🧒   ',
+    '🧒   ',
+    '🧓   ',
+    '🧓  ',
+    '🧓  ',
+    '🧓   ',
+    '🧓   ',
+    '🧔   ',
+    '🧔  ',
+    '🧔  ',
+    '🧔   ',
+    '🧔   ',
+    '🧕   ',
+    '🧕  ',
+    '🧕  ',
+    '🧕   ',
+    '🧕   ',
+    '🧖   ',
+    '🧖  ',
+    '🧖  ',
+    '🧖   ',
+    '🧖   ',
+    '🧗   ',
+    '🧗  ',
+    '🧗  ',
+    '🧗   ',
+    '🧗   ',
+    '🧘   ',
+    '🧘  ',
+    '🧘  ',
+    '🧘   ',
+    '🧘   ',
+    '🧙   ',
+    '🧙  ',
+    '🧙  ',
+    '🧙   ',
+    '🧙   ',
+    '🧚   ',
+    '🧚  ',
+    '🧚  ',
+    '🧚   ',
+    '🧚   ',
+    '🧛   ',
+    '🧛  ',
+    '🧛  ',
+    '🧛   ',
+    '🧛   ',
+    '🧜   ',
+    '🧜  ',
+    '🧜  ',
+    '🧜   ',
+    '🧜   ',
+    '🧝   ',
+    '🧝  ',
+    '🧝  ',
+    '🧝   ',
+    '🧝   ',
+    '👨',
+];
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/favicon.png b/coverage/lcov-report/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..6691817834a957c938e7f09640a37a645fb31457 GIT binary patch literal 540 zcmV+%0^|LOP)wSzy{h>9elhJ=8GnBQmf?)AI(^#wDA_`!QTxaXXE&bjxo zTGCc%V|W`}Lwz0rDO*qBbGY-M@aNENIZ1rK?nOAibaC*vb%CF;I_~lkJawax%_+1J zLn(#pv_v{f0`v`Cfp6()7MB(>IoTAiQdKxgxX?VyV&KVZ7b$vn<8|Z<9$35C+G_8SH0x6Y(xB&~bmn%r}ceRwbc0000 + + + + Code coverage report for All files + + + + + + + + + +
+
+

All files

+
+ +
+ 87.82% + Statements + 101/115 +
+ + +
+ 83.33% + Branches + 35/42 +
+ + +
+ 75% + Functions + 3/4 +
+ + +
+ 88.57% + Lines + 93/105 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
check.option.js +
+
75%21/2877.77%14/18100%1/176.92%20/26
cryptorandomt.js +
+
100%10/10100%0/0100%1/1100%10/10
emoji.js +
+
100%3/3100%0/0100%0/0100%3/3
index.js +
+
89.06%57/6487.5%21/2450%1/289.28%50/56
types.js +
+
100%10/10100%0/0100%0/0100%10/10
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/index.js.html b/coverage/lcov-report/index.js.html new file mode 100644 index 0000000..92d4bd7 --- /dev/null +++ b/coverage/lcov-report/index.js.html @@ -0,0 +1,331 @@ + + + + + + Code coverage report for index.js + + + + + + + + + +
+
+

All files index.js

+
+ +
+ 89.06% + Statements + 57/64 +
+ + +
+ 87.5% + Branches + 21/24 +
+ + +
+ 50% + Functions + 1/2 +
+ + +
+ 89.28% + Lines + 50/56 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
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  +1x +1x +1x +1x +1x +1x +  +  +  +  +1x +15x +15x +2x +2x +2x +2x +25x +  +  +13x +13x +2x +  +13x +3x +3x +3x +22x +  +3x +  +10x +2x +2x +  +8x +1x +6x +  +  +7x +1x +6x +  +  +6x +1x +1x +6x +  +1x +  +5x +3x +3x +18x +  +3x +  +  +2x +2x +21x +  +2x +  +  +15x +  +1x +1x +  +  +  +  +  +  +  +  +1x + 
"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.generateUnicodeEmoji = exports.generate = void 0;
+var check_option_1 = require("./check.option");
+var emoji_1 = require("./emoji");
+var types_1 = require("./types");
+var cryptorandomt_1 = require("./cryptorandomt");
+/**
+ * @param option- could be number which is the length of the string to be generated || could be option {
+ * @returns- random string generated
+ */
+var generate = function (option) {
+    var result = '';
+    if (typeof option === 'number' || !option) {
+        var opt = option ? option : 16;
+        var characters = types_1.alphanumeric;
+        var charactersLength = characters.length;
+        for (var i = 0; i < opt; i += 1) {
+            result += characters.charAt((0, cryptorandomt_1.getCryptoRandomInt)(charactersLength));
+        }
+    }
+    else Eif (typeof option === 'object') {
+        if (!option.length) {
+            option.length = 16;
+        }
+        if (option.range) {
+            var characters = option.range;
+            var charactersLength = characters.toString().length;
+            for (var i = 0; i < option.length; i += 1) {
+                result += characters.charAt((0, cryptorandomt_1.getCryptoRandomInt)(charactersLength));
+            }
+            result = (0, check_option_1.checkOptions)(result, option);
+        }
+        else if (option.charset === 'number') {
+            result = Math.round((0, cryptorandomt_1.getCryptoRandomInt)(Math.pow(10, option.length)));
+            result = (0, check_option_1.checkOptions)(String(result), option);
+        }
+        else if (option.charset === 'binary') {
+            for (var i = 0; i < option.length; ++i) {
+                result += (0, cryptorandomt_1.getCryptoRandomInt)(1);
+            }
+        }
+        else if (option.charset === 'octal') {
+            for (var i = 0; i < option.length; ++i) {
+                result += (0, cryptorandomt_1.getCryptoRandomInt)(7);
+            }
+        }
+        else if (option.charset === 'hex') {
+            var charactersLength = types_1.hex.length;
+            for (var i = 0; i < option.length; i += 1) {
+                result += types_1.hex.charAt((0, cryptorandomt_1.getCryptoRandomInt)(charactersLength));
+            }
+            result = (0, check_option_1.checkOptions)(result, option);
+        }
+        else if (option.charset === 'alphabet') {
+            var charactersLength = types_1.alphabet.length;
+            for (var i = 0; i < option.length; i += 1) {
+                result += types_1.alphabet.charAt((0, cryptorandomt_1.getCryptoRandomInt)(charactersLength));
+            }
+            result = (0, check_option_1.checkOptions)(result, option);
+        }
+        else {
+            var charactersLength = types_1.alphanumeric.length;
+            for (var i = 0; i < option.length; i += 1) {
+                result += types_1.alphanumeric.charAt((0, cryptorandomt_1.getCryptoRandomInt)(charactersLength));
+            }
+            result = (0, check_option_1.checkOptions)(result, option);
+        }
+    }
+    return result;
+};
+exports.generate = generate;
+var generateUnicodeEmoji = function (length) {
+    var len = length ? length : 16;
+    var result = '';
+    var charactersLength = emoji_1.emojis.length;
+    for (var i = 0; i < len; i += 1) {
+        result += emoji_1.emojis[(0, cryptorandomt_1.getCryptoRandomInt)(charactersLength)].trim();
+    }
+    return result;
+};
+exports.generateUnicodeEmoji = generateUnicodeEmoji;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov-report/prettify.css b/coverage/lcov-report/prettify.css new file mode 100644 index 0000000..b317a7c --- /dev/null +++ b/coverage/lcov-report/prettify.css @@ -0,0 +1 @@ +.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 new file mode 100644 index 0000000..b322523 --- /dev/null +++ b/coverage/lcov-report/prettify.js @@ -0,0 +1,2 @@ +/* eslint-disable */ +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/sort-arrow-sprite.png b/coverage/lcov-report/sort-arrow-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..03f704a609c6fd0dbfdac63466a7d7c958b5cbf3 GIT binary patch literal 209 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qj#UE5hcO-X(i=}MX3yqDfvmM z3ZA)%>8U}fi7AzZCsS>Jii$m5978H@?Fn+^JD|Y9yzj{W`447Gxa{7*dM7nnnD-Lb z6^}Hx2)'; + } + } + 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(); + addSearchBox(); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/coverage/lcov-report/types.js.html b/coverage/lcov-report/types.js.html new file mode 100644 index 0000000..0b86ee8 --- /dev/null +++ b/coverage/lcov-report/types.js.html @@ -0,0 +1,121 @@ + + + + + + Code coverage report for types.js + + + + + + + + + +
+
+

All files types.js

+
+ +
+ 100% + Statements + 10/10 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 0/0 +
+ + +
+ 100% + Lines + 10/10 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13  +1x +1x +1x +1x +1x +1x +1x +1x +1x +1x +  + 
"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.alphabetNumericSymbol = exports.numberSymbol = exports.alphabetSymbol = exports.number = exports.alphanumeric = exports.alphabet = exports.symbols = exports.hex = void 0;
+exports.hex = '0123456789ABCDEFabcdef';
+exports.symbols = '[-!$%^&*()_+|~=`{}[]:";<>?,./]' + "'";
+exports.alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
+exports.alphanumeric = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
+exports.number = '0123456789';
+exports.alphabetSymbol = 'IJ[A-B!C$Dh%E^FGH&KfgL*f(zMNy)Q_iOfPe+xdRc|zb~S=aTw`{Y}X[]Z\vrW:j";k<ls>t?mVn,o.up/]Uq' + "'";
+exports.numberSymbol = '[-!$%9^&*()_8+|~6=7`5{4}[]3:"2;<>?0,.1/]' + "'";
+exports.alphabetNumericSymbol = 'IJ[0A-B!1C$3Dh%E^2FGH&4Kf5gL*6f(zMN7y)Q_iOfPe+xdRc|zb~S=aTw`{Y}X[]Z\vrW:j";k<ls8>t?9mVn,o.u7p/]Uq' +
+    "'";
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/coverage/lcov.info b/coverage/lcov.info new file mode 100644 index 0000000..6a27841 --- /dev/null +++ b/coverage/lcov.info @@ -0,0 +1,200 @@ +TN: +SF:lib\check.option.js +FN:5,(anonymous_0) +FNF:1 +FNH:1 +FNDA:11,(anonymous_0) +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,11 +DA:7,11 +DA:8,4 +DA:9,4 +DA:16,4 +DA:17,4 +DA:18,43 +DA:21,11 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:28,11 +DA:29,0 +DA:31,11 +DA:32,0 +DA:34,11 +DA:35,2 +DA:37,9 +DA:38,2 +DA:40,7 +DA:42,1 +LF:26 +LH:20 +BRDA:7,0,0,4 +BRDA:7,0,1,7 +BRDA:9,1,0,1 +BRDA:9,1,1,3 +BRDA:11,2,0,1 +BRDA:11,2,1,2 +BRDA:13,3,0,0 +BRDA:13,3,1,2 +BRDA:21,4,0,0 +BRDA:21,4,1,11 +BRDA:28,5,0,0 +BRDA:28,5,1,11 +BRDA:31,6,0,0 +BRDA:31,6,1,11 +BRDA:34,7,0,2 +BRDA:34,7,1,9 +BRDA:37,8,0,2 +BRDA:37,8,1,7 +BRF:18 +BRH:14 +end_of_record +TN: +SF:lib\cryptorandomt.js +FN:5,(anonymous_0) +FNF:1 +FNH:1 +FNDA:106,(anonymous_0) +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,106 +DA:7,106 +DA:8,106 +DA:9,106 +DA:10,106 +DA:12,1 +LF:10 +LH:10 +BRF:0 +BRH:0 +end_of_record +TN: +SF:lib\emoji.js +FNF:0 +FNH:0 +DA:2,1 +DA:3,1 +DA:4,1 +LF:3 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:lib\index.js +FN:12,(anonymous_0) +FN:73,(anonymous_1) +FNF:2 +FNH:1 +FNDA:15,(anonymous_0) +FNDA:0,(anonymous_1) +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:12,1 +DA:13,15 +DA:14,15 +DA:15,2 +DA:16,2 +DA:17,2 +DA:18,2 +DA:19,25 +DA:22,13 +DA:23,13 +DA:24,2 +DA:26,13 +DA:27,3 +DA:28,3 +DA:29,3 +DA:30,22 +DA:32,3 +DA:34,10 +DA:35,2 +DA:36,2 +DA:38,8 +DA:39,1 +DA:40,6 +DA:43,7 +DA:44,1 +DA:45,6 +DA:48,6 +DA:49,1 +DA:50,1 +DA:51,6 +DA:53,1 +DA:55,5 +DA:56,3 +DA:57,3 +DA:58,18 +DA:60,3 +DA:63,2 +DA:64,2 +DA:65,21 +DA:67,2 +DA:70,15 +DA:72,1 +DA:73,1 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:80,0 +DA:82,1 +LF:56 +LH:50 +BRDA:14,0,0,2 +BRDA:14,0,1,13 +BRDA:14,1,0,15 +BRDA:14,1,1,14 +BRDA:15,2,0,1 +BRDA:15,2,1,1 +BRDA:22,3,0,13 +BRDA:22,3,1,0 +BRDA:23,4,0,2 +BRDA:23,4,1,11 +BRDA:26,5,0,3 +BRDA:26,5,1,10 +BRDA:34,6,0,2 +BRDA:34,6,1,8 +BRDA:38,7,0,1 +BRDA:38,7,1,7 +BRDA:43,8,0,1 +BRDA:43,8,1,6 +BRDA:48,9,0,1 +BRDA:48,9,1,5 +BRDA:55,10,0,3 +BRDA:55,10,1,2 +BRDA:74,11,0,0 +BRDA:74,11,1,0 +BRF:24 +BRH:21 +end_of_record +TN: +SF:lib\types.js +FNF:0 +FNH:0 +DA:2,1 +DA:3,1 +DA:4,1 +DA:5,1 +DA:6,1 +DA:7,1 +DA:8,1 +DA:9,1 +DA:10,1 +DA:11,1 +LF:10 +LH:10 +BRF:0 +BRH:0 +end_of_record diff --git a/lib/index.js b/lib/index.js index c1b36b9..338d1ff 100644 --- a/lib/index.js +++ b/lib/index.js @@ -13,10 +13,7 @@ var generate = function (option) { if (typeof option === 'number' || !option) { var opt = option ? option : 16; var characters = types_1.alphanumeric; - var charactersLength = characters.length; - for (var i = 0; i < opt; i += 1) { - result += characters.charAt(Math.floor(Math.random() * charactersLength)); - } + result = compute(characters, opt, characters.length); } else if (typeof option === 'object') { if (!option.length) { @@ -25,9 +22,7 @@ var generate = function (option) { if (option.range) { var characters = option.range; var charactersLength = characters.toString().length; - for (var i = 0; i < option.length; i += 1) { - result += characters.charAt(Math.floor(Math.random() * charactersLength)); - } + result = compute(characters, option.length, charactersLength); result = (0, check_option_1.checkOptions)(result, option); } else if (option.charset === 'number') { @@ -45,30 +40,29 @@ var generate = function (option) { } } else if (option.charset === 'hex') { - var charactersLength = types_1.hex.length; - for (var i = 0; i < option.length; i += 1) { - result += types_1.hex.charAt(Math.floor(Math.random() * charactersLength)); - } + result = compute(types_1.hex, option.length, types_1.hex.length); result = (0, check_option_1.checkOptions)(result, option); } else if (option.charset === 'alphabet') { - var charactersLength = types_1.alphabet.length; - for (var i = 0; i < option.length; i += 1) { - result += types_1.alphabet.charAt(Math.floor(Math.random() * charactersLength)); - } + result = compute(types_1.alphabet, option.length, types_1.alphabet.length); result = (0, check_option_1.checkOptions)(result, option); } else { - var charactersLength = types_1.alphanumeric.length; - for (var i = 0; i < option.length; i += 1) { - result += types_1.alphanumeric.charAt(Math.floor(Math.random() * charactersLength)); - } + result = compute(types_1.alphanumeric, option.length, types_1.alphanumeric.length); result = (0, check_option_1.checkOptions)(result, option); } } return result; }; exports.generate = generate; +var compute = function (type, optlen, length) { + var res = ""; + console.log("COMPUTE RUNNNNNNING.....................", length, "TYPE", optlen); + for (var i = 0; i < optlen; i += 1) { + res += type.charAt(Math.floor(Math.random() * length)); + } + return res; +}; var generateUnicodeEmoji = function (length) { var len = length ? length : 16; var result = ''; diff --git a/src/index.ts b/src/index.ts index 5edc253..a7f726f 100644 --- a/src/index.ts +++ b/src/index.ts @@ -11,10 +11,7 @@ export const generate = (option: number | options) => { if (typeof option === 'number' || !option) { let opt = option ? option : 16; const characters = alphanumeric; - const charactersLength = characters.length; - for (let i = 0; i < opt; i += 1) { - result += characters.charAt(Math.floor(Math.random() * charactersLength)); - } + result= compute(characters, opt, characters.length); } else if (typeof option === 'object') { if (!option.length) { option.length = 16; @@ -22,9 +19,7 @@ export const generate = (option: number | options) => { if (option.range) { const characters = option.range; const charactersLength = characters.toString().length; - for (let i = 0; i < option.length; i += 1) { - result += characters.charAt(Math.floor(Math.random() * charactersLength)); - } + result= compute(characters,option.length, charactersLength); result = checkOptions(result, option); } else if (option.charset === 'number') { result = Math.round(Math.random() * Math.pow(10, option.length)).toString(); @@ -38,28 +33,25 @@ export const generate = (option: number | options) => { result += Math.floor(Math.random() * 8); } } else if (option.charset === 'hex') { - const charactersLength = hex.length; - for (let i = 0; i < option.length; i += 1) { - result += hex.charAt(Math.floor(Math.random() * charactersLength)); - } + result= compute(hex, option.length, hex.length); result = checkOptions(result, option); } else if (option.charset === 'alphabet') { - const charactersLength = alphabet.length; - for (let i = 0; i < option.length; i += 1) { - result += alphabet.charAt(Math.floor(Math.random() * charactersLength)); - } + result= compute(alphabet, option.length, alphabet.length); result = checkOptions(result, option); } else { - const charactersLength = alphanumeric.length; - for (let i = 0; i < option.length; i += 1) { - result += alphanumeric.charAt(Math.floor(Math.random() * charactersLength)); - } + result= compute(alphanumeric,option.length, alphanumeric.length); result = checkOptions(result, option); } } - return result; }; +const compute = (type: string ,optlen: number, length: number) => { + let res= ""; + for (let i = 0; i < optlen; i += 1) { + res += type.charAt(Math.floor(Math.random() * length)); + } + return res; +} export const generateUnicodeEmoji = (length: number) => { let len = length ? length : 16; From f8b17caea7a0186207bc165f13f3bf5806ec2212 Mon Sep 17 00:00:00 2001 From: Sentayhu berhanu Date: Fri, 31 Mar 2023 12:17:51 +0300 Subject: [PATCH 2/5] Update index.js --- lib/index.js | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/index.js b/lib/index.js index 338d1ff..5c3e13b 100644 --- a/lib/index.js +++ b/lib/index.js @@ -57,7 +57,6 @@ var generate = function (option) { exports.generate = generate; var compute = function (type, optlen, length) { var res = ""; - console.log("COMPUTE RUNNNNNNING.....................", length, "TYPE", optlen); for (var i = 0; i < optlen; i += 1) { res += type.charAt(Math.floor(Math.random() * length)); } From ccd4d51b93632cd6b4ce72fc1304efbcbd34c539 Mon Sep 17 00:00:00 2001 From: Sentayhu berhanu Date: Wed, 6 Sep 2023 11:39:22 +0300 Subject: [PATCH 3/5] Security issue with math random fixed --- lib/index.d.ts | 4 ++-- lib/index.js | 56 ++++++++++++++++++++++++++++++------------------- lib/types.d.ts | 2 ++ lib/types.js | 4 +++- src/index.ts | 57 +++++++++++++++++++++++++++++--------------------- src/types.ts | 2 ++ 6 files changed, 76 insertions(+), 49 deletions(-) diff --git a/lib/index.d.ts b/lib/index.d.ts index 1a74b60..b0114de 100644 --- a/lib/index.d.ts +++ b/lib/index.d.ts @@ -1,7 +1,7 @@ import { options } from './types'; /** - * @param option- could be number which is the length of the string to be generated || could be option { - * @returns- random string generated + * @param option - could be a number which is the length of the string to be generated || could be an option { + * @returns - random string generated */ export declare const generate: (option: number | options) => string; export declare const generateUnicodeEmoji: (length: number) => string; diff --git a/lib/index.js b/lib/index.js index 5c3e13b..de8c5e3 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,19 +1,34 @@ "use strict"; +var __importDefault = (this && this.__importDefault) || function (mod) { + return (mod && mod.__esModule) ? mod : { "default": mod }; +}; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateUnicodeEmoji = exports.generate = void 0; var check_option_1 = require("./check.option"); var emoji_1 = require("./emoji"); var types_1 = require("./types"); +var crypto_1 = __importDefault(require("crypto")); /** - * @param option- could be number which is the length of the string to be generated || could be option { - * @returns- random string generated + * @param option - could be a number which is the length of the string to be generated || could be an option { + * @returns - random string generated */ var generate = function (option) { + var compute = function (type, optlen, length) { + var result = ''; + var charactersLength = type.length; + for (var i = 0; i < length; i += 1) { + var randomBytes = crypto_1.default.randomBytes(1); + var randomIndex = Math.floor(randomBytes[0] / 256 * charactersLength); + result += type.charAt(randomIndex); + } + return result; + }; var result = ''; if (typeof option === 'number' || !option) { var opt = option ? option : 16; var characters = types_1.alphanumeric; - result = compute(characters, opt, characters.length); + var charactersLength = characters.length; + result = compute(characters, charactersLength, opt); } else if (typeof option === 'object') { if (!option.length) { @@ -22,52 +37,49 @@ var generate = function (option) { if (option.range) { var characters = option.range; var charactersLength = characters.toString().length; - result = compute(characters, option.length, charactersLength); + result = compute(characters, charactersLength, option.length); result = (0, check_option_1.checkOptions)(result, option); } else if (option.charset === 'number') { - result = Math.round(Math.random() * Math.pow(10, option.length)).toString(); + var max = Math.pow(10, option.length) - 1; + var randomBytes = crypto_1.default.randomBytes(Math.ceil(option.length / 2)); + var randomValue = parseInt(randomBytes.toString('hex'), 16) % max; // Converting the random bytes to a number within the desired range + result = randomValue.toString(); result = (0, check_option_1.checkOptions)(result, option); } else if (option.charset === 'binary') { - for (var i = 0; i < option.length; ++i) { - result += Math.floor(Math.random() * 2); - } + result = compute(types_1.binary, 2, option.length); } else if (option.charset === 'octal') { - for (var i = 0; i < option.length; ++i) { - result += Math.floor(Math.random() * 8); - } + result = compute(types_1.octal, 8, option.length); } else if (option.charset === 'hex') { - result = compute(types_1.hex, option.length, types_1.hex.length); + var charactersLength = types_1.hex.length; + result = compute(types_1.hex, charactersLength, option.length); result = (0, check_option_1.checkOptions)(result, option); } else if (option.charset === 'alphabet') { - result = compute(types_1.alphabet, option.length, types_1.alphabet.length); + var charactersLength = types_1.alphabet.length; + result = compute(types_1.alphabet, charactersLength, option.length); result = (0, check_option_1.checkOptions)(result, option); } else { - result = compute(types_1.alphanumeric, option.length, types_1.alphanumeric.length); + var charactersLength = types_1.alphanumeric.length; + result = compute(types_1.alphanumeric, charactersLength, option.length); result = (0, check_option_1.checkOptions)(result, option); } } return result; }; exports.generate = generate; -var compute = function (type, optlen, length) { - var res = ""; - for (var i = 0; i < optlen; i += 1) { - res += type.charAt(Math.floor(Math.random() * length)); - } - return res; -}; var generateUnicodeEmoji = function (length) { var len = length ? length : 16; var result = ''; var charactersLength = emoji_1.emojis.length; for (var i = 0; i < len; i += 1) { - result += emoji_1.emojis[Math.floor(Math.random() * charactersLength)].trim(); + var randomBytes = crypto_1.default.randomBytes(1); + var randomIndex = Math.floor(randomBytes[0] / 256 * charactersLength); + result += emoji_1.emojis[randomIndex].trim(); } return result; }; diff --git a/lib/types.d.ts b/lib/types.d.ts index ca71e4d..0c3068a 100644 --- a/lib/types.d.ts +++ b/lib/types.d.ts @@ -20,3 +20,5 @@ export declare const number = "0123456789"; export declare const alphabetSymbol: string; export declare const numberSymbol: string; export declare const alphabetNumericSymbol: string; +export declare const binary = "01"; +export declare const octal = "01234567"; diff --git a/lib/types.js b/lib/types.js index 8a87f3e..7717e4c 100644 --- a/lib/types.js +++ b/lib/types.js @@ -1,6 +1,6 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.alphabetNumericSymbol = exports.numberSymbol = exports.alphabetSymbol = exports.number = exports.alphanumeric = exports.alphabet = exports.symbols = exports.hex = void 0; +exports.octal = exports.binary = exports.alphabetNumericSymbol = exports.numberSymbol = exports.alphabetSymbol = exports.number = exports.alphanumeric = exports.alphabet = exports.symbols = exports.hex = void 0; exports.hex = '0123456789ABCDEFabcdef'; exports.symbols = '[-!$%^&*()_+|~=`{}[]:";<>?,./]' + "'"; exports.alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; @@ -10,3 +10,5 @@ exports.alphabetSymbol = 'IJ[A-B!C$Dh%E^FGH&KfgL*f(zMNy)Q_iOfPe+xdRc|zb~S=aTw`{Y exports.numberSymbol = '[-!$%9^&*()_8+|~6=7`5{4}[]3:"2;<>?0,.1/]' + "'"; exports.alphabetNumericSymbol = 'IJ[0A-B!1C$3Dh%E^2FGH&4Kf5gL*6f(zMN7y)Q_iOfPe+xdRc|zb~S=aTw`{Y}X[]Z\vrW:j";kt?9mVn,o.u7p/]Uq' + "'"; +exports.binary = '01'; +exports.octal = '01234567'; diff --git a/src/index.ts b/src/index.ts index a7f726f..a8efa7c 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1,17 +1,29 @@ import { checkOptions } from './check.option'; import { emojis } from './emoji'; -import { alphabet, alphanumeric, hex, options } from './types'; +import { alphabet, alphanumeric, binary, octal, hex, options } from './types'; +import crypto from 'crypto'; /** - * @param option- could be number which is the length of the string to be generated || could be option { - * @returns- random string generated + * @param option - could be a number which is the length of the string to be generated || could be an option { + * @returns - random string generated */ export const generate = (option: number | options) => { + const compute = (type: string ,optlen: number, length: number) => { + let result = ''; + const charactersLength = type.length; + for (let i = 0; i < length; i += 1) { + const randomBytes = crypto.randomBytes(1); + const randomIndex = Math.floor(randomBytes[0] / 256 * charactersLength); + result += type.charAt(randomIndex); + } + return result; + } let result: string | number = ''; if (typeof option === 'number' || !option) { let opt = option ? option : 16; const characters = alphanumeric; - result= compute(characters, opt, characters.length); + const charactersLength = characters.length; + result = compute(characters, charactersLength, opt); } else if (typeof option === 'object') { if (!option.length) { option.length = 16; @@ -19,47 +31,44 @@ export const generate = (option: number | options) => { if (option.range) { const characters = option.range; const charactersLength = characters.toString().length; - result= compute(characters,option.length, charactersLength); + result = compute(characters, charactersLength, option.length); result = checkOptions(result, option); } else if (option.charset === 'number') { - result = Math.round(Math.random() * Math.pow(10, option.length)).toString(); + const max = Math.pow(10, option.length) - 1; + const randomBytes = crypto.randomBytes(Math.ceil(option.length / 2)); + const randomValue = parseInt(randomBytes.toString('hex'), 16) % max; // Converting the random bytes to a number within the desired range + result = randomValue.toString(); result = checkOptions(result, option); } else if (option.charset === 'binary') { - for (let i = 0; i < option.length; ++i) { - result += Math.floor(Math.random() * 2); - } + result = compute(binary, 2, option.length); } else if (option.charset === 'octal') { - for (let i = 0; i < option.length; ++i) { - result += Math.floor(Math.random() * 8); - } + result = compute(octal, 8, option.length); } else if (option.charset === 'hex') { - result= compute(hex, option.length, hex.length); + const charactersLength = hex.length; + result = compute(hex, charactersLength, option.length); result = checkOptions(result, option); } else if (option.charset === 'alphabet') { - result= compute(alphabet, option.length, alphabet.length); + const charactersLength = alphabet.length; + result = compute(alphabet, charactersLength, option.length); result = checkOptions(result, option); } else { - result= compute(alphanumeric,option.length, alphanumeric.length); + const charactersLength = alphanumeric.length; + result = compute(alphanumeric, charactersLength, option.length); result = checkOptions(result, option); } } + return result; }; -const compute = (type: string ,optlen: number, length: number) => { - let res= ""; - for (let i = 0; i < optlen; i += 1) { - res += type.charAt(Math.floor(Math.random() * length)); - } - return res; -} export const generateUnicodeEmoji = (length: number) => { let len = length ? length : 16; let result = ''; - const charactersLength = emojis.length; for (let i = 0; i < len; i += 1) { - result += emojis[Math.floor(Math.random() * charactersLength)].trim(); + const randomBytes = crypto.randomBytes(1); + const randomIndex = Math.floor(randomBytes[0] / 256 * charactersLength); + result += emojis[randomIndex].trim(); } return result; }; diff --git a/src/types.ts b/src/types.ts index 889d665..d60b98c 100644 --- a/src/types.ts +++ b/src/types.ts @@ -24,3 +24,5 @@ export const numberSymbol = '[-!$%9^&*()_8+|~6=7`5{4}[]3:"2;<>?0,.1/]' + "'"; export const alphabetNumericSymbol = 'IJ[0A-B!1C$3Dh%E^2FGH&4Kf5gL*6f(zMN7y)Q_iOfPe+xdRc|zb~S=aTw`{Y}X[]Z\vrW:j";kt?9mVn,o.u7p/]Uq' + "'"; + export const binary = '01'; + export const octal = '01234567'; From 52fc42c500c302d2f2dbfdf6e1dc6bc25d4fa694 Mon Sep 17 00:00:00 2001 From: Dagi Date: Sun, 10 Sep 2023 19:38:27 +0300 Subject: [PATCH 4/5] Changed version --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 4b93ae4..d24303c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "randomized-string", - "version": "1.2.7", + "version": "2.0.0", "description": "", "main": "lib/index", "bin": { @@ -40,4 +40,4 @@ "nodemon": "^2.0.15", "typescript": "^4.6.2" } -} +} \ No newline at end of file From e32243a994ea8ca4326483ebb7ebfb6e6190e05f Mon Sep 17 00:00:00 2001 From: Dagi Date: Sun, 10 Sep 2023 19:41:07 +0300 Subject: [PATCH 5/5] Changed major version --- package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package-lock.json b/package-lock.json index f5b68ca..13c4d30 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "randomized-string", - "version": "1.2.6", + "version": "2.0.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "randomized-string", - "version": "1.2.6", + "version": "2.0.0", "license": "ISC", "bin": { "randomized-string": "bin/randomString"