@nestia/core 9.1.0 → 10.0.0
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/lib/options/INestiaTransformOptions.d.ts +3 -6
- package/lib/programmers/TypedBodyProgrammer.js +9 -7
- package/lib/programmers/TypedBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedQueryBodyProgrammer.js +2 -3
- package/lib/programmers/TypedQueryBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedQueryProgrammer.js +2 -3
- package/lib/programmers/TypedQueryProgrammer.js.map +1 -1
- package/lib/programmers/TypedQueryRouteProgrammer.js +2 -3
- package/lib/programmers/TypedQueryRouteProgrammer.js.map +1 -1
- package/lib/programmers/TypedRouteProgrammer.js +9 -7
- package/lib/programmers/TypedRouteProgrammer.js.map +1 -1
- package/package.json +6 -6
- package/src/options/INestiaTransformOptions.ts +3 -7
- package/src/programmers/TypedBodyProgrammer.ts +7 -7
- package/src/programmers/TypedQueryBodyProgrammer.ts +3 -6
- package/src/programmers/TypedQueryProgrammer.ts +3 -6
- package/src/programmers/TypedQueryRouteProgrammer.ts +3 -6
- package/src/programmers/TypedRouteProgrammer.ts +7 -7
|
@@ -1,16 +1,13 @@
|
|
|
1
|
-
import { ILlmSchema } from "@samchon/openapi";
|
|
2
1
|
export interface INestiaTransformOptions {
|
|
3
2
|
validate?: INestiaTransformOptions.Validate;
|
|
4
3
|
stringify?: INestiaTransformOptions.Stringify | null;
|
|
5
|
-
llm?: INestiaTransformOptions.ILlm
|
|
4
|
+
llm?: INestiaTransformOptions.ILlm;
|
|
6
5
|
throws?: boolean;
|
|
7
6
|
}
|
|
8
7
|
export declare namespace INestiaTransformOptions {
|
|
9
8
|
type Validate = "assert" | "is" | "validate" | "assertEquals" | "equals" | "validateEquals" | "assertClone" | "validateClone" | "assertPrune" | "validatePrune";
|
|
10
9
|
type Stringify = "stringify" | "assert" | "is" | "validate" | "validate.log";
|
|
11
|
-
interface ILlm
|
|
12
|
-
|
|
13
|
-
strict?: Model extends "chatgpt" ? boolean : never;
|
|
14
|
-
recursive?: Model extends "gemini" | "3.0" ? false | number : never;
|
|
10
|
+
interface ILlm {
|
|
11
|
+
strict?: boolean;
|
|
15
12
|
}
|
|
16
13
|
}
|
|
@@ -24,13 +24,15 @@ var TypedBodyProgrammer;
|
|
|
24
24
|
transformer: props.context.transformer,
|
|
25
25
|
type: props.type,
|
|
26
26
|
validate: props.context.options.llm
|
|
27
|
-
?
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
27
|
+
? (metadata) => {
|
|
28
|
+
var _a;
|
|
29
|
+
return LlmSchemaProgrammer_1.LlmSchemaProgrammer.validate({
|
|
30
|
+
config: {
|
|
31
|
+
strict: (_a = props.context.options.llm) === null || _a === void 0 ? void 0 : _a.strict,
|
|
32
|
+
},
|
|
33
|
+
metadata,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
34
36
|
: undefined,
|
|
35
37
|
});
|
|
36
38
|
// GENERATE VALIDATION PLAN
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedBodyProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAC5B,iFAA8E;AAC9E,6EAA0E;AAC1E,qEAAkE;AAClE,iFAA8E;AAC9E,uFAAoF;AACpF,oGAAiG;AACjG,oGAAiG;AACjG,wGAAqG;AACrG,wGAAqG;AAMrG,IAAiB,mBAAmB,CA8HnC;AA9HD,WAAiB,mBAAmB;IACrB,4BAAQ,GAAG,CAAC,KAIxB,EAA8B,EAAE;QAC/B,gBAAgB;QAChB,yCAAmB,CAAC,OAAO,CAAC;YAC1B,MAAM,EAAE,wBAAwB;YAChC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;YAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;YACtC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG;gBACjC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"TypedBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedBodyProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,12 +29,11 @@ var TypedQueryBodyProgrammer;
|
|
|
29
29
|
validate: (meta, explore) => {
|
|
30
30
|
const errors = HttpQueryProgrammer_1.HttpQueryProgrammer.validate(meta, explore, true);
|
|
31
31
|
errors.push(...LlmSchemaProgrammer_1.LlmSchemaProgrammer.validate({
|
|
32
|
-
model: llm.model,
|
|
33
32
|
config: {
|
|
34
33
|
strict: llm.strict,
|
|
35
|
-
recursive: llm.recursive,
|
|
36
34
|
},
|
|
37
|
-
|
|
35
|
+
metadata: meta,
|
|
36
|
+
}));
|
|
38
37
|
return errors;
|
|
39
38
|
},
|
|
40
39
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedQueryBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedQueryBodyProgrammer.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"TypedQueryBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedQueryBodyProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -29,12 +29,11 @@ var TypedQueryProgrammer;
|
|
|
29
29
|
validate: (meta, explore) => {
|
|
30
30
|
const errors = HttpQueryProgrammer_1.HttpQueryProgrammer.validate(meta, explore, true);
|
|
31
31
|
errors.push(...LlmSchemaProgrammer_1.LlmSchemaProgrammer.validate({
|
|
32
|
-
model: llm.model,
|
|
33
32
|
config: {
|
|
34
33
|
strict: llm.strict,
|
|
35
|
-
recursive: llm.recursive,
|
|
36
34
|
},
|
|
37
|
-
|
|
35
|
+
metadata: meta,
|
|
36
|
+
}));
|
|
38
37
|
return errors;
|
|
39
38
|
},
|
|
40
39
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedQueryProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedQueryProgrammer.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"TypedQueryProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedQueryProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,12 +30,11 @@ var TypedQueryRouteProgrammer;
|
|
|
30
30
|
validate: (meta, explore) => {
|
|
31
31
|
const errors = HttpQueryProgrammer_1.HttpQueryProgrammer.validate(meta, explore, true);
|
|
32
32
|
errors.push(...LlmSchemaProgrammer_1.LlmSchemaProgrammer.validate({
|
|
33
|
-
model: llm.model,
|
|
34
33
|
config: {
|
|
35
34
|
strict: llm.strict,
|
|
36
|
-
recursive: llm.recursive,
|
|
37
35
|
},
|
|
38
|
-
|
|
36
|
+
metadata: meta,
|
|
37
|
+
}));
|
|
39
38
|
return errors;
|
|
40
39
|
},
|
|
41
40
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedQueryRouteProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedQueryRouteProgrammer.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"TypedQueryRouteProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedQueryRouteProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,13 +21,15 @@ var TypedRouteProgrammer;
|
|
|
21
21
|
checker: props.context.checker,
|
|
22
22
|
transformer: props.context.transformer,
|
|
23
23
|
type: props.type,
|
|
24
|
-
validate:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
24
|
+
validate: (metadata) => {
|
|
25
|
+
var _a;
|
|
26
|
+
return LlmSchemaProgrammer_1.LlmSchemaProgrammer.validate({
|
|
27
|
+
config: {
|
|
28
|
+
strict: (_a = props.context.options.llm) === null || _a === void 0 ? void 0 : _a.strict,
|
|
29
|
+
},
|
|
30
|
+
metadata,
|
|
31
|
+
});
|
|
32
|
+
},
|
|
31
33
|
});
|
|
32
34
|
// GENERATE STRINGIFY PLAN
|
|
33
35
|
const parameter = (next) => typescript_1.default.factory.createObjectLiteralExpression([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TypedRouteProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedRouteProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAC5B,iFAA8E;AAC9E,4GAAyG;AACzG,oGAAiG;AACjG,gGAA6F;AAC7F,gHAA6G;AAC7G,uFAAoF;AAKpF,IAAiB,oBAAoB,CAkFpC;AAlFD,WAAiB,oBAAoB;IACtB,6BAAQ,GAAG,CAAC,KAIxB,EAAiB,EAAE;QAClB,gBAAgB;QAChB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG;YAC3B,yCAAmB,CAAC,OAAO,CAAC;gBAC1B,MAAM,EAAE,yBAAyB;gBACjC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;gBAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;gBACtC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,
|
|
1
|
+
{"version":3,"file":"TypedRouteProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedRouteProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAC5B,iFAA8E;AAC9E,4GAAyG;AACzG,oGAAiG;AACjG,gGAA6F;AAC7F,gHAA6G;AAC7G,uFAAoF;AAKpF,IAAiB,oBAAoB,CAkFpC;AAlFD,WAAiB,oBAAoB;IACtB,6BAAQ,GAAG,CAAC,KAIxB,EAAiB,EAAE;QAClB,gBAAgB;QAChB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG;YAC3B,yCAAmB,CAAC,OAAO,CAAC;gBAC1B,MAAM,EAAE,yBAAyB;gBACjC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;gBAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;gBACtC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;;oBACrB,OAAA,yCAAmB,CAAC,QAAQ,CAAC;wBAC3B,MAAM,EAAE;4BACN,MAAM,EAAE,MAAA,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,0CAAE,MAAM;yBAC1C;wBACD,QAAQ;qBACT,CAAC,CAAA;iBAAA;aACL,CAAC,CAAC;QAEL,0BAA0B;QAC1B,MAAM,SAAS,GAAG,CAAC,IAIlB,EAAE,EAAE,CACH,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC;YACvC,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EACnC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1C;YACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,EACrC,IAAI,CAAC,UAAU,CAAC;gBACd,OAAO,kCACF,KAAK,CAAC,OAAO,KAChB,OAAO,EAAE,EAAE,GACZ;gBACD,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,IAAI,EAAE,SAAS;aAChB,CAAC,CACH;SACF,CAAC,CAAC;QAEL,UAAU;QACV,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI;YAC1C,OAAO,SAAS,CAAC;gBACf,IAAI,EAAE,IAAI;gBACV,GAAG,EAAE,IAAI;gBACT,UAAU,EAAE,qDAAyB,CAAC,KAAK;aAC5C,CAAC,CAAC;aACA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,UAAU;YACrD,OAAO,SAAS,CAAC;gBACf,IAAI,EAAE,UAAU;gBAChB,GAAG,EAAE,UAAU;gBACf,UAAU,EAAE,iEAA+B,CAAC,KAAK;aAClD,CAAC,CAAC;aACA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,WAAW;YACtD,OAAO,SAAS,CAAC;gBACf,IAAI,EAAE,WAAW;gBACjB,GAAG,EAAE,WAAW;gBAChB,UAAU,EAAE,iDAAuB,CAAC,KAAK;aAC1C,CAAC,CAAC;aACA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,cAAc;YACzD,OAAO,SAAS,CAAC;gBACf,IAAI,EAAE,cAAc;gBACpB,GAAG,EAAE,UAAU;gBACf,UAAU,EAAE,iEAA+B,CAAC,KAAK;aAClD,CAAC,CAAC;aACA,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI;YAC/C,OAAO,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QAEjC,oBAAoB;QACpB,OAAO,SAAS,CAAC;YACf,IAAI,EAAE,QAAQ;YACd,GAAG,EAAE,QAAQ;YACb,UAAU,EAAE,6DAA6B,CAAC,KAAK;SAChD,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,EAlFgB,oBAAoB,oCAApB,oBAAoB,QAkFpC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestia/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "10.0.0",
|
|
4
4
|
"description": "Super-fast validation decorators of NestJS",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -36,10 +36,10 @@
|
|
|
36
36
|
},
|
|
37
37
|
"homepage": "https://nestia.io",
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@nestia/fetcher": "^
|
|
39
|
+
"@nestia/fetcher": "^10.0.0",
|
|
40
40
|
"@nestjs/common": ">=7.0.1",
|
|
41
41
|
"@nestjs/core": ">=7.0.1",
|
|
42
|
-
"@samchon/openapi": "^
|
|
42
|
+
"@samchon/openapi": "^6.0.0",
|
|
43
43
|
"detect-ts-node": "^1.0.5",
|
|
44
44
|
"get-function-location": "^2.0.0",
|
|
45
45
|
"glob": "^11.0.3",
|
|
@@ -48,16 +48,16 @@
|
|
|
48
48
|
"reflect-metadata": ">=0.1.12",
|
|
49
49
|
"rxjs": ">=6.0.3",
|
|
50
50
|
"tgrid": "^1.1.0",
|
|
51
|
-
"typia": "^
|
|
51
|
+
"typia": "^11.0.0",
|
|
52
52
|
"ws": "^7.5.3"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
|
-
"@nestia/fetcher": ">=
|
|
55
|
+
"@nestia/fetcher": ">=10.0.0",
|
|
56
56
|
"@nestjs/common": ">=7.0.1",
|
|
57
57
|
"@nestjs/core": ">=7.0.1",
|
|
58
58
|
"reflect-metadata": ">=0.1.12",
|
|
59
59
|
"rxjs": ">=6.0.3",
|
|
60
|
-
"typia": "^
|
|
60
|
+
"typia": "^11.0.0"
|
|
61
61
|
},
|
|
62
62
|
"devDependencies": {
|
|
63
63
|
"@nestjs/common": "^11.0.13",
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { ILlmSchema } from "@samchon/openapi";
|
|
2
|
-
|
|
3
1
|
export interface INestiaTransformOptions {
|
|
4
2
|
validate?: INestiaTransformOptions.Validate;
|
|
5
3
|
stringify?: INestiaTransformOptions.Stringify | null;
|
|
6
|
-
llm?: INestiaTransformOptions.ILlm
|
|
4
|
+
llm?: INestiaTransformOptions.ILlm;
|
|
7
5
|
throws?: boolean;
|
|
8
6
|
}
|
|
9
7
|
export namespace INestiaTransformOptions {
|
|
@@ -30,9 +28,7 @@ export namespace INestiaTransformOptions {
|
|
|
30
28
|
| "validate"
|
|
31
29
|
| "validate.log";
|
|
32
30
|
|
|
33
|
-
export interface ILlm
|
|
34
|
-
|
|
35
|
-
strict?: Model extends "chatgpt" ? boolean : never;
|
|
36
|
-
recursive?: Model extends "gemini" | "3.0" ? false | number : never;
|
|
31
|
+
export interface ILlm {
|
|
32
|
+
strict?: boolean;
|
|
37
33
|
}
|
|
38
34
|
}
|
|
@@ -26,13 +26,13 @@ export namespace TypedBodyProgrammer {
|
|
|
26
26
|
transformer: props.context.transformer,
|
|
27
27
|
type: props.type,
|
|
28
28
|
validate: props.context.options.llm
|
|
29
|
-
?
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
29
|
+
? (metadata) =>
|
|
30
|
+
LlmSchemaProgrammer.validate({
|
|
31
|
+
config: {
|
|
32
|
+
strict: props.context.options.llm?.strict,
|
|
33
|
+
},
|
|
34
|
+
metadata,
|
|
35
|
+
})
|
|
36
36
|
: undefined,
|
|
37
37
|
});
|
|
38
38
|
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ILlmSchema } from "@samchon/openapi";
|
|
2
1
|
import ts from "typescript";
|
|
3
2
|
import { MetadataCollection } from "typia/lib/factories/MetadataCollection";
|
|
4
3
|
import { MetadataFactory } from "typia/lib/factories/MetadataFactory";
|
|
@@ -24,8 +23,7 @@ export namespace TypedQueryBodyProgrammer {
|
|
|
24
23
|
}): ts.ObjectLiteralExpression => {
|
|
25
24
|
// VALIDATE TYPE
|
|
26
25
|
if (props.context.options.llm) {
|
|
27
|
-
const llm: INestiaTransformOptions.ILlm
|
|
28
|
-
props.context.options.llm;
|
|
26
|
+
const llm: INestiaTransformOptions.ILlm = props.context.options.llm;
|
|
29
27
|
const result: ValidationPipe<Metadata, MetadataFactory.IError> =
|
|
30
28
|
MetadataFactory.analyze({
|
|
31
29
|
checker: props.context.checker,
|
|
@@ -42,12 +40,11 @@ export namespace TypedQueryBodyProgrammer {
|
|
|
42
40
|
);
|
|
43
41
|
errors.push(
|
|
44
42
|
...LlmSchemaProgrammer.validate({
|
|
45
|
-
model: llm.model,
|
|
46
43
|
config: {
|
|
47
44
|
strict: llm.strict,
|
|
48
|
-
recursive: llm.recursive,
|
|
49
45
|
},
|
|
50
|
-
|
|
46
|
+
metadata: meta,
|
|
47
|
+
}),
|
|
51
48
|
);
|
|
52
49
|
return errors;
|
|
53
50
|
},
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ILlmSchema } from "@samchon/openapi";
|
|
2
1
|
import ts from "typescript";
|
|
3
2
|
import { MetadataCollection } from "typia/lib/factories/MetadataCollection";
|
|
4
3
|
import { MetadataFactory } from "typia/lib/factories/MetadataFactory";
|
|
@@ -24,8 +23,7 @@ export namespace TypedQueryProgrammer {
|
|
|
24
23
|
}): ts.Expression => {
|
|
25
24
|
// VALIDATE TYPE
|
|
26
25
|
if (props.context.options.llm) {
|
|
27
|
-
const llm: INestiaTransformOptions.ILlm
|
|
28
|
-
props.context.options.llm;
|
|
26
|
+
const llm: INestiaTransformOptions.ILlm = props.context.options.llm;
|
|
29
27
|
const result: ValidationPipe<Metadata, MetadataFactory.IError> =
|
|
30
28
|
MetadataFactory.analyze({
|
|
31
29
|
checker: props.context.checker,
|
|
@@ -42,12 +40,11 @@ export namespace TypedQueryProgrammer {
|
|
|
42
40
|
);
|
|
43
41
|
errors.push(
|
|
44
42
|
...LlmSchemaProgrammer.validate({
|
|
45
|
-
model: llm.model,
|
|
46
43
|
config: {
|
|
47
44
|
strict: llm.strict,
|
|
48
|
-
recursive: llm.recursive,
|
|
49
45
|
},
|
|
50
|
-
|
|
46
|
+
metadata: meta,
|
|
47
|
+
}),
|
|
51
48
|
);
|
|
52
49
|
return errors;
|
|
53
50
|
},
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ILlmSchema } from "@samchon/openapi";
|
|
2
1
|
import ts from "typescript";
|
|
3
2
|
import { MetadataCollection } from "typia/lib/factories/MetadataCollection";
|
|
4
3
|
import { MetadataFactory } from "typia/lib/factories/MetadataFactory";
|
|
@@ -24,8 +23,7 @@ export namespace TypedQueryRouteProgrammer {
|
|
|
24
23
|
}): ts.Expression => {
|
|
25
24
|
// VALIDATE TYPE
|
|
26
25
|
if (props.context.options.llm) {
|
|
27
|
-
const llm: INestiaTransformOptions.ILlm
|
|
28
|
-
props.context.options.llm;
|
|
26
|
+
const llm: INestiaTransformOptions.ILlm = props.context.options.llm;
|
|
29
27
|
const result: ValidationPipe<Metadata, MetadataFactory.IError> =
|
|
30
28
|
MetadataFactory.analyze({
|
|
31
29
|
checker: props.context.checker,
|
|
@@ -42,12 +40,11 @@ export namespace TypedQueryRouteProgrammer {
|
|
|
42
40
|
);
|
|
43
41
|
errors.push(
|
|
44
42
|
...LlmSchemaProgrammer.validate({
|
|
45
|
-
model: llm.model,
|
|
46
43
|
config: {
|
|
47
44
|
strict: llm.strict,
|
|
48
|
-
recursive: llm.recursive,
|
|
49
45
|
},
|
|
50
|
-
|
|
46
|
+
metadata: meta,
|
|
47
|
+
}),
|
|
51
48
|
);
|
|
52
49
|
return errors;
|
|
53
50
|
},
|
|
@@ -22,13 +22,13 @@ export namespace TypedRouteProgrammer {
|
|
|
22
22
|
checker: props.context.checker,
|
|
23
23
|
transformer: props.context.transformer,
|
|
24
24
|
type: props.type,
|
|
25
|
-
validate:
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
25
|
+
validate: (metadata) =>
|
|
26
|
+
LlmSchemaProgrammer.validate({
|
|
27
|
+
config: {
|
|
28
|
+
strict: props.context.options.llm?.strict,
|
|
29
|
+
},
|
|
30
|
+
metadata,
|
|
31
|
+
}),
|
|
32
32
|
});
|
|
33
33
|
|
|
34
34
|
// GENERATE STRINGIFY PLAN
|