diff options
| -rw-r--r-- | paths.js | 3 | ||||
| -rw-r--r-- | pieces/kbutils.js | 32 |
2 files changed, 20 insertions, 15 deletions
@@ -1,4 +1,5 @@ const Router = require('koa-router'); +const kbu = require('./pieces/kbutils.js'); // Prefix all routes with: /items const router = new Router({ @@ -42,7 +43,7 @@ router.get('/search', (ctx, next) => { }); router.get('/search/:title', (ctx, next) => { - let words = ctx.params.title.split(' '); + let words = kbu.keybutil.keyboardize(ctx.params.title).split(' '); ctx.body = { params: ctx.params, results: words diff --git a/pieces/kbutils.js b/pieces/kbutils.js index b8ae0ad..bef37d4 100644 --- a/pieces/kbutils.js +++ b/pieces/kbutils.js @@ -7,19 +7,23 @@ * @return (string): latin/ascii equivalent string */ -_kbu = { - ORiGiNal:'ςερτυθιοπασδφγηξκλζχψωβνμΕΡΤΥΘΙΟΠΑΣΔΦΓΗΞΚΛΖΧΨΩΒΝΜάέήίόύώϊΐϋΆΈΉΊΌΎΏΪΫQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm0123456789- '.split(''), - kbKeyZed: 'sertyuiopasdfghjklzxcvbnmertyuiopasdfghjklzxcvbnmaehioyviiyaehioyviyqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnm0123456789- '.split(''), - map: new Map() -} -for (var i=0; i<_kbu.ORiGiNal.length; i++) _kbu.map.set(_kbu.ORiGiNal[i], _kbu.kbKeyZed[i]); +ORiGiNal = 'ςερτυθιοπασδφγηξκλζχψωβνμΕΡΤΥΘΙΟΠΑΣΔΦΓΗΞΚΛΖΧΨΩΒΝΜάέήίόύώϊΐϋΆΈΉΊΌΎΏΪΫQWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm0123456789- '.split(''); -_kbu.keyboardize = (str) => { - str = str.replace('\'',''); - var out = ''; - // [map]'s implementation is 40x faster than [for]'s - for (var i=0 ; i< str.length; i++) out += _kbu.map.get(str[i]); - return out; -} +kbKeyZed = 'sertyuiopasdfghjklzxcvbnmertyuiopasdfghjklzxcvbnmaehioyviiyaehioyviyqwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjklzxcvbnm0123456789- '.split(''); -exports.keybutil = _kbu;
\ No newline at end of file +map = new Map(); +for (var i=0; i<ORiGiNal.length; i++) map.set(ORiGiNal[i], kbKeyZed[i]); + +exports.keybutil = { + + map: map, + + keyboardize: function(str) { + str = str.replace('\'',''); + var out = ''; + // [map]'s implementation is 40x faster than [for]'s + for (var i=0 ; i< str.length; i++) out += map.get(str[i]); + return out; + } + +};
\ No newline at end of file |
