@smartico/public-api 0.0.3 → 0.0.5

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.
Files changed (123) hide show
  1. package/.nvmrc +1 -1
  2. package/README.md +23 -44
  3. package/dist/Base/ClassId.d.ts +21 -0
  4. package/dist/Base/ProtocolMessage.d.ts +5 -0
  5. package/dist/Base/ProtocolRequest.d.ts +6 -0
  6. package/dist/Base/ProtocolResponse.d.ts +5 -0
  7. package/dist/Core/GetLabelInfoRequest.d.ts +3 -0
  8. package/dist/Core/GetLabelInfoResponse.d.ts +7 -0
  9. package/dist/Core/GetTranslationsRequest.d.ts +7 -0
  10. package/dist/Core/GetTranslationsResponse.d.ts +7 -0
  11. package/dist/Core/PublicLabelSettings.d.ts +28 -0
  12. package/dist/Core/PublicProperties.d.ts +11 -0
  13. package/dist/Core/ResponseIdentify.d.ts +12 -0
  14. package/dist/Core/TranslationArea.d.ts +9 -0
  15. package/dist/Core/index.d.ts +8 -0
  16. package/dist/ErrorCodes.d.ts +12 -0
  17. package/dist/GResponse.d.ts +9 -0
  18. package/dist/ILogger.d.ts +7 -0
  19. package/dist/IntUtils.d.ts +8 -0
  20. package/dist/MiniGames/SAWAcknowledgeType.d.ts +5 -0
  21. package/dist/MiniGames/SAWAskForUsername.d.ts +4 -0
  22. package/dist/MiniGames/SAWBuyInType.d.ts +10 -0
  23. package/dist/MiniGames/SAWDoSpinRequest.d.ts +5 -0
  24. package/dist/MiniGames/SAWDoSpinResponse.d.ts +9 -0
  25. package/dist/MiniGames/SAWGameType.d.ts +10 -0
  26. package/dist/MiniGames/SAWGetTemplatesRequest.d.ts +3 -0
  27. package/dist/MiniGames/SAWGetTemplatesResponse.d.ts +5 -0
  28. package/dist/MiniGames/SAWPrize.d.ts +11 -0
  29. package/dist/MiniGames/SAWPrizeType.d.ts +8 -0
  30. package/dist/MiniGames/SAWPrizeUI.d.ts +13 -0
  31. package/dist/MiniGames/SAWSpinErrorCode.d.ts +7 -0
  32. package/dist/MiniGames/SAWTemplate.d.ts +26 -0
  33. package/dist/MiniGames/SAWTemplateUI.d.ts +28 -0
  34. package/dist/MiniGames/SAWUtils.d.ts +5 -0
  35. package/dist/MiniGames/SAWWinSoundType.d.ts +12 -0
  36. package/dist/MiniGames/index.d.ts +17 -0
  37. package/dist/OCache.d.ts +11 -0
  38. package/dist/SmarticoAPI.d.ts +35 -0
  39. package/dist/SmarticoPublicAPI.d.ts +23 -0
  40. package/dist/index.d.ts +6 -2
  41. package/dist/index.js +576 -219
  42. package/dist/index.js.map +1 -1
  43. package/dist/index.modern.mjs +417 -218
  44. package/dist/index.modern.mjs.map +1 -1
  45. package/dist/service/index.d.ts +3 -2
  46. package/dist/service/types/ErrorCodes.d.ts +13 -0
  47. package/dist/service/types/GRequest.d.ts +16 -0
  48. package/dist/service/types/GResponse.d.ts +10 -0
  49. package/dist/service/types/Game/GameAttemptType.d.ts +6 -0
  50. package/{src/service/types/Game/GameCanPlayType.ts → dist/service/types/Game/GameCanPlayType.d.ts} +10 -11
  51. package/dist/service/types/Game/GameExternalStatus.d.ts +6 -0
  52. package/{src/service/types/Game/GameInfo.ts → dist/service/types/Game/GameInfo.d.ts} +9 -11
  53. package/{src/service/types/Game/GamePick.ts → dist/service/types/Game/GamePick.d.ts} +90 -104
  54. package/dist/service/types/Game/GameUtil.d.ts +7 -0
  55. package/{src/service/types/SmarticoProto/GetTranslationsRequest.ts → dist/service/types/SmarticoProto/GetTranslationsRequest.d.ts} +7 -9
  56. package/dist/service/types/SmarticoProto/GetTranslationsResponse.d.ts +7 -0
  57. package/dist/service/types/SmarticoProto/ProtocolMessage.d.ts +5 -0
  58. package/dist/service/types/SmarticoProto/ProtocolRequest.d.ts +6 -0
  59. package/dist/service/types/SmarticoProto/ProtocolResponse.d.ts +5 -0
  60. package/dist/service/types/SmarticoProto/PublicLabelInfo.d.ts +34 -0
  61. package/dist/service/types/SmarticoProto/PublicProperties.d.ts +11 -0
  62. package/{src/service/types/SmarticoProto/ResponseIdentify.ts → dist/service/types/SmarticoProto/ResponseIdentify.d.ts} +12 -16
  63. package/dist/service/types/SmarticoProto/SAW/SAWAcknowledgeType.d.ts +5 -0
  64. package/{src/service/types/SmarticoProto/SAW/SAWBuyInType.ts → dist/service/types/SmarticoProto/SAW/SAWBuyInType.d.ts} +5 -5
  65. package/{src/service/types/SmarticoProto/SAW/SAWDoSpinRequest.ts → dist/service/types/SmarticoProto/SAW/SAWDoSpinRequest.d.ts} +5 -8
  66. package/{src/service/types/SmarticoProto/SAW/SAWDoSpinResponse.ts → dist/service/types/SmarticoProto/SAW/SAWDoSpinResponse.d.ts} +15 -18
  67. package/dist/service/types/SmarticoProto/SAW/SAWGameType.d.ts +10 -0
  68. package/{src/service/types/SmarticoProto/SAW/SAWGetTemplatesRequest.ts → dist/service/types/SmarticoProto/SAW/SAWGetTemplatesRequest.d.ts} +3 -5
  69. package/{src/service/types/SmarticoProto/SAW/SAWGetTemplatesResponse.ts → dist/service/types/SmarticoProto/SAW/SAWGetTemplatesResponse.d.ts} +5 -8
  70. package/dist/service/types/SmarticoProto/SAW/SAWPrize.d.ts +11 -0
  71. package/dist/service/types/SmarticoProto/SAW/SAWPrizeType.d.ts +8 -0
  72. package/dist/service/types/SmarticoProto/SAW/SAWPrizeUI.d.ts +13 -0
  73. package/dist/service/types/SmarticoProto/SAW/SAWTemplate.d.ts +21 -0
  74. package/{src/service/types/SmarticoProto/SAW/SAWTemplateUI.ts → dist/service/types/SmarticoProto/SAW/SAWTemplateUI.d.ts} +31 -33
  75. package/dist/service/types/SmarticoProto/SAW/SAWWinSoundType.d.ts +12 -0
  76. package/dist/service/types/SmarticoProto/TranslationArea.d.ts +9 -0
  77. package/{src/service/types/User/UserInfo.ts → dist/service/types/User/UserInfo.d.ts} +10 -12
  78. package/package.json +10 -3
  79. package/src/Base/ClassId.ts +26 -0
  80. package/src/{service/types/SmarticoProto → Base}/ProtocolMessage.ts +0 -0
  81. package/src/{service/types/SmarticoProto → Base}/ProtocolRequest.ts +0 -0
  82. package/src/{service/types/SmarticoProto → Base}/ProtocolResponse.ts +0 -0
  83. package/src/Core/GetLabelInfoRequest.ts +5 -0
  84. package/src/Core/GetLabelInfoResponse.ts +6 -0
  85. package/src/Core/GetTranslationsRequest.ts +10 -0
  86. package/src/{service/types/SmarticoProto → Core}/GetTranslationsResponse.ts +1 -1
  87. package/src/{service/types/SmarticoProto/PublicLabelInfo.ts → Core/PublicLabelSettings.ts} +1 -6
  88. package/src/{service/types/SmarticoProto → Core}/PublicProperties.ts +0 -0
  89. package/src/Core/ResponseIdentify.ts +14 -0
  90. package/src/{service/types/SmarticoProto → Core}/TranslationArea.ts +1 -1
  91. package/src/Core/index.ts +18 -0
  92. package/src/{service/types/ErrorCodes.ts → ErrorCodes.ts} +1 -3
  93. package/src/{service/types/GResponse.ts → GResponse.ts} +0 -0
  94. package/src/ILogger.ts +11 -0
  95. package/src/IntUtils.ts +39 -0
  96. package/src/{service/types/SmarticoProto/SAW → MiniGames}/SAWAcknowledgeType.ts +0 -0
  97. package/src/MiniGames/SAWAskForUsername.ts +5 -0
  98. package/src/MiniGames/SAWBuyInType.ts +11 -0
  99. package/src/MiniGames/SAWDoSpinRequest.ts +8 -0
  100. package/src/MiniGames/SAWDoSpinResponse.ts +11 -0
  101. package/src/{service/types/SmarticoProto/SAW → MiniGames}/SAWGameType.ts +2 -2
  102. package/src/MiniGames/SAWGetTemplatesRequest.ts +5 -0
  103. package/src/MiniGames/SAWGetTemplatesResponse.ts +8 -0
  104. package/src/{service/types/SmarticoProto/SAW → MiniGames}/SAWPrize.ts +0 -0
  105. package/src/{service/types/SmarticoProto/SAW → MiniGames}/SAWPrizeType.ts +0 -0
  106. package/src/{service/types/SmarticoProto/SAW → MiniGames}/SAWPrizeUI.ts +0 -0
  107. package/src/MiniGames/SAWSpinErrorCode.ts +8 -0
  108. package/src/{service/types/SmarticoProto/SAW → MiniGames}/SAWTemplate.ts +5 -0
  109. package/src/MiniGames/SAWTemplateUI.ts +31 -0
  110. package/src/MiniGames/SAWUtils.ts +31 -0
  111. package/src/{service/types/SmarticoProto/SAW → MiniGames}/SAWWinSoundType.ts +0 -0
  112. package/src/MiniGames/index.ts +35 -0
  113. package/src/OCache.ts +54 -0
  114. package/src/SmarticoAPI.ts +296 -0
  115. package/src/index.ts +12 -2
  116. package/tsconfig.json +17 -0
  117. package/src/service/index.ts +0 -12
  118. package/src/service/types/GRequest.ts +0 -18
  119. package/src/service/types/Game/GameAttemptType.ts +0 -8
  120. package/src/service/types/Game/GameExternalStatus.ts +0 -7
  121. package/src/service/types/Game/GameUtil.ts +0 -30
  122. package/src/util/Util.ts +0 -306
  123. package/test/package.json +0 -11
