@@ -22,19 +22,19 @@ use std::rc::Rc;
2222// Task queue for asynchronous operations
2323#[ derive( Clone ) ]
2424pub enum Task {
25- PromiseResolve {
25+ Resolve {
2626 promise : Rc < RefCell < JSPromise > > ,
2727 value : Value ,
2828 } ,
29- PromiseReject {
29+ Reject {
3030 promise : Rc < RefCell < JSPromise > > ,
3131 reason : Value ,
3232 } ,
33- PromiseResolution {
33+ Resolution {
3434 promise : Rc < RefCell < JSPromise > > ,
3535 callbacks : Vec < ( Value , Rc < RefCell < JSPromise > > ) > ,
3636 } ,
37- PromiseRejection {
37+ Rejection {
3838 promise : Rc < RefCell < JSPromise > > ,
3939 callbacks : Vec < ( Value , Rc < RefCell < JSPromise > > ) > ,
4040 } ,
@@ -63,7 +63,7 @@ pub fn resolve_promise(promise: Rc<RefCell<JSPromise>>, value: Value) -> Result<
6363 let callbacks = p. on_fulfilled . clone ( ) ;
6464 p. on_fulfilled . clear ( ) ;
6565 if !callbacks. is_empty ( ) {
66- queue_task ( Task :: PromiseResolution {
66+ queue_task ( Task :: Resolution {
6767 promise : promise. clone ( ) ,
6868 callbacks,
6969 } ) ;
@@ -81,7 +81,7 @@ pub fn reject_promise(promise: Rc<RefCell<JSPromise>>, reason: Value) -> Result<
8181 let callbacks = p. on_rejected . clone ( ) ;
8282 p. on_rejected . clear ( ) ;
8383 if !callbacks. is_empty ( ) {
84- queue_task ( Task :: PromiseRejection {
84+ queue_task ( Task :: Rejection {
8585 promise : promise. clone ( ) ,
8686 callbacks,
8787 } ) ;
@@ -4139,10 +4139,6 @@ pub fn env_set_const(env: &JSObjectDataPtr, key: &str, val: Value) {
41394139 env_mut. set_const ( key. to_string ( ) ) ;
41404140}
41414141
4142- pub fn env_set_rc ( env : & JSObjectDataPtr , key : & str , val_rc : Rc < RefCell < Value > > ) {
4143- env. borrow_mut ( ) . insert ( key. to_string ( ) , val_rc) ;
4144- }
4145-
41464142// Higher-level property API that operates on expressions + environment.
41474143// `get_prop_env` evaluates `obj_expr` in `env` and returns the property's Rc if present.
41484144pub fn get_prop_env ( env : & JSObjectDataPtr , obj_expr : & Expr , prop : & str ) -> Result < Option < Rc < RefCell < Value > > > , JSError > {
@@ -6398,7 +6394,7 @@ pub fn handle_promise_method(obj_map: &JSObjectDataPtr, method: &str, args: &[Ex
63986394 PromiseState :: Fulfilled ( _) => {
63996395 // Queue task to execute on_fulfilled callback asynchronously
64006396 if let Some ( fulfilled_callback) = on_fulfilled {
6401- queue_task ( Task :: PromiseResolution {
6397+ queue_task ( Task :: Resolution {
64026398 promise : promise. clone ( ) ,
64036399 callbacks : vec ! [ ( fulfilled_callback, new_promise. clone( ) ) ] ,
64046400 } ) ;
@@ -6411,7 +6407,7 @@ pub fn handle_promise_method(obj_map: &JSObjectDataPtr, method: &str, args: &[Ex
64116407 PromiseState :: Rejected ( _) => {
64126408 // Queue task to execute on_rejected callback asynchronously
64136409 if let Some ( rejected_callback) = on_rejected {
6414- queue_task ( Task :: PromiseRejection {
6410+ queue_task ( Task :: Rejection {
64156411 promise : promise. clone ( ) ,
64166412 callbacks : vec ! [ ( rejected_callback, new_promise. clone( ) ) ] ,
64176413 } ) ;
@@ -6452,7 +6448,7 @@ pub fn handle_promise_method(obj_map: &JSObjectDataPtr, method: &str, args: &[Ex
64526448 }
64536449 PromiseState :: Rejected ( _) => {
64546450 // Queue task to execute on_rejected callback asynchronously
6455- queue_task ( Task :: PromiseRejection {
6451+ queue_task ( Task :: Rejection {
64566452 promise : promise. clone ( ) ,
64576453 callbacks : vec ! [ ( on_rejected, new_promise. clone( ) ) ] ,
64586454 } ) ;
@@ -6473,7 +6469,7 @@ pub fn run_event_loop() -> Result<(), JSError> {
64736469 let task = GLOBAL_TASK_QUEUE . with ( |queue| queue. borrow_mut ( ) . pop_front ( ) ) ;
64746470
64756471 match task {
6476- Some ( Task :: PromiseResolve { promise, value } ) => {
6472+ Some ( Task :: Resolve { promise, value } ) => {
64776473 let mut promise_mut = promise. borrow_mut ( ) ;
64786474 if let PromiseState :: Pending = promise_mut. state {
64796475 promise_mut. state = PromiseState :: Fulfilled ( value. clone ( ) ) ;
@@ -6483,14 +6479,14 @@ pub fn run_event_loop() -> Result<(), JSError> {
64836479 let callbacks = promise_mut. on_fulfilled . clone ( ) ;
64846480 promise_mut. on_fulfilled . clear ( ) ;
64856481 if !callbacks. is_empty ( ) {
6486- queue_task ( Task :: PromiseResolution {
6482+ queue_task ( Task :: Resolution {
64876483 promise : promise. clone ( ) ,
64886484 callbacks,
64896485 } ) ;
64906486 }
64916487 }
64926488 }
6493- Some ( Task :: PromiseReject { promise, reason } ) => {
6489+ Some ( Task :: Reject { promise, reason } ) => {
64946490 let mut promise_mut = promise. borrow_mut ( ) ;
64956491 if let PromiseState :: Pending = promise_mut. state {
64966492 promise_mut. state = PromiseState :: Rejected ( reason. clone ( ) ) ;
@@ -6500,14 +6496,14 @@ pub fn run_event_loop() -> Result<(), JSError> {
65006496 let callbacks = promise_mut. on_rejected . clone ( ) ;
65016497 promise_mut. on_rejected . clear ( ) ;
65026498 if !callbacks. is_empty ( ) {
6503- queue_task ( Task :: PromiseRejection {
6499+ queue_task ( Task :: Rejection {
65046500 promise : promise. clone ( ) ,
65056501 callbacks,
65066502 } ) ;
65076503 }
65086504 }
65096505 }
6510- Some ( Task :: PromiseResolution { promise, callbacks } ) => {
6506+ Some ( Task :: Resolution { promise, callbacks } ) => {
65116507 for ( callback, new_promise) in callbacks {
65126508 // Call the callback and resolve the new promise with the result
65136509 match evaluate_expr (
@@ -6526,7 +6522,7 @@ pub fn run_event_loop() -> Result<(), JSError> {
65266522 }
65276523 }
65286524 }
6529- Some ( Task :: PromiseRejection { promise, callbacks } ) => {
6525+ Some ( Task :: Rejection { promise, callbacks } ) => {
65306526 for ( callback, new_promise) in callbacks {
65316527 // Call the callback and resolve the new promise with the result
65326528 match evaluate_expr (
0 commit comments