Files
emaui/node_modules/@module-federation/dts-plugin/dist/iife/launch-web-client.iife.js
2026-05-29 15:23:46 +03:00

117 lines
3.7 KiB
JavaScript

(function() {
//#region src/server/constant.ts
const DEFAULT_WEB_SOCKET_PORT = 16322;
const WEB_SOCKET_CONNECT_MAGIC_ID = "1hpzW-zo2z-o8io-gfmV1-2cb1d82";
//#endregion
//#region src/server/message/Message.ts
var Message = class {
constructor(type, kind) {
this.type = type;
this.kind = kind;
this.time = Date.now();
}
};
//#endregion
//#region src/server/message/Action/Action.ts
let ActionKind = /* @__PURE__ */ function(ActionKind) {
ActionKind["ADD_SUBSCRIBER"] = "ADD_SUBSCRIBER";
ActionKind["EXIT_SUBSCRIBER"] = "EXIT_SUBSCRIBER";
ActionKind["ADD_PUBLISHER"] = "ADD_PUBLISHER";
ActionKind["UPDATE_PUBLISHER"] = "UPDATE_PUBLISHER";
ActionKind["NOTIFY_SUBSCRIBER"] = "NOTIFY_SUBSCRIBER";
ActionKind["EXIT_PUBLISHER"] = "EXIT_PUBLISHER";
ActionKind["ADD_WEB_CLIENT"] = "ADD_WEB_CLIENT";
ActionKind["NOTIFY_WEB_CLIENT"] = "NOTIFY_WEB_CLIENT";
ActionKind["FETCH_TYPES"] = "FETCH_TYPES";
ActionKind["ADD_DYNAMIC_REMOTE"] = "ADD_DYNAMIC_REMOTE";
return ActionKind;
}({});
var Action = class extends Message {
constructor(content, kind) {
super("Action", kind);
const { payload } = content;
this.payload = payload;
}
};
//#endregion
//#region src/server/message/Action/AddWebClient.ts
var AddWebClientAction = class extends Action {
constructor(payload) {
super({ payload }, ActionKind.ADD_WEB_CLIENT);
}
};
//#endregion
//#region src/server/message/API/API.ts
let APIKind = /* @__PURE__ */ function(APIKind) {
APIKind["UPDATE_SUBSCRIBER"] = "UPDATE_SUBSCRIBER";
APIKind["RELOAD_WEB_CLIENT"] = "RELOAD_WEB_CLIENT";
APIKind["FETCH_TYPES"] = "FETCH_TYPES";
return APIKind;
}({});
//#endregion
//#region ../../node_modules/.pnpm/isomorphic-ws@5.0.0_ws@8.18.0/node_modules/isomorphic-ws/browser.js
var ws = null;
if (typeof WebSocket !== "undefined") ws = WebSocket;
else if (typeof MozWebSocket !== "undefined") ws = MozWebSocket;
else if (typeof global !== "undefined") ws = global.WebSocket || global.MozWebSocket;
else if (typeof window !== "undefined") ws = window.WebSocket || window.MozWebSocket;
else if (typeof self !== "undefined") ws = self.WebSocket || self.MozWebSocket;
var browser_default = ws;
//#endregion
//#region src/server/createWebsocket.ts
function createWebsocket() {
return new browser_default(`ws://127.0.0.1:${DEFAULT_WEB_SOCKET_PORT}?WEB_SOCKET_CONNECT_MAGIC_ID=${WEB_SOCKET_CONNECT_MAGIC_ID}`);
}
//#endregion
//#region src/server/WebClient.ts
var WebClient = class {
constructor(options) {
this._webSocket = null;
this._name = options.name;
this.logPrefix = options.logPrefix || "";
this._connect();
}
_connect() {
console.log(`${this.logPrefix}Trying to connect to {cyan ws://127.0.0.1:${DEFAULT_WEB_SOCKET_PORT}}...}`);
this._webSocket = createWebsocket();
this._webSocket.onopen = () => {
console.log(`${this.logPrefix}Connected to {cyan ws://127.0.0.1:${DEFAULT_WEB_SOCKET_PORT}} success!`);
const startWebClient = new AddWebClientAction({ name: this._name });
this._webSocket && this._webSocket.send(JSON.stringify(startWebClient));
};
this._webSocket.onmessage = (message) => {
console.log(message);
const parsedMessage = JSON.parse(message.data.toString());
if (parsedMessage.type === "API") {
if (parsedMessage.kind === APIKind.RELOAD_WEB_CLIENT) {
const { payload: { name } } = parsedMessage;
if (name !== this._name) return;
this._reload();
}
}
};
this._webSocket.onerror = (err) => {
console.error(`${this.logPrefix}err: ${err}`);
};
}
_reload() {
console.log(`${this.logPrefix}reload`);
location.reload();
}
};
//#endregion
//#region src/server/launchWebClient.ts
new WebClient(__WEB_CLIENT_OPTIONS__);
//#endregion
})();