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 25 26 27 28 29 | 9x 31x 4x 9x 13x | 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')
);
} |