@nestia/core 4.0.0 → 4.0.1-dev.20241203

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.
@@ -21,7 +21,12 @@ var FileTransformer;
21
21
  file,
22
22
  node,
23
23
  }), transformer);
24
- return typescript_1.default.factory.updateSourceFile(file, [...importer.toStatements(), ...file.statements], false, file.referencedFiles, file.typeReferenceDirectives, file.hasNoDefaultLib, file.libReferenceDirectives);
24
+ const index = find_import_injection_index(file);
25
+ return typescript_1.default.factory.updateSourceFile(file, [
26
+ ...file.statements.slice(0, index),
27
+ ...importer.toStatements(),
28
+ ...file.statements.slice(index),
29
+ ], false, file.referencedFiles, file.typeReferenceDirectives, file.hasNoDefaultLib, file.libReferenceDirectives);
25
30
  };
26
31
  const iterate_node = (props) => {
27
32
  var _a;
@@ -54,6 +59,18 @@ var FileTransformer;
54
59
  return null;
55
60
  }
56
61
  };
62
+ const find_import_injection_index = (file) => {
63
+ let i = 0;
64
+ for (; i < file.statements.length; ++i) {
65
+ const stmt = file.statements[i];
66
+ if (typescript_1.default.isExpressionStatement(stmt) &&
67
+ typescript_1.default.isStringLiteralLike(stmt.expression) &&
68
+ stmt.expression.text.startsWith("use "))
69
+ continue;
70
+ break;
71
+ }
72
+ return i;
73
+ };
57
74
  })(FileTransformer || (exports.FileTransformer = FileTransformer = {}));
58
75
  const isTransformerError = (error) => typeof error === "object" &&
59
76
  error !== null &&
@@ -1 +1 @@
1
- {"version":3,"file":"FileTransformer.js","sourceRoot":"","sources":["../../src/transformers/FileTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,4DAA4B;AAC5B,6EAA0E;AAI1E,uDAAoD;AAEpD,IAAiB,eAAe,CA2E/B;AA3ED,WAAiB,eAAe;IACjB,yBAAS,GACpB,CAAC,OAAkE,EAAE,EAAE,CACvE,CAAC,WAAqC,EAAE,EAAE,CAC1C,CAAC,IAAmB,EAAiB,EAAE;QACrC,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,QAAQ,GAAG,IAAI,mCAAgB,CAAC;YACpC,cAAc,EAAE,uBAAuB;SACxC,CAAC,CAAC;QACH,IAAI,GAAG,oBAAE,CAAC,cAAc,CACtB,IAAI,EACJ,CAAC,IAAI,EAAE,EAAE,CACP,YAAY,CAAC;YACX,OAAO,kCACF,OAAO,KACV,WAAW;gBACX,QAAQ,GACT;YACD,IAAI;YACJ,IAAI;SACL,CAAC,EACJ,WAAW,CACZ,CAAC;QACF,OAAO,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAChC,IAAI,EACJ,CAAC,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAChD,KAAK,EACL,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,uBAAuB,EAC5B,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,sBAAsB,CAC5B,CAAC;IACJ,CAAC,CAAC;IAEJ,MAAM,YAAY,GAAG,CAAC,KAIrB,EAAW,EAAE;;QACZ,OAAA,oBAAE,CAAC,cAAc,CACf,MAAA,kBAAkB,CAAC,KAAK,CAAC,mCAAI,KAAK,CAAC,IAAI,EACvC,CAAC,KAAK,EAAE,EAAE,CACR,YAAY,CAAC;YACX,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,IAAI,EAAE,KAAK;SACZ,CAAC,EACJ,KAAK,CAAC,OAAO,CAAC,WAAW,CAC1B,CAAA;KAAA,CAAC;IAEJ,MAAM,kBAAkB,GAAG,CAAC,KAI3B,EAAkB,EAAE;;;QACnB,IAAI,CAAC;YACH,OAAO,iCAAe,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,gCAAgC;YAChC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC;gBAAE,MAAM,GAAG,CAAC;YAExC,+CAA+C;YAC/C,YAAC,KAAK,CAAC,IAAY,EAAC,MAAM,uCAAN,MAAM,GAAK,KAAK,CAAC,IAAI,EAAC;YAE1C,oBAAoB;YACpB,MAAM,UAAU,GAAI,oBAAU,CAAC,uBAAuB,CAAC,KAAK,CAAC,IAAI,EAAE;gBACjE,GAAG,EAAE,GAAG,CAAC,IAAI;gBACb,QAAQ,EAAE,oBAAE,CAAC,kBAAkB,CAAC,KAAK;gBACrC,OAAO,EAAE,GAAG,CAAC,OAAO;gBACpB,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,GAAU;aAC7B,CAAC,CAAC;YACH,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;AACJ,CAAC,EA3EgB,eAAe,+BAAf,eAAe,QA2E/B;AAED,MAAM,kBAAkB,GAAG,CAAC,KAAU,EAA6B,EAAE,CACnE,OAAO,KAAK,KAAK,QAAQ;IACzB,KAAK,KAAK,IAAI;IACd,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,kBAAkB;IAC7C,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;IAC9B,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC"}
1
+ {"version":3,"file":"FileTransformer.js","sourceRoot":"","sources":["../../src/transformers/FileTransformer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/core",
3
- "version": "4.0.0",
3
+ "version": "4.0.1-dev.20241203",
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.0.0",
39
+ "@nestia/fetcher": "^4.0.1-dev.20241203",
40
40
  "@nestjs/common": ">=7.0.1",
41
41
  "@nestjs/core": ">=7.0.1",
42
42
  "@samchon/openapi": "^2.0.0",
@@ -48,16 +48,16 @@
48
48
  "reflect-metadata": ">=0.1.12",
49
49
  "rxjs": ">=6.0.3",
50
50
  "tgrid": "^1.0.0",
51
- "typia": "^7.0.0",
51
+ "typia": "^7.0.1",
52
52
  "ws": "^7.5.3"
53
53
  },
54
54
  "peerDependencies": {
55
- "@nestia/fetcher": ">=4.0.0",
55
+ "@nestia/fetcher": ">=4.0.1-dev.20241203",
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": ">=7.0.0 <8.0.0"
60
+ "typia": ">=7.0.1 <8.0.0"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@nestjs/common": "^10.3.3",
@@ -28,9 +28,14 @@ export namespace FileTransformer {
28
28
  }),
29
29
  transformer,
30
30
  );
31
+ const index: number = find_import_injection_index(file);
31
32
  return ts.factory.updateSourceFile(
32
33
  file,
33
- [...importer.toStatements(), ...file.statements],
34
+ [
35
+ ...file.statements.slice(0, index),
36
+ ...importer.toStatements(),
37
+ ...file.statements.slice(index),
38
+ ],
34
39
  false,
35
40
  file.referencedFiles,
36
41
  file.typeReferenceDirectives,
@@ -80,6 +85,21 @@ export namespace FileTransformer {
80
85
  return null;
81
86
  }
82
87
  };
88
+
89
+ const find_import_injection_index = (file: ts.SourceFile): number => {
90
+ let i: number = 0;
91
+ for (; i < file.statements.length; ++i) {
92
+ const stmt: ts.Statement = file.statements[i]!;
93
+ if (
94
+ ts.isExpressionStatement(stmt) &&
95
+ ts.isStringLiteralLike(stmt.expression) &&
96
+ stmt.expression.text.startsWith("use ")
97
+ )
98
+ continue;
99
+ break;
100
+ }
101
+ return i;
102
+ };
83
103
  }
84
104
 
85
105
  const isTransformerError = (error: any): error is TransformerError =>