@nestia/sdk 2.5.1-dev.20240201-2 → 2.5.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.
@@ -7,8 +7,6 @@ exports.SdkFunctionProgrammer = void 0;
7
7
  const typescript_1 = __importDefault(require("typescript"));
8
8
  const typia_1 = __importDefault(require("typia"));
9
9
  const IdentifierFactory_1 = require("typia/lib/factories/IdentifierFactory");
10
- const StatementFactory_1 = require("typia/lib/factories/StatementFactory");
11
- const Escaper_1 = require("typia/lib/utils/Escaper");
12
10
  const StringUtil_1 = require("../../utils/StringUtil");
13
11
  const SdkImportWizard_1 = require("./SdkImportWizard");
14
12
  const SdkTypeProgrammer_1 = require("./SdkTypeProgrammer");
@@ -31,9 +29,7 @@ var SdkFunctionProgrammer;
31
29
  ? typescript_1.default.factory.createTypeReferenceNode(`${route.name}.${p === props.query ? "Query" : "Input"}`)
32
30
  : getTypeName(config)(importer)(p))),
33
31
  ], typescript_1.default.factory.createTypeReferenceNode("Promise", [
34
- typescript_1.default.factory.createTypeReferenceNode(config.propagate !== true && route.output.typeName === "void"
35
- ? "void"
36
- : `${route.name}.Output`),
32
+ getReturnType(config)(route),
37
33
  ]), typescript_1.default.factory.createBlock(write_body(config)(importer)(route, props), true));
38
34
  };
39
35
  const write_body = (config) => (importer) => (route, props) => {
@@ -99,31 +95,32 @@ var SdkFunctionProgrammer;
99
95
  ];
100
96
  };
101
97
  const write_set_headers = (config) => (route) => (condition) => {
102
- const access = (x) => (y) => x[0] === "["
103
- ? `${x}${y}`
104
- : false === Escaper_1.Escaper.variable(y)
105
- ? `${x}[${JSON.stringify(y)}]`
106
- : `${x}.${y}`;
98
+ const accessor = (x) => (y) => x[0] === "[" ? `${x}${y}` : `${x}.${y}`;
107
99
  const output = StringUtil_1.StringUtil.escapeDuplicate([
108
100
  "connection",
109
101
  ...route.parameters.map((p) => p.name),
110
102
  ])("output");
111
- const headers = access("connection")("headers");
112
- const data = access(output)("data");
103
+ const headers = accessor("connection")("headers");
104
+ const data = config.propagate ? accessor(output)("data") : output;
113
105
  const assigners = [
114
106
  typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createIdentifier(headers), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionQuestionEqualsToken), typescript_1.default.factory.createObjectLiteralExpression([])),
115
- ...route.setHeaders.map((tuple) => tuple.type === "assigner"
116
- ? typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.assign"), [], [
117
- typescript_1.default.factory.createIdentifier(headers),
118
- typescript_1.default.factory.createIdentifier(access(data)(tuple.source)),
119
- ])
120
- : typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createIdentifier(headers), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsToken), typescript_1.default.factory.createIdentifier(access(data)(tuple.source)))),
107
+ ...route.setHeaders.map((tuple) => {
108
+ var _a;
109
+ return tuple.type === "assigner"
110
+ ? typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Object.assign"), [], [
111
+ typescript_1.default.factory.createIdentifier(headers),
112
+ typescript_1.default.factory.createIdentifier(accessor(data)(tuple.source)),
113
+ ])
114
+ : typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createIdentifier(accessor(headers)((_a = tuple.target) !== null && _a !== void 0 ? _a : tuple.source)), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsToken), typescript_1.default.factory.createIdentifier(accessor(data)(tuple.source)));
115
+ }),
121
116
  ].map(typescript_1.default.factory.createExpressionStatement);
