UNPKG

@atomist/sdm-pack-spring

Version:

Atomist software delivery machine extension pack for Spring and Spring Boot applications

41 lines 1.99 kB
"use strict"; /* * Copyright © 2019 Atomist, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ Object.defineProperty(exports, "__esModule", { value: true }); const JavaProjectCreationParameters_1 = require("../../java/generate/JavaProjectCreationParameters"); const javaPatterns_1 = require("../../java/javaPatterns"); /** * Parameters for creating Spring Boot apps. * Based on Java project creation parameters. */ exports.SpringProjectCreationParameterDefinitions = Object.assign(Object.assign({}, JavaProjectCreationParameters_1.JavaProjectCreationParameterDefinitions), { enteredServiceClassName: Object.assign(Object.assign({ displayName: "Class Name", description: "name for the service class" }, javaPatterns_1.JavaIdentifierRegExp), { required: false }) }); function computeServiceClassName(params, project) { return !!params.enteredServiceClassName ? toInitialCap(params.enteredServiceClassName) : toInitialCap(camelize(JavaProjectCreationParameters_1.computeArtifactId(params, project))); } exports.computeServiceClassName = computeServiceClassName; function toInitialCap(s) { return s.charAt(0).toUpperCase() + s.substr(1); } /** * Replace hyphens in a rule name by upper-casing the letter after them. * E.g. "foo-bar" -> "fooBar" */ function camelize(stringWithHyphens) { return stringWithHyphens.replace(/-(.)/g, (_, nextLetter) => nextLetter.toUpperCase()); } //# sourceMappingURL=SpringProjectCreationParameters.js.map