@stencil/angular-output-target
Version:
Angular output target for @stencil/core components.
18 lines (17 loc) • 677 B
JavaScript
import { dashToPascalCase } from './utils';
/**
* Creates an Angular module declaration for a component wrapper.
* @param componentTagName The tag name of the Stencil component.
* @returns The Angular module declaration as a string.
*/
export const generateAngularModuleForComponent = (componentTagName) => {
const tagNameAsPascal = dashToPascalCase(componentTagName);
const componentClassName = `${tagNameAsPascal}`;
const moduleClassName = `${tagNameAsPascal}Module`;
const moduleDefinition = `@NgModule({
declarations: [${componentClassName}],
exports: [${componentClassName}]
})
export class ${moduleClassName} { }`;
return moduleDefinition;
};