← Public packages
@kentcdodds/paypal
PayPal helpers for invoices, sending invoices, transactions, and reimbursements.
src/index.ts
74 lines · 2.0 KB · TypeScriptexport {
createInvoice,
findInvoice,
getInvoice,
listInvoices,
searchInvoices,
searchInvoicesForReimbursement,
sendInvoice,
summarizeInvoice,
} from './invoices.ts'
export { findTransaction, listTransactions, searchTransactions } from './transactions.ts'
export { smokeTest } from './smoke-test.ts'
export { paypalListBalances } from './paypal-core.ts'
export {
balancesGet,
invoicesCreate,
invoicesGet,
invoicesList,
invoicesSearchInvoices,
invoicesSend,
searchGet,
} from './openapi-client.ts'
import {
createInvoice,
findInvoice,
getInvoice,
listInvoices,
searchInvoices,
searchInvoicesForReimbursement,
sendInvoice,
summarizeInvoice,
} from './invoices.ts'
import { findTransaction, listTransactions, searchTransactions } from './transactions.ts'
import { paypalListBalances } from './paypal-core.ts'
import { smokeTest } from './smoke-test.ts'
/**
* Root dispatcher for PayPal read-only utilities. Defaults to smoke-test.
*/
export default async function paypal(input: Record<string, unknown> = {}) {
const action = String(input.action ?? 'smoke-test')
switch (action) {
case 'smoke-test':
return await smokeTest(input)
case 'list-invoices':
return await listInvoices(input)
case 'get-invoice':
return await getInvoice(input as never)
case 'search-invoices':
return await searchInvoices(input)
case 'find-invoice':
return await findInvoice(input)
case 'summarize-invoice':
return await summarizeInvoice(input)
case 'search-reimbursement':
case 'search-invoices-for-reimbursement':
return await searchInvoicesForReimbursement(input)
case 'list-transactions':
return await listTransactions(input as never)
case 'search-transactions':
return await searchTransactions(input)
case 'find-transaction':
return await findTransaction(input)
case 'list-balances':
return await paypalListBalances(input)
case 'create-invoice':
return await createInvoice(input as never)
case 'send-invoice':
return await sendInvoice(input as never)
default:
throw new Error('Unknown PayPal action: ' + action)
}
}