@o3r/schematics
Version:
Schematics module of the Otter framework
158 lines • 6.29 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getInputComponentName = getInputComponentName;
exports.getComponentFolderName = getComponentFolderName;
exports.getComponentFileName = getComponentFileName;
exports.getComponentSelectorWithoutSuffix = getComponentSelectorWithoutSuffix;
exports.getComponentModuleName = getComponentModuleName;
exports.getComponentAnalyticsName = getComponentAnalyticsName;
exports.getComponentName = getComponentName;
exports.getComponentBlockName = getComponentBlockName;
exports.getKebabCaseBlockName = getKebabCaseBlockName;
exports.getComponentConfigName = getComponentConfigName;
exports.getComponentTranslationName = getComponentTranslationName;
exports.getComponentContextName = getComponentContextName;
exports.getComponentFixtureName = getComponentFixtureName;
exports.getComponentConfigKey = getComponentConfigKey;
exports.getLibraryNameFromPath = getLibraryNameFromPath;
const core_1 = require("@angular-devkit/core");
/**
* Returns all elements from the provided component name path
* @param componentName
*/
function getComponentModuleItems(componentName) {
return (componentName || '').split('\\/');
}
/**
* Returns the component name as the last element of the provided component name path
* @param componentName
*/
function getInputComponentName(componentName) {
const componentModuleItems = getComponentModuleItems(componentName);
return componentModuleItems.at(-1);
}
/**
* returns the component folder name
* @param componentName
*/
function getComponentFolderName(componentName) {
const inputComponentName = getInputComponentName(componentName);
return core_1.strings.dasherize(inputComponentName).replace(/\s/g, '');
}
/**
* Returns the component file name
* @param componentName
* @param componentStructureDef
*/
function getComponentFileName(componentName, componentStructureDef) {
const componentFolderName = getComponentFolderName(componentName);
return componentStructureDef ? `${componentFolderName}-${core_1.strings.camelize(componentStructureDef)}` : componentFolderName;
}
/**
* Returns the component selector without suffix
* @param componentName
* @param prefix
*/
function getComponentSelectorWithoutSuffix(componentName, prefix) {
const selector = getComponentFolderName(componentName);
return prefix ? `${prefix.toLowerCase()}-${selector}` : selector; // o3r-air-offer : air-offer
}
/**
* Returns the component module name (e.g. AirOfferModule)
* @param componentName
* @param componentStructureDef
*/
function getComponentModuleName(componentName, componentStructureDef) {
const inputComponentName = getInputComponentName(componentName);
return `${core_1.strings.classify(inputComponentName)}${core_1.strings.classify(componentStructureDef)}Module`;
}
/**
* Returns the component analytics name (e.g. AirOfferAnalytics)
* @param componentName
* @param componentStructureDef
*/
function getComponentAnalyticsName(componentName, componentStructureDef) {
const inputComponentName = getInputComponentName(componentName);
return `${core_1.strings.classify(inputComponentName)}${core_1.strings.classify(componentStructureDef)}Analytics`;
}
/**
* Returns the component name (e.g. AirOfferComponent)
* @param componentName
* @param componentStructureDef
*/
function getComponentName(componentName, componentStructureDef) {
const inputComponentName = getInputComponentName(componentName);
return `${core_1.strings.classify(inputComponentName)}${core_1.strings.classify(componentStructureDef)}Component`;
}
/**
* Returns the component block name (e.g. AirOffer)
* @param componentName
*/
function getComponentBlockName(componentName) {
const inputComponentName = getInputComponentName(componentName);
return core_1.strings.classify(inputComponentName);
}
/**
* Return the component in kebab-case (e.g. air-offer)
* @param blockName
*/
function getKebabCaseBlockName(blockName) {
return core_1.strings.dasherize(blockName);
}
/**
* Returns the component config name (e.g. AirOfferConfig)
* @param componentName
* @param componentStructureDef
*/
function getComponentConfigName(componentName, componentStructureDef) {
const inputComponentName = getInputComponentName(componentName);
return `${core_1.strings.classify(inputComponentName)}${core_1.strings.classify(componentStructureDef)}Config`;
}
/**
* Returns the component translation name (e.g. AirOfferTranslation)
* @param componentName
* @param componentStructureDef
*/
function getComponentTranslationName(componentName, componentStructureDef) {
const inputComponentName = getInputComponentName(componentName);
return `${core_1.strings.classify(inputComponentName)}${core_1.strings.classify(componentStructureDef)}Translation`;
}
/**
* Returns the component context name (e.g. AirOfferContext)
* @param componentName
* @param componentStructureDef
*/
function getComponentContextName(componentName, componentStructureDef) {
const inputComponentName = getInputComponentName(componentName);
return `${core_1.strings.classify(inputComponentName)}${core_1.strings.classify(componentStructureDef)}Context`;
}
/**
* Returns the component fixture name (e.g. AirOfferFixture)
* @param componentName
* @param componentStructureDef
*/
function getComponentFixtureName(componentName, componentStructureDef) {
const inputComponentName = getInputComponentName(componentName);
return `${core_1.strings.classify(inputComponentName)}${core_1.strings.classify(componentStructureDef)}Fixture`;
}
/**
* Returns the component config key name (e.g. AIR_OFFER_CONT or AIR_OFFER_PRES)
* @param componentName
* @param componentStructureDef
*/
function getComponentConfigKey(componentName, componentStructureDef) {
const componentFileName = getComponentFileName(componentName, componentStructureDef);
return `${core_1.strings.underscore(componentFileName).toUpperCase()}`;
}
/**
* Return the library name from path in a monorepos
* @param path
*/
function getLibraryNameFromPath(path) {
if (!path) {
return null;
}
const libNameRes = /@[^/@]+\/[^/]+/.exec(path.replace(/\\/g, '/'));
return libNameRes && libNameRes[0];
}
//# sourceMappingURL=template-property.helper.js.map