UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

49 lines 1.92 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 spruce_skill_utils_1 = require("@sprucelabs/spruce-skill-utils"); const featuresUtil = { filePathToActionCode(path) { const parts = path.split(path_1.default.sep); const name = parts.pop() ?? ''; const ext = path_1.default.extname(name); const nameNoExt = name.substr(0, name.length - ext.length); const code = nameNoExt.replace('Action', ''); return spruce_skill_utils_1.namesUtil.toCamel(code); }, generateCommand(featureCode, actionCode) { if (featureCode === actionCode) { return featureCode; } return `${actionCode}.${featureCode}`; }, generateCommandsIncludingAliases(featureCode, actionCode, action) { const baseCommand = this.generateCommand(featureCode, actionCode); const aliases = action.commandAliases ?? []; return [baseCommand, ...aliases]; }, generateOptionAliases(schema) { const fields = schema.fields || {}; const aliases = {}; Object.keys(fields).forEach((fieldName) => { const fullName = `${fieldName}`; let placeholder = ''; const field = fields[fieldName]; const type = field.type; if (type !== 'boolean') { placeholder = ` <${fullName}>`; } else { placeholder = ` [true|false]`; } const fullNameWithPlaceholder = `--${fullName}${placeholder}`; aliases[fieldName] = fullNameWithPlaceholder; }); return aliases; }, }; exports.default = featuresUtil; //# sourceMappingURL=feature.utilities.js.map