@kalutskii/foundation 0.3.1 → 0.3.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
@@ -1,10 +1,5 @@
1
- import * as hono from 'hono';
2
- import { ErrorHandler, MiddlewareHandler, Context, TypedResponse, ValidationTargets } from 'hono';
3
- import * as zod from 'zod';
4
- import zod__default, { z, ZodNumber, ZodType } from 'zod';
5
- import * as hono_utils_types from 'hono/utils/types';
6
- import * as zod_v4_core from 'zod/v4/core';
7
- import * as zod_v3 from 'zod/v3';
1
+ import { ErrorHandler, MiddlewareHandler, Context, TypedResponse } from 'hono';
2
+ import z$1, { z, ZodNumber } from 'zod';
8
3
  import { Locale } from 'date-fns';
9
4
  import { SymmetricAlgorithm } from 'hono/utils/jwt/jwa';
10
5
 
@@ -92,12 +87,6 @@ declare function respond<T extends object = Record<string, never>, S extends Suc
92
87
  data?: T;
93
88
  }): Response & TypedResponse<APISuccess<SerializeDates<T>> | APIError, S, 'json'>;
94
89
 
95
- /** Wrapper around the standard hono/zod-validator, throws HTTPException on validation failure. */
96
- declare const zQuery: <T extends ZodType, Target extends keyof ValidationTargets>(target: Target, schema: T) => hono.MiddlewareHandler<hono.Env, string, {
97
- in: (undefined extends (T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never) ? true : false) extends true ? { [K in Target]?: ([T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never] extends [ValidationTargets[K]] ? ValidationTargets[K] & (T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never) : [Exclude<T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never, undefined>] extends [never] ? {} : [Exclude<T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never, undefined>] extends [object] ? undefined extends (T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never) ? ((T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never) & undefined) | (((Exclude<T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never, (T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never) & undefined> extends infer T_3 ? { [K_4 in keyof T_3]: ([Exclude<T_3[K_4], undefined>] extends [string] ? [string & Exclude<T_3[K_4], undefined>] extends [hono_utils_types.UnionToIntersection<string & Exclude<T_3[K_4], undefined>>] ? false : true : false) extends true ? T_3[K_4] : ([unknown] extends [T_3[K_4]] ? false : undefined extends T_3[K_4] ? true : false) extends true ? T_3[K_4] : Target_1 extends "form" ? T$1 | T$1[] : Target_1 extends "query" ? string | string[] : Target_1 extends "param" ? string : Target_1 extends "header" ? string : Target_1 extends "cookie" ? string : unknown; } : never) extends infer T_2 ? { [K_3 in keyof T_2]: T_2[K_3]; } : never) extends infer T_1 ? { [K_2 in keyof T_1]: T_1[K_2]; } : never) : (((T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never) extends infer T_6 ? { [K_7 in keyof T_6]: ([Exclude<T_6[K_7], undefined>] extends [string] ? [string & Exclude<T_6[K_7], undefined>] extends [hono_utils_types.UnionToIntersection<string & Exclude<T_6[K_7], undefined>>] ? false : true : false) extends true ? T_6[K_7] : ([unknown] extends [T_6[K_7]] ? false : undefined extends T_6[K_7] ? true : false) extends true ? T_6[K_7] : Target_1 extends "form" ? T$1 | T$1[] : Target_1 extends "query" ? string | string[] : Target_1 extends "param" ? string : Target_1 extends "header" ? string : Target_1 extends "cookie" ? string : unknown; } : never) extends infer T_5 ? { [K_6 in keyof T_5]: T_5[K_6]; } : never) extends infer T_4 ? { [K_5 in keyof T_4]: T_4[K_5]; } : never : {}) | undefined; } : { [K_1 in Target]: [T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never] extends [ValidationTargets[K_1]] ? ValidationTargets[K_1] & (T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never) : [Exclude<T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never, undefined>] extends [never] ? {} : [Exclude<T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never, undefined>] extends [object] ? undefined extends (T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never) ? ((T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never) & undefined) | (((Exclude<T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never, (T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never) & undefined> extends infer T_3 ? { [K_5 in keyof T_3]: ([Exclude<T_3[K_5], undefined>] extends [string] ? [string & Exclude<T_3[K_5], undefined>] extends [hono_utils_types.UnionToIntersection<string & Exclude<T_3[K_5], undefined>>] ? false : true : false) extends true ? T_3[K_5] : ([unknown] extends [T_3[K_5]] ? false : undefined extends T_3[K_5] ? true : false) extends true ? T_3[K_5] : Target_1 extends "form" ? T$1 | T$1[] : Target_1 extends "query" ? string | string[] : Target_1 extends "param" ? string : Target_1 extends "header" ? string : Target_1 extends "cookie" ? string : unknown; } : never) extends infer T_2 ? { [K_4 in keyof T_2]: T_2[K_4]; } : never) extends infer T_1 ? { [K_3 in keyof T_1]: T_1[K_3]; } : never) : (((T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.input<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.input<T> : never) extends infer T_6 ? { [K_8 in keyof T_6]: ([Exclude<T_6[K_8], undefined>] extends [string] ? [string & Exclude<T_6[K_8], undefined>] extends [hono_utils_types.UnionToIntersection<string & Exclude<T_6[K_8], undefined>>] ? false : true : false) extends true ? T_6[K_8] : ([unknown] extends [T_6[K_8]] ? false : undefined extends T_6[K_8] ? true : false) extends true ? T_6[K_8] : Target_1 extends "form" ? T$1 | T$1[] : Target_1 extends "query" ? string | string[] : Target_1 extends "param" ? string : Target_1 extends "header" ? string : Target_1 extends "cookie" ? string : unknown; } : never) extends infer T_5 ? { [K_7 in keyof T_5]: T_5[K_7]; } : never) extends infer T_4 ? { [K_6 in keyof T_4]: T_4[K_6]; } : never : {}; };
98
- out: { [K_2 in Target]: T extends zod_v3.ZodType<any, zod_v3.ZodTypeDef, any> ? zod_v3.output<T> : T extends zod_v4_core.$ZodType<unknown, unknown, zod_v4_core.$ZodTypeInternals<unknown, unknown>> ? zod.infer<T> : never; };
99
- }, never>;
100
-
101
90
  /**
102
91
  * Returns the current time in the specified timezone.
103
92
  * Example: getZonedTime({ tz: 'America/New_York' }) = new Date('2026-03-15T12:00:00Z')
@@ -175,7 +164,7 @@ type JWTSignOptions = {
175
164
  expiresInSeconds?: number;
176
165
  };
177
166
 
178
- declare class ZodJWTService<TSchema extends zod__default.ZodObject<zod__default.ZodRawShape>> {
167
+ declare class ZodJWTService<TSchema extends z$1.ZodObject<z$1.ZodRawShape>> {
179
168
  readonly payloadSchema: TSchema;
180
169
  protected readonly algorithm: SymmetricAlgorithm;
181
170
  protected readonly defaultExpirationSeconds: number;
@@ -184,17 +173,17 @@ declare class ZodJWTService<TSchema extends zod__default.ZodObject<zod__default.
184
173
  * Signs a JWT token with the provided payload and secret, using the configured algorithm and expiration settings.
185
174
  * Example usage: `const accessToken = await JWTServiceInstance.sign({ userId: 123 }, 'my-secret', { expiresInSeconds: 300 });`
186
175
  */
