typia 3.4.8 → 3.4.10

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/README.md CHANGED
@@ -41,6 +41,16 @@ Also, as `typia` performs AOT (Ahead of Time) compilation skill, its performance
41
41
 
42
42
 
43
43
 
44
+ ## Sponsors and Backers
45
+ Thanks for your support.
46
+
47
+ Your donation would encourage `typia` development.
48
+
49
+ [![Backers](https://opencollective.com/typia/backers.svg?width=1000)](https://opencollective.com/typia)
50
+
51
+
52
+
53
+
44
54
  ## Setup
45
55
  ### Setup Wizard
46
56
  ```bash
@@ -78,7 +88,7 @@ If you want to install and setup `typia` manually, read [Guide Documents - Setup
78
88
 
79
89
  Also, the [Guide Documents - Setup](https://github.com/samchon/typia/wiki/Setup), you can learn how to use pure TypeScript compiler `tsc` instead of installing the `ttypescript` compiler with `ttsc` command.
80
90
 
81
- ### vite
91
+ ### Vite
82
92
  When you want to setup `typia` on your frontend project with [`vite`](https://vitejs.dev/), just configure `vite.config.ts` like below.
83
93
 
84
94
  For reference, don't forget running [Setup Wizard](#setup-wizard) before.
@@ -203,104 +213,36 @@ export function createAssertStringify<T>(): (input: T) => string;
203
213
 
204
214
  ## Appendix
205
215
  ### Nestia
206
- https://github.com/samchon/nestia
207
-
208
- Automatic `SDK` and `Swagger` generator for `NestJS`, evolved than ever.
209
-
210
- `nestia` is an evolved `SDK` and `Swagger` generator, which analyzes your `NestJS` server code in the compilation level. With `nestia` and compilation level analyzer, you don't need to write any swagger or class-validator decorators.
211
-
212
- Reading below table and example code, feel how the "compilation level" makes `nestia` stronger.
213
-
214
- Components | `nestia`::SDK | `nestia`::swagger | `@nestjs/swagger`
215
- -----------|---|---|---
216
- Pure DTO interface | ✔ | ✔ | ❌
217
- Description comments | ✔ | ✔ | ❌
218
- Simple structure | ✔ | ✔ | ✔
219
- Generic type | ✔ | ✔ | ❌
220
- Union type | ✔ | ✔ | ▲
221
- Intersection type | ✔ | ✔ | ▲
222
- Conditional type | ✔ | ▲ | ❌
223
- Auto completion | ✔ | ❌ | ❌
224
- Type hints | ✔ | ❌ | ❌
225
- 5x faster `JSON.stringify()` | ✔ | ❌ | ❌
226
- Ensure type safety | ✅ | ❌ | ❌
227
-
228
- ```typescript
229
- // IMPORT SDK LIBRARY GENERATED BY NESTIA
230
- import api from "@samchon/shopping-api";
231
- import { IPage } from "@samchon/shopping-api/lib/structures/IPage";
232
- import { ISale } from "@samchon/shopping-api/lib/structures/ISale";
233
- import { ISaleArticleComment } from "@samchon/shopping-api/lib/structures/ISaleArticleComment";
234
- import { ISaleQuestion } from "@samchon/shopping-api/lib/structures/ISaleQuestion";
235
-
236
- export async function trace_sale_question_and_comment
237
- (connection: api.IConnection): Promise<void>
238
- {
239
- // LIST UP SALE SUMMARIES
240
- const index: IPage<ISale.ISummary> = await api.functional.shoppings.sales.index
241
- (
242
- connection,
243
- "general",
244
- { limit: 100, page: 1 }
245
- );
246
-
247
- // PICK A SALE
248
- const sale: ISale = await api.functional.shoppings.sales.at
249
- (
250
- connection,
251
- index.data[0].id
252
- );
253
- console.log("sale", sale);
254
-
255
- // WRITE A QUESTION
256
- const question: ISaleQuestion = await api.functional.shoppings.sales.questions.store
257
- (
258
- connection,
259
- "general",
260
- sale.id,
261
- {
262
- title: "How to use this product?",
263
- body: "The description is not fully enough. Can you introduce me more?",
264
- files: []
265
- }
266
- );
267
- console.log("question", question);
268
-
269
- // WRITE A COMMENT
270
- const comment: ISaleArticleComment = await api.functional.shoppings.sales.comments.store
271
- (
272
- connection,
273
- "general",
274
- sale.id,
275
- question.id,
276
- {
277
- body: "p.s) Can you send me a detailed catalogue?",
278
- anonymous: false
279
- }
280
- );
281
- console.log("comment", comment);
282
- }
283
- ```
284
-
285
- ### Nestia-Helper
286
- https://github.com/samchon/nestia-helper
216
+ [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/samchon/nestia/blob/master/LICENSE)
217
+ [![npm version](https://img.shields.io/npm/v/@nestia/core.svg)](https://www.npmjs.com/package/@nestia/core)
218
+ [![Downloads](https://img.shields.io/npm/dm/@nestia/core.svg)](https://www.npmjs.com/package/@nestia/core)
219
+ [![Build Status](https://github.com/samchon/typia/workflows/build/badge.svg)](https://github.com/samchon/nestia/actions?query=workflow%3Abuild)
220
+ [![Guide Documents](https://img.shields.io/badge/wiki-documentation-forestgreen)](https://github.com/samchon/nestia/wiki)
287
221
 
288
- Helper library of `NestJS`, using this `typia`.
222
+ [Nestia](https://github.com/samchon/nestia) is a helper library set for `NestJS`, supporting below features:
289
223
 
290
- `nestia-helper` is a helper library of `NestJS`, which boosts up the `JSON.stringify()` speed 5x times faster about the API responses, automatically. Also, `nestia-helper` supports automatic validation of request body, that is maximum 15,000x times faster than legacy `class-validator` too.
224
+ - [`@nestia/core`](https://github.com/samchon/nestia#nestiacore): **15,000x times faster** validation decorator using `typia`
225
+ - [`@nestia/sdk`](https://github.com/samchon/nestia#nestiasdk): evolved **SDK** and **Swagger** generator for `@nestia/core`
226
+ - `nestia`: just CLI (command line interface) tool
291
227
 
292
228
  ```typescript
293
- import helper from "nestia-helper";
294
- import * as nest from "@nestjs/common";
295
-
296
- @nest.Controller("bbs/articles")
297
- export class BbsArticlesController
298
- {
299
- // automatic typia.stringify() for response body
300
- @helper.TypedRoute.Get()
301
- public store(
302
- // automatic typia.assert() for request body
303
- @helper.TypedBody() input: IBbsArticle.IStore
229
+ import { Controller } from "@nestjs/common";
230
+ import { TypedBody, TypedRoute } from "@nestia/core";
231
+
232
+ import { IBbsArticle } from "@bbs-api/structures/IBbsArticle";
233
+
234
+ @Controller("bbs/articles")
235
+ export class BbsArticlesController {
236
+ /**
237
+ * Store a new content.
238
+ *
239
+ * @param inupt Content to store
240
+ * @returns Newly archived article
241
+ */
242
+ @TypedRoute.Post() // 10x faster and safer JSON.stringify()
243
+ public async store(
244
+ // super-fast validator
245
+ @TypedBody() input: IBbsArticle.IStore
304
246
  ): Promise<IBbsArticle>;
305
247
  }
306
248
  ```
@@ -78,7 +78,7 @@ var TypiaSetupWizard;
78
78
  pack = _a.sent();
79
79
  add(manager)(pack)("ttypescript", true);
80
80
  add(manager)(pack)("ts-node", true);
81
- return [4, configure(manager)];
81
+ return [4, configure(manager)(pack)];
82
82
  case 2:
83
83
  _a.sent();
84
84
  return [2];
@@ -114,7 +114,7 @@ var TypiaSetupWizard;
114
114
  return [4, fs_1.default.promises.writeFile("package.json", JSON.stringify(pack, null, 2), "utf8")];
115
115
  case 3:
116
116
  _d.sent();
117
- return [4, configure(manager)];
117
+ return [4, configure(manager)(pack)];
118
118
  case 4:
119
119
  _d.sent();
120
120
  return [2];
@@ -1 +1 @@
1
- {"version":3,"file":"TypiaSetupWizard.js","sourceRoot":"","sources":["../../../src/executable/internal/TypiaSetupWizard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypiaSetupWizard.js","sourceRoot":"","sources":["../../../src/executable/internal/TypiaSetupWizard.ts"],"names":[],"mappings":"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"}
File without changes
@@ -2,6 +2,6 @@ import ts from "typescript";
2
2
  export declare namespace ExpressionFactory {
3
3
  function isRequired(input: ts.Expression): ts.Expression;
4
4
  function isArray(input: ts.Expression): ts.Expression;
5
- function isObject(input: ts.Expression, nullChecked: boolean): ts.Expression;
5
+ function isObject(input: ts.Expression, checkNull: boolean): ts.Expression;
6
6
  function isInstanceOf(input: ts.Expression, type: string): ts.Expression;
7
7
  }
@@ -15,15 +15,14 @@ var ExpressionFactory;
15
15
  return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Array.isArray"), undefined, [input]);
16
16
  }
17
17
  ExpressionFactory.isArray = isArray;
18
- function isObject(input, nullChecked) {
18
+ function isObject(input, checkNull) {
19
19
  var conditions = [
20
20
  typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("object"), typescript_1.default.factory.createTypeOfExpression(input)),
21
21
  ];
22
- if (nullChecked === true)
22
+ if (checkNull === true)
23
23
  conditions.push(typescript_1.default.factory.createStrictInequality(typescript_1.default.factory.createNull(), input));
24
- return conditions.length === 1
25
- ? conditions[0]
26
- : conditions.reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
24
+ conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createFalse(), typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("Array.isArray"), undefined, [input])));
25
+ return conditions.reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
27
26
  }
28
27
  ExpressionFactory.isObject = isObject;
29
28
  function isInstanceOf(input, type) {
@@ -1 +1 @@
1
- {"version":3,"file":"ExpressionFactory.js","sourceRoot":"","sources":["../../src/factories/ExpressionFactory.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,IAAiB,iBAAiB,CAiDjC;AAjDD,WAAiB,iBAAiB;IAC9B,SAAgB,UAAU,CAAC,KAAoB;QAC3C,OAAO,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CACpC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACxC,KAAK,CACR,CAAC;IACN,CAAC;IALe,4BAAU,aAKzB,CAAA;IAED,SAAgB,OAAO,CAAC,KAAoB;QACxC,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAC5C,SAAS,EACT,CAAC,KAAK,CAAC,CACV,CAAC;IACN,CAAC;IANe,yBAAO,UAMtB,CAAA;IAED,SAAgB,QAAQ,CACpB,KAAoB,EACpB,WAAoB;QAEpB,IAAM,UAAU,GAAoB;YAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EACxC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAC3C;SACJ,CAAC;QACF,IAAI,WAAW,KAAK,IAAI;YACpB,UAAU,CAAC,IAAI,CACX,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC7B,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EACvB,KAAK,CACR,CACJ,CAAC;QAEN,OAAO,UAAU,CAAC,MAAM,KAAK,CAAC;YAC1B,CAAC,CAAC,UAAU,CAAC,CAAC,CAAE;YAChB,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAjC,CAAiC,CAAC,CAAC;IACzE,CAAC;IArBe,0BAAQ,WAqBvB,CAAA;IAED,SAAgB,YAAY,CACxB,KAAoB,EACpB,IAAY;QAEZ,OAAO,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CACpC,KAAK,EACL,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EACvD,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACpC,CAAC;IACN,CAAC;IATe,8BAAY,eAS3B,CAAA;AACL,CAAC,EAjDgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAiDjC"}
1
+ {"version":3,"file":"ExpressionFactory.js","sourceRoot":"","sources":["../../src/factories/ExpressionFactory.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,IAAiB,iBAAiB,CAyDjC;AAzDD,WAAiB,iBAAiB;IAC9B,SAAgB,UAAU,CAAC,KAAoB;QAC3C,OAAO,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CACpC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EACxC,KAAK,CACR,CAAC;IACN,CAAC;IALe,4BAAU,aAKzB,CAAA;IAED,SAAgB,OAAO,CAAC,KAAoB;QACxC,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAC5C,SAAS,EACT,CAAC,KAAK,CAAC,CACV,CAAC;IACN,CAAC;IANe,yBAAO,UAMtB,CAAA;IAED,SAAgB,QAAQ,CACpB,KAAoB,EACpB,SAAkB;QAElB,IAAM,UAAU,GAAoB;YAChC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EACxC,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAC3C;SACJ,CAAC;QACF,IAAI,SAAS,KAAK,IAAI;YAClB,UAAU,CAAC,IAAI,CACX,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAC7B,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EACvB,KAAK,CACR,CACJ,CAAC;QACN,UAAU,CAAC,IAAI,CACX,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EACxB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,eAAe,CAAC,EAC5C,SAAS,EACT,CAAC,KAAK,CAAC,CACV,CACJ,CACJ,CAAC;QAEF,OAAO,UAAU,CAAC,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAjC,CAAiC,CAAC,CAAC;IAC1E,CAAC;IA7Be,0BAAQ,WA6BvB,CAAA;IAED,SAAgB,YAAY,CACxB,KAAoB,EACpB,IAAY;QAEZ,OAAO,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CACpC,KAAK,EACL,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,iBAAiB,CAAC,EACvD,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CACpC,CAAC;IACN,CAAC;IATe,8BAAY,eAS3B,CAAA;AACL,CAAC,EAzDgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAyDjC"}
@@ -2,7 +2,7 @@ import ts from "typescript";
2
2
  export declare namespace ValueFactory {
3
3
  const NULL: () => ts.NullLiteral;
4
4
  const UNDEFINED: () => ts.Identifier;
5
- const BOOLEAN: (value: boolean) => ts.TrueLiteral | ts.FalseLiteral;
5
+ const BOOLEAN: (value: boolean) => ts.FalseLiteral | ts.TrueLiteral;
6
6
  const INPUT: (str?: string) => ts.Identifier;
7
7
  const TYPEOF: (input: ts.Expression) => ts.TypeOfExpression;
8
8
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "3.4.8",
3
+ "version": "3.4.10",
4
4
  "description": "Runtime type checkers and 5x faster JSON.stringify() function",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -18,7 +18,8 @@
18
18
  "eslint:fix": "eslint ./**/*.ts --fix",
19
19
  "issue": "node test/issue",
20
20
  "prettier": "prettier --write ./**/*.ts",
21
- "publish": "ts-node build/publish.ts",
21
+ "publish:latest": "ts-node build/publish.ts latest && npm deprecate typescript-json \"Renamed to typia\"",
22
+ "publish:next": "ts-node build/publish.ts next",
22
23
  "test": "node bin/test",
23
24
  "test:generate": "ts-node -P tsconfig.test.json build/test.ts",
24
25
  "test:manual": "node test/manual",
@@ -10,7 +10,7 @@ export namespace TypiaSetupWizard {
10
10
  add(manager)(pack)("ts-node", true);
11
11
 
12
12
  // TSCONFIG.JSON
13
- await configure(manager);
13
+ await configure(manager)(pack);
14
14
  }
15
15
 
16
16
  export async function tsPatch(manager: string): Promise<void> {
@@ -37,7 +37,7 @@ export namespace TypiaSetupWizard {
37
37
  );
38
38
 
39
39
  // TSCONFIG.JSON
40
- await configure(manager);
40
+ await configure(manager)(pack);
41
41
  }
42
42
 
43
43
  async function prepare(manager: string): Promise<any> {
@@ -18,7 +18,7 @@ export namespace ExpressionFactory {
18
18
 
19
19
  export function isObject(
20
20
  input: ts.Expression,
21
- nullChecked: boolean,
21
+ checkNull: boolean,
22
22
  ): ts.Expression {
23
23
  const conditions: ts.Expression[] = [
24
24
  ts.factory.createStrictEquality(
@@ -26,17 +26,25 @@ export namespace ExpressionFactory {
26
26
  ts.factory.createTypeOfExpression(input),
27
27
  ),
28
28
  ];
29
- if (nullChecked === true)
29
+ if (checkNull === true)
30
30
  conditions.push(
31
31
  ts.factory.createStrictInequality(
32
32
  ts.factory.createNull(),
33
33
  input,
34
34
  ),
35
35
  );
36
+ conditions.push(
37
+ ts.factory.createStrictEquality(
38
+ ts.factory.createFalse(),
39
+ ts.factory.createCallExpression(
40
+ ts.factory.createIdentifier("Array.isArray"),
41
+ undefined,
42
+ [input],
43
+ ),
44
+ ),
45
+ );
36
46
 
37
- return conditions.length === 1
38
- ? conditions[0]!
39
- : conditions.reduce((x, y) => ts.factory.createLogicalAnd(x, y));
47
+ return conditions.reduce((x, y) => ts.factory.createLogicalAnd(x, y));
40
48
  }
41
49
 
42
50
  export function isInstanceOf(