mtl-js-sdk
Version:
65 lines (55 loc) • 2.02 kB
JavaScript
;
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
// eslint-disable-next-line no-undef
define(["./methods", "../upesn/esn.min.js", "../../common/builder"], function (methods, YYEsnBridge, builder) {
var isReady = false;
var callbacks = [];
function recurseDelegate(module) {
var delegate = {};
var _loop = function _loop(key) {
if (Object.prototype.hasOwnProperty.call(module, key)) {
var element = module[key];
if (typeof element === "function") {
delegate[key] = function () {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
if (isReady) {
builder.assignGetter(window.mtl, key, element);
element.apply(void 0, args);
} else {
callbacks.push(function () {
builder.assignGetter(window.mtl, key, element);
element.apply(void 0, args);
});
}
};
} else if (_typeof(element) === "object") {
delegate[key] = recurseDelegate(element);
} else {
delegate[key] = element;
}
}
};
for (var key in module) {
_loop(key);
}
return delegate;
}
var platform = {
id: "QYAndroid",
bootstrap: function bootstrap(onready) {
window.YYEsnBridge = YYEsnBridge;
YYEsnBridge.ready(function () {
isReady = true;
callbacks.forEach(function (cb) {
return cb();
});
callbacks = null;
onready();
});
}
};
platform.exports = recurseDelegate(methods);
return platform;
});