Commit f5140c8a authored by Michael Droettboom's avatar Michael Droettboom Committed by GitHub

Merge pull request #333 from mdboom/fix-apply-on-pyproxy

Fix #332: Make pyproxy.apply work
parents 584c61ed 1b111df2
......@@ -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) {
......@@ -167,10 +168,20 @@ EM_JS(int, pyproxy_init, (), {
} else if (jskey === '$$') {
return jsobj['$$'];
} else if (jskey === 'destroy') {
__pyproxy_destroy(this.getPtr(jsobj));
jsobj['$$']['ptr'] = null;
return function() {
__pyproxy_destroy(ptrobj);
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