122
117
  return [
123
- StatementFactory_1.StatementFactory.constant(output, condition),
118
+ typescript_1.default.factory.createVariableStatement([], typescript_1.default.factory.createVariableDeclarationList([
119
+ typescript_1.default.factory.createVariableDeclaration(output, undefined, getReturnType(config)(route), condition),
120
+ ], typescript_1.default.NodeFlags.Const)),
124
121
  ...(config.propagate
125
122
  ? [
126
- typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createIdentifier(access(output)("success")), assigners.length === 1
123
+ typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createIdentifier(accessor(output)("success")), assigners.length === 1
127
124
  ? assigners[0]
128
125
  : typescript_1.default.factory.createBlock(assigners, true), undefined),
129
126
  ]
@@ -135,4 +132,7 @@ var SdkFunctionProgrammer;
135
132
  const getTypeName = (config) => (importer) => (p) => p.metadata
136
133
  ? SdkTypeProgrammer_1.SdkTypeProgrammer.write(config)(importer)(p.metadata)
137
134
  : typescript_1.default.factory.createTypeReferenceNode(p.typeName);
135
+ const getReturnType = (config) => (route) => typescript_1.default.factory.createTypeReferenceNode(config.propagate !== true && route.output.typeName === "void"
136
+ ? "void"
137
+ : `${route.name}.Output`);
138
138
  //# sourceMappingURL=SdkFunctionProgrammer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SdkFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkFunctionProgrammer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAC5B,kDAA0B;AAC1B,6EAA0E;AAC1E,2EAAwE;AACxE,qDAAkD;AAKlD,uDAAoD;AAEpD,uDAAoD;AACpD,2DAAwD;AAExD,IAAiB,qBAAqB,CAoQrC;AApQD,WAAiB,qBAAqB;IACvB,2BAAK,GAChB,CAAC,MAAqB,EAAE,EAAE,CAC1B,CAAC,QAA0B,EAAE,EAAE,CAC/B,CACE,KAAa,EACb,KAIC,EACuB,EAAE;QAC1B,OAAO,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CACzC;YACE,oBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;YACtD,oBAAE,CAAC,OAAO,CAAC,cAAc,CAAC,oBAAE,CAAC,UAAU,CAAC,YAAY,CAAC;SACtD,EACD,SAAS,EACT,KAAK,CAAC,IAAI,EACV,SAAS,EACT;YACE,qCAAiB,CAAC,SAAS,CACzB,YAAY,EACZ,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,iCAAe,CAAC,WAAW,CAAC,QAAQ,CAAC,EACrC,KAAK,CAAC,OAAO;gBACX,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,GAAG,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC;gBAC/D,CAAC,CAAC,SAAS,CACd,CACF;YACD,GAAG,KAAK,CAAC,UAAU;iBAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;iBACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,oBAAE,CAAC,OAAO,CAAC,0BAA0B,CACnC,EAAE,EACF,SAAS,EACT,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,QAAQ;gBACR,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrD,CAAC,CAAC,SAAS,EACb,MAAM,CAAC,SAAS,KAAK,KAAK;gBACxB,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC;gBACxC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CACzD;gBACH,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CACrC,CACF;SACJ,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,EAAE;YAC5C,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,MAAM,CAAC,SAAS,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAK,MAAM;gBAC3D,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,SAAS,CAC3B;SACF,CAAC,EACF,oBAAE,CAAC,OAAO,CAAC,WAAW,CACpB,UAAU,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAC1C,IAAI,CACL,CACF,CAAC;IACJ,CAAC,CAAC;IAEJ,MAAM,UAAU,GACd,CAAC,MAAqB,EAAE,EAAE,CAC1B,CAAC,QAA0B,EAAE,EAAE,CAC/B,CACE,KAAa,EACb,KAIC,EACe,EAAE;QAClB,MAAM,SAAS,GACb,KAAK,CAAC,SAAS,KAAK,IAAI;YACxB,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS;gBACxB,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI;gBAC3B,KAAK,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM;gBAC/B,KAAK,CAAC,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC,CAAC;QACpC,MAAM,WAAW,GACf,KAAK,CAAC,KAAK,KAAK,SAAS;YACvB,CAAC,CAAC;;;eAAqC,KAAK,CAAC,KAAK,EAChD,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW;gBACzB,CAAC,CAAC,kBAAkB;YACtB,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,MAAM,GAAG,GAAG,EAAE;;YAClB,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,qCAAiB,CAAC,MAAM,CACtB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACzB,iCAAe,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAC7C,CACF,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC3C,SAAS,EACT;gBACE,WAAW;oBACT,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC;wBACE,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAC1C;wBACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC;4BACE,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B,qCAAiB,CAAC,MAAM,CACtB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAC1C,CAAC,SAAS,CAAC,CACb;4BACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,cAAc,CAAC,EAC9C,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAC5C;yBACF,EACD,IAAI,CACL,CACF;qBACF,EACD,IAAI,CACL;oBACH,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC;gBAC7C,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC;oBACE,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B,qCAAiB,CAAC,MAAM,CACtB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CACxC,CAAC,UAAU,CAAC,CACd;oBACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,MAAM,EACN,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,qCAAiB,CAAC,MAAM,CACtB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CACxC,CAAC,MAAM,CAAC,EACT,SAAS,EACT,KAAK,CAAC,UAAU;yBACb,MAAM,CACL,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,CACxD;yBACA,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACnD,CACF;iBACF,EACD,IAAI,CACL;gBACD,GAAG,CAAC,KAAK,CAAC,KAAK;oBACb,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBACjD,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,QAAQ,MAAK,MAAM;oBACjD,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,IAAI,YAAY,CAAC,CAAC;oBAC1D,CAAC,CAAC,EAAE,CAAC;aACR,CACF,CAAA;SAAA,CAAC;QACJ,MAAM,MAAM,GAAG,CAAC,OAAgB,EAAE,EAAE,CAClC,MAAM,CAAC,QAAQ;YACb,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CACpC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,EACpD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC,IAAI,WAAW,CAAC,EACrD,EAAE,EACF;gBACE,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC;gBACzC,GAAG,KAAK,CAAC,UAAU;qBAChB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;qBACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aACnD,CACF,EACD,SAAS,EACT,OAAO,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAChE;YACH,CAAC,CAAC,OAAO;gBACP,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC;gBAC5C,CAAC,CAAC,MAAM,EAAE,CAAC;QACjB,OAAO;YACL,GAAG,CAAC,MAAM,CAAC,MAAM;gBACf,CAAC,CAAC,KAAK,CAAC,UAAU;qBACb,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,SAAS,CAAC;qBACvC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,qCAAiB,CAAC,MAAM,CACtB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACzB,iCAAe,CAAC,KAAK,CAAC,QAAQ,CAAC,CAChC,CACF,CAAC,QAAQ,CAAC,EACX;oBACE,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CACpC;iBACF,EACD,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACtC,CACF,CACF;gBACL,CAAC,CAAC,EAAE,CAAC;YACP,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;gBAC/B,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACnD,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;SACpD,CAAC;IACJ,CAAC,CAAC;IAEJ,MAAM,iBAAiB,GACrB,CAAC,MAAqB,EAAE,EAAE,CAC1B,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,SAAwB,EAAkB,EAAE;QAC3C,MAAM,MAAM,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAS,EAAE,EAAE,CAC1C,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG;YACV,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YACZ,CAAC,CAAC,KAAK,KAAK,iBAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC7B,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG;gBAC9B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,MAAM,GAAW,uBAAU,CAAC,eAAe,CAAC;YAChD,YAAY;YACZ,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;SACvC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACb,MAAM,OAAO,GAAW,MAAM,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,CAAC;QACxD,MAAM,IAAI,GAAW,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;QAE5C,MAAM,SAAS,GAA6B;YAC1C,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,2BAA2B,CAAC,EACjE,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAC7C;YACD,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAChC,KAAK,CAAC,IAAI,KAAK,UAAU;gBACvB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAC5C,EAAE,EACF;oBACE,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC;oBACpC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;iBACxD,CACF;gBACH,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,EACpC,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EACjD,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CACxD,CACN;SACF,CAAC,GAAG,CAAC,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC5C,OAAO;YACL,mCAAgB,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;YAC5C,GAAG,CAAC,MAAM,CAAC,SAAS;gBAClB,CAAC,CAAC;oBACE,oBAAE,CAAC,OAAO,CAAC,iBAAiB,CAC1B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,EACtD,SAAS,CAAC,MAAM,KAAK,CAAC;wBACpB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;wBACd,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,CAAC,EAC3C,SAAS,CACV;iBACF;gBACH,CAAC,CAAC,SAAS,CAAC;YACd,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;SACtE,CAAC;IACJ,CAAC,CAAC;AACN,CAAC,EApQgB,qBAAqB,qCAArB,qBAAqB,QAoQrC;AAED,MAAM,WAAW,GACf,CAAC,MAAqB,EAAE,EAAE,CAC1B,CAAC,QAA0B,EAAE,EAAE,CAC/B,CAAC,CAAqC,EAAE,EAAE,CACxC,CAAC,CAAC,QAAQ;IACR,CAAC,CAAC,qCAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IACvD,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"SdkFunctionProgrammer.js","sourceRoot":"","sources":["../../../src/generates/internal/SdkFunctionProgrammer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/sdk",
3
- "version": "2.5.1-dev.20240201-2",
3
+ "version": "2.5.1",
4
4
  "description": "Nestia SDK and Swagger generator",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -32,7 +32,7 @@
32
32
  },
