UNPKG

@newdash/newdash

Version:

javascript/typescript utility library

34 lines (33 loc) 1.16 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const castSlice_1 = __importDefault(require("./castSlice")); const hasUnicode_1 = __importDefault(require("./hasUnicode")); const stringToArray_1 = __importDefault(require("./stringToArray")); /** * Creates a function like `lowerFirst`. * * @private * @param {string} methodName The name of the `String` case method to use. * @returns {Function} Returns the new case function. */ function createCaseFirst(methodName) { return (string) => { if (!string) { return ''; } const strSymbols = (0, hasUnicode_1.default)(string) ? (0, stringToArray_1.default)(string) : undefined; const chr = strSymbols ? strSymbols[0] : string[0]; const trailing = strSymbols ? (0, castSlice_1.default)(strSymbols, 1).join('') : string.slice(1); return chr[methodName]() + trailing; }; } exports.default = createCaseFirst;