dispose static method
Disposes an environment and optionally clears its data.
Set clear to false to keep data after disposal.
Implementation
static Future<void> dispose(HHPayloadI payload, {bool clear = true}) async {
final immutablePayload = payload.asImmutable();
if (clear) {
// Clear data directly without triggering hooks during disposal
final ctx = HHCtx(payload);
await ctx.access.storeClear();
if (ctx.config.usesMeta) {
await ctx.access.metaClear();
}
}
await HHiveCore.dispose(immutablePayload.env!);
final config = HHImmutableConfig.getInstance(immutablePayload.env!);
if (config != null) {
dangerousRemoveConfig(config);
}
}