From 64191b96d3bfb6943a304e34e04074d2a42ce5f2 Mon Sep 17 00:00:00 2001 From: Fabien O'Carroll Date: Tue, 17 Dec 2019 15:10:55 +0200 Subject: [PATCH] [@types/stripe] Added config param to constructor (#40846) * [@types/stripe] Added breaking test for constructor * [@types/stripe] Added missing config to constructor * [@types/stripe] Marked all StripeConfig keys as optional * [@types/stripe] Allowed null for apiVersion & httpAgent --- types/stripe/index.d.ts | 11 +++++++++++ types/stripe/stripe-tests.ts | 15 ++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/types/stripe/index.d.ts b/types/stripe/index.d.ts index 8f545301d5..57de752245 100644 --- a/types/stripe/index.d.ts +++ b/types/stripe/index.d.ts @@ -64,6 +64,16 @@ interface ResponseEvent { request_end_time: number; } +interface StripeConfig { + apiVersion?: string | null; + maxNetworkRetries?: number; + httpAgent?: Agent | null; + timeout?: number; + host?: string; + port?: number; + telemetry?: boolean; +} + declare class Stripe { DEFAULT_HOST: string; DEFAULT_PORT: string; @@ -85,6 +95,7 @@ declare class Stripe { StripeResource: typeof Stripe.StripeResource; constructor(apiKey: string, version?: string); + constructor(apiKey: string, config?: StripeConfig); accounts: Stripe.resources.Accounts; balance: Stripe.resources.Balance; diff --git a/types/stripe/stripe-tests.ts b/types/stripe/stripe-tests.ts index 13fab9e3db..a23273fd94 100644 --- a/types/stripe/stripe-tests.ts +++ b/types/stripe/stripe-tests.ts @@ -1,11 +1,24 @@ import Stripe = require('stripe'); import { customers } from 'stripe'; -const stripe = new Stripe('sk_test_BF573NobVn98OiIsPAv7A04K'); +let stripe = new Stripe('sk_test_BF573NobVn98OiIsPAv7A04K'); +stripe = new Stripe('sk_test_BF573NobVn98OiIsPAv7A04K', 'latest'); import { Agent as HttpAgent } from 'http'; import { Agent as HttpsAgent } from 'https'; +stripe = new Stripe('sk_test_BF573NobVn98OiIsPAv7A04K', { + apiVersion: 'latest', + maxNetworkRetries: 1, + httpAgent: new HttpAgent(), + timeout: 1000, + host: 'api.example.com', + port: 123, + telemetry: true +}); + +stripe = new Stripe('sk_test_BF573NobVn98OiIsPAv7A04K', {}); + stripe.setHttpAgent(new HttpAgent()); stripe.setHttpAgent(new HttpsAgent());