ouisys-engine 4.7.0-alpha.1 → 4.7.0-alpha.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 (61) hide show
  1. package/dist/RemoteDataState-lcf8PfJd.js +2 -0
  2. package/dist/{RemoteDataState-CwHLI23e.js.map → RemoteDataState-lcf8PfJd.js.map} +1 -1
  3. package/dist/bupperizeCountry-CEtt0MKz.js +2 -0
  4. package/dist/bupperizeCountry-CEtt0MKz.js.map +1 -0
  5. package/dist/checkSubscriptionByRockmanIdOnly-BwR1un1L.js +2 -0
  6. package/dist/{checkSubscriptionByRockmanIdOnly-C89Ph9cV.js.map → checkSubscriptionByRockmanIdOnly-BwR1un1L.js.map} +1 -1
  7. package/dist/checkSubscriptionHander.js +1 -52
  8. package/dist/checkSubscriptionHander.js.map +1 -1
  9. package/dist/click2smsFlow.js +1 -245
  10. package/dist/click2smsFlow.js.map +1 -1
  11. package/dist/creditCardFlow.js +1 -247
  12. package/dist/creditCardFlow.js.map +1 -1
  13. package/dist/getConfig.js +1 -13
  14. package/dist/getConfig.js.map +1 -1
  15. package/dist/handleClickChainFlow.js +1 -31
  16. package/dist/handleClickChainFlow.js.map +1 -1
  17. package/dist/handleSubmitNumber.js +1 -64
  18. package/dist/handleSubmitNumber.js.map +1 -1
  19. package/dist/helpers-xPhGBX-B.js +2 -0
  20. package/dist/helpers-xPhGBX-B.js.map +1 -0
  21. package/dist/loadScriptInnerHtml-BzQm-AFb.js +2 -0
  22. package/dist/loadScriptInnerHtml-BzQm-AFb.js.map +1 -0
  23. package/dist/moFlow.js +1 -274
  24. package/dist/moFlow.js.map +1 -1
  25. package/dist/moRedirFlow.js +1 -224
  26. package/dist/moRedirFlow.js.map +1 -1
  27. package/dist/oneClickFlow.js +1 -463
  28. package/dist/oneClickFlow.js.map +1 -1
  29. package/dist/pinFlow.js +1 -696
  30. package/dist/pinFlow.js.map +1 -1
  31. package/dist/searchToObject.js +1 -18
  32. package/dist/searchToObject.js.map +1 -1
  33. package/dist/storeMsisdn-Cjq8_qYH.js +2 -0
  34. package/dist/{storeMsisdn-ChiBh8mI.js.map → storeMsisdn-Cjq8_qYH.js.map} +1 -1
  35. package/dist/strategy.js +1 -49
  36. package/dist/strategy.js.map +1 -1
  37. package/dist/strategySlice-CtjrhCrS.js +2 -0
  38. package/dist/{strategySlice-bF74rxDK.js.map → strategySlice-CtjrhCrS.js.map} +1 -1
  39. package/dist/tracker-DaaILhEr.js +2 -0
  40. package/dist/tracker-DaaILhEr.js.map +1 -0
  41. package/dist/tracker.js +1 -4
  42. package/dist/tracker.js.map +1 -1
  43. package/dist/tryGetIPRangeName-QW-9NgzE.js +2 -0
  44. package/dist/tryGetIPRangeName-QW-9NgzE.js.map +1 -0
  45. package/dist/ussdFlow.js +1 -210
  46. package/dist/ussdFlow.js.map +1 -1
  47. package/package.json +2 -6
  48. package/dist/RemoteDataState-CwHLI23e.js +0 -75
  49. package/dist/bupperizeCountry-CCDIOHP6.js +0 -4
  50. package/dist/bupperizeCountry-CCDIOHP6.js.map +0 -1
  51. package/dist/checkSubscriptionByRockmanIdOnly-C89Ph9cV.js +0 -27
  52. package/dist/helpers-J_h-ZgxH.js +0 -29
  53. package/dist/helpers-J_h-ZgxH.js.map +0 -1
  54. package/dist/loadScriptInnerHtml-DPcoY467.js +0 -26
  55. package/dist/loadScriptInnerHtml-DPcoY467.js.map +0 -1
  56. package/dist/storeMsisdn-ChiBh8mI.js +0 -58
  57. package/dist/strategySlice-bF74rxDK.js +0 -842
  58. package/dist/tracker-B_zsMRN2.js +0 -79
  59. package/dist/tracker-B_zsMRN2.js.map +0 -1
  60. package/dist/tryGetIPRangeName-C69HEG5W.js +0 -42
  61. package/dist/tryGetIPRangeName-C69HEG5W.js.map +0 -1
