@smartico/public-api 0.0.393 → 0.0.395

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.
@@ -1328,6 +1328,11 @@ export interface TRafflePrize {
1328
1328
  description: string;
1329
1329
  /** URL of the image that represents the prize, 256x256px */
1330
1330
  image_url: string;
1331
+ /**
1332
+ * Custom data field set in the backoffice prize setup.
1333
+ * Can be used to build custom UI for gamification.
1334
+ */
1335
+ custom_data?: string;
1331
1336
  /**
1332
1337
  * The number of prizes available per run of the draw.
1333
1338
  * E.g. if the draw is run daily, this is the number of prizes available each day, for example 3 iPhones.
package/dist/index.js CHANGED
@@ -2290,6 +2290,7 @@ var prizeTransform = function prizeTransform(items) {
2290
2290
  name: item.public_meta.name,
2291
2291
  description: item.public_meta.description,
2292
2292
  image_url: item.public_meta.image_url,
2293
+ custom_data: item.public_meta.custom_data,
2293
2294
  prizes_per_run: item.prizes_per_run,
2294
2295
  prizes_per_run_actual: item.prizes_per_run_actual,
2295
2296
  chances_to_win_perc: item.chances_to_win_perc,
@@ -10217,6 +10218,26 @@ var C_SOCKET_PROD = 'wss://api{ENV_ID}.smartico.ai/websocket/services';
10217
10218
  var GAMES_API_URL = 'https://r-games-api.smr.vc';
10218
10219
  var AVATAR_DOMAIN = 'https://img{ENV_ID}.smr.vc';
10219
10220
  var DEFAULT_LANG_EN = 'EN';
10221
+ var SMR_TO_CLOUDFRONT_DOMAINS = {
10222
+ 'img.smr.vc': 'd1am61onjxtys8.cloudfront.net',
10223
+ 'img3.smr.vc': 'd3dubbodzd2q05.cloudfront.net',
10224
+ 'img4.smr.vc': 'dvm0p9vsezqr2.cloudfront.net',
10225
+ 'img5.smr.vc': 'd3gen1ksvxhac8.cloudfront.net',
10226
+ 'img6.smr.vc': 'db1kmyg7iufeo.cloudfront.net',
10227
+ 'img7.smr.vc': 'd36om2g86xefo6.cloudfront.net',
10228
+ 'img8.smr.vc': 'd2zme31v54n5pb.cloudfront.net',
10229
+ 'static.smr.vc': 'dtt380pweilws.cloudfront.net',
10230
+ 'static3.smr.vc': 'd1qt8ake8g4imn.cloudfront.net',
10231
+ 'static4.smr.vc': 'd146b4m7rkvjkw.cloudfront.net',
10232
+ 'static5.smr.vc': 'd3l7suk1kl9rwh.cloudfront.net',
10233
+ 'static6.smr.vc': 'd121pfj16xdfcq.cloudfront.net',
10234
+ 'static7.smr.vc': 'd21deilz814qgl.cloudfront.net',
10235
+ 'static8.smr.vc': 'd1uffsroxjy2ku.cloudfront.net'
10236
+ };
10237
+ // Single combined matcher built once, so a call is one pass instead of one per domain.
10238
+ var SMR_DOMAIN_REGEX = new RegExp(Object.keys(SMR_TO_CLOUDFRONT_DOMAINS).map(function (d) {
10239
+ return d.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
10240
+ }).join('|'), 'g');
10220
10241
  var SmarticoAPI = /*#__PURE__*/function () {
10221
10242
  function SmarticoAPI(label_api_key, brand_api_key, messageSender, options) {
10222
10243
  var _options$tracker, _options$tracker2;
@@ -10275,34 +10296,20 @@ var SmarticoAPI = /*#__PURE__*/function () {
10275
10296
  if (!value) {
10276
10297
  return value;
10277
10298
  }
10278
- var domains = {
10279
- 'img.smr.vc': 'd1am61onjxtys8.cloudfront.net',
10280
- 'img3.smr.vc': 'd3dubbodzd2q05.cloudfront.net',
10281
- 'img4.smr.vc': 'dvm0p9vsezqr2.cloudfront.net',
10282
- 'img5.smr.vc': 'd3gen1ksvxhac8.cloudfront.net',
10283
- 'img6.smr.vc': 'db1kmyg7iufeo.cloudfront.net',
10284
- 'img7.smr.vc': 'd36om2g86xefo6.cloudfront.net',
10285
- 'img8.smr.vc': 'd2zme31v54n5pb.cloudfront.net',
10286
- 'static.smr.vc': 'dtt380pweilws.cloudfront.net',
10287
- 'static3.smr.vc': 'd1qt8ake8g4imn.cloudfront.net',
10288
- 'static4.smr.vc': 'd146b4m7rkvjkw.cloudfront.net',
10289
- 'static5.smr.vc': 'd3l7suk1kl9rwh.cloudfront.net',
10290
- 'static6.smr.vc': 'd121pfj16xdfcq.cloudfront.net',
10291
- 'static7.smr.vc': 'd21deilz814qgl.cloudfront.net',
10292
- 'static8.smr.vc': 'd1uffsroxjy2ku.cloudfront.net'
10293
- };
10294
- var escapeRegExp = function escapeRegExp(str) {
10295
- return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
10296
- };
10297
- var replacedValue = typeof value === 'string' ? value : JSON.stringify(value);
10298
- for (var _i = 0, _Object$entries = Object.entries(domains); _i < _Object$entries.length; _i++) {
10299
- var _Object$entries$_i = _Object$entries[_i],
10300
- oldDomain = _Object$entries$_i[0],
10301
- newDomain = _Object$entries$_i[1];
10302
- replacedValue = replacedValue.replace(new RegExp(escapeRegExp(oldDomain), 'g'), newDomain);
10299
+ var isString = typeof value === 'string';
10300
+ var source = isString ? value : JSON.stringify(value);
10301
+ var replaced = source.replace(SMR_DOMAIN_REGEX, function (match) {
10302
+ return SMR_TO_CLOUDFRONT_DOMAINS[match];
10303
+ });
10304
+ // No domain matched: skip the JSON re-parse and return the input untouched.
10305
+ if (replaced === source) {
10306
+ return value;
10307
+ }
10308
+ if (isString) {
10309
+ return replaced;
10303
10310
  }
10304
10311
  try {
10305
- return typeof value === 'string' ? replacedValue : JSON.parse(replacedValue);
10312
+ return JSON.parse(replaced);
10306
10313
  } catch (err) {
10307
10314
  return value;
10308
10315
  }