diff --git a/README.md b/README.md index 5b0df8a..305dd7d 100644 --- a/README.md +++ b/README.md @@ -4,4 +4,5 @@ With `-lib jsImport` you can decorate any extern class with `@:js.import` like s - `@:js.import(@star './some/path.js') extern class Foo {}` becomes `import * as Foo from './some/path.js'` - `@:js.import(@default './some/path.js') extern class Foo {}` becomes `import Foo from './some/path.js'` -- `@:js.import('./some/path.js') extern class Foo {}` becomes `import { Foo } from './some/path.js'` \ No newline at end of file +- `@:js.import('./some/path.js') extern class Foo {}` becomes `import { Foo } from './some/path.js'` +- `@:js.import('./some/path.js', 'SomeName') extern class Foo {}` becomes `import { SomeName } from './some/path.js'` diff --git a/src/jsImport/Macro.hx b/src/jsImport/Macro.hx index c61f56a..3b37c0a 100644 --- a/src/jsImport/Macro.hx +++ b/src/jsImport/Macro.hx @@ -37,8 +37,10 @@ class Macro { lines.push('import $id from "$v";'); case [{ params: [macro $v{(v:String)}] }]: lines.push('import { $id } from "$v";'); + case [{ params: [macro $v{(v:String)}, macro $v{(exportName:String)}] }]: + lines.push('import { $exportName as $id } from "$v";'); case [{ pos: pos }]: - error('@$META requires a string parameter, optionally preceeded by an identifier', pos); + error('@$META requires a string parameter, optionally preceded by an identifier', pos); default: error('Duplicate @$META', meta[0].pos); } @@ -52,4 +54,4 @@ class Macro { }); } } -#end \ No newline at end of file +#end