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' ;
@@ -25,48 +27,6 @@ import { readEnv } from './internal/utils/env';
25
27
import { formatRequestDetails , loggerFor } from './internal/utils/log' ;
26
28
import { isEmptyObj } from './internal/utils/values' ;
27
29
28
- const safeJSON = ( text : string ) => {
29
- try {
30
- return JSON . parse ( text ) ;
31
- } catch ( err ) {
32
- return undefined ;
33
- }
34
- } ;
35
-
36
- type LogFn = ( message : string , ...rest : unknown [ ] ) => void ;
37
- export type Logger = {
38
- error : LogFn ;
39
- warn : LogFn ;
40
- info : LogFn ;
41
- debug : LogFn ;
42
- } ;
43
- export type LogLevel = 'off' | 'error' | 'warn' | 'info' | 'debug' ;
44
- const parseLogLevel = (
45
- maybeLevel : string | undefined ,
46
- sourceName : string ,
47
- client : Lightswitch ,
48
- ) : LogLevel | undefined => {
49
- if ( ! maybeLevel ) {
50
- return undefined ;
51
- }
52
- const levels : Record < LogLevel , true > = {
53
- off : true ,
54
- error : true ,
55
- warn : true ,
56
- info : true ,
57
- debug : true ,
58
- } ;
59
- if ( hasOwn ( levels , maybeLevel ) ) {
60
- return maybeLevel ;
61
- }
62
- loggerFor ( client ) . warn (
63
- `${ sourceName } was set to ${ JSON . stringify ( maybeLevel ) } , expected one of ${ JSON . stringify (
64
- Object . keys ( levels ) ,
65
- ) } `,
66
- ) ;
67
- return undefined ;
68
- } ;
69
-
70
30
export interface ClientOptions {
71
31
/**
72
32
* Override the default base URL for the API, e.g., "https://api.example.com/v2/"
@@ -135,8 +95,6 @@ export interface ClientOptions {
135
95
logger ?: Logger | undefined ;
136
96
}
137
97
138
- type FinalizedRequestInit = RequestInit & { headers : Headers } ;
139
-
140
98
/**
141
99
* API Client for interfacing with the Lightswitch API.
142
100
*/
0 commit comments