Commit 17cd31dc authored by Michael Droettboom's avatar Michael Droettboom

Fix #332: Make pyproxy.apply work

parent 584c61ed
......@@ -157,6 +157,7 @@ EM_JS(int, pyproxy_init, (), {
return result;
},
get: function (jsobj, jskey) {
ptrobj = this.getPtr(jsobj);
if (jskey === 'toString') {
return function() {
if (self.pyodide.repr === undefined) {
......@@ -169,8 +170,16 @@ EM_JS(int, pyproxy_init, (), {
} else if (jskey === 'destroy') {
__pyproxy_destroy(this.getPtr(jsobj));
jsobj['$$']['ptr'] = null;
} else if (jskey == 'apply') {
return function(jsthis, jsargs) {
var idargs = Module.hiwire_new_value(jsargs);
var idresult = __pyproxy_apply(ptrobj, idargs);
var jsresult = Module.hiwire_get_value(idresult);
Module.hiwire_decref(idresult);
Module.hiwire_decref(idargs);
return jsresult;
};
}
ptrobj = this.getPtr(jsobj);
var idkey = Module.hiwire_new_value(jskey);
var idresult = __pyproxy_get(ptrobj, idkey);
var jsresult = Module.hiwire_get_value(idresult);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment