vovk 3.0.0-draft.210 → 3.0.0-draft.212
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/cjs/utils/createDecorator.js +9 -8
- package/cjs/utils/createLLMFunctions.d.ts +1 -1
- package/cjs/utils/withStandard.d.ts +32 -15
- package/cjs/utils/withValidationLibrary.d.ts +32 -15
- package/cjs/utils/withValidationLibrary.js +11 -11
- package/mjs/utils/createDecorator.js +9 -8
- package/mjs/utils/createLLMFunctions.d.ts +1 -1
- package/mjs/utils/withStandard.d.ts +32 -15
- package/mjs/utils/withValidationLibrary.d.ts +32 -15
- package/mjs/utils/withValidationLibrary.js +11 -11
- package/package.json +1 -1
|
@@ -19,7 +19,6 @@ function createDecorator(handler, initHandler) {
|
|
|
19
19
|
controller[propertyKey] = method;
|
|
20
20
|
method._controller = controller;
|
|
21
21
|
method._sourceMethod = sourceMethod;
|
|
22
|
-
method.schema = originalMethod.schema;
|
|
23
22
|
method.func = originalMethod.func;
|
|
24
23
|
// TODO define internal method type
|
|
25
24
|
originalMethod._controller = controller;
|
|
@@ -30,15 +29,17 @@ function createDecorator(handler, initHandler) {
|
|
|
30
29
|
handlerName: propertyKey,
|
|
31
30
|
})
|
|
32
31
|
: initResultReturn;
|
|
32
|
+
const methodSchema = {
|
|
33
|
+
...handlerSchema,
|
|
34
|
+
// avoid override of path and httpMethod
|
|
35
|
+
...(initResult?.validation ? { validation: initResult.validation } : {}),
|
|
36
|
+
...(initResult?.openapi ? { openapi: initResult.openapi } : {}),
|
|
37
|
+
...(initResult?.misc ? { misc: initResult.misc } : {}),
|
|
38
|
+
};
|
|
39
|
+
method.schema = methodSchema;
|
|
33
40
|
controller._handlers = {
|
|
34
41
|
...controller._handlers,
|
|
35
|
-
[propertyKey]:
|
|
36
|
-
...handlerSchema,
|
|
37
|
-
// avoid override of path and httpMethod
|
|
38
|
-
...(initResult?.validation ? { validation: initResult.validation } : {}),
|
|
39
|
-
...(initResult?.openapi ? { openapi: initResult.openapi } : {}),
|
|
40
|
-
...(initResult?.misc ? { misc: initResult.misc } : {}),
|
|
41
|
-
},
|
|
42
|
+
[propertyKey]: methodSchema,
|
|
42
43
|
};
|
|
43
44
|
};
|
|
44
45
|
};
|
|
@@ -10,7 +10,7 @@ declare function defaultCaller({ handler, body, query, params, }: {
|
|
|
10
10
|
schema: VovkHandlerSchema;
|
|
11
11
|
}, _options: KnownAny): Promise<any>;
|
|
12
12
|
export declare function createLLMFunctions({ modules, caller, onSuccess, onError, }: {
|
|
13
|
-
modules: unknown
|
|
13
|
+
modules: Record<string, unknown>;
|
|
14
14
|
caller?: typeof defaultCaller;
|
|
15
15
|
onSuccess?: (result: KnownAny) => void;
|
|
16
16
|
onError?: (error: Error) => void;
|
|
@@ -26,21 +26,38 @@ export declare function withStandard<T extends (req: REQ, params: PARAMS extends
|
|
|
26
26
|
} & {
|
|
27
27
|
schema: import("../types").VovkHandlerSchema;
|
|
28
28
|
} & {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
29
|
+
fn: {
|
|
30
|
+
<RETURN_TYPE = ReturnType<VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>>>(input?: ((undefined extends BODY | undefined ? undefined extends QUERY | undefined ? undefined extends PARAMS | undefined ? true : false : false : false) extends true ? {
|
|
31
|
+
disableClientValidation?: boolean;
|
|
32
|
+
} & (undefined extends BODY | undefined ? {
|
|
33
|
+
body?: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["body"] | undefined;
|
|
34
|
+
} : {
|
|
35
|
+
body: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["body"];
|
|
36
|
+
}) & (undefined extends QUERY | undefined ? {
|
|
37
|
+
query?: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["query"] | undefined;
|
|
38
|
+
} : {
|
|
39
|
+
query: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["query"];
|
|
40
|
+
}) & (undefined extends PARAMS | undefined ? {
|
|
41
|
+
params?: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["params"] | undefined;
|
|
42
|
+
} : {
|
|
43
|
+
params: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["params"];
|
|
44
|
+
}) : never) | undefined): (undefined extends BODY | undefined ? undefined extends QUERY | undefined ? undefined extends PARAMS | undefined ? true : false : false : false) extends true ? RETURN_TYPE : never;
|
|
45
|
+
<RETURN_TYPE = ReturnType<VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>>>(input: {
|
|
46
|
+
disableClientValidation?: boolean;
|
|
47
|
+
} & (undefined extends BODY | undefined ? {
|
|
48
|
+
body?: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["body"] | undefined;
|
|
49
|
+
} : {
|
|
50
|
+
body: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["body"];
|
|
51
|
+
}) & (undefined extends QUERY | undefined ? {
|
|
52
|
+
query?: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["query"] | undefined;
|
|
53
|
+
} : {
|
|
54
|
+
query: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["query"];
|
|
55
|
+
}) & (undefined extends PARAMS | undefined ? {
|
|
56
|
+
params?: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["params"] | undefined;
|
|
57
|
+
} : {
|
|
58
|
+
params: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["params"];
|
|
59
|
+
})): RETURN_TYPE;
|
|
60
|
+
};
|
|
44
61
|
models: {
|
|
45
62
|
body: BODY | undefined;
|
|
46
63
|
query: QUERY | undefined;
|
|
@@ -23,21 +23,38 @@ export declare function withValidationLibrary<T extends VovkTypedMethod<(req: Kn
|
|
|
23
23
|
}): T & {
|
|
24
24
|
schema: VovkHandlerSchema;
|
|
25
25
|
} & {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
26
|
+
fn: {
|
|
27
|
+
<RETURN_TYPE = ReturnType<T>>(input?: (undefined extends BODY_MODEL | undefined ? undefined extends QUERY_MODEL | undefined ? undefined extends PARAMS_MODEL | undefined ? true : false : false : false) extends true ? {
|
|
28
|
+
disableClientValidation?: boolean;
|
|
29
|
+
} & (undefined extends BODY_MODEL | undefined ? {
|
|
30
|
+
body?: T["__types"]["body"];
|
|
31
|
+
} : {
|
|
32
|
+
body: T["__types"]["body"];
|
|
33
|
+
}) & (undefined extends QUERY_MODEL | undefined ? {
|
|
34
|
+
query?: T["__types"]["query"];
|
|
35
|
+
} : {
|
|
36
|
+
query: T["__types"]["query"];
|
|
37
|
+
}) & (undefined extends PARAMS_MODEL | undefined ? {
|
|
38
|
+
params?: T["__types"]["params"];
|
|
39
|
+
} : {
|
|
40
|
+
params: T["__types"]["params"];
|
|
41
|
+
}) : never): (undefined extends BODY_MODEL | undefined ? undefined extends QUERY_MODEL | undefined ? undefined extends PARAMS_MODEL | undefined ? true : false : false : false) extends true ? RETURN_TYPE : never;
|
|
42
|
+
<RETURN_TYPE = ReturnType<T>>(input: {
|
|
43
|
+
disableClientValidation?: boolean;
|
|
44
|
+
} & (undefined extends BODY_MODEL | undefined ? {
|
|
45
|
+
body?: T["__types"]["body"];
|
|
46
|
+
} : {
|
|
47
|
+
body: T["__types"]["body"];
|
|
48
|
+
}) & (undefined extends QUERY_MODEL | undefined ? {
|
|
49
|
+
query?: T["__types"]["query"];
|
|
50
|
+
} : {
|
|
51
|
+
query: T["__types"]["query"];
|
|
52
|
+
}) & (undefined extends PARAMS_MODEL | undefined ? {
|
|
53
|
+
params?: T["__types"]["params"];
|
|
54
|
+
} : {
|
|
55
|
+
params: T["__types"]["params"];
|
|
56
|
+
})): RETURN_TYPE;
|
|
57
|
+
};
|
|
41
58
|
models: {
|
|
42
59
|
body: BODY_MODEL | undefined;
|
|
43
60
|
query: QUERY_MODEL | undefined;
|
|
@@ -17,9 +17,9 @@ function withValidationLibrary({ isForm, disableServerSideValidation, skipSchema
|
|
|
17
17
|
: (disableServerSideValidation ?? []);
|
|
18
18
|
const skipSchemaEmissionKeys = skipSchemaEmission === false ? [] : skipSchemaEmission === true ? validationTypes : (skipSchemaEmission ?? []);
|
|
19
19
|
const outputHandler = async (req, handlerParams) => {
|
|
20
|
-
const {
|
|
20
|
+
const { __disableClientValidation } = req.vovk.meta();
|
|
21
21
|
const data = await handle(req, handlerParams);
|
|
22
|
-
if (
|
|
22
|
+
if (__disableClientValidation) {
|
|
23
23
|
return data;
|
|
24
24
|
}
|
|
25
25
|
if (output && iteration) {
|
|
@@ -54,8 +54,8 @@ function withValidationLibrary({ isForm, disableServerSideValidation, skipSchema
|
|
|
54
54
|
return data;
|
|
55
55
|
};
|
|
56
56
|
const resultHandler = (async (req, handlerParams) => {
|
|
57
|
-
const {
|
|
58
|
-
if (!
|
|
57
|
+
const { __disableClientValidation } = req.vovk.meta();
|
|
58
|
+
if (!__disableClientValidation) {
|
|
59
59
|
if (body && !disableServerSideValidationKeys.includes('body')) {
|
|
60
60
|
const data = await req.vovk[isForm ? 'form' : 'body']();
|
|
61
61
|
const instance = (await validate(data, body, { type: isForm ? 'form' : 'body', req })) ?? data;
|
|
@@ -76,20 +76,20 @@ function withValidationLibrary({ isForm, disableServerSideValidation, skipSchema
|
|
|
76
76
|
}
|
|
77
77
|
return outputHandler(req, handlerParams);
|
|
78
78
|
});
|
|
79
|
-
function
|
|
79
|
+
function fn(input) {
|
|
80
80
|
const fakeReq = {
|
|
81
81
|
vovk: {
|
|
82
|
-
body: () => Promise.resolve(input
|
|
83
|
-
query: () => input
|
|
84
|
-
params: () => input
|
|
82
|
+
body: () => Promise.resolve((input?.body ?? {})),
|
|
83
|
+
query: () => (input?.query ?? {}),
|
|
84
|
+
params: () => (input?.params ?? {}),
|
|
85
85
|
meta: (meta) => (0, reqMeta_js_1.default)(fakeReq, meta),
|
|
86
86
|
form: () => {
|
|
87
87
|
throw new Error('Form data is not supported in this context.');
|
|
88
88
|
},
|
|
89
89
|
},
|
|
90
90
|
};
|
|
91
|
-
fakeReq.vovk.meta({
|
|
92
|
-
return resultHandler(fakeReq, input
|
|
91
|
+
fakeReq.vovk.meta({ __disableClientValidation: input?.disableClientValidation });
|
|
92
|
+
return resultHandler(fakeReq, (input?.params ?? {}));
|
|
93
93
|
}
|
|
94
94
|
const models = {
|
|
95
95
|
body,
|
|
@@ -98,7 +98,7 @@ function withValidationLibrary({ isForm, disableServerSideValidation, skipSchema
|
|
|
98
98
|
output,
|
|
99
99
|
iteration,
|
|
100
100
|
};
|
|
101
|
-
const resultHandlerEnhanced = Object.assign(resultHandler, {
|
|
101
|
+
const resultHandlerEnhanced = Object.assign(resultHandler, { fn, models });
|
|
102
102
|
if (toJSONSchema) {
|
|
103
103
|
const getJsonSchema = (model, type) => Object.assign(toJSONSchema(model, { type }), type === 'body' && isForm ? { 'x-formData': isForm } : {});
|
|
104
104
|
const validation = {};
|
|
@@ -19,7 +19,6 @@ function createDecorator(handler, initHandler) {
|
|
|
19
19
|
controller[propertyKey] = method;
|
|
20
20
|
method._controller = controller;
|
|
21
21
|
method._sourceMethod = sourceMethod;
|
|
22
|
-
method.schema = originalMethod.schema;
|
|
23
22
|
method.func = originalMethod.func;
|
|
24
23
|
// TODO define internal method type
|
|
25
24
|
originalMethod._controller = controller;
|
|
@@ -30,15 +29,17 @@ function createDecorator(handler, initHandler) {
|
|
|
30
29
|
handlerName: propertyKey,
|
|
31
30
|
})
|
|
32
31
|
: initResultReturn;
|
|
32
|
+
const methodSchema = {
|
|
33
|
+
...handlerSchema,
|
|
34
|
+
// avoid override of path and httpMethod
|
|
35
|
+
...(initResult?.validation ? { validation: initResult.validation } : {}),
|
|
36
|
+
...(initResult?.openapi ? { openapi: initResult.openapi } : {}),
|
|
37
|
+
...(initResult?.misc ? { misc: initResult.misc } : {}),
|
|
38
|
+
};
|
|
39
|
+
method.schema = methodSchema;
|
|
33
40
|
controller._handlers = {
|
|
34
41
|
...controller._handlers,
|
|
35
|
-
[propertyKey]:
|
|
36
|
-
...handlerSchema,
|
|
37
|
-
// avoid override of path and httpMethod
|
|
38
|
-
...(initResult?.validation ? { validation: initResult.validation } : {}),
|
|
39
|
-
...(initResult?.openapi ? { openapi: initResult.openapi } : {}),
|
|
40
|
-
...(initResult?.misc ? { misc: initResult.misc } : {}),
|
|
41
|
-
},
|
|
42
|
+
[propertyKey]: methodSchema,
|
|
42
43
|
};
|
|
43
44
|
};
|
|
44
45
|
};
|
|
@@ -10,7 +10,7 @@ declare function defaultCaller({ handler, body, query, params, }: {
|
|
|
10
10
|
schema: VovkHandlerSchema;
|
|
11
11
|
}, _options: KnownAny): Promise<any>;
|
|
12
12
|
export declare function createLLMFunctions({ modules, caller, onSuccess, onError, }: {
|
|
13
|
-
modules: unknown
|
|
13
|
+
modules: Record<string, unknown>;
|
|
14
14
|
caller?: typeof defaultCaller;
|
|
15
15
|
onSuccess?: (result: KnownAny) => void;
|
|
16
16
|
onError?: (error: Error) => void;
|
|
@@ -26,21 +26,38 @@ export declare function withStandard<T extends (req: REQ, params: PARAMS extends
|
|
|
26
26
|
} & {
|
|
27
27
|
schema: import("../types").VovkHandlerSchema;
|
|
28
28
|
} & {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
29
|
+
fn: {
|
|
30
|
+
<RETURN_TYPE = ReturnType<VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>>>(input?: ((undefined extends BODY | undefined ? undefined extends QUERY | undefined ? undefined extends PARAMS | undefined ? true : false : false : false) extends true ? {
|
|
31
|
+
disableClientValidation?: boolean;
|
|
32
|
+
} & (undefined extends BODY | undefined ? {
|
|
33
|
+
body?: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["body"] | undefined;
|
|
34
|
+
} : {
|
|
35
|
+
body: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["body"];
|
|
36
|
+
}) & (undefined extends QUERY | undefined ? {
|
|
37
|
+
query?: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["query"] | undefined;
|
|
38
|
+
} : {
|
|
39
|
+
query: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["query"];
|
|
40
|
+
}) & (undefined extends PARAMS | undefined ? {
|
|
41
|
+
params?: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["params"] | undefined;
|
|
42
|
+
} : {
|
|
43
|
+
params: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["params"];
|
|
44
|
+
}) : never) | undefined): (undefined extends BODY | undefined ? undefined extends QUERY | undefined ? undefined extends PARAMS | undefined ? true : false : false : false) extends true ? RETURN_TYPE : never;
|
|
45
|
+
<RETURN_TYPE = ReturnType<VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>>>(input: {
|
|
46
|
+
disableClientValidation?: boolean;
|
|
47
|
+
} & (undefined extends BODY | undefined ? {
|
|
48
|
+
body?: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["body"] | undefined;
|
|
49
|
+
} : {
|
|
50
|
+
body: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["body"];
|
|
51
|
+
}) & (undefined extends QUERY | undefined ? {
|
|
52
|
+
query?: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["query"] | undefined;
|
|
53
|
+
} : {
|
|
54
|
+
query: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["query"];
|
|
55
|
+
}) & (undefined extends PARAMS | undefined ? {
|
|
56
|
+
params?: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["params"] | undefined;
|
|
57
|
+
} : {
|
|
58
|
+
params: VovkTypedMethod<T, BODY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<BODY> : any, QUERY extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<QUERY> : any, PARAMS extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<PARAMS> : any, OUTPUT extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<OUTPUT> : any, ITERATION extends StandardSchemaV1<unknown, unknown> ? StandardSchemaV1.InferOutput<ITERATION> : any, IS_FORM extends true ? true : any>["__types"]["params"];
|
|
59
|
+
})): RETURN_TYPE;
|
|
60
|
+
};
|
|
44
61
|
models: {
|
|
45
62
|
body: BODY | undefined;
|
|
46
63
|
query: QUERY | undefined;
|
|
@@ -23,21 +23,38 @@ export declare function withValidationLibrary<T extends VovkTypedMethod<(req: Kn
|
|
|
23
23
|
}): T & {
|
|
24
24
|
schema: VovkHandlerSchema;
|
|
25
25
|
} & {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
26
|
+
fn: {
|
|
27
|
+
<RETURN_TYPE = ReturnType<T>>(input?: (undefined extends BODY_MODEL | undefined ? undefined extends QUERY_MODEL | undefined ? undefined extends PARAMS_MODEL | undefined ? true : false : false : false) extends true ? {
|
|
28
|
+
disableClientValidation?: boolean;
|
|
29
|
+
} & (undefined extends BODY_MODEL | undefined ? {
|
|
30
|
+
body?: T["__types"]["body"];
|
|
31
|
+
} : {
|
|
32
|
+
body: T["__types"]["body"];
|
|
33
|
+
}) & (undefined extends QUERY_MODEL | undefined ? {
|
|
34
|
+
query?: T["__types"]["query"];
|
|
35
|
+
} : {
|
|
36
|
+
query: T["__types"]["query"];
|
|
37
|
+
}) & (undefined extends PARAMS_MODEL | undefined ? {
|
|
38
|
+
params?: T["__types"]["params"];
|
|
39
|
+
} : {
|
|
40
|
+
params: T["__types"]["params"];
|
|
41
|
+
}) : never): (undefined extends BODY_MODEL | undefined ? undefined extends QUERY_MODEL | undefined ? undefined extends PARAMS_MODEL | undefined ? true : false : false : false) extends true ? RETURN_TYPE : never;
|
|
42
|
+
<RETURN_TYPE = ReturnType<T>>(input: {
|
|
43
|
+
disableClientValidation?: boolean;
|
|
44
|
+
} & (undefined extends BODY_MODEL | undefined ? {
|
|
45
|
+
body?: T["__types"]["body"];
|
|
46
|
+
} : {
|
|
47
|
+
body: T["__types"]["body"];
|
|
48
|
+
}) & (undefined extends QUERY_MODEL | undefined ? {
|
|
49
|
+
query?: T["__types"]["query"];
|
|
50
|
+
} : {
|
|
51
|
+
query: T["__types"]["query"];
|
|
52
|
+
}) & (undefined extends PARAMS_MODEL | undefined ? {
|
|
53
|
+
params?: T["__types"]["params"];
|
|
54
|
+
} : {
|
|
55
|
+
params: T["__types"]["params"];
|
|
56
|
+
})): RETURN_TYPE;
|
|
57
|
+
};
|
|
41
58
|
models: {
|
|
42
59
|
body: BODY_MODEL | undefined;
|
|
43
60
|
query: QUERY_MODEL | undefined;
|
|
@@ -17,9 +17,9 @@ function withValidationLibrary({ isForm, disableServerSideValidation, skipSchema
|
|
|
17
17
|
: (disableServerSideValidation ?? []);
|
|
18
18
|
const skipSchemaEmissionKeys = skipSchemaEmission === false ? [] : skipSchemaEmission === true ? validationTypes : (skipSchemaEmission ?? []);
|
|
19
19
|
const outputHandler = async (req, handlerParams) => {
|
|
20
|
-
const {
|
|
20
|
+
const { __disableClientValidation } = req.vovk.meta();
|
|
21
21
|
const data = await handle(req, handlerParams);
|
|
22
|
-
if (
|
|
22
|
+
if (__disableClientValidation) {
|
|
23
23
|
return data;
|
|
24
24
|
}
|
|
25
25
|
if (output && iteration) {
|
|
@@ -54,8 +54,8 @@ function withValidationLibrary({ isForm, disableServerSideValidation, skipSchema
|
|
|
54
54
|
return data;
|
|
55
55
|
};
|
|
56
56
|
const resultHandler = (async (req, handlerParams) => {
|
|
57
|
-
const {
|
|
58
|
-
if (!
|
|
57
|
+
const { __disableClientValidation } = req.vovk.meta();
|
|
58
|
+
if (!__disableClientValidation) {
|
|
59
59
|
if (body && !disableServerSideValidationKeys.includes('body')) {
|
|
60
60
|
const data = await req.vovk[isForm ? 'form' : 'body']();
|
|
61
61
|
const instance = (await validate(data, body, { type: isForm ? 'form' : 'body', req })) ?? data;
|
|
@@ -76,20 +76,20 @@ function withValidationLibrary({ isForm, disableServerSideValidation, skipSchema
|
|
|
76
76
|
}
|
|
77
77
|
return outputHandler(req, handlerParams);
|
|
78
78
|
});
|
|
79
|
-
function
|
|
79
|
+
function fn(input) {
|
|
80
80
|
const fakeReq = {
|
|
81
81
|
vovk: {
|
|
82
|
-
body: () => Promise.resolve(input
|
|
83
|
-
query: () => input
|
|
84
|
-
params: () => input
|
|
82
|
+
body: () => Promise.resolve((input?.body ?? {})),
|
|
83
|
+
query: () => (input?.query ?? {}),
|
|
84
|
+
params: () => (input?.params ?? {}),
|
|
85
85
|
meta: (meta) => (0, reqMeta_js_1.default)(fakeReq, meta),
|
|
86
86
|
form: () => {
|
|
87
87
|
throw new Error('Form data is not supported in this context.');
|
|
88
88
|
},
|
|
89
89
|
},
|
|
90
90
|
};
|
|
91
|
-
fakeReq.vovk.meta({
|
|
92
|
-
return resultHandler(fakeReq, input
|
|
91
|
+
fakeReq.vovk.meta({ __disableClientValidation: input?.disableClientValidation });
|
|
92
|
+
return resultHandler(fakeReq, (input?.params ?? {}));
|
|
93
93
|
}
|
|
94
94
|
const models = {
|
|
95
95
|
body,
|
|
@@ -98,7 +98,7 @@ function withValidationLibrary({ isForm, disableServerSideValidation, skipSchema
|
|
|
98
98
|
output,
|
|
99
99
|
iteration,
|
|
100
100
|
};
|
|
101
|
-
const resultHandlerEnhanced = Object.assign(resultHandler, {
|
|
101
|
+
const resultHandlerEnhanced = Object.assign(resultHandler, { fn, models });
|
|
102
102
|
if (toJSONSchema) {
|
|
103
103
|
const getJsonSchema = (model, type) => Object.assign(toJSONSchema(model, { type }), type === 'body' && isForm ? { 'x-formData': isForm } : {});
|
|
104
104
|
const validation = {};
|