wrapFinalizer static method
Implementation
@protected
static ContextFinalizer wrapFinalizer(Function function) {
if (function case ContextFinalizer contextFinalizer) {
return contextFinalizer;
}
if (function case EnvironmentFinalizer environmentFinalizer) {
return (context, value) {
return environmentFinalizer(context.environment, value);
};
}
if (function case Finalizer finalizer) {
return (context, value) {
return finalizer(value);
};
}
// TODO: add error message
throw ArgumentError.value(function, 'finalize');
}