encode<V> static method
Implementation
static V encode<V>(
PriceCreateOptions instance,
Encoder<V> encoder,
) {
final container = encoder.container<String>();
if (instance.active != null) {
container.encodeBool(
'active',
instance.active!,
);
}
if (instance.billingScheme != null) {
InvoiceitemPlanBillingScheme.encode(
instance.billingScheme!,
container.nestedSingleValueContainer('billing_scheme').encoder,
);
}
container.encodeString(
'currency',
instance.currency,
);
if (instance.currencyOptions != null) {
container.encodeMap(
'currency_options',
(container) => instance.currencyOptions!.forEach((
key,
value,
) =>
PriceCurrencyOptionsValue.encode(
value,
container.nestedSingleValueContainer(key).encoder,
)),
);
}
if (instance.customUnitAmount != null) {
PriceCustomUnitAmount.encode(
instance.customUnitAmount!,
container.nestedSingleValueContainer('custom_unit_amount').encoder,
);
}
if (instance.expand != null) {
container.encodeList(
'expand',
(container) =>
instance.expand!.forEach((el) => container.encodeString(el)),
);
}
if (instance.lookupKey != null) {
container.encodeString(
'lookup_key',
instance.lookupKey!,
);
}
if (instance.metadata != null) {
container.encodeMap(
'metadata',
(container) => instance.metadata!.forEach((
key,
value,
) =>
container.encodeString(
key,
value,
)),
);
}
if (instance.nickname != null) {
container.encodeString(
'nickname',
instance.nickname!,
);
}
if (instance.product != null) {
container.encodeString(
'product',
instance.product!,
);
}
if (instance.productData != null) {
PlanProductInlineProductParams.encode(
instance.productData!,
container.nestedSingleValueContainer('product_data').encoder,
);
}
if (instance.recurring != null) {
PriceRecurring.encode(
instance.recurring!,
container.nestedSingleValueContainer('recurring').encoder,
);
}
if (instance.taxBehavior != null) {
ShippingRateCurrencyOptionTaxBehavior.encode(
instance.taxBehavior!,
container.nestedSingleValueContainer('tax_behavior').encoder,
);
}
if (instance.tiers != null) {
container.encodeList(
'tiers',
(container) => instance.tiers!.forEach((el) => PlanTiersItem.encode(
el,
container.nestedSingleValueContainer().encoder,
)),
);
}
if (instance.tiersMode != null) {
PlanTiersMode.encode(
instance.tiersMode!,
container.nestedSingleValueContainer('tiers_mode').encoder,
);
}
if (instance.transferLookupKey != null) {
container.encodeBool(
'transfer_lookup_key',
instance.transferLookupKey!,
);
}
if (instance.transformQuantity != null) {
TransformUsage.encode(
instance.transformQuantity!,
container.nestedSingleValueContainer('transform_quantity').encoder,
);
}
if (instance.unitAmount != null) {
container.encodeInt(
'unit_amount',
instance.unitAmount!,
);
}
if (instance.unitAmountDecimal != null) {
container.encodeString(
'unit_amount_decimal',
instance.unitAmountDecimal!,
);
}
return container.value;
}