@kalutskii/foundation 0.4.0 → 0.4.2

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 CHANGED
@@ -45,8 +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
+ /** Pure type guard to check if a response is an APIContractResult. */
49
+ declare function isAPIResponse<TResponseData extends object>(responseData: TResponseData): responseData is TResponseData & APIContractResult<unknown>;
50
50
 
51
51
  /**
52
52
  * Global error handler for Hono framework. Catches all exceptions thrown in route handlers and middlewares.
@@ -214,4 +214,4 @@ declare class ZodJWTService<TPayloadOrSchema> {
214
214
  verifyOrThrow(token: string, secret: string): Promise<Payload<TPayloadOrSchema>>;
215
215
  }
216
216
 
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 };
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, isAPIResponse, log, onHandlerError, respond, safeExecute, success };
package/dist/index.js CHANGED
@@ -23,13 +23,11 @@ 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)
26
+ function isAPIResponse(responseData) {
27
+ if (!("kind" in responseData) || !("status" in responseData))
28
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");
29
+ const { kind, status } = responseData;
30
+ return (kind === "data" || kind === "error") && (typeof status === "number" || typeof status === "string");
33
31
  }
34
32
 
35
33
  // src/hono/hono.execution.ts
@@ -231,7 +229,7 @@ export {
231
229
  getUTCOffset,
232
230
  getZonedTime,
233
231
  honoLoggingHandler,
234
- isErrorResponse,
232
+ isAPIResponse,
235
233
  log,
236
234
  onHandlerError,
237
235
  respond,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kalutskii/foundation",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "Typescript collection of most common utilities, schemas and functions among private projects.",
5
5
  "type": "module",
6
6
  "repository": {