init static method
Future<void>
init({
- ZenStorage? storage,
- Map<
String, ZenMutationHandler> ? mutationHandlers, - bool registerDevTools = true,
Initialize Zenify - call once at app startup
storage - Optional storage implementation for offline persistence
mutationHandlers - Optional registry of mutation handlers for offline replay
registerDevTools - Whether to register DevTools service extensions (default: true in debug mode)
Implementation
static Future<void> init({
ZenStorage? storage,
Map<String, ZenMutationHandler>? mutationHandlers,
bool registerDevTools = true,
}) async {
_lifecycleManager.initLifecycleObserver();
// Register handlers if provided
if (mutationHandlers != null) {
ZenMutationQueue.instance.registerHandlers(mutationHandlers);
}
// Set global storage for queries
if (storage != null) {
ZenQueryCache.instance.setStorage(storage);
}
// Initialize persistence and queue (restores state)
await ZenMutationQueue.instance.init(storage);
// Register DevTools extensions in debug mode
if (registerDevTools && kDebugMode) {
try {
ZenServiceExtensions.registerExtensions();
ZenLogger.logDebug('DevTools service extensions registered');
} catch (e) {
// Silently fail if devtools not available
ZenLogger.logDebug('DevTools extensions not available: $e');
}
}
ZenLogger.logInfo('Zen initialized');
}