@grabjs/superapp-sdk 2.0.0-beta.47 → 2.0.0-beta.49

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/index.d.ts CHANGED
@@ -1130,10 +1130,15 @@ export declare class ContainerModule extends BaseModule {
1130
1130
  * @noInheritDoc
1131
1131
  */
1132
1132
  export declare class DeviceModule extends BaseModule {
1133
+ static readonly MINIMUM_VERSION: Version;
1133
1134
  constructor();
1134
1135
  /**
1135
1136
  * Checks whether the current device supports eSIM.
1136
1137
  *
1138
+ * @minimumGrabAppVersion Android: 5.402.0, iOS: 5.402.0
1139
+ *
1140
+ * @requiredOAuthScope mobile.device
1141
+ *
1137
1142
  * @returns Whether eSIM is supported on the current device. See {@link IsEsimSupportedResponse}.
1138
1143
  *
1139
1144
  * @example
@@ -1151,7 +1156,18 @@ export declare class DeviceModule extends BaseModule {
1151
1156
  * if (isSuccess(response)) {
1152
1157
  * console.log('eSIM supported:', response.result);
1153
1158
  * } else if (isError(response)) {
1154
- * console.error(`Error ${response.status_code}: ${response.error}`);
1159
+ * switch (response.status_code) {
1160
+ * case 403:
1161
+ * console.log('No permission to query eSIM support');
1162
+ * // Trigger IdentityModule.authorize() for scope 'mobile.device', then reload via ScopeModule.reloadScopes() and try again
1163
+ * break;
1164
+ * case 426:
1165
+ * console.log('User needs to upgrade the app');
1166
+ * // Advise user to upgrade app
1167
+ * break;
1168
+ * default:
1169
+ * console.error(`Error ${response.status_code}: ${response.error}`);
1170
+ * }
1155
1171
  * } else {
1156
1172
  * console.error('Unhandled response');
1157
1173
  * }
@@ -1597,7 +1613,8 @@ export declare const GetBooleanRequestSchema: v.ObjectSchema<{
1597
1613
  *
1598
1614
  * @remarks
1599
1615
  * This response can have the following status codes:
1600
- * - `200`: Value retrieved successfully. The `result` contains the boolean value or null if not found.
1616
+ * - `200`: Value retrieved successfully. The `result` contains the boolean value.
1617
+ * - `204`: Value not found in storage.
1601
1618
  * - `400`: Missing required parameters - key not provided.
1602
1619
  * - `424`: Failed Dependency - storage operation failed due to underlying storage error.
1603
1620
  * - `500`: Internal server error - an unexpected error occurred on the native side.
@@ -1614,9 +1631,9 @@ export declare type GetBooleanResponse = InferOutput<typeof GetBooleanResponseSc
1614
1631
  */
1615
1632
  export declare const GetBooleanResponseSchema: v.UnionSchema<[v.ObjectSchema<{
1616
1633
  readonly status_code: v.LiteralSchema<200, undefined>;
1617
- readonly result: v.ObjectSchema<{
1618
- readonly value: v.NullableSchema<v.BooleanSchema<undefined>, undefined>;
1619
- }, undefined>;
1634
+ readonly result: v.BooleanSchema<undefined>;
1635
+ }, undefined>, v.ObjectSchema<{
1636
+ readonly status_code: v.LiteralSchema<204, undefined>;
1620
1637
  }, undefined>, v.ObjectSchema<{
1621
1638
  readonly status_code: v.LiteralSchema<400, undefined>;
1622
1639
  readonly error: v.StringSchema<undefined>;
@@ -1632,18 +1649,14 @@ export declare const GetBooleanResponseSchema: v.UnionSchema<[v.ObjectSchema<{
1632
1649
  }, undefined>], undefined>;
1633
1650
 
1634
1651
  /**
1635
- * Result object containing the boolean value.
1652
+ * The boolean value returned when a key exists in storage.
1636
1653
  *
1637
- * @example
1638
- * **Value exists:**
1639
- * ```typescript
1640
- * { value: true }
1641
- * ```
1654
+ * @remarks
1655
+ * When the key has no stored value, the response `status_code` is `204` instead.
1642
1656
  *
1643
1657
  * @example
1644
- * **Value not found:**
1645
1658
  * ```typescript
1646
- * { value: null }
1659
+ * true
1647
1660
  * ```
1648
1661
  *
1649
1662
  * @public
@@ -1655,9 +1668,7 @@ export declare type GetBooleanResult = InferOutput<typeof GetBooleanResultSchema
1655
1668
  *
1656
1669
  * @public
1657
1670
  */
1658
- export declare const GetBooleanResultSchema: v.ObjectSchema<{
1659
- readonly value: v.NullableSchema<v.BooleanSchema<undefined>, undefined>;
1660
- }, undefined>;
1671
+ export declare const GetBooleanResultSchema: v.BooleanSchema<undefined>;
1661
1672
 
1662
1673
  /**
1663
1674
  * Response when getting the device coordinates.
@@ -1811,7 +1822,8 @@ export declare const GetDoubleRequestSchema: v.ObjectSchema<{
1811
1822
  *
1812
1823
  * @remarks
1813
1824
  * This response can have the following status codes:
1814
- * - `200`: Value retrieved successfully. The `result` contains the double value or null if not found.
1825
+ * - `200`: Value retrieved successfully. The `result` contains the double value.
1826
+ * - `204`: Value not found in storage.
1815
1827
  * - `400`: Missing required parameters - key not provided.
1816
1828
  * - `424`: Failed Dependency - storage operation failed due to underlying storage error.
1817
1829
  * - `500`: Internal server error - an unexpected error occurred on the native side.
@@ -1828,9 +1840,9 @@ export declare type GetDoubleResponse = InferOutput<typeof GetDoubleResponseSche
1828
1840
  */
1829
1841
  export declare const GetDoubleResponseSchema: v.UnionSchema<[v.ObjectSchema<{
1830
1842
  readonly status_code: v.LiteralSchema<200, undefined>;
1831
- readonly result: v.ObjectSchema<{
1832
- readonly value: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
1833
- }, undefined>;
1843
+ readonly result: v.NumberSchema<undefined>;
1844
+ }, undefined>, v.ObjectSchema<{
1845
+ readonly status_code: v.LiteralSchema<204, undefined>;
1834
1846
  }, undefined>, v.ObjectSchema<{
1835
1847
  readonly status_code: v.LiteralSchema<400, undefined>;
1836
1848
  readonly error: v.StringSchema<undefined>;
@@ -1846,18 +1858,14 @@ export declare const GetDoubleResponseSchema: v.UnionSchema<[v.ObjectSchema<{
1846
1858
  }, undefined>], undefined>;
1847
1859
 
1848
1860
  /**
1849
- * Result object containing the double value.
1861
+ * The floating-point value returned when a key exists in storage.
1850
1862
  *
1851
- * @example
1852
- * **Value exists:**
1853
- * ```typescript
1854
- * { value: 19.99 }
1855
- * ```
1863
+ * @remarks
1864
+ * When the key has no stored value, the response `status_code` is `204` instead.
1856
1865
  *
1857
1866
  * @example
1858
- * **Value not found:**
1859
1867
  * ```typescript
1860
- * { value: null }
1868
+ * 19.99
1861
1869
  * ```
1862
1870
  *
1863
1871
  * @public
@@ -1869,9 +1877,7 @@ export declare type GetDoubleResult = InferOutput<typeof GetDoubleResultSchema>;
1869
1877
  *
1870
1878
  * @public
1871
1879
  */
1872
- export declare const GetDoubleResultSchema: v.ObjectSchema<{
1873
- readonly value: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
1874
- }, undefined>;
1880
+ export declare const GetDoubleResultSchema: v.NumberSchema<undefined>;
1875
1881
 
1876
1882
  /**
1877
1883
  * Request parameters for getting an integer value from storage.
@@ -1899,7 +1905,8 @@ export declare const GetIntRequestSchema: v.ObjectSchema<{
1899
1905
  *
1900
1906
  * @remarks
1901
1907
  * This response can have the following status codes:
1902
- * - `200`: Value retrieved successfully. The `result` contains the integer value or null if not found.
1908
+ * - `200`: Value retrieved successfully. The `result` contains the integer value.
1909
+ * - `204`: Value not found in storage.
1903
1910
  * - `400`: Missing required parameters - key not provided.
1904
1911
  * - `424`: Failed Dependency - storage operation failed due to underlying storage error.
1905
1912
  * - `500`: Internal server error - an unexpected error occurred on the native side.
@@ -1916,9 +1923,9 @@ export declare type GetIntResponse = InferOutput<typeof GetIntResponseSchema>;
1916
1923
  */
1917
1924
  export declare const GetIntResponseSchema: v.UnionSchema<[v.ObjectSchema<{
1918
1925
  readonly status_code: v.LiteralSchema<200, undefined>;
1919
- readonly result: v.ObjectSchema<{
1920
- readonly value: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
1921
- }, undefined>;
1926
+ readonly result: v.NumberSchema<undefined>;
1927
+ }, undefined>, v.ObjectSchema<{
1928
+ readonly status_code: v.LiteralSchema<204, undefined>;
1922
1929
  }, undefined>, v.ObjectSchema<{
1923
1930
  readonly status_code: v.LiteralSchema<400, undefined>;
1924
1931
  readonly error: v.StringSchema<undefined>;
@@ -1934,18 +1941,14 @@ export declare const GetIntResponseSchema: v.UnionSchema<[v.ObjectSchema<{
1934
1941
  }, undefined>], undefined>;
1935
1942
 
1936
1943
  /**
1937
- * Result object containing the integer value.
1944
+ * The integer value returned when a key exists in storage.
1938
1945
  *
1939
- * @example
1940
- * **Value exists:**
1941
- * ```typescript
1942
- * { value: 42 }
1943
- * ```
1946
+ * @remarks
1947
+ * When the key has no stored value, the response `status_code` is `204` instead.
1944
1948
  *
1945
1949
  * @example
1946
- * **Value not found:**
1947
1950
  * ```typescript
1948
- * { value: null }
1951
+ * 42
1949
1952
  * ```
1950
1953
  *
1951
1954
  * @public
@@ -1957,9 +1960,7 @@ export declare type GetIntResult = InferOutput<typeof GetIntResultSchema>;
1957
1960
  *
1958
1961
  * @public
1959
1962
  */
1960
- export declare const GetIntResultSchema: v.ObjectSchema<{
1961
- readonly value: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
1962
- }, undefined>;
1963
+ export declare const GetIntResultSchema: v.NumberSchema<undefined>;
1963
1964
 
1964
1965
  /**
1965
1966
  * Response when getting the language locale identifier from the device.
@@ -2172,7 +2173,8 @@ export declare const GetStringRequestSchema: v.ObjectSchema<{
2172
2173
  *
2173
2174
  * @remarks
2174
2175
  * This response can have the following status codes:
2175
- * - `200`: Value retrieved successfully. The `result` contains the string value or null if not found.
2176
+ * - `200`: Value retrieved successfully. The `result` contains the string value.
2177
+ * - `204`: Value not found in storage.
2176
2178
  * - `400`: Missing required parameters - key not provided.
2177
2179
  * - `424`: Failed Dependency - storage operation failed due to underlying storage error.
2178
2180
  * - `500`: Internal server error - an unexpected error occurred on the native side.
@@ -2189,9 +2191,9 @@ export declare type GetStringResponse = InferOutput<typeof GetStringResponseSche
2189
2191
  */
2190
2192
  export declare const GetStringResponseSchema: v.UnionSchema<[v.ObjectSchema<{
2191
2193
  readonly status_code: v.LiteralSchema<200, undefined>;
2192
- readonly result: v.ObjectSchema<{
2193
- readonly value: v.NullableSchema<v.StringSchema<undefined>, undefined>;
2194
- }, undefined>;
2194
+ readonly result: v.StringSchema<undefined>;
2195
+ }, undefined>, v.ObjectSchema<{
2196
+ readonly status_code: v.LiteralSchema<204, undefined>;
2195
2197
  }, undefined>, v.ObjectSchema<{
2196
2198
  readonly status_code: v.LiteralSchema<400, undefined>;
2197
2199
  readonly error: v.StringSchema<undefined>;
@@ -2207,18 +2209,14 @@ export declare const GetStringResponseSchema: v.UnionSchema<[v.ObjectSchema<{
2207
2209
  }, undefined>], undefined>;
2208
2210
 
2209
2211
  /**
2210
- * Result object containing the string value.
2212
+ * The string value returned when a key exists in storage.
2211
2213
  *
2212
- * @example
2213
- * **Value exists:**
2214
- * ```typescript
2215
- * { value: 'john_doe' }
2216
- * ```
2214
+ * @remarks
2215
+ * When the key has no stored value, the response `status_code` is `204` instead.
2217
2216
  *
2218
2217
  * @example
2219
- * **Value not found:**
2220
2218
  * ```typescript
2221
- * { value: null }
2219
+ * 'john_doe'
2222
2220
  * ```
2223
2221
  *
2224
2222
  * @public
@@ -2230,9 +2228,7 @@ export declare type GetStringResult = InferOutput<typeof GetStringResultSchema>;
2230
2228
  *
2231
2229
  * @public
2232
2230
  */
2233
- export declare const GetStringResultSchema: v.ObjectSchema<{
2234
- readonly value: v.NullableSchema<v.StringSchema<undefined>, undefined>;
2235
- }, undefined>;
2231
+ export declare const GetStringResultSchema: v.StringSchema<undefined>;
2236
2232
 
2237
2233
  /**
2238
2234
  * Represents parsed information from a Grab app user agent string.
@@ -2857,6 +2853,9 @@ export declare function isError<T extends BridgeResponse>(response: T): response
2857
2853
  * @remarks
2858
2854
  * This response can have the following status codes:
2859
2855
  * - `200`: eSIM capability was checked successfully. The `result` contains `true` or `false`.
2856
+ * - `403`: Forbidden - client not authorized to query eSIM capability.
2857
+ * - `424`: Failed Dependency - underlying telephony/eSIM service unavailable.
2858
+ * - `426`: Upgrade Required - feature requires Grab app version 5.402 or above.
2860
2859
  * - `500`: Internal server error - an unexpected error occurred on the native side.
2861
2860
  * - `501`: Not implemented - this method requires the Grab app environment.
2862
2861
  *
@@ -2872,6 +2871,15 @@ export declare type IsEsimSupportedResponse = InferOutput<typeof IsEsimSupported
2872
2871
  export declare const IsEsimSupportedResponseSchema: v.UnionSchema<[v.ObjectSchema<{
2873
2872
  readonly status_code: v.LiteralSchema<200, undefined>;
2874
2873
  readonly result: v.BooleanSchema<undefined>;
2874
+ }, undefined>, v.ObjectSchema<{
2875
+ readonly status_code: v.LiteralSchema<403, undefined>;
2876
+ readonly error: v.StringSchema<undefined>;
2877
+ }, undefined>, v.ObjectSchema<{
2878
+ readonly status_code: v.LiteralSchema<424, undefined>;
2879
+ readonly error: v.StringSchema<undefined>;
2880
+ }, undefined>, v.ObjectSchema<{
2881
+ readonly status_code: v.LiteralSchema<426, undefined>;
2882
+ readonly error: v.StringSchema<undefined>;
2875
2883
  }, undefined>, v.ObjectSchema<{
2876
2884
  readonly status_code: v.LiteralSchema<500, undefined>;
2877
2885
  readonly error: v.StringSchema<undefined>;
@@ -4520,6 +4528,28 @@ export declare const SetBackgroundColorResponseSchema: v.UnionSchema<[v.ObjectSc
4520
4528
  */
4521
4529
  export declare type SetBackgroundColorResult = void;
4522
4530
 
4531
+ /**
4532
+ * Request parameters for storing a boolean value in storage.
4533
+ *
4534
+ * @example
4535
+ * ```typescript
4536
+ * { key: 'isDarkMode', value: true }
4537
+ * ```
4538
+ *
4539
+ * @public
4540
+ */
4541
+ export declare type SetBooleanRequest = InferOutput<typeof SetBooleanRequestSchema>;
4542
+
4543
+ /**
4544
+ * Valibot schema for {@link SetBooleanRequest}.
4545
+ *
4546
+ * @public
4547
+ */
4548
+ export declare const SetBooleanRequestSchema: v.ObjectSchema<{
4549
+ readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
4550
+ readonly value: v.BooleanSchema<undefined>;
4551
+ }, undefined>;
4552
+
4523
4553
  /**
4524
4554
  * Response when setting a boolean value.
4525
4555
  *
@@ -4564,6 +4594,28 @@ export declare const SetBooleanResponseSchema: v.UnionSchema<[v.ObjectSchema<{
4564
4594
  */
4565
4595
  export declare type SetBooleanResult = void;
4566
4596
 
4597
+ /**
4598
+ * Request parameters for storing a double value in storage.
4599
+ *
4600
+ * @example
4601
+ * ```typescript
4602
+ * { key: 'price', value: 19.99 }
4603
+ * ```
4604
+ *
4605
+ * @public
4606
+ */
4607
+ export declare type SetDoubleRequest = InferOutput<typeof SetDoubleRequestSchema>;
4608
+
4609
+ /**
4610
+ * Valibot schema for {@link SetDoubleRequest}.
4611
+ *
4612
+ * @public
4613
+ */
4614
+ export declare const SetDoubleRequestSchema: v.ObjectSchema<{
4615
+ readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
4616
+ readonly value: v.NumberSchema<undefined>;
4617
+ }, undefined>;
4618
+
4567
4619
  /**
4568
4620
  * Response when setting a double value.
4569
4621
  *
@@ -4608,6 +4660,28 @@ export declare const SetDoubleResponseSchema: v.UnionSchema<[v.ObjectSchema<{
4608
4660
  */
4609
4661
  export declare type SetDoubleResult = void;
4610
4662
 
4663
+ /**
4664
+ * Request parameters for storing an integer value in storage.
4665
+ *
4666
+ * @example
4667
+ * ```typescript
4668
+ * { key: 'userCount', value: 42 }
4669
+ * ```
4670
+ *
4671
+ * @public
4672
+ */
4673
+ export declare type SetIntRequest = InferOutput<typeof SetIntRequestSchema>;
4674
+
4675
+ /**
4676
+ * Valibot schema for {@link SetIntRequest}.
4677
+ *
4678
+ * @public
4679
+ */
4680
+ export declare const SetIntRequestSchema: v.ObjectSchema<{
4681
+ readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
4682
+ readonly value: v.NumberSchema<undefined>;
4683
+ }, undefined>;
4684
+
4611
4685
  /**
4612
4686
  * Response when setting an integer value.
4613
4687
  *
@@ -4652,6 +4726,28 @@ export declare const SetIntResponseSchema: v.UnionSchema<[v.ObjectSchema<{
4652
4726
  */
4653
4727
  export declare type SetIntResult = void;
4654
4728
 
4729
+ /**
4730
+ * Request parameters for storing a string value in storage.
4731
+ *
4732
+ * @example
4733
+ * ```typescript
4734
+ * { key: 'username', value: 'john_doe' }
4735
+ * ```
4736
+ *
4737
+ * @public
4738
+ */
4739
+ export declare type SetStringRequest = InferOutput<typeof SetStringRequestSchema>;
4740
+
4741
+ /**
4742
+ * Valibot schema for {@link SetStringRequest}.
4743
+ *
4744
+ * @public
4745
+ */
4746
+ export declare const SetStringRequestSchema: v.ObjectSchema<{
4747
+ readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
4748
+ readonly value: v.StringSchema<undefined>;
4749
+ }, undefined>;
4750
+
4655
4751
  /**
4656
4752
  * Response when setting a string value.
4657
4753
  *
@@ -4998,7 +5094,11 @@ export declare class StorageModule extends BaseModule {
4998
5094
  *
4999
5095
  * // Handle the response
5000
5096
  * if (isSuccess(response)) {
5001
- * console.log('Stored value:', response.result.value);
5097
+ * if (response.status_code === 200) {
5098
+ * console.log('Stored value:', response.result);
5099
+ * } else if (response.status_code === 204) {
5100
+ * console.log('No value stored for this key');
5101
+ * }
5002
5102
  * } else if (isError(response)) {
5003
5103
  * console.error(`Error ${response.status_code}: ${response.error}`);
5004
5104
  * } else {
@@ -5065,7 +5165,11 @@ export declare class StorageModule extends BaseModule {
5065
5165
  *
5066
5166
  * // Handle the response
5067
5167
  * if (isSuccess(response)) {
5068
- * console.log('Stored value:', response.result.value);
5168
+ * if (response.status_code === 200) {
5169
+ * console.log('Stored value:', response.result);
5170
+ * } else if (response.status_code === 204) {
5171
+ * console.log('No value stored for this key');
5172
+ * }
5069
5173
  * } else if (isError(response)) {
5070
5174
  * console.error(`Error ${response.status_code}: ${response.error}`);
5071
5175
  * } else {
@@ -5132,7 +5236,11 @@ export declare class StorageModule extends BaseModule {
5132
5236
  *
5133
5237
  * // Handle the response
5134
5238
  * if (isSuccess(response)) {
5135
- * console.log('Stored value:', response.result.value);
5239
+ * if (response.status_code === 200) {
5240
+ * console.log('Stored value:', response.result);
5241
+ * } else if (response.status_code === 204) {
5242
+ * console.log('No value stored for this key');
5243
+ * }
5136
5244
  * } else if (isError(response)) {
5137
5245
  * console.error(`Error ${response.status_code}: ${response.error}`);
5138
5246
  * } else {
@@ -5199,7 +5307,11 @@ export declare class StorageModule extends BaseModule {
5199
5307
  *
5200
5308
  * // Handle the response
5201
5309
  * if (isSuccess(response)) {
5202
- * console.log('Stored value:', response.result.value);
5310
+ * if (response.status_code === 200) {
5311
+ * console.log('Stored value:', response.result);
5312
+ * } else if (response.status_code === 204) {
5313
+ * console.log('No value stored for this key');
5314
+ * }
5203
5315
  * } else if (isError(response)) {
5204
5316
  * console.error(`Error ${response.status_code}: ${response.error}`);
5205
5317
  * } else {
package/dist/index.esm.js CHANGED
@@ -4,4 +4,4 @@
4
4
  * This source code is licensed under the MIT license found in the LICENSE file in the root
5
5
  * directory of this source tree.
6
6
  */
7
- var e,t={exports:{}},n=(e||(e=1,function(e){function t(e){var t=!1;return{isUnsubscribed:function(){return t},unsubscribe:function(){t||(e(),t=!0)}}}function n(e){return{subscribe:e,then:function(t,n){return new Promise(function(r,s){try{var o=null,a=!1;o=e({next:function(e){r(null==t?void 0:t(e)),o&&o.unsubscribe(),a=!0}}),a&&o&&o.unsubscribe()}catch(e){null==n?s(e):r(n(e))}})}}}function r(r,s){return s.funcNameToWrap,function(r,s){var o=s.callbackNameFunc,a=s.funcToWrap;return n(function(n){var s,i=o();return r[i]=function(t){if(function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(!e)return!1;var r=function(e){return Object.keys(e).concat(Object.getOwnPropertyNames(Object.getPrototypeOf(e)))}(e);return t.every(function(e){return 0<=r.indexOf(e)})}(t.result,"event"))t.result.event===e.StreamEvent.STREAM_TERMINATED&&s.unsubscribe();else{var r=t.result,o=t.error,a=t.status_code;n&&n.next&&n.next({result:null===r?void 0:r,error:null===o?void 0:o,status_code:null===a?void 0:a})}},a(i),s=t(function(){r[i]=void 0,n&&n.complete&&n.complete()})})}(r,function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var s=0;for(r=Object.getOwnPropertySymbols(e);s<r.length;s++)t.indexOf(r[s])<0&&(n[r[s]]=e[r[s]])}return n}(s,["funcNameToWrap"]))}(e.StreamEvent||(e.StreamEvent={})).STREAM_TERMINATED="STREAM_TERMINATED",e.createDataStream=n,e.createSubscription=t,e.getModuleEnvironment=function(e,t){return e[t]?"android":e.webkit&&e.webkit.messageHandlers&&e.webkit.messageHandlers[t]?"ios":void 0},e.wrapModule=function(e,t){var n;e[(n=t,"Wrapped"+n)]=function(e,t,n){return{invoke:function(s,o){return r(e,{funcNameToWrap:s,callbackNameFunc:function(){return function(e,t){var n=t.moduleName,r=t.funcName,s=0;return function(){for(var t,o,a="";(a=(t={moduleName:n,funcName:r,requestID:s}).moduleName+"_"+t.funcName+"Callback"+(null!==(o=t.requestID)?"_"+o:""))in e;)s+=1;return s+=1,a}()}(e,{moduleName:t,funcName:s})},funcToWrap:function(e){return n({callback:e,method:s,module:t,parameters:null!=o?o:{}})}})}}}(e,t,function(n){if(e[t]&&e[t][n.method]instanceof Function)e[t][n.method](JSON.stringify(n));else{if(!(e.webkit&&e.webkit.messageHandlers&&e.webkit.messageHandlers[t]))throw new Error("Unexpected method '"+n.method+"' for module '"+t+"'");e.webkit.messageHandlers[t].postMessage(n)}})},Object.defineProperty(e,"__esModule",{value:!0})}(t.exports)),t.exports);function r(e){return{lang:e?.lang??void 0,message:e?.message,abortEarly:e?.abortEarly??void 0,abortPipeEarly:e?.abortPipeEarly??void 0}}function s(e){const t=typeof e;return"string"===t?`"${e}"`:"number"===t||"bigint"===t||"boolean"===t?`${e}`:"object"===t||"function"===t?(e&&Object.getPrototypeOf(e)?.constructor?.name)??"null":t}function o(e,t,n,r,o){const a=o&&"input"in o?o.input:n.value,i=o?.expected??e.expects??null,c=o?.received??s(a),u={kind:e.kind,type:e.type,input:a,expected:i,received:c,message:`Invalid ${t}: ${i?`Expected ${i} but r`:"R"}eceived ${c}`,requirement:e.requirement,path:o?.path,issues:o?.issues,lang:r.lang,abortEarly:r.abortEarly,abortPipeEarly:r.abortPipeEarly},d="schema"===e.kind,l=o?.message??e.message??(e.reference,void u.lang)??(d?void u.lang:null)??r.message??void u.lang;void 0!==l&&(u.message="function"==typeof l?l(u):l),d&&(n.typed=!1),n.issues?n.issues.push(u):n.issues=[u]}function a(e){return{version:1,vendor:"valibot",validate:t=>e["~run"]({value:t},r())}}function i(e,t){return Object.hasOwn(e,t)&&"__proto__"!==t&&"prototype"!==t&&"constructor"!==t}function c(e,t){const n=[...new Set(e)];return n.length>1?`(${n.join(` ${t} `)})`:n[0]??"never"}function u(e,t){return{kind:"validation",type:"min_length",reference:u,async:!1,expects:`>=${e}`,requirement:e,message:t,"~run"(e,t){return e.typed&&e.value.length<this.requirement&&o(this,"length",e,t,{received:`${e.value.length}`}),e}}}function d(e){return{kind:"validation",type:"url",reference:d,async:!1,expects:null,requirement(e){try{return new URL(e),!0}catch{return!1}},message:e,"~run"(e,t){return e.typed&&!this.requirement(e.value)&&o(this,"URL",e,t),e}}}function l(e,t,n){return"function"==typeof e.fallback?e.fallback(t,n):e.fallback}function h(e,t,n){return"function"==typeof e.default?e.default(t,n):e.default}function p(e){return{kind:"schema",type:"boolean",reference:p,expects:"boolean",async:!1,message:e,get"~standard"(){return a(this)},"~run"(e,t){return"boolean"==typeof e.value?e.typed=!0:o(this,"type",e,t),e}}}function g(e,t){return{kind:"schema",type:"literal",reference:g,expects:s(e),async:!1,literal:e,message:t,get"~standard"(){return a(this)},"~run"(e,t){return e.value===this.literal?e.typed=!0:o(this,"type",e,t),e}}}function m(e,t){return{kind:"schema",type:"nullable",reference:m,expects:`(${e.expects} | null)`,async:!1,wrapped:e,default:t,get"~standard"(){return a(this)},"~run"(e,t){return null===e.value&&(void 0!==this.default&&(e.value=h(this,e,t)),null===e.value)?(e.typed=!0,e):this.wrapped["~run"](e,t)}}}function f(e){return{kind:"schema",type:"number",reference:f,expects:"number",async:!1,message:e,get"~standard"(){return a(this)},"~run"(e,t){return"number"!=typeof e.value||isNaN(e.value)?o(this,"type",e,t):e.typed=!0,e}}}function v(e,t){return{kind:"schema",type:"object",reference:v,expects:"Object",async:!1,entries:e,message:t,get"~standard"(){return a(this)},"~run"(e,t){const n=e.value;if(n&&"object"==typeof n){e.typed=!0,e.value={};for(const r in this.entries){const s=this.entries[r];if(r in n||("exact_optional"===s.type||"optional"===s.type||"nullish"===s.type)&&void 0!==s.default){const o=r in n?n[r]:h(s),a=s["~run"]({value:o},t);if(a.issues){const s={type:"object",origin:"value",input:n,key:r,value:o};for(const t of a.issues)t.path?t.path.unshift(s):t.path=[s],e.issues?.push(t);if(e.issues||(e.issues=a.issues),t.abortEarly){e.typed=!1;break}}a.typed||(e.typed=!1),e.value[r]=a.value}else if(void 0!==s.fallback)e.value[r]=l(s);else if("exact_optional"!==s.type&&"optional"!==s.type&&"nullish"!==s.type&&(o(this,"key",e,t,{input:void 0,expected:`"${r}"`,path:[{type:"object",origin:"key",input:n,key:r,value:n[r]}]}),t.abortEarly))break}}else o(this,"type",e,t);return e}}}function y(e,t){return{kind:"schema",type:"optional",reference:y,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return a(this)},"~run"(e,t){return void 0===e.value&&(void 0!==this.default&&(e.value=h(this,e,t)),void 0===e.value)?(e.typed=!0,e):this.wrapped["~run"](e,t)}}}function w(e,t){return{kind:"schema",type:"picklist",reference:w,expects:c(e.map(s),"|"),async:!1,options:e,message:t,get"~standard"(){return a(this)},"~run"(e,t){return this.options.includes(e.value)?e.typed=!0:o(this,"type",e,t),e}}}function k(e,t,n){return{kind:"schema",type:"record",reference:k,expects:"Object",async:!1,key:e,value:t,message:n,get"~standard"(){return a(this)},"~run"(e,t){const n=e.value;if(n&&"object"==typeof n){e.typed=!0,e.value={};for(const r in n)if(i(n,r)){const s=n[r],o=this.key["~run"]({value:r},t);if(o.issues){const a={type:"object",origin:"key",input:n,key:r,value:s};for(const t of o.issues)t.path=[a],e.issues?.push(t);if(e.issues||(e.issues=o.issues),t.abortEarly){e.typed=!1;break}}const a=this.value["~run"]({value:s},t);if(a.issues){const o={type:"object",origin:"value",input:n,key:r,value:s};for(const t of a.issues)t.path?t.path.unshift(o):t.path=[o],e.issues?.push(t);if(e.issues||(e.issues=a.issues),t.abortEarly){e.typed=!1;break}}o.typed&&a.typed||(e.typed=!1),o.typed&&(e.value[o.value]=a.value)}}else o(this,"type",e,t);return e}}}function b(e){return{kind:"schema",type:"string",reference:b,expects:"string",async:!1,message:e,get"~standard"(){return a(this)},"~run"(e,t){return"string"==typeof e.value?e.typed=!0:o(this,"type",e,t),e}}}function _(e){let t;if(e)for(const n of e)t?t.push(...n.issues):t=n.issues;return t}function x(e,t){return{kind:"schema",type:"union",reference:x,expects:c(e.map(e=>e.expects),"|"),async:!1,options:e,message:t,get"~standard"(){return a(this)},"~run"(e,t){let n,r,s;for(const o of this.options){const a=o["~run"]({value:e.value},t);if(a.typed){if(!a.issues){n=a;break}r?r.push(a):r=[a]}else s?s.push(a):s=[a]}if(n)return n;if(r){if(1===r.length)return r[0];o(this,"type",e,t,{issues:_(r)}),e.typed=!0}else{if(1===s?.length)return s[0];o(this,"type",e,t,{issues:_(s)})}return e}}}function U(){return{kind:"schema",type:"unknown",reference:U,expects:"unknown",async:!1,get"~standard"(){return a(this)},"~run":e=>(e.typed=!0,e)}}function $(...e){return{...e[0],pipe:e,get"~standard"(){return a(this)},"~run"(t,n){for(const r of e)if("metadata"!==r.kind){if(t.issues&&("schema"===r.kind||"transformation"===r.kind)){t.typed=!1;break}t.issues&&(n.abortEarly||n.abortPipeEarly)||(t=r["~run"](t,n))}return t}}}function S(e){return"object"==typeof e&&null!==e&&"message"in e&&"string"==typeof e.message}class E{constructor(e){this.moduleName=e}formatPrefix(e){return`[SuperAppSDK][${this.moduleName}.${e}]`}warn(e,t){console.warn(`${this.formatPrefix(e)} ${t}`)}error(e,t){console.error(`${this.formatPrefix(e)} ${t}`)}}function C(){if("undefined"==typeof window||!window.navigator)return null;const e=window.navigator.userAgent;return e?function(e){if(!e||"string"!=typeof e)return null;const t=e.match(/(Grab|GrabBeta|GrabBetaDebug|GrabTaxi|GrabEarlyAccess)\/v?([0-9]+)\.([0-9]+)\.([0-9]+) \(.*(Android|iOS).*\)/i);return t?{appName:t[1],version:{major:Number(t[2]),minor:Number(t[3]),patch:Number(t[4])},platform:t[5]}:null}(e):null}class A{get wrappedModule(){return window[`Wrapped${this.name}`]}constructor(e){if(this.name=e,this.logger=new E(e),!this.wrappedModule)try{n.wrapModule(window,this.name)}catch(e){throw new Error(`Failed to initialize ${this.name}${S(e)?`: ${e.message}`:""}`,{cause:e})}}validate(e,t){const n=function(e,t){const n=e["~run"]({value:t},r(void 0));return{typed:n.typed,success:!n.issues,output:n.value,issues:n.issues}}(e,t);return n.success?null:n.issues.map(e=>{const t=e.path?.map(e=>String(e.key)).join(".");return t?`${t}: ${e.message}`:e.message}).join(", ")}checkSupport(e){const t=C();return t?e(t)?null:{status_code:426,error:"Upgrade Required: This method requires a newer version of the Grab app"}:{status_code:501,error:"Not implemented: This method requires the Grab app environment"}}async invoke(e){const{method:t,params:n}=e;try{return C()?await this.wrappedModule.invoke(t,n):{status_code:501,error:"Not implemented: This method requires the Grab app environment"}}catch(e){return{status_code:500,error:`Failed to invoke method: ${S(e)?e.message:"Unknown error"}`}}}createErrorStream(e){return{subscribe:t=>(t?.next?.(e),t?.complete?.(),{isUnsubscribed:()=>!0,unsubscribe:()=>{}}),then:t=>Promise.resolve(e).then(t)}}invokeStream(e){const{method:t,params:n}=e;try{return C()?this.wrappedModule.invoke(t,n):this.createErrorStream({status_code:501,error:"Not implemented: This method requires the Grab app environment"})}catch(e){return this.createErrorStream({status_code:500,error:`Failed to invoke method: ${S(e)?e.message:"Unknown error"}`})}}}function I(e){return e.status_code>=200&&e.status_code<300}function M(e){return 200===e.status_code}function T(e){return 204===e.status_code}function O(e){return 302===e.status_code}function N(e){return 302===e.status_code}function P(e){return e.status_code>=400&&e.status_code<500}function R(e){return e.status_code>=500&&e.status_code<600}function B(e){return e.status_code>=400&&e.status_code<600||"string"==typeof e.error&&e.error.length>0}function L(e){return"result"in e&&null!==e.result&&void 0!==e.result}const j=e=>v({status_code:g(e),error:b()}),D=e=>v({status_code:g(200),result:e}),z=v({status_code:g(204)}),K=v({status_code:g(302)}),G=v({title:y(b())}),W=v({qrCode:b()}),F=x([D(W),z,j(400),j(403),j(500),j(501)]);class q extends A{constructor(){super("CameraModule")}async scanQRCode(e={}){const t=this.validate(G,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"scanQRCode",params:e}),r=this.validate(F,n);return r&&this.logger.warn("scanQRCode",`Unexpected response shape: ${r}`),n}}const H=k(b(),U()),V=function e(t,n,r){return{kind:"schema",type:"variant",reference:e,expects:"Object",async:!1,key:t,options:n,message:r,get"~standard"(){return a(this)},"~run"(e,t){const n=e.value;if(n&&"object"==typeof n){let r,s=0,a=this.key,i=[];const u=(e,o)=>{for(const c of e.options){if("variant"===c.type)u(c,new Set(o).add(c.key));else{let e=!0,u=0;for(const t of o){const r=c.entries[t];if(t in n?r["~run"]({typed:!1,value:n[t]},{abortEarly:!0}).issues:"exact_optional"!==r.type&&"optional"!==r.type&&"nullish"!==r.type){e=!1,a!==t&&(s<u||s===u&&t in n&&!(a in n))&&(s=u,a=t,i=[]),a===t&&i.push(c.entries[t].expects);break}u++}if(e){const e=c["~run"]({value:n},t);(!r||!r.typed&&e.typed)&&(r=e)}}if(r&&!r.issues)break}};if(u(this,new Set([this.key])),r)return r;o(this,"type",e,t,{input:n[a],expected:c(i,"|"),path:[{type:"object",origin:"value",input:n,key:a,value:n[a]}]})}else o(this,"type",e,t);return e}}}("status",[v({status:g("success"),transactionID:b()}),v({status:g("failure"),transactionID:b(),errorMessage:b(),errorCode:b()}),v({status:g("pending"),transactionID:b()}),v({status:g("userInitiatedCancel")})]),Y=x([D(V),j(400),j(500),j(501)]);class J extends A{constructor(){super("CheckoutModule")}async triggerCheckout(e){const t=this.validate(H,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"triggerCheckout",params:e}),r=this.validate(Y,n);return r&&this.logger.warn("triggerCheckout",`Unexpected response shape: ${r}`),n}}const Q={HOMEPAGE:"HOMEPAGE",CHECKOUT_PAGE:"CHECKOUT_PAGE",BOOKING_COMPLETION:"BOOKING_COMPLETION",CUSTOM:"CUSTOM"},X={DEFAULT:"DEFAULT"},Z={TRANSACTION_AMOUNT:"transaction_amount",TRANSACTION_CURRENCY:"transaction_currency",PAGE:"page"},ee=x([D(p()),z,j(400),j(500),j(501)]),te=x([z,j(400),j(500),j(501)]),ne=x([D(p()),z,j(400),j(500),j(501)]),re=x([z,j(400),j(500),j(501)]),se=x([D(p()),z,j(500),j(501)]),oe=x([z,j(500),j(501)]),ae=x([D(p()),z,j(500),j(501)]),ie=x([z,j(500),j(501)]),ce=x([D(p()),z,j(500),j(501)]),ue=x([z,j(500),j(501)]),de=x([D(p()),z,j(500),j(501)]),le=x([z,j(500),j(501)]),he=x([D(p()),z,j(500),j(501)]),pe=x([z,j(500),j(501)]),ge=x([D(p()),z,j(500),j(501)]),me=x([D(p()),z,j(500),j(501)]),fe=x([z,j(500),j(501)]),ve=x([D(p()),z,j(500),j(501)]),ye=x([z,j(500),j(501)]),we=x([D(p()),z,j(400),j(500),j(501)]),ke=x([z,j(400),j(500),j(501)]),be=x([D(p()),j(500),j(501)]),_e=v({state:$(b(),u(1)),name:$(b(),u(1)),data:y(k(b(),U()))}),xe=x([D(p()),z,j(400),j(500),j(501)]),Ue=x([z,j(400),j(500),j(501)]),$e=v({connected:p()}),Se=x([D($e),j(404)]),Ee=b(),Ce=x([D(Ee),z,j(500),j(501)]);class Ae extends A{constructor(){super("ContainerModule")}async setBackgroundColor(e){const t=await this.invoke({method:"setBackgroundColor",params:{backgroundColor:e}}),n=this.validate(ee,t);let r;n&&this.logger.warn("setBackgroundColor",`Unexpected raw response shape: ${n}`),r=M(t)?{status_code:204}:t;const s=this.validate(te,r);return s&&this.logger.warn("setBackgroundColor",`Unexpected response shape: ${s}`),r}async setTitle(e){const t=await this.invoke({method:"setTitle",params:{title:e}}),n=this.validate(ne,t);let r;n&&this.logger.warn("setTitle",`Unexpected raw response shape: ${n}`),r=M(t)?{status_code:204}:t;const s=this.validate(re,r);return s&&this.logger.warn("setTitle",`Unexpected response shape: ${s}`),r}async hideBackButton(){const e=await this.invoke({method:"hideBackButton"}),t=this.validate(se,e);let n;t&&this.logger.warn("hideBackButton",`Unexpected raw response shape: ${t}`),n=M(e)?{status_code:204}:e;const r=this.validate(oe,n);return r&&this.logger.warn("hideBackButton",`Unexpected response shape: ${r}`),n}async showBackButton(){const e=await this.invoke({method:"showBackButton"}),t=this.validate(ae,e);let n;t&&this.logger.warn("showBackButton",`Unexpected raw response shape: ${t}`),n=M(e)?{status_code:204}:e;const r=this.validate(ie,n);return r&&this.logger.warn("showBackButton",`Unexpected response shape: ${r}`),n}async hideRefreshButton(){const e=await this.invoke({method:"hideRefreshButton"}),t=this.validate(ce,e);let n;t&&this.logger.warn("hideRefreshButton",`Unexpected raw response shape: ${t}`),n=M(e)?{status_code:204}:e;const r=this.validate(ue,n);return r&&this.logger.warn("hideRefreshButton",`Unexpected response shape: ${r}`),n}async showRefreshButton(){const e=await this.invoke({method:"showRefreshButton"}),t=this.validate(de,e);let n;t&&this.logger.warn("showRefreshButton",`Unexpected raw response shape: ${t}`),n=M(e)?{status_code:204}:e;const r=this.validate(le,n);return r&&this.logger.warn("showRefreshButton",`Unexpected response shape: ${r}`),n}async close(){const e=await this.invoke({method:"close"}),t=this.validate(he,e);let n;t&&this.logger.warn("close",`Unexpected raw response shape: ${t}`),n=M(e)?{status_code:204}:e;const r=this.validate(pe,n);return r&&this.logger.warn("close",`Unexpected response shape: ${r}`),n}async onContentLoaded(){const e=await this.invoke({method:"onContentLoaded"}),t=this.validate(ge,e);return t&&this.logger.warn("onContentLoaded",`Unexpected response shape: ${t}`),e}async showLoader(){const e=await this.invoke({method:"showLoader"}),t=this.validate(me,e);let n;t&&this.logger.warn("showLoader",`Unexpected raw response shape: ${t}`),n=M(e)?{status_code:204}:e;const r=this.validate(fe,n);return r&&this.logger.warn("showLoader",`Unexpected response shape: ${r}`),n}async hideLoader(){const e=await this.invoke({method:"hideLoader"}),t=this.validate(ve,e);let n;t&&this.logger.warn("hideLoader",`Unexpected raw response shape: ${t}`),n=M(e)?{status_code:204}:e;const r=this.validate(ye,n);return r&&this.logger.warn("hideLoader",`Unexpected response shape: ${r}`),n}async openExternalLink(e){const t=await this.invoke({method:"openExternalLink",params:{url:e}}),n=this.validate(we,t);let r;n&&this.logger.warn("openExternalLink",`Unexpected raw response shape: ${n}`),r=M(t)?{status_code:204}:t;const s=this.validate(ke,r);return s&&this.logger.warn("openExternalLink",`Unexpected response shape: ${s}`),r}async onCtaTap(e){const t=await this.invoke({method:"onCtaTap",params:{action:e}}),n=this.validate(be,t);return n&&this.logger.warn("onCtaTap",`Unexpected response shape: ${n}`),t}async sendAnalyticsEvent(e){const t=this.validate(_e,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"sendAnalyticsEvent",params:{state:e.state,name:e.name,data:e.data?JSON.stringify(e.data):null}}),r=this.validate(xe,n);let s;r&&this.logger.warn("sendAnalyticsEvent",`Unexpected raw response shape: ${r}`),s=M(n)?{status_code:204}:n;const o=this.validate(Ue,s);return o&&this.logger.warn("sendAnalyticsEvent",`Unexpected response shape: ${o}`),s}async isConnected(){return null!==C()?{status_code:200,result:{connected:!0}}:{status_code:404,error:"Not connected to Grab app"}}async getSessionParams(){const e=await this.invoke({method:"getSessionParams"}),t=this.validate(Ce,e);return t&&this.logger.warn("getSessionParams",`Unexpected response shape: ${t}`),e}}const Ie=p(),Me=x([D(Ie),j(500),j(501)]);class Te extends A{constructor(){super("DeviceModule")}async isEsimSupported(){const e=await this.invoke({method:"isEsimSupported"}),t=this.validate(Me,e);return t&&this.logger.warn("isEsimSupported",`Unexpected response shape: ${t}`),e}}const Oe=v({fileUrl:$(b(),d()),fileName:$(b(),u(1))}),Ne=x([z,j(400),j(500),j(501)]);class Pe extends A{constructor(){super("FileModule")}async downloadFile(e){const t=this.validate(Oe,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"downloadFile",params:e}),r=this.validate(Ne,n);return r&&this.logger.warn("downloadFile",`Unexpected response shape: ${r}`),n}}function Re(e){const t=new Uint32Array(e);crypto.getRandomValues(t);let n="";for(let r=0;r<e;r+=1)n+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(t[r]%62);return n}async function Be(e){const t=(new TextEncoder).encode(e);return function(e){const t=new Uint8Array(e);let n="";for(let e=0;e<t.byteLength;e+=1)n+=String.fromCharCode(t[e]);return btoa(n).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}(await crypto.subtle.digest("SHA-256",t))}function Le(e,t){return e.major!==t.major?e.major>t.major:e.minor!==t.minor?e.minor>t.minor:e.patch>=t.patch}const je="grabid",De={staging:"https://partner-api.stg-myteksi.com/grabid/v1/oauth2/.well-known/openid-configuration",production:"https://partner-api.grab.com/grabid/v1/oauth2/.well-known/openid-configuration"};class ze extends Error{constructor(e,t){super(e),this.cause=t,this.name="AuthorizationConfigurationError"}}const Ke=v({clientId:$(b(),u(1)),redirectUri:$(b(),d()),scope:$(b(),u(1)),environment:w(["staging","production"]),responseMode:y(w(["redirect","in_place"]))}),Ge=v({code:b(),state:b()}),We=x([D(Ge),z,K,j(400),j(403),j(500),j(501)]),Fe=v({state:b(),codeVerifier:b(),nonce:b(),redirectUri:b()}),qe=x([D(Fe),z,j(400)]),He=x([z]);class Ve extends A{constructor(){super("IdentityModule")}async fetchAuthorizationEndpoint(e){const t=De[e];if(!t)throw new Error(`Invalid environment: ${e}. Must be 'staging' or 'production'`);try{const e=await fetch(t);if(!e.ok)throw console.error(`Failed to fetch OpenID configuration from ${t}: ${e.status} ${e.statusText}`),new ze("Failed to fetch authorization configuration");const n=await e.json();if(!n.authorization_endpoint)throw console.error("authorization_endpoint not found in OpenID configuration response"),new ze("Invalid authorization configuration");return n.authorization_endpoint}catch(e){if(console.error("Error fetching authorization endpoint:",e),e instanceof ze)throw e;throw new Error("Something wrong happened when fetching authorization configuration",{cause:e})}}async generatePKCEArtifacts(){const e=Re(16),t=Re(32),n=(r=Re(64),btoa(r).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"));var r;return{nonce:e,state:t,codeVerifier:n,codeChallenge:await Be(n),codeChallengeMethod:"S256"}}storePKCEArtifacts(e){this.setStorageItem("nonce",e.nonce),this.setStorageItem("state",e.state),this.setStorageItem("code_verifier",e.codeVerifier),this.setStorageItem("redirect_uri",e.redirectUri)}async getAuthorizationArtifacts(){const e=this.getStorageItem("state"),t=this.getStorageItem("code_verifier"),n=this.getStorageItem("nonce"),r=this.getStorageItem("redirect_uri");return null===e&&null===t&&null===n&&null===r?{status_code:204}:null!==e&&null!==t&&null!==n&&null!==r?{status_code:200,result:{state:e,codeVerifier:t,nonce:n,redirectUri:r}}:{status_code:400,error:"Inconsistent authorization artifacts in storage"}}async clearAuthorizationArtifacts(){return window.localStorage.removeItem(`${je}:nonce`),window.localStorage.removeItem(`${je}:state`),window.localStorage.removeItem(`${je}:code_verifier`),window.localStorage.removeItem(`${je}:redirect_uri`),window.localStorage.removeItem(`${je}:login_return_uri`),{status_code:204}}setStorageItem(e,t){window.localStorage.setItem(`${je}:${e}`,t)}getStorageItem(e){return window.localStorage.getItem(`${je}:${e}`)}static normalizeUrl(e){const t=new URL(e);return`${t.origin}${t.pathname}`}static buildAuthorizeUrl(e,t){return`${e}?${Object.entries(t).filter(e=>void 0!==e[1]&&null!==e[1]).map(([e,t])=>`${encodeURIComponent(e)}=${encodeURIComponent(t)}`).join("&")}`}static shouldUseWebConsent(e){const t=C();return!t||"staging"!==e.environment&&!Le(t.version,{major:5,minor:396,patch:0})}async performWebAuthorization(e){let t;this.setStorageItem("login_return_uri",window.location.href),this.setStorageItem("redirect_uri",e.redirectUri);try{t=await this.fetchAuthorizationEndpoint(e.environment)}catch(e){return{status_code:400,error:S(e)?e.message:"Could not fetch authorization endpoint"}}const n={client_id:e.clientId,scope:e.scope,response_type:"code",redirect_uri:e.redirectUri,nonce:e.nonce,state:e.state,code_challenge_method:e.codeChallengeMethod,code_challenge:e.codeChallenge},r=Ve.buildAuthorizeUrl(t,n);return window.location.assign(r),{status_code:302}}async performNativeAuthorization(e){const t=await this.invoke({method:"authorize",params:{clientId:e.clientId,redirectUri:e.actualRedirectUri,scope:e.scope,nonce:e.nonce,state:e.state,codeChallenge:e.codeChallenge,codeChallengeMethod:e.codeChallengeMethod,responseMode:e.responseMode}}),n=this.validate(We,t);return n&&this.logger.warn("authorize",`Unexpected response shape: ${n}`),t}async authorize(e){const t=this.validate(Ke,e);if(t)return{status_code:400,error:t};const n=await this.generatePKCEArtifacts(),r=e.responseMode||"redirect",s="in_place"===r?Ve.normalizeUrl(window.location.href):e.redirectUri;this.storePKCEArtifacts({...n,redirectUri:s});const o={clientId:e.clientId,redirectUri:e.redirectUri,scope:e.scope,nonce:n.nonce,state:n.state,codeChallenge:n.codeChallenge,codeChallengeMethod:n.codeChallengeMethod};if(Ve.shouldUseWebConsent(e))return this.performWebAuthorization({...o,environment:e.environment});try{const t=await this.performNativeAuthorization({...o,actualRedirectUri:s,responseMode:r});return 400===t.status_code||403===t.status_code||500===t.status_code||501===t.status_code?(console.error(`Native authorization returned ${t.status_code}, falling back to web flow:`,t.error),this.performWebAuthorization({...o,environment:e.environment})):t}catch(t){return console.error("Native authorization failed, falling back to web flow:",t),this.performWebAuthorization({...o,environment:e.environment})}}}const Ye=b(),Je=x([D(Ye),z,j(400),j(500),j(501)]);class Qe extends A{constructor(){super("LocaleModule")}async getLanguageLocaleIdentifier(){const e=await this.invoke({method:"getLanguageLocaleIdentifier"}),t=this.validate(Je,e);return t&&this.logger.warn("getLanguageLocaleIdentifier",`Unexpected response shape: ${t}`),e}}const Xe=v({latitude:f(),longitude:f()}),Ze=x([D(Xe),j(403),j(424),j(500),j(501)]),et=b(),tt=x([D(et),z,j(403),j(424),j(500),j(501)]);class nt extends A{constructor(){super("LocationModule")}async getCoordinate(){const e=await this.invoke({method:"getCoordinate"}),t=this.validate(Ze,e);return t&&this.logger.warn("getCoordinate",`Unexpected response shape: ${t}`),e}observeLocationChange(){return this.invokeStream({method:"observeLocationChange"})}async getCountryCode(){const e=await this.invoke({method:"getCountryCode"}),t=this.validate(tt,e);return t&&this.logger.warn("getCountryCode",`Unexpected response shape: ${t}`),e}}const rt=v({type:w(["START_PLAYBACK","PROGRESS_PLAYBACK","START_SEEK","STOP_SEEK","STOP_PLAYBACK","CLOSE_PLAYBACK","PAUSE_PLAYBACK","RESUME_PLAYBACK","FAST_FORWARD_PLAYBACK","REWIND_PLAYBACK","ERROR_PLAYBACK","CHANGE_VOLUME"]),titleId:b(),position:f(),length:f()}),st=x([D(rt),z,j(400),j(424),j(500),j(501)]),ot=x([D(rt),j(500),j(501)]);class at extends A{constructor(){super("MediaModule")}async playDRMContent(e){const t=await this.invoke({method:"playDRMContent",params:{data:e}}),n=this.validate(st,t);return n&&this.logger.warn("playDRMContent",`Unexpected response shape: ${n}`),t}observePlayDRMContent(e){return this.invokeStream({method:"observePlayDRMContent",params:{data:e}})}}const it=v({endpoint:b(),method:w(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS"]),headers:y(k(b(),b())),query:y(k(b(),b())),body:y(U()),timeout:y(f())}),ct=k(b(),U()),ut=x([D(ct),z,j(400),j(401),j(403),j(404),j(424),j(426),j(500),j(501)]),dt=x([b(),ct]),lt=x([D(dt),z,j(400),j(401),j(403),j(404),j(424),j(426),j(500),j(501)]);class ht extends A{constructor(){super("NetworkModule")}async send(e){const t=this.validate(it,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"send",params:e}),r=this.validate(lt,n);if(r&&this.logger.warn("send",`Unexpected raw response shape: ${r}`),I(n)&&L(n)&&"string"==typeof n.result)try{const e=JSON.parse(n.result),t={...n,result:e},r=this.validate(ut,t);return r&&this.logger.warn("send",`Unexpected response shape after parsing: ${r}`),t}catch{return{status_code:500,error:"Failed to parse response result as JSON"}}const s=n,o=this.validate(ut,s);return o&&this.logger.warn("send",`Unexpected response shape: ${o}`),s}}const pt=x([z,j(500),j(501)]);class gt extends A{constructor(){super("PlatformModule")}async back(){const e=await this.invoke({method:"back"}),t=this.validate(pt,e);return t&&this.logger.warn("back",`Unexpected response shape: ${t}`),e}}const mt=v({email:b()}),ft=x([D(mt),z,j(400),j(403),j(426),j(500),j(501)]),vt=v({email:y($(b(),u(1))),skipUserInput:y(p())}),yt=v({email:b()}),wt=x([D(yt),z,j(400),j(403),j(426),j(500),j(501)]);class kt extends A{constructor(){super("ProfileModule")}async fetchEmail(){const e=this.checkSupport(e=>Le(e.version,kt.MINIMUM_VERSION));if(e)return e;const t=await this.invoke({method:"fetchEmail"}),n=this.validate(ft,t);return n&&this.logger.warn("fetchEmail",`Unexpected response shape: ${n}`),t}async verifyEmail(e){const t=this.checkSupport(e=>Le(e.version,kt.MINIMUM_VERSION));if(t)return t;const n=this.validate(vt,e??{});if(n)return{status_code:400,error:n};const r=await this.invoke({method:"verifyEmail",params:e}),s=this.validate(wt,r);return s&&this.logger.warn("verifyEmail",`Unexpected response shape: ${s}`),r}}kt.MINIMUM_VERSION={major:5,minor:399,patch:0};const bt=v({module:$(b(),u(1)),method:$(b(),u(1))}),_t=p(),xt=x([D(_t),j(400),j(424),j(500),j(501)]),Ut=x([z,j(424),j(500),j(501)]);class $t extends A{constructor(){super("ScopeModule")}async hasAccessTo(e,t){const n={module:e,method:t},r=this.validate(bt,n);if(r)return{status_code:400,error:r};const s=await this.invoke({method:"hasAccessTo",params:n}),o=this.validate(xt,s);return o&&this.logger.warn("hasAccessTo",`Unexpected response shape: ${o}`),s}async reloadScopes(){const e=await this.invoke({method:"reloadScopes"}),t=this.validate(Ut,e);return t&&this.logger.warn("reloadScopes",`Unexpected response shape: ${t}`),e}}const St=x([z,j(400),j(403),j(500),j(501)]);class Et extends A{constructor(){super("SplashScreenModule")}async dismiss(){const e=await this.invoke({method:"dismiss"}),t=this.validate(St,e);return t&&this.logger.warn("dismiss",`Unexpected response shape: ${t}`),e}}const Ct=v({key:$(b(),u(1))}),At=x([z,j(400),j(424),j(500),j(501)]),It=Ct,Mt=v({value:m(p())}),Tt=x([D(Mt),j(400),j(424),j(500),j(501)]),Ot=x([z,j(400),j(424),j(500),j(501)]),Nt=Ct,Pt=v({value:m(f())}),Rt=x([D(Pt),j(400),j(424),j(500),j(501)]),Bt=x([z,j(400),j(424),j(500),j(501)]),Lt=Ct,jt=v({value:m(b())}),Dt=x([D(jt),j(400),j(424),j(500),j(501)]),zt=x([z,j(400),j(424),j(500),j(501)]),Kt=Ct,Gt=v({value:m(f())}),Wt=x([D(Gt),j(400),j(424),j(500),j(501)]),Ft=Ct,qt=x([z,j(400),j(424),j(500),j(501)]),Ht=x([z,j(424),j(500),j(501)]);class Vt extends A{constructor(){super("StorageModule")}async setBoolean(e,t){const n=await this.invoke({method:"setBoolean",params:{key:e,value:t}}),r=this.validate(At,n);return r&&this.logger.warn("setBoolean",`Unexpected response shape: ${r}`),n}async getBoolean(e){const t={key:e},n=this.validate(It,t);if(n)return{status_code:400,error:n};const r=await this.invoke({method:"getBoolean",params:t}),s=this.validate(Tt,r);return s&&this.logger.warn("getBoolean",`Unexpected response shape: ${s}`),r}async setInt(e,t){const n=await this.invoke({method:"setInt",params:{key:e,value:t}}),r=this.validate(Ot,n);return r&&this.logger.warn("setInt",`Unexpected response shape: ${r}`),n}async getInt(e){const t={key:e},n=this.validate(Nt,t);if(n)return{status_code:400,error:n};const r=await this.invoke({method:"getInt",params:t}),s=this.validate(Rt,r);return s&&this.logger.warn("getInt",`Unexpected response shape: ${s}`),r}async setString(e,t){const n=await this.invoke({method:"setString",params:{key:e,value:t}}),r=this.validate(Bt,n);return r&&this.logger.warn("setString",`Unexpected response shape: ${r}`),n}async getString(e){const t={key:e},n=this.validate(Lt,t);if(n)return{status_code:400,error:n};const r=await this.invoke({method:"getString",params:t}),s=this.validate(Dt,r);return s&&this.logger.warn("getString",`Unexpected response shape: ${s}`),r}async setDouble(e,t){const n=await this.invoke({method:"setDouble",params:{key:e,value:t}}),r=this.validate(zt,n);return r&&this.logger.warn("setDouble",`Unexpected response shape: ${r}`),n}async getDouble(e){const t={key:e},n=this.validate(Kt,t);if(n)return{status_code:400,error:n};const r=await this.invoke({method:"getDouble",params:t}),s=this.validate(Wt,r);return s&&this.logger.warn("getDouble",`Unexpected response shape: ${s}`),r}async remove(e){const t={key:e},n=this.validate(Ft,t);if(n)return{status_code:400,error:n};const r=await this.invoke({method:"remove",params:t}),s=this.validate(qt,r);return s&&this.logger.warn("remove",`Unexpected response shape: ${s}`),r}async removeAll(){const e=await this.invoke({method:"removeAll"}),t=this.validate(Ht,e);return t&&this.logger.warn("removeAll",`Unexpected response shape: ${t}`),e}}const Yt=v({url:$(b(),d())}),Jt=x([D(b()),j(400),j(424),j(500),j(501)]);class Qt extends A{constructor(){super("SystemWebViewKitModule")}async redirectToSystemWebView(e){const t=this.validate(Yt,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"redirectToSystemWebView",params:e}),r=this.validate(Jt,n);return r&&this.logger.warn("redirectToSystemWebView",`Unexpected response shape: ${r}`),n}}const Xt=b(),Zt=x([D(Xt),z,j(500),j(501)]);class en extends A{constructor(){super("UserAttributesModule")}async getSelectedTravelDestination(){const e=await this.invoke({method:"getSelectedTravelDestination"}),t=this.validate(Zt,e);return t&&this.logger.warn("getSelectedTravelDestination",`Unexpected response shape: ${t}`),e}}export{Ke as AuthorizeRequestSchema,We as AuthorizeResponseSchema,Ge as AuthorizeResultSchema,pt as BackResponseSchema,A as BaseModule,q as CameraModule,J as CheckoutModule,He as ClearAuthorizationArtifactsResponseSchema,pe as CloseResponseSchema,Z as ContainerAnalyticsEventData,X as ContainerAnalyticsEventName,Q as ContainerAnalyticsEventState,Ae as ContainerModule,rt as DRMPlaybackEventSchema,Te as DeviceModule,St as DismissSplashScreenResponseSchema,Oe as DownloadFileRequestSchema,Ne as DownloadFileResponseSchema,ft as FetchEmailResponseSchema,mt as FetchEmailResultSchema,Pe as FileModule,qe as GetAuthorizationArtifactsResponseSchema,Fe as GetAuthorizationArtifactsResultSchema,It as GetBooleanRequestSchema,Tt as GetBooleanResponseSchema,Mt as GetBooleanResultSchema,Ze as GetCoordinateResponseSchema,Xe as GetCoordinateResultSchema,tt as GetCountryCodeResponseSchema,et as GetCountryCodeResultSchema,Kt as GetDoubleRequestSchema,Wt as GetDoubleResponseSchema,Gt as GetDoubleResultSchema,Nt as GetIntRequestSchema,Rt as GetIntResponseSchema,Pt as GetIntResultSchema,Je as GetLanguageLocaleIdentifierResponseSchema,Ye as GetLanguageLocaleIdentifierResultSchema,Zt as GetSelectedTravelDestinationResponseSchema,Xt as GetSelectedTravelDestinationResultSchema,Ce as GetSessionParamsResponseSchema,Ee as GetSessionParamsResultSchema,Lt as GetStringRequestSchema,Dt as GetStringResponseSchema,jt as GetStringResultSchema,bt as HasAccessToRequestSchema,xt as HasAccessToResponseSchema,_t as HasAccessToResultSchema,oe as HideBackButtonResponseSchema,ye as HideLoaderResponseSchema,ue as HideRefreshButtonResponseSchema,Ve as IdentityModule,Se as IsConnectedResponseSchema,$e as IsConnectedResultSchema,Me as IsEsimSupportedResponseSchema,Ie as IsEsimSupportedResultSchema,Qe as LocaleModule,nt as LocationModule,E as Logger,at as MediaModule,ht as NetworkModule,ot as ObserveDRMPlaybackResponseSchema,ge as OnContentLoadedResponseSchema,be as OnCtaTapResponseSchema,ke as OpenExternalLinkResponseSchema,gt as PlatformModule,st as PlayDRMContentResponseSchema,kt as ProfileModule,Yt as RedirectToSystemWebViewRequestSchema,Jt as RedirectToSystemWebViewResponseSchema,Ut as ReloadScopesResponseSchema,Ht as RemoveAllResponseSchema,qt as RemoveResponseSchema,G as ScanQRCodeRequestSchema,F as ScanQRCodeResponseSchema,W as ScanQRCodeResultSchema,$t as ScopeModule,_e as SendAnalyticsEventRequestSchema,Ue as SendAnalyticsEventResponseSchema,it as SendRequestSchema,ut as SendResponseSchema,ct as SendResultSchema,te as SetBackgroundColorResponseSchema,At as SetBooleanResponseSchema,zt as SetDoubleResponseSchema,Ot as SetIntResponseSchema,Bt as SetStringResponseSchema,re as SetTitleResponseSchema,ie as ShowBackButtonResponseSchema,fe as ShowLoaderResponseSchema,le as ShowRefreshButtonResponseSchema,Et as SplashScreenModule,Vt as StorageModule,Qt as SystemWebViewKitModule,H as TriggerCheckoutRequestSchema,Y as TriggerCheckoutResponseSchema,V as TriggerCheckoutResultSchema,en as UserAttributesModule,vt as VerifyEmailRequestSchema,wt as VerifyEmailResponseSchema,yt as VerifyEmailResultSchema,L as hasResult,P as isClientError,B as isError,N as isFound,T as isNoContent,M as isOk,O as isRedirection,R as isServerError,I as isSuccess};
7
+ var e,t={exports:{}},n=(e||(e=1,function(e){function t(e){var t=!1;return{isUnsubscribed:function(){return t},unsubscribe:function(){t||(e(),t=!0)}}}function n(e){return{subscribe:e,then:function(t,n){return new Promise(function(s,r){try{var o=null,a=!1;o=e({next:function(e){s(null==t?void 0:t(e)),o&&o.unsubscribe(),a=!0}}),a&&o&&o.unsubscribe()}catch(e){null==n?r(e):s(n(e))}})}}}function s(s,r){return r.funcNameToWrap,function(s,r){var o=r.callbackNameFunc,a=r.funcToWrap;return n(function(n){var r,i=o();return s[i]=function(t){if(function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];if(!e)return!1;var s=function(e){return Object.keys(e).concat(Object.getOwnPropertyNames(Object.getPrototypeOf(e)))}(e);return t.every(function(e){return 0<=s.indexOf(e)})}(t.result,"event"))t.result.event===e.StreamEvent.STREAM_TERMINATED&&r.unsubscribe();else{var s=t.result,o=t.error,a=t.status_code;n&&n.next&&n.next({result:null===s?void 0:s,error:null===o?void 0:o,status_code:null===a?void 0:a})}},a(i),r=t(function(){s[i]=void 0,n&&n.complete&&n.complete()})})}(s,function(e,t){var n={};for(var s in e)Object.prototype.hasOwnProperty.call(e,s)&&t.indexOf(s)<0&&(n[s]=e[s]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(s=Object.getOwnPropertySymbols(e);r<s.length;r++)t.indexOf(s[r])<0&&(n[s[r]]=e[s[r]])}return n}(r,["funcNameToWrap"]))}(e.StreamEvent||(e.StreamEvent={})).STREAM_TERMINATED="STREAM_TERMINATED",e.createDataStream=n,e.createSubscription=t,e.getModuleEnvironment=function(e,t){return e[t]?"android":e.webkit&&e.webkit.messageHandlers&&e.webkit.messageHandlers[t]?"ios":void 0},e.wrapModule=function(e,t){var n;e[(n=t,"Wrapped"+n)]=function(e,t,n){return{invoke:function(r,o){return s(e,{funcNameToWrap:r,callbackNameFunc:function(){return function(e,t){var n=t.moduleName,s=t.funcName,r=0;return function(){for(var t,o,a="";(a=(t={moduleName:n,funcName:s,requestID:r}).moduleName+"_"+t.funcName+"Callback"+(null!==(o=t.requestID)?"_"+o:""))in e;)r+=1;return r+=1,a}()}(e,{moduleName:t,funcName:r})},funcToWrap:function(e){return n({callback:e,method:r,module:t,parameters:null!=o?o:{}})}})}}}(e,t,function(n){if(e[t]&&e[t][n.method]instanceof Function)e[t][n.method](JSON.stringify(n));else{if(!(e.webkit&&e.webkit.messageHandlers&&e.webkit.messageHandlers[t]))throw new Error("Unexpected method '"+n.method+"' for module '"+t+"'");e.webkit.messageHandlers[t].postMessage(n)}})},Object.defineProperty(e,"__esModule",{value:!0})}(t.exports)),t.exports);function s(e){return{lang:e?.lang??void 0,message:e?.message,abortEarly:e?.abortEarly??void 0,abortPipeEarly:e?.abortPipeEarly??void 0}}function r(e){const t=typeof e;return"string"===t?`"${e}"`:"number"===t||"bigint"===t||"boolean"===t?`${e}`:"object"===t||"function"===t?(e&&Object.getPrototypeOf(e)?.constructor?.name)??"null":t}function o(e,t,n,s,o){const a=o&&"input"in o?o.input:n.value,i=o?.expected??e.expects??null,c=o?.received??r(a),u={kind:e.kind,type:e.type,input:a,expected:i,received:c,message:`Invalid ${t}: ${i?`Expected ${i} but r`:"R"}eceived ${c}`,requirement:e.requirement,path:o?.path,issues:o?.issues,lang:s.lang,abortEarly:s.abortEarly,abortPipeEarly:s.abortPipeEarly},d="schema"===e.kind,l=o?.message??e.message??(e.reference,void u.lang)??(d?void u.lang:null)??s.message??void u.lang;void 0!==l&&(u.message="function"==typeof l?l(u):l),d&&(n.typed=!1),n.issues?n.issues.push(u):n.issues=[u]}function a(e){return{version:1,vendor:"valibot",validate:t=>e["~run"]({value:t},s())}}function i(e,t){return Object.hasOwn(e,t)&&"__proto__"!==t&&"prototype"!==t&&"constructor"!==t}function c(e,t){const n=[...new Set(e)];return n.length>1?`(${n.join(` ${t} `)})`:n[0]??"never"}function u(e,t){return{kind:"validation",type:"min_length",reference:u,async:!1,expects:`>=${e}`,requirement:e,message:t,"~run"(e,t){return e.typed&&e.value.length<this.requirement&&o(this,"length",e,t,{received:`${e.value.length}`}),e}}}function d(e){return{kind:"validation",type:"url",reference:d,async:!1,expects:null,requirement(e){try{return new URL(e),!0}catch{return!1}},message:e,"~run"(e,t){return e.typed&&!this.requirement(e.value)&&o(this,"URL",e,t),e}}}function l(e,t,n){return"function"==typeof e.fallback?e.fallback(t,n):e.fallback}function h(e,t,n){return"function"==typeof e.default?e.default(t,n):e.default}function p(e){return{kind:"schema",type:"boolean",reference:p,expects:"boolean",async:!1,message:e,get"~standard"(){return a(this)},"~run"(e,t){return"boolean"==typeof e.value?e.typed=!0:o(this,"type",e,t),e}}}function g(e,t){return{kind:"schema",type:"literal",reference:g,expects:r(e),async:!1,literal:e,message:t,get"~standard"(){return a(this)},"~run"(e,t){return e.value===this.literal?e.typed=!0:o(this,"type",e,t),e}}}function m(e,t){return{kind:"schema",type:"nullish",reference:m,expects:`(${e.expects} | null | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return a(this)},"~run"(e,t){return null!==e.value&&void 0!==e.value||(void 0!==this.default&&(e.value=h(this,e,t)),null!==e.value&&void 0!==e.value)?this.wrapped["~run"](e,t):(e.typed=!0,e)}}}function f(e){return{kind:"schema",type:"number",reference:f,expects:"number",async:!1,message:e,get"~standard"(){return a(this)},"~run"(e,t){return"number"!=typeof e.value||isNaN(e.value)?o(this,"type",e,t):e.typed=!0,e}}}function v(e,t){return{kind:"schema",type:"object",reference:v,expects:"Object",async:!1,entries:e,message:t,get"~standard"(){return a(this)},"~run"(e,t){const n=e.value;if(n&&"object"==typeof n){e.typed=!0,e.value={};for(const s in this.entries){const r=this.entries[s];if(s in n||("exact_optional"===r.type||"optional"===r.type||"nullish"===r.type)&&void 0!==r.default){const o=s in n?n[s]:h(r),a=r["~run"]({value:o},t);if(a.issues){const r={type:"object",origin:"value",input:n,key:s,value:o};for(const t of a.issues)t.path?t.path.unshift(r):t.path=[r],e.issues?.push(t);if(e.issues||(e.issues=a.issues),t.abortEarly){e.typed=!1;break}}a.typed||(e.typed=!1),e.value[s]=a.value}else if(void 0!==r.fallback)e.value[s]=l(r);else if("exact_optional"!==r.type&&"optional"!==r.type&&"nullish"!==r.type&&(o(this,"key",e,t,{input:void 0,expected:`"${s}"`,path:[{type:"object",origin:"key",input:n,key:s,value:n[s]}]}),t.abortEarly))break}}else o(this,"type",e,t);return e}}}function y(e,t){return{kind:"schema",type:"optional",reference:y,expects:`(${e.expects} | undefined)`,async:!1,wrapped:e,default:t,get"~standard"(){return a(this)},"~run"(e,t){return void 0===e.value&&(void 0!==this.default&&(e.value=h(this,e,t)),void 0===e.value)?(e.typed=!0,e):this.wrapped["~run"](e,t)}}}function w(e,t){return{kind:"schema",type:"picklist",reference:w,expects:c(e.map(r),"|"),async:!1,options:e,message:t,get"~standard"(){return a(this)},"~run"(e,t){return this.options.includes(e.value)?e.typed=!0:o(this,"type",e,t),e}}}function k(e,t,n){return{kind:"schema",type:"record",reference:k,expects:"Object",async:!1,key:e,value:t,message:n,get"~standard"(){return a(this)},"~run"(e,t){const n=e.value;if(n&&"object"==typeof n){e.typed=!0,e.value={};for(const s in n)if(i(n,s)){const r=n[s],o=this.key["~run"]({value:s},t);if(o.issues){const a={type:"object",origin:"key",input:n,key:s,value:r};for(const t of o.issues)t.path=[a],e.issues?.push(t);if(e.issues||(e.issues=o.issues),t.abortEarly){e.typed=!1;break}}const a=this.value["~run"]({value:r},t);if(a.issues){const o={type:"object",origin:"value",input:n,key:s,value:r};for(const t of a.issues)t.path?t.path.unshift(o):t.path=[o],e.issues?.push(t);if(e.issues||(e.issues=a.issues),t.abortEarly){e.typed=!1;break}}o.typed&&a.typed||(e.typed=!1),o.typed&&(e.value[o.value]=a.value)}}else o(this,"type",e,t);return e}}}function b(e){return{kind:"schema",type:"string",reference:b,expects:"string",async:!1,message:e,get"~standard"(){return a(this)},"~run"(e,t){return"string"==typeof e.value?e.typed=!0:o(this,"type",e,t),e}}}function _(e){let t;if(e)for(const n of e)t?t.push(...n.issues):t=n.issues;return t}function x(e,t){return{kind:"schema",type:"union",reference:x,expects:c(e.map(e=>e.expects),"|"),async:!1,options:e,message:t,get"~standard"(){return a(this)},"~run"(e,t){let n,s,r;for(const o of this.options){const a=o["~run"]({value:e.value},t);if(a.typed){if(!a.issues){n=a;break}s?s.push(a):s=[a]}else r?r.push(a):r=[a]}if(n)return n;if(s){if(1===s.length)return s[0];o(this,"type",e,t,{issues:_(s)}),e.typed=!0}else{if(1===r?.length)return r[0];o(this,"type",e,t,{issues:_(r)})}return e}}}function U(){return{kind:"schema",type:"unknown",reference:U,expects:"unknown",async:!1,get"~standard"(){return a(this)},"~run":e=>(e.typed=!0,e)}}function $(...e){return{...e[0],pipe:e,get"~standard"(){return a(this)},"~run"(t,n){for(const s of e)if("metadata"!==s.kind){if(t.issues&&("schema"===s.kind||"transformation"===s.kind)){t.typed=!1;break}t.issues&&(n.abortEarly||n.abortPipeEarly)||(t=s["~run"](t,n))}return t}}}function S(e){return"object"==typeof e&&null!==e&&"message"in e&&"string"==typeof e.message}class E{constructor(e){this.moduleName=e}formatPrefix(e){return`[SuperAppSDK][${this.moduleName}.${e}]`}warn(e,t){console.warn(`${this.formatPrefix(e)} ${t}`)}error(e,t){console.error(`${this.formatPrefix(e)} ${t}`)}}function C(){if("undefined"==typeof window||!window.navigator)return null;const e=window.navigator.userAgent;return e?function(e){if(!e||"string"!=typeof e)return null;const t=e.match(/(Grab|GrabBeta|GrabBetaDebug|GrabTaxi|GrabEarlyAccess)\/v?([0-9]+)\.([0-9]+)\.([0-9]+) \(.*(Android|iOS).*\)/i);return t?{appName:t[1],version:{major:Number(t[2]),minor:Number(t[3]),patch:Number(t[4])},platform:t[5]}:null}(e):null}class A{get wrappedModule(){return window[`Wrapped${this.name}`]}constructor(e){if(this.name=e,this.logger=new E(e),!this.wrappedModule)try{n.wrapModule(window,this.name)}catch(e){throw new Error(`Failed to initialize ${this.name}${S(e)?`: ${e.message}`:""}`,{cause:e})}}validate(e,t){const n=function(e,t){const n=e["~run"]({value:t},s(void 0));return{typed:n.typed,success:!n.issues,output:n.value,issues:n.issues}}(e,t);return n.success?null:n.issues.map(e=>{const t=e.path?.map(e=>String(e.key)).join(".");return t?`${t}: ${e.message}`:e.message}).join(", ")}checkSupport(e){const t=C();return t?e(t)?null:{status_code:426,error:"Upgrade Required: This method requires a newer version of the Grab app"}:{status_code:501,error:"Not implemented: This method requires the Grab app environment"}}async invoke(e){const{method:t,params:n}=e;try{return C()?await this.wrappedModule.invoke(t,n):{status_code:501,error:"Not implemented: This method requires the Grab app environment"}}catch(e){return{status_code:500,error:`Failed to invoke method: ${S(e)?e.message:"Unknown error"}`}}}createErrorStream(e){return{subscribe:t=>(t?.next?.(e),t?.complete?.(),{isUnsubscribed:()=>!0,unsubscribe:()=>{}}),then:t=>Promise.resolve(e).then(t)}}invokeStream(e){const{method:t,params:n}=e;try{return C()?this.wrappedModule.invoke(t,n):this.createErrorStream({status_code:501,error:"Not implemented: This method requires the Grab app environment"})}catch(e){return this.createErrorStream({status_code:500,error:`Failed to invoke method: ${S(e)?e.message:"Unknown error"}`})}}}function I(e){return e.status_code>=200&&e.status_code<300}function M(e){return 200===e.status_code}function T(e){return 204===e.status_code}function N(e){return 302===e.status_code}function O(e){return 302===e.status_code}function P(e){return e.status_code>=400&&e.status_code<500}function R(e){return e.status_code>=500&&e.status_code<600}function B(e){return e.status_code>=400&&e.status_code<600||"string"==typeof e.error&&e.error.length>0}function L(e){return"result"in e&&null!==e.result&&void 0!==e.result}const j=e=>v({status_code:g(e),error:b()}),D=e=>v({status_code:g(200),result:e}),z=v({status_code:g(204)}),K=v({status_code:g(302)}),G=v({title:y(b())}),W=v({qrCode:b()}),F=x([D(W),z,j(400),j(403),j(500),j(501)]);class q extends A{constructor(){super("CameraModule")}async scanQRCode(e={}){const t=this.validate(G,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"scanQRCode",params:e}),s=this.validate(F,n);return s&&this.logger.warn("scanQRCode",`Unexpected response shape: ${s}`),n}}const V=k(b(),U()),H=function e(t,n,s){return{kind:"schema",type:"variant",reference:e,expects:"Object",async:!1,key:t,options:n,message:s,get"~standard"(){return a(this)},"~run"(e,t){const n=e.value;if(n&&"object"==typeof n){let s,r=0,a=this.key,i=[];const u=(e,o)=>{for(const c of e.options){if("variant"===c.type)u(c,new Set(o).add(c.key));else{let e=!0,u=0;for(const t of o){const s=c.entries[t];if(t in n?s["~run"]({typed:!1,value:n[t]},{abortEarly:!0}).issues:"exact_optional"!==s.type&&"optional"!==s.type&&"nullish"!==s.type){e=!1,a!==t&&(r<u||r===u&&t in n&&!(a in n))&&(r=u,a=t,i=[]),a===t&&i.push(c.entries[t].expects);break}u++}if(e){const e=c["~run"]({value:n},t);(!s||!s.typed&&e.typed)&&(s=e)}}if(s&&!s.issues)break}};if(u(this,new Set([this.key])),s)return s;o(this,"type",e,t,{input:n[a],expected:c(i,"|"),path:[{type:"object",origin:"value",input:n,key:a,value:n[a]}]})}else o(this,"type",e,t);return e}}}("status",[v({status:g("success"),transactionID:b()}),v({status:g("failure"),transactionID:b(),errorMessage:b(),errorCode:b()}),v({status:g("pending"),transactionID:b()}),v({status:g("userInitiatedCancel")})]),Y=x([D(H),j(400),j(500),j(501)]);class J extends A{constructor(){super("CheckoutModule")}async triggerCheckout(e){const t=this.validate(V,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"triggerCheckout",params:e}),s=this.validate(Y,n);return s&&this.logger.warn("triggerCheckout",`Unexpected response shape: ${s}`),n}}const Q={HOMEPAGE:"HOMEPAGE",CHECKOUT_PAGE:"CHECKOUT_PAGE",BOOKING_COMPLETION:"BOOKING_COMPLETION",CUSTOM:"CUSTOM"},X={DEFAULT:"DEFAULT"},Z={TRANSACTION_AMOUNT:"transaction_amount",TRANSACTION_CURRENCY:"transaction_currency",PAGE:"page"},ee=x([D(p()),z,j(400),j(500),j(501)]),te=x([z,j(400),j(500),j(501)]),ne=x([D(p()),z,j(400),j(500),j(501)]),se=x([z,j(400),j(500),j(501)]),re=x([D(p()),z,j(500),j(501)]),oe=x([z,j(500),j(501)]),ae=x([D(p()),z,j(500),j(501)]),ie=x([z,j(500),j(501)]),ce=x([D(p()),z,j(500),j(501)]),ue=x([z,j(500),j(501)]),de=x([D(p()),z,j(500),j(501)]),le=x([z,j(500),j(501)]),he=x([D(p()),z,j(500),j(501)]),pe=x([z,j(500),j(501)]),ge=x([D(p()),z,j(500),j(501)]),me=x([D(p()),z,j(500),j(501)]),fe=x([z,j(500),j(501)]),ve=x([D(p()),z,j(500),j(501)]),ye=x([z,j(500),j(501)]),we=x([D(p()),z,j(400),j(500),j(501)]),ke=x([z,j(400),j(500),j(501)]),be=x([D(p()),j(500),j(501)]),_e=v({state:$(b(),u(1)),name:$(b(),u(1)),data:y(k(b(),U()))}),xe=x([D(p()),z,j(400),j(500),j(501)]),Ue=x([z,j(400),j(500),j(501)]),$e=v({connected:p()}),Se=x([D($e),j(404)]),Ee=b(),Ce=x([D(Ee),z,j(500),j(501)]);class Ae extends A{constructor(){super("ContainerModule")}async setBackgroundColor(e){const t=await this.invoke({method:"setBackgroundColor",params:{backgroundColor:e}}),n=this.validate(ee,t);let s;n&&this.logger.warn("setBackgroundColor",`Unexpected raw response shape: ${n}`),s=M(t)?{status_code:204}:t;const r=this.validate(te,s);return r&&this.logger.warn("setBackgroundColor",`Unexpected response shape: ${r}`),s}async setTitle(e){const t=await this.invoke({method:"setTitle",params:{title:e}}),n=this.validate(ne,t);let s;n&&this.logger.warn("setTitle",`Unexpected raw response shape: ${n}`),s=M(t)?{status_code:204}:t;const r=this.validate(se,s);return r&&this.logger.warn("setTitle",`Unexpected response shape: ${r}`),s}async hideBackButton(){const e=await this.invoke({method:"hideBackButton"}),t=this.validate(re,e);let n;t&&this.logger.warn("hideBackButton",`Unexpected raw response shape: ${t}`),n=M(e)?{status_code:204}:e;const s=this.validate(oe,n);return s&&this.logger.warn("hideBackButton",`Unexpected response shape: ${s}`),n}async showBackButton(){const e=await this.invoke({method:"showBackButton"}),t=this.validate(ae,e);let n;t&&this.logger.warn("showBackButton",`Unexpected raw response shape: ${t}`),n=M(e)?{status_code:204}:e;const s=this.validate(ie,n);return s&&this.logger.warn("showBackButton",`Unexpected response shape: ${s}`),n}async hideRefreshButton(){const e=await this.invoke({method:"hideRefreshButton"}),t=this.validate(ce,e);let n;t&&this.logger.warn("hideRefreshButton",`Unexpected raw response shape: ${t}`),n=M(e)?{status_code:204}:e;const s=this.validate(ue,n);return s&&this.logger.warn("hideRefreshButton",`Unexpected response shape: ${s}`),n}async showRefreshButton(){const e=await this.invoke({method:"showRefreshButton"}),t=this.validate(de,e);let n;t&&this.logger.warn("showRefreshButton",`Unexpected raw response shape: ${t}`),n=M(e)?{status_code:204}:e;const s=this.validate(le,n);return s&&this.logger.warn("showRefreshButton",`Unexpected response shape: ${s}`),n}async close(){const e=await this.invoke({method:"close"}),t=this.validate(he,e);let n;t&&this.logger.warn("close",`Unexpected raw response shape: ${t}`),n=M(e)?{status_code:204}:e;const s=this.validate(pe,n);return s&&this.logger.warn("close",`Unexpected response shape: ${s}`),n}async onContentLoaded(){const e=await this.invoke({method:"onContentLoaded"}),t=this.validate(ge,e);return t&&this.logger.warn("onContentLoaded",`Unexpected response shape: ${t}`),e}async showLoader(){const e=await this.invoke({method:"showLoader"}),t=this.validate(me,e);let n;t&&this.logger.warn("showLoader",`Unexpected raw response shape: ${t}`),n=M(e)?{status_code:204}:e;const s=this.validate(fe,n);return s&&this.logger.warn("showLoader",`Unexpected response shape: ${s}`),n}async hideLoader(){const e=await this.invoke({method:"hideLoader"}),t=this.validate(ve,e);let n;t&&this.logger.warn("hideLoader",`Unexpected raw response shape: ${t}`),n=M(e)?{status_code:204}:e;const s=this.validate(ye,n);return s&&this.logger.warn("hideLoader",`Unexpected response shape: ${s}`),n}async openExternalLink(e){const t=await this.invoke({method:"openExternalLink",params:{url:e}}),n=this.validate(we,t);let s;n&&this.logger.warn("openExternalLink",`Unexpected raw response shape: ${n}`),s=M(t)?{status_code:204}:t;const r=this.validate(ke,s);return r&&this.logger.warn("openExternalLink",`Unexpected response shape: ${r}`),s}async onCtaTap(e){const t=await this.invoke({method:"onCtaTap",params:{action:e}}),n=this.validate(be,t);return n&&this.logger.warn("onCtaTap",`Unexpected response shape: ${n}`),t}async sendAnalyticsEvent(e){const t=this.validate(_e,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"sendAnalyticsEvent",params:{state:e.state,name:e.name,data:e.data?JSON.stringify(e.data):null}}),s=this.validate(xe,n);let r;s&&this.logger.warn("sendAnalyticsEvent",`Unexpected raw response shape: ${s}`),r=M(n)?{status_code:204}:n;const o=this.validate(Ue,r);return o&&this.logger.warn("sendAnalyticsEvent",`Unexpected response shape: ${o}`),r}async isConnected(){return null!==C()?{status_code:200,result:{connected:!0}}:{status_code:404,error:"Not connected to Grab app"}}async getSessionParams(){const e=await this.invoke({method:"getSessionParams"}),t=this.validate(Ce,e);return t&&this.logger.warn("getSessionParams",`Unexpected response shape: ${t}`),e}}function Ie(e,t){return e.major!==t.major?e.major>t.major:e.minor!==t.minor?e.minor>t.minor:e.patch>=t.patch}const Me=p(),Te=x([D(Me),j(403),j(424),j(426),j(500),j(501)]);class Ne extends A{constructor(){super("DeviceModule")}async isEsimSupported(){const e=this.checkSupport(e=>Ie(e.version,Ne.MINIMUM_VERSION));if(e)return e;const t=await this.invoke({method:"isEsimSupported"}),n=this.validate(Te,t);return n&&this.logger.warn("isEsimSupported",`Unexpected response shape: ${n}`),t}}Ne.MINIMUM_VERSION={major:5,minor:402,patch:0};const Oe=v({fileUrl:$(b(),d()),fileName:$(b(),u(1))}),Pe=x([z,j(400),j(500),j(501)]);class Re extends A{constructor(){super("FileModule")}async downloadFile(e){const t=this.validate(Oe,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"downloadFile",params:e}),s=this.validate(Pe,n);return s&&this.logger.warn("downloadFile",`Unexpected response shape: ${s}`),n}}function Be(e){const t=new Uint32Array(e);crypto.getRandomValues(t);let n="";for(let s=0;s<e;s+=1)n+="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789".charAt(t[s]%62);return n}async function Le(e){const t=(new TextEncoder).encode(e);return function(e){const t=new Uint8Array(e);let n="";for(let e=0;e<t.byteLength;e+=1)n+=String.fromCharCode(t[e]);return btoa(n).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}(await crypto.subtle.digest("SHA-256",t))}const je="grabid",De={staging:"https://partner-api.stg-myteksi.com/grabid/v1/oauth2/.well-known/openid-configuration",production:"https://partner-api.grab.com/grabid/v1/oauth2/.well-known/openid-configuration"};class ze extends Error{constructor(e,t){super(e),this.cause=t,this.name="AuthorizationConfigurationError"}}const Ke=v({clientId:$(b(),u(1)),redirectUri:$(b(),d()),scope:$(b(),u(1)),environment:w(["staging","production"]),responseMode:y(w(["redirect","in_place"]))}),Ge=v({code:b(),state:b()}),We=x([D(Ge),z,K,j(400),j(403),j(500),j(501)]),Fe=v({state:b(),codeVerifier:b(),nonce:b(),redirectUri:b()}),qe=x([D(Fe),z,j(400)]),Ve=x([z]);class He extends A{constructor(){super("IdentityModule")}async fetchAuthorizationEndpoint(e){const t=De[e];if(!t)throw new Error(`Invalid environment: ${e}. Must be 'staging' or 'production'`);try{const e=await fetch(t);if(!e.ok)throw console.error(`Failed to fetch OpenID configuration from ${t}: ${e.status} ${e.statusText}`),new ze("Failed to fetch authorization configuration");const n=await e.json();if(!n.authorization_endpoint)throw console.error("authorization_endpoint not found in OpenID configuration response"),new ze("Invalid authorization configuration");return n.authorization_endpoint}catch(e){if(console.error("Error fetching authorization endpoint:",e),e instanceof ze)throw e;throw new Error("Something wrong happened when fetching authorization configuration",{cause:e})}}async generatePKCEArtifacts(){const e=Be(16),t=Be(32),n=(s=Be(64),btoa(s).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"));var s;return{nonce:e,state:t,codeVerifier:n,codeChallenge:await Le(n),codeChallengeMethod:"S256"}}storePKCEArtifacts(e){this.setStorageItem("nonce",e.nonce),this.setStorageItem("state",e.state),this.setStorageItem("code_verifier",e.codeVerifier),this.setStorageItem("redirect_uri",e.redirectUri)}async getAuthorizationArtifacts(){const e=this.getStorageItem("state"),t=this.getStorageItem("code_verifier"),n=this.getStorageItem("nonce"),s=this.getStorageItem("redirect_uri");return null===e&&null===t&&null===n&&null===s?{status_code:204}:null!==e&&null!==t&&null!==n&&null!==s?{status_code:200,result:{state:e,codeVerifier:t,nonce:n,redirectUri:s}}:{status_code:400,error:"Inconsistent authorization artifacts in storage"}}async clearAuthorizationArtifacts(){return window.localStorage.removeItem(`${je}:nonce`),window.localStorage.removeItem(`${je}:state`),window.localStorage.removeItem(`${je}:code_verifier`),window.localStorage.removeItem(`${je}:redirect_uri`),window.localStorage.removeItem(`${je}:login_return_uri`),{status_code:204}}setStorageItem(e,t){window.localStorage.setItem(`${je}:${e}`,t)}getStorageItem(e){return window.localStorage.getItem(`${je}:${e}`)}static normalizeUrl(e){const t=new URL(e);return`${t.origin}${t.pathname}`}static buildAuthorizeUrl(e,t){return`${e}?${Object.entries(t).filter(e=>void 0!==e[1]&&null!==e[1]).map(([e,t])=>`${encodeURIComponent(e)}=${encodeURIComponent(t)}`).join("&")}`}static shouldUseWebConsent(e){const t=C();return!t||"staging"!==e.environment&&!Ie(t.version,{major:5,minor:396,patch:0})}async performWebAuthorization(e){let t;this.setStorageItem("login_return_uri",window.location.href),this.setStorageItem("redirect_uri",e.redirectUri);try{t=await this.fetchAuthorizationEndpoint(e.environment)}catch(e){return{status_code:400,error:S(e)?e.message:"Could not fetch authorization endpoint"}}const n={client_id:e.clientId,scope:e.scope,response_type:"code",redirect_uri:e.redirectUri,nonce:e.nonce,state:e.state,code_challenge_method:e.codeChallengeMethod,code_challenge:e.codeChallenge},s=He.buildAuthorizeUrl(t,n);return window.location.assign(s),{status_code:302}}async performNativeAuthorization(e){const t=await this.invoke({method:"authorize",params:{clientId:e.clientId,redirectUri:e.actualRedirectUri,scope:e.scope,nonce:e.nonce,state:e.state,codeChallenge:e.codeChallenge,codeChallengeMethod:e.codeChallengeMethod,responseMode:e.responseMode}}),n=this.validate(We,t);return n&&this.logger.warn("authorize",`Unexpected response shape: ${n}`),t}async authorize(e){const t=this.validate(Ke,e);if(t)return{status_code:400,error:t};const n=await this.generatePKCEArtifacts(),s=e.responseMode||"redirect",r="in_place"===s?He.normalizeUrl(window.location.href):e.redirectUri;this.storePKCEArtifacts({...n,redirectUri:r});const o={clientId:e.clientId,redirectUri:e.redirectUri,scope:e.scope,nonce:n.nonce,state:n.state,codeChallenge:n.codeChallenge,codeChallengeMethod:n.codeChallengeMethod};if(He.shouldUseWebConsent(e))return this.performWebAuthorization({...o,environment:e.environment});try{const t=await this.performNativeAuthorization({...o,actualRedirectUri:r,responseMode:s});return 400===t.status_code||403===t.status_code||500===t.status_code||501===t.status_code?(console.error(`Native authorization returned ${t.status_code}, falling back to web flow:`,t.error),this.performWebAuthorization({...o,environment:e.environment})):t}catch(t){return console.error("Native authorization failed, falling back to web flow:",t),this.performWebAuthorization({...o,environment:e.environment})}}}const Ye=b(),Je=x([D(Ye),z,j(400),j(500),j(501)]);class Qe extends A{constructor(){super("LocaleModule")}async getLanguageLocaleIdentifier(){const e=await this.invoke({method:"getLanguageLocaleIdentifier"}),t=this.validate(Je,e);return t&&this.logger.warn("getLanguageLocaleIdentifier",`Unexpected response shape: ${t}`),e}}const Xe=v({latitude:f(),longitude:f()}),Ze=x([D(Xe),j(403),j(424),j(500),j(501)]),et=b(),tt=x([D(et),z,j(403),j(424),j(500),j(501)]);class nt extends A{constructor(){super("LocationModule")}async getCoordinate(){const e=await this.invoke({method:"getCoordinate"}),t=this.validate(Ze,e);return t&&this.logger.warn("getCoordinate",`Unexpected response shape: ${t}`),e}observeLocationChange(){return this.invokeStream({method:"observeLocationChange"})}async getCountryCode(){const e=await this.invoke({method:"getCountryCode"}),t=this.validate(tt,e);return t&&this.logger.warn("getCountryCode",`Unexpected response shape: ${t}`),e}}const st=v({type:w(["START_PLAYBACK","PROGRESS_PLAYBACK","START_SEEK","STOP_SEEK","STOP_PLAYBACK","CLOSE_PLAYBACK","PAUSE_PLAYBACK","RESUME_PLAYBACK","FAST_FORWARD_PLAYBACK","REWIND_PLAYBACK","ERROR_PLAYBACK","CHANGE_VOLUME"]),titleId:b(),position:f(),length:f()}),rt=x([D(st),z,j(400),j(424),j(500),j(501)]),ot=x([D(st),j(500),j(501)]);class at extends A{constructor(){super("MediaModule")}async playDRMContent(e){const t=await this.invoke({method:"playDRMContent",params:{data:e}}),n=this.validate(rt,t);return n&&this.logger.warn("playDRMContent",`Unexpected response shape: ${n}`),t}observePlayDRMContent(e){return this.invokeStream({method:"observePlayDRMContent",params:{data:e}})}}const it=v({endpoint:b(),method:w(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS"]),headers:y(k(b(),b())),query:y(k(b(),b())),body:y(U()),timeout:y(f())}),ct=k(b(),U()),ut=x([D(ct),z,j(400),j(401),j(403),j(404),j(424),j(426),j(500),j(501)]),dt=x([b(),ct]),lt=x([D(dt),z,j(400),j(401),j(403),j(404),j(424),j(426),j(500),j(501)]);class ht extends A{constructor(){super("NetworkModule")}async send(e){const t=this.validate(it,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"send",params:e}),s=this.validate(lt,n);if(s&&this.logger.warn("send",`Unexpected raw response shape: ${s}`),I(n)&&L(n)&&"string"==typeof n.result)try{const e=JSON.parse(n.result),t={...n,result:e},s=this.validate(ut,t);return s&&this.logger.warn("send",`Unexpected response shape after parsing: ${s}`),t}catch{return{status_code:500,error:"Failed to parse response result as JSON"}}const r=n,o=this.validate(ut,r);return o&&this.logger.warn("send",`Unexpected response shape: ${o}`),r}}const pt=x([z,j(500),j(501)]);class gt extends A{constructor(){super("PlatformModule")}async back(){const e=await this.invoke({method:"back"}),t=this.validate(pt,e);return t&&this.logger.warn("back",`Unexpected response shape: ${t}`),e}}const mt=v({email:b()}),ft=x([D(mt),z,j(400),j(403),j(426),j(500),j(501)]),vt=v({email:y($(b(),u(1))),skipUserInput:y(p())}),yt=v({email:b()}),wt=x([D(yt),z,j(400),j(403),j(426),j(500),j(501)]);class kt extends A{constructor(){super("ProfileModule")}async fetchEmail(){const e=this.checkSupport(e=>Ie(e.version,kt.MINIMUM_VERSION));if(e)return e;const t=await this.invoke({method:"fetchEmail"}),n=this.validate(ft,t);return n&&this.logger.warn("fetchEmail",`Unexpected response shape: ${n}`),t}async verifyEmail(e){const t=this.checkSupport(e=>Ie(e.version,kt.MINIMUM_VERSION));if(t)return t;const n=this.validate(vt,e??{});if(n)return{status_code:400,error:n};const s=await this.invoke({method:"verifyEmail",params:e}),r=this.validate(wt,s);return r&&this.logger.warn("verifyEmail",`Unexpected response shape: ${r}`),s}}kt.MINIMUM_VERSION={major:5,minor:399,patch:0};const bt=v({module:$(b(),u(1)),method:$(b(),u(1))}),_t=p(),xt=x([D(_t),j(400),j(424),j(500),j(501)]),Ut=x([z,j(424),j(500),j(501)]);class $t extends A{constructor(){super("ScopeModule")}async hasAccessTo(e,t){const n={module:e,method:t},s=this.validate(bt,n);if(s)return{status_code:400,error:s};const r=await this.invoke({method:"hasAccessTo",params:n}),o=this.validate(xt,r);return o&&this.logger.warn("hasAccessTo",`Unexpected response shape: ${o}`),r}async reloadScopes(){const e=await this.invoke({method:"reloadScopes"}),t=this.validate(Ut,e);return t&&this.logger.warn("reloadScopes",`Unexpected response shape: ${t}`),e}}const St=x([z,j(400),j(403),j(500),j(501)]);class Et extends A{constructor(){super("SplashScreenModule")}async dismiss(){const e=await this.invoke({method:"dismiss"}),t=this.validate(St,e);return t&&this.logger.warn("dismiss",`Unexpected response shape: ${t}`),e}}const Ct=$(b(),u(1)),At=v({key:Ct}),It=v({key:Ct,value:p()}),Mt=x([z,j(400),j(424),j(500),j(501)]),Tt=At,Nt=p(),Ot=x([v({status_code:g(200),result:m(p())}),z,j(400),j(424)]),Pt=x([D(Nt),z,j(400),j(424),j(500),j(501)]),Rt=v({key:Ct,value:f()}),Bt=x([z,j(400),j(424),j(500),j(501)]),Lt=At,jt=f(),Dt=x([v({status_code:g(200),result:m(f())}),z,j(400),j(424)]),zt=x([D(jt),z,j(400),j(424),j(500),j(501)]),Kt=v({key:Ct,value:b()}),Gt=x([z,j(400),j(424),j(500),j(501)]),Wt=At,Ft=b(),qt=x([v({status_code:g(200),result:m(b())}),z,j(400),j(424)]),Vt=x([D(Ft),z,j(400),j(424),j(500),j(501)]),Ht=v({key:Ct,value:f()}),Yt=x([z,j(400),j(424),j(500),j(501)]),Jt=At,Qt=f(),Xt=x([v({status_code:g(200),result:m(f())}),z,j(400),j(424)]),Zt=x([D(Qt),z,j(400),j(424),j(500),j(501)]),en=At,tn=x([z,j(400),j(424),j(500),j(501)]),nn=x([z,j(424),j(500),j(501)]);class sn extends A{constructor(){super("StorageModule")}async setBoolean(e,t){const n={key:e,value:t},s=this.validate(It,n);if(s)return{status_code:400,error:s};const r=await this.invoke({method:"setBoolean",params:n}),o=this.validate(Mt,r);return o&&this.logger.warn("setBoolean",`Unexpected response shape: ${o}`),r}async getBoolean(e){const t={key:e},n=this.validate(Tt,t);if(n)return{status_code:400,error:n};const s=await this.invoke({method:"getBoolean",params:t}),r=this.validate(Ot,s);let o;if(r&&this.logger.warn("getBoolean",`Unexpected raw response shape: ${r}`),200===s.status_code){const e=s.result;o=null==e?{status_code:204}:{status_code:200,result:e}}else o=s;const a=this.validate(Pt,o);return a&&this.logger.warn("getBoolean",`Unexpected response shape: ${a}`),o}async setInt(e,t){const n={key:e,value:t},s=this.validate(Rt,n);if(s)return{status_code:400,error:s};const r=await this.invoke({method:"setInt",params:n}),o=this.validate(Bt,r);return o&&this.logger.warn("setInt",`Unexpected response shape: ${o}`),r}async getInt(e){const t={key:e},n=this.validate(Lt,t);if(n)return{status_code:400,error:n};const s=await this.invoke({method:"getInt",params:t}),r=this.validate(Dt,s);let o;if(r&&this.logger.warn("getInt",`Unexpected raw response shape: ${r}`),200===s.status_code){const e=s.result;o=null==e?{status_code:204}:{status_code:200,result:e}}else o=s;const a=this.validate(zt,o);return a&&this.logger.warn("getInt",`Unexpected response shape: ${a}`),o}async setString(e,t){const n={key:e,value:t},s=this.validate(Kt,n);if(s)return{status_code:400,error:s};const r=await this.invoke({method:"setString",params:n}),o=this.validate(Gt,r);return o&&this.logger.warn("setString",`Unexpected response shape: ${o}`),r}async getString(e){const t={key:e},n=this.validate(Wt,t);if(n)return{status_code:400,error:n};const s=await this.invoke({method:"getString",params:t}),r=this.validate(qt,s);let o;if(r&&this.logger.warn("getString",`Unexpected raw response shape: ${r}`),200===s.status_code){const e=s.result;o=null==e?{status_code:204}:{status_code:200,result:e}}else o=s;const a=this.validate(Vt,o);return a&&this.logger.warn("getString",`Unexpected response shape: ${a}`),o}async setDouble(e,t){const n={key:e,value:t},s=this.validate(Ht,n);if(s)return{status_code:400,error:s};const r=await this.invoke({method:"setDouble",params:n}),o=this.validate(Yt,r);return o&&this.logger.warn("setDouble",`Unexpected response shape: ${o}`),r}async getDouble(e){const t={key:e},n=this.validate(Jt,t);if(n)return{status_code:400,error:n};const s=await this.invoke({method:"getDouble",params:t}),r=this.validate(Xt,s);let o;if(r&&this.logger.warn("getDouble",`Unexpected raw response shape: ${r}`),200===s.status_code){const e=s.result;o=null==e?{status_code:204}:{status_code:200,result:e}}else o=s;const a=this.validate(Zt,o);return a&&this.logger.warn("getDouble",`Unexpected response shape: ${a}`),o}async remove(e){const t={key:e},n=this.validate(en,t);if(n)return{status_code:400,error:n};const s=await this.invoke({method:"remove",params:t}),r=this.validate(tn,s);return r&&this.logger.warn("remove",`Unexpected response shape: ${r}`),s}async removeAll(){const e=await this.invoke({method:"removeAll"}),t=this.validate(nn,e);return t&&this.logger.warn("removeAll",`Unexpected response shape: ${t}`),e}}const rn=v({url:$(b(),d())}),on=x([D(b()),j(400),j(424),j(500),j(501)]);class an extends A{constructor(){super("SystemWebViewKitModule")}async redirectToSystemWebView(e){const t=this.validate(rn,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"redirectToSystemWebView",params:e}),s=this.validate(on,n);return s&&this.logger.warn("redirectToSystemWebView",`Unexpected response shape: ${s}`),n}}const cn=b(),un=x([D(cn),z,j(500),j(501)]);class dn extends A{constructor(){super("UserAttributesModule")}async getSelectedTravelDestination(){const e=await this.invoke({method:"getSelectedTravelDestination"}),t=this.validate(un,e);return t&&this.logger.warn("getSelectedTravelDestination",`Unexpected response shape: ${t}`),e}}export{Ke as AuthorizeRequestSchema,We as AuthorizeResponseSchema,Ge as AuthorizeResultSchema,pt as BackResponseSchema,A as BaseModule,q as CameraModule,J as CheckoutModule,Ve as ClearAuthorizationArtifactsResponseSchema,pe as CloseResponseSchema,Z as ContainerAnalyticsEventData,X as ContainerAnalyticsEventName,Q as ContainerAnalyticsEventState,Ae as ContainerModule,st as DRMPlaybackEventSchema,Ne as DeviceModule,St as DismissSplashScreenResponseSchema,Oe as DownloadFileRequestSchema,Pe as DownloadFileResponseSchema,ft as FetchEmailResponseSchema,mt as FetchEmailResultSchema,Re as FileModule,qe as GetAuthorizationArtifactsResponseSchema,Fe as GetAuthorizationArtifactsResultSchema,Tt as GetBooleanRequestSchema,Pt as GetBooleanResponseSchema,Nt as GetBooleanResultSchema,Ze as GetCoordinateResponseSchema,Xe as GetCoordinateResultSchema,tt as GetCountryCodeResponseSchema,et as GetCountryCodeResultSchema,Jt as GetDoubleRequestSchema,Zt as GetDoubleResponseSchema,Qt as GetDoubleResultSchema,Lt as GetIntRequestSchema,zt as GetIntResponseSchema,jt as GetIntResultSchema,Je as GetLanguageLocaleIdentifierResponseSchema,Ye as GetLanguageLocaleIdentifierResultSchema,un as GetSelectedTravelDestinationResponseSchema,cn as GetSelectedTravelDestinationResultSchema,Ce as GetSessionParamsResponseSchema,Ee as GetSessionParamsResultSchema,Wt as GetStringRequestSchema,Vt as GetStringResponseSchema,Ft as GetStringResultSchema,bt as HasAccessToRequestSchema,xt as HasAccessToResponseSchema,_t as HasAccessToResultSchema,oe as HideBackButtonResponseSchema,ye as HideLoaderResponseSchema,ue as HideRefreshButtonResponseSchema,He as IdentityModule,Se as IsConnectedResponseSchema,$e as IsConnectedResultSchema,Te as IsEsimSupportedResponseSchema,Me as IsEsimSupportedResultSchema,Qe as LocaleModule,nt as LocationModule,E as Logger,at as MediaModule,ht as NetworkModule,ot as ObserveDRMPlaybackResponseSchema,ge as OnContentLoadedResponseSchema,be as OnCtaTapResponseSchema,ke as OpenExternalLinkResponseSchema,gt as PlatformModule,rt as PlayDRMContentResponseSchema,kt as ProfileModule,rn as RedirectToSystemWebViewRequestSchema,on as RedirectToSystemWebViewResponseSchema,Ut as ReloadScopesResponseSchema,nn as RemoveAllResponseSchema,tn as RemoveResponseSchema,G as ScanQRCodeRequestSchema,F as ScanQRCodeResponseSchema,W as ScanQRCodeResultSchema,$t as ScopeModule,_e as SendAnalyticsEventRequestSchema,Ue as SendAnalyticsEventResponseSchema,it as SendRequestSchema,ut as SendResponseSchema,ct as SendResultSchema,te as SetBackgroundColorResponseSchema,It as SetBooleanRequestSchema,Mt as SetBooleanResponseSchema,Ht as SetDoubleRequestSchema,Yt as SetDoubleResponseSchema,Rt as SetIntRequestSchema,Bt as SetIntResponseSchema,Kt as SetStringRequestSchema,Gt as SetStringResponseSchema,se as SetTitleResponseSchema,ie as ShowBackButtonResponseSchema,fe as ShowLoaderResponseSchema,le as ShowRefreshButtonResponseSchema,Et as SplashScreenModule,sn as StorageModule,an as SystemWebViewKitModule,V as TriggerCheckoutRequestSchema,Y as TriggerCheckoutResponseSchema,H as TriggerCheckoutResultSchema,dn as UserAttributesModule,vt as VerifyEmailRequestSchema,wt as VerifyEmailResponseSchema,yt as VerifyEmailResultSchema,L as hasResult,P as isClientError,B as isError,O as isFound,T as isNoContent,M as isOk,N as isRedirection,R as isServerError,I as isSuccess};