encode<V> static method
Implementation
static V encode<V>(
SourceCreateOptions instance,
Encoder<V> encoder,
) {
final container = encoder.container<String>();
if (instance.amount != null) {
container.encodeInt(
'amount',
instance.amount!,
);
}
if (instance.currency != null) {
container.encodeString(
'currency',
instance.currency!,
);
}
if (instance.customer != null) {
container.encodeString(
'customer',
instance.customer!,
);
}
if (instance.expand != null) {
container.encodeList(
'expand',
(container) =>
instance.expand!.forEach((el) => container.encodeString(el)),
);
}
if (instance.flow != null) {
container.encodeString(
'flow',
instance.flow!,
);
}
if (instance.mandate != null) {
SourceMandate.encode(
instance.mandate!,
container.nestedSingleValueContainer('mandate').encoder,
);
}
if (instance.metadata != null) {
container.encodeMap(
'metadata',
(container) => instance.metadata!.forEach((
key,
value,
) =>
container.encodeString(
key,
value,
)),
);
}
if (instance.originalSource != null) {
container.encodeString(
'original_source',
instance.originalSource!,
);
}
if (instance.owner != null) {
CardOwner.encode(
instance.owner!,
container.nestedSingleValueContainer('owner').encoder,
);
}
if (instance.receiver != null) {
SourceReceiver.encode(
instance.receiver!,
container.nestedSingleValueContainer('receiver').encoder,
);
}
if (instance.redirect != null) {
PortalFlowsAfterCompletionRedirect.encode(
instance.redirect!,
container.nestedSingleValueContainer('redirect').encoder,
);
}
if (instance.sourceOrder != null) {
SourceOrder.encode(
instance.sourceOrder!,
container.nestedSingleValueContainer('source_order').encoder,
);
}
if (instance.statementDescriptor != null) {
container.encodeString(
'statement_descriptor',
instance.statementDescriptor!,
);
}
if (instance.token != null) {
container.encodeString(
'token',
instance.token!,
);
}
if (instance.type != null) {
container.encodeString(
'type',
instance.type!,
);
}
if (instance.usage != null) {
container.encodeString(
'usage',
instance.usage!,
);
}
return container.value;
}