Skip to content

Commit

Permalink
fix: enable explicit resource management transform (#156)
Browse files Browse the repository at this point in the history
  • Loading branch information
dsherret committed Sep 14, 2023
1 parent 5efdaa0 commit 5498c80
Showing 1 changed file with 32 additions and 0 deletions.
32 changes: 32 additions & 0 deletions src/transpiling/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,7 @@ pub fn fold_program(
),
options.transform_jsx
),
proposal::explicit_resource_management::explicit_resource_management(),
Optional::new(
react::react(
source_map.clone(),
Expand Down Expand Up @@ -537,6 +538,37 @@ export class A {
assert!(transpiled_source.source_map.is_none());
}

#[test]
fn test_explicit_resource_management() {
let specifier =
ModuleSpecifier::parse("https://deno.land/x/mod.ts").unwrap();
let source = "using data = create();\nconsole.log(data);";
let module = parse_module(ParseParams {
specifier: specifier.as_str().to_string(),
text_info: SourceTextInfo::from_string(source.to_string()),
media_type: MediaType::TypeScript,
capture_tokens: false,
maybe_syntax: None,
scope_analysis: false,
})
.unwrap();
let transpiled_source = module.transpile(&EmitOptions::default()).unwrap();
let expected_text = r#"try {
var _stack = [];
var data = _using(_stack, create());
console.log(data);
} catch (_) {
var _error = _;
var _hasError = true;
} finally{
_dispose(_stack, _error, _hasError);
}"#;
assert_eq!(
&transpiled_source.text[..expected_text.len()],
expected_text
);
}

#[test]
fn test_transpile_tsx() {
let specifier =
Expand Down

0 comments on commit 5498c80

Please sign in to comment.