# use-js-import
JavaScript import metadata primitives for `RustUse`.
## Experimental
`use-js-import` is experimental while `use-js` remains below `0.3.0`.
## Example
```rust
use use_js_import::{JsImportKind, JsImportSpecifier, JsImportStatementParts};
use use_js_module::JsModuleSpecifier;
let source = JsModuleSpecifier::new("react")?;
let parts = JsImportStatementParts::new(JsImportKind::Named, source)
.with_specifier(JsImportSpecifier::named("useState", Some("useState")));
assert_eq!(parts.kind(), JsImportKind::Named);
assert_eq!(parts.source().as_str(), "react");
# Ok::<(), use_js_module::JsModuleSpecifierError>(())
```
## Scope
- Import metadata labels and simple statement parts.
- Module specifier composition with `use-js-module`.
## Non-goals
- Parsing arbitrary source code.
- Resolving modules.
- TypeScript compiler behavior.
## License
Licensed under either Apache-2.0 or MIT.