33
33
  "homepage": "https://nestia.io",
34
34
  "dependencies": {
35
- "@nestia/fetcher": "^2.5.1-dev.20240201-2",
35
+ "@nestia/fetcher": "^2.5.1",
36
36
  "cli": "^1.0.1",
37
37
  "get-function-location": "^2.0.0",
38
38
  "glob": "^7.2.0",
@@ -44,7 +44,7 @@
44
44
  "typia": "^5.4.1"
45
45
  },
46
46
  "peerDependencies": {
47
- "@nestia/fetcher": ">=2.5.1-dev.20240201-2",
47
+ "@nestia/fetcher": ">=2.5.1",
48
48
  "@nestjs/common": ">=7.0.1",
49
49
  "@nestjs/core": ">=7.0.1",
50
50
  "prettier": ">=2.0.0",
@@ -1,8 +1,6 @@
1
1
  import ts from "typescript";
2
2
  import typia from "typia";
3
3
  import { IdentifierFactory } from "typia/lib/factories/IdentifierFactory";
4
- import { StatementFactory } from "typia/lib/factories/StatementFactory";
5
- import { Escaper } from "typia/lib/utils/Escaper";
6
4
 
7
5
  import { INestiaConfig } from "../../INestiaConfig";
8
6
  import { IController } from "../../structures/IController";
@@ -62,11 +60,7 @@ export namespace SdkFunctionProgrammer {
62
60
  ),
63
61
  ],
