ensureTaskPayloadEncoderRegistry function
TaskPayloadEncoderRegistry
ensureTaskPayloadEncoderRegistry(
- TaskPayloadEncoderRegistry? registry, {
- TaskPayloadEncoder resultEncoder = const JsonTaskPayloadEncoder(),
- TaskPayloadEncoder argsEncoder = const JsonTaskPayloadEncoder(),
- Iterable<
TaskPayloadEncoder> additionalEncoders = const [],
Ensures a TaskPayloadEncoderRegistry is available, instantiating one when
registry is null and registering any additionalEncoders with whichever
registry is ultimately used.
Example usage:
final registry = ensureTaskPayloadEncoderRegistry(
null,
resultEncoder: JsonTaskPayloadEncoder(),
argsEncoder: JsonTaskPayloadEncoder(),
additionalEncoders: [MyCustomEncoder()],
);
Implementation
TaskPayloadEncoderRegistry ensureTaskPayloadEncoderRegistry(
TaskPayloadEncoderRegistry? registry, {
TaskPayloadEncoder resultEncoder = const JsonTaskPayloadEncoder(),
TaskPayloadEncoder argsEncoder = const JsonTaskPayloadEncoder(),
Iterable<TaskPayloadEncoder> additionalEncoders = const [],
}) {
final resolved =
registry ??
TaskPayloadEncoderRegistry(
defaultResultEncoder: resultEncoder,
defaultArgsEncoder: argsEncoder,
additionalEncoders: additionalEncoders,
);
if (registry != null) {
additionalEncoders.forEach(resolved.register);
}
return resolved;
}