@balancy/wasm 1.1.33 → 1.1.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -387,6 +387,7 @@ var Balancy = function() {
387
387
  "__Z23jsbalancyUnzipCompletedNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_",
388
388
  "__Z23jsbalancyWebViewRequestPN7Balancy5Utils15JsonBasedObjectENSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEN10emscripten3valE",
389
389
  "_balancySetDataRequestedCallback",
390
+ "__Z30jsbalancyDataRequestedResponseiNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE",
390
391
  "_balancyViewAllowOptimization",
391
392
  "_balancyConfigLaunch",
392
393
  "_balancyConfigClose",
@@ -474,6 +475,7 @@ var Balancy = function() {
474
475
  "_balancyGetBoolArrayParam",
475
476
  "_balancyGetStringArrayParam",
476
477
  "_balancyFreeStringArray",
478
+ "_balancyDataRequestedResponse",
477
479
  "_balancyConfigGetStatus",
478
480
  "_balancyConfigLoadListOfGames",
479
481
  "_balancyConfigAuth",
@@ -536,6 +538,7 @@ var Balancy = function() {
536
538
  "_balancyWebViewRequest",
537
539
  "_balancyGetProductsIdAndType",
538
540
  "_balancyGetParsedObject",
541
+ "_balancyUnzipCompleted",
539
542
  "_balancyAuth_NameAndPassword",
540
543
  "_balancyLink_NameAndPassword",
541
544
  "__Z22jsbalancyAuth_DeviceIdNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEN10emscripten3valE",
@@ -543,13 +546,12 @@ var Balancy = function() {
543
546
  "_balancyInventory_AddItems",
544
547
  "_balancyInventory_RemoveItems",
545
548
  "_balancyInventory_GetTotalItemsCount",
546
- "_js_call_typescript_bridge_connect",
547
- "_js_call_typescript_bridge_disconnect",
548
- "_js_call_typescript_bridge_is_connected",
549
- "_js_call_typescript_bridge_subscribe",
550
- "_js_call_typescript_bridge_send_message",
551
- "_js_call_typescript_bridge_send_ack",
552
- "_js_initialize_typescript_bridge",
549
+ "_js_init_websocket_storage",
550
+ "_js_websocket_connect",
551
+ "_js_websocket_disconnect",
552
+ "_js_websocket_subscribe",
553
+ "_js_websocket_send_message",
554
+ "_js_websocket_send_ack",
553
555
  "_main",
554
556
  "onRuntimeInitialized"
555
557
  ].forEach(function(prop) {
@@ -1447,40 +1449,210 @@ var Balancy = function() {
1447
1449
  invokeErrorCallback(-1, error.message, "Network fetch failed");
1448
1450
  });
1449
1451
  }
1450
- function js_call_typescript_bridge_send_ack(connectionId, ackId, responseData) {
1451
- var success = false;
1452
- if (typeof Module !== "undefined" && Module.typescript_websocket_send_ack) {
1453
- try {
1454
- var responseStr = UTF8ToString(responseData);
1455
- console.log("[C++ -> TS Bridge] Send ack", connectionId, ackId);
1456
- Module.typescript_websocket_send_ack(connectionId, ackId, responseStr);
1457
- success = true;
1458
- } catch (error) {
1459
- console.error("[ERROR] calling typescript_websocket_send_ack via Module:", error);
1460
- }
1452
+ function js_websocket_connect(connectionId, url, authData) {
1453
+ if (!Module.balancyWebSockets) {
1454
+ Module.balancyWebSockets = new Map;
1461
1455
  }
1462
- if (!success && typeof window !== "undefined" && window.Module && window.Module.typescript_websocket_send_ack) {
1463
- try {
1464
- var responseStr1 = UTF8ToString(responseData);
1465
- console.log("[C++ -> TS Bridge] Send ack via window.Module", connectionId, ackId);
1466
- window.Module.typescript_websocket_send_ack(connectionId, ackId, responseStr1);
1467
- success = true;
1468
- } catch (error) {
1469
- console.error("[ERROR] calling typescript_websocket_send_ack via window.Module:", error);
1470
- }
1456
+ var urlStr = UTF8ToString(url);
1457
+ var authDataStr = UTF8ToString(authData);
1458
+ var wsUrl = urlStr;
1459
+ if (wsUrl.startsWith("http://")) {
1460
+ wsUrl = wsUrl.replace("http://", "ws://");
1461
+ } else if (wsUrl.startsWith("https://")) {
1462
+ wsUrl = wsUrl.replace("https://", "wss://");
1463
+ }
1464
+ if (location.protocol === "http:" && wsUrl.startsWith("wss://")) {
1465
+ wsUrl = wsUrl.replace("wss://", "ws://");
1471
1466
  }
1472
- if (!success && typeof globalThis !== "undefined" && globalThis.Module && globalThis.Module.typescript_websocket_send_ack) {
1467
+ if (!wsUrl.endsWith("/")) {
1468
+ wsUrl += "/";
1469
+ }
1470
+ wsUrl += "socket.io/?EIO=4&transport=websocket";
1471
+ try {
1472
+ var socket = new WebSocket(wsUrl);
1473
+ socket.binaryType = "arraybuffer";
1474
+ var connection = {
1475
+ socket: socket,
1476
+ authData: authDataStr,
1477
+ subscribedEvents: new Set
1478
+ };
1479
+ Module.balancyWebSockets.set(connectionId, connection);
1480
+ socket.onopen = function() {
1481
+ var emptyMsg = "";
1482
+ var emptyLen = lengthBytesUTF8(emptyMsg) + 1;
1483
+ var emptyPtr = _malloc(emptyLen);
1484
+ stringToUTF8(emptyMsg, emptyPtr, emptyLen);
1485
+ _emscripten_websocket_on_connection_status(connectionId, true, emptyPtr);
1486
+ _free(emptyPtr);
1487
+ };
1488
+ socket.onclose = function() {
1489
+ var closeMsg = "Connection closed";
1490
+ var closeLen = lengthBytesUTF8(closeMsg) + 1;
1491
+ var closePtr = _malloc(closeLen);
1492
+ stringToUTF8(closeMsg, closePtr, closeLen);
1493
+ _emscripten_websocket_on_connection_status(connectionId, false, closePtr);
1494
+ _free(closePtr);
1495
+ Module.balancyWebSockets.delete(connectionId);
1496
+ };
1497
+ socket.onerror = function(error) {
1498
+ console.error("[WebSocket] Connection failed:", error);
1499
+ var errorMsg = "WebSocket connection failed";
1500
+ var errorLen = lengthBytesUTF8(errorMsg) + 1;
1501
+ var errorPtr = _malloc(errorLen);
1502
+ stringToUTF8(errorMsg, errorPtr, errorLen);
1503
+ _emscripten_websocket_on_connection_status(connectionId, false, errorPtr);
1504
+ _free(errorPtr);
1505
+ };
1506
+ socket.onmessage = function(event) {
1507
+ if (typeof event.data !== "string") return;
1508
+ var message = event.data;
1509
+ if (message.startsWith("0")) {
1510
+ try {
1511
+ var authJson = JSON.parse(connection.authData);
1512
+ var connectMessage = "40" + JSON.stringify({
1513
+ game_id: authJson.gameId,
1514
+ user_id: authJson.userId,
1515
+ env: authJson.environment,
1516
+ token: authJson.token,
1517
+ device_id: authJson.deviceId || ""
1518
+ });
1519
+ socket.send(connectMessage);
1520
+ } catch (e) {
1521
+ console.error("[WebSocket] Failed to send auth:", e);
1522
+ socket.send("40");
1523
+ }
1524
+ return;
1525
+ }
1526
+ if (message.startsWith("2")) {
1527
+ socket.send("3");
1528
+ return;
1529
+ }
1530
+ if (message.startsWith("40")) {
1531
+ return;
1532
+ }
1533
+ if (message.startsWith("41")) {
1534
+ return;
1535
+ }
1536
+ if (message.startsWith("42")) {
1537
+ var afterType = message.substring(2);
1538
+ var ackId = 0;
1539
+ var hasAckId = false;
1540
+ var jsonPart = afterType;
1541
+ var jsonStart = afterType.indexOf("[");
1542
+ if (jsonStart > 0) {
1543
+ var ackIdStr = afterType.substring(0, jsonStart);
1544
+ var parsedAckId = parseInt(ackIdStr);
1545
+ if (!isNaN(parsedAckId)) {
1546
+ hasAckId = true;
1547
+ ackId = parsedAckId;
1548
+ jsonPart = afterType.substring(jsonStart);
1549
+ }
1550
+ }
1551
+ try {
1552
+ var eventArray = JSON.parse(jsonPart);
1553
+ if (eventArray && eventArray.length >= 1) {
1554
+ var eventName = eventArray[0];
1555
+ var eventData = eventArray.length > 1 ? JSON.stringify(eventArray[1]) : "{}";
1556
+ if (eventName === "system:ping") {
1557
+ if (hasAckId) {
1558
+ socket.send("43" + ackId + "[]");
1559
+ }
1560
+ return;
1561
+ }
1562
+ if (eventName === "profile:updated") {
1563
+ if (hasAckId) {
1564
+ socket.send("43" + ackId + "[]");
1565
+ }
1566
+ if (connection.subscribedEvents.has(eventName) || connection.subscribedEvents.size === 0) {
1567
+ var eventNameLen = lengthBytesUTF8(eventName) + 1;
1568
+ var eventNamePtr = _malloc(eventNameLen);
1569
+ stringToUTF8(eventName, eventNamePtr, eventNameLen);
1570
+ var eventDataLen = lengthBytesUTF8(eventData) + 1;
1571
+ var eventDataPtr = _malloc(eventDataLen);
1572
+ stringToUTF8(eventData, eventDataPtr, eventDataLen);
1573
+ _emscripten_websocket_on_socketio_event(connectionId, eventNamePtr, eventDataPtr, false, 0);
1574
+ _free(eventNamePtr);
1575
+ _free(eventDataPtr);
1576
+ }
1577
+ return;
1578
+ }
1579
+ if (connection.subscribedEvents.has(eventName) || connection.subscribedEvents.size === 0) {
1580
+ var eventNameLen = lengthBytesUTF8(eventName) + 1;
1581
+ var eventNamePtr = _malloc(eventNameLen);
1582
+ stringToUTF8(eventName, eventNamePtr, eventNameLen);
1583
+ var eventDataLen = lengthBytesUTF8(eventData) + 1;
1584
+ var eventDataPtr = _malloc(eventDataLen);
1585
+ stringToUTF8(eventData, eventDataPtr, eventDataLen);
1586
+ _emscripten_websocket_on_socketio_event(connectionId, eventNamePtr, eventDataPtr, hasAckId, ackId);
1587
+ _free(eventNamePtr);
1588
+ _free(eventDataPtr);
1589
+ } else {
1590
+ if (hasAckId) {
1591
+ socket.send("43" + ackId + "[]");
1592
+ }
1593
+ }
1594
+ }
1595
+ } catch (e) {
1596
+ console.error("[WebSocket] Failed to parse event:", e);
1597
+ }
1598
+ return;
1599
+ }
1600
+ if (message.startsWith("44")) {
1601
+ var errorJson = message.substring(2);
1602
+ console.error("[WebSocket] Socket.IO error:", errorJson);
1603
+ var errorLen = lengthBytesUTF8(errorJson) + 1;
1604
+ var errorPtr = _malloc(errorLen);
1605
+ stringToUTF8(errorJson, errorPtr, errorLen);
1606
+ _emscripten_websocket_on_socketio_error(connectionId, 44, errorPtr);
1607
+ _free(errorPtr);
1608
+ return;
1609
+ }
1610
+ };
1611
+ } catch (e) {
1612
+ console.error("[WebSocket] Failed to create WebSocket:", e);
1613
+ var errorMsg = "Failed to create WebSocket: " + e.toString();
1614
+ var errorLen = lengthBytesUTF8(errorMsg) + 1;
1615
+ var errorPtr = _malloc(errorLen);
1616
+ stringToUTF8(errorMsg, errorPtr, errorLen);
1617
+ _emscripten_websocket_on_connection_status(connectionId, false, errorPtr);
1618
+ _free(errorPtr);
1619
+ }
1620
+ }
1621
+ function js_websocket_disconnect(connectionId) {
1622
+ if (!Module.balancyWebSockets) return;
1623
+ var connection = Module.balancyWebSockets.get(connectionId);
1624
+ if (connection && connection.socket) {
1473
1625
  try {
1474
- var responseStr2 = UTF8ToString(responseData);
1475
- console.log("[C++ -> TS Bridge] Send ack via globalThis.Module", connectionId, ackId);
1476
- globalThis.Module.typescript_websocket_send_ack(connectionId, ackId, responseStr2);
1477
- success = true;
1478
- } catch (error) {
1479
- console.error("[ERROR] calling typescript_websocket_send_ack via globalThis.Module:", error);
1480
- }
1626
+ connection.socket.close();
1627
+ } catch (e) {}
1628
+ }
1629
+ Module.balancyWebSockets.delete(connectionId);
1630
+ }
1631
+ function js_websocket_subscribe(connectionId, eventName) {
1632
+ if (!Module.balancyWebSockets) return;
1633
+ var eventNameStr = UTF8ToString(eventName);
1634
+ var connection = Module.balancyWebSockets.get(connectionId);
1635
+ if (connection) {
1636
+ connection.subscribedEvents.add(eventNameStr);
1481
1637
  }
1482
- if (!success) {
1483
- console.error("[ERROR] TypeScript WebSocket Bridge send ack method not found");
1638
+ }
1639
+ function js_websocket_send_message(connectionId, eventName, data) {
1640
+ if (!Module.balancyWebSockets) return;
1641
+ var eventNameStr = UTF8ToString(eventName);
1642
+ var dataStr = UTF8ToString(data);
1643
+ var connection = Module.balancyWebSockets.get(connectionId);
1644
+ if (connection && connection.socket) {
1645
+ var message = '42["' + eventNameStr + '",' + dataStr + "]";
1646
+ connection.socket.send(message);
1647
+ }
1648
+ }
1649
+ function js_websocket_send_ack(connectionId, ackId, responseData) {
1650
+ if (!Module.balancyWebSockets) return;
1651
+ var responseDataStr = UTF8ToString(responseData);
1652
+ var connection = Module.balancyWebSockets.get(connectionId);
1653
+ if (connection && connection.socket) {
1654
+ var message = "43" + ackId + responseDataStr;
1655
+ connection.socket.send(message);
1484
1656
  }
1485
1657
  }
1486
1658
  var ExitStatus = function ExitStatus(status) {
@@ -7329,8 +7501,12 @@ var Balancy = function() {
7329
7501
  invoke_viiiiiiiiii: invoke_viiiiiiiiii,
7330
7502
  invoke_viiiiiiiiiiiiiii: invoke_viiiiiiiiiiiiiii,
7331
7503
  invoke_viijii: invoke_viijii,
7332
- js_call_typescript_bridge_send_ack: js_call_typescript_bridge_send_ack,
7333
7504
  js_fetch: js_fetch,
7505
+ js_websocket_connect: js_websocket_connect,
7506
+ js_websocket_disconnect: js_websocket_disconnect,
7507
+ js_websocket_send_ack: js_websocket_send_ack,
7508
+ js_websocket_send_message: js_websocket_send_message,
7509
+ js_websocket_subscribe: js_websocket_subscribe,
7334
7510
  random_get: _random_get
7335
7511
  };
7336
7512
  var wasmExports;
@@ -7383,6 +7559,7 @@ var Balancy = function() {
7383
7559
  Module["__Z23jsbalancyUnzipCompletedNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_"] = createExportWrapper("_Z23jsbalancyUnzipCompletedNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_", 2);
7384
7560
  Module["__Z23jsbalancyWebViewRequestPN7Balancy5Utils15JsonBasedObjectENSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEN10emscripten3valE"] = createExportWrapper("_Z23jsbalancyWebViewRequestPN7Balancy5Utils15JsonBasedObjectENSt3__212basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEN10emscripten3valE", 3);
7385
7561
  Module["_balancySetDataRequestedCallback"] = createExportWrapper("balancySetDataRequestedCallback", 1);
7562
+ Module["__Z30jsbalancyDataRequestedResponseiNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"] = createExportWrapper("_Z30jsbalancyDataRequestedResponseiNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE", 2);
7386
7563
  Module["_balancyViewAllowOptimization"] = createExportWrapper("balancyViewAllowOptimization", 1);
7387
7564
  Module["_balancyConfigLaunch"] = createExportWrapper("balancyConfigLaunch", 1);
7388
7565
  Module["_balancyConfigClose"] = createExportWrapper("balancyConfigClose", 0);
@@ -7440,9 +7617,9 @@ var Balancy = function() {
7440
7617
  Module["__Z37jsbalancyInventory_GetTotalItemsCountPN7Balancy5Utils15JsonBasedObjectE"] = createExportWrapper("_Z37jsbalancyInventory_GetTotalItemsCountPN7Balancy5Utils15JsonBasedObjectE", 1);
7441
7618
  Module["_balancyGenenal_LevelCompleted"] = createExportWrapper("balancyGenenal_LevelCompleted", 0);
7442
7619
  Module["_balancyGenenal_LevelFailed"] = createExportWrapper("balancyGenenal_LevelFailed", 0);
7443
- Module["_emscripten_websocket_on_connection_status"] = createExportWrapper("emscripten_websocket_on_connection_status", 3);
7444
- Module["_emscripten_websocket_on_socketio_event"] = createExportWrapper("emscripten_websocket_on_socketio_event", 5);
7445
- Module["_emscripten_websocket_on_socketio_error"] = createExportWrapper("emscripten_websocket_on_socketio_error", 3);
7620
+ var _emscripten_websocket_on_connection_status = Module["_emscripten_websocket_on_connection_status"] = createExportWrapper("emscripten_websocket_on_connection_status", 3);
7621
+ var _emscripten_websocket_on_socketio_event = Module["_emscripten_websocket_on_socketio_event"] = createExportWrapper("emscripten_websocket_on_socketio_event", 5);
7622
+ var _emscripten_websocket_on_socketio_error = Module["_emscripten_websocket_on_socketio_error"] = createExportWrapper("emscripten_websocket_on_socketio_error", 3);
7446
7623
  var _malloc = Module["_malloc"] = createExportWrapper("malloc", 1);
7447
7624
  var ___getTypeName = createExportWrapper("__getTypeName", 1);
7448
7625
  Module["_downloadSucceededBinary"] = createExportWrapper("downloadSucceededBinary", 3);
@@ -7472,6 +7649,7 @@ var Balancy = function() {
7472
7649
  Module["_balancyGetBoolArrayParam"] = createExportWrapper("balancyGetBoolArrayParam", 3);
7473
7650
  Module["_balancyGetStringArrayParam"] = createExportWrapper("balancyGetStringArrayParam", 3);
7474
7651
  Module["_balancyFreeStringArray"] = createExportWrapper("balancyFreeStringArray", 2);
7652
+ Module["_balancyDataRequestedResponse"] = createExportWrapper("balancyDataRequestedResponse", 2);
7475
7653
  Module["_balancyConfigGetStatus"] = createExportWrapper("balancyConfigGetStatus", 0);
7476
7654
  Module["_balancyConfigLoadListOfGames"] = createExportWrapper("balancyConfigLoadListOfGames", 1);
7477
7655
  Module["_balancyConfigAuth"] = createExportWrapper("balancyConfigAuth", 3);
@@ -7534,6 +7712,7 @@ var Balancy = function() {
7534
7712
  Module["_balancyWebViewRequest"] = createExportWrapper("balancyWebViewRequest", 3);
7535
7713
  Module["_balancyGetProductsIdAndType"] = createExportWrapper("balancyGetProductsIdAndType", 1);
7536
7714
  Module["_balancyGetParsedObject"] = createExportWrapper("balancyGetParsedObject", 3);
7715
+ Module["_balancyUnzipCompleted"] = createExportWrapper("balancyUnzipCompleted", 2);
7537
7716
  Module["_balancyAuth_NameAndPassword"] = createExportWrapper("balancyAuth_NameAndPassword", 4);
7538
7717
  Module["_balancyLink_NameAndPassword"] = createExportWrapper("balancyLink_NameAndPassword", 5);
7539
7718
  Module["__Z22jsbalancyAuth_DeviceIdNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEN10emscripten3valE"] = createExportWrapper("_Z22jsbalancyAuth_DeviceIdNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEN10emscripten3valE", 2);