@nestia/core 4.4.1 → 4.4.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/lib/programmers/TypedBodyProgrammer.js +1 -2
- package/lib/programmers/TypedBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedQueryBodyProgrammer.js +6 -6
- package/lib/programmers/TypedQueryBodyProgrammer.js.map +1 -1
- package/lib/programmers/TypedQueryProgrammer.js +5 -5
- package/lib/programmers/TypedQueryProgrammer.js.map +1 -1
- package/lib/programmers/TypedQueryRouteProgrammer.js +5 -5
- package/lib/programmers/TypedQueryRouteProgrammer.js.map +1 -1
- package/lib/programmers/TypedRouteProgrammer.js +1 -2
- package/lib/programmers/TypedRouteProgrammer.js.map +1 -1
- package/package.json +3 -3
- package/src/programmers/TypedBodyProgrammer.ts +1 -2
- package/src/programmers/TypedQueryBodyProgrammer.ts +36 -30
- package/src/programmers/TypedQueryProgrammer.ts +35 -29
- package/src/programmers/TypedQueryRouteProgrammer.ts +35 -29
- package/src/programmers/TypedRouteProgrammer.ts +1 -2
- package/lib/programmers/internal/LlmValidatePredicator.d.ts +0 -5
- package/lib/programmers/internal/LlmValidatePredicator.js +0 -18
- package/lib/programmers/internal/LlmValidatePredicator.js.map +0 -1
- package/src/programmers/internal/LlmValidatePredicator.ts +0 -16
|
@@ -14,7 +14,6 @@ const MiscAssertCloneProgrammer_1 = require("typia/lib/programmers/misc/MiscAsse
|
|
|
14
14
|
const MiscAssertPruneProgrammer_1 = require("typia/lib/programmers/misc/MiscAssertPruneProgrammer");
|
|
15
15
|
const MiscValidateCloneProgrammer_1 = require("typia/lib/programmers/misc/MiscValidateCloneProgrammer");
|
|
16
16
|
const MiscValidatePruneProgrammer_1 = require("typia/lib/programmers/misc/MiscValidatePruneProgrammer");
|
|
17
|
-
const LlmValidatePredicator_1 = require("./internal/LlmValidatePredicator");
|
|
18
17
|
var TypedBodyProgrammer;
|
|
19
18
|
(function (TypedBodyProgrammer) {
|
|
20
19
|
TypedBodyProgrammer.generate = (props) => {
|
|
@@ -24,7 +23,7 @@ var TypedBodyProgrammer;
|
|
|
24
23
|
checker: props.context.checker,
|
|
25
24
|
transformer: props.context.transformer,
|
|
26
25
|
type: props.type,
|
|
27
|
-
validate:
|
|
26
|
+
validate: props.context.options.llm
|
|
28
27
|
? LlmSchemaProgrammer_1.LlmSchemaProgrammer.validate({
|
|
29
28
|
model: props.context.options.llm.model,
|
|
30
29
|
config: {
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"TypedBodyProgrammer.js","sourceRoot":"","sources":["../../src/programmers/TypedBodyProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,12 +13,12 @@ const HttpQueryProgrammer_1 = require("typia/lib/programmers/http/HttpQueryProgr
|
|
|
13
13
|
const HttpValidateQueryProgrammer_1 = require("typia/lib/programmers/http/HttpValidateQueryProgrammer");
|
|
14
14
|
const LlmSchemaProgrammer_1 = require("typia/lib/programmers/llm/LlmSchemaProgrammer");
|
|
15
15
|
const TransformerError_1 = require("typia/lib/transformers/TransformerError");
|
|
16
|
-
const LlmValidatePredicator_1 = require("./internal/LlmValidatePredicator");
|
|
17
16
|
var TypedQueryBodyProgrammer;
|
|
18
17
|
(function (TypedQueryBodyProgrammer) {
|
|
19
18
|
TypedQueryBodyProgrammer.generate = (props) => {
|
|
20
19
|
// VALIDATE TYPE
|
|
21
|
-
if (
|
|
20
|
+
if (props.context.options.llm) {
|
|
21
|
+
const llm = props.context.options.llm;
|
|
22
22
|
const result = MetadataFactory_1.MetadataFactory.analyze({
|
|
23
23
|
checker: props.context.checker,
|
|
24
24
|
transformer: props.context.transformer,
|
|
@@ -29,10 +29,10 @@ 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:
|
|
32
|
+
model: llm.model,
|
|
33
33
|
config: {
|
|
34
|
-
strict:
|
|
35
|
-
recursive:
|
|
34
|
+
strict: llm.strict,
|
|
35
|
+
recursive: llm.recursive,
|
|
36
36
|
},
|
|
37
37
|
})(meta));
|
|
38
38
|
return errors;
|
|
@@ -43,7 +43,7 @@ var TypedQueryBodyProgrammer;
|
|
|
43
43
|
});
|
|
44
44
|
if (result.success === false)
|
|
45
45
|
throw TransformerError_1.TransformerError.from({
|
|
46
|
-
code:
|
|
46
|
+
code: props.modulo.getText(),
|
|
47
47
|
errors: result.errors,
|
|
48
48
|
});
|
|
49
49
|
}
|
|
@@ -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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"}
|
|
@@ -13,12 +13,12 @@ const HttpQueryProgrammer_1 = require("typia/lib/programmers/http/HttpQueryProgr
|
|
|
13
13
|
const HttpValidateQueryProgrammer_1 = require("typia/lib/programmers/http/HttpValidateQueryProgrammer");
|
|
14
14
|
const LlmSchemaProgrammer_1 = require("typia/lib/programmers/llm/LlmSchemaProgrammer");
|
|
15
15
|
const TransformerError_1 = require("typia/lib/transformers/TransformerError");
|
|
16
|
-
const LlmValidatePredicator_1 = require("./internal/LlmValidatePredicator");
|
|
17
16
|
var TypedQueryProgrammer;
|
|
18
17
|
(function (TypedQueryProgrammer) {
|
|
19
18
|
TypedQueryProgrammer.generate = (props) => {
|
|
20
19
|
// VALIDATE TYPE
|
|
21
|
-
if (
|
|
20
|
+
if (props.context.options.llm) {
|
|
21
|
+
const llm = props.context.options.llm;
|
|
22
22
|
const result = MetadataFactory_1.MetadataFactory.analyze({
|
|
23
23
|
checker: props.context.checker,
|
|
24
24
|
transformer: props.context.transformer,
|
|
@@ -29,10 +29,10 @@ 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:
|
|
32
|
+
model: llm.model,
|
|
33
33
|
config: {
|
|
34
|
-
strict:
|
|
35
|
-
recursive:
|
|
34
|
+
strict: llm.strict,
|
|
35
|
+
recursive: llm.recursive,
|
|
36
36
|
},
|
|
37
37
|
})(meta));
|
|
38
38
|
return errors;
|
|
@@ -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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"}
|
|
@@ -14,12 +14,12 @@ const HttpAssertQuerifyProgrammer_1 = require("./http/HttpAssertQuerifyProgramme
|
|
|
14
14
|
const HttpIsQuerifyProgrammer_1 = require("./http/HttpIsQuerifyProgrammer");
|
|
15
15
|
const HttpQuerifyProgrammer_1 = require("./http/HttpQuerifyProgrammer");
|
|
16
16
|
const HttpValidateQuerifyProgrammer_1 = require("./http/HttpValidateQuerifyProgrammer");
|
|
17
|
-
const LlmValidatePredicator_1 = require("./internal/LlmValidatePredicator");
|
|
18
17
|
var TypedQueryRouteProgrammer;
|
|
19
18
|
(function (TypedQueryRouteProgrammer) {
|
|
20
19
|
TypedQueryRouteProgrammer.generate = (props) => {
|
|
21
20
|
// VALIDATE TYPE
|
|
22
|
-
if (
|
|
21
|
+
if (props.context.options.llm) {
|
|
22
|
+
const llm = props.context.options.llm;
|
|
23
23
|
const result = MetadataFactory_1.MetadataFactory.analyze({
|
|
24
24
|
checker: props.context.checker,
|
|
25
25
|
transformer: props.context.transformer,
|
|
@@ -30,10 +30,10 @@ 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:
|
|
33
|
+
model: llm.model,
|
|
34
34
|
config: {
|
|
35
|
-
strict:
|
|
36
|
-
recursive:
|
|
35
|
+
strict: llm.strict,
|
|
36
|
+
recursive: llm.recursive,
|
|
37
37
|
},
|
|
38
38
|
})(meta));
|
|
39
39
|
return errors;
|
|
@@ -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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"}
|
|
@@ -11,12 +11,11 @@ const JsonIsStringifyProgrammer_1 = require("typia/lib/programmers/json/JsonIsSt
|
|
|
11
11
|
const JsonStringifyProgrammer_1 = require("typia/lib/programmers/json/JsonStringifyProgrammer");
|
|
12
12
|
const JsonValidateStringifyProgrammer_1 = require("typia/lib/programmers/json/JsonValidateStringifyProgrammer");
|
|
13
13
|
const LlmSchemaProgrammer_1 = require("typia/lib/programmers/llm/LlmSchemaProgrammer");
|
|
14
|
-
const LlmValidatePredicator_1 = require("./internal/LlmValidatePredicator");
|
|
15
14
|
var TypedRouteProgrammer;
|
|
16
15
|
(function (TypedRouteProgrammer) {
|
|
17
16
|
TypedRouteProgrammer.generate = (props) => {
|
|
18
17
|
// VALIDATE TYPE
|
|
19
|
-
if (
|
|
18
|
+
if (props.context.options.llm)
|
|
20
19
|
JsonMetadataFactory_1.JsonMetadataFactory.analyze({
|
|
21
20
|
method: "@nestia.core.TypedBody",
|
|
22
21
|
checker: props.context.checker,
|
|
@@ -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;
|
|
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,wBAAwB;gBAChC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;gBAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;gBACtC,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,yCAAmB,CAAC,QAAQ,CAAC;oBACrC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK;oBACtC,MAAM,EAAE;wBACN,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM;wBACxC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS;qBAC/C;iBACF,CAAC;aACH,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": "4.4.
|
|
3
|
+
"version": "4.4.2",
|
|
4
4
|
"description": "Super-fast validation decorators of NestJS",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
},
|
|
37
37
|
"homepage": "https://nestia.io",
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@nestia/fetcher": "^4.4.
|
|
39
|
+
"@nestia/fetcher": "^4.4.2",
|
|
40
40
|
"@nestjs/common": ">=7.0.1",
|
|
41
41
|
"@nestjs/core": ">=7.0.1",
|
|
42
42
|
"@samchon/openapi": "^2.2.1",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"ws": "^7.5.3"
|
|
53
53
|
},
|
|
54
54
|
"peerDependencies": {
|
|
55
|
-
"@nestia/fetcher": ">=4.4.
|
|
55
|
+
"@nestia/fetcher": ">=4.4.2",
|
|
56
56
|
"@nestjs/common": ">=7.0.1",
|
|
57
57
|
"@nestjs/core": ">=7.0.1",
|
|
58
58
|
"reflect-metadata": ">=0.1.12",
|
|
@@ -12,7 +12,6 @@ import { ITypiaContext } from "typia/lib/transformers/ITypiaContext";
|
|
|
12
12
|
|
|
13
13
|
import { INestiaTransformContext } from "../options/INestiaTransformProject";
|
|
14
14
|
import { IRequestBodyValidator } from "../options/IRequestBodyValidator";
|
|
15
|
-
import { LlmValidatePredicator } from "./internal/LlmValidatePredicator";
|
|
16
15
|
|
|
17
16
|
export namespace TypedBodyProgrammer {
|
|
18
17
|
export const generate = (props: {
|
|
@@ -26,7 +25,7 @@ export namespace TypedBodyProgrammer {
|
|
|
26
25
|
checker: props.context.checker,
|
|
27
26
|
transformer: props.context.transformer,
|
|
28
27
|
type: props.type,
|
|
29
|
-
validate:
|
|
28
|
+
validate: props.context.options.llm
|
|
30
29
|
? LlmSchemaProgrammer.validate({
|
|
31
30
|
model: props.context.options.llm.model,
|
|
32
31
|
config: {
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ILlmSchema } from "@samchon/openapi";
|
|
1
2
|
import ts from "typescript";
|
|
2
3
|
import { MetadataCollection } from "typia/lib/factories/MetadataCollection";
|
|
3
4
|
import { MetadataFactory } from "typia/lib/factories/MetadataFactory";
|
|
@@ -6,12 +7,14 @@ import { HttpIsQueryProgrammer } from "typia/lib/programmers/http/HttpIsQueryPro
|
|
|
6
7
|
import { HttpQueryProgrammer } from "typia/lib/programmers/http/HttpQueryProgrammer";
|
|
7
8
|
import { HttpValidateQueryProgrammer } from "typia/lib/programmers/http/HttpValidateQueryProgrammer";
|
|
8
9
|
import { LlmSchemaProgrammer } from "typia/lib/programmers/llm/LlmSchemaProgrammer";
|
|
10
|
+
import { Metadata } from "typia/lib/schemas/metadata/Metadata";
|
|
9
11
|
import { ITypiaContext } from "typia/lib/transformers/ITypiaContext";
|
|
10
12
|
import { TransformerError } from "typia/lib/transformers/TransformerError";
|
|
13
|
+
import { ValidationPipe } from "typia/lib/typings/ValidationPipe";
|
|
11
14
|
|
|
15
|
+
import { INestiaTransformOptions } from "../options/INestiaTransformOptions";
|
|
12
16
|
import { INestiaTransformContext } from "../options/INestiaTransformProject";
|
|
13
17
|
import { IRequestQueryValidator } from "../options/IRequestQueryValidator";
|
|
14
|
-
import { LlmValidatePredicator } from "./internal/LlmValidatePredicator";
|
|
15
18
|
|
|
16
19
|
export namespace TypedQueryBodyProgrammer {
|
|
17
20
|
export const generate = (props: {
|
|
@@ -20,38 +23,41 @@ export namespace TypedQueryBodyProgrammer {
|
|
|
20
23
|
type: ts.Type;
|
|
21
24
|
}): ts.ObjectLiteralExpression => {
|
|
22
25
|
// VALIDATE TYPE
|
|
23
|
-
if (
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
26
|
+
if (props.context.options.llm) {
|
|
27
|
+
const llm: INestiaTransformOptions.ILlm<ILlmSchema.Model> =
|
|
28
|
+
props.context.options.llm;
|
|
29
|
+
const result: ValidationPipe<Metadata, MetadataFactory.IError> =
|
|
30
|
+
MetadataFactory.analyze({
|
|
31
|
+
checker: props.context.checker,
|
|
32
|
+
transformer: props.context.transformer,
|
|
33
|
+
options: {
|
|
34
|
+
escape: false,
|
|
35
|
+
constant: true,
|
|
36
|
+
absorb: true,
|
|
37
|
+
validate: (meta, explore) => {
|
|
38
|
+
const errors: string[] = HttpQueryProgrammer.validate(
|
|
39
|
+
meta,
|
|
40
|
+
explore,
|
|
41
|
+
true,
|
|
42
|
+
);
|
|
43
|
+
errors.push(
|
|
44
|
+
...LlmSchemaProgrammer.validate({
|
|
45
|
+
model: llm.model,
|
|
46
|
+
config: {
|
|
47
|
+
strict: llm.strict,
|
|
48
|
+
recursive: llm.recursive,
|
|
49
|
+
},
|
|
50
|
+
})(meta),
|
|
51
|
+
);
|
|
52
|
+
return errors;
|
|
53
|
+
},
|
|
47
54
|
},
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
});
|
|
55
|
+
collection: new MetadataCollection(),
|
|
56
|
+
type: props.type,
|
|
57
|
+
});
|
|
52
58
|
if (result.success === false)
|
|
53
59
|
throw TransformerError.from({
|
|
54
|
-
code:
|
|
60
|
+
code: props.modulo.getText(),
|
|
55
61
|
errors: result.errors,
|
|
56
62
|
});
|
|
57
63
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { ILlmSchema } from "@samchon/openapi";
|
|
1
2
|
import ts from "typescript";
|
|
2
3
|
import { MetadataCollection } from "typia/lib/factories/MetadataCollection";
|
|
3
4
|
import { MetadataFactory } from "typia/lib/factories/MetadataFactory";
|
|
@@ -6,12 +7,14 @@ import { HttpIsQueryProgrammer } from "typia/lib/programmers/http/HttpIsQueryPro
|
|
|
6
7
|
import { HttpQueryProgrammer } from "typia/lib/programmers/http/HttpQueryProgrammer";
|
|
7
8
|
import { HttpValidateQueryProgrammer } from "typia/lib/programmers/http/HttpValidateQueryProgrammer";
|
|
8
9
|
import { LlmSchemaProgrammer } from "typia/lib/programmers/llm/LlmSchemaProgrammer";
|
|
10
|
+
import { Metadata } from "typia/lib/schemas/metadata/Metadata";
|
|
9
11
|
import { ITypiaContext } from "typia/lib/transformers/ITypiaContext";
|
|
10
12
|
import { TransformerError } from "typia/lib/transformers/TransformerError";
|
|
13
|
+
import { ValidationPipe } from "typia/lib/typings/ValidationPipe";
|
|
11
14
|
|
|
15
|
+
import { INestiaTransformOptions } from "../options/INestiaTransformOptions";
|
|
12
16
|
import { INestiaTransformContext } from "../options/INestiaTransformProject";
|
|
13
17
|
import { IRequestQueryValidator } from "../options/IRequestQueryValidator";
|
|
14
|
-
import { LlmValidatePredicator } from "./internal/LlmValidatePredicator";
|
|
15
18
|
|
|
16
19
|
export namespace TypedQueryProgrammer {
|
|
17
20
|
export const generate = (props: {
|
|
@@ -20,35 +23,38 @@ export namespace TypedQueryProgrammer {
|
|
|
20
23
|
type: ts.Type;
|
|
21
24
|
}): ts.Expression => {
|
|
22
25
|
// VALIDATE TYPE
|
|
23
|
-
if (
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
26
|
+
if (props.context.options.llm) {
|
|
27
|
+
const llm: INestiaTransformOptions.ILlm<ILlmSchema.Model> =
|
|
28
|
+
props.context.options.llm;
|
|
29
|
+
const result: ValidationPipe<Metadata, MetadataFactory.IError> =
|
|
30
|
+
MetadataFactory.analyze({
|
|
31
|
+
checker: props.context.checker,
|
|
32
|
+
transformer: props.context.transformer,
|
|
33
|
+
options: {
|
|
34
|
+
escape: false,
|
|
35
|
+
constant: true,
|
|
36
|
+
absorb: true,
|
|
37
|
+
validate: (meta, explore) => {
|
|
38
|
+
const errors: string[] = HttpQueryProgrammer.validate(
|
|
39
|
+
meta,
|
|
40
|
+
explore,
|
|
41
|
+
true,
|
|
42
|
+
);
|
|
43
|
+
errors.push(
|
|
44
|
+
...LlmSchemaProgrammer.validate({
|
|
45
|
+
model: llm.model,
|
|
46
|
+
config: {
|
|
47
|
+
strict: llm.strict,
|
|
48
|
+
recursive: llm.recursive,
|
|
49
|
+
},
|
|
50
|
+
})(meta),
|
|
51
|
+
);
|
|
52
|
+
return errors;
|
|
53
|
+
},
|
|
47
54
|
},
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
});
|
|
55
|
+
collection: new MetadataCollection(),
|
|
56
|
+
type: props.type,
|
|
57
|
+
});
|
|
52
58
|
if (result.success === false)
|
|
53
59
|
throw TransformerError.from({
|
|
54
60
|
code: "@nestia.core.TypedQuery",
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
+
import { ILlmSchema } from "@samchon/openapi";
|
|
1
2
|
import ts from "typescript";
|
|
2
3
|
import { MetadataCollection } from "typia/lib/factories/MetadataCollection";
|
|
3
4
|
import { MetadataFactory } from "typia/lib/factories/MetadataFactory";
|
|
4
5
|
import { HttpQueryProgrammer } from "typia/lib/programmers/http/HttpQueryProgrammer";
|
|
5
6
|
import { LlmSchemaProgrammer } from "typia/lib/programmers/llm/LlmSchemaProgrammer";
|
|
7
|
+
import { Metadata } from "typia/lib/schemas/metadata/Metadata";
|
|
6
8
|
import { ITypiaContext } from "typia/lib/transformers/ITypiaContext";
|
|
7
9
|
import { TransformerError } from "typia/lib/transformers/TransformerError";
|
|
10
|
+
import { ValidationPipe } from "typia/lib/typings/ValidationPipe";
|
|
8
11
|
|
|
12
|
+
import { INestiaTransformOptions } from "../options/INestiaTransformOptions";
|
|
9
13
|
import { INestiaTransformContext } from "../options/INestiaTransformProject";
|
|
10
14
|
import { HttpAssertQuerifyProgrammer } from "./http/HttpAssertQuerifyProgrammer";
|
|
11
15
|
import { HttpIsQuerifyProgrammer } from "./http/HttpIsQuerifyProgrammer";
|
|
12
16
|
import { HttpQuerifyProgrammer } from "./http/HttpQuerifyProgrammer";
|
|
13
17
|
import { HttpValidateQuerifyProgrammer } from "./http/HttpValidateQuerifyProgrammer";
|
|
14
|
-
import { LlmValidatePredicator } from "./internal/LlmValidatePredicator";
|
|
15
18
|
|
|
16
19
|
export namespace TypedQueryRouteProgrammer {
|
|
17
20
|
export const generate = (props: {
|
|
@@ -20,35 +23,38 @@ export namespace TypedQueryRouteProgrammer {
|
|
|
20
23
|
type: ts.Type;
|
|
21
24
|
}): ts.Expression => {
|
|
22
25
|
// VALIDATE TYPE
|
|
23
|
-
if (
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
26
|
+
if (props.context.options.llm) {
|
|
27
|
+
const llm: INestiaTransformOptions.ILlm<ILlmSchema.Model> =
|
|
28
|
+
props.context.options.llm;
|
|
29
|
+
const result: ValidationPipe<Metadata, MetadataFactory.IError> =
|
|
30
|
+
MetadataFactory.analyze({
|
|
31
|
+
checker: props.context.checker,
|
|
32
|
+
transformer: props.context.transformer,
|
|
33
|
+
options: {
|
|
34
|
+
escape: false,
|
|
35
|
+
constant: true,
|
|
36
|
+
absorb: true,
|
|
37
|
+
validate: (meta, explore) => {
|
|
38
|
+
const errors: string[] = HttpQueryProgrammer.validate(
|
|
39
|
+
meta,
|
|
40
|
+
explore,
|
|
41
|
+
true,
|
|
42
|
+
);
|
|
43
|
+
errors.push(
|
|
44
|
+
...LlmSchemaProgrammer.validate({
|
|
45
|
+
model: llm.model,
|
|
46
|
+
config: {
|
|
47
|
+
strict: llm.strict,
|
|
48
|
+
recursive: llm.recursive,
|
|
49
|
+
},
|
|
50
|
+
})(meta),
|
|
51
|
+
);
|
|
52
|
+
return errors;
|
|
53
|
+
},
|
|
47
54
|
},
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
});
|
|
55
|
+
collection: new MetadataCollection(),
|
|
56
|
+
type: props.type,
|
|
57
|
+
});
|
|
52
58
|
if (result.success === false)
|
|
53
59
|
throw TransformerError.from({
|
|
54
60
|
code: props.modulo.getText(),
|
|
@@ -8,7 +8,6 @@ import { LlmSchemaProgrammer } from "typia/lib/programmers/llm/LlmSchemaProgramm
|
|
|
8
8
|
import { IProgrammerProps } from "typia/lib/transformers/IProgrammerProps";
|
|
9
9
|
|
|
10
10
|
import { INestiaTransformContext } from "../options/INestiaTransformProject";
|
|
11
|
-
import { LlmValidatePredicator } from "./internal/LlmValidatePredicator";
|
|
12
11
|
|
|
13
12
|
export namespace TypedRouteProgrammer {
|
|
14
13
|
export const generate = (props: {
|
|
@@ -17,7 +16,7 @@ export namespace TypedRouteProgrammer {
|
|
|
17
16
|
type: ts.Type;
|
|
18
17
|
}): ts.Expression => {
|
|
19
18
|
// VALIDATE TYPE
|
|
20
|
-
if (
|
|
19
|
+
if (props.context.options.llm)
|
|
21
20
|
JsonMetadataFactory.analyze({
|
|
22
21
|
method: "@nestia.core.TypedBody",
|
|
23
22
|
checker: props.context.checker,
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { ILlmSchema } from "@samchon/openapi";
|
|
2
|
-
import { INestiaTransformOptions } from "../../options/INestiaTransformOptions";
|
|
3
|
-
export declare namespace LlmValidatePredicator {
|
|
4
|
-
const is: <Model extends ILlmSchema.Model>(llm: INestiaTransformOptions.ILlm<Model> | undefined) => llm is INestiaTransformOptions.ILlm<Model>;
|
|
5
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.LlmValidatePredicator = void 0;
|
|
4
|
-
var LlmValidatePredicator;
|
|
5
|
-
(function (LlmValidatePredicator) {
|
|
6
|
-
LlmValidatePredicator.is = (llm) => {
|
|
7
|
-
if ((llm === null || llm === void 0 ? void 0 : llm.model) === undefined)
|
|
8
|
-
return false;
|
|
9
|
-
else if (llm.model === "chatgpt")
|
|
10
|
-
return llm.strict === true;
|
|
11
|
-
else if (llm.model === "gemini")
|
|
12
|
-
return true;
|
|
13
|
-
else if (llm.model === "3.0")
|
|
14
|
-
return llm.recursive === false || llm.recursive === 0;
|
|
15
|
-
return false;
|
|
16
|
-
};
|
|
17
|
-
})(LlmValidatePredicator || (exports.LlmValidatePredicator = LlmValidatePredicator = {}));
|
|
18
|
-
//# sourceMappingURL=LlmValidatePredicator.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LlmValidatePredicator.js","sourceRoot":"","sources":["../../../src/programmers/internal/LlmValidatePredicator.ts"],"names":[],"mappings":";;;AAIA,IAAiB,qBAAqB,CAWrC;AAXD,WAAiB,qBAAqB;IACvB,wBAAE,GAAG,CAChB,GAAoD,EACR,EAAE;QAC9C,IAAI,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,KAAK,MAAK,SAAS;YAAE,OAAO,KAAK,CAAC;aACtC,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC;aACxD,IAAI,GAAG,CAAC,KAAK,KAAK,QAAQ;YAAE,OAAO,IAAI,CAAC;aACxC,IAAI,GAAG,CAAC,KAAK,KAAK,KAAK;YAC1B,OAAO,GAAG,CAAC,SAAS,KAAK,KAAK,IAAI,GAAG,CAAC,SAAS,KAAK,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;AACJ,CAAC,EAXgB,qBAAqB,qCAArB,qBAAqB,QAWrC"}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { ILlmSchema } from "@samchon/openapi";
|
|
2
|
-
|
|
3
|
-
import { INestiaTransformOptions } from "../../options/INestiaTransformOptions";
|
|
4
|
-
|
|
5
|
-
export namespace LlmValidatePredicator {
|
|
6
|
-
export const is = <Model extends ILlmSchema.Model>(
|
|
7
|
-
llm: INestiaTransformOptions.ILlm<Model> | undefined,
|
|
8
|
-
): llm is INestiaTransformOptions.ILlm<Model> => {
|
|
9
|
-
if (llm?.model === undefined) return false;
|
|
10
|
-
else if (llm.model === "chatgpt") return llm.strict === true;
|
|
11
|
-
else if (llm.model === "gemini") return true;
|
|
12
|
-
else if (llm.model === "3.0")
|
|
13
|
-
return llm.recursive === false || llm.recursive === 0;
|
|
14
|
-
return false;
|
|
15
|
-
};
|
|
16
|
-
}
|