Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | 15x 48x 15x 8x 15x 23x | import ts from 'typescript';
import { type ComponentMetadata } from '@fds-uif/generator-base';
export function createLwcImportStatement(metadata: ComponentMetadata) {
const namedImports = ['LightningElement'];
const attributeProps = metadata.props.filter((prop) => prop.source !== 'slot' && prop.source !== 'variant');
if (attributeProps.length) {
namedImports.push('api');
}
return ts.factory.createImportDeclaration(
undefined, // decorators
ts.factory.createImportClause(
undefined, // phaseModifier
undefined /* name (default import) */,
ts.factory.createNamedImports(
namedImports.map((namedImport: string) => {
return ts.factory.createImportSpecifier(false, undefined, ts.factory.createIdentifier(namedImport));
}),
),
),
ts.factory.createStringLiteral('lwc'),
);
}
|