@grabjs/superapp-sdk 2.0.0-beta.33 → 2.0.0-beta.36
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/README.md +1 -1
- package/api-reference/api.json +4772 -3362
- package/dist/index.d.ts +240 -28
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/skills/SKILL.md +8 -4
package/dist/index.d.ts
CHANGED
|
@@ -1104,19 +1104,19 @@ export declare class ContainerModule extends BaseModule {
|
|
|
1104
1104
|
}
|
|
1105
1105
|
|
|
1106
1106
|
/**
|
|
1107
|
-
* JSBridge module for querying native device
|
|
1107
|
+
* JSBridge module for querying native device information.
|
|
1108
1108
|
*
|
|
1109
1109
|
* @group Modules
|
|
1110
1110
|
*
|
|
1111
1111
|
* @remarks
|
|
1112
|
-
* Provides access to device
|
|
1112
|
+
* Provides access to device checks exposed by the native Grab app bridge.
|
|
1113
1113
|
* This code must run on the Grab SuperApp's WebView to function correctly.
|
|
1114
1114
|
*
|
|
1115
1115
|
* @example
|
|
1116
1116
|
* **ES Module:**
|
|
1117
1117
|
* ```typescript
|
|
1118
|
-
* import {
|
|
1119
|
-
* const
|
|
1118
|
+
* import { DeviceModule } from '@grabjs/superapp-sdk';
|
|
1119
|
+
* const deviceModule = new DeviceModule();
|
|
1120
1120
|
* ```
|
|
1121
1121
|
*
|
|
1122
1122
|
* @example
|
|
@@ -1124,14 +1124,14 @@ export declare class ContainerModule extends BaseModule {
|
|
|
1124
1124
|
* ```html
|
|
1125
1125
|
* <script src="https://cdn.jsdelivr.net/npm/@grabjs/superapp-sdk/dist/index.js"></script>
|
|
1126
1126
|
* <script>
|
|
1127
|
-
* const
|
|
1127
|
+
* const deviceModule = new SuperAppSDK.DeviceModule();
|
|
1128
1128
|
* </script>
|
|
1129
1129
|
* ```
|
|
1130
1130
|
*
|
|
1131
1131
|
* @public
|
|
1132
1132
|
* @noInheritDoc
|
|
1133
1133
|
*/
|
|
1134
|
-
export declare class
|
|
1134
|
+
export declare class DeviceModule extends BaseModule {
|
|
1135
1135
|
constructor();
|
|
1136
1136
|
/**
|
|
1137
1137
|
* Checks whether the current device supports eSIM.
|
|
@@ -1141,13 +1141,13 @@ export declare class DeviceCapabilityModule extends BaseModule {
|
|
|
1141
1141
|
* @example
|
|
1142
1142
|
* **Simple usage**
|
|
1143
1143
|
* ```typescript
|
|
1144
|
-
* import {
|
|
1144
|
+
* import { DeviceModule, isSuccess, isError } from '@grabjs/superapp-sdk';
|
|
1145
1145
|
*
|
|
1146
|
-
* // Initialize the device
|
|
1147
|
-
* const
|
|
1146
|
+
* // Initialize the device module
|
|
1147
|
+
* const device = new DeviceModule();
|
|
1148
1148
|
*
|
|
1149
1149
|
* // Check eSIM support
|
|
1150
|
-
* const response = await
|
|
1150
|
+
* const response = await device.isEsimSupported();
|
|
1151
1151
|
*
|
|
1152
1152
|
* // Handle the response
|
|
1153
1153
|
* if (isSuccess(response)) {
|
|
@@ -2294,9 +2294,7 @@ export declare type HasAccessToResponse = InferOutput<typeof HasAccessToResponse
|
|
|
2294
2294
|
*/
|
|
2295
2295
|
export declare const HasAccessToResponseSchema: v.UnionSchema<[v.ObjectSchema<{
|
|
2296
2296
|
readonly status_code: v.LiteralSchema<200, undefined>;
|
|
2297
|
-
readonly result: v.
|
|
2298
|
-
readonly hasAccess: v.BooleanSchema<undefined>;
|
|
2299
|
-
}, undefined>;
|
|
2297
|
+
readonly result: v.BooleanSchema<undefined>;
|
|
2300
2298
|
}, undefined>, v.ObjectSchema<{
|
|
2301
2299
|
readonly status_code: v.LiteralSchema<400, undefined>;
|
|
2302
2300
|
readonly error: v.StringSchema<undefined>;
|
|
@@ -2312,18 +2310,18 @@ export declare const HasAccessToResponseSchema: v.UnionSchema<[v.ObjectSchema<{
|
|
|
2312
2310
|
}, undefined>], undefined>;
|
|
2313
2311
|
|
|
2314
2312
|
/**
|
|
2315
|
-
*
|
|
2313
|
+
* Boolean result indicating whether the MiniApp has access to the specified API.
|
|
2316
2314
|
*
|
|
2317
2315
|
* @example
|
|
2318
2316
|
* **Has access:**
|
|
2319
2317
|
* ```typescript
|
|
2320
|
-
*
|
|
2318
|
+
* true
|
|
2321
2319
|
* ```
|
|
2322
2320
|
*
|
|
2323
2321
|
* @example
|
|
2324
2322
|
* **No access:**
|
|
2325
2323
|
* ```typescript
|
|
2326
|
-
*
|
|
2324
|
+
* false
|
|
2327
2325
|
* ```
|
|
2328
2326
|
*
|
|
2329
2327
|
* @public
|
|
@@ -2335,9 +2333,7 @@ export declare type HasAccessToResult = InferOutput<typeof HasAccessToResultSche
|
|
|
2335
2333
|
*
|
|
2336
2334
|
* @public
|
|
2337
2335
|
*/
|
|
2338
|
-
export declare const HasAccessToResultSchema: v.
|
|
2339
|
-
readonly hasAccess: v.BooleanSchema<undefined>;
|
|
2340
|
-
}, undefined>;
|
|
2336
|
+
export declare const HasAccessToResultSchema: v.BooleanSchema<undefined>;
|
|
2341
2337
|
|
|
2342
2338
|
/**
|
|
2343
2339
|
* Response when hiding the back button.
|
|
@@ -2754,7 +2750,7 @@ export declare interface InvokeOptions {
|
|
|
2754
2750
|
* Type guard to check if a JSBridge response is a client error (4xx status codes).
|
|
2755
2751
|
*
|
|
2756
2752
|
* @param response - The JSBridge response to check
|
|
2757
|
-
* @returns True if the response is a client error (400
|
|
2753
|
+
* @returns True if the response is a client error (400-499), false otherwise
|
|
2758
2754
|
*
|
|
2759
2755
|
* @example
|
|
2760
2756
|
* ```typescript
|
|
@@ -2961,7 +2957,7 @@ export declare function isRedirection<T extends BridgeResponse>(response: T): re
|
|
|
2961
2957
|
* Type guard to check if a JSBridge response is a server error (5xx status codes).
|
|
2962
2958
|
*
|
|
2963
2959
|
* @param response - The JSBridge response to check
|
|
2964
|
-
* @returns True if the response is a server error (500
|
|
2960
|
+
* @returns True if the response is a server error (500-599), false otherwise
|
|
2965
2961
|
*
|
|
2966
2962
|
* @example
|
|
2967
2963
|
* ```typescript
|
|
@@ -2978,19 +2974,17 @@ export declare function isServerError<T extends BridgeResponse>(response: T): re
|
|
|
2978
2974
|
}>;
|
|
2979
2975
|
|
|
2980
2976
|
/**
|
|
2981
|
-
* Type guard to check if a JSBridge response is successful (status codes
|
|
2977
|
+
* Type guard to check if a JSBridge response is successful (2xx status codes).
|
|
2982
2978
|
*
|
|
2983
2979
|
* @param response - The JSBridge response to check
|
|
2984
|
-
* @returns True if the response is successful (200
|
|
2980
|
+
* @returns True if the response is successful (200-299), false otherwise
|
|
2985
2981
|
*
|
|
2986
2982
|
* @example
|
|
2987
2983
|
* ```typescript
|
|
2988
2984
|
* const response = await someBridgeMethod();
|
|
2989
2985
|
* if (isSuccess(response)) {
|
|
2990
|
-
* // response narrowed to
|
|
2991
|
-
*
|
|
2992
|
-
* console.log(response.result);
|
|
2993
|
-
* }
|
|
2986
|
+
* // response narrowed to success variants — result is available
|
|
2987
|
+
* console.log(response.result);
|
|
2994
2988
|
* }
|
|
2995
2989
|
* ```
|
|
2996
2990
|
*
|
|
@@ -3343,6 +3337,116 @@ export declare class MediaModule extends BaseModule {
|
|
|
3343
3337
|
observePlayDRMContent(data: DRMContentConfig): ObserveDRMPlaybackResponse;
|
|
3344
3338
|
}
|
|
3345
3339
|
|
|
3340
|
+
/**
|
|
3341
|
+
* JSBridge module for making network requests via the native bridge.
|
|
3342
|
+
*
|
|
3343
|
+
* @group Modules
|
|
3344
|
+
*
|
|
3345
|
+
* @remarks
|
|
3346
|
+
* Provides access to native network functionality for making HTTP requests.
|
|
3347
|
+
* This code must run on the Grab SuperApp's WebView to function correctly.
|
|
3348
|
+
*
|
|
3349
|
+
* @example
|
|
3350
|
+
* **ES Module:**
|
|
3351
|
+
* ```typescript
|
|
3352
|
+
* import { NetworkModule } from '@grabjs/superapp-sdk';
|
|
3353
|
+
* const networkModule = new NetworkModule();
|
|
3354
|
+
* ```
|
|
3355
|
+
*
|
|
3356
|
+
* @example
|
|
3357
|
+
* **CDN (UMD):**
|
|
3358
|
+
* ```html
|
|
3359
|
+
* <script src="https://cdn.jsdelivr.net/npm/@grabjs/superapp-sdk/dist/index.js"></script>
|
|
3360
|
+
* <script>
|
|
3361
|
+
* const networkModule = new SuperAppSDK.NetworkModule();
|
|
3362
|
+
* </script>
|
|
3363
|
+
* ```
|
|
3364
|
+
*
|
|
3365
|
+
* @public
|
|
3366
|
+
* @noInheritDoc
|
|
3367
|
+
*/
|
|
3368
|
+
export declare class NetworkModule extends BaseModule {
|
|
3369
|
+
constructor();
|
|
3370
|
+
/**
|
|
3371
|
+
* Sends a network request via the native bridge.
|
|
3372
|
+
*
|
|
3373
|
+
* @param request - The network request parameters including endpoint, method, headers, query, body, and timeout. See {@link SendRequest}.
|
|
3374
|
+
*
|
|
3375
|
+
* @returns The network response containing the result data or error information. See {@link SendResponse}.
|
|
3376
|
+
*
|
|
3377
|
+
* @example
|
|
3378
|
+
* **Simple GET request**
|
|
3379
|
+
* ```typescript
|
|
3380
|
+
* import { NetworkModule, isSuccess, isError, hasResult } from '@grabjs/superapp-sdk';
|
|
3381
|
+
*
|
|
3382
|
+
* // Initialize the network module
|
|
3383
|
+
* const network = new NetworkModule();
|
|
3384
|
+
*
|
|
3385
|
+
* // Send a GET request
|
|
3386
|
+
* const response = await network.send({
|
|
3387
|
+
* endpoint: 'https://api.example.com/users',
|
|
3388
|
+
* method: 'GET'
|
|
3389
|
+
* });
|
|
3390
|
+
*
|
|
3391
|
+
* // Handle the response
|
|
3392
|
+
* if (isSuccess(response) && hasResult(response)) {
|
|
3393
|
+
* console.log('Response data:', response.result);
|
|
3394
|
+
* } else if (isError(response)) {
|
|
3395
|
+
* console.error(`Error ${response.status_code}: ${response.error}`);
|
|
3396
|
+
* } else {
|
|
3397
|
+
* console.error('Unhandled response');
|
|
3398
|
+
* }
|
|
3399
|
+
* ```
|
|
3400
|
+
*
|
|
3401
|
+
* @example
|
|
3402
|
+
* **POST request with body and headers**
|
|
3403
|
+
* ```typescript
|
|
3404
|
+
* import { NetworkModule, isSuccess, isError, hasResult } from '@grabjs/superapp-sdk';
|
|
3405
|
+
*
|
|
3406
|
+
* const network = new NetworkModule();
|
|
3407
|
+
*
|
|
3408
|
+
* const response = await network.send({
|
|
3409
|
+
* endpoint: 'https://api.example.com/users',
|
|
3410
|
+
* method: 'POST',
|
|
3411
|
+
* headers: { 'Content-Type': 'application/json' },
|
|
3412
|
+
* body: { name: 'John', email: 'john@example.com' },
|
|
3413
|
+
* timeout: 30
|
|
3414
|
+
* });
|
|
3415
|
+
*
|
|
3416
|
+
* if (isSuccess(response) && hasResult(response)) {
|
|
3417
|
+
* console.log('User created:', response.result);
|
|
3418
|
+
* } else if (isError(response)) {
|
|
3419
|
+
* console.error(`Error ${response.status_code}: ${response.error}`);
|
|
3420
|
+
* }
|
|
3421
|
+
* ```
|
|
3422
|
+
*
|
|
3423
|
+
* @example
|
|
3424
|
+
* **Handling specific status codes**
|
|
3425
|
+
* ```typescript
|
|
3426
|
+
* import { NetworkModule, isClientError, isServerError, isSuccess, hasResult } from '@grabjs/superapp-sdk';
|
|
3427
|
+
*
|
|
3428
|
+
* const network = new NetworkModule();
|
|
3429
|
+
* const response = await network.send({
|
|
3430
|
+
* endpoint: 'https://api.example.com/users/123',
|
|
3431
|
+
* method: 'GET'
|
|
3432
|
+
* });
|
|
3433
|
+
*
|
|
3434
|
+
* if (isSuccess(response) && hasResult(response)) {
|
|
3435
|
+
* console.log('Success:', response.result);
|
|
3436
|
+
* } else if (isClientError(response)) {
|
|
3437
|
+
* // Handle 4xx errors (bad request, unauthorized, not found, etc.)
|
|
3438
|
+
* console.error(`Client error ${response.status_code}: ${response.error}`);
|
|
3439
|
+
* } else if (isServerError(response)) {
|
|
3440
|
+
* // Handle 5xx errors (internal server error, service unavailable, etc.)
|
|
3441
|
+
* console.error(`Server error ${response.status_code}: ${response.error}`);
|
|
3442
|
+
* }
|
|
3443
|
+
* ```
|
|
3444
|
+
*
|
|
3445
|
+
* @public
|
|
3446
|
+
*/
|
|
3447
|
+
send(request: SendRequest): Promise<SendResponse>;
|
|
3448
|
+
}
|
|
3449
|
+
|
|
3346
3450
|
/**
|
|
3347
3451
|
* Response stream for observing DRM playback events.
|
|
3348
3452
|
*
|
|
@@ -4132,7 +4236,7 @@ export declare class ScopeModule extends BaseModule {
|
|
|
4132
4236
|
*
|
|
4133
4237
|
* // Handle the response
|
|
4134
4238
|
* if (isSuccess(response)) {
|
|
4135
|
-
* console.log('Has access:', response.result
|
|
4239
|
+
* console.log('Has access:', response.result);
|
|
4136
4240
|
* } else if (isError(response)) {
|
|
4137
4241
|
* console.error(`Error ${response.status_code}: ${response.error}`);
|
|
4138
4242
|
* } else {
|
|
@@ -4260,6 +4364,114 @@ export declare const SendAnalyticsEventResponseSchema: v.UnionSchema<[v.ObjectSc
|
|
|
4260
4364
|
*/
|
|
4261
4365
|
export declare type SendAnalyticsEventResult = void;
|
|
4262
4366
|
|
|
4367
|
+
/**
|
|
4368
|
+
* Request parameters for sending a network request.
|
|
4369
|
+
*
|
|
4370
|
+
* @example
|
|
4371
|
+
* **GET request with headers:**
|
|
4372
|
+
* ```typescript
|
|
4373
|
+
* {
|
|
4374
|
+
* endpoint: 'https://api.example.com/users',
|
|
4375
|
+
* method: 'GET',
|
|
4376
|
+
* headers: { 'Authorization': 'Bearer token123' }
|
|
4377
|
+
* }
|
|
4378
|
+
* ```
|
|
4379
|
+
*
|
|
4380
|
+
* @example
|
|
4381
|
+
* **POST request with body:**
|
|
4382
|
+
* ```typescript
|
|
4383
|
+
* {
|
|
4384
|
+
* endpoint: 'https://api.example.com/users',
|
|
4385
|
+
* method: 'POST',
|
|
4386
|
+
* headers: { 'Content-Type': 'application/json' },
|
|
4387
|
+
* body: { name: 'John Doe', email: 'john@example.com' }
|
|
4388
|
+
* }
|
|
4389
|
+
* ```
|
|
4390
|
+
*
|
|
4391
|
+
* @example
|
|
4392
|
+
* **Request with query parameters and timeout:**
|
|
4393
|
+
* ```typescript
|
|
4394
|
+
* {
|
|
4395
|
+
* endpoint: 'https://api.example.com/search',
|
|
4396
|
+
* method: 'GET',
|
|
4397
|
+
* query: { q: 'grab', limit: '10' },
|
|
4398
|
+
* timeout: 30
|
|
4399
|
+
* }
|
|
4400
|
+
* ```
|
|
4401
|
+
*
|
|
4402
|
+
* @public
|
|
4403
|
+
*/
|
|
4404
|
+
export declare type SendRequest = InferOutput<typeof SendRequestSchema>;
|
|
4405
|
+
|
|
4406
|
+
/**
|
|
4407
|
+
* Valibot schema for {@link SendRequest}.
|
|
4408
|
+
*
|
|
4409
|
+
* @remarks
|
|
4410
|
+
* This schema defines the structure of a network request with the following properties:
|
|
4411
|
+
* - `endpoint`: API endpoint URL to send the request to
|
|
4412
|
+
* - `method`: HTTP method (e.g., 'GET', 'POST', 'PUT', 'DELETE')
|
|
4413
|
+
* - `headers`: Optional HTTP headers to include in the request
|
|
4414
|
+
* - `query`: Optional query parameters to append to the URL
|
|
4415
|
+
* - `body`: Optional request body data
|
|
4416
|
+
* - `timeout`: Optional timeout in seconds (default is 60 seconds)
|
|
4417
|
+
*
|
|
4418
|
+
* @public
|
|
4419
|
+
*/
|
|
4420
|
+
export declare const SendRequestSchema: v.ObjectSchema<{
|
|
4421
|
+
readonly endpoint: v.StringSchema<undefined>;
|
|
4422
|
+
readonly method: v.PicklistSchema<["GET", "POST", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS"], undefined>;
|
|
4423
|
+
readonly headers: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>, undefined>;
|
|
4424
|
+
readonly query: v.OptionalSchema<v.RecordSchema<v.StringSchema<undefined>, v.StringSchema<undefined>, undefined>, undefined>;
|
|
4425
|
+
readonly body: v.OptionalSchema<v.UnknownSchema, undefined>;
|
|
4426
|
+
readonly timeout: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
|
|
4427
|
+
}, undefined>;
|
|
4428
|
+
|
|
4429
|
+
/**
|
|
4430
|
+
* Response when sending a network request.
|
|
4431
|
+
*
|
|
4432
|
+
* @remarks
|
|
4433
|
+
* This response can have any HTTP status code returned by the external API:
|
|
4434
|
+
* - Success codes (2xx): Contains the `result` with response data.
|
|
4435
|
+
* - Client error codes (4xx): Contains an `error` message from the API.
|
|
4436
|
+
* - Server error codes (5xx): Contains an `error` message from the API.
|
|
4437
|
+
* - SDK error codes (400, 500, 501): Invalid request, internal SDK error, or not implemented.
|
|
4438
|
+
*
|
|
4439
|
+
* @public
|
|
4440
|
+
*/
|
|
4441
|
+
export declare type SendResponse = InferOutput<typeof SendResponseSchema>;
|
|
4442
|
+
|
|
4443
|
+
/**
|
|
4444
|
+
* Valibot schema for {@link SendResponse}.
|
|
4445
|
+
*
|
|
4446
|
+
* @public
|
|
4447
|
+
*/
|
|
4448
|
+
export declare const SendResponseSchema: v.UnionSchema<[v.ObjectSchema<{
|
|
4449
|
+
readonly status_code: v.NumberSchema<undefined>;
|
|
4450
|
+
readonly result: v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>;
|
|
4451
|
+
}, undefined>, v.ObjectSchema<{
|
|
4452
|
+
readonly status_code: v.NumberSchema<undefined>;
|
|
4453
|
+
readonly error: v.StringSchema<undefined>;
|
|
4454
|
+
}, undefined>], undefined>;
|
|
4455
|
+
|
|
4456
|
+
/**
|
|
4457
|
+
* Result object containing the network response data.
|
|
4458
|
+
*
|
|
4459
|
+
* @remarks
|
|
4460
|
+
* The result type is `Record<string, unknown>` as response bodies are always
|
|
4461
|
+
* returned as objects. String responses from the native bridge are automatically
|
|
4462
|
+
* parsed to JSON.
|
|
4463
|
+
*
|
|
4464
|
+
* @public
|
|
4465
|
+
*/
|
|
4466
|
+
export declare type SendResult = InferOutput<typeof SendResultSchema>;
|
|
4467
|
+
|
|
4468
|
+
/**
|
|
4469
|
+
* Valibot schema for {@link SendResult}.
|
|
4470
|
+
*
|
|
4471
|
+
* @public
|
|
4472
|
+
*/
|
|
4473
|
+
export declare const SendResultSchema: v.RecordSchema<v.StringSchema<undefined>, v.UnknownSchema, undefined>;
|
|
4474
|
+
|
|
4263
4475
|
/**
|
|
4264
4476
|
* Request parameters for setting the background color.
|
|
4265
4477
|
*
|
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 m(e,t){return{kind:"schema",type:"literal",reference:m,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 g(e,t){return{kind:"schema",type:"nullable",reference:g,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 S(){return{kind:"schema",type:"unknown",reference:S,expects:"unknown",async:!1,get"~standard"(){return a(this)},"~run":e=>(e.typed=!0,e)}}function E(...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 U(e){return"object"==typeof e&&null!==e&&"message"in e&&"string"==typeof e.message}class C{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 $(){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 C(e),!this.wrappedModule)try{n.wrapModule(window,this.name)}catch(e){throw new Error(`Failed to initialize ${this.name}${U(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=$();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 $()?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: ${U(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 $()?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: ${U(e)?e.message:"Unknown error"}`})}}}function I(e){return 200===e.status_code||204===e.status_code}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){const t=e.status_code;return 400===t||401===t||403===t||404===t||424===t||426===t}function R(e){return 500===e.status_code||501===e.status_code}function L(e){return"string"==typeof e.error&&e.error.length>0}const B=e=>v({status_code:m(e),error:b()}),j=e=>v({status_code:m(200),result:e}),D=v({status_code:m(204)}),z=v({status_code:m(302)}),K=v({title:y(b())}),G=v({qrCode:b()}),W=x([j(G),D,B(400),B(403),B(500),B(501)]);class F extends A{constructor(){super("CameraModule")}async scanQRCode(e={}){const t=this.validate(K,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"scanQRCode",params:e}),r=this.validate(W,n);return r&&this.logger.warn("scanQRCode",`Unexpected response shape: ${r}`),n}}const q=k(b(),S()),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:m("success"),transactionID:b()}),v({status:m("failure"),transactionID:b(),errorMessage:b(),errorCode:b()}),v({status:m("pending"),transactionID:b()}),v({status:m("userInitiatedCancel")})]),H=x([j(V),B(400),B(500),B(501)]);class Y extends A{constructor(){super("CheckoutModule")}async triggerCheckout(e){const t=this.validate(q,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"triggerCheckout",params:e}),r=this.validate(H,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"},J={DEFAULT:"DEFAULT"},X={TRANSACTION_AMOUNT:"transaction_amount",TRANSACTION_CURRENCY:"transaction_currency",PAGE:"page"},Z=x([j(p()),D,B(400),B(500),B(501)]),ee=x([j(p()),D,B(400),B(500),B(501)]),te=x([j(p()),D,B(500),B(501)]),ne=x([j(p()),D,B(500),B(501)]),re=x([j(p()),D,B(500),B(501)]),se=x([j(p()),D,B(500),B(501)]),oe=x([j(p()),D,B(500),B(501)]),ae=x([j(p()),D,B(500),B(501)]),ie=x([j(p()),D,B(500),B(501)]),ce=x([j(p()),D,B(500),B(501)]),ue=x([j(p()),D,B(400),B(500),B(501)]),de=x([j(p()),B(500),B(501)]),le=v({state:E(b(),u(1)),name:E(b(),u(1)),data:y(k(b(),S()))}),he=x([j(p()),D,B(400),B(500),B(501)]),pe=v({connected:p()}),me=x([j(pe),B(404)]),ge=b(),fe=x([j(ge),D,B(500),B(501)]);class ve extends A{constructor(){super("ContainerModule")}async setBackgroundColor(e){const t=await this.invoke({method:"setBackgroundColor",params:{backgroundColor:e}}),n=this.validate(Z,t);return n&&this.logger.warn("setBackgroundColor",`Unexpected response shape: ${n}`),t}async setTitle(e){const t=await this.invoke({method:"setTitle",params:{title:e}}),n=this.validate(ee,t);return n&&this.logger.warn("setTitle",`Unexpected response shape: ${n}`),t}async hideBackButton(){const e=await this.invoke({method:"hideBackButton"}),t=this.validate(te,e);return t&&this.logger.warn("hideBackButton",`Unexpected response shape: ${t}`),e}async showBackButton(){const e=await this.invoke({method:"showBackButton"}),t=this.validate(ne,e);return t&&this.logger.warn("showBackButton",`Unexpected response shape: ${t}`),e}async hideRefreshButton(){const e=await this.invoke({method:"hideRefreshButton"}),t=this.validate(re,e);return t&&this.logger.warn("hideRefreshButton",`Unexpected response shape: ${t}`),e}async showRefreshButton(){const e=await this.invoke({method:"showRefreshButton"}),t=this.validate(se,e);return t&&this.logger.warn("showRefreshButton",`Unexpected response shape: ${t}`),e}async close(){const e=await this.invoke({method:"close"}),t=this.validate(oe,e);return t&&this.logger.warn("close",`Unexpected response shape: ${t}`),e}async onContentLoaded(){const e=await this.invoke({method:"onContentLoaded"}),t=this.validate(ae,e);return t&&this.logger.warn("onContentLoaded",`Unexpected response shape: ${t}`),e}async showLoader(){const e=await this.invoke({method:"showLoader"}),t=this.validate(ie,e);return t&&this.logger.warn("showLoader",`Unexpected response shape: ${t}`),e}async hideLoader(){const e=await this.invoke({method:"hideLoader"}),t=this.validate(ce,e);return t&&this.logger.warn("hideLoader",`Unexpected response shape: ${t}`),e}async openExternalLink(e){const t=await this.invoke({method:"openExternalLink",params:{url:e}}),n=this.validate(ue,t);return n&&this.logger.warn("openExternalLink",`Unexpected response shape: ${n}`),t}async onCtaTap(e){const t=await this.invoke({method:"onCtaTap",params:{action:e}}),n=this.validate(de,t);return n&&this.logger.warn("onCtaTap",`Unexpected response shape: ${n}`),t}async sendAnalyticsEvent(e){const t=this.validate(le,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(he,n);return r&&this.logger.warn("sendAnalyticsEvent",`Unexpected response shape: ${r}`),n}async isConnected(){return null!==$()?{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(fe,e);return t&&this.logger.warn("getSessionParams",`Unexpected response shape: ${t}`),e}}const ye=p(),we=x([j(ye),B(500),B(501)]);class ke extends A{constructor(){super("DeviceCapabilityModule")}async isEsimSupported(){const e=await this.invoke({method:"isEsimSupported"}),t=this.validate(we,e);return t&&this.logger.warn("isEsimSupported",`Unexpected response shape: ${t}`),e}}const be=v({fileUrl:E(b(),d()),fileName:E(b(),u(1))}),_e=x([D,B(400),B(500),B(501)]);class xe extends A{constructor(){super("FileModule")}async downloadFile(e){const t=this.validate(be,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"downloadFile",params:e}),r=this.validate(_e,n);return r&&this.logger.warn("downloadFile",`Unexpected response shape: ${r}`),n}}function Se(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 Ee(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 Ue(e,t){return e.major!==t.major?e.major>t.major:e.minor!==t.minor?e.minor>t.minor:e.patch>=t.patch}const Ce="grabid",$e={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 Ae extends Error{constructor(e,t){super(e),this.cause=t,this.name="AuthorizationConfigurationError"}}const Ie=v({clientId:E(b(),u(1)),redirectUri:E(b(),d()),scope:E(b(),u(1)),environment:w(["staging","production"]),responseMode:y(w(["redirect","in_place"]))}),Me=v({code:b(),state:b()}),Te=x([j(Me),D,z,B(400),B(403),B(500),B(501)]),Oe=v({state:b(),codeVerifier:b(),nonce:b(),redirectUri:b()}),Ne=x([j(Oe),D,B(400)]),Pe=x([D]);class Re extends A{constructor(){super("IdentityModule")}async fetchAuthorizationEndpoint(e){const t=$e[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 Ae("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 Ae("Invalid authorization configuration");return n.authorization_endpoint}catch(e){if(console.error("Error fetching authorization endpoint:",e),e instanceof Ae)throw e;throw new Error("Something wrong happened when fetching authorization configuration",{cause:e})}}async generatePKCEArtifacts(){const e=Se(16),t=Se(32),n=(r=Se(64),btoa(r).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"));var r;return{nonce:e,state:t,codeVerifier:n,codeChallenge:await Ee(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(`${Ce}:nonce`),window.localStorage.removeItem(`${Ce}:state`),window.localStorage.removeItem(`${Ce}:code_verifier`),window.localStorage.removeItem(`${Ce}:redirect_uri`),window.localStorage.removeItem(`${Ce}:login_return_uri`),{status_code:204}}setStorageItem(e,t){window.localStorage.setItem(`${Ce}:${e}`,t)}getStorageItem(e){return window.localStorage.getItem(`${Ce}:${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=$();return!t||"staging"!==e.environment&&!Ue(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:U(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=Re.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(Te,t);return n&&this.logger.warn("authorize",`Unexpected response shape: ${n}`),t}async authorize(e){const t=this.validate(Ie,e);if(t)return{status_code:400,error:t};const n=await this.generatePKCEArtifacts(),r=e.responseMode||"redirect",s="in_place"===r?Re.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(Re.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 Le=b(),Be=x([j(Le),D,B(400),B(500),B(501)]);class je extends A{constructor(){super("LocaleModule")}async getLanguageLocaleIdentifier(){const e=await this.invoke({method:"getLanguageLocaleIdentifier"}),t=this.validate(Be,e);return t&&this.logger.warn("getLanguageLocaleIdentifier",`Unexpected response shape: ${t}`),e}}const De=v({latitude:f(),longitude:f()}),ze=x([j(De),B(403),B(424),B(500),B(501)]),Ke=b(),Ge=x([j(Ke),D,B(403),B(424),B(500),B(501)]);class We 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(Ge,e);return t&&this.logger.warn("getCountryCode",`Unexpected response shape: ${t}`),e}}const Fe=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()}),qe=x([j(Fe),D,B(400),B(424),B(500),B(501)]),Ve=x([j(Fe),B(500),B(501)]);class He extends A{constructor(){super("MediaModule")}async playDRMContent(e){const t=await this.invoke({method:"playDRMContent",params:{data:e}}),n=this.validate(qe,t);return n&&this.logger.warn("playDRMContent",`Unexpected response shape: ${n}`),t}observePlayDRMContent(e){return this.invokeStream({method:"observePlayDRMContent",params:{data:e}})}}const Ye=x([D,B(500),B(501)]);class Qe extends A{constructor(){super("PlatformModule")}async back(){const e=await this.invoke({method:"back"}),t=this.validate(Ye,e);return t&&this.logger.warn("back",`Unexpected response shape: ${t}`),e}}const Je=v({email:b()}),Xe=x([j(Je),D,B(400),B(403),B(426),B(500),B(501)]),Ze=v({email:y(E(b(),u(1))),skipUserInput:y(p())}),et=v({email:b()}),tt=x([j(et),D,B(400),B(403),B(426),B(500),B(501)]);class nt extends A{constructor(){super("ProfileModule")}async fetchEmail(){const e=this.checkSupport(e=>Ue(e.version,nt.MINIMUM_VERSION));if(e)return e;const t=await this.invoke({method:"fetchEmail"}),n=this.validate(Xe,t);return n&&this.logger.warn("fetchEmail",`Unexpected response shape: ${n}`),t}async verifyEmail(e){const t=this.checkSupport(e=>Ue(e.version,nt.MINIMUM_VERSION));if(t)return t;const n=this.validate(Ze,e??{});if(n)return{status_code:400,error:n};const r=await this.invoke({method:"verifyEmail",params:e}),s=this.validate(tt,r);return s&&this.logger.warn("verifyEmail",`Unexpected response shape: ${s}`),r}}nt.MINIMUM_VERSION={major:5,minor:399,patch:0};const rt=v({module:E(b(),u(1)),method:E(b(),u(1))}),st=v({hasAccess:p()}),ot=x([j(st),B(400),B(424),B(500),B(501)]),at=x([D,B(424),B(500),B(501)]);class it extends A{constructor(){super("ScopeModule")}async hasAccessTo(e,t){const n={module:e,method:t},r=this.validate(rt,n);if(r)return{status_code:400,error:r};const s=await this.invoke({method:"hasAccessTo",params:n}),o=this.validate(ot,s);return o&&this.logger.warn("hasAccessTo",`Unexpected response shape: ${o}`),s}async reloadScopes(){const e=await this.invoke({method:"reloadScopes"}),t=this.validate(at,e);return t&&this.logger.warn("reloadScopes",`Unexpected response shape: ${t}`),e}}const ct=x([D,B(400),B(403),B(500),B(501)]);class ut extends A{constructor(){super("SplashScreenModule")}async dismiss(){const e=await this.invoke({method:"dismiss"}),t=this.validate(ct,e);return t&&this.logger.warn("dismiss",`Unexpected response shape: ${t}`),e}}const dt=v({key:E(b(),u(1))}),lt=x([D,B(400),B(424),B(500),B(501)]),ht=dt,pt=v({value:g(p())}),mt=x([j(pt),B(400),B(424),B(500),B(501)]),gt=x([D,B(400),B(424),B(500),B(501)]),ft=dt,vt=v({value:g(f())}),yt=x([j(vt),B(400),B(424),B(500),B(501)]),wt=x([D,B(400),B(424),B(500),B(501)]),kt=dt,bt=v({value:g(b())}),_t=x([j(bt),B(400),B(424),B(500),B(501)]),xt=x([D,B(400),B(424),B(500),B(501)]),St=dt,Et=v({value:g(f())}),Ut=x([j(Et),B(400),B(424),B(500),B(501)]),Ct=dt,$t=x([D,B(400),B(424),B(500),B(501)]),At=x([D,B(424),B(500),B(501)]);class It extends A{constructor(){super("StorageModule")}async setBoolean(e,t){const n=await this.invoke({method:"setBoolean",params:{key:e,value:t}}),r=this.validate(lt,n);return r&&this.logger.warn("setBoolean",`Unexpected response shape: ${r}`),n}async getBoolean(e){const t={key:e},n=this.validate(ht,t);if(n)return{status_code:400,error:n};const r=await this.invoke({method:"getBoolean",params:t}),s=this.validate(mt,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(gt,n);return r&&this.logger.warn("setInt",`Unexpected response shape: ${r}`),n}async getInt(e){const t={key:e},n=this.validate(ft,t);if(n)return{status_code:400,error:n};const r=await this.invoke({method:"getInt",params:t}),s=this.validate(yt,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(wt,n);return r&&this.logger.warn("setString",`Unexpected response shape: ${r}`),n}async getString(e){const t={key:e},n=this.validate(kt,t);if(n)return{status_code:400,error:n};const r=await this.invoke({method:"getString",params:t}),s=this.validate(_t,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(xt,n);return r&&this.logger.warn("setDouble",`Unexpected response shape: ${r}`),n}async getDouble(e){const t={key:e},n=this.validate(St,t);if(n)return{status_code:400,error:n};const r=await this.invoke({method:"getDouble",params:t}),s=this.validate(Ut,r);return s&&this.logger.warn("getDouble",`Unexpected response shape: ${s}`),r}async remove(e){const t={key:e},n=this.validate(Ct,t);if(n)return{status_code:400,error:n};const r=await this.invoke({method:"remove",params:t}),s=this.validate($t,r);return s&&this.logger.warn("remove",`Unexpected response shape: ${s}`),r}async removeAll(){const e=await this.invoke({method:"removeAll"}),t=this.validate(At,e);return t&&this.logger.warn("removeAll",`Unexpected response shape: ${t}`),e}}const Mt=v({url:E(b(),d())}),Tt=x([j(b()),B(400),B(424),B(500),B(501)]);class Ot extends A{constructor(){super("SystemWebViewKitModule")}async redirectToSystemWebView(e){const t=this.validate(Mt,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"redirectToSystemWebView",params:e}),r=this.validate(Tt,n);return r&&this.logger.warn("redirectToSystemWebView",`Unexpected response shape: ${r}`),n}}const Nt=b(),Pt=x([j(Nt),D,B(500),B(501)]);class Rt extends A{constructor(){super("UserAttributesModule")}async getSelectedTravelDestination(){const e=await this.invoke({method:"getSelectedTravelDestination"}),t=this.validate(Pt,e);return t&&this.logger.warn("getSelectedTravelDestination",`Unexpected response shape: ${t}`),e}}export{Ie as AuthorizeRequestSchema,Te as AuthorizeResponseSchema,Me as AuthorizeResultSchema,Ye as BackResponseSchema,A as BaseModule,F as CameraModule,Y as CheckoutModule,Pe as ClearAuthorizationArtifactsResponseSchema,oe as CloseResponseSchema,X as ContainerAnalyticsEventData,J as ContainerAnalyticsEventName,Q as ContainerAnalyticsEventState,ve as ContainerModule,Fe as DRMPlaybackEventSchema,ke as DeviceCapabilityModule,ct as DismissSplashScreenResponseSchema,be as DownloadFileRequestSchema,_e as DownloadFileResponseSchema,Xe as FetchEmailResponseSchema,Je as FetchEmailResultSchema,xe as FileModule,Ne as GetAuthorizationArtifactsResponseSchema,Oe as GetAuthorizationArtifactsResultSchema,ht as GetBooleanRequestSchema,mt as GetBooleanResponseSchema,pt as GetBooleanResultSchema,ze as GetCoordinateResponseSchema,De as GetCoordinateResultSchema,Ge as GetCountryCodeResponseSchema,Ke as GetCountryCodeResultSchema,St as GetDoubleRequestSchema,Ut as GetDoubleResponseSchema,Et as GetDoubleResultSchema,ft as GetIntRequestSchema,yt as GetIntResponseSchema,vt as GetIntResultSchema,Be as GetLanguageLocaleIdentifierResponseSchema,Le as GetLanguageLocaleIdentifierResultSchema,Pt as GetSelectedTravelDestinationResponseSchema,Nt as GetSelectedTravelDestinationResultSchema,fe as GetSessionParamsResponseSchema,ge as GetSessionParamsResultSchema,kt as GetStringRequestSchema,_t as GetStringResponseSchema,bt as GetStringResultSchema,rt as HasAccessToRequestSchema,ot as HasAccessToResponseSchema,st as HasAccessToResultSchema,te as HideBackButtonResponseSchema,ce as HideLoaderResponseSchema,re as HideRefreshButtonResponseSchema,Re as IdentityModule,me as IsConnectedResponseSchema,pe as IsConnectedResultSchema,we as IsEsimSupportedResponseSchema,ye as IsEsimSupportedResultSchema,je as LocaleModule,We as LocationModule,C as Logger,He as MediaModule,Ve as ObserveDRMPlaybackResponseSchema,ae as OnContentLoadedResponseSchema,de as OnCtaTapResponseSchema,ue as OpenExternalLinkResponseSchema,Qe as PlatformModule,qe as PlayDRMContentResponseSchema,nt as ProfileModule,Mt as RedirectToSystemWebViewRequestSchema,Tt as RedirectToSystemWebViewResponseSchema,at as ReloadScopesResponseSchema,At as RemoveAllResponseSchema,$t as RemoveResponseSchema,K as ScanQRCodeRequestSchema,W as ScanQRCodeResponseSchema,G as ScanQRCodeResultSchema,it as ScopeModule,le as SendAnalyticsEventRequestSchema,he as SendAnalyticsEventResponseSchema,Z as SetBackgroundColorResponseSchema,lt as SetBooleanResponseSchema,xt as SetDoubleResponseSchema,gt as SetIntResponseSchema,wt as SetStringResponseSchema,ee as SetTitleResponseSchema,ne as ShowBackButtonResponseSchema,ie as ShowLoaderResponseSchema,se as ShowRefreshButtonResponseSchema,ut as SplashScreenModule,It as StorageModule,Ot as SystemWebViewKitModule,q as TriggerCheckoutRequestSchema,H as TriggerCheckoutResponseSchema,V as TriggerCheckoutResultSchema,Rt as UserAttributesModule,Ze as VerifyEmailRequestSchema,tt as VerifyEmailResponseSchema,et as VerifyEmailResultSchema,P as isClientError,L 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(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 m(e,t){return{kind:"schema",type:"literal",reference:m,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 g(e,t){return{kind:"schema",type:"nullable",reference:g,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 S(){return{kind:"schema",type:"unknown",reference:S,expects:"unknown",async:!1,get"~standard"(){return a(this)},"~run":e=>(e.typed=!0,e)}}function E(...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 U(e){return"object"==typeof e&&null!==e&&"message"in e&&"string"==typeof e.message}class C{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 $(){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 C(e),!this.wrappedModule)try{n.wrapModule(window,this.name)}catch(e){throw new Error(`Failed to initialize ${this.name}${U(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=$();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 $()?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: ${U(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 $()?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: ${U(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 L(e){return e.status_code>=400&&e.status_code<600||"string"==typeof e.error&&e.error.length>0}const B=e=>v({status_code:m(e),error:b()}),j=e=>v({status_code:m(200),result:e}),D=v({status_code:m(204)}),z=v({status_code:m(302)}),K=v({title:y(b())}),G=v({qrCode:b()}),W=x([j(G),D,B(400),B(403),B(500),B(501)]);class F extends A{constructor(){super("CameraModule")}async scanQRCode(e={}){const t=this.validate(K,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"scanQRCode",params:e}),r=this.validate(W,n);return r&&this.logger.warn("scanQRCode",`Unexpected response shape: ${r}`),n}}const q=k(b(),S()),H=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:m("success"),transactionID:b()}),v({status:m("failure"),transactionID:b(),errorMessage:b(),errorCode:b()}),v({status:m("pending"),transactionID:b()}),v({status:m("userInitiatedCancel")})]),V=x([j(H),B(400),B(500),B(501)]);class Y extends A{constructor(){super("CheckoutModule")}async triggerCheckout(e){const t=this.validate(q,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"triggerCheckout",params:e}),r=this.validate(V,n);return r&&this.logger.warn("triggerCheckout",`Unexpected response shape: ${r}`),n}}const J={HOMEPAGE:"HOMEPAGE",CHECKOUT_PAGE:"CHECKOUT_PAGE",BOOKING_COMPLETION:"BOOKING_COMPLETION",CUSTOM:"CUSTOM"},Q={DEFAULT:"DEFAULT"},X={TRANSACTION_AMOUNT:"transaction_amount",TRANSACTION_CURRENCY:"transaction_currency",PAGE:"page"},Z=x([j(p()),D,B(400),B(500),B(501)]),ee=x([j(p()),D,B(400),B(500),B(501)]),te=x([j(p()),D,B(500),B(501)]),ne=x([j(p()),D,B(500),B(501)]),re=x([j(p()),D,B(500),B(501)]),se=x([j(p()),D,B(500),B(501)]),oe=x([j(p()),D,B(500),B(501)]),ae=x([j(p()),D,B(500),B(501)]),ie=x([j(p()),D,B(500),B(501)]),ce=x([j(p()),D,B(500),B(501)]),ue=x([j(p()),D,B(400),B(500),B(501)]),de=x([j(p()),B(500),B(501)]),le=v({state:E(b(),u(1)),name:E(b(),u(1)),data:y(k(b(),S()))}),he=x([j(p()),D,B(400),B(500),B(501)]),pe=v({connected:p()}),me=x([j(pe),B(404)]),ge=b(),fe=x([j(ge),D,B(500),B(501)]);class ve extends A{constructor(){super("ContainerModule")}async setBackgroundColor(e){const t=await this.invoke({method:"setBackgroundColor",params:{backgroundColor:e}}),n=this.validate(Z,t);return n&&this.logger.warn("setBackgroundColor",`Unexpected response shape: ${n}`),t}async setTitle(e){const t=await this.invoke({method:"setTitle",params:{title:e}}),n=this.validate(ee,t);return n&&this.logger.warn("setTitle",`Unexpected response shape: ${n}`),t}async hideBackButton(){const e=await this.invoke({method:"hideBackButton"}),t=this.validate(te,e);return t&&this.logger.warn("hideBackButton",`Unexpected response shape: ${t}`),e}async showBackButton(){const e=await this.invoke({method:"showBackButton"}),t=this.validate(ne,e);return t&&this.logger.warn("showBackButton",`Unexpected response shape: ${t}`),e}async hideRefreshButton(){const e=await this.invoke({method:"hideRefreshButton"}),t=this.validate(re,e);return t&&this.logger.warn("hideRefreshButton",`Unexpected response shape: ${t}`),e}async showRefreshButton(){const e=await this.invoke({method:"showRefreshButton"}),t=this.validate(se,e);return t&&this.logger.warn("showRefreshButton",`Unexpected response shape: ${t}`),e}async close(){const e=await this.invoke({method:"close"}),t=this.validate(oe,e);return t&&this.logger.warn("close",`Unexpected response shape: ${t}`),e}async onContentLoaded(){const e=await this.invoke({method:"onContentLoaded"}),t=this.validate(ae,e);return t&&this.logger.warn("onContentLoaded",`Unexpected response shape: ${t}`),e}async showLoader(){const e=await this.invoke({method:"showLoader"}),t=this.validate(ie,e);return t&&this.logger.warn("showLoader",`Unexpected response shape: ${t}`),e}async hideLoader(){const e=await this.invoke({method:"hideLoader"}),t=this.validate(ce,e);return t&&this.logger.warn("hideLoader",`Unexpected response shape: ${t}`),e}async openExternalLink(e){const t=await this.invoke({method:"openExternalLink",params:{url:e}}),n=this.validate(ue,t);return n&&this.logger.warn("openExternalLink",`Unexpected response shape: ${n}`),t}async onCtaTap(e){const t=await this.invoke({method:"onCtaTap",params:{action:e}}),n=this.validate(de,t);return n&&this.logger.warn("onCtaTap",`Unexpected response shape: ${n}`),t}async sendAnalyticsEvent(e){const t=this.validate(le,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(he,n);return r&&this.logger.warn("sendAnalyticsEvent",`Unexpected response shape: ${r}`),n}async isConnected(){return null!==$()?{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(fe,e);return t&&this.logger.warn("getSessionParams",`Unexpected response shape: ${t}`),e}}const ye=p(),we=x([j(ye),B(500),B(501)]);class ke extends A{constructor(){super("DeviceModule")}async isEsimSupported(){const e=await this.invoke({method:"isEsimSupported"}),t=this.validate(we,e);return t&&this.logger.warn("isEsimSupported",`Unexpected response shape: ${t}`),e}}const be=v({fileUrl:E(b(),d()),fileName:E(b(),u(1))}),_e=x([D,B(400),B(500),B(501)]);class xe extends A{constructor(){super("FileModule")}async downloadFile(e){const t=this.validate(be,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"downloadFile",params:e}),r=this.validate(_e,n);return r&&this.logger.warn("downloadFile",`Unexpected response shape: ${r}`),n}}function Se(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 Ee(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 Ue(e,t){return e.major!==t.major?e.major>t.major:e.minor!==t.minor?e.minor>t.minor:e.patch>=t.patch}const Ce="grabid",$e={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 Ae extends Error{constructor(e,t){super(e),this.cause=t,this.name="AuthorizationConfigurationError"}}const Ie=v({clientId:E(b(),u(1)),redirectUri:E(b(),d()),scope:E(b(),u(1)),environment:w(["staging","production"]),responseMode:y(w(["redirect","in_place"]))}),Me=v({code:b(),state:b()}),Te=x([j(Me),D,z,B(400),B(403),B(500),B(501)]),Oe=v({state:b(),codeVerifier:b(),nonce:b(),redirectUri:b()}),Ne=x([j(Oe),D,B(400)]),Pe=x([D]);class Re extends A{constructor(){super("IdentityModule")}async fetchAuthorizationEndpoint(e){const t=$e[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 Ae("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 Ae("Invalid authorization configuration");return n.authorization_endpoint}catch(e){if(console.error("Error fetching authorization endpoint:",e),e instanceof Ae)throw e;throw new Error("Something wrong happened when fetching authorization configuration",{cause:e})}}async generatePKCEArtifacts(){const e=Se(16),t=Se(32),n=(r=Se(64),btoa(r).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_"));var r;return{nonce:e,state:t,codeVerifier:n,codeChallenge:await Ee(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(`${Ce}:nonce`),window.localStorage.removeItem(`${Ce}:state`),window.localStorage.removeItem(`${Ce}:code_verifier`),window.localStorage.removeItem(`${Ce}:redirect_uri`),window.localStorage.removeItem(`${Ce}:login_return_uri`),{status_code:204}}setStorageItem(e,t){window.localStorage.setItem(`${Ce}:${e}`,t)}getStorageItem(e){return window.localStorage.getItem(`${Ce}:${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=$();return!t||"staging"!==e.environment&&!Ue(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:U(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=Re.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(Te,t);return n&&this.logger.warn("authorize",`Unexpected response shape: ${n}`),t}async authorize(e){const t=this.validate(Ie,e);if(t)return{status_code:400,error:t};const n=await this.generatePKCEArtifacts(),r=e.responseMode||"redirect",s="in_place"===r?Re.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(Re.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 Le=b(),Be=x([j(Le),D,B(400),B(500),B(501)]);class je extends A{constructor(){super("LocaleModule")}async getLanguageLocaleIdentifier(){const e=await this.invoke({method:"getLanguageLocaleIdentifier"}),t=this.validate(Be,e);return t&&this.logger.warn("getLanguageLocaleIdentifier",`Unexpected response shape: ${t}`),e}}const De=v({latitude:f(),longitude:f()}),ze=x([j(De),B(403),B(424),B(500),B(501)]),Ke=b(),Ge=x([j(Ke),D,B(403),B(424),B(500),B(501)]);class We 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(Ge,e);return t&&this.logger.warn("getCountryCode",`Unexpected response shape: ${t}`),e}}const Fe=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()}),qe=x([j(Fe),D,B(400),B(424),B(500),B(501)]),He=x([j(Fe),B(500),B(501)]);class Ve extends A{constructor(){super("MediaModule")}async playDRMContent(e){const t=await this.invoke({method:"playDRMContent",params:{data:e}}),n=this.validate(qe,t);return n&&this.logger.warn("playDRMContent",`Unexpected response shape: ${n}`),t}observePlayDRMContent(e){return this.invokeStream({method:"observePlayDRMContent",params:{data:e}})}}const Ye=v({endpoint:b(),method:w(["GET","POST","PUT","DELETE","PATCH","HEAD","OPTIONS"]),headers:y(k(b(),b())),query:y(k(b(),b())),body:y(S()),timeout:y(f())}),Je=k(b(),S()),Qe=x([(Xe=Je,v({status_code:f(),result:Xe})),v({status_code:f(),error:b()})]);var Xe;class Ze extends A{constructor(){super("NetworkModule")}async send(e){const t=this.validate(Ye,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"send",params:e});if(function(e){return"result"in e&&null!==e.result&&void 0!==e.result}(n)&&"string"==typeof n.result)try{const e=JSON.parse(n.result);return{...n,result:e}}catch{return{status_code:500,error:"Failed to parse response result as JSON"}}const r=this.validate(Qe,n);return r&&this.logger.warn("send",`Unexpected response shape: ${r}`),n}}const et=x([D,B(500),B(501)]);class tt extends A{constructor(){super("PlatformModule")}async back(){const e=await this.invoke({method:"back"}),t=this.validate(et,e);return t&&this.logger.warn("back",`Unexpected response shape: ${t}`),e}}const nt=v({email:b()}),rt=x([j(nt),D,B(400),B(403),B(426),B(500),B(501)]),st=v({email:y(E(b(),u(1))),skipUserInput:y(p())}),ot=v({email:b()}),at=x([j(ot),D,B(400),B(403),B(426),B(500),B(501)]);class it extends A{constructor(){super("ProfileModule")}async fetchEmail(){const e=this.checkSupport(e=>Ue(e.version,it.MINIMUM_VERSION));if(e)return e;const t=await this.invoke({method:"fetchEmail"}),n=this.validate(rt,t);return n&&this.logger.warn("fetchEmail",`Unexpected response shape: ${n}`),t}async verifyEmail(e){const t=this.checkSupport(e=>Ue(e.version,it.MINIMUM_VERSION));if(t)return t;const n=this.validate(st,e??{});if(n)return{status_code:400,error:n};const r=await this.invoke({method:"verifyEmail",params:e}),s=this.validate(at,r);return s&&this.logger.warn("verifyEmail",`Unexpected response shape: ${s}`),r}}it.MINIMUM_VERSION={major:5,minor:399,patch:0};const ct=v({module:E(b(),u(1)),method:E(b(),u(1))}),ut=p(),dt=x([j(ut),B(400),B(424),B(500),B(501)]),lt=x([D,B(424),B(500),B(501)]);class ht extends A{constructor(){super("ScopeModule")}async hasAccessTo(e,t){const n={module:e,method:t},r=this.validate(ct,n);if(r)return{status_code:400,error:r};const s=await this.invoke({method:"hasAccessTo",params:n}),o=this.validate(dt,s);return o&&this.logger.warn("hasAccessTo",`Unexpected response shape: ${o}`),s}async reloadScopes(){const e=await this.invoke({method:"reloadScopes"}),t=this.validate(lt,e);return t&&this.logger.warn("reloadScopes",`Unexpected response shape: ${t}`),e}}const pt=x([D,B(400),B(403),B(500),B(501)]);class mt extends A{constructor(){super("SplashScreenModule")}async dismiss(){const e=await this.invoke({method:"dismiss"}),t=this.validate(pt,e);return t&&this.logger.warn("dismiss",`Unexpected response shape: ${t}`),e}}const gt=v({key:E(b(),u(1))}),ft=x([D,B(400),B(424),B(500),B(501)]),vt=gt,yt=v({value:g(p())}),wt=x([j(yt),B(400),B(424),B(500),B(501)]),kt=x([D,B(400),B(424),B(500),B(501)]),bt=gt,_t=v({value:g(f())}),xt=x([j(_t),B(400),B(424),B(500),B(501)]),St=x([D,B(400),B(424),B(500),B(501)]),Et=gt,Ut=v({value:g(b())}),Ct=x([j(Ut),B(400),B(424),B(500),B(501)]),$t=x([D,B(400),B(424),B(500),B(501)]),At=gt,It=v({value:g(f())}),Mt=x([j(It),B(400),B(424),B(500),B(501)]),Tt=gt,Ot=x([D,B(400),B(424),B(500),B(501)]),Nt=x([D,B(424),B(500),B(501)]);class Pt extends A{constructor(){super("StorageModule")}async setBoolean(e,t){const n=await this.invoke({method:"setBoolean",params:{key:e,value:t}}),r=this.validate(ft,n);return r&&this.logger.warn("setBoolean",`Unexpected response shape: ${r}`),n}async getBoolean(e){const t={key:e},n=this.validate(vt,t);if(n)return{status_code:400,error:n};const r=await this.invoke({method:"getBoolean",params:t}),s=this.validate(wt,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(kt,n);return r&&this.logger.warn("setInt",`Unexpected response shape: ${r}`),n}async getInt(e){const t={key:e},n=this.validate(bt,t);if(n)return{status_code:400,error:n};const r=await this.invoke({method:"getInt",params:t}),s=this.validate(xt,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(St,n);return r&&this.logger.warn("setString",`Unexpected response shape: ${r}`),n}async getString(e){const t={key:e},n=this.validate(Et,t);if(n)return{status_code:400,error:n};const r=await this.invoke({method:"getString",params:t}),s=this.validate(Ct,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($t,n);return r&&this.logger.warn("setDouble",`Unexpected response shape: ${r}`),n}async getDouble(e){const t={key:e},n=this.validate(At,t);if(n)return{status_code:400,error:n};const r=await this.invoke({method:"getDouble",params:t}),s=this.validate(Mt,r);return s&&this.logger.warn("getDouble",`Unexpected response shape: ${s}`),r}async remove(e){const t={key:e},n=this.validate(Tt,t);if(n)return{status_code:400,error:n};const r=await this.invoke({method:"remove",params:t}),s=this.validate(Ot,r);return s&&this.logger.warn("remove",`Unexpected response shape: ${s}`),r}async removeAll(){const e=await this.invoke({method:"removeAll"}),t=this.validate(Nt,e);return t&&this.logger.warn("removeAll",`Unexpected response shape: ${t}`),e}}const Rt=v({url:E(b(),d())}),Lt=x([j(b()),B(400),B(424),B(500),B(501)]);class Bt extends A{constructor(){super("SystemWebViewKitModule")}async redirectToSystemWebView(e){const t=this.validate(Rt,e);if(t)return{status_code:400,error:t};const n=await this.invoke({method:"redirectToSystemWebView",params:e}),r=this.validate(Lt,n);return r&&this.logger.warn("redirectToSystemWebView",`Unexpected response shape: ${r}`),n}}const jt=b(),Dt=x([j(jt),D,B(500),B(501)]);class zt extends A{constructor(){super("UserAttributesModule")}async getSelectedTravelDestination(){const e=await this.invoke({method:"getSelectedTravelDestination"}),t=this.validate(Dt,e);return t&&this.logger.warn("getSelectedTravelDestination",`Unexpected response shape: ${t}`),e}}export{Ie as AuthorizeRequestSchema,Te as AuthorizeResponseSchema,Me as AuthorizeResultSchema,et as BackResponseSchema,A as BaseModule,F as CameraModule,Y as CheckoutModule,Pe as ClearAuthorizationArtifactsResponseSchema,oe as CloseResponseSchema,X as ContainerAnalyticsEventData,Q as ContainerAnalyticsEventName,J as ContainerAnalyticsEventState,ve as ContainerModule,Fe as DRMPlaybackEventSchema,ke as DeviceModule,pt as DismissSplashScreenResponseSchema,be as DownloadFileRequestSchema,_e as DownloadFileResponseSchema,rt as FetchEmailResponseSchema,nt as FetchEmailResultSchema,xe as FileModule,Ne as GetAuthorizationArtifactsResponseSchema,Oe as GetAuthorizationArtifactsResultSchema,vt as GetBooleanRequestSchema,wt as GetBooleanResponseSchema,yt as GetBooleanResultSchema,ze as GetCoordinateResponseSchema,De as GetCoordinateResultSchema,Ge as GetCountryCodeResponseSchema,Ke as GetCountryCodeResultSchema,At as GetDoubleRequestSchema,Mt as GetDoubleResponseSchema,It as GetDoubleResultSchema,bt as GetIntRequestSchema,xt as GetIntResponseSchema,_t as GetIntResultSchema,Be as GetLanguageLocaleIdentifierResponseSchema,Le as GetLanguageLocaleIdentifierResultSchema,Dt as GetSelectedTravelDestinationResponseSchema,jt as GetSelectedTravelDestinationResultSchema,fe as GetSessionParamsResponseSchema,ge as GetSessionParamsResultSchema,Et as GetStringRequestSchema,Ct as GetStringResponseSchema,Ut as GetStringResultSchema,ct as HasAccessToRequestSchema,dt as HasAccessToResponseSchema,ut as HasAccessToResultSchema,te as HideBackButtonResponseSchema,ce as HideLoaderResponseSchema,re as HideRefreshButtonResponseSchema,Re as IdentityModule,me as IsConnectedResponseSchema,pe as IsConnectedResultSchema,we as IsEsimSupportedResponseSchema,ye as IsEsimSupportedResultSchema,je as LocaleModule,We as LocationModule,C as Logger,Ve as MediaModule,Ze as NetworkModule,He as ObserveDRMPlaybackResponseSchema,ae as OnContentLoadedResponseSchema,de as OnCtaTapResponseSchema,ue as OpenExternalLinkResponseSchema,tt as PlatformModule,qe as PlayDRMContentResponseSchema,it as ProfileModule,Rt as RedirectToSystemWebViewRequestSchema,Lt as RedirectToSystemWebViewResponseSchema,lt as ReloadScopesResponseSchema,Nt as RemoveAllResponseSchema,Ot as RemoveResponseSchema,K as ScanQRCodeRequestSchema,W as ScanQRCodeResponseSchema,G as ScanQRCodeResultSchema,ht as ScopeModule,le as SendAnalyticsEventRequestSchema,he as SendAnalyticsEventResponseSchema,Ye as SendRequestSchema,Qe as SendResponseSchema,Je as SendResultSchema,Z as SetBackgroundColorResponseSchema,ft as SetBooleanResponseSchema,$t as SetDoubleResponseSchema,kt as SetIntResponseSchema,St as SetStringResponseSchema,ee as SetTitleResponseSchema,ne as ShowBackButtonResponseSchema,ie as ShowLoaderResponseSchema,se as ShowRefreshButtonResponseSchema,mt as SplashScreenModule,Pt as StorageModule,Bt as SystemWebViewKitModule,q as TriggerCheckoutRequestSchema,V as TriggerCheckoutResponseSchema,H as TriggerCheckoutResultSchema,zt as UserAttributesModule,st as VerifyEmailRequestSchema,at as VerifyEmailResponseSchema,ot as VerifyEmailResultSchema,P as isClientError,L as isError,N as isFound,T as isNoContent,M as isOk,O as isRedirection,R as isServerError,I as isSuccess};
|