64
62
  ts.factory.createTypeReferenceNode("Promise", [
65
- ts.factory.createTypeReferenceNode(
66
- config.propagate !== true && route.output.typeName === "void"
67
- ? "void"
68
- : `${route.name}.Output`,
69
- ),
63
+ getReturnType(config)(route),
70
64
  ]),
71
65
  ts.factory.createBlock(
72
66
  write_body(config)(importer)(route, props),
@@ -220,18 +214,14 @@ export namespace SdkFunctionProgrammer {
220
214
  (config: INestiaConfig) =>
221
215
  (route: IRoute) =>
222
216
  (condition: ts.Expression): ts.Statement[] => {
223
- const access = (x: string) => (y: string) =>
224
- x[0] === "["
225
- ? `${x}${y}`
226
- : false === Escaper.variable(y)
227
- ? `${x}[${JSON.stringify(y)}]`
228
- : `${x}.${y}`;
217
+ const accessor = (x: string) => (y: string) =>
218
+ x[0] === "[" ? `${x}${y}` : `${x}.${y}`;
229
219
  const output: string = StringUtil.escapeDuplicate([
230
220
  "connection",
231
221
  ...route.parameters.map((p) => p.name),
232
222
  ])("output");
233
- const headers: string = access("connection")("headers");
234
- const data: string = access(output)("data");
223
+ const headers: string = accessor("connection")("headers");
224
+ const data: string = config.propagate ? accessor(output)("data") : output;
235
225
 
236
226
  const assigners: ts.ExpressionStatement[] = [
237
227
  ts.factory.createBinaryExpression(
@@ -246,22 +236,37 @@ export namespace SdkFunctionProgrammer {
246
236
  [],
247
237
  [
248
238
  ts.factory.createIdentifier(headers),
249
- ts.factory.createIdentifier(access(data)(tuple.source)),
239
+ ts.factory.createIdentifier(accessor(data)(tuple.source)),
250
240
  ],
251
241
  )
252
242
  : ts.factory.createBinaryExpression(
253
- ts.factory.createIdentifier(headers),
243
+ ts.factory.createIdentifier(
244
+ accessor(headers)(tuple.target ?? tuple.source),
245
+ ),
254
246
  ts.factory.createToken(ts.SyntaxKind.EqualsToken),
255
- ts.factory.createIdentifier(access(data)(tuple.source)),
247
+ ts.factory.createIdentifier(accessor(data)(tuple.source)),
256
248
  ),
257
249
  ),
258
250
  ].map(ts.factory.createExpressionStatement);
259
251
  return [
260
- StatementFactory.constant(output, condition),
252
+ ts.factory.createVariableStatement(
253
+ [],
254
+ ts.factory.createVariableDeclarationList(
255
+ [
256
+ ts.factory.createVariableDeclaration(
257
+ output,
258
+ undefined,
259
+ getReturnType(config)(route),
260
+ condition,
261
+ ),
262
+ ],
263
+ ts.NodeFlags.Const,
264
+ ),
265
+ ),
261
266
  ...(config.propagate
262
267
  ? [
263
268
  ts.factory.createIfStatement(
264
- ts.factory.createIdentifier(access(output)("success")),
269
+ ts.factory.createIdentifier(accessor(output)("success")),
265
270
  assigners.length === 1
266
271
  ? assigners[0]
267
272
  : ts.factory.createBlock(assigners, true),
@@ -281,3 +286,10 @@ const getTypeName =
281
286
  p.metadata
282
287
  ? SdkTypeProgrammer.write(config)(importer)(p.metadata)
283
288
  : ts.factory.createTypeReferenceNode(p.typeName);
289
+
290
+ const getReturnType = (config: INestiaConfig) => (route: IRoute) =>
291
+ ts.factory.createTypeReferenceNode(
292
+ config.propagate !== true && route.output.typeName === "void"
293
+ ? "void"
294
+ : `${route.name}.Output`,
295
+ );