Repository URL to install this package:
|
Version:
1.2.6 ▾
|
@skava/modules
/
___dist
/
view-container
/
styles
/
styled-components
/
src
/
utils
/
generateAlphabeticName.js
|
|---|
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
// @flow
/* eslint-disable no-bitwise */
/* This is the "capacity" of our alphabet i.e. 2x26 for all letters plus their capitalised
* counterparts */
const charsLength = 52;
/* start at 75 for 'a' until 'z' (25) and then start at 65 for capitalised letters */
const getAlphabeticChar = code => String.fromCharCode(code + (code > 25 ? 39 : 97));
/* input a number, usually a hash and convert it to base-52 */
const generateAlphabeticName = code => {
let name = '';
let x;
/* get a char and divide by alphabet-length */
for (x = code; x > charsLength; x = Math.floor(x / charsLength)) {
name = getAlphabeticChar(x % charsLength) + name;
}
return getAlphabeticChar(x % charsLength) + name;
};
var _default = generateAlphabeticName;
exports.default = _default;