From ed92bae9b662beba81889a62e29828302503fe8f Mon Sep 17 00:00:00 2001 From: Geo Halkiadakis Date: Tue, 9 Apr 2024 19:43:59 +0300 Subject: make kbutils a proper module --- paths.js | 3 ++- pieces/kbutils.js | 32 ++++++++++++++++++-------------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/paths.js b/paths.js index a955b16..f772478 100644 --- a/paths.js +++ b/paths.js @@ -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