@grabjs/superapp-sdk 2.0.0-beta.47 → 2.0.0-beta.48
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/api-reference/api.json +3848 -3428
- package/dist/index.d.ts +148 -64
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/skills/SKILL.md +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -1597,7 +1597,8 @@ export declare const GetBooleanRequestSchema: v.ObjectSchema<{
|
|
|
1597
1597
|
*
|
|
1598
1598
|
* @remarks
|
|
1599
1599
|
* This response can have the following status codes:
|
|
1600
|
-
* - `200`: Value retrieved successfully. The `result` contains the boolean value
|
|
1600
|
+
* - `200`: Value retrieved successfully. The `result` contains the boolean value.
|
|
1601
|
+
* - `204`: Value not found in storage.
|
|
1601
1602
|
* - `400`: Missing required parameters - key not provided.
|
|
1602
1603
|
* - `424`: Failed Dependency - storage operation failed due to underlying storage error.
|
|
1603
1604
|
* - `500`: Internal server error - an unexpected error occurred on the native side.
|
|
@@ -1614,9 +1615,9 @@ export declare type GetBooleanResponse = InferOutput<typeof GetBooleanResponseSc
|
|
|
1614
1615
|
*/
|
|
1615
1616
|
export declare const GetBooleanResponseSchema: v.UnionSchema<[v.ObjectSchema<{
|
|
1616
1617
|
readonly status_code: v.LiteralSchema<200, undefined>;
|
|
1617
|
-
readonly result: v.
|
|
1618
|
-
|
|
1619
|
-
|
|
1618
|
+
readonly result: v.BooleanSchema<undefined>;
|
|
1619
|
+
}, undefined>, v.ObjectSchema<{
|
|
1620
|
+
readonly status_code: v.LiteralSchema<204, undefined>;
|
|
1620
1621
|
}, undefined>, v.ObjectSchema<{
|
|
1621
1622
|
readonly status_code: v.LiteralSchema<400, undefined>;
|
|
1622
1623
|
readonly error: v.StringSchema<undefined>;
|
|
@@ -1632,18 +1633,14 @@ export declare const GetBooleanResponseSchema: v.UnionSchema<[v.ObjectSchema<{
|
|
|
1632
1633
|
}, undefined>], undefined>;
|
|
1633
1634
|
|
|
1634
1635
|
/**
|
|
1635
|
-
*
|
|
1636
|
+
* The boolean value returned when a key exists in storage.
|
|
1636
1637
|
*
|
|
1637
|
-
* @
|
|
1638
|
-
*
|
|
1639
|
-
* ```typescript
|
|
1640
|
-
* { value: true }
|
|
1641
|
-
* ```
|
|
1638
|
+
* @remarks
|
|
1639
|
+
* When the key has no stored value, the response `status_code` is `204` instead.
|
|
1642
1640
|
*
|
|
1643
1641
|
* @example
|
|
1644
|
-
* **Value not found:**
|
|
1645
1642
|
* ```typescript
|
|
1646
|
-
*
|
|
1643
|
+
* true
|
|
1647
1644
|
* ```
|
|
1648
1645
|
*
|
|
1649
1646
|
* @public
|
|
@@ -1655,9 +1652,7 @@ export declare type GetBooleanResult = InferOutput<typeof GetBooleanResultSchema
|
|
|
1655
1652
|
*
|
|
1656
1653
|
* @public
|
|
1657
1654
|
*/
|
|
1658
|
-
export declare const GetBooleanResultSchema: v.
|
|
1659
|
-
readonly value: v.NullableSchema<v.BooleanSchema<undefined>, undefined>;
|
|
1660
|
-
}, undefined>;
|
|
1655
|
+
export declare const GetBooleanResultSchema: v.BooleanSchema<undefined>;
|
|
1661
1656
|
|
|
1662
1657
|
/**
|
|
1663
1658
|
* Response when getting the device coordinates.
|
|
@@ -1811,7 +1806,8 @@ export declare const GetDoubleRequestSchema: v.ObjectSchema<{
|
|
|
1811
1806
|
*
|
|
1812
1807
|
* @remarks
|
|
1813
1808
|
* This response can have the following status codes:
|
|
1814
|
-
* - `200`: Value retrieved successfully. The `result` contains the double value
|
|
1809
|
+
* - `200`: Value retrieved successfully. The `result` contains the double value.
|
|
1810
|
+
* - `204`: Value not found in storage.
|
|
1815
1811
|
* - `400`: Missing required parameters - key not provided.
|
|
1816
1812
|
* - `424`: Failed Dependency - storage operation failed due to underlying storage error.
|
|
1817
1813
|
* - `500`: Internal server error - an unexpected error occurred on the native side.
|
|
@@ -1828,9 +1824,9 @@ export declare type GetDoubleResponse = InferOutput<typeof GetDoubleResponseSche
|
|
|
1828
1824
|
*/
|
|
1829
1825
|
export declare const GetDoubleResponseSchema: v.UnionSchema<[v.ObjectSchema<{
|
|
1830
1826
|
readonly status_code: v.LiteralSchema<200, undefined>;
|
|
1831
|
-
readonly result: v.
|
|
1832
|
-
|
|
1833
|
-
|
|
1827
|
+
readonly result: v.NumberSchema<undefined>;
|
|
1828
|
+
}, undefined>, v.ObjectSchema<{
|
|
1829
|
+
readonly status_code: v.LiteralSchema<204, undefined>;
|
|
1834
1830
|
}, undefined>, v.ObjectSchema<{
|
|
1835
1831
|
readonly status_code: v.LiteralSchema<400, undefined>;
|
|
1836
1832
|
readonly error: v.StringSchema<undefined>;
|
|
@@ -1846,18 +1842,14 @@ export declare const GetDoubleResponseSchema: v.UnionSchema<[v.ObjectSchema<{
|
|
|
1846
1842
|
}, undefined>], undefined>;
|
|
1847
1843
|
|
|
1848
1844
|
/**
|
|
1849
|
-
*
|
|
1845
|
+
* The floating-point value returned when a key exists in storage.
|
|
1850
1846
|
*
|
|
1851
|
-
* @
|
|
1852
|
-
*
|
|
1853
|
-
* ```typescript
|
|
1854
|
-
* { value: 19.99 }
|
|
1855
|
-
* ```
|
|
1847
|
+
* @remarks
|
|
1848
|
+
* When the key has no stored value, the response `status_code` is `204` instead.
|
|
1856
1849
|
*
|
|
1857
1850
|
* @example
|
|
1858
|
-
* **Value not found:**
|
|
1859
1851
|
* ```typescript
|
|
1860
|
-
*
|
|
1852
|
+
* 19.99
|
|
1861
1853
|
* ```
|
|
1862
1854
|
*
|
|
1863
1855
|
* @public
|
|
@@ -1869,9 +1861,7 @@ export declare type GetDoubleResult = InferOutput<typeof GetDoubleResultSchema>;
|
|
|
1869
1861
|
*
|
|
1870
1862
|
* @public
|
|
1871
1863
|
*/
|
|
1872
|
-
export declare const GetDoubleResultSchema: v.
|
|
1873
|
-
readonly value: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
1874
|
-
}, undefined>;
|
|
1864
|
+
export declare const GetDoubleResultSchema: v.NumberSchema<undefined>;
|
|
1875
1865
|
|
|
1876
1866
|
/**
|
|
1877
1867
|
* Request parameters for getting an integer value from storage.
|
|
@@ -1899,7 +1889,8 @@ export declare const GetIntRequestSchema: v.ObjectSchema<{
|
|
|
1899
1889
|
*
|
|
1900
1890
|
* @remarks
|
|
1901
1891
|
* This response can have the following status codes:
|
|
1902
|
-
* - `200`: Value retrieved successfully. The `result` contains the integer value
|
|
1892
|
+
* - `200`: Value retrieved successfully. The `result` contains the integer value.
|
|
1893
|
+
* - `204`: Value not found in storage.
|
|
1903
1894
|
* - `400`: Missing required parameters - key not provided.
|
|
1904
1895
|
* - `424`: Failed Dependency - storage operation failed due to underlying storage error.
|
|
1905
1896
|
* - `500`: Internal server error - an unexpected error occurred on the native side.
|
|
@@ -1916,9 +1907,9 @@ export declare type GetIntResponse = InferOutput<typeof GetIntResponseSchema>;
|
|
|
1916
1907
|
*/
|
|
1917
1908
|
export declare const GetIntResponseSchema: v.UnionSchema<[v.ObjectSchema<{
|
|
1918
1909
|
readonly status_code: v.LiteralSchema<200, undefined>;
|
|
1919
|
-
readonly result: v.
|
|
1920
|
-
|
|
1921
|
-
|
|
1910
|
+
readonly result: v.NumberSchema<undefined>;
|
|
1911
|
+
}, undefined>, v.ObjectSchema<{
|
|
1912
|
+
readonly status_code: v.LiteralSchema<204, undefined>;
|
|
1922
1913
|
}, undefined>, v.ObjectSchema<{
|
|
1923
1914
|
readonly status_code: v.LiteralSchema<400, undefined>;
|
|
1924
1915
|
readonly error: v.StringSchema<undefined>;
|
|
@@ -1934,18 +1925,14 @@ export declare const GetIntResponseSchema: v.UnionSchema<[v.ObjectSchema<{
|
|
|
1934
1925
|
}, undefined>], undefined>;
|
|
1935
1926
|
|
|
1936
1927
|
/**
|
|
1937
|
-
*
|
|
1928
|
+
* The integer value returned when a key exists in storage.
|
|
1938
1929
|
*
|
|
1939
|
-
* @
|
|
1940
|
-
*
|
|
1941
|
-
* ```typescript
|
|
1942
|
-
* { value: 42 }
|
|
1943
|
-
* ```
|
|
1930
|
+
* @remarks
|
|
1931
|
+
* When the key has no stored value, the response `status_code` is `204` instead.
|
|
1944
1932
|
*
|
|
1945
1933
|
* @example
|
|
1946
|
-
* **Value not found:**
|
|
1947
1934
|
* ```typescript
|
|
1948
|
-
*
|
|
1935
|
+
* 42
|
|
1949
1936
|
* ```
|
|
1950
1937
|
*
|
|
1951
1938
|
* @public
|
|
@@ -1957,9 +1944,7 @@ export declare type GetIntResult = InferOutput<typeof GetIntResultSchema>;
|
|
|
1957
1944
|
*
|
|
1958
1945
|
* @public
|
|
1959
1946
|
*/
|
|
1960
|
-
export declare const GetIntResultSchema: v.
|
|
1961
|
-
readonly value: v.NullableSchema<v.NumberSchema<undefined>, undefined>;
|
|
1962
|
-
}, undefined>;
|
|
1947
|
+
export declare const GetIntResultSchema: v.NumberSchema<undefined>;
|
|
1963
1948
|
|
|
1964
1949
|
/**
|
|
1965
1950
|
* Response when getting the language locale identifier from the device.
|
|
@@ -2172,7 +2157,8 @@ export declare const GetStringRequestSchema: v.ObjectSchema<{
|
|
|
2172
2157
|
*
|
|
2173
2158
|
* @remarks
|
|
2174
2159
|
* This response can have the following status codes:
|
|
2175
|
-
* - `200`: Value retrieved successfully. The `result` contains the string value
|
|
2160
|
+
* - `200`: Value retrieved successfully. The `result` contains the string value.
|
|
2161
|
+
* - `204`: Value not found in storage.
|
|
2176
2162
|
* - `400`: Missing required parameters - key not provided.
|
|
2177
2163
|
* - `424`: Failed Dependency - storage operation failed due to underlying storage error.
|
|
2178
2164
|
* - `500`: Internal server error - an unexpected error occurred on the native side.
|
|
@@ -2189,9 +2175,9 @@ export declare type GetStringResponse = InferOutput<typeof GetStringResponseSche
|
|
|
2189
2175
|
*/
|
|
2190
2176
|
export declare const GetStringResponseSchema: v.UnionSchema<[v.ObjectSchema<{
|
|
2191
2177
|
readonly status_code: v.LiteralSchema<200, undefined>;
|
|
2192
|
-
readonly result: v.
|
|
2193
|
-
|
|
2194
|
-
|
|
2178
|
+
readonly result: v.StringSchema<undefined>;
|
|
2179
|
+
}, undefined>, v.ObjectSchema<{
|
|
2180
|
+
readonly status_code: v.LiteralSchema<204, undefined>;
|
|
2195
2181
|
}, undefined>, v.ObjectSchema<{
|
|
2196
2182
|
readonly status_code: v.LiteralSchema<400, undefined>;
|
|
2197
2183
|
readonly error: v.StringSchema<undefined>;
|
|
@@ -2207,18 +2193,14 @@ export declare const GetStringResponseSchema: v.UnionSchema<[v.ObjectSchema<{
|
|
|
2207
2193
|
}, undefined>], undefined>;
|
|
2208
2194
|
|
|
2209
2195
|
/**
|
|
2210
|
-
*
|
|
2196
|
+
* The string value returned when a key exists in storage.
|
|
2211
2197
|
*
|
|
2212
|
-
* @
|
|
2213
|
-
*
|
|
2214
|
-
* ```typescript
|
|
2215
|
-
* { value: 'john_doe' }
|
|
2216
|
-
* ```
|
|
2198
|
+
* @remarks
|
|
2199
|
+
* When the key has no stored value, the response `status_code` is `204` instead.
|
|
2217
2200
|
*
|
|
2218
2201
|
* @example
|
|
2219
|
-
* **Value not found:**
|
|
2220
2202
|
* ```typescript
|
|
2221
|
-
*
|
|
2203
|
+
* 'john_doe'
|
|
2222
2204
|
* ```
|
|
2223
2205
|
*
|
|
2224
2206
|
* @public
|
|
@@ -2230,9 +2212,7 @@ export declare type GetStringResult = InferOutput<typeof GetStringResultSchema>;
|
|
|
2230
2212
|
*
|
|
2231
2213
|
* @public
|
|
2232
2214
|
*/
|
|
2233
|
-
export declare const GetStringResultSchema: v.
|
|
2234
|
-
readonly value: v.NullableSchema<v.StringSchema<undefined>, undefined>;
|
|
2235
|
-
}, undefined>;
|
|
2215
|
+
export declare const GetStringResultSchema: v.StringSchema<undefined>;
|
|
2236
2216
|
|
|
2237
2217
|
/**
|
|
2238
2218
|
* Represents parsed information from a Grab app user agent string.
|
|
@@ -4520,6 +4500,28 @@ export declare const SetBackgroundColorResponseSchema: v.UnionSchema<[v.ObjectSc
|
|
|
4520
4500
|
*/
|
|
4521
4501
|
export declare type SetBackgroundColorResult = void;
|
|
4522
4502
|
|
|
4503
|
+
/**
|
|
4504
|
+
* Request parameters for storing a boolean value in storage.
|
|
4505
|
+
*
|
|
4506
|
+
* @example
|
|
4507
|
+
* ```typescript
|
|
4508
|
+
* { key: 'isDarkMode', value: true }
|
|
4509
|
+
* ```
|
|
4510
|
+
*
|
|
4511
|
+
* @public
|
|
4512
|
+
*/
|
|
4513
|
+
export declare type SetBooleanRequest = InferOutput<typeof SetBooleanRequestSchema>;
|
|
4514
|
+
|
|
4515
|
+
/**
|
|
4516
|
+
* Valibot schema for {@link SetBooleanRequest}.
|
|
4517
|
+
*
|
|
4518
|
+
* @public
|
|
4519
|
+
*/
|
|
4520
|
+
export declare const SetBooleanRequestSchema: v.ObjectSchema<{
|
|
4521
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
4522
|
+
readonly value: v.BooleanSchema<undefined>;
|
|
4523
|
+
}, undefined>;
|
|
4524
|
+
|
|
4523
4525
|
/**
|
|
4524
4526
|
* Response when setting a boolean value.
|
|
4525
4527
|
*
|
|
@@ -4564,6 +4566,28 @@ export declare const SetBooleanResponseSchema: v.UnionSchema<[v.ObjectSchema<{
|
|
|
4564
4566
|
*/
|
|
4565
4567
|
export declare type SetBooleanResult = void;
|
|
4566
4568
|
|
|
4569
|
+
/**
|
|
4570
|
+
* Request parameters for storing a double value in storage.
|
|
4571
|
+
*
|
|
4572
|
+
* @example
|
|
4573
|
+
* ```typescript
|
|
4574
|
+
* { key: 'price', value: 19.99 }
|
|
4575
|
+
* ```
|
|
4576
|
+
*
|
|
4577
|
+
* @public
|
|
4578
|
+
*/
|
|
4579
|
+
export declare type SetDoubleRequest = InferOutput<typeof SetDoubleRequestSchema>;
|
|
4580
|
+
|
|
4581
|
+
/**
|
|
4582
|
+
* Valibot schema for {@link SetDoubleRequest}.
|
|
4583
|
+
*
|
|
4584
|
+
* @public
|
|
4585
|
+
*/
|
|
4586
|
+
export declare const SetDoubleRequestSchema: v.ObjectSchema<{
|
|
4587
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
4588
|
+
readonly value: v.NumberSchema<undefined>;
|
|
4589
|
+
}, undefined>;
|
|
4590
|
+
|
|
4567
4591
|
/**
|
|
4568
4592
|
* Response when setting a double value.
|
|
4569
4593
|
*
|
|
@@ -4608,6 +4632,28 @@ export declare const SetDoubleResponseSchema: v.UnionSchema<[v.ObjectSchema<{
|
|
|
4608
4632
|
*/
|
|
4609
4633
|
export declare type SetDoubleResult = void;
|
|
4610
4634
|
|
|
4635
|
+
/**
|
|
4636
|
+
* Request parameters for storing an integer value in storage.
|
|
4637
|
+
*
|
|
4638
|
+
* @example
|
|
4639
|
+
* ```typescript
|
|
4640
|
+
* { key: 'userCount', value: 42 }
|
|
4641
|
+
* ```
|
|
4642
|
+
*
|
|
4643
|
+
* @public
|
|
4644
|
+
*/
|
|
4645
|
+
export declare type SetIntRequest = InferOutput<typeof SetIntRequestSchema>;
|
|
4646
|
+
|
|
4647
|
+
/**
|
|
4648
|
+
* Valibot schema for {@link SetIntRequest}.
|
|
4649
|
+
*
|
|
4650
|
+
* @public
|
|
4651
|
+
*/
|
|
4652
|
+
export declare const SetIntRequestSchema: v.ObjectSchema<{
|
|
4653
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
4654
|
+
readonly value: v.NumberSchema<undefined>;
|
|
4655
|
+
}, undefined>;
|
|
4656
|
+
|
|
4611
4657
|
/**
|
|
4612
4658
|
* Response when setting an integer value.
|
|
4613
4659
|
*
|
|
@@ -4652,6 +4698,28 @@ export declare const SetIntResponseSchema: v.UnionSchema<[v.ObjectSchema<{
|
|
|
4652
4698
|
*/
|
|
4653
4699
|
export declare type SetIntResult = void;
|
|
4654
4700
|
|
|
4701
|
+
/**
|
|
4702
|
+
* Request parameters for storing a string value in storage.
|
|
4703
|
+
*
|
|
4704
|
+
* @example
|
|
4705
|
+
* ```typescript
|
|
4706
|
+
* { key: 'username', value: 'john_doe' }
|
|
4707
|
+
* ```
|
|
4708
|
+
*
|
|
4709
|
+
* @public
|
|
4710
|
+
*/
|
|
4711
|
+
export declare type SetStringRequest = InferOutput<typeof SetStringRequestSchema>;
|
|
4712
|
+
|
|
4713
|
+
/**
|
|
4714
|
+
* Valibot schema for {@link SetStringRequest}.
|
|
4715
|
+
*
|
|
4716
|
+
* @public
|
|
4717
|
+
*/
|
|
4718
|
+
export declare const SetStringRequestSchema: v.ObjectSchema<{
|
|
4719
|
+
readonly key: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>;
|
|
4720
|
+
readonly value: v.StringSchema<undefined>;
|
|
4721
|
+
}, undefined>;
|
|
4722
|
+
|
|
4655
4723
|
/**
|
|
4656
4724
|
* Response when setting a string value.
|
|
4657
4725
|
*
|
|
@@ -4998,7 +5066,11 @@ export declare class StorageModule extends BaseModule {
|
|
|
4998
5066
|
*
|
|
4999
5067
|
* // Handle the response
|
|
5000
5068
|
* if (isSuccess(response)) {
|
|
5001
|
-
*
|
|
5069
|
+
* if (response.status_code === 200) {
|
|
5070
|
+
* console.log('Stored value:', response.result);
|
|
5071
|
+
* } else if (response.status_code === 204) {
|
|
5072
|
+
* console.log('No value stored for this key');
|
|
5073
|
+
* }
|
|
5002
5074
|
* } else if (isError(response)) {
|
|
5003
5075
|
* console.error(`Error ${response.status_code}: ${response.error}`);
|
|
5004
5076
|
* } else {
|
|
@@ -5065,7 +5137,11 @@ export declare class StorageModule extends BaseModule {
|
|
|
5065
5137
|
*
|
|
5066
5138
|
* // Handle the response
|
|
5067
5139
|
* if (isSuccess(response)) {
|
|
5068
|
-
*
|
|
5140
|
+
* if (response.status_code === 200) {
|
|
5141
|
+
* console.log('Stored value:', response.result);
|
|
5142
|
+
* } else if (response.status_code === 204) {
|
|
5143
|
+
* console.log('No value stored for this key');
|
|
5144
|
+
* }
|
|
5069
5145
|
* } else if (isError(response)) {
|
|
5070
5146
|
* console.error(`Error ${response.status_code}: ${response.error}`);
|
|
5071
5147
|
* } else {
|
|
@@ -5132,7 +5208,11 @@ export declare class StorageModule extends BaseModule {
|
|
|
5132
5208
|
*
|
|
5133
5209
|
* // Handle the response
|
|
5134
5210
|
* if (isSuccess(response)) {
|
|
5135
|
-
*
|
|
5211
|
+
* if (response.status_code === 200) {
|
|
5212
|
+
* console.log('Stored value:', response.result);
|
|
5213
|
+
* } else if (response.status_code === 204) {
|
|
5214
|
+
* console.log('No value stored for this key');
|
|
5215
|
+
* }
|
|
5136
5216
|
* } else if (isError(response)) {
|
|
5137
5217
|
* console.error(`Error ${response.status_code}: ${response.error}`);
|
|
5138
5218
|
* } else {
|
|
@@ -5199,7 +5279,11 @@ export declare class StorageModule extends BaseModule {
|
|
|
5199
5279
|
*
|
|
5200
5280
|
* // Handle the response
|
|
5201
5281
|
* if (isSuccess(response)) {
|
|
5202
|
-
*
|
|
5282
|
+
* if (response.status_code === 200) {
|
|
5283
|
+
* console.log('Stored value:', response.result);
|
|
5284
|
+
* } else if (response.status_code === 204) {
|
|
5285
|
+
* console.log('No value stored for this key');
|
|
5286
|
+
* }
|
|
5203
5287
|
* } else if (isError(response)) {
|
|
5204
5288
|
* console.error(`Error ${response.status_code}: ${response.error}`);
|
|
5205
5289
|
* } 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 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}),s=this.validate(F,n);return s&&this.logger.warn("scanQRCode",`Unexpected response shape: ${s}`),n}}const H=k(b(),U()),V=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(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}),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}}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}),s=this.validate(Ne,n);return s&&this.logger.warn("downloadFile",`Unexpected response shape: ${s}`),n}}function Re(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 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=(s=Re(64),btoa(s).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"));var s;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"),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&&!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},s=Ve.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?Ve.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(Ve.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=>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 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,Ot=p(),Nt=x([v({status_code:g(200),result:m(p())}),z,j(400),j(424)]),Pt=x([D(Ot),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)]),Ht=x([D(Ft),z,j(400),j(424),j(500),j(501)]),Vt=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(Nt,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(Ht,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(Vt,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,He as ClearAuthorizationArtifactsResponseSchema,pe as CloseResponseSchema,Z as ContainerAnalyticsEventData,X as ContainerAnalyticsEventName,Q as ContainerAnalyticsEventState,Ae as ContainerModule,st 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,Tt as GetBooleanRequestSchema,Pt as GetBooleanResponseSchema,Ot 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,Ht as GetStringResponseSchema,Ft 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,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,Vt 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,H as TriggerCheckoutRequestSchema,Y as TriggerCheckoutResponseSchema,V as TriggerCheckoutResultSchema,dn 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};
|