187
- sign(payload: zod__default.infer<TSchema>, secret: string, options?: JWTSignOptions): Promise<string>;
176
+ sign(payload: z$1.infer<TSchema>, secret: string, options?: JWTSignOptions): Promise<string>;
188
177
  /**
189
178
  * Decodes a JWT token, and validates the payload against the Zod schema.
190
179
  * Note: This method does NOT verify the token's signature or check for expiration.
191
180
  */
192
- decode(token: string): Promise<zod__default.infer<TSchema> | null>;
181
+ decode(token: string): Promise<z$1.infer<TSchema> | null>;
193
182
  /**
194
183
  * Verifies and decodes a JWT token using the provided secret and configured algorithm,
195
184
  * then validates the payload against the Zod schema, also throws on expired tokens.
196
185
  */
197
- verifyOrThrow(token: string, secret: string): Promise<zod__default.infer<TSchema>>;
186
+ verifyOrThrow(token: string, secret: string): Promise<z$1.infer<TSchema>>;
198
187
  }
199
188
 
200
- export { type APIContractData, type APIContractError, type APIContractResult, type APIError, type APISuccess, EXCEPTION_STATUS_CODES, type ExceptionStatusCode, type FetchResult, type JWTServiceOptions, type JWTSignOptions, SUCCESS_STATUS_CODES, type SerializeDates, type SuccessStatusCode, ZodJWTService, asQueryBoolean, asQueryNumber, failure, fetchAndThrow, fetchSafely, formatTime, generateRandomString, getColoredHTTPStatus, getFormattedDate, getFormattedTime, getUTCOffset, getZonedTime, honoLoggingHandler, log, onHandlerError, respond, safeExecute, success, zQuery };
189
+ export { type APIContractData, type APIContractError, type APIContractResult, type APIError, type APISuccess, EXCEPTION_STATUS_CODES, type ExceptionStatusCode, type FetchResult, type JWTServiceOptions, type JWTSignOptions, SUCCESS_STATUS_CODES, type SerializeDates, type SuccessStatusCode, ZodJWTService, asQueryBoolean, asQueryNumber, failure, fetchAndThrow, fetchSafely, formatTime, generateRandomString, getColoredHTTPStatus, getFormattedDate, getFormattedTime, getUTCOffset, getZonedTime, honoLoggingHandler, log, onHandlerError, respond, safeExecute, success };
package/dist/index.js CHANGED
@@ -130,17 +130,6 @@ function respond(c, options) {
130
130
  return c.json(success({ status: options.status, data: options.data ?? {} }), options.status);
131
131
  }
132
132
 
133
- // src/hono/hono.validation.ts
134
- import { zValidator as zv } from "@hono/zod-validator";
135
- import { HTTPException as HTTPException2 } from "hono/http-exception";
136
- var zQuery = (target, schema) => {
137
- return zv(target, schema, (result, _c) => {
138
- if (result.success)
139
- return;
140
- throw new HTTPException2(400, { message: result.error.message });
141
- });
142
- };
143
-
144
133
  // src/utilities/execution.utilities.ts
145
134
  async function safeExecute(fn, onError) {
146
135
  try {
@@ -230,6 +219,5 @@ export {
230
219
  onHandlerError,
231
220
  respond,
232
221
  safeExecute,
233
- success,
234
- zQuery
222
+ success
235
223
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kalutskii/foundation",
3
- "version": "0.3.1",
3
+ "version": "0.3.2",
4
4
  "description": "Typescript collection of most common utilities, schemas and functions among private projects.",
5
5
  "type": "module",
6
6
  "repository": {