@nestia/sdk 12.0.0-dev.20260612.2 → 12.0.0-rc.1
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/assets/bundle/distribute/package.json +1 -1
- package/lib/analyses/AccessorAnalyzer.js +33 -10
- package/lib/analyses/AccessorAnalyzer.js.map +1 -1
- package/lib/analyses/ConfigAnalyzer.js +11 -37
- package/lib/analyses/ConfigAnalyzer.js.map +1 -1
- package/lib/factories/ExpressionFactory.d.ts +9 -0
- package/lib/factories/ExpressionFactory.js +16 -0
- package/lib/factories/ExpressionFactory.js.map +1 -0
- package/lib/factories/IdentifierFactory.d.ts +22 -0
- package/lib/factories/IdentifierFactory.js +50 -0
- package/lib/factories/IdentifierFactory.js.map +1 -0
- package/lib/factories/LiteralFactory.d.ts +9 -0
- package/lib/factories/LiteralFactory.js +48 -0
- package/lib/factories/LiteralFactory.js.map +1 -0
- package/lib/factories/StatementFactory.d.ts +14 -0
- package/lib/factories/StatementFactory.js +20 -0
- package/lib/factories/StatementFactory.js.map +1 -0
- package/lib/factories/TypeFactory.d.ts +24 -0
- package/lib/factories/TypeFactory.js +27 -0
- package/lib/factories/TypeFactory.js.map +1 -0
- package/lib/generates/CloneGenerator.js +2 -2
- package/lib/generates/CloneGenerator.js.map +1 -1
- package/lib/generates/internal/E2eFileProgrammer.js +30 -29
- package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
- package/lib/generates/internal/FilePrinter.d.ts +2 -2
- package/lib/generates/internal/FilePrinter.js +14 -25
- package/lib/generates/internal/FilePrinter.js.map +1 -1
- package/lib/generates/internal/ImportDictionary.d.ts +1 -1
- package/lib/generates/internal/ImportDictionary.js +10 -9
- package/lib/generates/internal/ImportDictionary.js.map +1 -1
- package/lib/generates/internal/SdkAliasCollection.d.ts +12 -12
- package/lib/generates/internal/SdkAliasCollection.js +23 -25
- package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
- package/lib/generates/internal/SdkFileProgrammer.js +2 -2
- package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpCloneProgrammer.d.ts +1 -1
- package/lib/generates/internal/SdkHttpCloneProgrammer.js +3 -3
- package/lib/generates/internal/SdkHttpCloneProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpFunctionProgrammer.d.ts +1 -1
- package/lib/generates/internal/SdkHttpFunctionProgrammer.js +45 -48
- package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.d.ts +1 -1
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +61 -60
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpParameterProgrammer.d.ts +2 -2
- package/lib/generates/internal/SdkHttpParameterProgrammer.js +11 -13
- package/lib/generates/internal/SdkHttpParameterProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpRouteProgrammer.d.ts +1 -1
- package/lib/generates/internal/SdkHttpSimulationProgrammer.d.ts +1 -1
- package/lib/generates/internal/SdkHttpSimulationProgrammer.js +50 -48
- package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkMcpRouteProgrammer.d.ts +1 -1
- package/lib/generates/internal/SdkMcpRouteProgrammer.js +54 -53
- package/lib/generates/internal/SdkMcpRouteProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkTypeProgrammer.d.ts +3 -3
- package/lib/generates/internal/SdkTypeProgrammer.js +42 -43
- package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkTypeTagProgrammer.d.ts +2 -1
- package/lib/generates/internal/SdkTypeTagProgrammer.js +7 -9
- package/lib/generates/internal/SdkTypeTagProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.d.ts +2 -2
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +45 -47
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkWebSocketParameterProgrammer.d.ts +3 -3
- package/lib/generates/internal/SdkWebSocketParameterProgrammer.js +9 -9
- package/lib/generates/internal/SdkWebSocketParameterProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkWebSocketRouteProgrammer.d.ts +2 -2
- package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +34 -40
- package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
- package/lib/transform.d.ts +5 -9
- package/lib/transform.js +8 -31
- package/lib/transform.js.map +1 -1
- package/lib/utils/SourceFinder.d.ts +1 -0
- package/lib/utils/SourceFinder.js +6 -3
- package/lib/utils/SourceFinder.js.map +1 -1
- package/package.json +11 -11
- package/src/analyses/AccessorAnalyzer.ts +39 -10
- package/src/analyses/ConfigAnalyzer.ts +19 -5
- package/src/factories/ExpressionFactory.ts +23 -0
- package/src/factories/IdentifierFactory.ts +84 -0
- package/src/factories/LiteralFactory.ts +54 -0
- package/src/factories/StatementFactory.ts +56 -0
- package/src/factories/TypeFactory.ts +27 -0
- package/src/generates/CloneGenerator.ts +8 -7
- package/src/generates/internal/E2eFileProgrammer.ts +59 -53
- package/src/generates/internal/FilePrinter.ts +28 -36
- package/src/generates/internal/ImportDictionary.ts +19 -21
- package/src/generates/internal/SdkAliasCollection.ts +55 -49
- package/src/generates/internal/SdkFileProgrammer.ts +4 -7
- package/src/generates/internal/SdkHttpCloneProgrammer.ts +11 -13
- package/src/generates/internal/SdkHttpFunctionProgrammer.ts +90 -101
- package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +153 -166
- package/src/generates/internal/SdkHttpParameterProgrammer.ts +15 -17
- package/src/generates/internal/SdkHttpRouteProgrammer.ts +1 -1
- package/src/generates/internal/SdkHttpSimulationProgrammer.ts +121 -130
- package/src/generates/internal/SdkMcpRouteProgrammer.ts +135 -140
- package/src/generates/internal/SdkTypeProgrammer.ts +389 -382
- package/src/generates/internal/SdkTypeTagProgrammer.ts +13 -17
- package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +124 -130
- package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +17 -15
- package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +112 -139
- package/src/transform.ts +14 -45
- package/src/utils/SourceFinder.ts +9 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SdkWebSocketParameterProgrammer = void 0;
|
|
4
|
-
const factory_1 = require("@
|
|
4
|
+
const factory_1 = require("@ttsc/factory");
|
|
5
5
|
const SdkAliasCollection_1 = require("./SdkAliasCollection");
|
|
6
6
|
var SdkWebSocketParameterProgrammer;
|
|
7
7
|
(function (SdkWebSocketParameterProgrammer) {
|
|
@@ -16,7 +16,7 @@ var SdkWebSocketParameterProgrammer;
|
|
|
16
16
|
? [
|
|
17
17
|
{
|
|
18
18
|
key: "query",
|
|
19
|
-
type: factory_1.
|
|
19
|
+
type: factory_1.factory.createTypeReferenceNode(`${prefix}Query`),
|
|
20
20
|
},
|
|
21
21
|
]
|
|
22
22
|
: []),
|
|
@@ -24,7 +24,7 @@ var SdkWebSocketParameterProgrammer;
|
|
|
24
24
|
? [
|
|
25
25
|
{
|
|
26
26
|
key: "provider",
|
|
27
|
-
type: factory_1.
|
|
27
|
+
type: factory_1.factory.createTypeReferenceNode(`${prefix}Provider`),
|
|
28
28
|
},
|
|
29
29
|
]
|
|
30
30
|
: []),
|
|
@@ -39,16 +39,16 @@ var SdkWebSocketParameterProgrammer;
|
|
|
39
39
|
? `${props.route.name}.Props`
|
|
40
40
|
: "Props";
|
|
41
41
|
const node = props.provider
|
|
42
|
-
? factory_1.
|
|
43
|
-
: factory_1.
|
|
44
|
-
factory_1.
|
|
45
|
-
factory_1.
|
|
42
|
+
? factory_1.factory.createTypeReferenceNode(typeName)
|
|
43
|
+
: factory_1.factory.createTypeReferenceNode("Omit", [
|
|
44
|
+
factory_1.factory.createTypeReferenceNode(typeName),
|
|
45
|
+
factory_1.factory.createLiteralTypeNode(factory_1.factory.createStringLiteral("provider")),
|
|
46
46
|
]);
|
|
47
47
|
return [
|
|
48
|
-
factory_1.
|
|
48
|
+
factory_1.factory.createParameterDeclaration(undefined, undefined, "props", undefined, node),
|
|
49
49
|
];
|
|
50
50
|
}
|
|
51
|
-
return entries.map((entry) => factory_1.
|
|
51
|
+
return entries.map((entry) => factory_1.factory.createParameterDeclaration(undefined, undefined, entry.key, undefined, entry.type));
|
|
52
52
|
};
|
|
53
53
|
SdkWebSocketParameterProgrammer.isPathEmpty = (route) => route.pathParameters.length === 0 && route.query === null;
|
|
54
54
|
})(SdkWebSocketParameterProgrammer || (exports.SdkWebSocketParameterProgrammer = SdkWebSocketParameterProgrammer = {}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdkWebSocketParameterProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkWebSocketParameterProgrammer.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"SdkWebSocketParameterProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkWebSocketParameterProgrammer.ts"],"names":[],"mappings":";;;AAAA,2CAIuB;AAIvB,6DAA0D;AAE1D,IAAiB,+BAA+B,CAgF/C;AAhFD,WAAiB,+BAA+B;IAMjC,0CAAU,GAAG,CAAC,KAK1B,EAAY,EAAE;QACb,MAAM,MAAM,GAAW,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,OAAO;YACL,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACxC,GAAG,EAAE,CAAC,CAAC,IAAI;gBACX,IAAI,EAAE,uCAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;aACjC,CAAC,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK;gBACnB,CAAC,CAAC;oBACE;wBACE,GAAG,EAAE,OAAO;wBACZ,IAAI,EAAE,iBAAO,CAAC,uBAAuB,CAAC,GAAG,MAAM,OAAO,CAAC;qBACxD;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,KAAK,CAAC,QAAQ;gBAChB,CAAC,CAAC;oBACE;wBACE,GAAG,EAAE,UAAU;wBACf,IAAI,EAAE,iBAAO,CAAC,uBAAuB,CAAC,GAAG,MAAM,UAAU,CAAC;qBAC3D;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC;IACJ,CAAC,CAAC;IAEW,wDAAwB,GAAG,CAAC,KAKxC,EAA0B,EAAE;QAC3B,MAAM,OAAO,GAAa,0CAAU,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;aAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC/C,MAAM,QAAQ,GAAW,KAAK,CAAC,MAAM;gBACnC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,QAAQ;gBAC7B,CAAC,CAAC,OAAO,CAAC;YACZ,MAAM,IAAI,GAAa,KAAK,CAAC,QAAQ;gBACnC,CAAC,CAAC,iBAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC;gBAC3C,CAAC,CAAC,iBAAO,CAAC,uBAAuB,CAAC,MAAM,EAAE;oBACtC,iBAAO,CAAC,uBAAuB,CAAC,QAAQ,CAAC;oBACzC,iBAAO,CAAC,qBAAqB,CAC3B,iBAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CACxC;iBACF,CAAC,CAAC;YACP,OAAO;gBACL,iBAAO,CAAC,0BAA0B,CAChC,SAAS,EACT,SAAS,EACT,OAAO,EACP,SAAS,EACT,IAAI,CACL;aACF,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC3B,iBAAO,CAAC,0BAA0B,CAChC,SAAS,EACT,SAAS,EACT,KAAK,CAAC,GAAG,EACT,SAAS,EACT,KAAK,CAAC,IAAI,CACX,CACF,CAAC;IACJ,CAAC,CAAC;IAEW,2CAAW,GAAG,CAAC,KAA2B,EAAW,EAAE,CAClE,KAAK,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC;AAC9D,CAAC,EAhFgB,+BAA+B,aAA/B,+BAA+B,GAA/B,+BAA+B,QAgF/C"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type Statement } from "@ttsc/factory";
|
|
2
2
|
import { INestiaProject } from "../../structures/INestiaProject";
|
|
3
3
|
import { ITypedWebSocketRoute } from "../../structures/ITypedWebSocketRoute";
|
|
4
4
|
import { ImportDictionary } from "./ImportDictionary";
|
|
5
5
|
export declare namespace SdkWebSocketRouteProgrammer {
|
|
6
|
-
const write: (project: INestiaProject) => (importer: ImportDictionary) => (route: ITypedWebSocketRoute) =>
|
|
6
|
+
const write: (project: INestiaProject) => (importer: ImportDictionary) => (route: ITypedWebSocketRoute) => Statement[];
|
|
7
7
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SdkWebSocketRouteProgrammer = void 0;
|
|
4
|
-
const factory_1 = require("@
|
|
5
|
-
const
|
|
4
|
+
const factory_1 = require("@ttsc/factory");
|
|
5
|
+
const IdentifierFactory_1 = require("../../factories/IdentifierFactory");
|
|
6
6
|
const StringUtil_1 = require("../../utils/StringUtil");
|
|
7
7
|
const FilePrinter_1 = require("./FilePrinter");
|
|
8
8
|
const SdkImportWizard_1 = require("./SdkImportWizard");
|
|
@@ -38,80 +38,74 @@ var SdkWebSocketRouteProgrammer;
|
|
|
38
38
|
};
|
|
39
39
|
const writeFunction = (project) => (importer) => (route) => {
|
|
40
40
|
const connection = StringUtil_1.StringUtil.escapeDuplicate([route.name])("connection");
|
|
41
|
-
return factory_1.
|
|
42
|
-
factory_1.
|
|
43
|
-
factory_1.
|
|
41
|
+
return factory_1.factory.createFunctionDeclaration([
|
|
42
|
+
factory_1.factory.createModifier(factory_1.SyntaxKind.ExportKeyword),
|
|
43
|
+
factory_1.factory.createModifier(factory_1.SyntaxKind.AsyncKeyword),
|
|
44
44
|
], undefined, route.name, undefined, [
|
|
45
|
-
|
|
46
|
-
factory_1.TypeScriptFactory.createTypeReferenceNode(`${route.name}.Header`),
|
|
47
|
-
])),
|
|
45
|
+
IdentifierFactory_1.IdentifierFactory.parameter(connection, factory_1.factory.createTypeReferenceNode(SdkImportWizard_1.SdkImportWizard.IConnection(importer), [factory_1.factory.createTypeReferenceNode(`${route.name}.Header`)])),
|
|
48
46
|
...SdkWebSocketParameterProgrammer_1.SdkWebSocketParameterProgrammer.getParameterDeclarations({
|
|
49
47
|
project,
|
|
50
48
|
route,
|
|
51
49
|
provider: true,
|
|
52
50
|
prefix: true,
|
|
53
51
|
}),
|
|
54
|
-
], factory_1.
|
|
55
|
-
factory_1.
|
|
56
|
-
]), factory_1.
|
|
52
|
+
], factory_1.factory.createTypeReferenceNode("Promise", [
|
|
53
|
+
factory_1.factory.createTypeReferenceNode(`${route.name}.Output`),
|
|
54
|
+
]), factory_1.factory.createBlock(writeFunctionBody(project)(importer)(route)(connection), true));
|
|
57
55
|
};
|
|
58
56
|
const writeFunctionBody = (project) => (importer) => (route) => (connection) => {
|
|
59
57
|
const access = (key) => project.config.keyword === true
|
|
60
|
-
? factory_1.
|
|
61
|
-
: factory_1.
|
|
58
|
+
? factory_1.factory.createPropertyAccessExpression(factory_1.factory.createIdentifier("props"), key)
|
|
59
|
+
: factory_1.factory.createIdentifier(key);
|
|
62
60
|
return [
|
|
63
|
-
local("url")(factory_1.
|
|
61
|
+
local("url")(factory_1.factory.createTypeReferenceNode("string"))(joinPath(connection, factory_1.factory.createCallExpression(factory_1.factory.createPropertyAccessExpression(factory_1.factory.createIdentifier(route.name), "path"), [], project.config.keyword === true &&
|
|
64
62
|
SdkWebSocketParameterProgrammer_1.SdkWebSocketParameterProgrammer.isPathEmpty(route) === false
|
|
65
|
-
? [factory_1.
|
|
63
|
+
? [factory_1.factory.createIdentifier("props")]
|
|
66
64
|
: SdkWebSocketParameterProgrammer_1.SdkWebSocketParameterProgrammer.getEntries({
|
|
67
65
|
project,
|
|
68
66
|
route,
|
|
69
67
|
provider: false,
|
|
70
68
|
prefix: true,
|
|
71
|
-
}).map((p) => factory_1.
|
|
72
|
-
local("connector")(factory_1.
|
|
69
|
+
}).map((p) => factory_1.factory.createIdentifier(p.key))))),
|
|
70
|
+
local("connector")(factory_1.factory.createTypeReferenceNode(importer.external({
|
|
73
71
|
declaration: false,
|
|
74
72
|
file: "tgrid",
|
|
75
73
|
type: "element",
|
|
76
74
|
name: "WebSocketConnector",
|
|
77
75
|
}), [
|
|
78
|
-
factory_1.
|
|
79
|
-
factory_1.
|
|
80
|
-
factory_1.
|
|
81
|
-
]))(factory_1.
|
|
76
|
+
factory_1.factory.createTypeReferenceNode(`${route.name}.Header`),
|
|
77
|
+
factory_1.factory.createTypeReferenceNode(`${route.name}.Provider`),
|
|
78
|
+
factory_1.factory.createTypeReferenceNode(`${route.name}.Listener`),
|
|
79
|
+
]))(factory_1.factory.createNewExpression(factory_1.factory.createIdentifier(importer.external({
|
|
82
80
|
declaration: false,
|
|
83
81
|
file: "tgrid",
|
|
84
82
|
type: "element",
|
|
85
83
|
name: "WebSocketConnector",
|
|
86
84
|
})), undefined, [
|
|
87
|
-
factory_1.
|
|
85
|
+
factory_1.factory.createAsExpression(factory_1.factory.createBinaryExpression(factory_1.factory.createPropertyAccessExpression(factory_1.factory.createIdentifier(connection), "headers"), factory_1.factory.createToken(factory_1.SyntaxKind.QuestionQuestionToken), factory_1.factory.createObjectLiteralExpression([], false)), factory_1.factory.createKeywordTypeNode(factory_1.SyntaxKind.AnyKeyword)),
|
|
88
86
|
access("provider"),
|
|
89
87
|
])),
|
|
90
|
-
factory_1.
|
|
91
|
-
local("driver")(factory_1.
|
|
88
|
+
factory_1.factory.createExpressionStatement(factory_1.factory.createAwaitExpression(factory_1.factory.createCallExpression(factory_1.factory.createPropertyAccessExpression(factory_1.factory.createIdentifier("connector"), "connect"), undefined, [factory_1.factory.createIdentifier("url")]))),
|
|
89
|
+
local("driver")(factory_1.factory.createTypeReferenceNode(importer.external({
|
|
92
90
|
declaration: true,
|
|
93
91
|
file: "tgrid",
|
|
94
92
|
type: "element",
|
|
95
93
|
name: "Driver",
|
|
96
|
-
}), [
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
factory_1.
|
|
101
|
-
factory_1.TypeScriptFactory.createShorthandPropertyAssignment("driver"),
|
|
102
|
-
factory_1.TypeScriptFactory.createPropertyAssignment(factory_1.TypeScriptFactory.createIdentifier("reconnect"), factory_1.TypeScriptFactory.createArrowFunction([factory_1.TypeScriptFactory.createToken(factory_1.SyntaxKind.AsyncKeyword)], undefined, [], undefined, factory_1.TypeScriptFactory.createToken(factory_1.SyntaxKind.EqualsGreaterThanToken), factory_1.TypeScriptFactory.createAwaitExpression(factory_1.TypeScriptFactory.createCallExpression(factory_1.TypeScriptFactory.createPropertyAccessExpression(factory_1.TypeScriptFactory.createIdentifier("connector"), factory_1.TypeScriptFactory.createIdentifier("connect")), undefined, [factory_1.TypeScriptFactory.createIdentifier("url")])))),
|
|
94
|
+
}), [factory_1.factory.createTypeReferenceNode(`${route.name}.Listener`)]))(factory_1.factory.createCallExpression(factory_1.factory.createPropertyAccessExpression(factory_1.factory.createIdentifier("connector"), "getDriver"), undefined, undefined)),
|
|
95
|
+
factory_1.factory.createReturnStatement(factory_1.factory.createObjectLiteralExpression([
|
|
96
|
+
factory_1.factory.createShorthandPropertyAssignment("connector"),
|
|
97
|
+
factory_1.factory.createShorthandPropertyAssignment("driver"),
|
|
98
|
+
factory_1.factory.createPropertyAssignment(factory_1.factory.createIdentifier("reconnect"), factory_1.factory.createArrowFunction([factory_1.factory.createToken(factory_1.SyntaxKind.AsyncKeyword)], undefined, [], undefined, factory_1.factory.createToken(factory_1.SyntaxKind.EqualsGreaterThanToken), factory_1.factory.createAwaitExpression(factory_1.factory.createCallExpression(factory_1.factory.createPropertyAccessExpression(factory_1.factory.createIdentifier("connector"), factory_1.factory.createIdentifier("connect")), undefined, [factory_1.factory.createIdentifier("url")])))),
|
|
103
99
|
], true)),
|
|
104
100
|
];
|
|
105
101
|
};
|
|
106
102
|
})(SdkWebSocketRouteProgrammer || (exports.SdkWebSocketRouteProgrammer = SdkWebSocketRouteProgrammer = {}));
|
|
107
|
-
const local = (name) => (type) => (expression) => factory_1.
|
|
108
|
-
|
|
109
|
-
], factory_1.
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
]), factory_1.TypeScriptFactory.createToken(factory_1.SyntaxKind.ColonToken), factory_1.TypeScriptFactory.createPropertyAccessExpression(factory_1.TypeScriptFactory.createIdentifier(connection), factory_1.TypeScriptFactory.createIdentifier("host"))), factory_1.TypeScriptFactory.createTemplateMiddle("", "")),
|
|
115
|
-
factory_1.TypeScriptFactory.createTemplateSpan(caller, factory_1.TypeScriptFactory.createTemplateTail("", "")),
|
|
103
|
+
const local = (name) => (type) => (expression) => factory_1.factory.createVariableStatement([], factory_1.factory.createVariableDeclarationList([factory_1.factory.createVariableDeclaration(name, undefined, type, expression)], factory_1.NodeFlags.Const));
|
|
104
|
+
const joinPath = (connection, caller) => factory_1.factory.createTemplateExpression(factory_1.factory.createTemplateHead("", ""), [
|
|
105
|
+
factory_1.factory.createTemplateSpan(factory_1.factory.createConditionalExpression(factory_1.factory.createCallExpression(factory_1.factory.createPropertyAccessExpression(factory_1.factory.createPropertyAccessExpression(factory_1.factory.createIdentifier(connection), factory_1.factory.createIdentifier("host")), factory_1.factory.createIdentifier("endsWith")), undefined, [factory_1.factory.createStringLiteral("/")]), factory_1.factory.createToken(factory_1.SyntaxKind.QuestionToken), factory_1.factory.createCallExpression(factory_1.factory.createPropertyAccessExpression(factory_1.factory.createPropertyAccessExpression(factory_1.factory.createIdentifier(connection), factory_1.factory.createIdentifier("host")), factory_1.factory.createIdentifier("substring")), undefined, [
|
|
106
|
+
factory_1.factory.createNumericLiteral("0"),
|
|
107
|
+
factory_1.factory.createBinaryExpression(factory_1.factory.createPropertyAccessExpression(factory_1.factory.createPropertyAccessExpression(factory_1.factory.createIdentifier(connection), factory_1.factory.createIdentifier("host")), factory_1.factory.createIdentifier("length")), factory_1.factory.createToken(factory_1.SyntaxKind.MinusToken), factory_1.factory.createNumericLiteral("1")),
|
|
108
|
+
]), factory_1.factory.createToken(factory_1.SyntaxKind.ColonToken), factory_1.factory.createPropertyAccessExpression(factory_1.factory.createIdentifier(connection), factory_1.factory.createIdentifier("host"))), factory_1.factory.createTemplateMiddle("")),
|
|
109
|
+
factory_1.factory.createTemplateSpan(caller, factory_1.factory.createTemplateTail("")),
|
|
116
110
|
]);
|
|
117
111
|
//# sourceMappingURL=SdkWebSocketRouteProgrammer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SdkWebSocketRouteProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkWebSocketRouteProgrammer.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"SdkWebSocketRouteProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkWebSocketRouteProgrammer.ts"],"names":[],"mappings":"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"}
|
package/lib/transform.d.ts
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
name: string;
|
|
3
|
-
source: string;
|
|
4
|
-
}
|
|
1
|
+
import type { ITtscPlugin, ITtscPluginFactoryContext } from "ttsc";
|
|
5
2
|
/**
|
|
6
3
|
* `@nestia/sdk` ttsc plugin descriptor.
|
|
7
4
|
*
|
|
8
5
|
* Points ttsc at this package's own Go source (`native/sdk`, package `sdk`).
|
|
9
6
|
* Because that package is not `package main`, ttsc classifies it as a linked
|
|
10
7
|
* transform and statically links it into the `@nestia/core` host binary as a
|
|
11
|
-
* contributor — but only for projects that actually depend on `@nestia/sdk`.
|
|
12
|
-
*
|
|
13
|
-
*
|
|
8
|
+
* contributor — but only for projects that actually depend on `@nestia/sdk`. A
|
|
9
|
+
* project depending on `@nestia/core` alone never links, compiles, or ships any
|
|
10
|
+
* of this SDK transform code.
|
|
14
11
|
*/
|
|
15
|
-
export
|
|
16
|
-
export default createTtscPlugin;
|
|
12
|
+
export default function createTtscPlugin(context: ITtscPluginFactoryContext): ITtscPlugin;
|
package/lib/transform.js
CHANGED
|
@@ -3,48 +3,25 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.default = createTtscPlugin;
|
|
7
|
+
const node_module_1 = require("node:module");
|
|
7
8
|
const node_path_1 = __importDefault(require("node:path"));
|
|
8
|
-
const node_url_1 = require("node:url");
|
|
9
|
-
const filename = currentFilename();
|
|
10
|
-
const dirname = node_path_1.default.dirname(filename);
|
|
11
9
|
/**
|
|
12
10
|
* `@nestia/sdk` ttsc plugin descriptor.
|
|
13
11
|
*
|
|
14
12
|
* Points ttsc at this package's own Go source (`native/sdk`, package `sdk`).
|
|
15
13
|
* Because that package is not `package main`, ttsc classifies it as a linked
|
|
16
14
|
* transform and statically links it into the `@nestia/core` host binary as a
|
|
17
|
-
* contributor — but only for projects that actually depend on `@nestia/sdk`.
|
|
18
|
-
*
|
|
19
|
-
*
|
|
15
|
+
* contributor — but only for projects that actually depend on `@nestia/sdk`. A
|
|
16
|
+
* project depending on `@nestia/core` alone never links, compiles, or ships any
|
|
17
|
+
* of this SDK transform code.
|
|
20
18
|
*/
|
|
21
|
-
function createTtscPlugin() {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
const root = node_path_1.default.resolve(dirname, "..");
|
|
19
|
+
function createTtscPlugin(context) {
|
|
20
|
+
const requireFrom = (0, node_module_1.createRequire)(node_path_1.default.join(context.projectRoot, "package.json"));
|
|
21
|
+
const root = node_path_1.default.dirname(requireFrom.resolve("@nestia/sdk/package.json"));
|
|
25
22
|
return {
|
|
26
23
|
name: "@nestia/sdk",
|
|
27
24
|
source: node_path_1.default.resolve(root, "native", "sdk"),
|
|
28
25
|
};
|
|
29
26
|
}
|
|
30
|
-
exports.default = createTtscPlugin;
|
|
31
|
-
function currentFilename() {
|
|
32
|
-
var _a;
|
|
33
|
-
var _b, _c;
|
|
34
|
-
if (typeof __filename === "string" &&
|
|
35
|
-
__filename !== "[stdin]" &&
|
|
36
|
-
__filename.length !== 0)
|
|
37
|
-
return normalizeFilename(__filename);
|
|
38
|
-
const line = (_a = new Error().stack) === null || _a === void 0 ? void 0 : _a.split("\n").find((entry) => entry.includes("/src/transform.ts") ||
|
|
39
|
-
entry.includes("/lib/transform.js") ||
|
|
40
|
-
entry.includes("/lib/transform.mjs"));
|
|
41
|
-
const matched = line === null || line === void 0 ? void 0 : line.match(/\(([^()]+):\d+:\d+\)|at ([^\s()]+):\d+:\d+/);
|
|
42
|
-
const fallback = typeof __filename === "string" ? __filename : "";
|
|
43
|
-
return normalizeFilename((_c = (_b = matched === null || matched === void 0 ? void 0 : matched[1]) !== null && _b !== void 0 ? _b : matched === null || matched === void 0 ? void 0 : matched[2]) !== null && _c !== void 0 ? _c : fallback);
|
|
44
|
-
}
|
|
45
|
-
function normalizeFilename(value) {
|
|
46
|
-
if (value.startsWith("file:"))
|
|
47
|
-
return (0, node_url_1.fileURLToPath)(value);
|
|
48
|
-
return value;
|
|
49
|
-
}
|
|
50
27
|
//# sourceMappingURL=transform.js.map
|
package/lib/transform.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":";;;;;;AAAA,6CAA4C;AAC5C,0DAA6B;AAG7B;;;;;;;;;GASG;AACH,0BACE,OAAkC;IAElC,MAAM,WAAW,GAAG,IAAA,2BAAa,EAC/B,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAC/C,CAAC;IACF,MAAM,IAAI,GAAW,mBAAI,CAAC,OAAO,CAC/B,WAAW,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAChD,CAAC;IACF,OAAO;QACL,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,mBAAI,CAAC,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC;KAC5C,CAAC;AACJ,CAAC"}
|
|
@@ -56,8 +56,11 @@ var SourceFinder;
|
|
|
56
56
|
const matches = yield (0, glob_1.glob)(pattern);
|
|
57
57
|
return matches.map((str) => path_1.default.resolve(str));
|
|
58
58
|
});
|
|
59
|
-
const _Is_file = (pattern) =>
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
const _Is_file = (pattern) => SourceFinder.isTypeScriptSource(pattern) && fs_1.default.existsSync(pattern);
|
|
60
|
+
SourceFinder.isTypeScriptSource = (file) => {
|
|
61
|
+
const lower = file.toLowerCase();
|
|
62
|
+
return (/\.(?:[cm]?ts)$/.test(lower) &&
|
|
63
|
+
/\.(?:d\.[cm]?ts|d\.ts)$/.test(lower) === false);
|
|
64
|
+
};
|
|
62
65
|
})(SourceFinder || (exports.SourceFinder = SourceFinder = {}));
|
|
63
66
|
//# sourceMappingURL=SourceFinder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SourceFinder.js","sourceRoot":"","sources":["../../src/utils/SourceFinder.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,4CAAoB;AACpB,+BAA4B;AAC5B,gDAAwB;AAExB,IAAiB,YAAY,
|
|
1
|
+
{"version":3,"file":"SourceFinder.js","sourceRoot":"","sources":["../../src/utils/SourceFinder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nestia/sdk",
|
|
3
|
-
"version": "12.0.0-
|
|
3
|
+
"version": "12.0.0-rc.1",
|
|
4
4
|
"description": "Nestia SDK and Swagger generator",
|
|
5
5
|
"types": "lib/index.d.ts",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -46,31 +46,31 @@
|
|
|
46
46
|
},
|
|
47
47
|
"homepage": "https://nestia.io",
|
|
48
48
|
"dependencies": {
|
|
49
|
-
"@
|
|
50
|
-
"@typia/
|
|
49
|
+
"@ttsc/factory": "^0.16.10",
|
|
50
|
+
"@typia/interface": "13.0.0-rc.1",
|
|
51
|
+
"@typia/utils": "13.0.0-rc.1",
|
|
51
52
|
"get-function-location": "^2.0.0",
|
|
52
53
|
"glob": "^11.0.3",
|
|
53
54
|
"path-to-regexp": "^6.2.1",
|
|
54
55
|
"prettier": "^3.8.1",
|
|
55
56
|
"tgrid": "^1.2.1",
|
|
56
|
-
"ttsc": "^0.
|
|
57
|
+
"ttsc": "^0.16.10",
|
|
57
58
|
"tstl": "^3.0.0",
|
|
58
|
-
"typia": "13.0.0-
|
|
59
|
-
"@nestia/
|
|
60
|
-
"@nestia/
|
|
61
|
-
"@nestia/fetcher": "^12.0.0-dev.20260612.2"
|
|
59
|
+
"typia": "13.0.0-rc.1",
|
|
60
|
+
"@nestia/core": "^12.0.0-rc.1",
|
|
61
|
+
"@nestia/fetcher": "^12.0.0-rc.1"
|
|
62
62
|
},
|
|
63
63
|
"peerDependencies": {
|
|
64
|
-
"@nestia/core": "^12.0.0-
|
|
64
|
+
"@nestia/core": "^12.0.0-rc.1"
|
|
65
65
|
},
|
|
66
66
|
"devDependencies": {
|
|
67
67
|
"@modelcontextprotocol/sdk": "^1.18.0",
|
|
68
68
|
"@nestjs/common": "^11.1.6",
|
|
69
69
|
"@nestjs/core": "^11.1.6",
|
|
70
|
-
"@typescript/native-preview": "7.0.0-dev.20260518.1",
|
|
71
70
|
"@types/express": "^4.17.15",
|
|
72
71
|
"@types/node": "^25.3.3",
|
|
73
|
-
"rimraf": "^6.1.3"
|
|
72
|
+
"rimraf": "^6.1.3",
|
|
73
|
+
"typescript": "7.0.1-rc"
|
|
74
74
|
},
|
|
75
75
|
"files": [
|
|
76
76
|
"assets",
|
|
@@ -25,27 +25,56 @@ export namespace AccessorAnalyzer {
|
|
|
25
25
|
};
|
|
26
26
|
|
|
27
27
|
const variable = (routeList: Array<AnyRoute>) => {
|
|
28
|
-
const
|
|
28
|
+
const reserved: Set<string> = reserve(routeList);
|
|
29
|
+
const assigned: Map<string, string> = new Map();
|
|
30
|
+
const used: Set<string> = new Set();
|
|
29
31
|
for (const route of routeList) {
|
|
30
|
-
const emended: string[] =
|
|
32
|
+
const emended: string[] = [];
|
|
31
33
|
route.accessor.forEach((accessor, i) => {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
const source: string = route.accessor.slice(0, i + 1).join(".");
|
|
35
|
+
const registered: string | undefined = assigned.get(source);
|
|
36
|
+
if (registered !== undefined) {
|
|
37
|
+
emended.push(registered.split(".").at(-1)!);
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
accessor = normalize(accessor);
|
|
42
|
+
while (NamingConvention.variable(accessor) === false)
|
|
34
43
|
accessor = "_" + accessor;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
44
|
+
while (true) {
|
|
45
|
+
const partial: string = [...emended, accessor].join(".");
|
|
46
|
+
if (
|
|
47
|
+
used.has(partial) === false &&
|
|
48
|
+
(reserved.has(partial) === false || partial === source)
|
|
49
|
+
) {
|
|
50
|
+
assigned.set(source, partial);
|
|
51
|
+
used.add(partial);
|
|
52
|
+
emended.push(accessor);
|
|
41
53
|
break;
|
|
42
54
|
}
|
|
55
|
+
accessor = "_" + accessor;
|
|
43
56
|
}
|
|
44
57
|
});
|
|
45
58
|
route.accessor.splice(0, route.accessor.length, ...emended);
|
|
46
59
|
}
|
|
47
60
|
};
|
|
48
61
|
|
|
62
|
+
const reserve = (routeList: Array<AnyRoute>): Set<string> => {
|
|
63
|
+
const output: Set<string> = new Set();
|
|
64
|
+
for (const route of routeList)
|
|
65
|
+
route.accessor.forEach((_a, i) => {
|
|
66
|
+
const partial: string[] = route.accessor.slice(0, i + 1);
|
|
67
|
+
if (partial.every(NamingConvention.variable))
|
|
68
|
+
output.add(partial.join("."));
|
|
69
|
+
});
|
|
70
|
+
return output;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
const normalize = (accessor: string): string => {
|
|
74
|
+
const output: string = accessor.replace(/[^A-Za-z0-9_$]/g, "_");
|
|
75
|
+
return output.length ? output : "_";
|
|
76
|
+
};
|
|
77
|
+
|
|
49
78
|
const shrink = (routeList: Array<AnyRoute>) => {
|
|
50
79
|
const dict: Map<string, number> = prepare(routeList);
|
|
51
80
|
for (const route of routeList) {
|
|
@@ -7,6 +7,7 @@ import fs from "fs";
|
|
|
7
7
|
import getFunctionLocation from "get-function-location";
|
|
8
8
|
import path from "path";
|
|
9
9
|
import { HashMap, Pair, Singleton } from "tstl";
|
|
10
|
+
import { pathToFileURL } from "url";
|
|
10
11
|
|
|
11
12
|
import { INestiaConfig } from "../INestiaConfig";
|
|
12
13
|
import { SdkGenerator } from "../generates/SdkGenerator";
|
|
@@ -41,9 +42,12 @@ export namespace ConfigAnalyzer {
|
|
|
41
42
|
const runtime: RuntimeCompiler = await RuntimeCompiler.compile(sources);
|
|
42
43
|
const controllers: INestiaSdkInput.IController[] = [];
|
|
43
44
|
for (const file of sources) {
|
|
44
|
-
const external:
|
|
45
|
+
const external: Record<string, unknown> = await dynamicImport(
|
|
46
|
+
pathToFileURL(runtime.output(file)).href,
|
|
47
|
+
);
|
|
45
48
|
for (const key in external) {
|
|
46
|
-
const instance:
|
|
49
|
+
const instance: unknown = external[key];
|
|
50
|
+
if (typeof instance !== "function") continue;
|
|
47
51
|
if (Reflect.getMetadata("path", instance) !== undefined)
|
|
48
52
|
controllers.push({
|
|
49
53
|
class: instance,
|
|
@@ -281,7 +285,13 @@ const isTransform = (plugin: RuntimePlugin, name: string): boolean =>
|
|
|
281
285
|
typeof plugin.transform === "string" && plugin.transform.includes(name);
|
|
282
286
|
|
|
283
287
|
const replaceExtension = (file: string, extension: string): string =>
|
|
284
|
-
file.replace(/\.[cm]?tsx?$/i,
|
|
288
|
+
file.replace(/\.[cm]?tsx?$/i, (matched) =>
|
|
289
|
+
matched.toLowerCase() === ".mts"
|
|
290
|
+
? ".mjs"
|
|
291
|
+
: matched.toLowerCase() === ".cts"
|
|
292
|
+
? ".cjs"
|
|
293
|
+
: extension,
|
|
294
|
+
);
|
|
285
295
|
|
|
286
296
|
const normalizeProjectPath = (project: string | undefined): string => {
|
|
287
297
|
const next: string = project ?? "tsconfig.json";
|
|
@@ -302,14 +312,18 @@ const normalize_file = (str: string) =>
|
|
|
302
312
|
const filter =
|
|
303
313
|
(config: INestiaConfig) =>
|
|
304
314
|
async (location: string): Promise<boolean> =>
|
|
305
|
-
|
|
306
|
-
!location.endsWith(".d.ts") &&
|
|
315
|
+
SourceFinder.isTypeScriptSource(location) &&
|
|
307
316
|
(config.output === undefined ||
|
|
308
317
|
(location.indexOf(path.join(config.output, "functional")) === -1 &&
|
|
309
318
|
(await (
|
|
310
319
|
await bundler.get(config.output)
|
|
311
320
|
)(location))) === false);
|
|
312
321
|
|
|
322
|
+
const dynamicImport: (specifier: string) => Promise<any> = Function(
|
|
323
|
+
"specifier",
|
|
324
|
+
"return import(specifier);",
|
|
325
|
+
) as (specifier: string) => Promise<any>;
|
|
326
|
+
|
|
313
327
|
const bundler = new Singleton(async (output: string) => {
|
|
314
328
|
const assets: string[] = await fs.promises.readdir(SdkGenerator.BUNDLE_PATH);
|
|
315
329
|
const tuples: Pair<string, boolean>[] = await ArrayUtil.asyncMap(
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {
|
|
2
|
+
type NumericLiteral,
|
|
3
|
+
type PrefixUnaryExpression,
|
|
4
|
+
SyntaxKind,
|
|
5
|
+
factory,
|
|
6
|
+
} from "@ttsc/factory";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Numeric-literal helper that handles negative values via a leading
|
|
10
|
+
* `MinusToken` prefix unary, matching how the TypeScript factory itself emits
|
|
11
|
+
* negative numeric literals.
|
|
12
|
+
*/
|
|
13
|
+
export namespace ExpressionFactory {
|
|
14
|
+
export const number = (
|
|
15
|
+
value: number,
|
|
16
|
+
): NumericLiteral | PrefixUnaryExpression =>
|
|
17
|
+
value < 0
|
|
18
|
+
? factory.createPrefixUnaryExpression(
|
|
19
|
+
SyntaxKind.MinusToken,
|
|
20
|
+
factory.createNumericLiteral(Math.abs(value)),
|
|
21
|
+
)
|
|
22
|
+
: factory.createNumericLiteral(value);
|
|
23
|
+
}
|