UNPKG

@autorest/openapi-to-cadl

Version:

Autorest plugin to scaffold a Typespec definition from an OpenAPI document

55 lines 1.59 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateSummary = exports.generateDocs = void 0; function generateDocs({ doc }) { if (isEmptyDoc(doc)) { return ``; } let docString = Array.isArray(doc) ? doc.join("\n") : doc; docString = docString.replace(/\r\n/g, "\n"); docString = docString.replace(/\\/g, "\\\\"); docString = docString.replace(/"/g, '\\"'); docString = lineWrap(docString); return `@doc(${docString})`; } exports.generateDocs = generateDocs; function generateSummary({ summary }) { if (isEmptyDoc(summary)) { return ""; } return `@summary(${lineWrap(summary)})`; } exports.generateSummary = generateSummary; function lineWrap(doc) { const maxLength = 80; if (doc.length <= maxLength && !doc.includes("\n")) { return `"${doc}"`; } const lines = [`"""`]; const words = doc.split(" "); let line = ``; for (const word of words) { if (word.length + 1 > maxLength - line.length) { // Don't add the leading space lines.push(line.substring(0, line.length - 1)); // Start a new line line = `${word} `; } else { line = `${line}${word} `; } } lines.push(`${line.substring(0, line.length - 1)}`); lines.push(`"""`); return lines.join("\n"); } function isEmptyDoc(doc) { if (!doc) { return true; } if (Array.isArray(doc) && !doc.length) { return true; } return false; } //# sourceMappingURL=docs.js.map