ouisys-engine 5.1.80 → 5.1.81

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.
@@ -1,5 +1,5 @@
1
1
  import { __awaiter, __generator, __assign } from 'tslib';
2
- import { h as handleResolveRedirect } from './handleResolveRedirect-5Hkm5YXF.js';
2
+ import { h as handleResolveRedirect } from './handleResolveRedirect-BXznqdbX.js';
3
3
  import { a as loop } from './helpers-J_h-ZgxH.js';
4
4
  import { searchToObject } from './searchToObject.js';
5
5
  import { t as tracker } from './tracker-Dch6_0Q2.js';
@@ -28,10 +28,10 @@ var handleResolveRedirect = function (url) {
28
28
  try {
29
29
  if (isSlashFirst(url)) {
30
30
  var target = fullyDecode(url);
31
- if (!/^https?:\/\//i.test(target)) {
32
- throw new Error("Decoded string is not an absolute URL: ".concat(target));
33
- }
34
- window.location.href = target;
31
+ // A slash-first value that decodes to an absolute URL → follow it.
32
+ // Otherwise it's a same-origin relative path navigate directly
33
+ // (do NOT treat it as an encrypted resolve-wfl token).
34
+ window.location.href = /^https?:\/\//i.test(target) ? target : url;
35
35
  }
36
36
  else if (isUrl(url)) {
37
37
  window.location.href = url;
@@ -47,4 +47,4 @@ var handleResolveRedirect = function (url) {
47
47
  };
48
48
 
49
49
  export { handleResolveRedirect as h };
50
- //# sourceMappingURL=handleResolveRedirect-5Hkm5YXF.js.map
50
+ //# sourceMappingURL=handleResolveRedirect-BXznqdbX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleResolveRedirect-BXznqdbX.js","sources":["../../src/utilities/handleResolveRedirect.ts"],"sourcesContent":["const isUrl = (value: string): boolean => {\n try {\n // eslint-disable-next-line no-new\n new URL(value);\n return true;\n } catch {\n return false;\n }\n};\n\nfunction isSlashFirst(str: string): boolean {\n return str.startsWith('/');\n}\nfunction fullyDecode(s: string): string {\n let prev;\n do {\n prev = s;\n try {\n s = decodeURIComponent(s);\n } catch {\n break;\n } // stop if it’s no longer valid UTF-8\n } while (s !== prev);\n return s;\n}\n\nexport const handleResolveRedirect = (url: string) => {\n try {\n if (isSlashFirst(url)) {\n const target = fullyDecode(url);\n // A slash-first value that decodes to an absolute URL → follow it.\n // Otherwise it's a same-origin relative path → navigate directly\n // (do NOT treat it as an encrypted resolve-wfl token).\n window.location.href = /^https?:\\/\\//i.test(target) ? target : url;\n } else if (isUrl(url)) {\n window.location.href = url;\n } else {\n window.location.href = `/api/v1/resolve-wfl?token=${url}`;\n }\n } catch (e) {\n console.error(e);\n window.location.href = `/api/v1/resolve-wfl?token=${url}`;\n }\n};\n"],"names":[],"mappings":"AAAA,IAAM,KAAK,GAAG,UAAC,KAAa,EAAA;IAC1B,IAAI;;AAEF,QAAA,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AACf,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;IAAC,OAAM,EAAA,EAAA;AACN,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACH,CAAC,CAAC;AAEF,SAAS,YAAY,CAAC,GAAW,EAAA;AAC/B,IAAA,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AACD,SAAS,WAAW,CAAC,CAAS,EAAA;AAC5B,IAAA,IAAI,IAAI,CAAC;IACT,GAAG;QACD,IAAI,GAAG,CAAC,CAAC;QACT,IAAI;AACF,YAAA,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAC3B,SAAA;QAAC,OAAM,EAAA,EAAA;YACN,MAAM;AACP,SAAA;KACF,QAAQ,CAAC,KAAK,IAAI,EAAE;AACrB,IAAA,OAAO,CAAC,CAAC;AACX,CAAC;AAEM,IAAM,qBAAqB,GAAG,UAAC,GAAW,EAAA;IAC/C,IAAI;AACF,QAAA,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;AACrB,YAAA,IAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;;;;AAIhC,YAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC;AACpE,SAAA;AAAM,aAAA,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;AACrB,YAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;AAC5B,SAAA;AAAM,aAAA;YACL,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,4BAA6B,CAAA,MAAA,CAAA,GAAG,CAAE,CAAC;AAC3D,SAAA;AACF,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,4BAA6B,CAAA,MAAA,CAAA,GAAG,CAAE,CAAC;AAC3D,KAAA;AACH;;;;"}
package/dist/moFlow.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { __awaiter, __generator, __read, __assign } from 'tslib';
2
2
  import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
3
3
  import { S as Success, N as NothingYet, L as Loading, F as Failure } from './RemoteDataState-CwHLI23e.js';
4
- import { h as handleResolveRedirect } from './handleResolveRedirect-5Hkm5YXF.js';
4
+ import { h as handleResolveRedirect } from './handleResolveRedirect-BXznqdbX.js';
5
5
  import { n as normaliseErrorCode, r as redirectErrorTypes, g as getErrorCode } from './normaliseErrorCode-C5lIBmuQ.js';
6
6
  import { searchToObject } from './searchToObject.js';
7
7
  import { s as storeMsisdn } from './storeMsisdn-ChiBh8mI.js';
package/dist/pinFlow.js CHANGED
@@ -2,7 +2,7 @@ import { __awaiter, __generator, __read, __assign } from 'tslib';
2
2
  import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
3
3
  import { L as Loading, N as NothingYet, S as Success, F as Failure } from './RemoteDataState-CwHLI23e.js';
4
4
  import { i as identifyStrategy, c as setStrategyExtraData, P as PossibleTypes } from './strategySlice-DFQ-MT7F.js';
5
- import { h as handleResolveRedirect } from './handleResolveRedirect-5Hkm5YXF.js';
5
+ import { h as handleResolveRedirect } from './handleResolveRedirect-BXznqdbX.js';
6
6
  import { n as normaliseErrorCode, r as redirectErrorTypes, g as getErrorCode } from './normaliseErrorCode-C5lIBmuQ.js';
7
7
  import { searchToObject } from './searchToObject.js';
8
8
  import { s as storeMsisdn } from './storeMsisdn-ChiBh8mI.js';
package/dist/ussdFlow.js CHANGED
@@ -6,7 +6,7 @@ import { searchToObject } from './searchToObject.js';
6
6
  import { s as storeMsisdn } from './storeMsisdn-ChiBh8mI.js';
7
7
  import { t as tracker } from './tracker-Dch6_0Q2.js';
8
8
  import { i as identifyStrategy } from './strategySlice-DFQ-MT7F.js';
9
- import './handleResolveRedirect-5Hkm5YXF.js';
9
+ import './handleResolveRedirect-BXznqdbX.js';
10
10
  import './helpers-J_h-ZgxH.js';
11
11
  import './updateUrlWithParams-ZaZt1BCf.js';
12
12
  import 'pacman-client';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ouisys-engine",
3
- "version": "5.1.80",
3
+ "version": "5.1.81",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "directories": "dist dev-tools",
@@ -1 +0,0 @@
1
- {"version":3,"file":"handleResolveRedirect-5Hkm5YXF.js","sources":["../../src/utilities/handleResolveRedirect.ts"],"sourcesContent":["const isUrl = (value: string): boolean => {\n try {\n // eslint-disable-next-line no-new\n new URL(value);\n return true;\n } catch {\n return false;\n }\n};\n\nfunction isSlashFirst(str: string): boolean {\n return str.startsWith('/');\n}\nfunction fullyDecode(s: string): string {\n let prev;\n do {\n prev = s;\n try {\n s = decodeURIComponent(s);\n } catch {\n break;\n } // stop if it’s no longer valid UTF-8\n } while (s !== prev);\n return s;\n}\n\nexport const handleResolveRedirect = (url: string) => {\n try {\n if (isSlashFirst(url)) {\n const target = fullyDecode(url);\n if (!/^https?:\\/\\//i.test(target)) {\n throw new Error(`Decoded string is not an absolute URL: ${target}`);\n }\n window.location.href = target;\n } else if (isUrl(url)) {\n window.location.href = url;\n } else {\n window.location.href = `/api/v1/resolve-wfl?token=${url}`;\n }\n } catch (e) {\n console.error(e);\n window.location.href = `/api/v1/resolve-wfl?token=${url}`;\n }\n};\n"],"names":[],"mappings":"AAAA,IAAM,KAAK,GAAG,UAAC,KAAa,EAAA;IAC1B,IAAI;;AAEF,QAAA,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AACf,QAAA,OAAO,IAAI,CAAC;AACb,KAAA;IAAC,OAAM,EAAA,EAAA;AACN,QAAA,OAAO,KAAK,CAAC;AACd,KAAA;AACH,CAAC,CAAC;AAEF,SAAS,YAAY,CAAC,GAAW,EAAA;AAC/B,IAAA,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC;AACD,SAAS,WAAW,CAAC,CAAS,EAAA;AAC5B,IAAA,IAAI,IAAI,CAAC;IACT,GAAG;QACD,IAAI,GAAG,CAAC,CAAC;QACT,IAAI;AACF,YAAA,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;AAC3B,SAAA;QAAC,OAAM,EAAA,EAAA;YACN,MAAM;AACP,SAAA;KACF,QAAQ,CAAC,KAAK,IAAI,EAAE;AACrB,IAAA,OAAO,CAAC,CAAC;AACX,CAAC;AAEM,IAAM,qBAAqB,GAAG,UAAC,GAAW,EAAA;IAC/C,IAAI;AACF,QAAA,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE;AACrB,YAAA,IAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;AAChC,YAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;AACjC,gBAAA,MAAM,IAAI,KAAK,CAAC,iDAA0C,MAAM,CAAE,CAAC,CAAC;AACrE,aAAA;AACD,YAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC;AAC/B,SAAA;AAAM,aAAA,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE;AACrB,YAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,CAAC;AAC5B,SAAA;AAAM,aAAA;YACL,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,4BAA6B,CAAA,MAAA,CAAA,GAAG,CAAE,CAAC;AAC3D,SAAA;AACF,KAAA;AAAC,IAAA,OAAO,CAAC,EAAE;AACV,QAAA,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,4BAA6B,CAAA,MAAA,CAAA,GAAG,CAAE,CAAC;AAC3D,KAAA;AACH;;;;"}