@dg-superapp/bridge-sdk
v2.1.0
Published
SDK for DG Super App Bridge - type-safe bridge calls with platform adapters
Maintainers
Readme
@dg-superapp/bridge-sdk
Type-safe SDK for DG Super App Bridge.
Installation
pnpm add @dg-superapp/bridge-sdkLazy Loading (Recommended)
For optimal bundle size, use initBridge() to lazily load adapters:
import { initBridge, callBridge } from '@dg-superapp/bridge-sdk';
// Initialize with adapters your app may use
await initBridge({
adapters: {
dg: true, // Enable DG SuperApp adapter
// Private overlays register additional adapters via
// registerAdapterImport() — see the adapter extension point docs.
},
timeout: 5000, // Queue timeout (optional, default 5000ms)
});
// Now bridge calls work
const profile = await callBridge('userProfile');Fire-and-forget pattern
You can also fire-and-forget initialization. Calls made before init completes are queued:
import { initBridge, callBridge } from '@dg-superapp/bridge-sdk';
// Start initialization (don't await)
initBridge({ adapters: { dg: true } });
// This call is queued and executes when adapter is ready
const profile = await callBridge('userProfile');Error handling
await initBridge({
adapters: { dg: true },
retryAttempts: 3, // Retry adapter load on failure
onError: (error) => {
console.error('Adapter load failed:', error.message);
// Handle error - show fallback UI, etc.
},
});Legacy usage (still supported)
The original sync registration pattern still works for backward compatibility:
import { registerAdapter, callBridge } from '@dg-superapp/bridge-sdk';
import { DG_ADAPTER_REGISTRATION } from '@dg-superapp/bridge-adapter-dg';
registerAdapter(
DG_ADAPTER_REGISTRATION.platformId,
DG_ADAPTER_REGISTRATION.factory,
DG_ADAPTER_REGISTRATION.priority,
);
const profile = await callBridge('userProfile');API
See the API Reference for complete documentation.
