is-kris
Version: 
A utility package to detect variations of the name Chris/Kris in strings
39 lines (38 loc) • 860 B
JavaScript
// src/constant.ts
var REGEX = /\b(?:c|ch|k|kh)ri(?:s|ss|st(?:o(?:ph(?:er)?|fer|ffer)))\b/i;
var EXACT_REGEX = /^(?:c|ch|k|kh)ri(?:s|ss|st(?:o(?:ph(?:er)?|fer|ffer)))$/i;
// src/index.ts
function isKris(input) {
  if (typeof input !== "string") {
    return false;
  }
  return REGEX.test(input);
}
function isExactlyKris(input) {
  if (typeof input !== "string") {
    return false;
  }
  return EXACT_REGEX.test(input);
}
function findKris(input) {
  if (typeof input !== "string") {
    return [];
  }
  const globalRegex = new RegExp(REGEX.source, "gi");
  return input.match(globalRegex) || [];
}
function countKris(input) {
  return findKris(input).length;
}
export {
  isKris,
  isExactlyKris,
  isExactlyKris as isExactlyChris,
  isKris as isChris,
  findKris,
  findKris as findChris,
  countKris,
  countKris as countChris,
  REGEX,
  EXACT_REGEX
};