Cygni_backend/node_modules/@tsoa/cli/dist/utils/pathUtils.js

37 lines
1.4 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.normalisePath = normalisePath;
exports.convertColonPathParams = convertColonPathParams;
exports.convertBracesPathParams = convertBracesPathParams;
/**
* Removes all '/', '\', and spaces from the beginning and end of the path
* Replaces all '/', '\', and spaces between sections of the path
* Adds prefix and suffix if supplied
* Replace ':pathParam' with '{pathParam}'
*/
function normalisePath(path, withPrefix, withSuffix, skipPrefixAndSuffixIfEmpty = true) {
if ((!path || path === '/') && skipPrefixAndSuffixIfEmpty) {
return '';
}
if (!path || typeof path !== 'string') {
path = '' + path;
}
// normalise beginning and end of the path
let normalised = path.replace(/^[/\\\s]+|[/\\\s]+$/g, '');
normalised = withPrefix ? withPrefix + normalised : normalised;
normalised = withSuffix ? normalised + withSuffix : normalised;
// normalise / signs amount in all path
normalised = normalised.replace(/[/\\\s]+/g, '/');
return normalised;
}
function convertColonPathParams(path) {
if (!path || typeof path !== 'string') {
return path;
}
const normalised = path.replace(/:([^/]+)/g, '{$1}');
return normalised;
}
function convertBracesPathParams(path) {
return path.replace(/{(\w*)}/g, ':$1');
}
//# sourceMappingURL=pathUtils.js.map