Checks whether the current device supports eSIM.
Whether eSIM is supported on the current device. See IsEsimSupportedResponse.
Simple usage
import { DeviceModule, isSuccess, isError } from '@grabjs/superapp-sdk';
// Initialize the device module
const device = new DeviceModule();
// Check eSIM support
const response = await device.isEsimSupported();
// Handle the response
if (isSuccess(response)) {
console.log('eSIM supported:', response.result);
} else if (isError(response)) {
switch (response.status_code) {
case 403:
console.log('No permission to query eSIM support');
// Trigger IdentityModule.authorize() for scope 'mobile.device', then reload via ScopeModule.reloadScopes() and try again
break;
case 426:
console.log('User needs to upgrade the app');
// Advise user to upgrade app
break;
default:
console.error(`Error ${response.status_code}: ${response.error}`);
}
} else {
console.error('Unhandled response');
}
JSBridge module for querying native device information.
Remarks
Provides access to device checks exposed by the native Grab app bridge. This code must run on the Grab SuperApp's WebView to function correctly.
Example
ES Module:
Example
CDN (UMD):