UNPKG

aws-ddk-core

Version:

The AWS DataOps Development Kit is an open source development framework for customers that build data workflows and modern data architecture on AWS.

106 lines (87 loc) 1.44 kB
'use strict'; const YES_MATCH_SCORE_THRESHOLD = 2; const NO_MATCH_SCORE_THRESHOLD = 1.25; const yMatch = new Map([ [5, 0.25], [6, 0.25], [7, 0.25], ['t', 0.75], ['y', 1], ['u', 0.75], ['g', 0.25], ['h', 0.25], ['j', 0.25] ]); const eMatch = new Map([ [2, 0.25], [3, 0.25], [4, 0.25], ['w', 0.75], ['e', 1], ['r', 0.75], ['s', 0.25], ['d', 0.25], ['f', 0.25] ]); const sMatch = new Map([ ['q', 0.25], ['w', 0.25], ['e', 0.25], ['a', 0.75], ['s', 1], ['d', 0.75], ['z', 0.25], ['x', 0.25], ['c', 0.25] ]); const nMatch = new Map([ ['h', 0.25], ['j', 0.25], ['k', 0.25], ['b', 0.75], ['n', 1], ['m', 0.75] ]); const oMatch = new Map([ [9, 0.25], [0, 0.25], ['i', 0.75], ['o', 1], ['p', 0.75], ['k', 0.25], ['l', 0.25] ]); function getYesMatchScore(value) { const [y, e, s] = value; let score = 0; if (yMatch.has(y)) { score += yMatch.get(y); } if (eMatch.has(e)) { score += eMatch.get(e); } if (sMatch.has(s)) { score += sMatch.get(s); } return score; } function getNoMatchScore(value) { const [n, o] = value; let score = 0; if (nMatch.has(n)) { score += nMatch.get(n); } if (oMatch.has(o)) { score += oMatch.get(o); } return score; } module.exports = (input, options) => { if (getYesMatchScore(input) >= YES_MATCH_SCORE_THRESHOLD) { return true; } if (getNoMatchScore(input) >= NO_MATCH_SCORE_THRESHOLD) { return false; } return options.default; };