@kalutskii/foundation 0.3.6 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +3 -1
- package/dist/index.js +9 -0
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -45,6 +45,8 @@ declare function failure({ status, error }: {
|
|
|
45
45
|
declare function fetchSafely<TResult extends APIContractResult<unknown>>(fetcher: () => Promise<TResult>): Promise<FetchResult<APIContractData<TResult>>>;
|
|
46
46
|
/** Resolves an APIContractResult fetcher, throwing an error if the result is an APIError. */
|
|
47
47
|
declare function fetchAndThrow<TResult extends APIContractResult<unknown>>(fetcher: () => Promise<TResult>): Promise<APIContractData<TResult>>;
|
|
48
|
+
/** Pure type guard for APIError responses, used to narrow the type of a response object. */
|
|
49
|
+
declare function isErrorResponse<TResponse>(response: TResponse): response is TResponse & APIError;
|
|
48
50
|
|
|
49
51
|
/**
|
|
50
52
|
* Global error handler for Hono framework. Catches all exceptions thrown in route handlers and middlewares.
|
|
@@ -212,4 +214,4 @@ declare class ZodJWTService<TPayloadOrSchema> {
|
|
|
212
214
|
verifyOrThrow(token: string, secret: string): Promise<Payload<TPayloadOrSchema>>;
|
|
213
215
|
}
|
|
214
216
|
|
|
215
|
-
export { type APIContractData, type APIContractError, type APIContractResult, type APIError, type APISuccess, EXCEPTION_STATUS_CODES, type ExceptionStatusCode, type FetchResult, type JWTServiceOptions, type JWTSignOptions, type Payload, type PayloadSchema, SUCCESS_STATUS_CODES, type SerializeDates, type SuccessStatusCode, type XOR, ZodJWTService, asQueryBoolean, asQueryNumber, failure, fetchAndThrow, fetchSafely, formatTime, generateRandomString, getColoredHTTPStatus, getFormattedDate, getFormattedTime, getUTCOffset, getZonedTime, honoLoggingHandler, log, onHandlerError, respond, safeExecute, success };
|
|
217
|
+
export { type APIContractData, type APIContractError, type APIContractResult, type APIError, type APISuccess, EXCEPTION_STATUS_CODES, type ExceptionStatusCode, type FetchResult, type JWTServiceOptions, type JWTSignOptions, type Payload, type PayloadSchema, SUCCESS_STATUS_CODES, type SerializeDates, type SuccessStatusCode, type XOR, ZodJWTService, asQueryBoolean, asQueryNumber, failure, fetchAndThrow, fetchSafely, formatTime, generateRandomString, getColoredHTTPStatus, getFormattedDate, getFormattedTime, getUTCOffset, getZonedTime, honoLoggingHandler, isErrorResponse, log, onHandlerError, respond, safeExecute, success };
|
package/dist/index.js
CHANGED
|
@@ -23,6 +23,14 @@ async function fetchAndThrow(fetcher) {
|
|
|
23
23
|
throw new Error(response.error);
|
|
24
24
|
return response.data;
|
|
25
25
|
}
|
|
26
|
+
function isErrorResponse(response) {
|
|
27
|
+
if (typeof response !== "object" || response === null)
|
|
28
|
+
return false;
|
|
29
|
+
if (!("kind" in response) || !("status" in response))
|
|
30
|
+
return false;
|
|
31
|
+
const { kind, status } = response;
|
|
32
|
+
return kind === "error" && (typeof status === "number" || typeof status === "string");
|
|
33
|
+
}
|
|
26
34
|
|
|
27
35
|
// src/hono/hono.execution.ts
|
|
28
36
|
import { HTTPException } from "hono/http-exception";
|
|
@@ -223,6 +231,7 @@ export {
|
|
|
223
231
|
getUTCOffset,
|
|
224
232
|
getZonedTime,
|
|
225
233
|
honoLoggingHandler,
|
|
234
|
+
isErrorResponse,
|
|
226
235
|
log,
|
|
227
236
|
onHandlerError,
|
|
228
237
|
respond,
|