Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
23 lines
562 B
Plaintext
23 lines
562 B
Plaintext
/*
|
|
MIT License http://www.opensource.org/licenses/mit-license.php
|
|
Author Ivan Kopeykin @vankop
|
|
*/
|
|
|
|
"use strict";
|
|
|
|
const A_CODE = "a".charCodeAt(0);
|
|
|
|
/**
|
|
* @param {string} hash hash
|
|
* @param {number} hashLength hash length
|
|
* @returns {string} returns hash that has at least one non numeric char
|
|
*/
|
|
module.exports = (hash, hashLength) => {
|
|
if (hashLength < 1) return "";
|
|
const slice = hash.slice(0, hashLength);
|
|
if (/[^\d]/.test(slice)) return slice;
|
|
return `${String.fromCharCode(
|
|
A_CODE + (Number.parseInt(hash[0], 10) % 6)
|
|
)}${slice.slice(1)}`;
|
|
};
|