|
1 | 1 | // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details. |
2 | 2 |
|
3 | 3 | import type { RequestInit, RequestInfo, BodyInit } from './internal/builtin-types'; |
4 | | -import type { HTTPMethod, PromiseOrValue, MergedRequestInit } from './internal/types'; |
| 4 | +import type { HTTPMethod, PromiseOrValue, MergedRequestInit, FinalizedRequestInit } from './internal/types'; |
5 | 5 | import { uuid4 } from './internal/utils/uuid'; |
6 | | -import { validatePositiveInteger, isAbsoluteURL, hasOwn } from './internal/utils/values'; |
| 6 | +import { validatePositiveInteger, isAbsoluteURL, safeJSON } from './internal/utils/values'; |
7 | 7 | import { sleep } from './internal/utils/sleep'; |
| 8 | +import { type Logger, type LogLevel, parseLogLevel } from './internal/utils/log'; |
| 9 | +export type { Logger, LogLevel } from './internal/utils/log'; |
8 | 10 | import { castToError, isAbortError } from './internal/errors'; |
9 | 11 | import type { APIResponseProps } from './internal/parse'; |
10 | 12 | import { getPlatformHeaders } from './internal/detect-platform'; |
@@ -104,48 +106,6 @@ import { readEnv } from './internal/utils/env'; |
104 | 106 | import { formatRequestDetails, loggerFor } from './internal/utils/log'; |
105 | 107 | import { isEmptyObj } from './internal/utils/values'; |
106 | 108 |
|
107 | | -const safeJSON = (text: string) => { |
108 | | - try { |
109 | | - return JSON.parse(text); |
110 | | - } catch (err) { |
111 | | - return undefined; |
112 | | - } |
113 | | -}; |
114 | | - |
115 | | -type LogFn = (message: string, ...rest: unknown[]) => void; |
116 | | -export type Logger = { |
117 | | - error: LogFn; |
118 | | - warn: LogFn; |
119 | | - info: LogFn; |
120 | | - debug: LogFn; |
121 | | -}; |
122 | | -export type LogLevel = 'off' | 'error' | 'warn' | 'info' | 'debug'; |
123 | | -const parseLogLevel = ( |
124 | | - maybeLevel: string | undefined, |
125 | | - sourceName: string, |
126 | | - client: Flowglad, |
127 | | -): LogLevel | undefined => { |
128 | | - if (!maybeLevel) { |
129 | | - return undefined; |
130 | | - } |
131 | | - const levels: Record<LogLevel, true> = { |
132 | | - off: true, |
133 | | - error: true, |
134 | | - warn: true, |
135 | | - info: true, |
136 | | - debug: true, |
137 | | - }; |
138 | | - if (hasOwn(levels, maybeLevel)) { |
139 | | - return maybeLevel; |
140 | | - } |
141 | | - loggerFor(client).warn( |
142 | | - `${sourceName} was set to ${JSON.stringify(maybeLevel)}, expected one of ${JSON.stringify( |
143 | | - Object.keys(levels), |
144 | | - )}`, |
145 | | - ); |
146 | | - return undefined; |
147 | | -}; |
148 | | - |
149 | 109 | export interface ClientOptions { |
150 | 110 | /** |
151 | 111 | * API key for accessing the Flowglad API |
@@ -219,8 +179,6 @@ export interface ClientOptions { |
219 | 179 | logger?: Logger | undefined; |
220 | 180 | } |
221 | 181 |
|
222 | | -type FinalizedRequestInit = RequestInit & { headers: Headers }; |
223 | | - |
224 | 182 | /** |
225 | 183 | * API Client for interfacing with the Flowglad API. |
226 | 184 | */ |
|
0 commit comments