UNPKG

2.63 kBJavaScriptView Raw
1"use strict";
2var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3 return new (P || (P = Promise))(function (resolve, reject) {
4 function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5 function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6 function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
7 step((generator = generator.apply(thisArg, _arguments || [])).next());
8 });
9};
10Object.defineProperty(exports, "__esModule", { value: true });
11const neweb_core_1 = require("neweb-core");
12class SocketIOClient {
13 constructor(config) {
14 this.config = config;
15 this.dispose = () => {
16 this.config.socket.removeAllListeners();
17 };
18 this.config.socket.on("disconnect", this.dispose);
19 this.config.socket.on("error", this.dispose);
20 this.config.socket.on(neweb_core_1.RemoteMessageType.FrameControllerDispatch, (params) => {
21 this.server.dispatchControllerAction({
22 actionName: params.actionName,
23 args: params.args,
24 controllerId: params.frameId,
25 });
26 });
27 this.config.socket.on(neweb_core_1.RemoteMessageType.Navigate, (params) => {
28 this.server.navigate(params);
29 });
30 }
31 getRequest() {
32 return __awaiter(this, void 0, void 0, function* () {
33 const socket = this.config.socket;
34 return {
35 url: socket.request.url,
36 headers: socket.request.headers,
37 sessionId: socket.request.session.id,
38 };
39 });
40 }
41 connectTo(server) {
42 this.server = server;
43 }
44 newPage(params) {
45 return this.emit(neweb_core_1.RemoteMessageType.NewPage, params);
46 }
47 newControllerData(params) {
48 return this.emit(neweb_core_1.RemoteMessageType.FrameControllerData, {
49 frameId: params.controllerId,
50 fieldName: params.fieldName,
51 value: params.value,
52 });
53 }
54 error(params) {
55 return this.emit(neweb_core_1.RemoteMessageType.Error, params);
56 }
57 emit(event, params) {
58 return __awaiter(this, void 0, void 0, function* () {
59 yield new Promise((resolve) => {
60 this.config.socket.send(event, params, resolve);
61 });
62 });
63 }
64}
65exports.default = SocketIOClient;