madeline-ton
Version:
Pure JS client-side implementation of the Telegram TON blockchain protocol
97 lines (78 loc) • 2.81 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _objects = _interopRequireDefault(require("./TL/objects"));
var _parser = _interopRequireDefault(require("./TL/parser"));
var _datacenter = _interopRequireDefault(require("./datacenter"));
var _auth = _interopRequireDefault(require("./auth"));
var API =
/*#__PURE__*/
function () {
function API(settings) {
(0, _classCallCheck2["default"])(this, API);
(0, _defineProperty2["default"])(this, "loggedIn", false);
(0, _defineProperty2["default"])(this, "lastDc", 4);
(0, _defineProperty2["default"])(this, "layer", 105);
this.settings = settings;
this.TLObjects = new _objects["default"](settings['schemes']);
this.TLParser = new _parser["default"](this.TLObjects);
this.datacenter = new _datacenter["default"]();
this.auther = new _auth["default"](this);
}
(0, _createClass2["default"])(API, [{
key: "connect",
value: function () {
var _connect = (0, _asyncToGenerator2["default"])(
/*#__PURE__*/
_regenerator["default"].mark(function _callee() {
return _regenerator["default"].wrap(function _callee$(_context) {
while (1) {
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return this.auther.auth();
case 2:
console.log("Done connecting to DCs!");
case 3:
case "end":
return _context.stop();
}
}
}, _callee, this);
}));
function connect() {
return _connect.apply(this, arguments);
}
return connect;
}()
}, {
key: "methodCall",
value: function methodCall(method, args, aargs) {
if (aargs['dcId']) {
this.lastDc = aargs['dcId'];
}
return this.datacenter.sockets[this.lastDc].methodCall(method, args, aargs);
}
}, {
key: "getTL",
value: function getTL() {
return this.TLParser;
}
}, {
key: "getDatacenter",
value: function getDatacenter() {
return this.datacenter;
}
}]);
return API;
}();
var _default = API;
exports["default"] = _default;