11// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22
33import 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' ;
55import { uuid4 } from './internal/utils/uuid' ;
6- import { validatePositiveInteger , isAbsoluteURL , hasOwn } from './internal/utils/values' ;
6+ import { validatePositiveInteger , isAbsoluteURL , safeJSON } from './internal/utils/values' ;
77import { 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' ;
810import { castToError , isAbortError } from './internal/errors' ;
911import type { APIResponseProps } from './internal/parse' ;
1012import { getPlatformHeaders } from './internal/detect-platform' ;
@@ -25,48 +27,6 @@ import { readEnv } from './internal/utils/env';
2527import { formatRequestDetails , loggerFor } from './internal/utils/log' ;
2628import { isEmptyObj } from './internal/utils/values' ;
2729
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-
7030export interface ClientOptions {
7131 /**
7232 * Override the default base URL for the API, e.g., "https://api.example.com/v2/"
@@ -135,8 +95,6 @@ export interface ClientOptions {
13595 logger ?: Logger | undefined ;
13696}
13797
138- type FinalizedRequestInit = RequestInit & { headers : Headers } ;
139-
14098/**
14199 * API Client for interfacing with the Lightswitch API.
142100 */
0 commit comments