UNPKG

stripe

Version:
75 lines (74 loc) 3.42 kB
import { RequestOptions } from './lib.js'; import { BaseAddress, RequestData, UrlInterpolator, RequestHeaders, MultipartRequestData, RequestAuthenticator, ApiMode } from './Types.js'; export declare function isOptionsHash(o: unknown): boolean | unknown; /** * Stringifies an Object, accommodating nested objects * (forming the conventional key 'parent[child]=value') */ export declare function queryStringifyRequestData(data: RequestData | string): string; /** * Outputs a new function with interpolated object property values. * Use like so: * const fn = makeURLInterpolator('some/url/{param1}/{param2}'); * fn({ param1: 123, param2: 456 }); // => 'some/url/123/456' */ export declare const makeURLInterpolator: (s: string) => UrlInterpolator; export declare function extractUrlParams(path: string): Array<string>; /** * enforces that only supplied API bases are allowed. */ export declare const validateApiBase: (apiBase: unknown) => apiBase is BaseAddress; export type ProcessedOptions = { authenticator: RequestAuthenticator | null; headers: RequestHeaders; settings: { timeout?: number; maxNetworkRetries?: number; }; streaming: boolean; apiBase: BaseAddress | null; }; export declare function processOptions(options: RequestOptions | undefined): ProcessedOptions; /** * Remove empty values from an object */ export declare function removeNullish<T extends Record<string, unknown>>(obj: T): T; /** * Normalize standard HTTP Headers: * {'foo-bar': 'hi'} * becomes * {'Foo-Bar': 'hi'} */ export declare function normalizeHeaders(obj: RequestHeaders | null): RequestHeaders | null; /** * Stolen from https://github.com/marten-de-vries/header-case-normalizer/blob/master/index.js#L36-L41 * without the exceptions which are irrelevant to us. */ export declare function normalizeHeader(header: string): string; /** * Allow for special capitalization cases (such as OAuth) */ export declare function pascalToCamelCase(name: string): string; export declare function emitWarning(warning: string): void; export declare function isObject(obj: unknown): boolean; export declare function flattenAndStringify(data: MultipartRequestData): Record<string, string | Uint8Array>; export declare function validateInteger(name: string, n: unknown, defaultVal?: number): number; export declare function determineProcessUserAgentProperties(): Record<string, string>; export declare const AI_AGENTS: [string, string][]; export declare function detectAIAgent(env: Record<string, string | undefined>): string; export declare function createApiKeyAuthenticator(apiKey: string): RequestAuthenticator; /** * Joins an array of Uint8Arrays into a single Uint8Array */ export declare function concat(arrays: Array<Uint8Array>): Uint8Array; /** * JSON stringifies an Object, replacing Date objects with Unix timestamps */ export declare function jsonStringifyRequestData(data: RequestData | string): string; /** * Inspects the given path to determine if the endpoint is for v1 or v2 API */ export declare function getAPIMode(path?: string): ApiMode; export declare function parseHttpHeaderAsString<K extends keyof RequestHeaders>(header: RequestHeaders[K]): string; export declare function parseHttpHeaderAsNumber<K extends keyof RequestHeaders>(header: RequestHeaders[K]): number; export declare function parseHeadersForFetch(headers: RequestHeaders): [string, string][];