dispose static method

Future<void> dispose(
  1. HHPayloadI payload, {
  2. bool clear = true,
})

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);
  }
}