@nestia/core 3.1.1-dev.20240430 → 3.1.2-dev.20240505

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
@@ -10,14 +10,16 @@
10
10
 
11
11
  Nestia is a set of helper libraries for NestJS, supporting below features:
12
12
 
13
- - `@nestia/core`: Super-fast decorators
13
+ - `@nestia/core`:
14
+ - Super-fast/easy decorators
15
+ - Advanced WebSocket routes
14
16
  - `@nestia/sdk`:
15
17
  - Swagger generator evolved than ever
16
18
  - SDK library generator for clients
17
19
  - Mockup Simulator for client applications
18
20
  - Automatic E2E test functions generator
19
- - `@nestia/migrate`: Migration from Swagger to NestJS
20
- - `@nestia/editor`: Online TypeScript Swagger Editor
21
+ - `@nestia/migrate`: OpenAPI generator from Swagger to NestJS
22
+ - `@nestia/editor`: Swagger-UI with Online TypeScript Editor
21
23
  - `nestia`: Just CLI (command line interface) tool
22
24
 
23
25
  > **Note**
@@ -58,6 +60,7 @@ Check out the document in the [website](https://nestia.io/docs/):
58
60
 
59
61
  ### 📖 Features
60
62
  - Core Library
63
+ - [WebSocketRoute](https://nestia.io/docs/core/WebSocketRoute)
61
64
  - [TypedRoute](https://nestia.io/docs/core/TypedRoute/)
62
65
  - [TypedBody](https://nestia.io/docs/core/TypedBody/)
63
66
  - [TypedParam](https://nestia.io/docs/core/TypedParam/)
@@ -147,13 +147,19 @@ const decodeFastify = (_props) => (socket) => __awaiter(void 0, void 0, void 0,
147
147
  for (const elem of String(value).split(","))
148
148
  data.append(key, elem);
149
149
  try {
150
- for (var _e = true, _f = __asyncValues(socket.request.files()), _g; _g = yield _f.next(), _a = _g.done, !_a; _e = true) {
150
+ for (var _e = true, _f = __asyncValues(socket.request.parts()), _g; _g = yield _f.next(), _a = _g.done, !_a; _e = true) {
151
151
  _c = _g.value;
152
152
  _e = false;
153
- const file = _c;
154
- data.append(file.fieldname, new File([yield file.toBuffer()], file.filename, {
155
- type: file.mimetype,
156
- }));
153
+ const part = _c;
154
+ if (part.type === "file")
155
+ data.append(part.fieldname, new File([yield part.toBuffer()], part.filename, {
156
+ type: part.mimetype,
157
+ }));
158
+ else {
159
+ const value = String(part.value);
160
+ for (const elem of String(value).split(","))
161
+ data.append(part.fieldname, elem);
162
+ }
157
163
  }
158
164
  }
159
165
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
@@ -1 +1 @@
1
- {"version":3,"file":"TypedFormData.js","sourceRoot":"","sources":["../../src/decorators/TypedFormData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypedFormData.js","sourceRoot":"","sources":["../../src/decorators/TypedFormData.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nestia/core",
3
- "version": "3.1.1-dev.20240430",
3
+ "version": "3.1.2-dev.20240505",
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": "^3.1.1-dev.20240430",
39
+ "@nestia/fetcher": "^3.1.2-dev.20240505",
40
40
  "@nestjs/common": ">=7.0.1",
41
41
  "@nestjs/core": ">=7.0.1",
42
42
  "@samchon/openapi": "^0.1.21",
@@ -52,7 +52,7 @@
52
52
  "ws": "^7.5.3"
53
53
  },
54
54
  "peerDependencies": {
55
- "@nestia/fetcher": ">=3.1.1-dev.20240430",
55
+ "@nestia/fetcher": ">=3.1.2-dev.20240505",
56
56
  "@nestjs/common": ">=7.0.1",
57
57
  "@nestjs/core": ">=7.0.1",
58
58
  "reflect-metadata": ">=0.1.12",
@@ -1,4 +1,4 @@
1
- import type { MultipartFile } from "@fastify/multipart";
1
+ import type { Multipart } from "@fastify/multipart";
2
2
  import {
3
3
  BadRequestException,
4
4
  ExecutionContext,
@@ -147,7 +147,7 @@ const decodeFastify =
147
147
  <T>(_props: IRequestFormDataProps<T>) =>
148
148
  async (socket: {
149
149
  request: FastifyRequest & {
150
- files?(): AsyncIterableIterator<MultipartFile>;
150
+ parts?(): AsyncIterableIterator<Multipart>;
151
151
  };
152
152
  response: FastifyReply;
153
153
  }): Promise<FormData> => {
@@ -161,13 +161,19 @@ const decodeFastify =
161
161
  const data: FormData = new FormData();
162
162
  for (const [key, value] of Object.entries(socket.request.body ?? {}))
163
163
  for (const elem of String(value).split(",")) data.append(key, elem);
164
- for await (const file of socket.request.files())
165
- data.append(
166
- file.fieldname,
167
- new File([await file.toBuffer()], file.filename, {
168
- type: file.mimetype,
169
- }),
170
- );
164
+ for await (const part of socket.request.parts())
165
+ if (part.type === "file")
166
+ data.append(
167
+ part.fieldname,
168
+ new File([await part.toBuffer()], part.filename, {
169
+ type: part.mimetype,
170
+ }),
171
+ );
172
+ else {
173
+ const value: string = String(part.value);
174
+ for (const elem of String(value).split(","))
175
+ data.append(part.fieldname, elem);
176
+ }
171
177
  return data;
172
178
  };
173
179