@venizia/ignis 0.0.8-13 → 0.0.8-14
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/base/controllers/common/types.d.ts +12 -4
- package/dist/base/controllers/common/types.d.ts.map +1 -1
- package/dist/base/controllers/common/types.js.map +1 -1
- package/dist/base/controllers/factory/controller.d.ts +1358 -41
- package/dist/base/controllers/factory/controller.d.ts.map +1 -1
- package/dist/base/controllers/factory/controller.js +6 -5
- package/dist/base/controllers/factory/controller.js.map +1 -1
- package/dist/base/controllers/factory/definition.d.ts +105 -33
- package/dist/base/controllers/factory/definition.d.ts.map +1 -1
- package/dist/base/controllers/factory/definition.js +17 -9
- package/dist/base/controllers/factory/definition.js.map +1 -1
- package/dist/base/middlewares/app-error.middleware.d.ts.map +1 -1
- package/dist/base/middlewares/app-error.middleware.js +1 -1
- package/dist/base/middlewares/app-error.middleware.js.map +1 -1
- package/dist/components/health-check/controller.d.ts +1 -5
- package/dist/components/health-check/controller.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -3,9 +3,10 @@ import type { IAuthorizationSpec } from '../../../components/auth/authorize/comm
|
|
|
3
3
|
import { TAnyObjectSchema } from '../../../utilities/schema.utility';
|
|
4
4
|
import type { RouteConfig as HonoRouteConfig } from '@hono/zod-openapi';
|
|
5
5
|
import { createRoute, Hook, OpenAPIHono, z } from '@hono/zod-openapi';
|
|
6
|
-
import { IConfigurable, ValueOrPromise } from '@venizia/ignis-helpers';
|
|
6
|
+
import { AnyType, IConfigurable, ValueOrPromise } from '@venizia/ignis-helpers';
|
|
7
7
|
import type { TypedResponse } from 'hono';
|
|
8
8
|
import { Context, Env, Schema } from 'hono';
|
|
9
|
+
import { ContentfulStatusCode, StatusCode } from 'hono/utils/http-status';
|
|
9
10
|
/** Typed validation results for route handlers. */
|
|
10
11
|
export interface IValidRequestProps<JsonType = unknown, QueryType = unknown, ParamType = unknown, HeaderType = unknown, CookieType = unknown, FormType = unknown> {
|
|
11
12
|
json?: JsonType;
|
|
@@ -15,17 +16,19 @@ export interface IValidRequestProps<JsonType = unknown, QueryType = unknown, Par
|
|
|
15
16
|
cookie?: CookieType;
|
|
16
17
|
form?: FormType;
|
|
17
18
|
}
|
|
19
|
+
export type TJsonResponse<ResponseBody = unknown, ResponseStatusCode extends StatusCode = StatusCode> = Response & TypedResponse<ResponseBody, ResponseStatusCode, 'json'>;
|
|
18
20
|
/** Lightweight typed context that bypasses RouteHandler inference. */
|
|
19
|
-
export type TContext<RouteEnv extends Env = Env, ValidTargetKey extends string = string> = Omit<Context<RouteEnv>, 'req'> & {
|
|
21
|
+
export type TContext<RouteEnv extends Env = Env, ValidTargetKey extends string = string, ResponseBody = unknown> = Omit<Context<RouteEnv>, 'req' | 'json'> & {
|
|
20
22
|
req: Omit<Context<RouteEnv>['req'], 'valid'> & {
|
|
21
23
|
valid<T = unknown>(target: ValidTargetKey): T;
|
|
22
24
|
};
|
|
25
|
+
json<StatusCode extends ContentfulStatusCode = 200>(body: ResponseBody, status?: StatusCode): TJsonResponse<ResponseBody, StatusCode>;
|
|
23
26
|
};
|
|
24
|
-
export type TRouteContext<RouteEnv extends Env = Env> = TContext<RouteEnv, keyof IValidRequestProps>;
|
|
27
|
+
export type TRouteContext<RouteEnv extends Env = Env, ResponseBody = unknown> = TContext<RouteEnv, keyof IValidRequestProps, ResponseBody>;
|
|
25
28
|
/** Casts middleware context to TContext (safe -- structurally identical to Context). */
|
|
26
29
|
export declare const asTypedContext: <E extends Env>(context: unknown) => TContext<E, string>;
|
|
27
30
|
/** Lightweight handler type using TTypedContext to avoid heavy RouteHandler inference. */
|
|
28
|
-
export type TRouteHandler<ResponseType = unknown, RouteEnv extends Env = Env> = (context: TRouteContext<RouteEnv>) => ValueOrPromise<Response | TypedResponse<ResponseType>>;
|
|
31
|
+
export type TRouteHandler<ResponseType = unknown, RouteEnv extends Env = Env> = (context: TRouteContext<RouteEnv, ResponseType>) => ValueOrPromise<Response | TypedResponse<ResponseType>>;
|
|
29
32
|
/** Registered route with its configuration and router instance. */
|
|
30
33
|
export interface IDefineRouteOptions<RouteConfig extends HonoRouteConfig, RouteEnv extends Env = Env, RouteSchema extends Schema = {}, BasePath extends string = '/'> {
|
|
31
34
|
configs: ReturnType<typeof createRoute<string, RouteConfig>>;
|
|
@@ -94,6 +97,10 @@ export type TResponseHeaderObject = {
|
|
|
94
97
|
};
|
|
95
98
|
/** OpenAPI response headers format */
|
|
96
99
|
export type TResponseHeaders = Record<string, TResponseHeaderObject>;
|
|
100
|
+
type TInferDistributive<S> = S extends z.ZodType ? z.infer<S> : never;
|
|
101
|
+
export type TResponseBodyOf<R extends {
|
|
102
|
+
responses: AnyType;
|
|
103
|
+
}> = TInferDistributive<R['responses'][keyof R['responses']]['content']['application/json']['schema']>;
|
|
97
104
|
export type TCustomizableRouteConfig = TRouteAuthConfig & {
|
|
98
105
|
request?: {
|
|
99
106
|
params?: TAnyObjectSchema;
|
|
@@ -118,4 +125,5 @@ export interface ICustomizableRoutes<RouteConfig extends TCustomizableRouteConfi
|
|
|
118
125
|
deleteById?: RouteConfig;
|
|
119
126
|
deleteBy?: RouteConfig;
|
|
120
127
|
}
|
|
128
|
+
export {};
|
|
121
129
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,iDAAiD,CAAC;AAC3F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0CAA0C,CAAC;AACnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/base/controllers/common/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/base/controllers/common/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/base/controllers/common/types.ts"],"names":[],"mappings":";;;AAmDA,wFAAwF;AACjF,MAAM,cAAc,GAAG,CAAgB,OAAgB,EAAuB,EAAE;IACrF,OAAO,OAA8B,CAAC;AACxC,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB"}
|