@geheimgang188/fmod-service-api
Version:
FMOD service API
37 lines • 3.02 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.NamingTools = void 0;
const camelcase_1 = __importDefault(require("camelcase"));
class NamingTools {
static toValidMemberName(input) {
return this.replaceUmlauts(input)
.replaceAll(/[^a-zA-Z0-9]/g, '_')
.replace(/^[^a-zA-Z]/, 'xx');
}
static replaceUmlauts(input) {
const replacements = [
['ä', 'ae'],
['ö', 'oe'],
['ü', 'ue'],
['Ä', 'Ae'],
['Ö', 'Oe'],
['Ü', 'Ue'],
];
return replacements.reduce((prev, cur) => prev.replaceAll(cur[0], cur[1]), input);
}
static generateClassNames(name, classPrefix) {
const dashedName = NamingTools.toValidMemberName(name);
const dashedNameWithPrefix = NamingTools.toValidMemberName((classPrefix ? classPrefix + '_' : '') + name);
const memberName = (0, camelcase_1.default)(dashedName, { pascalCase: false });
const className = (0, camelcase_1.default)(dashedNameWithPrefix, { pascalCase: true });
return {
className,
memberName,
};
}
}
exports.NamingTools = NamingTools;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtaW5nLXRvb2xzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwaS1nZW5lcmF0b3IvbmFtaW5nLXRvb2xzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLDBEQUFrQztBQU9sQyxNQUFhLFdBQVc7SUFFYixNQUFNLENBQUMsaUJBQWlCLENBQUUsS0FBYTtRQUMxQyxPQUFPLElBQUksQ0FBQyxjQUFjLENBQUUsS0FBSyxDQUFFO2FBQzlCLFVBQVUsQ0FBRSxlQUFlLEVBQUUsR0FBRyxDQUFFO2FBQ2xDLE9BQU8sQ0FBRSxZQUFZLEVBQUUsSUFBSSxDQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVNLE1BQU0sQ0FBQyxjQUFjLENBQUUsS0FBYTtRQUN2QyxNQUFNLFlBQVksR0FBRztZQUNqQixDQUFFLEdBQUcsRUFBRSxJQUFJLENBQUU7WUFDYixDQUFFLEdBQUcsRUFBRSxJQUFJLENBQUU7WUFDYixDQUFFLEdBQUcsRUFBRSxJQUFJLENBQUU7WUFDYixDQUFFLEdBQUcsRUFBRSxJQUFJLENBQUU7WUFDYixDQUFFLEdBQUcsRUFBRSxJQUFJLENBQUU7WUFDYixDQUFFLEdBQUcsRUFBRSxJQUFJLENBQUU7U0FDaEIsQ0FBQztRQUVGLE9BQU8sWUFBWSxDQUFDLE1BQU0sQ0FBRSxDQUFFLElBQUksRUFBRSxHQUFHLEVBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUUsR0FBRyxDQUFFLENBQUMsQ0FBRSxFQUFFLEdBQUcsQ0FBRSxDQUFDLENBQUUsQ0FBRSxFQUFFLEtBQUssQ0FBRSxDQUFDO0lBQ2hHLENBQUM7SUFFTSxNQUFNLENBQUMsa0JBQWtCLENBQUUsSUFBWSxFQUFFLFdBQW9CO1FBQ2hFLE1BQU0sVUFBVSxHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBRSxJQUFJLENBQUUsQ0FBQztRQUN6RCxNQUFNLG9CQUFvQixHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBRSxDQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFFLEdBQUcsSUFBSSxDQUFFLENBQUM7UUFFOUcsTUFBTSxVQUFVLEdBQUcsSUFBQSxtQkFBUyxFQUFFLFVBQVUsRUFBRSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsQ0FBRSxDQUFDO1FBQ2xFLE1BQU0sU0FBUyxHQUFHLElBQUEsbUJBQVMsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBRSxDQUFDO1FBRTFFLE9BQU87WUFDSCxTQUFTO1lBQ1QsVUFBVTtTQUNiLENBQUM7SUFDTixDQUFDO0NBQ0o7QUFqQ0Qsa0NBaUNDIn0=