/** * Converts text in a fragment to lowercase. * * Use: * <pre> * {{#lowercase}}{{httpMethod}}{{/lowercase}} * </pre> */ function lowerCase() { return function(template) { var text = Case.lower(Hogan.compile(template).render(this)); if (this.generator) { text = maybeEscapeReservedWord(this.generator, text) } return text; } }
load(file) { if(!this.logger) { this.logger = this.akyuu.logger.get("service-loader"); } const directory = path.join(`${this.akyuu.projectRoot}/services`, file); const filenames = fs.readdirSync(directory); for(let i = 0; i < filenames.length; i++) { const stat = fs.statSync(`${directory}/${filenames[i]}`); if(stat.isDirectory()) { this.load(`${file}/${filenames[i]}`); } else if(_.endsWith(filenames[i], ".js")) { const ApiClass = require(`${directory}/${filenames[i]}`); const apiClassInstance = new ApiClass(); let apiClassName = apiClassInstance.constructor.name; apiClassName = Case.snake(apiClassName); this.services[apiClassName] = apiClassInstance; this.serviceClasses[apiClassName] = ApiClass; this.logger.info(`Service \`${apiClassName}\` loaded.`); } } }
entry.name = Case.snake(entry.name); entry.name = Case.snake(entry.name); entry.name = Case.pascal(entry.name); entry.getter = Case.camel('get_'+entry.name); entry.setter = Case.camel('set_'+entry.name); entry.description = schema.description||''; entry.unescapedDescription = entry.description; entry.allowableValues.values = schema.enum; for (let v of schema.enum) { let e = { name: v, nameInCamelCase: Case.camel(v), value: '"'+v+'"' }; // insane, why aren't the quotes in the template? entry.allowableValues.enumVars.push(e); entry.nameInCamelCase = Case.pascal(entry.name); // for erlang-client entry.datatypeWithEnum = s+'.'+entry.name+'Enum'; entry.enumName = entry.name+'Enum';
/** * Converts text in a fragment to snake_case. * * Use: * <pre> * {{#snakecase}}{{name}}{{/snakecase}} * </pre> */ function snakeCase() { return function(template) { var text = Case.snake(Hogan.compile(template).render(this)); if (this.generator) { text = maybeEscapeReservedWord(this.generator, text) } return text; } }
/** * Converts text in a fragment to uppercase. * * Use: * <pre> * {{#uppercase}}{{summary}}{{/uppercase}} * </pre> */ function upperCase() { return function(template) { var text = Case.upper(Hogan.compile(template).render(this)); if (this.generator) { text = maybeEscapeReservedWord(this.generator, text) } return text; } }
/** * Converts text in a fragment to PascalCase. * * Use: * <pre> * {{#pascalcase}}{{name}}{{/pascalcase}} * </pre> */ function pascalCase() { return function(template) { var text = Case.pascal(Hogan.compile(template).render(this)); if (this.generator) { text = maybeEscapeReservedWord(this.generator, text) } return text; } }
/** * Converts text in a fragment to camelCase. * * Use: * <pre> * {{#camelcase}}{{name}}{{/camelcase}} * </pre> */ function camelCase() { return function(template) { var text = Case.camel(Hogan.compile(template).render(this)); if (this.generator) { text = maybeEscapeReservedWord(this.generator, text) } return text; } }
/** * Converts text in a fragment to kebab-case. * * Use: * <pre> * {{#kebabcase}}{{name}}{{/kebabcase}} * </pre> */ function kebabCase() { return function(template) { var text = Case.kebab(Hogan.compile(template).render(this)); if (this.generator) { text = maybeEscapeReservedWord(this.generator, text) } return text; } }