35 lines
1.0 KiB
JavaScript
35 lines
1.0 KiB
JavaScript
(function(context,$) {
|
|
|
|
"use strict";
|
|
|
|
context.JK = context.JK || {};
|
|
context.JK.FakeJamClientProxy = function(app, p2pMessageFactory) {
|
|
|
|
const handler = {
|
|
get: (target, prop, receiver) => {
|
|
return function (...args) {
|
|
return new Promise((resolve, reject) => {
|
|
try {
|
|
//console.log('[fakeJamClient]', prop)
|
|
if(target[prop]){
|
|
const result = target[prop].apply(target, args);
|
|
resolve(result);
|
|
}else{
|
|
console.error('[fakeJamClient] error: No such method in FakeJamClient', prop);
|
|
reject(`No such method in FakeJamClient: ${prop}`);
|
|
}
|
|
|
|
} catch (error) {
|
|
console.error('[fakeJamClient] error:', prop, error);
|
|
reject(error);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
}
|
|
|
|
const fakeJamClient = new JK.FakeJamClient(app, p2pMessageFactory);
|
|
return new Proxy(fakeJamClient, handler);
|
|
}
|
|
|
|
})(window, jQuery); |