package/dist/index.js CHANGED
@@ -1,269 +1,626 @@
1
- var md5Typescript = require('md5-typescript');
2
- var typescriptMap = require('typescript-map');
1
+ var superagent = require('superagent');
2
+ var NodeCache = require('node-cache');
3
3
 
4
- var Util = /*#__PURE__*/function () {
5
- function Util() {}
6
- Util.isNumber = function isNumber(value) {
7
- return /^\d+$/.test(value);
8
- };
9
- Util.parseNumber = function parseNumber(v) {
10
- if (Util.isNotEmpty(v)) {
11
- var result = parseFloat(v);
12
- if (isNaN(result)) {
13
- return null;
14
- }
15
- return result;
4
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
5
+
6
+ function _interopNamespace(e) {
7
+ if (e && e.__esModule) return e;
8
+ var n = Object.create(null);
9
+ if (e) {
10
+ Object.keys(e).forEach(function (k) {
11
+ if (k !== 'default') {
12
+ var d = Object.getOwnPropertyDescriptor(e, k);
13
+ Object.defineProperty(n, k, d.get ? d : {
14
+ enumerable: true,
15
+ get: function () { return e[k]; }
16
+ });
17
+ }
18
+ });
16
19
  }
17
- return null;
18
- };
19
- Util.parseBoolean = function parseBoolean(v) {
20
- return v === "true" || v === true ? true : v === "false" || v === false ? false : null;
21
- };
22
- Util.escapeRegExp = function escapeRegExp(v) {
23
- if (Util.isNotEmpty(v)) {
24
- return v.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
20
+ n["default"] = e;
21
+ return n;
22
+ }
23
+
24
+ var superagent__namespace = /*#__PURE__*/_interopNamespace(superagent);
25
+ var NodeCache__default = /*#__PURE__*/_interopDefaultLegacy(NodeCache);
26
+
27
+ exports.ClassId = void 0;
28
+ (function (ClassId) {
29
+ ClassId[ClassId["GET_LABEL_INFO"] = 3] = "GET_LABEL_INFO";
30
+ ClassId[ClassId["GET_LABEL_INFO_RESPONSE"] = 4] = "GET_LABEL_INFO_RESPONSE";
31
+ ClassId[ClassId["IDENTIFY"] = 5] = "IDENTIFY";
32
+ ClassId[ClassId["IDENTIFY_RESPONSE"] = 6] = "IDENTIFY_RESPONSE";
33
+ ClassId[ClassId["EVENT"] = 9] = "EVENT";
34
+ ClassId[ClassId["EVENT_RESPONSE"] = 10] = "EVENT_RESPONSE";
35
+ ClassId[ClassId["GET_TRANSLATIONS_REQUEST"] = 13] = "GET_TRANSLATIONS_REQUEST";
36
+ ClassId[ClassId["GET_TRANSLATIONS_RESPONSE"] = 14] = "GET_TRANSLATIONS_RESPONSE";
37
+ ClassId[ClassId["CHANGE_USERNAME"] = 159] = "CHANGE_USERNAME";
38
+ ClassId[ClassId["CHANGE_USERNAME_RESPONSE"] = 160] = "CHANGE_USERNAME_RESPONSE";
39
+ ClassId[ClassId["SAW_GET_SPINS_REQUEST"] = 700] = "SAW_GET_SPINS_REQUEST";
40
+ ClassId[ClassId["SAW_GET_SPINS_RESPONSE"] = 701] = "SAW_GET_SPINS_RESPONSE";
41
+ ClassId[ClassId["SAW_DO_SPIN_REQUEST"] = 702] = "SAW_DO_SPIN_REQUEST";
42
+ ClassId[ClassId["SAW_DO_SPIN_RESPONSE"] = 703] = "SAW_DO_SPIN_RESPONSE";
43
+ ClassId[ClassId["SAW_AKNOWLEDGE_REQUEST"] = 704] = "SAW_AKNOWLEDGE_REQUEST";
44
+ ClassId[ClassId["SAW_AKNOWLEDGE_RESPONSE"] = 705] = "SAW_AKNOWLEDGE_RESPONSE";
45
+ ClassId[ClassId["SAW_SPINS_COUNT_PUSH"] = 706] = "SAW_SPINS_COUNT_PUSH";
46
+ ClassId[ClassId["SAW_SHOW_SPIN_PUSH"] = 707] = "SAW_SHOW_SPIN_PUSH";
47
+ ClassId[ClassId["UNSUPPORTED_COMMAND"] = 99999] = "UNSUPPORTED_COMMAND";
48
+ })(exports.ClassId || (exports.ClassId = {}));
49
+
50
+ function _extends() {
51
+ _extends = Object.assign ? Object.assign.bind() : function (target) {
52
+ for (var i = 1; i < arguments.length; i++) {
53
+ var source = arguments[i];
54
+ for (var key in source) {
55
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
56
+ target[key] = source[key];
57
+ }
58
+ }
25
59
  }
26
- return v;
27
- };
28
- Util.nullToEmpty = function nullToEmpty(val) {
29
- return this.isNotEmpty(val) ? val : "";
30
- };
31
- Util.nullTo0 = function nullTo0(val) {
32
- return this.isNotNull(val) ? val : 0;
33
- };
34
- Util.isNotEmpty = function isNotEmpty(val) {
35
- return typeof val !== "undefined" && val !== null && val.length > 0;
36
- };
37
- Util.isNotNull = function isNotNull(val) {
60
+ return target;
61
+ };
62
+ return _extends.apply(this, arguments);
63
+ }
64
+ function _unsupportedIterableToArray(o, minLen) {
65
+ if (!o) return;
66
+ if (typeof o === "string") return _arrayLikeToArray(o, minLen);
67
+ var n = Object.prototype.toString.call(o).slice(8, -1);
68
+ if (n === "Object" && o.constructor) n = o.constructor.name;
69
+ if (n === "Map" || n === "Set") return Array.from(o);
70
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
71
+ }
72
+ function _arrayLikeToArray(arr, len) {
73
+ if (len == null || len > arr.length) len = arr.length;
74
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
75
+ return arr2;
76
+ }
77
+ function _createForOfIteratorHelperLoose(o, allowArrayLike) {
78
+ var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
79
+ if (it) return (it = it.call(o)).next.bind(it);
80
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
81
+ if (it) o = it;
82
+ var i = 0;
83
+ return function () {
84
+ if (i >= o.length) return {
85
+ done: true
86
+ };
87
+ return {
88
+ done: false,
89
+ value: o[i++]
90
+ };
91
+ };
92
+ }
93
+ throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
94
+ }
95
+
96
+ var IntUtils = /*#__PURE__*/function () {
97
+ function IntUtils() {}
98
+ IntUtils.uuid = function uuid() {
99
+ var a;
100
+ var b;
101
+ for (b = a = ""; a++ < 36; b += a * 51 & 52 ? (a ^ 15 ? 8 ^ Math.random() * (a ^ 20 ? 16 : 4) : 4).toString(16) : "-") {}
102
+ return b;
103
+ };
104
+ IntUtils.isNotNull = function isNotNull(val) {
38
105
  return typeof val !== "undefined" && val !== null;
39
106
  };
40
- Util.isNull = function isNull(val) {
41
- return typeof val === "undefined" || val === null;
42
- };
43
- Util.isArrayNotEmpty = function isArrayNotEmpty(val) {
107
+ IntUtils.isNotEmpty = function isNotEmpty(val) {
44
108
  return typeof val !== "undefined" && val !== null && val.length > 0;
45
109
  };
46
- Util.isArrayEmpty = function isArrayEmpty(val) {
47
- return typeof val === "undefined" || val === null || val.length === 0;
48
- };
49
- Util.isObjectEmpty = function isObjectEmpty(val) {
50
- return Util.isNull(val) || Object.keys(val).length === 0 && val.constructor === Object;
51
- };
52
- Util.isMapNotEmpty = function isMapNotEmpty(val) {
53
- return typeof val !== "undefined" && val !== null && (val.size() > 0 || val.keys().length > 0);
54
- };
55
- Util.isMapEmpty = function isMapEmpty(val) {
56
- return typeof val === "undefined" || val === null || val.size() === 0 || val.keys().length === 0;
110
+ IntUtils.replaceAll = function replaceAll(value, regex, replacement) {
111
+ if (IntUtils.isNotNull(value)) {
112
+ return value.replace(new RegExp(IntUtils.escapeRegExp(regex), "g"), replacement == null ? void 0 : replacement.toString());
113
+ }
114
+ return value;
57
115
  };
58
- Util.objectToMap = function objectToMap(obj) {
59
- if (Util.isNotNull(obj)) {
60
- var map = new typescriptMap.TSMap();
61
- Object.keys(obj).forEach(function (key) {
62
- map.set(key, obj[key]);
63
- });
64
- return map;
116
+ IntUtils.escapeRegExp = function escapeRegExp(v) {
117
+ if (IntUtils.isNotEmpty(v)) {
118
+ return v.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
65
119
  }
66
- return null;
120
+ return v;
67
121
  };
68
- Util.keyByValue = function keyByValue(obj, value) {
69
- for (var prop in obj) {
70
- if (obj.hasOwnProperty(prop)) {
71
- if (obj[prop] === value) {
72
- return prop;
73
- }
122
+ return IntUtils;
123
+ }();
124
+
125
+ var _SAWBuyInTypeName;
126
+ exports.SAWBuyInType = void 0;
127
+ (function (SAWBuyInType) {
128
+ SAWBuyInType[SAWBuyInType["Free"] = 1] = "Free";
129
+ SAWBuyInType[SAWBuyInType["Points"] = 2] = "Points";
130
+ SAWBuyInType[SAWBuyInType["Spins"] = 3] = "Spins";
131
+ })(exports.SAWBuyInType || (exports.SAWBuyInType = {}));
132
+ var SAWBuyInTypeName = (_SAWBuyInTypeName = {}, _SAWBuyInTypeName[exports.SAWBuyInType.Free] = "free", _SAWBuyInTypeName[exports.SAWBuyInType.Points] = "points", _SAWBuyInTypeName[exports.SAWBuyInType.Spins] = "spins", _SAWBuyInTypeName);
133
+
134
+ var SAWUtils = function SAWUtils() {};
135
+ SAWUtils.canPlay = function (t, pointsBalance) {
136
+ if (t === null || t === undefined) {
137
+ return false;
138
+ }
139
+ switch (t.saw_buyin_type_id) {
140
+ case exports.SAWBuyInType.Free:
141
+ {
142
+ return true;
143
+ }
144
+ case exports.SAWBuyInType.Spins:
145
+ {
146
+ return t.spin_count !== null && t.spin_count > 0;
147
+ }
148
+ case exports.SAWBuyInType.Points:
149
+ {
150
+ return t.buyin_cost_points <= pointsBalance;
151
+ }
152
+ default:
153
+ {
154
+ console.error("MiniGamesUtils.canPlay: Unknwon SAW buyin type " + t.saw_buyin_type_id);
155
+ return false;
74
156
  }
157
+ }
158
+ };
159
+
160
+ exports.SAWAcknowledgeType = void 0;
161
+ (function (SAWAcknowledgeType) {
162
+ SAWAcknowledgeType[SAWAcknowledgeType["Silent"] = 1] = "Silent";
163
+ SAWAcknowledgeType[SAWAcknowledgeType["QuickMessage"] = 2] = "QuickMessage";
164
+ SAWAcknowledgeType[SAWAcknowledgeType["FullMessage"] = 3] = "FullMessage";
165
+ })(exports.SAWAcknowledgeType || (exports.SAWAcknowledgeType = {}));
166
+
167
+ exports.SAWAskForUsername = void 0;
168
+ (function (SAWAskForUsername) {
169
+ SAWAskForUsername["NOASK"] = "no-ask";
170
+ SAWAskForUsername["ONSUMBIT"] = "on-submit";
171
+ })(exports.SAWAskForUsername || (exports.SAWAskForUsername = {}));
172
+
173
+ var _SAWGameTypeName;
174
+ exports.SAWGameType = void 0;
175
+ (function (SAWGameType) {
176
+ SAWGameType[SAWGameType["SpinAWheel"] = 1] = "SpinAWheel";
177
+ SAWGameType[SAWGameType["ScratchCard"] = 2] = "ScratchCard";
178
+ SAWGameType[SAWGameType["MatchX"] = 3] = "MatchX";
179
+ })(exports.SAWGameType || (exports.SAWGameType = {}));
180
+ var SAWGameTypeName = (_SAWGameTypeName = {}, _SAWGameTypeName[exports.SAWGameType.SpinAWheel] = "wheel", _SAWGameTypeName[exports.SAWGameType.ScratchCard] = "scratch", _SAWGameTypeName[exports.SAWGameType.MatchX] = "matchx", _SAWGameTypeName);
181
+
182
+ exports.SAWPrizeType = void 0;
183
+ (function (SAWPrizeType) {
184
+ SAWPrizeType[SAWPrizeType["NO_PRIZE"] = 1] = "NO_PRIZE";
185
+ SAWPrizeType[SAWPrizeType["POINTS"] = 2] = "POINTS";
186
+ SAWPrizeType[SAWPrizeType["BONUS"] = 3] = "BONUS";
187
+ SAWPrizeType[SAWPrizeType["MANUAL"] = 4] = "MANUAL";
188
+ SAWPrizeType[SAWPrizeType["SPIN"] = 5] = "SPIN";
189
+ SAWPrizeType[SAWPrizeType["JACKPOT"] = 6] = "JACKPOT";
190
+ })(exports.SAWPrizeType || (exports.SAWPrizeType = {}));
191
+
192
+ exports.SAWSpinErrorCode = void 0;
193
+ (function (SAWSpinErrorCode) {
194
+ SAWSpinErrorCode[SAWSpinErrorCode["SAW_OK"] = 0] = "SAW_OK";
195
+ SAWSpinErrorCode[SAWSpinErrorCode["SAW_NO_SPINS"] = 40001] = "SAW_NO_SPINS";
196
+ SAWSpinErrorCode[SAWSpinErrorCode["SAW_PRIZE_POOL_EMPTY"] = 40002] = "SAW_PRIZE_POOL_EMPTY";
197
+ SAWSpinErrorCode[SAWSpinErrorCode["SAW_NOT_ENOUGH_POINTS"] = 40003] = "SAW_NOT_ENOUGH_POINTS";
198
+ SAWSpinErrorCode[SAWSpinErrorCode["SAW_FAILED_MAX_SPINS_REACHED"] = 40004] = "SAW_FAILED_MAX_SPINS_REACHED";
199
+ })(exports.SAWSpinErrorCode || (exports.SAWSpinErrorCode = {}));
200
+
201
+ var _SAWWinSoundFiles;
202
+ exports.SAWWinSoundType = void 0;
203
+ (function (SAWWinSoundType) {
204
+ SAWWinSoundType[SAWWinSoundType["Disappointing"] = 1] = "Disappointing";
205
+ SAWWinSoundType[SAWWinSoundType["Positive"] = 2] = "Positive";
206
+ SAWWinSoundType[SAWWinSoundType["HighlyPositive"] = 3] = "HighlyPositive";
207
+ SAWWinSoundType[SAWWinSoundType["NoSound"] = 4] = "NoSound";
208
+ })(exports.SAWWinSoundType || (exports.SAWWinSoundType = {}));
209
+ var SAWWinSoundFiles = (_SAWWinSoundFiles = {}, _SAWWinSoundFiles[exports.SAWWinSoundType.NoSound] = null, _SAWWinSoundFiles[exports.SAWWinSoundType.Disappointing] = "saw-disappointed.m4a", _SAWWinSoundFiles[exports.SAWWinSoundType.Positive] = "saw-positive.m4a", _SAWWinSoundFiles[exports.SAWWinSoundType.HighlyPositive] = "saw-highly-positive.m4a", _SAWWinSoundFiles);
210
+
211
+ var ECacheContext;
212
+ (function (ECacheContext) {
213
+ ECacheContext[ECacheContext["Translations"] = 0] = "Translations";
214
+ ECacheContext[ECacheContext["LabelInfo"] = 1] = "LabelInfo";
215
+ })(ECacheContext || (ECacheContext = {}));
216
+ var WITH_REF_CACHE = [ECacheContext.Translations];
217
+ var OCache = /*#__PURE__*/function () {
218
+ function OCache() {}
219
+ OCache.get = function get(oKey, cacheContext) {
220
+ var key = cacheContext.toString() + '_' + JSON.stringify(oKey);
221
+ if (this.cache[cacheContext] === undefined) {
222
+ this.cache[cacheContext] = new NodeCache__default["default"]({
223
+ useClones: !WITH_REF_CACHE.includes(cacheContext)
224
+ });
75
225
  }
76
- return null;
77
- };
78
- Util.greaterThen0 = function greaterThen0(val) {
79
- return this.isNotNull(val) && val > 0;
80
- };
81
- Util.not0 = function not0(val) {
82
- return this.isNotNull(val) && val !== 0;
83
- };
84
- Util.lessThen0 = function lessThen0(val) {
85
- return this.isNotNull(val) && val < 0;
226
+ return this.cache[cacheContext].get(key);
86
227
  };
87
- Util.compareUndefined = function compareUndefined(o1, o2) {
88
- if (this.isNotNull(o1) && this.isNull(o2)) {
89
- return -1;
228
+ OCache.set = function set(oKey, o, cacheContext, ttlSeconds) {
229
+ if (ttlSeconds === void 0) {
230
+ ttlSeconds = 60;
90
231
  }
91
- if (this.isNull(o1) && this.isNotNull(o2)) {
92
- return 1;
93
- }
94
- return 0;
232
+ var key = cacheContext.toString() + '_' + JSON.stringify(oKey);
233
+ this.cache[cacheContext].set(key, o, ttlSeconds);
95
234
  };
96
- Util.compareArrayLength = function compareArrayLength(o1, o2) {
97
- var result = Util.compareUndefined(o1, o2);
98
- if (result === 0 && Util.isNotNull(o1) && Util.isNotNull(o2)) {
99
- return o1.length < o2.length ? -1 : o1.length > o2.length ? 1 : 0;
235
+ OCache.use = function use(oKey, cacheContext, f, ttlSeconds) {
236
+ if (ttlSeconds === void 0) {
237
+ ttlSeconds = 60;
100
238
  }
101
- return result;
102
- };
103
- Util.compareObject = function compareObject(a, b) {
104
- for (var key in a) {
105
- if (!(key in b) || a[key] !== b[key]) {
106
- return false;
239
+ try {
240
+ if (ttlSeconds <= 0) {
241
+ return Promise.resolve(f());
242
+ } else {
243
+ var o = OCache.get(oKey, cacheContext);
244
+ var _temp = function () {
245
+ if (o === undefined) {
246
+ return Promise.resolve(f()).then(function (_f2) {
247
+ o = _f2;
248
+ OCache.set(oKey, o, cacheContext, ttlSeconds);
249
+ });
250
+ }
251
+ }();
252
+ return Promise.resolve(_temp && _temp.then ? _temp.then(function () {
253
+ return o;
254
+ }) : o);
107
255
  }
256
+ } catch (e) {
257
+ return Promise.reject(e);
108
258
  }
109
- for (var _key in b) {
110
- if (!(_key in a) || a[_key] !== b[_key]) {
111
- return false;
259
+ };
260
+ OCache.clear = function clear(cacheContext) {
261
+ try {
262
+ var _this = this;
263
+ if (_this.cache[cacheContext]) {
264
+ _this.cache[cacheContext].flushAll();
112
265
  }
266
+ return Promise.resolve();
267
+ } catch (e) {
268
+ return Promise.reject(e);
113
269
  }
114
- return true;
115
270
  };
116
- Util.compareArrays = function compareArrays(arr1, arr2, comparator) {
117
- Util.checkNotNull(comparator);
118
- var result = this.compareArrayLength(arr1, arr2);
119
- if (result === 0 && Util.isNotNull(arr1) && Util.isNotNull(arr2)) {
120
- for (var i = 0; i < arr1.length; i++) {
121
- result = comparator(arr1[i], arr2[i]);
122
- if (result !== 0) {
123
- break;
271
+ return OCache;
272
+ }();
273
+ OCache.cache = {};
274
+
275
+ function _catch(body, recover) {
276
+ try {
277
+ var result = body();
278
+ } catch (e) {
279
+ return recover(e);
280
+ }
281
+ if (result && result.then) {
282
+ return result.then(void 0, recover);
283
+ }
284
+ return result;
285
+ }
286
+ var PUBLIC_API_URL = 'https://papi{ENV_ID}.smartico.ai/services/public';
287
+ var AVATAR_DOMAIN = 'https://img{ENV_ID}.smr.vc';
288
+ var SmarticoAPI = /*#__PURE__*/function () {
289
+ function SmarticoAPI(label_api_key, brand_api_key, options) {
290
+ if (options === void 0) {
291
+ options = {};
292
+ }
293
+ this.label_api_key = void 0;
294
+ this.brand_api_key = void 0;
295
+ this.publicUrl = void 0;
296
+ this.avatarDomain = void 0;
297
+ this.logger = void 0;
298
+ this.logCIDs = void 0;
299
+ this.logHTTPTiming = void 0;
300
+ this.label_api_key = label_api_key;
301
+ this.brand_api_key = brand_api_key;
302
+ this.logger = options.logger || console;
303
+ if (this.logger.always === undefined) {
304
+ this.logger.always = this.logger.info;
305
+ }
306
+ this.logCIDs = options.logCIDs || [];
307
+ this.logHTTPTiming = options.logHTTPTiming || false;
308
+ var ENV_ID = this.label_api_key.length === 38 ? label_api_key.substring(37, 38) : '';
309
+ if (ENV_ID === '1' || ENV_ID === '2') {
310
+ ENV_ID = '';
311
+ }
312
+ label_api_key = label_api_key.substring(0, 36);
313
+ this.publicUrl = PUBLIC_API_URL.replace('{ENV_ID}', ENV_ID);
314
+ this.avatarDomain = AVATAR_DOMAIN.replace('{ENV_ID}', ENV_ID);
315
+ }
316
+ var _proto = SmarticoAPI.prototype;
317
+ _proto.send = function send(message, expectCID) {
318
+ try {
319
+ var _temp2 = function _temp2(_result) {
320
+ if (_exit) return _result;
321
+ if (_this.logCIDs.includes(message.cid)) {
322
+ _this.logger.info('RES', result);
124
323
  }
324
+ if (expectCID) {
325
+ if (Array.isArray(result)) {
326
+ for (var _iterator = _createForOfIteratorHelperLoose(result), _step; !(_step = _iterator()).done;) {
327
+ var str = _step.value;
328
+ var obj = JSON.parse(str);
329
+ if (_this.logCIDs.includes(obj.cid)) {
330
+ _this.logger.info('RES', result);
331
+ }
332
+ if (obj.cid === expectCID) {
333
+ return obj;
334
+ }
335
+ }
336
+ _this.logger.error("Cant find proper response in array, expected CID " + expectCID, {
337
+ request: message,
338
+ response: result
339
+ });
340
+ } else {
341
+ return result;
342
+ }
343
+ } else {
344
+ if (Array.isArray(result)) {
345
+ if (result.length === 1) {
346
+ var _obj = JSON.parse(result[0]);
347
+ if (_this.logCIDs.includes(_obj.cid)) {
348
+ _this.logger.info('RES', result);
349
+ }
350
+ return _obj;
351
+ } else {
352
+ _this.logger.error('Expected one response, but got array', {
353
+ request: message,
354
+ response: result
355
+ });
356
+ }
357
+ }
358
+ return result;
359
+ }
360
+ };
361
+ var _exit;
362
+ var _this = this;
363
+ if (_this.logCIDs.includes(message.cid)) {
364
+ _this.logger.info('REQ', message);
125
365
  }
366
+ var result;
367
+ var _temp = _catch(function () {
368
+ var timeStart = new Date().getTime();
369
+ return Promise.resolve(superagent__namespace.post(_this.publicUrl).send(message)).then(function (res) {
370
+ // const res = await superagent.post('http://channel01.int.smartico.ai:81/services/public').send(message);
371
+ var timeEnd = new Date().getTime();
372
+ if (_this.logHTTPTiming) {
373
+ _this.logger.always('HTTP time, ms:' + (timeEnd - timeStart));
374
+ }
375
+ result = JSON.parse(res.text);
376
+ });
377
+ }, function (e) {
378
+ _this.logger.error("Failed to make request to smartico channel. " + e.message, {
379
+ url: _this.publicUrl,
380
+ request: message,
381
+ error: e.message
382
+ });
383
+ throw new Error("Failed to make request to smartico channel. " + e.message);
384
+ });
385
+ return Promise.resolve(_temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp));
386
+ } catch (e) {
387
+ return Promise.reject(e);
126
388
  }
127
- return result;
128
389
  };
129
- Util.compareBool = function compareBool(o1, o2) {
130
- var result = this.compareUndefined(o1, o2);
131
- if (result === 0 && this.isNotNull(o1) && this.isNotNull(o2)) {
132
- return Boolean(o2) - Boolean(o1);
390
+ _proto.buildMessage = function buildMessage(user_ext_id, cid, payload) {
391
+ if (payload === void 0) {
392
+ payload = {};
133
393
  }
134
- return result;
135
- };
136
- Util.compareNumber = function compareNumber(o1, o2) {
137
- var result = this.compareUndefined(o1, o2);
138
- if (result === 0 && this.isNotNull(o1) && this.isNotNull(o2)) {
139
- return o1 === o2 ? 0 : o1 < o2 ? -1 : 1;
394
+ var message = _extends({
395
+ api_key: this.label_api_key,
396
+ brand_key: this.brand_api_key,
397
+ ext_user_id: user_ext_id,
398
+ cid: cid,
399
+ uuid: IntUtils.uuid(),
400
+ ts: new Date().getTime()
401
+ }, payload);
402
+ if (message.ext_user_id === undefined || message.ext_user_id === null) {
403
+ delete message.ext_user_id;
140
404
  }
141
- return result;
405
+ return message;
142
406
  };
143
- Util.compareString = function compareString(o1, o2) {
144
- var result = Util.compareUndefined(o1, o2);
145
- if (result === 0 && Util.isNotNull(o1) && Util.isNotNull(o2)) {
146
- return o1 < o2 ? -1 : o1 > o2 ? 1 : 0;
407
+ _proto.coreReportCustomEvent = function coreReportCustomEvent(user_ext_id, eventType, payload) {
408
+ if (payload === void 0) {
409
+ payload = {};
410
+ }
411
+ try {
412
+ var _this2 = this;
413
+ var eventMessage = _this2.buildMessage(user_ext_id, exports.ClassId.EVENT, {
414
+ eventType: eventType,
415
+ payload: payload
416
+ });
417
+ return Promise.resolve(_this2.send(eventMessage, exports.ClassId.EVENT_RESPONSE));
418
+ } catch (e) {
419
+ return Promise.reject(e);
147
420
  }
148
- return result;
149
- };
150
- Util.range = function range(from, to) {
151
- return Array(to - from + 1).fill(null).map(function (_, idx) {
152
- return from + idx;
153
- });
154
421
  };
155
- Util.has = function has(array, val) {
156
- if (Util.isArrayNotEmpty(array) && Util.isNotNull(val)) {
157
- for (var i = 0; i < array.length; i++) {
158
- if (array[i] === val) {
159
- return true;
422
+ _proto.coreGetTranslations = function coreGetTranslations(user_ext_id, lang_code, areas, cacheSec) {
423
+ if (cacheSec === void 0) {
424
+ cacheSec = 60;
425
+ }
426
+ try {
427
+ var _this3 = this;
428
+ return Promise.resolve(OCache.use(lang_code + "-" + _this3.label_api_key + "-" + _this3.brand_api_key, ECacheContext.Translations, function () {
429
+ try {
430
+ var tsBaseRQ = _this3.buildMessage(user_ext_id, exports.ClassId.GET_TRANSLATIONS_REQUEST, {
431
+ lang_code: "EN",
432
+ hash_code: 0,
433
+ areas: areas
434
+ });
435
+ return Promise.resolve(_this3.send(tsBaseRQ)).then(function (trBase) {
436
+ var _temp3 = function () {
437
+ if (lang_code !== "EN") {
438
+ var trUserRQ = _this3.buildMessage(user_ext_id, exports.ClassId.GET_TRANSLATIONS_REQUEST, {
439
+ lang_code: lang_code,
440
+ hash_code: 0,
441
+ areas: areas
442
+ });
443
+ return Promise.resolve(_this3.send(trUserRQ)).then(function (trUser) {
444
+ Object.keys(trUser.translations).forEach(function (k) {
445
+ trBase.translations[k] = trUser.translations[k];
446
+ });
447
+ });
448
+ }
449
+ }();
450
+ return _temp3 && _temp3.then ? _temp3.then(function () {
451
+ return trBase;
452
+ }) : trBase;
453
+ });
454
+ } catch (e) {
455
+ return Promise.reject(e);
160
456
  }
161
- }
457
+ }, cacheSec));
458
+ } catch (e) {
459
+ return Promise.reject(e);
162
460
  }
163
- return false;
164
- };
165
- Util.isEmpty = function isEmpty(val) {
166
- return typeof val === "undefined" || val === null || val.length === 0;
167
461
  };
168
- Util.checkNotNull = function checkNotNull(reference, msg) {
169
- if (Util.isNull(reference)) {
170
- throw new ReferenceError(msg);
462
+ _proto.coreIdentifyLabel = function coreIdentifyLabel(user_ext_id, cacheSec) {
463
+ if (cacheSec === void 0) {
464
+ cacheSec = 60;
171
465
  }
172
- return reference;
173
- };
174
- Util.randomInt = function randomInt(min, max) {
175
- return Math.floor(Math.random() * (max - min + 1)) + min;
176
- };
177
- Util.randomArr = function randomArr(arr) {
178
- if (Util.isArrayEmpty(arr)) {
179
- return undefined;
466
+ try {
467
+ var _this4 = this;
468
+ return Promise.resolve(OCache.use(_this4.label_api_key + " - " + _this4.brand_api_key, ECacheContext.LabelInfo, function () {
469
+ try {
470
+ var message = _this4.buildMessage(user_ext_id, exports.ClassId.GET_LABEL_INFO);
471
+ return Promise.resolve(_this4.send(message, exports.ClassId.GET_LABEL_INFO_RESPONSE));
472
+ } catch (e) {
473
+ return Promise.reject(e);
474
+ }
475
+ }, cacheSec));
476
+ } catch (e) {
477
+ return Promise.reject(e);
180
478
  }
181
- return arr[Util.randomInt(0, arr.length - 1)];
182
479
  };
183
- Util.remove = function remove(arr, item) {
184
- if (Util.isArrayNotEmpty(arr) && item) {
185
- for (var i = 0; i < arr.length; i++) {
186
- if (arr[i] === item) {
187
- arr.splice(i, 1);
188
- return true;
480
+ _proto.coreIdentifyUser = function coreIdentifyUser(user_ext_id) {
481
+ try {
482
+ var _this5 = this;
483
+ var message = _this5.buildMessage(user_ext_id, exports.ClassId.IDENTIFY, {
484
+ request_id: IntUtils.uuid() // AA: do we need request_id?
485
+ });
486
+ return Promise.resolve(_this5.send(message, exports.ClassId.IDENTIFY_RESPONSE)).then(function (r) {
487
+ if (!(r.avatar_id && r.avatar_id.startsWith('http'))) {
488
+ r.avatar_id = AVATAR_DOMAIN + '/avatar/' + r.avatar_id;
189
489
  }
190
- }
490
+ return r;
491
+ });
492
+ } catch (e) {
493
+ return Promise.reject(e);
191
494
  }
192
- return false;
193
495
  };
194
- Util.replaceAll = function replaceAll(value, regex, replacement) {
195
- if (Util.isNotNull(value)) {
196
- return value.replace(new RegExp(Util.escapeRegExp(regex), "g"), replacement);
496
+ _proto.coreChangeUsername = function coreChangeUsername(user_ext_id, public_username_custom) {
497
+ try {
498
+ var _this6 = this;
499
+ var message = _this6.buildMessage(user_ext_id, exports.ClassId.CHANGE_USERNAME, {
500
+ public_username_custom: public_username_custom
501
+ });
502
+ return Promise.resolve(_this6.send(message, exports.ClassId.CHANGE_USERNAME_RESPONSE));
503
+ } catch (e) {
504
+ return Promise.reject(e);
197
505
  }
198
- return value;
199
- };
200
- Util.to = function to(promise, errorExt) {
201
- return promise.then(function (data) {
202
- return [null, data];
203
- })["catch"](function (err) {
204
- if (errorExt) {
205
- Object.assign(err, errorExt);
206
- }
207
- return [err, undefined];
208
- });
209
- };
210
- Util.isObject = function isObject(item) {
211
- return item && typeof item === "object" && !Array.isArray(item);
212
506
  };
213
- Util.merge = function merge(target) {
214
- var sources = [].slice.call(arguments, 1);
215
- if (!sources.length) {
216
- return target;
217
- }
218
- var source = sources.shift();
219
- if (this.isObject(target) && this.isObject(source)) {
220
- for (var key in source) {
221
- if (this.isObject(source[key])) {
222
- if (!target[key]) {
223
- var _Object$assign;
224
- Object.assign(target, (_Object$assign = {}, _Object$assign[key] = {}, _Object$assign));
225
- }
226
- this.merge(target[key], source[key]);
227
- } else if (Array.isArray(source[key])) {
228
- var _Object$assign2;
229
- Object.assign(target, (_Object$assign2 = {}, _Object$assign2[key] = [].concat(source[key]), _Object$assign2));
230
- } else if (typeof source[key] !== "undefined") {
231
- var _Object$assign3;
232
- Object.assign(target, (_Object$assign3 = {}, _Object$assign3[key] = source[key], _Object$assign3));
507
+ _proto.sawGetTemplates = function sawGetTemplates(user_ext_id) {
508
+ try {
509
+ var _this7 = this;
510
+ var message = _this7.buildMessage(user_ext_id, exports.ClassId.SAW_GET_SPINS_REQUEST);
511
+ return Promise.resolve(_this7.send(message)).then(function (response) {
512
+ if (response && response.templates) {
513
+ response.templates.forEach(function (t) {
514
+ if (t.jackpot_current) {
515
+ t.saw_template_ui_definition.name = IntUtils.replaceAll(t.saw_template_ui_definition.name, '{{jackpot}}', t.jackpot_current);
516
+ t.saw_template_ui_definition.description = IntUtils.replaceAll(t.saw_template_ui_definition.description, '{{jackpot}}', t.jackpot_current);
517
+ t.saw_template_ui_definition.promo_text = IntUtils.replaceAll(t.saw_template_ui_definition.promo_text, '{{jackpot}}', t.jackpot_current);
518
+ t.prizes.forEach(function (p) {
519
+ p.saw_prize_ui_definition.name = IntUtils.replaceAll(p.saw_prize_ui_definition.name, '{{jackpot}}', t.jackpot_current);
520
+ p.saw_prize_ui_definition.aknowledge_message = IntUtils.replaceAll(p.saw_prize_ui_definition.aknowledge_message, '{{jackpot}}', t.jackpot_current);
521
+ });
522
+ }
523
+ });
233
524
  }
234
- }
525
+ return response;
526
+ });
527
+ } catch (e) {
528
+ return Promise.reject(e);
235
529
  }
236
- return this.merge.apply(this, [target].concat(sources));
237
- };
238
- Util.deepCopy = function deepCopy(source) {
239
- return JSON.parse(JSON.stringify(source));
240
- };
241
- Util.getStackTrace = function getStackTrace() {
242
- return new Error().stack;
243
530
  };
244
- Util.shuffleArray = function shuffleArray(array) {
245
- for (var i = array.length - 1; i > 0; i--) {
246
- var j = Math.floor(Math.random() * (i + 1));
247
- var _ref = [array[j], array[i]];
248
- array[i] = _ref[0];
249
- array[j] = _ref[1];
531
+ _proto.sawFormatTemplatesForWidget = function sawFormatTemplatesForWidget(templates, pointsBalance) {
532
+ try {
533
+ return Promise.resolve(templates.filter(function (r) {
534
+ return r.saw_template_id >= 1;
535
+ }).map(function (r) {
536
+ var _r$saw_skin_ui_defini, _r$saw_skin_ui_defini2;
537
+ return {
538
+ id: r.saw_template_id,
539
+ name: r.saw_template_ui_definition.name,
540
+ // description: r.saw_template_ui_definition.description,
541
+ game_type: SAWGameTypeName[r.saw_game_type_id] || 'unknown',
542
+ buyin_type: SAWBuyInTypeName[r.saw_buyin_type_id] || 'unknown',
543
+ jackpot: r.jackpot_current,
544
+ spin_count: r.spin_count,
545
+ buyin_cost_points: r.buyin_cost_points,
546
+ can_play: SAWUtils.canPlay(r, pointsBalance),
547
+ icon: (_r$saw_skin_ui_defini = r.saw_skin_ui_definition) != null && _r$saw_skin_ui_defini.skin_folder ? ((_r$saw_skin_ui_defini2 = r.saw_skin_ui_definition) == null ? void 0 : _r$saw_skin_ui_defini2.skin_folder) + '/ico.png' : "https://libs.smartico.ai/gf/images/saw/" + r.saw_skin_key + "/ico.png"
548
+ };
549
+ }));
550
+ } catch (e) {
551
+ return Promise.reject(e);
250
552
  }
251
- return array;
252
553
  };
253
- Util.buildValidationHash = function buildValidationHash(ext_user_id, ext_game_id, customer_id, secretKey) {
254
- var toHash = ext_user_id + "|" + ext_game_id + "|" + customer_id + ":" + secretKey;
255
- return md5Typescript.Md5.init(toHash);
554
+ _proto.sawSpinRequest = function sawSpinRequest(user_ext_id, saw_template_id, round_id) {
555
+ try {
556
+ var _this8 = this;
557
+ var message = _this8.buildMessage(user_ext_id, exports.ClassId.SAW_DO_SPIN_REQUEST, {
558
+ saw_template_id: saw_template_id,
559
+ request_id: IntUtils.uuid()
560
+ });
561
+ return Promise.resolve(_this8.send(message, exports.ClassId.SAW_DO_SPIN_RESPONSE)).then(function (spinAttemptResponse) {
562
+ var _SAWSpinErrorCode$SAW;
563
+ // to simulate fail
564
+ // response.errCode = SAWSpinErrorCode.SAW_NO_SPINS;
565
+ var status = (_SAWSpinErrorCode$SAW = {}, _SAWSpinErrorCode$SAW[exports.SAWSpinErrorCode.SAW_OK] = 'OK', _SAWSpinErrorCode$SAW[exports.SAWSpinErrorCode.SAW_NO_SPINS] = 'NO SPINS AVAILABLE', _SAWSpinErrorCode$SAW[exports.SAWSpinErrorCode.SAW_PRIZE_POOL_EMPTY] = 'PRIZE POOL IS EMPTY', _SAWSpinErrorCode$SAW[exports.SAWSpinErrorCode.SAW_NOT_ENOUGH_POINTS] = 'NOT ENOUGH POINTS', _SAWSpinErrorCode$SAW[exports.SAWSpinErrorCode.SAW_FAILED_MAX_SPINS_REACHED] = 'MAX SPIN ATTEMPTS REACHED', _SAWSpinErrorCode$SAW)[spinAttemptResponse.errCode] || 'OTHER';
566
+ return Promise.resolve(_this8.coreReportCustomEvent(user_ext_id, 'minigame_attempt', {
567
+ saw_template_id: saw_template_id,
568
+ status: status,
569
+ round_id: round_id
570
+ })).then(function () {
571
+ return spinAttemptResponse;
572
+ });
573
+ });
574
+ } catch (e) {
575
+ return Promise.reject(e);
576
+ }
256
577
  };
257
- return Util;
578
+ return SmarticoAPI;
258
579
  }();
259
- Util.uuid = function () {
260
- return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
261
- // eslint-disable-next-line no-mixed-operators
262
- var r = Math.random() * 16 | 0,
263
- v = c === "x" ? r : r & 0x3 | 0x8;
264
- return v.toString(16);
265
- });
266
- };
267
580
 
268
- exports.Util = Util;
581
+ exports.PublicLabelSettings = void 0;
582
+ (function (PublicLabelSettings) {
583
+ PublicLabelSettings["FCM_SENDER_ID"] = "FCM_SENDER_ID";
584
+ PublicLabelSettings["PUBLIC_API_URL"] = "PUBLIC_API_URL";
585
+ PublicLabelSettings["FCM_SW_URL"] = "FCM_SW_URL";
586
+ PublicLabelSettings["RECORDING_ENABLED_FOR_ALL_USERS"] = "RECORDING_ENABLED_FOR_ALL_USERS";
587
+ PublicLabelSettings["JS_INJECTION"] = "JS_INJECTION";
588
+ PublicLabelSettings["GAMIFICATION_UI_MAIN"] = "GAMIFICATION_UI_MAIN";
589
+ PublicLabelSettings["GAMIFICATION_UI_WIDGET"] = "GAMIFICATION_UI_WIDGET";
590
+ PublicLabelSettings["GAMIFICATION_UI_MINI_GAME"] = "GAMIFICATION_UI_MINI_GAME";
591
+ PublicLabelSettings["GAMIFICATION_UI_SETTINGS"] = "GAMIFICATION_UI_SETTINGS";
592
+ PublicLabelSettings["GAMIFICATION_UI_MAIN_TEST"] = "GAMIFICATION_UI_MAIN_TEST";
593
+ PublicLabelSettings["GAMIFICATION_UI_WIDGET_TEST"] = "GAMIFICATION_UI_WIDGET_TEST";
594
+ PublicLabelSettings["GAMIFICATION_UI_SETTINGS_TEST"] = "GAMIFICATION_UI_SETTINGS_TEST";
595
+ PublicLabelSettings["FRONT_END_ALLOWED_LANGUAGES"] = "FRONT_END_ALLOWED_LANGUAGES";
596
+ PublicLabelSettings["FRONT_END_ALLOW_DOMAINS"] = "FRONT_END_ALLOW_DOMAINS";
597
+ PublicLabelSettings["DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS"] = "DELAY_ENGAGEMENT_EXECUTION_ON_LOGIN_MS";
598
+ PublicLabelSettings["SHADOW_LABEL_PUBLIC_KEY"] = "SHADOW_LABEL_PUBLIC_KEY";
599
+ PublicLabelSettings["DYNAMIC_IMAGE_DOMAIN"] = "DYNAMIC_IMAGE_DOMAIN";
600
+ PublicLabelSettings["GAMIFICATION_UI_LEVEL_ENABLED"] = "GAMIFICATION_UI_LEVEL_ENABLED";
601
+ PublicLabelSettings["GAMIFICATION_UI_LEVEL_IMAGE_MOB"] = "GAMIFICATION_UI_LEVEL_IMAGE_MOB";
602
+ PublicLabelSettings["GAMIFICATION_UI_LEVEL_IMAGE_DESK"] = "GAMIFICATION_UI_LEVEL_IMAGE_DESK";
603
+ PublicLabelSettings["GAMIFICATION_LEVELS_LOGIC2"] = "GAMIFICATION_LEVELS_LOGIC2";
604
+ PublicLabelSettings["AVATAR_CUSTOM_IMAGE_MAX_ID"] = "AVATAR_CUSTOM_IMAGE_MAX_ID";
605
+ PublicLabelSettings["AVATAR_CUSTOM_IMAGE_FOLDER"] = "AVATAR_CUSTOM_IMAGE_FOLDER";
606
+ PublicLabelSettings["RETENTION_GAMES_CUSTOMER_ID"] = "RETENTION_GAMES_CUSTOMER_ID";
607
+ PublicLabelSettings["GAMIFICATION_SHOW_POWERED_BY"] = "GAMIFICATION_SHOW_POWERED_BY";
608
+ PublicLabelSettings["_system_leader_board_mask_username"] = "_system_leader_board_mask_username";
609
+ })(exports.PublicLabelSettings || (exports.PublicLabelSettings = {}));
610
+
611
+ exports.TranslationArea = void 0;
612
+ (function (TranslationArea) {
613
+ TranslationArea[TranslationArea["Casino"] = 1] = "Casino";
614
+ TranslationArea[TranslationArea["Gamification"] = 2] = "Gamification";
615
+ TranslationArea[TranslationArea["Trading"] = 3] = "Trading";
616
+ TranslationArea[TranslationArea["Archived"] = 4] = "Archived";
617
+ TranslationArea[TranslationArea["Affiliation"] = 5] = "Affiliation";
618
+ TranslationArea[TranslationArea["RetentionGames"] = 6] = "RetentionGames";
619
+ })(exports.TranslationArea || (exports.TranslationArea = {}));
620
+
621
+ exports.SAWBuyInTypeName = SAWBuyInTypeName;
622
+ exports.SAWGameTypeName = SAWGameTypeName;
623
+ exports.SAWUtils = SAWUtils;
624
+ exports.SAWWinSoundFiles = SAWWinSoundFiles;
625
+ exports.SmarticoAPI = SmarticoAPI;
269
626
  //# sourceMappingURL=index.js.map