Skip to content

Commit ce1b4de

Browse files
authored
Merge pull request #89 from flowglad/release-please--branches--main--changes--next--components--node
release: 0.8.1
2 parents d8a6dba + b7aae8c commit ce1b4de

File tree

8 files changed

+54
-50
lines changed

8 files changed

+54
-50
lines changed

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "0.8.0"
2+
".": "0.8.1"
33
}

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Changelog
22

3+
## 0.8.1 (2025-03-19)
4+
5+
Full Changelog: [v0.8.0...v0.8.1](https://github.com/flowglad/flowglad-node/compare/v0.8.0...v0.8.1)
6+
7+
### Chores
8+
9+
* **internal:** minor client file refactoring ([#85](https://github.com/flowglad/flowglad-node/issues/85)) ([da121e7](https://github.com/flowglad/flowglad-node/commit/da121e70969f107ee34c31a44daf2d4f3c6d9742))
10+
311
## 0.8.0 (2025-03-18)
412

513
Full Changelog: [v0.7.0...v0.8.0](https://github.com/flowglad/flowglad-node/compare/v0.7.0...v0.8.0)

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@flowglad/node",
3-
"version": "0.8.0",
3+
"version": "0.8.1",
44
"description": "The official TypeScript library for the Flowglad API",
55
"author": "Flowglad <dev-feedback@flowglad.com>",
66
"types": "dist/index.d.ts",

src/client.ts

Lines changed: 4 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

33
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';
55
import { uuid4 } from './internal/utils/uuid';
6-
import { validatePositiveInteger, isAbsoluteURL, hasOwn } from './internal/utils/values';
6+
import { validatePositiveInteger, isAbsoluteURL, safeJSON } from './internal/utils/values';
77
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';
810
import { castToError, isAbortError } from './internal/errors';
911
import type { APIResponseProps } from './internal/parse';
1012
import { getPlatformHeaders } from './internal/detect-platform';
@@ -104,48 +106,6 @@ import { readEnv } from './internal/utils/env';
104106
import { formatRequestDetails, loggerFor } from './internal/utils/log';
105107
import { isEmptyObj } from './internal/utils/values';
106108

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-
149109
export interface ClientOptions {
150110
/**
151111
* API key for accessing the Flowglad API
@@ -219,8 +179,6 @@ export interface ClientOptions {
219179
logger?: Logger | undefined;
220180
}
221181

222-
type FinalizedRequestInit = RequestInit & { headers: Headers };
223-
224182
/**
225183
* API Client for interfacing with the Flowglad API.
226184
*/

src/internal/types.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ export type HTTPMethod = 'get' | 'post' | 'put' | 'patch' | 'delete';
55

66
export type KeysEnum<T> = { [P in keyof Required<T>]: true };
77

8+
export type FinalizedRequestInit = RequestInit & { headers: Headers };
9+
810
type NotAny<T> = [unknown] extends [T] ? never : T;
911

1012
/**

src/internal/utils/log.ts

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
22

3-
import type { LogLevel, Logger } from '../../client';
3+
import { hasOwn } from './values';
44
import { type Flowglad } from '../../client';
55
import { RequestOptions } from '../request-options';
66

7+
type LogFn = (message: string, ...rest: unknown[]) => void;
8+
export type Logger = {
9+
error: LogFn;
10+
warn: LogFn;
11+
info: LogFn;
12+
debug: LogFn;
13+
};
14+
export type LogLevel = 'off' | 'error' | 'warn' | 'info' | 'debug';
15+
716
const levelNumbers = {
817
off: 0,
918
error: 200,
@@ -12,6 +21,25 @@ const levelNumbers = {
1221
debug: 500,
1322
};
1423

24+
export const parseLogLevel = (
25+
maybeLevel: string | undefined,
26+
sourceName: string,
27+
client: Flowglad,
28+
): LogLevel | undefined => {
29+
if (!maybeLevel) {
30+
return undefined;
31+
}
32+
if (hasOwn(levelNumbers, maybeLevel)) {
33+
return maybeLevel;
34+
}
35+
loggerFor(client).warn(
36+
`${sourceName} was set to ${JSON.stringify(maybeLevel)}, expected one of ${JSON.stringify(
37+
Object.keys(levelNumbers),
38+
)}`,
39+
);
40+
return undefined;
41+
};
42+
1543
function noop() {}
1644

1745
function makeLogFn(fnLevel: keyof Logger, logger: Logger | undefined, logLevel: LogLevel) {

src/internal/utils/values.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,3 +92,11 @@ export const maybeCoerceBoolean = (value: unknown): boolean | undefined => {
9292
}
9393
return coerceBoolean(value);
9494
};
95+
96+
export const safeJSON = (text: string) => {
97+
try {
98+
return JSON.parse(text);
99+
} catch (err) {
100+
return undefined;
101+
}
102+
};

src/version.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export const VERSION = '0.8.0'; // x-release-please-version
1+
export const VERSION = '0.8.1'; // x-release-please-version

0 commit comments

Comments
 (0)