Skip to content

createInitializer

The createInitializer() function wraps an initializer and turns it into a flow-compatible generator that can automatically register a defer callback, a finalizer callback, or both.

Interactive example

Syntax

typescript
function createInitializer<
	GenericArgs extends unknown[],
	GenericOutput extends unknown
>(
	initializer: (...args: GenericArgs) => GenericOutput,
	params: {
		defer?: (output: Awaited<GenericOutput>) => unknown;
		finalizer?: (output: Awaited<GenericOutput>) => unknown;
	}
): (...args: GenericArgs) => Generator | AsyncGenerator

Parameters

  • initializer: Function producing the value to expose inside the flow.
  • params.defer: Optional cleanup callback created from the produced value.
  • params.finalizer: Optional final callback created from the produced value.

Return value

A function returning a generator compatible with F.run(). The generator returns the initializer result and registers the configured cleanup effects.

See also

  • defer - Registers a cleanup callback
  • finalizer - Registers a final callback

Released under the MIT license.