UNPKG

@stripe/react-stripe-js

Version:

React components for Stripe.js and Stripe Elements

25 lines (21 loc) 822 B
import {Stripe} from '@stripe/stripe-js'; export const isUnknownObject = ( raw: unknown ): raw is {[key in PropertyKey]: unknown} => { return raw !== null && typeof raw === 'object'; }; export const isPromise = (raw: unknown): raw is PromiseLike<unknown> => { return isUnknownObject(raw) && typeof raw.then === 'function'; }; // We are using types to enforce the `stripe` prop in this lib, // but in an untyped integration `stripe` could be anything, so we need // to do some sanity validation to prevent type errors. export const isStripe = (raw: unknown): raw is Stripe => { return ( isUnknownObject(raw) && typeof raw.elements === 'function' && typeof raw.createToken === 'function' && typeof raw.createPaymentMethod === 'function' && typeof raw.confirmCardPayment === 'function' ); };