@@ -1,79 +0,0 @@
1
- import { __assign } from 'tslib';
2
- import mkPacmanClient from 'pacman-client';
3
- import { v1 } from 'uuid';
4
-
5
- var queryString = (function (url, paramName) {
6
- var name = paramName.replace(/[\]]/g, '\\$&');
7
- var regex = new RegExp("[?&]".concat(name, "(=([^&#]*)|&|#|$)"), 'i');
8
- var results = regex.exec(url);
9
- if (!results)
10
- return null;
11
- if (!results[2])
12
- return '';
13
- return decodeURIComponent(results[2].replace(/\+/g, ' '));
14
- });
15
- function updateUrlParameter(uri, key, value) {
16
- // remove the hash part before operating on the uri
17
- var i = uri.indexOf('#');
18
- var hash = i === -1 ? '' : uri.substr(i);
19
- var newUri = uri;
20
- newUri = i === -1 ? newUri : newUri.substr(0, i);
21
- var re = new RegExp("([?&])".concat(key, "=.*?(&|$)"), 'i');
22
- var separator = newUri.indexOf('?') !== -1 ? '&' : '?';
23
- if (newUri.match(re)) {
24
- newUri = newUri.replace(re, "$1".concat(key, "=").concat(value, "$2"));
25
- }
26
- else {
27
- newUri = newUri.endsWith('&') ? "".concat(newUri + key, "=").concat(value) : "".concat(newUri + separator + key, "=").concat(value);
28
- }
29
- return "".concat(newUri + hash, "&"); // finally append the hash as well
30
- }
31
-
32
- var mkTracker = (function (window, _country, _page) {
33
- if (!window) {
34
- return {
35
- advancedInFlow: function () { return void 6; },
36
- advancedInPreFlow: function () { return void 6; },
37
- recedeInFlow: function () { return void 6; },
38
- customEvent: function () { return void 6; },
39
- sendOptInFlowEvent: function () { return void 6; }
40
- };
41
- }
42
- var url = window.pac_analytics
43
- ? window.pac_analytics.url
44
- : queryString(window.location.search, 'pacman-server') || '/analytics';
45
- if (!window.pac_analytics) {
46
- var rockmanId = v1().replace(/-/g, '');
47
- var campaignId = parseInt(queryString(window.location.search, 'cid') || '0', 10) || 2;
48
- window.pac_analytics = {
49
- visitor: {
50
- rockmanId: rockmanId,
51
- impressionNumber: 1,
52
- country: process.env.country || '',
53
- page: process.env.page || '',
54
- xaid: queryString(window.location.search, 'xaid') || window.xaid || '',
55
- cid: campaignId,
56
- offer: queryString(window.location.search, 'offer') || window.offer || '1' // default to 1 offer id
57
- },
58
- startTime: new Date().valueOf(),
59
- queryString: function (key) { return queryString(window.location.search, key) || ''; },
60
- url: url,
61
- userId: rockmanId,
62
- encCampaignId: queryString(window.location.search, 'xcid') || '',
63
- originalUrl: document.location.href
64
- };
65
- }
66
- // @ts-ignore
67
- var pacmanClient = mkPacmanClient.default({
68
- rockmanId: window.pac_analytics.visitor.rockmanId,
69
- serverUrl: process.env.pacman_server || url,
70
- impressionNumber: 1,
71
- signalInterval: 1000 // in milliseconds
72
- });
73
- return __assign(__assign({}, pacmanClient.trackerFlowEvents), { sendOptInFlowEvent: pacmanClient.sendOptInFlowEvent });
74
- });
75
-
76
- var tracker = mkTracker(typeof window !== 'undefined' ? window : null);
77
-
78
- export { queryString as q, tracker as t, updateUrlParameter as u };
79
- //# sourceMappingURL=tracker-B_zsMRN2.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tracker-B_zsMRN2.js","sources":["../src/pacman/queryString.ts","../src/pacman/index.ts","../src/utilities/tracker.ts"],"sourcesContent":["export default (url: string, paramName: string) => {\n const name = paramName.replace(/[\\]]/g, '\\\\$&');\n const regex = new RegExp(`[?&]${name}(=([^&#]*)|&|#|$)`, 'i');\n const results = regex.exec(url);\n if (!results) return null;\n if (!results[2]) return '';\n return decodeURIComponent(results[2].replace(/\\+/g, ' '));\n};\n\nexport function updateUrlParameter(uri: string, key: string, value: string) {\n // remove the hash part before operating on the uri\n const i = uri.indexOf('#');\n const hash = i === -1 ? '' : uri.substr(i);\n let newUri = uri;\n newUri = i === -1 ? newUri : newUri.substr(0, i);\n\n const re = new RegExp(`([?&])${key}=.*?(&|$)`, 'i');\n const separator = newUri.indexOf('?') !== -1 ? '&' : '?';\n if (newUri.match(re)) {\n newUri = newUri.replace(re, `$1${key}=${value}$2`);\n } else {\n newUri = newUri.endsWith('&') ? `${newUri + key}=${value}` : `${newUri + separator + key}=${value}`;\n }\n return `${newUri + hash}&`; // finally append the hash as well\n}\n","import mkPacmanClient from 'pacman-client';\nimport { ITrackerFlowEvents } from 'pacman-client/.build-lib/Pacman/types';\n\nimport { v1 as uuid } from 'uuid';\nimport queryString from './queryString';\n\nexport { queryString };\nexport type { ITrackerFlowEvents as ITracker };\n\nexport default (window: Window, _country?: string, _page?: string): ITrackerFlowEvents => {\n if (!window) {\n return {\n advancedInFlow: () => void 6,\n advancedInPreFlow: () => void 6,\n recedeInFlow: () => void 6,\n customEvent: () => void 6,\n sendOptInFlowEvent: () => void 6\n };\n }\n const url = window.pac_analytics\n ? window.pac_analytics.url\n : queryString(window.location.search, 'pacman-server') || '/analytics';\n\n if (!window.pac_analytics) {\n const rockmanId = uuid().replace(/-/g, '');\n\n const campaignId = parseInt(queryString(window.location.search, 'cid') || '0', 10) || 2;\n window.pac_analytics = {\n visitor: {\n rockmanId,\n impressionNumber: 1, // TODO: get impressionNumber from localStorage\n country: process.env.country || '',\n page: process.env.page || '',\n xaid: queryString(window.location.search, 'xaid') || window.xaid || '',\n cid: campaignId,\n offer: queryString(window.location.search, 'offer') || window.offer || '1' // default to 1 offer id\n },\n startTime: new Date().valueOf(),\n queryString: (key: string) => queryString(window.location.search, key) || '',\n url,\n userId: rockmanId,\n encCampaignId: queryString(window.location.search, 'xcid') || '',\n originalUrl: document.location.href\n };\n }\n // @ts-ignore\n const pacmanClient = mkPacmanClient.default({\n rockmanId: window.pac_analytics.visitor.rockmanId,\n serverUrl: process.env.pacman_server || url,\n impressionNumber: 1,\n signalInterval: 1000 // in milliseconds\n });\n\n return {\n ...pacmanClient.trackerFlowEvents,\n sendOptInFlowEvent: pacmanClient.sendOptInFlowEvent\n };\n};\n","import mkTracker from '../pacman';\n\nexport const tracker = mkTracker(typeof window !== 'undefined' ? window : null);\n"],"names":["uuid"],"mappings":"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"}
@@ -1,42 +0,0 @@
1
- import { __awaiter, __generator } from 'tslib';
2
- import { q as queryString } from './tracker-B_zsMRN2.js';
3
-
4
- // eslint-disable-next-line consistent-return
5
- function tryGetIPRangeName(visitor) {
6
- return __awaiter(this, void 0, void 0, function () {
7
- var mockip, host, newHost, res, ex_1;
8
- return __generator(this, function (_a) {
9
- switch (_a.label) {
10
- case 0:
11
- mockip = queryString(window.location.href, 'mock-ip') || process.env.mock_ip;
12
- // eslint-disable-next-line no-console
13
- console.log('mockip', mockip);
14
- if (!(!visitor.ip && typeof window !== 'undefined')) return [3 /*break*/, 5];
15
- _a.label = 1;
16
- case 1:
17
- _a.trys.push([1, 3, , 4]);
18
- host = window.location.host;
19
- newHost = window.DEV_BASE_URL_IP || host;
20
- return [4 /*yield*/, fetch("https://".concat(newHost, "/api/v1/ip").concat(mockip ? "?mock-ip=".concat(mockip) : '')).then(function (x) {
21
- return x.json();
22
- })];
23
- case 2:
24
- res = _a.sent();
25
- // return isIPInRange('37.200.146.28')
26
- visitor.ip = res.ip;
27
- visitor.ip_range_name = res.ip_range_name;
28
- return [2 /*return*/, res.ip_range_name];
29
- case 3:
30
- ex_1 = _a.sent();
31
- console.warn('IP Lookup failed', ex_1);
32
- return [2 /*return*/, ''];
33
- case 4: return [3 /*break*/, 6];
34
- case 5: return [2 /*return*/, visitor.ip_range_name || ''];
35
- case 6: return [2 /*return*/];
36
- }
37
- });
38
- });
39
- }
40
-
41
- export { tryGetIPRangeName as t };
42
- //# sourceMappingURL=tryGetIPRangeName-C69HEG5W.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tryGetIPRangeName-C69HEG5W.js","sources":["../src/ips/tryGetIPRangeName.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport { IVisitor } from '../common-types/IVisitor';\nimport queryString from '../pacman/queryString';\n\n// eslint-disable-next-line consistent-return\nexport default async function tryGetIPRangeName(visitor: IVisitor): Promise<string> {\n const mockip = queryString(window.location.href, 'mock-ip') || process.env.mock_ip;\n // eslint-disable-next-line no-console\n console.log('mockip', mockip);\n if (!visitor.ip && typeof window !== 'undefined') {\n try {\n const { host } = window.location;\n const newHost = window.DEV_BASE_URL_IP || host;\n const res = await fetch(`https://${newHost}/api/v1/ip${mockip ? `?mock-ip=${mockip}` : ''}`).then((x) =>\n x.json()\n );\n // return isIPInRange('37.200.146.28')\n visitor.ip = res.ip;\n visitor.ip_range_name = res.ip_range_name;\n return res.ip_range_name;\n } catch (ex) {\n console.warn('IP Lookup failed', ex);\n return '';\n }\n } else {\n return visitor.ip_range_name || '';\n }\n}\n"],"names":[],"mappings":";;;AAIA;AAC8B,SAAA,iBAAiB,CAAC,OAAiB,EAAA;;;;;;AACzD,oBAAA,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;;AAEnF,oBAAA,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;0BAC1B,CAAC,OAAO,CAAC,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,CAAA,EAA5C,OAA4C,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;;;;AAEpC,oBAAA,IAAI,GAAK,MAAM,CAAC,QAAQ,KAApB,CAAqB;AAC3B,oBAAA,OAAO,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;oBACnC,OAAM,CAAA,CAAA,YAAA,KAAK,CAAC,UAAW,CAAA,MAAA,CAAA,OAAO,uBAAa,MAAM,GAAG,WAAY,CAAA,MAAA,CAAA,MAAM,CAAE,GAAG,EAAE,CAAE,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,EAAA;4BAClG,OAAA,CAAC,CAAC,IAAI,EAAE,CAAA;AAAR,yBAAQ,CACT,CAAA,CAAA;;AAFK,oBAAA,GAAG,GAAG,EAEX,CAAA,IAAA,EAAA,CAAA;;AAED,oBAAA,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,EAAE,CAAC;AACpB,oBAAA,OAAO,CAAC,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;oBAC1C,OAAO,CAAA,CAAA,aAAA,GAAG,CAAC,aAAa,CAAC,CAAA;;;AAEzB,oBAAA,OAAO,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAE,CAAC,CAAC;AACrC,oBAAA,OAAA,CAAA,CAAA,aAAO,EAAE,CAAC,CAAA;;AAGZ,gBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAA;;;;;AAEtC;;;;"}