@sprucelabs/spruce-skill-utils
Version:
Loosely coupled classes and functions to make skill development faster! 🏎
50 lines (49 loc) • 1.77 kB
JavaScript
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;
;