@kalutskii/foundation 0.3.6 → 0.4.1

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,6 +45,7 @@ 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
+ declare function isAPIResponse<TResponse>(response: TResponse): response is TResponse & APIContractResult<unknown>;
48
49
 
49
50
  /**
50
51
  * Global error handler for Hono framework. Catches all exceptions thrown in route handlers and middlewares.
@@ -212,4 +213,4 @@ declare class ZodJWTService<TPayloadOrSchema> {
212
213
  verifyOrThrow(token: string, secret: string): Promise<Payload<TPayloadOrSchema>>;
213
214
  }
214
215
 
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 };
216
+ 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,6 +23,14 @@ async function fetchAndThrow(fetcher) {
23
23
  throw new Error(response.error);
24
24
  return response.data;
25
25
  }
26
+ function isAPIResponse(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 === "data" || 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
+ isAPIResponse,
226
235
  log,
227
236
  onHandlerError,
228
237
  respond,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kalutskii/foundation",
3
- "version": "0.3.6",
3
+ "version": "0.4.1",
4
4
  "description": "Typescript collection of most common utilities, schemas and functions among private projects.",
5
5
  "type": "module",
6
6
  "repository": {