UNPKG

@maxio-com/advanced-billing-sdk

Version:

Ultimate billing and pricing flexibility for B2B SaaS. Maxio integrates directly into your product, so you can seamlessly manage your product catalog, bill customers, and collect payments.

124 lines (114 loc) 3.45 kB
/** * AdvancedBilling * * This file was automatically generated for Maxio by APIMATIC v3.0 ( https://www.apimatic.io ). */ import { anyOf, Schema, validateAndMap } from '../../schema'; import { PaymentMethodApplePay, paymentMethodApplePaySchema, } from '../paymentMethodApplePay'; import { PaymentMethodBankAccount, paymentMethodBankAccountSchema, } from '../paymentMethodBankAccount'; import { PaymentMethodCreditCard, paymentMethodCreditCardSchema, } from '../paymentMethodCreditCard'; import { PaymentMethodExternal, paymentMethodExternalSchema, } from '../paymentMethodExternal'; import { PaymentMethodPaypal, paymentMethodPaypalSchema, } from '../paymentMethodPaypal'; /** This is a container type for any-of types. */ export type InvoiceEventPayment = | PaymentMethodApplePay | PaymentMethodBankAccount | PaymentMethodCreditCard | PaymentMethodExternal | PaymentMethodPaypal; const discriminatorMap = { 'apple_pay': paymentMethodApplePaySchema, 'bank_account': paymentMethodBankAccountSchema, 'credit_card': paymentMethodCreditCardSchema, 'external': paymentMethodExternalSchema, 'paypal_account': paymentMethodPaypalSchema, }; export const invoiceEventPaymentSchema: Schema<InvoiceEventPayment> = anyOf( [ paymentMethodApplePaySchema, paymentMethodBankAccountSchema, paymentMethodCreditCardSchema, paymentMethodExternalSchema, paymentMethodPaypalSchema, ], discriminatorMap, 'type' ); export namespace InvoiceEventPayment { /** * Validation method to narrow down union type to PaymentMethodApplePay type case. * * This is Payment Method Apple Pay case. */ export function isPaymentMethodApplePay( value: unknown ): value is PaymentMethodApplePay { const validationResult = validateAndMap(value, paymentMethodApplePaySchema); return validationResult.errors === false; } /** * Validation method to narrow down union type to PaymentMethodBankAccount type case. * * This is Payment Method Bank Account case. */ export function isPaymentMethodBankAccount( value: unknown ): value is PaymentMethodBankAccount { const validationResult = validateAndMap( value, paymentMethodBankAccountSchema ); return validationResult.errors === false; } /** * Validation method to narrow down union type to PaymentMethodCreditCard type case. * * This is Payment Method Credit Card case. */ export function isPaymentMethodCreditCard( value: unknown ): value is PaymentMethodCreditCard { const validationResult = validateAndMap( value, paymentMethodCreditCardSchema ); return validationResult.errors === false; } /** * Validation method to narrow down union type to PaymentMethodExternal type case. * * This is Payment Method External case. */ export function isPaymentMethodExternal( value: unknown ): value is PaymentMethodExternal { const validationResult = validateAndMap(value, paymentMethodExternalSchema); return validationResult.errors === false; } /** * Validation method to narrow down union type to PaymentMethodPaypal type case. * * This is Payment Method Paypal case. */ export function isPaymentMethodPaypal( value: unknown ): value is PaymentMethodPaypal { const validationResult = validateAndMap(value, paymentMethodPaypalSchema); return validationResult.errors === false; } }