atriusmaps-node-sdk
Version:
This project provides an API to Atrius Personal Wayfinder maps within a Node environment. See the README.md for more information
61 lines (54 loc) • 1.13 kB
JavaScript
;
var lang = require('./lang.js');
/* eslint-disable camelcase */
const // regex_whitespace = /\W+/,
// regex_strip = regex("[^a-z0-9 ]"),
regex_a = lang.regex('[àáâãäå]');
const regex_e = lang.regex('[èéêë]');
const regex_i = lang.regex('[ìíîï]');
const regex_o = lang.regex('[òóôõöő]');
const regex_u = lang.regex('[ùúûüű]');
const regex_y = lang.regex('[ýŷÿ]');
const regex_n = lang.regex('ñ');
const regex_c = lang.regex('[çc]');
const regex_s = lang.regex('ß');
const regex_and = lang.regex(' & ');
const pairs = [
regex_a,
'a',
regex_e,
'e',
regex_i,
'i',
regex_o,
'o',
regex_u,
'u',
regex_y,
'y',
regex_n,
'n',
regex_c,
'k',
regex_s,
's',
regex_and,
' and ',
// regex_whitespace, " "
// regex_strip, ""
];
/**
* @param {string|number} str
* @this IndexInterface
*/
function encode(str) {
str = '' + str;
return lang.pipeline.call(
this,
/* string: */ lang.normalize(str).toLowerCase(),
/* normalize: */ !str.normalize && pairs,
/* split: */ lang.regex_whitespace,
false,
);
}
exports.encode = encode;