File tree Expand file tree Collapse file tree 2 files changed +13
-2
lines changed Expand file tree Collapse file tree 2 files changed +13
-2
lines changed Original file line number Diff line number Diff line change @@ -208,7 +208,8 @@ Implemented so far:
208
208
* Host.inputString
209
209
* Host.outputBytes
210
210
* Host.outputString
211
- * Var.get
211
+ * Var.getBytes
212
+ * Var.getString
212
213
* Var.set
213
214
* console.log
214
215
* console.error
Original file line number Diff line number Diff line change @@ -104,9 +104,19 @@ fn build_var_object(context: &Context) -> anyhow::Result<Value> {
104
104
}
105
105
} ) ?;
106
106
107
+ let var_get_str = context. wrap_callback ( |ctx : & Context , _this : & Value , args : & [ Value ] | {
108
+ let var_name = args. get ( 0 ) . ok_or ( anyhow ! ( "Expected var_name argument" ) ) ?;
109
+ let data = var:: get :: < String > ( var_name. as_str ( ) ?) ?;
110
+ match data {
111
+ Some ( d) => ctx. value_from_str ( d. as_str ( ) ) ,
112
+ None => ctx. null_value ( ) ,
113
+ }
114
+ } ) ?;
115
+
107
116
let var_object = context. object_value ( ) ?;
108
117
var_object. set_property ( "set" , var_set) ?;
109
- var_object. set_property ( "get" , var_get) ?;
118
+ var_object. set_property ( "getBytes" , var_get) ?;
119
+ var_object. set_property ( "getString" , var_get_str) ?;
110
120
111
121
Ok ( var_object)
112
122
}
You can’t perform that action at this time.
0 commit comments