registerExtensions static method
void
registerExtensions()
Register all Zenify service extensions
Call this once during app initialization, typically in main() Only registers in debug mode - no overhead in release builds.
Implementation
static void registerExtensions() {
if (_registered) return;
_registered = true;
// Register scope inspection extension
developer.registerExtension(
'ext.zenify.getScopes',
(method, parameters) async {
final scopes = _buildScopeHierarchy();
return developer.ServiceExtensionResponse.result(
'{"scopes": ${_scopesToJson(scopes)}}',
);
},
);
// Register query cache extensions
developer.registerExtension(
'ext.zenify.getQueries',
(method, parameters) async {
final queries = _getQueryList();
return developer.ServiceExtensionResponse.result(
'{"queries": ${_queriesToJson(queries)}}',
);
},
);
developer.registerExtension(
'ext.zenify.getQueryStats',
(method, parameters) async {
final stats = ZenQueryCache.instance.getStats();
return developer.ServiceExtensionResponse.result(
'{"stats": ${_mapToJson(stats)}}',
);
},
);
developer.registerExtension(
'ext.zenify.invalidateQuery',
(method, parameters) async {
final queryKey = parameters['queryKey'];
if (queryKey != null) {
ZenQueryCache.instance.invalidateQuery(queryKey);
}
return developer.ServiceExtensionResponse.result('{"success": true}');
},
);
developer.registerExtension(
'ext.zenify.refetchQuery',
(method, parameters) async {
final queryKey = parameters['queryKey'];
if (queryKey != null) {
await ZenQueryCache.instance.refetchQuery(queryKey);
}
return developer.ServiceExtensionResponse.result('{"success": true}');
},
);
developer.registerExtension(
'ext.zenify.clearQueries',
(method, parameters) async {
ZenQueryCache.instance.clear();
return developer.ServiceExtensionResponse.result('{"success": true}');
},
);
// Register system stats extension
developer.registerExtension(
'ext.zenify.getStats',
(method, parameters) async {
final stats = ZenDebug.getSystemStats();
return developer.ServiceExtensionResponse.result(
'{"stats": ${_statsToJson(stats)}}',
);
},
);
// Register comprehensive metrics extension
developer.registerExtension(
'ext.zenify.getMetrics',
(method, parameters) async {
final metrics = _buildMetrics();
return developer.ServiceExtensionResponse.result(
'{"metrics": ${_mapToJson(metrics)}}',
);
},
);
}