@balancy/wasm 1.2.0 → 1.2.2

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.
package/dist/Balancy.wasm CHANGED
Binary file
package/dist/index.cjs.js CHANGED
@@ -408,6 +408,7 @@ var Balancy = function() {
408
408
  "__Z36jsbalancyUnsubscribeSingletonChangedNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEi",
409
409
  "__Z35jsbalancyClearAllSingletonCallbacksv",
410
410
  "__Z18jsbalancyGetUnnyIdPN7Balancy5Utils15JsonBasedObjectE",
411
+ "__Z28jsbalancyStartAbTestManuallyPN7Balancy5Utils15JsonBasedObjectES2_",
411
412
  "__Z19jsbalancyGetProfileNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE",
412
413
  "__Z39jsbalancyLocalization_GetLocalizedValueNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE",
413
414
  "__Z48jsbalancyLocalization_GetCurrentLocalizationCodev",
@@ -421,6 +422,7 @@ var Balancy = function() {
421
422
  "__Z29jsbalancyHardPurchaseShopSlotPN7Balancy4Data8BaseDataEPNS_4Core11PaymentInfoEN10emscripten3valEb",
422
423
  "__Z30jsbalancyHardPurchaseGameOfferPN7Balancy4Data8BaseDataEPNS_4Core11PaymentInfoEN10emscripten3valEb",
423
424
  "__Z35jsbalancyHardPurchaseGameOfferGroupPN7Balancy4Data8BaseDataEPNS_5Utils15JsonBasedObjectEPNS_4Core11PaymentInfoEN10emscripten3valEb",
425
+ "__Z20jsbalancyGetProductsN10emscripten3valE",
424
426
  "__Z21jsbalancyAuth_AsGuestN10emscripten3valE",
425
427
  "__Z29jsbalancyAuth_NameAndPasswordNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_N10emscripten3valE",
426
428
  "__Z29jsbalancyLink_NameAndPasswordNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_bN10emscripten3valE",
@@ -564,6 +566,12 @@ var Balancy = function() {
564
566
  "_balancyInventory_AddItems",
565
567
  "_balancyInventory_RemoveItems",
566
568
  "_balancyInventory_GetTotalItemsCount",
569
+ "_balancyStartAbTestManually",
570
+ "_balancyConditionCanPass",
571
+ "_balancyConditionSubscribe",
572
+ "_balancyConditionUnsubscribe",
573
+ "_balancyConditionGetSecondsLeftBeforeDeactivation",
574
+ "_balancyConditionGetSecondsBeforeActivation",
567
575
  "_js_init_websocket_storage",
568
576
  "_js_websocket_connect",
569
577
  "_js_websocket_disconnect",
@@ -1335,46 +1343,9 @@ var Balancy = function() {
1335
1343
  return;
1336
1344
  }
1337
1345
  var contentType = response.headers.get("content-type") || "";
1338
- var binaryExtensions = [
1339
- ".png",
1340
- ".jpg",
1341
- ".jpeg",
1342
- ".gif",
1343
- ".bmp",
1344
- ".webp",
1345
- ".ico",
1346
- ".mp3",
1347
- ".mp4",
1348
- ".wav",
1349
- ".avi",
1350
- ".mov",
1351
- ".pdf",
1352
- ".zip",
1353
- ".rar",
1354
- ".7z",
1355
- ".exe",
1356
- ".dll",
1357
- ".so",
1358
- ".dylib",
1359
- ".ttf",
1360
- ".otf",
1361
- ".woff",
1362
- ".woff2"
1363
- ];
1364
- var textMimeTypes = [
1365
- "application/json",
1366
- "text/",
1367
- "application/xml",
1368
- "application/javascript",
1369
- "application/x-javascript"
1370
- ];
1371
- var hasBinaryExtension = binaryExtensions.some(function(ext) {
1372
- return urlString.toLowerCase().includes(ext);
1373
- });
1374
- var isTextMimeType = textMimeTypes.some(function(type) {
1375
- return contentType.toLowerCase().includes(type);
1376
- });
1377
- var isBinary = contentType.includes("application/octet-stream") || hasBinaryExtension || !isTextMimeType && !contentType.includes("charset");
1346
+ var contentTypeLower = contentType.toLowerCase();
1347
+ var isTextContent = contentTypeLower.includes("application/json") || contentTypeLower.includes("text/") || contentTypeLower.includes("application/xml") || contentTypeLower.includes("application/javascript");
1348
+ var isBinary = !isTextContent;
1378
1349
  if (isBinary) {
1379
1350
  response.arrayBuffer().then(function(arrayBuffer) {
1380
1351
  var dataSize = arrayBuffer.byteLength;
@@ -1461,6 +1432,203 @@ var Balancy = function() {
1461
1432
  invokeErrorCallback(-1, error.message, "Network fetch failed");
1462
1433
  });
1463
1434
  }
1435
+ function js_websocket_connect(connectionId, url, authData) {
1436
+ if (!Module.balancyWebSockets) {
1437
+ Module.balancyWebSockets = new Map;
1438
+ }
1439
+ var urlStr = UTF8ToString(url);
1440
+ var authDataStr = UTF8ToString(authData);
1441
+ var wsUrl = urlStr;
1442
+ if (wsUrl.startsWith("http://")) {
1443
+ wsUrl = wsUrl.replace("http://", "ws://");
1444
+ } else if (wsUrl.startsWith("https://")) {
1445
+ wsUrl = wsUrl.replace("https://", "wss://");
1446
+ }
1447
+ if (location.protocol === "http:" && wsUrl.startsWith("wss://")) {
1448
+ wsUrl = wsUrl.replace("wss://", "ws://");
1449
+ }
1450
+ if (!wsUrl.endsWith("/")) {
1451
+ wsUrl += "/";
1452
+ }
1453
+ wsUrl += "socket.io/?EIO=4&transport=websocket";
1454
+ try {
1455
+ var socket = new WebSocket(wsUrl);
1456
+ socket.binaryType = "arraybuffer";
1457
+ var connection = {
1458
+ socket: socket,
1459
+ authData: authDataStr,
1460
+ subscribedEvents: new Set
1461
+ };
1462
+ Module.balancyWebSockets.set(connectionId, connection);
1463
+ socket.onopen = function() {
1464
+ var emptyMsg = "";
1465
+ var emptyLen = lengthBytesUTF8(emptyMsg) + 1;
1466
+ var emptyPtr = _malloc(emptyLen);
1467
+ stringToUTF8(emptyMsg, emptyPtr, emptyLen);
1468
+ _emscripten_websocket_on_connection_status(connectionId, true, emptyPtr);
1469
+ _free(emptyPtr);
1470
+ };
1471
+ socket.onclose = function() {
1472
+ var closeMsg = "Connection closed";
1473
+ var closeLen = lengthBytesUTF8(closeMsg) + 1;
1474
+ var closePtr = _malloc(closeLen);
1475
+ stringToUTF8(closeMsg, closePtr, closeLen);
1476
+ _emscripten_websocket_on_connection_status(connectionId, false, closePtr);
1477
+ _free(closePtr);
1478
+ Module.balancyWebSockets.delete(connectionId);
1479
+ };
1480
+ socket.onerror = function(error) {
1481
+ console.error("[WebSocket] Connection failed:", error);
1482
+ var errorMsg = "WebSocket connection failed";
1483
+ var errorLen = lengthBytesUTF8(errorMsg) + 1;
1484
+ var errorPtr = _malloc(errorLen);
1485
+ stringToUTF8(errorMsg, errorPtr, errorLen);
1486
+ _emscripten_websocket_on_connection_status(connectionId, false, errorPtr);
1487
+ _free(errorPtr);
1488
+ };
1489
+ socket.onmessage = function(event) {
1490
+ if (typeof event.data !== "string") return;
1491
+ var message = event.data;
1492
+ if (message.startsWith("0")) {
1493
+ try {
1494
+ var authJson = JSON.parse(connection.authData);
1495
+ var connectMessage = "40" + JSON.stringify({
1496
+ game_id: authJson.gameId,
1497
+ user_id: authJson.userId,
1498
+ env: authJson.environment,
1499
+ token: authJson.token,
1500
+ device_id: authJson.deviceId || ""
1501
+ });
1502
+ socket.send(connectMessage);
1503
+ } catch (e) {
1504
+ console.error("[WebSocket] Failed to send auth:", e);
1505
+ socket.send("40");
1506
+ }
1507
+ return;
1508
+ }
1509
+ if (message.startsWith("2")) {
1510
+ socket.send("3");
1511
+ return;
1512
+ }
1513
+ if (message.startsWith("40")) {
1514
+ return;
1515
+ }
1516
+ if (message.startsWith("41")) {
1517
+ return;
1518
+ }
1519
+ if (message.startsWith("42")) {
1520
+ var afterType = message.substring(2);
1521
+ var ackId = 0;
1522
+ var hasAckId = false;
1523
+ var jsonPart = afterType;
1524
+ var jsonStart = afterType.indexOf("[");
1525
+ if (jsonStart > 0) {
1526
+ var ackIdStr = afterType.substring(0, jsonStart);
1527
+ var parsedAckId = parseInt(ackIdStr);
1528
+ if (!isNaN(parsedAckId)) {
1529
+ hasAckId = true;
1530
+ ackId = parsedAckId;
1531
+ jsonPart = afterType.substring(jsonStart);
1532
+ }
1533
+ }
1534
+ try {
1535
+ var eventArray = JSON.parse(jsonPart);
1536
+ if (eventArray && eventArray.length >= 1) {
1537
+ var eventName = eventArray[0];
1538
+ var eventData = eventArray.length > 1 ? JSON.stringify(eventArray[1]) : "{}";
1539
+ if (eventName === "system:ping") {
1540
+ if (hasAckId) {
1541
+ socket.send("43" + ackId + "[]");
1542
+ }
1543
+ return;
1544
+ }
1545
+ if (eventName === "profile:updated") {
1546
+ if (hasAckId) {
1547
+ socket.send("43" + ackId + "[]");
1548
+ }
1549
+ if (connection.subscribedEvents.has(eventName) || connection.subscribedEvents.size === 0) {
1550
+ var eventNameLen = lengthBytesUTF8(eventName) + 1;
1551
+ var eventNamePtr = _malloc(eventNameLen);
1552
+ stringToUTF8(eventName, eventNamePtr, eventNameLen);
1553
+ var eventDataLen = lengthBytesUTF8(eventData) + 1;
1554
+ var eventDataPtr = _malloc(eventDataLen);
1555
+ stringToUTF8(eventData, eventDataPtr, eventDataLen);
1556
+ _emscripten_websocket_on_socketio_event(connectionId, eventNamePtr, eventDataPtr, false, 0);
1557
+ _free(eventNamePtr);
1558
+ _free(eventDataPtr);
1559
+ }
1560
+ return;
1561
+ }
1562
+ if (connection.subscribedEvents.has(eventName) || connection.subscribedEvents.size === 0) {
1563
+ var eventNameLen = lengthBytesUTF8(eventName) + 1;
1564
+ var eventNamePtr = _malloc(eventNameLen);
1565
+ stringToUTF8(eventName, eventNamePtr, eventNameLen);
1566
+ var eventDataLen = lengthBytesUTF8(eventData) + 1;
1567
+ var eventDataPtr = _malloc(eventDataLen);
1568
+ stringToUTF8(eventData, eventDataPtr, eventDataLen);
1569
+ _emscripten_websocket_on_socketio_event(connectionId, eventNamePtr, eventDataPtr, hasAckId, ackId);
1570
+ _free(eventNamePtr);
1571
+ _free(eventDataPtr);
1572
+ } else {
1573
+ if (hasAckId) {
1574
+ socket.send("43" + ackId + "[]");
1575
+ }
1576
+ }
1577
+ }
1578
+ } catch (e) {
1579
+ console.error("[WebSocket] Failed to parse event:", e);
1580
+ }
1581
+ return;
1582
+ }
1583
+ if (message.startsWith("44")) {
1584
+ var errorJson = message.substring(2);
1585
+ console.error("[WebSocket] Socket.IO error:", errorJson);
1586
+ var errorLen = lengthBytesUTF8(errorJson) + 1;
1587
+ var errorPtr = _malloc(errorLen);
1588
+ stringToUTF8(errorJson, errorPtr, errorLen);
1589
+ _emscripten_websocket_on_socketio_error(connectionId, 44, errorPtr);
1590
+ _free(errorPtr);
1591
+ return;
1592
+ }
1593
+ };
1594
+ } catch (e) {
1595
+ console.error("[WebSocket] Failed to create WebSocket:", e);
1596
+ var errorMsg = "Failed to create WebSocket: " + e.toString();
1597
+ var errorLen = lengthBytesUTF8(errorMsg) + 1;
1598
+ var errorPtr = _malloc(errorLen);
1599
+ stringToUTF8(errorMsg, errorPtr, errorLen);
1600
+ _emscripten_websocket_on_connection_status(connectionId, false, errorPtr);
1601
+ _free(errorPtr);
1602
+ }
1603
+ }
1604
+ function js_websocket_disconnect(connectionId) {
1605
+ if (!Module.balancyWebSockets) return;
1606
+ var connection = Module.balancyWebSockets.get(connectionId);
1607
+ if (connection && connection.socket) {
1608
+ try {
1609
+ connection.socket.close();
1610
+ } catch (e) {}
1611
+ }
1612
+ Module.balancyWebSockets.delete(connectionId);
1613
+ }
1614
+ function js_websocket_subscribe(connectionId, eventName) {
1615
+ if (!Module.balancyWebSockets) return;
1616
+ var eventNameStr = UTF8ToString(eventName);
1617
+ var connection = Module.balancyWebSockets.get(connectionId);
1618
+ if (connection) {
1619
+ connection.subscribedEvents.add(eventNameStr);
1620
+ }
1621
+ }
1622
+ function js_websocket_send_message(connectionId, eventName, data) {
1623
+ if (!Module.balancyWebSockets) return;
1624
+ var eventNameStr = UTF8ToString(eventName);
1625
+ var dataStr = UTF8ToString(data);
1626
+ var connection = Module.balancyWebSockets.get(connectionId);
1627
+ if (connection && connection.socket) {
1628
+ var message = '42["' + eventNameStr + '",' + dataStr + "]";
1629
+ connection.socket.send(message);
1630
+ }
1631
+ }
1464
1632
  function js_websocket_send_ack(connectionId, ackId, responseData) {
1465
1633
  if (!Module.balancyWebSockets) return;
1466
1634
  var responseDataStr = UTF8ToString(responseData);
@@ -7303,7 +7471,11 @@ var Balancy = function() {
7303
7471
  invoke_viiiiiiiiiiiiiii: invoke_viiiiiiiiiiiiiii,
7304
7472
  invoke_viijii: invoke_viijii,
7305
7473
  js_fetch: js_fetch,
7474
+ js_websocket_connect: js_websocket_connect,
7475
+ js_websocket_disconnect: js_websocket_disconnect,
7306
7476
  js_websocket_send_ack: js_websocket_send_ack,
7477
+ js_websocket_send_message: js_websocket_send_message,
7478
+ js_websocket_subscribe: js_websocket_subscribe,
7307
7479
  random_get: _random_get
7308
7480
  };
7309
7481
  var wasmExports;
@@ -7374,6 +7546,7 @@ var Balancy = function() {
7374
7546
  Module["__Z36jsbalancyUnsubscribeSingletonChangedNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEi"] = createExportWrapper("_Z36jsbalancyUnsubscribeSingletonChangedNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEi", 2);
7375
7547
  Module["__Z35jsbalancyClearAllSingletonCallbacksv"] = createExportWrapper("_Z35jsbalancyClearAllSingletonCallbacksv", 0);
7376
7548
  Module["__Z18jsbalancyGetUnnyIdPN7Balancy5Utils15JsonBasedObjectE"] = createExportWrapper("_Z18jsbalancyGetUnnyIdPN7Balancy5Utils15JsonBasedObjectE", 2);
7549
+ Module["__Z28jsbalancyStartAbTestManuallyPN7Balancy5Utils15JsonBasedObjectES2_"] = createExportWrapper("_Z28jsbalancyStartAbTestManuallyPN7Balancy5Utils15JsonBasedObjectES2_", 2);
7377
7550
  Module["__Z19jsbalancyGetProfileNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"] = createExportWrapper("_Z19jsbalancyGetProfileNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE", 1);
7378
7551
  Module["__Z39jsbalancyLocalization_GetLocalizedValueNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE"] = createExportWrapper("_Z39jsbalancyLocalization_GetLocalizedValueNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEE", 2);
7379
7552
  Module["__Z48jsbalancyLocalization_GetCurrentLocalizationCodev"] = createExportWrapper("_Z48jsbalancyLocalization_GetCurrentLocalizationCodev", 1);
@@ -7387,6 +7560,7 @@ var Balancy = function() {
7387
7560
  Module["__Z29jsbalancyHardPurchaseShopSlotPN7Balancy4Data8BaseDataEPNS_4Core11PaymentInfoEN10emscripten3valEb"] = createExportWrapper("_Z29jsbalancyHardPurchaseShopSlotPN7Balancy4Data8BaseDataEPNS_4Core11PaymentInfoEN10emscripten3valEb", 4);
7388
7561
  Module["__Z30jsbalancyHardPurchaseGameOfferPN7Balancy4Data8BaseDataEPNS_4Core11PaymentInfoEN10emscripten3valEb"] = createExportWrapper("_Z30jsbalancyHardPurchaseGameOfferPN7Balancy4Data8BaseDataEPNS_4Core11PaymentInfoEN10emscripten3valEb", 4);
7389
7562
  Module["__Z35jsbalancyHardPurchaseGameOfferGroupPN7Balancy4Data8BaseDataEPNS_5Utils15JsonBasedObjectEPNS_4Core11PaymentInfoEN10emscripten3valEb"] = createExportWrapper("_Z35jsbalancyHardPurchaseGameOfferGroupPN7Balancy4Data8BaseDataEPNS_5Utils15JsonBasedObjectEPNS_4Core11PaymentInfoEN10emscripten3valEb", 5);
7563
+ Module["__Z20jsbalancyGetProductsN10emscripten3valE"] = createExportWrapper("_Z20jsbalancyGetProductsN10emscripten3valE", 1);
7390
7564
  Module["__Z21jsbalancyAuth_AsGuestN10emscripten3valE"] = createExportWrapper("_Z21jsbalancyAuth_AsGuestN10emscripten3valE", 1);
7391
7565
  Module["__Z29jsbalancyAuth_NameAndPasswordNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_N10emscripten3valE"] = createExportWrapper("_Z29jsbalancyAuth_NameAndPasswordNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_N10emscripten3valE", 3);
7392
7566
  Module["__Z29jsbalancyLink_NameAndPasswordNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_bN10emscripten3valE"] = createExportWrapper("_Z29jsbalancyLink_NameAndPasswordNSt3__212basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEES5_bN10emscripten3valE", 4);
@@ -7421,9 +7595,9 @@ var Balancy = function() {
7421
7595
  Module["__Z37jsbalancyInventory_GetTotalItemsCountPN7Balancy5Utils15JsonBasedObjectE"] = createExportWrapper("_Z37jsbalancyInventory_GetTotalItemsCountPN7Balancy5Utils15JsonBasedObjectE", 1);
7422
7596
  Module["_balancyGenenal_LevelCompleted"] = createExportWrapper("balancyGenenal_LevelCompleted", 0);
7423
7597
  Module["_balancyGenenal_LevelFailed"] = createExportWrapper("balancyGenenal_LevelFailed", 0);
7424
- Module["_emscripten_websocket_on_connection_status"] = createExportWrapper("emscripten_websocket_on_connection_status", 3);
7425
- Module["_emscripten_websocket_on_socketio_event"] = createExportWrapper("emscripten_websocket_on_socketio_event", 5);
7426
- Module["_emscripten_websocket_on_socketio_error"] = createExportWrapper("emscripten_websocket_on_socketio_error", 3);
7598
+ var _emscripten_websocket_on_connection_status = Module["_emscripten_websocket_on_connection_status"] = createExportWrapper("emscripten_websocket_on_connection_status", 3);
7599
+ var _emscripten_websocket_on_socketio_event = Module["_emscripten_websocket_on_socketio_event"] = createExportWrapper("emscripten_websocket_on_socketio_event", 5);
7600
+ var _emscripten_websocket_on_socketio_error = Module["_emscripten_websocket_on_socketio_error"] = createExportWrapper("emscripten_websocket_on_socketio_error", 3);
7427
7601
  var _malloc = Module["_malloc"] = createExportWrapper("malloc", 1);
7428
7602
  var ___getTypeName = createExportWrapper("__getTypeName", 1);
7429
7603
  Module["_downloadSucceededBinary"] = createExportWrapper("downloadSucceededBinary", 3);
@@ -7532,6 +7706,12 @@ var Balancy = function() {
7532
7706
  Module["_balancyInventory_AddItems"] = createExportWrapper("balancyInventory_AddItems", 2);
7533
7707
  Module["_balancyInventory_RemoveItems"] = createExportWrapper("balancyInventory_RemoveItems", 2);
7534
7708
  Module["_balancyInventory_GetTotalItemsCount"] = createExportWrapper("balancyInventory_GetTotalItemsCount", 1);
7709
+ Module["_balancyStartAbTestManually"] = createExportWrapper("balancyStartAbTestManually", 2);
7710
+ Module["_balancyConditionCanPass"] = createExportWrapper("balancyConditionCanPass", 1);
7711
+ Module["_balancyConditionSubscribe"] = createExportWrapper("balancyConditionSubscribe", 2);
7712
+ Module["_balancyConditionUnsubscribe"] = createExportWrapper("balancyConditionUnsubscribe", 1);
7713
+ Module["_balancyConditionGetSecondsLeftBeforeDeactivation"] = createExportWrapper("balancyConditionGetSecondsLeftBeforeDeactivation", 1);
7714
+ Module["_balancyConditionGetSecondsBeforeActivation"] = createExportWrapper("balancyConditionGetSecondsBeforeActivation", 2);
7535
7715
  var _fflush = createExportWrapper("fflush", 1);
7536
7716
  var _strerror = createExportWrapper("strerror", 1);
7537
7717
  var _setThrew = createExportWrapper("setThrew", 2);
@@ -7585,6 +7765,7 @@ var Balancy = function() {
7585
7765
  Module["dynCall_viiid"] = createExportWrapper("dynCall_viiid", 5);
7586
7766
  Module["dynCall_iiiid"] = createExportWrapper("dynCall_iiiid", 5);
7587
7767
  Module["dynCall_iiiij"] = createExportWrapper("dynCall_iiiij", 6);
7768
+ Module["dynCall_fi"] = createExportWrapper("dynCall_fi", 2);
7588
7769
  var dynCall_iiiiii = Module["dynCall_iiiiii"] = createExportWrapper("dynCall_iiiiii", 6);
7589
7770
  Module["dynCall_iidd"] = createExportWrapper("dynCall_iidd", 4);
7590
7771
  Module["dynCall_didd"] = createExportWrapper("dynCall_didd", 4);