removeObjectKey API tweak

pull/390/head
Conduitry 8 years ago
parent 25a26613b3
commit 8e5c7ed21e

@ -191,7 +191,7 @@ export default function dom ( parsed, source, options, names ) {
const ns = templateProperties.namespace.value.value;
namespace = namespaces[ ns ] || ns;
removeObjectKey( generator.code, defaultExport.declaration, 'namespace' );
removeObjectKey( generator, defaultExport.declaration, 'namespace' );
}
if ( templateProperties.components ) {
@ -208,11 +208,11 @@ export default function dom ( parsed, source, options, names ) {
if ( hasNonImportedComponent ) {
// remove the specific components which were imported, as we'll refer to them directly
Object.keys( generator.importedComponents ).forEach ( key => {
removeObjectKey( generator.code, templateProperties.components.value, key );
removeObjectKey( generator, templateProperties.components.value, key );
});
} else {
// remove the entire components portion of the export
removeObjectKey( generator.code, defaultExport.declaration, 'components' );
removeObjectKey( generator, defaultExport.declaration, 'components' );
}
}

@ -1,9 +1,9 @@
export default function removeObjectKey ( code, parsed, key ) {
if ( parsed.type !== 'ObjectExpression' ) return;
const properties = parsed.properties;
export default function removeObjectKey ( generator, node, key ) {
if ( node.type !== 'ObjectExpression' ) return;
const properties = node.properties;
const index = properties.findIndex( property => property.key.type === 'Identifier' && property.key.name === key );
if ( index === -1 ) return;
const a = properties[ index ].start;
const b = index < properties.length - 1 ? properties[ index + 1 ].start : properties[ index ].end;
code.remove( a, b );
generator.code.remove( a, b );
}

Loading…
Cancel
Save