UNPKG

@sprucelabs/spruce-skill-utils

Version:

Loosely coupled classes and functions to make skill development faster! 🏎

50 lines (49 loc) 1.77 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const path_1 = __importDefault(require("path")); const inflection_1 = __importDefault(require("inflection")); const camelCase_1 = __importDefault(require("lodash/camelCase")); const kebabCase_1 = __importDefault(require("lodash/kebabCase")); const snakeCase_1 = __importDefault(require("lodash/snakeCase")); const upperFirst_1 = __importDefault(require("lodash/upperFirst")); const namesUtil = { /** Gets you a name good for using in an import statement based off a file path */ toFileNameWithoutExtension(filePath) { return filePath .replace(path_1.default.dirname(filePath), '') .replace(path_1.default.extname(filePath), '') .replace('/', ''); }, /** First name => FirstName */ toCamel(name) { return (0, camelCase_1.default)(name); }, /** First name => FirstName */ toPascal(name) { return (0, upperFirst_1.default)(this.toCamel(name)); }, /** First name => FIRST_NAME */ toConst(name) { return (0, snakeCase_1.default)(name).toUpperCase(); }, /** First name => First names */ toPlural(name) { return inflection_1.default.pluralize(name); }, /** First name => First name */ toSingular(name) { return inflection_1.default.singularize(name); }, /** First name => first-name */ toKebab(name) { return (0, kebabCase_1.default)(name); }, /** First name => first_name */ toSnake(name) { return (0, snakeCase_1.default)(name); }, }; exports.default = namesUtil;