UNPKG

mtl-js-sdk

Version:

65 lines (55 loc) 2.01 kB
"use strict"; 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", "./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: "upesn", 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; });