encode<V> static method
Implementation
static V encode<V>(
CreditNoteCreateOptions instance,
Encoder<V> encoder,
) {
final container = encoder.container<String>();
if (instance.amount != null) {
container.encodeInt(
'amount',
instance.amount!,
);
}
if (instance.creditAmount != null) {
container.encodeInt(
'credit_amount',
instance.creditAmount!,
);
}
if (instance.effectiveAt != null) {
container.encodeDateTime(
'effective_at',
instance.effectiveAt!,
);
}
if (instance.expand != null) {
container.encodeList(
'expand',
(container) =>
instance.expand!.forEach((el) => container.encodeString(el)),
);
}
container.encodeString(
'invoice',
instance.invoice,
);
if (instance.lines != null) {
container.encodeList(
'lines',
(container) =>
instance.lines!.forEach((el) => CreditNoteLinesItem.encode(
el,
container.nestedSingleValueContainer().encoder,
)),
);
}
if (instance.memo != null) {
container.encodeString(
'memo',
instance.memo!,
);
}
if (instance.metadata != null) {
container.encodeMap(
'metadata',
(container) => instance.metadata!.forEach((
key,
value,
) =>
container.encodeString(
key,
value,
)),
);
}
if (instance.outOfBandAmount != null) {
container.encodeInt(
'out_of_band_amount',
instance.outOfBandAmount!,
);
}
if (instance.reason != null) {
container.encodeString(
'reason',
instance.reason!,
);
}
if (instance.refund != null) {
container.encodeString(
'refund',
instance.refund!,
);
}
if (instance.refundAmount != null) {
container.encodeInt(
'refund_amount',
instance.refundAmount!,
);
}
if (instance.shippingCost != null) {
CreditNoteShippingCost.encode(
instance.shippingCost!,
container.nestedSingleValueContainer('shipping_cost').encoder,
);
}
return container.value;
}