swaxios
Version:
Swagger API client generator based on axios and TypeScript.
35 lines • 1.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.addStarsToNewline = exports.normalizeUrl = exports.generateServiceName = exports.camelize = exports.pascalCase = exports.camelCase = void 0;
function camelCase(words, isPascalCase = false) {
const casedWords = words.map(word => word.toLowerCase().charAt(0).toUpperCase() + word.slice(1));
if (!isPascalCase) {
casedWords[0] = casedWords[0].toLowerCase();
}
return casedWords.join('');
}
exports.camelCase = camelCase;
function pascalCase(words) {
return camelCase(words, true);
}
exports.pascalCase = pascalCase;
function camelize(resourceName, isPascalCase = false) {
return camelCase(resourceName.split('-'), isPascalCase);
}
exports.camelize = camelize;
function generateServiceName(url) {
const urlParts = url.split('/').filter(part => part.length && !part.startsWith('{'));
const lastUrlPart = urlParts[urlParts.length - 1];
const resourceName = lastUrlPart || 'Root';
return camelize(`${resourceName}-service`, true);
}
exports.generateServiceName = generateServiceName;
function normalizeUrl(url) {
return url.replace(/\/\{.*\}/g, '').replace(/[^\w\/-]/gm, '_');
}
exports.normalizeUrl = normalizeUrl;
function addStarsToNewline(text) {
return text ? text.replace(/([\r\n])/g, '$1 * ') : '';
}
exports.addStarsToNewline = addStarsToNewline;
//# sourceMappingURL=StringUtil.js.map