fastify-stripe
Version:
Stripe Node.js Library instance initialization and encapsulation in fastify framework
46 lines (37 loc) • 1.17 kB
text/typescript
import { config } from 'dotenv'
import Fastify from 'fastify'
import Stripe from 'stripe'
import { expectAssignable, expectType } from 'tsd'
import fastifyStripe, { FastifyStripeNamedInstance } from '../../plugin'
const { parsed: env } = config()
if (!env) {
throw new Error('No environment variables defined')
}
const app = Fastify()
app.register(fastifyStripe, {
apiKey: env.STRIPE_TEST_API_KEY,
apiVersion: '2020-08-27'
})
app.ready(() => {
expectAssignable<Stripe>(app.stripe)
expectType<Stripe.CustomersResource>(app.stripe.customers)
expectType<Promise<Stripe.Response<Stripe.Customer>>>(
app.stripe.customers.create({ email: 'demo@demo.tld' })
)
app.close()
})
const appOne = Fastify()
appOne.register(fastifyStripe, {
apiKey: env.STRIPE_TEST_API_KEY,
apiVersion: '2020-08-27',
name: 'one'
})
appOne.ready(() => {
expectAssignable<FastifyStripeNamedInstance>(appOne.stripe)
expectType<Stripe>(appOne.stripe.one)
expectType<Stripe.CustomersResource>(appOne.stripe.one.customers)
expectType<Promise<Stripe.Response<Stripe.Customer>>>(
appOne.stripe.one.customers.create({ email: 'demo@demo.tld' })
)
appOne.close()
})