UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

32 lines 1.61 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const spruce_skill_utils_1 = require("@sprucelabs/spruce-skill-utils"); const AbstractWriter_1 = __importDefault(require("../../../writers/AbstractWriter")); class ConversationWriter extends AbstractWriter_1.default { async writeDefinition(destinationDir, options) { const { nameCamel, nameReadable } = options; const filename = `${nameCamel}.topic.ts`; const destination = spruce_skill_utils_1.diskUtil.resolvePath(destinationDir, 'src', 'conversations', filename); const contents = this.templates.conversationTopic({ nameReadable }); spruce_skill_utils_1.diskUtil.writeFile(destination, contents); await this.lint(destination); const file = { name: filename, path: destination, action: 'generated', description: `The definition talking about ${nameReadable.toLowerCase()}`, }; return file; } writePlugin(cwd) { const destination = spruce_skill_utils_1.diskUtil.resolveHashSprucePath(cwd, 'features', 'conversation.plugin.ts'); const pluginContents = this.templates.conversationPlugin(); const results = this.writeFileIfChangedMixinResults(destination, pluginContents, 'Supports your skill with having conversations.'); return results; } } exports.default = ConversationWriter; //# sourceMappingURL=ConversationWriter.js.map