@grabjs/superapp-sdk 2.0.0-beta.23 → 2.0.0-beta.29
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 +14 -155
- package/api-reference/api.json +43962 -0
- package/dist/index.d.ts +2140 -2608
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +14 -9
- package/skills/SKILL.md +405 -0
- package/api-reference/json/api.json +0 -27688
- package/api-reference/markdown/README.md +0 -194
- package/api-reference/markdown/classes/BaseModule.md +0 -123
- package/api-reference/markdown/classes/CameraModule.md +0 -177
- package/api-reference/markdown/classes/CheckoutModule.md +0 -181
- package/api-reference/markdown/classes/ContainerModule.md +0 -751
- package/api-reference/markdown/classes/DeviceCapabilityModule.md +0 -161
- package/api-reference/markdown/classes/FileModule.md +0 -178
- package/api-reference/markdown/classes/IdentityModule.md +0 -299
- package/api-reference/markdown/classes/LocaleModule.md +0 -161
- package/api-reference/markdown/classes/LocationModule.md +0 -239
- package/api-reference/markdown/classes/MediaModule.md +0 -219
- package/api-reference/markdown/classes/PlatformModule.md +0 -162
- package/api-reference/markdown/classes/ProfileModule.md +0 -224
- package/api-reference/markdown/classes/ScopeModule.md +0 -219
- package/api-reference/markdown/classes/StorageModule.md +0 -608
- package/api-reference/markdown/classes/SystemWebViewKitModule.md +0 -177
- package/api-reference/markdown/classes/UserAttributesModule.md +0 -164
- package/api-reference/markdown/functions/isClientError.md +0 -37
- package/api-reference/markdown/functions/isErrorResponse.md +0 -40
- package/api-reference/markdown/functions/isRedirection.md +0 -37
- package/api-reference/markdown/functions/isServerError.md +0 -37
- package/api-reference/markdown/functions/isSuccess.md +0 -39
- package/api-reference/markdown/globals.md +0 -176
- package/api-reference/markdown/interfaces/GrabAppInfo.md +0 -23
- package/api-reference/markdown/interfaces/InvokeOptions.md +0 -63
- package/api-reference/markdown/interfaces/Version.md +0 -23
- package/api-reference/markdown/interfaces/WrappedModule.md +0 -51
- package/api-reference/markdown/type-aliases/AuthorizeRequest.md +0 -79
- package/api-reference/markdown/type-aliases/AuthorizeResponse.md +0 -58
- package/api-reference/markdown/type-aliases/AuthorizeResult.md +0 -33
- package/api-reference/markdown/type-aliases/BackResponse.md +0 -37
- package/api-reference/markdown/type-aliases/BackResult.md +0 -8
- package/api-reference/markdown/type-aliases/BridgeClientError.md +0 -9
- package/api-reference/markdown/type-aliases/BridgeError.md +0 -8
- package/api-reference/markdown/type-aliases/BridgeRedirection.md +0 -8
- package/api-reference/markdown/type-aliases/BridgeResponse.md +0 -40
- package/api-reference/markdown/type-aliases/BridgeServerError.md +0 -8
- package/api-reference/markdown/type-aliases/BridgeStatusCode.md +0 -7
- package/api-reference/markdown/type-aliases/BridgeStream.md +0 -29
- package/api-reference/markdown/type-aliases/BridgeStreamHandlers.md +0 -25
- package/api-reference/markdown/type-aliases/BridgeSuccessResponse.md +0 -14
- package/api-reference/markdown/type-aliases/ClearAuthorizationArtifactsResponse.md +0 -18
- package/api-reference/markdown/type-aliases/ClearAuthorizationArtifactsResult.md +0 -8
- package/api-reference/markdown/type-aliases/CloseResponse.md +0 -37
- package/api-reference/markdown/type-aliases/CloseResult.md +0 -8
- package/api-reference/markdown/type-aliases/DRMContentConfig.md +0 -34
- package/api-reference/markdown/type-aliases/DRMPlaybackEvent.md +0 -43
- package/api-reference/markdown/type-aliases/DownloadFileRequest.md +0 -32
- package/api-reference/markdown/type-aliases/DownloadFileResponse.md +0 -48
- package/api-reference/markdown/type-aliases/DownloadFileResult.md +0 -11
- package/api-reference/markdown/type-aliases/ErrorResponse.md +0 -32
- package/api-reference/markdown/type-aliases/FetchEmailResponse.md +0 -58
- package/api-reference/markdown/type-aliases/FetchEmailResult.md +0 -21
- package/api-reference/markdown/type-aliases/GetAuthorizationArtifactsResponse.md +0 -42
- package/api-reference/markdown/type-aliases/GetAuthorizationArtifactsResult.md +0 -57
- package/api-reference/markdown/type-aliases/GetBooleanRequest.md +0 -21
- package/api-reference/markdown/type-aliases/GetBooleanResponse.md +0 -57
- package/api-reference/markdown/type-aliases/GetBooleanResult.md +0 -27
- package/api-reference/markdown/type-aliases/GetCoordinateResponse.md +0 -49
- package/api-reference/markdown/type-aliases/GetCoordinateResult.md +0 -29
- package/api-reference/markdown/type-aliases/GetCountryCodeResponse.md +0 -57
- package/api-reference/markdown/type-aliases/GetCountryCodeResult.md +0 -25
- package/api-reference/markdown/type-aliases/GetDoubleRequest.md +0 -21
- package/api-reference/markdown/type-aliases/GetDoubleResponse.md +0 -57
- package/api-reference/markdown/type-aliases/GetDoubleResult.md +0 -27
- package/api-reference/markdown/type-aliases/GetIntRequest.md +0 -21
- package/api-reference/markdown/type-aliases/GetIntResponse.md +0 -57
- package/api-reference/markdown/type-aliases/GetIntResult.md +0 -27
- package/api-reference/markdown/type-aliases/GetLanguageLocaleIdentifierResponse.md +0 -48
- package/api-reference/markdown/type-aliases/GetLanguageLocaleIdentifierResult.md +0 -31
- package/api-reference/markdown/type-aliases/GetSelectedTravelDestinationResponse.md +0 -48
- package/api-reference/markdown/type-aliases/GetSelectedTravelDestinationResult.md +0 -17
- package/api-reference/markdown/type-aliases/GetSessionParamsResponse.md +0 -40
- package/api-reference/markdown/type-aliases/GetSessionParamsResult.md +0 -27
- package/api-reference/markdown/type-aliases/GetStringRequest.md +0 -21
- package/api-reference/markdown/type-aliases/GetStringResponse.md +0 -57
- package/api-reference/markdown/type-aliases/GetStringResult.md +0 -27
- package/api-reference/markdown/type-aliases/HasAccessToResponse.md +0 -66
- package/api-reference/markdown/type-aliases/HasAccessToResult.md +0 -27
- package/api-reference/markdown/type-aliases/HideBackButtonResponse.md +0 -37
- package/api-reference/markdown/type-aliases/HideBackButtonResult.md +0 -8
- package/api-reference/markdown/type-aliases/HideLoaderResponse.md +0 -37
- package/api-reference/markdown/type-aliases/HideLoaderResult.md +0 -8
- package/api-reference/markdown/type-aliases/HideRefreshButtonResponse.md +0 -37
- package/api-reference/markdown/type-aliases/HideRefreshButtonResult.md +0 -8
- package/api-reference/markdown/type-aliases/IsConnectedResponse.md +0 -31
- package/api-reference/markdown/type-aliases/IsConnectedResult.md +0 -27
- package/api-reference/markdown/type-aliases/IsEsimSupportedResponse.md +0 -48
- package/api-reference/markdown/type-aliases/IsEsimSupportedResult.md +0 -17
- package/api-reference/markdown/type-aliases/ObserveDRMPlaybackResponse.md +0 -15
- package/api-reference/markdown/type-aliases/ObserveLocationChangeResponse.md +0 -15
- package/api-reference/markdown/type-aliases/OnContentLoadedResponse.md +0 -37
- package/api-reference/markdown/type-aliases/OnContentLoadedResult.md +0 -8
- package/api-reference/markdown/type-aliases/OnCtaTapRequest.md +0 -13
- package/api-reference/markdown/type-aliases/OnCtaTapResponse.md +0 -37
- package/api-reference/markdown/type-aliases/OnCtaTapResult.md +0 -8
- package/api-reference/markdown/type-aliases/OpenExternalLinkRequest.md +0 -13
- package/api-reference/markdown/type-aliases/OpenExternalLinkResponse.md +0 -46
- package/api-reference/markdown/type-aliases/OpenExternalLinkResult.md +0 -8
- package/api-reference/markdown/type-aliases/Platform.md +0 -7
- package/api-reference/markdown/type-aliases/PlayDRMContentResponse.md +0 -43
- package/api-reference/markdown/type-aliases/PlayDRMContentResult.md +0 -8
- package/api-reference/markdown/type-aliases/RedirectToSystemWebViewRequest.md +0 -23
- package/api-reference/markdown/type-aliases/RedirectToSystemWebViewResponse.md +0 -55
- package/api-reference/markdown/type-aliases/RedirectToSystemWebViewResult.md +0 -8
- package/api-reference/markdown/type-aliases/ReloadScopesResponse.md +0 -46
- package/api-reference/markdown/type-aliases/ReloadScopesResult.md +0 -8
- package/api-reference/markdown/type-aliases/RemoveAllResponse.md +0 -37
- package/api-reference/markdown/type-aliases/RemoveAllResult.md +0 -8
- package/api-reference/markdown/type-aliases/RemoveResponse.md +0 -46
- package/api-reference/markdown/type-aliases/RemoveResult.md +0 -8
- package/api-reference/markdown/type-aliases/ResponseStatusCode200.md +0 -34
- package/api-reference/markdown/type-aliases/ResponseStatusCode204.md +0 -20
- package/api-reference/markdown/type-aliases/ResponseStatusCode302.md +0 -20
- package/api-reference/markdown/type-aliases/ResponseStatusCode400.md +0 -7
- package/api-reference/markdown/type-aliases/ResponseStatusCode401.md +0 -7
- package/api-reference/markdown/type-aliases/ResponseStatusCode403.md +0 -7
- package/api-reference/markdown/type-aliases/ResponseStatusCode404.md +0 -7
- package/api-reference/markdown/type-aliases/ResponseStatusCode424.md +0 -7
- package/api-reference/markdown/type-aliases/ResponseStatusCode426.md +0 -12
- package/api-reference/markdown/type-aliases/ResponseStatusCode500.md +0 -7
- package/api-reference/markdown/type-aliases/ResponseStatusCode501.md +0 -12
- package/api-reference/markdown/type-aliases/ScanQRCodeRequest.md +0 -27
- package/api-reference/markdown/type-aliases/ScanQRCodeResponse.md +0 -64
- package/api-reference/markdown/type-aliases/ScanQRCodeResult.md +0 -21
- package/api-reference/markdown/type-aliases/SendAnalyticsEventRequest.md +0 -56
- package/api-reference/markdown/type-aliases/SendAnalyticsEventResponse.md +0 -46
- package/api-reference/markdown/type-aliases/SendAnalyticsEventResult.md +0 -8
- package/api-reference/markdown/type-aliases/SetBackgroundColorRequest.md +0 -13
- package/api-reference/markdown/type-aliases/SetBackgroundColorResponse.md +0 -46
- package/api-reference/markdown/type-aliases/SetBackgroundColorResult.md +0 -8
- package/api-reference/markdown/type-aliases/SetBooleanResponse.md +0 -46
- package/api-reference/markdown/type-aliases/SetBooleanResult.md +0 -8
- package/api-reference/markdown/type-aliases/SetDoubleResponse.md +0 -46
- package/api-reference/markdown/type-aliases/SetDoubleResult.md +0 -8
- package/api-reference/markdown/type-aliases/SetIntResponse.md +0 -46
- package/api-reference/markdown/type-aliases/SetIntResult.md +0 -8
- package/api-reference/markdown/type-aliases/SetStringResponse.md +0 -46
- package/api-reference/markdown/type-aliases/SetStringResult.md +0 -8
- package/api-reference/markdown/type-aliases/SetTitleRequest.md +0 -13
- package/api-reference/markdown/type-aliases/SetTitleResponse.md +0 -46
- package/api-reference/markdown/type-aliases/SetTitleResult.md +0 -8
- package/api-reference/markdown/type-aliases/ShowBackButtonResponse.md +0 -37
- package/api-reference/markdown/type-aliases/ShowBackButtonResult.md +0 -8
- package/api-reference/markdown/type-aliases/ShowLoaderResponse.md +0 -37
- package/api-reference/markdown/type-aliases/ShowLoaderResult.md +0 -8
- package/api-reference/markdown/type-aliases/ShowRefreshButtonResponse.md +0 -37
- package/api-reference/markdown/type-aliases/ShowRefreshButtonResult.md +0 -8
- package/api-reference/markdown/type-aliases/StatusCodeMap.md +0 -80
- package/api-reference/markdown/type-aliases/Subscription.md +0 -12
- package/api-reference/markdown/type-aliases/TriggerCheckoutRequest.md +0 -26
- package/api-reference/markdown/type-aliases/TriggerCheckoutResponse.md +0 -76
- package/api-reference/markdown/type-aliases/TriggerCheckoutResult.md +0 -75
- package/api-reference/markdown/type-aliases/VerifyEmailRequest.md +0 -32
- package/api-reference/markdown/type-aliases/VerifyEmailResponse.md +0 -55
- package/api-reference/markdown/type-aliases/VerifyEmailResult.md +0 -8
- package/api-reference/markdown/variables/ContainerAnalyticsEventData.md +0 -21
- package/api-reference/markdown/variables/ContainerAnalyticsEventName.md +0 -13
- package/api-reference/markdown/variables/ContainerAnalyticsEventState.md +0 -25
package/README.md
CHANGED
|
@@ -12,125 +12,24 @@ Each module encapsulates a specific domain of functionality, offering strongly-t
|
|
|
12
12
|
- **Streaming Support** — Real-time data streams for location updates and media events
|
|
13
13
|
- **Automatic Fallbacks** — Graceful degradation when native features are unavailable
|
|
14
14
|
|
|
15
|
-
## Installation
|
|
16
|
-
|
|
17
|
-
### NPM (ES Modules)
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
npm install @grabjs/superapp-sdk
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
```typescript
|
|
24
|
-
import { ContainerModule, LocationModule } from '@grabjs/superapp-sdk';
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
### CDN (UMD Bundle)
|
|
28
|
-
|
|
29
|
-
```html
|
|
30
|
-
<script src="https://cdn.jsdelivr.net/npm/@grabjs/superapp-sdk/dist/index.js"></script>
|
|
31
|
-
<script>
|
|
32
|
-
const { ContainerModule, LocationModule } = window.SuperAppSDK;
|
|
33
|
-
</script>
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
## Usage
|
|
37
|
-
|
|
38
|
-
### Basic Module Initialization
|
|
39
|
-
|
|
40
|
-
All modules are instantiated with a simple constructor call:
|
|
41
|
-
|
|
42
|
-
```typescript
|
|
43
|
-
import { ContainerModule, LocationModule, IdentityModule } from '@grabjs/superapp-sdk';
|
|
44
|
-
|
|
45
|
-
// Initialize modules
|
|
46
|
-
const container = new ContainerModule();
|
|
47
|
-
const location = new LocationModule();
|
|
48
|
-
const identity = new IdentityModule();
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
### Handling Responses
|
|
52
|
-
|
|
53
|
-
All SDK methods return a standardized response with HTTP-style status codes:
|
|
54
|
-
|
|
55
|
-
```typescript
|
|
56
|
-
import { CameraModule } from '@grabjs/superapp-sdk';
|
|
57
|
-
|
|
58
|
-
const camera = new CameraModule();
|
|
59
|
-
const response = await camera.scanQRCode({ title: 'Scan Payment QR' });
|
|
60
|
-
|
|
61
|
-
switch (response.status_code) {
|
|
62
|
-
case 200:
|
|
63
|
-
// Successfully scanned - result contains the QR code data
|
|
64
|
-
console.log('QR Code scanned:', response.result.qrCode);
|
|
65
|
-
break;
|
|
66
|
-
case 204:
|
|
67
|
-
// User cancelled the scanning operation
|
|
68
|
-
console.log('Scanning cancelled');
|
|
69
|
-
break;
|
|
70
|
-
case 400:
|
|
71
|
-
// Bad request - invalid request parameters
|
|
72
|
-
console.error('Invalid request:', response.error);
|
|
73
|
-
break;
|
|
74
|
-
case 403:
|
|
75
|
-
// Camera permission not granted to the Grab app
|
|
76
|
-
console.error('Camera permission denied:', response.error);
|
|
77
|
-
break;
|
|
78
|
-
case 501:
|
|
79
|
-
// Not implemented - not running in Grab app
|
|
80
|
-
console.error('Requires Grab SuperApp environment');
|
|
81
|
-
break;
|
|
82
|
-
default:
|
|
83
|
-
console.error('Unexpected error:', response);
|
|
84
|
-
}
|
|
85
|
-
```
|
|
86
|
-
|
|
87
|
-
### Working with Streams
|
|
88
|
-
|
|
89
|
-
Some modules provide streaming methods for real-time data:
|
|
90
|
-
|
|
91
|
-
```typescript
|
|
92
|
-
import { LocationModule } from '@grabjs/superapp-sdk';
|
|
93
|
-
|
|
94
|
-
const location = new LocationModule();
|
|
95
|
-
|
|
96
|
-
// Subscribe to location updates
|
|
97
|
-
const stream = location.observeLocationChange();
|
|
98
|
-
|
|
99
|
-
const subscription = stream.subscribe({
|
|
100
|
-
next: (response) => {
|
|
101
|
-
if (response.status_code === 200) {
|
|
102
|
-
console.log('Location:', response.result);
|
|
103
|
-
}
|
|
104
|
-
},
|
|
105
|
-
complete: () => {
|
|
106
|
-
console.log('Stream ended');
|
|
107
|
-
},
|
|
108
|
-
});
|
|
109
|
-
|
|
110
|
-
// Unsubscribe when done
|
|
111
|
-
subscription.unsubscribe();
|
|
112
|
-
```
|
|
113
|
-
|
|
114
15
|
## Available Modules
|
|
115
16
|
|
|
116
|
-
- **[ContainerModule](https://grab.github.io/superapp-sdk/classes/ContainerModule.html)** — Control the WebView container UI and lifecycle (header, loading indicators, analytics, connection verification)
|
|
117
|
-
|
|
118
|
-
- **[IdentityModule](https://grab.github.io/superapp-sdk/classes/IdentityModule.html)** — Authenticate users via GrabID OAuth2/OIDC with PKCE support
|
|
119
|
-
|
|
120
|
-
- **[LocationModule](https://grab.github.io/superapp-sdk/classes/LocationModule.html)** — Access device location services and subscribe to location updates
|
|
121
|
-
|
|
122
|
-
- **[StorageModule](https://grab.github.io/superapp-sdk/classes/StorageModule.html)** — Persist key-value data locally with type-safe storage
|
|
123
|
-
|
|
124
17
|
- **[CameraModule](https://grab.github.io/superapp-sdk/classes/CameraModule.html)** — Access device camera capabilities for QR code scanning
|
|
125
18
|
|
|
126
19
|
- **[CheckoutModule](https://grab.github.io/superapp-sdk/classes/CheckoutModule.html)** — Trigger native checkout flows for payment processing
|
|
127
20
|
|
|
21
|
+
- **[ContainerModule](https://grab.github.io/superapp-sdk/classes/ContainerModule.html)** — Control the WebView container UI and lifecycle (header, loading indicators, analytics, connection verification)
|
|
22
|
+
|
|
128
23
|
- **[DeviceCapabilityModule](https://grab.github.io/superapp-sdk/classes/DeviceCapabilityModule.html)** — Query device hardware capabilities
|
|
129
24
|
|
|
130
25
|
- **[FileModule](https://grab.github.io/superapp-sdk/classes/FileModule.html)** — Handle file operations including downloading from remote URLs
|
|
131
26
|
|
|
27
|
+
- **[IdentityModule](https://grab.github.io/superapp-sdk/classes/IdentityModule.html)** — Authenticate users via GrabID OAuth2/OIDC with PKCE support
|
|
28
|
+
|
|
132
29
|
- **[LocaleModule](https://grab.github.io/superapp-sdk/classes/LocaleModule.html)** — Access device locale and localization settings
|
|
133
30
|
|
|
31
|
+
- **[LocationModule](https://grab.github.io/superapp-sdk/classes/LocationModule.html)** — Access device location services and subscribe to location updates
|
|
32
|
+
|
|
134
33
|
- **[MediaModule](https://grab.github.io/superapp-sdk/classes/MediaModule.html)** — Handle media playback including DRM-protected content
|
|
135
34
|
|
|
136
35
|
- **[PlatformModule](https://grab.github.io/superapp-sdk/classes/PlatformModule.html)** — Access platform information and navigation controls
|
|
@@ -139,56 +38,16 @@ subscription.unsubscribe();
|
|
|
139
38
|
|
|
140
39
|
- **[ScopeModule](https://grab.github.io/superapp-sdk/classes/ScopeModule.html)** — Manage permission scopes from GrabID
|
|
141
40
|
|
|
142
|
-
- **[
|
|
41
|
+
- **[SplashScreenModule](https://grab.github.io/superapp-sdk/classes/SplashScreenModule.html)** — Control the native splash/loading screen
|
|
143
42
|
|
|
144
|
-
- **[
|
|
145
|
-
|
|
146
|
-
> **Important:** Always call `ScopeModule.reloadScopes()` after an OAuth redirect to load the latest permissions from GrabID. Without this, module methods may return 403 errors even when permissions have been granted.
|
|
147
|
-
|
|
148
|
-
## Response Status Codes
|
|
149
|
-
|
|
150
|
-
The SDK uses HTTP-style status codes for all responses:
|
|
151
|
-
|
|
152
|
-
| Code | Type | Description |
|
|
153
|
-
| ----- | ----------------- | --------------------------------------------------- |
|
|
154
|
-
| `200` | OK | Request successful, `result` contains response data |
|
|
155
|
-
| `204` | No Content | Request successful, no data returned |
|
|
156
|
-
| `302` | Redirect | OAuth redirect in progress |
|
|
157
|
-
| `400` | Bad Request | Invalid request parameters |
|
|
158
|
-
| `401` | Unauthorized | Authentication required |
|
|
159
|
-
| `403` | Forbidden | Insufficient permissions for this operation |
|
|
160
|
-
| `404` | Not Found | Resource not found |
|
|
161
|
-
| `424` | Failed Dependency | Underlying native request failed |
|
|
162
|
-
| `426` | Upgrade Required | Requires newer Grab app version |
|
|
163
|
-
| `500` | Internal Error | Unexpected SDK error |
|
|
164
|
-
| `501` | Not Implemented | Method requires Grab SuperApp environment |
|
|
165
|
-
|
|
166
|
-
## Type Guards
|
|
167
|
-
|
|
168
|
-
The SDK provides type guards for response validation:
|
|
169
|
-
|
|
170
|
-
```typescript
|
|
171
|
-
import { isSuccess, isErrorResponse, isClientError, isServerError } from '@grabjs/superapp-sdk';
|
|
172
|
-
|
|
173
|
-
const response = await someModule.someMethod();
|
|
174
|
-
|
|
175
|
-
if (isSuccess(response)) {
|
|
176
|
-
// TypeScript knows response.result is available
|
|
177
|
-
console.log(response.result);
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
if (isErrorResponse(response)) {
|
|
181
|
-
// TypeScript knows response.error is available
|
|
182
|
-
console.error(response.error);
|
|
183
|
-
}
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
## Best Practices
|
|
43
|
+
- **[StorageModule](https://grab.github.io/superapp-sdk/classes/StorageModule.html)** — Persist key-value data locally with type-safe storage
|
|
187
44
|
|
|
188
|
-
|
|
45
|
+
- **[SystemWebViewKitModule](https://grab.github.io/superapp-sdk/classes/SystemWebViewKitModule.html)** — Handle system WebView operations and external browser redirections
|
|
189
46
|
|
|
190
|
-
|
|
47
|
+
- **[UserAttributesModule](https://grab.github.io/superapp-sdk/classes/UserAttributesModule.html)** — Access user attribute data
|
|
191
48
|
|
|
192
|
-
|
|
49
|
+
## Documentation
|
|
193
50
|
|
|
194
|
-
|
|
51
|
+
- [Setup Guide](https://grab.github.io/superapp-sdk/documents/Setup.html) — installation, importing, environment requirements
|
|
52
|
+
- [Core Concepts](https://grab.github.io/superapp-sdk/documents/Core_Concepts.html) — response pattern, status codes, type guards
|
|
53
|
+
- [Integration Guide](https://grab.github.io/superapp-sdk/documents/Integration_Guide.html) — initialization sequence, permission handling, navigation
|