Skip to content

Commit 0dad3aa

Browse files
authored
feat(multipart-form): concurrent rxjs version (#17)
Completely reimplement the multipart-form package using rxjs. Release-As: 1.0.0-alpha.1
1 parent bc04b84 commit 0dad3aa

39 files changed

+3212
-1139
lines changed

.vscode/launch.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"version": "0.2.0",
3+
"configurations": [
4+
{
5+
"name": "Debug Jest Tests",
6+
"type": "node",
7+
"request": "launch",
8+
"runtimeArgs": [
9+
"--inspect-brk",
10+
"${workspaceRoot}/node_modules/jest/bin/jest.js",
11+
"--runInBand"
12+
],
13+
"console": "integratedTerminal",
14+
"internalConsoleOptions": "neverOpen"
15+
}
16+
]
17+
}

README.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,14 @@ npm install @proventuslabs/nestjs-zod
2525

2626
### [@proventuslabs/nestjs-multipart-form](./packages/multipart-form/)
2727

28-
A lightweight and efficient NestJS package for handling multipart form data and file uploads with streaming support and type safety.
28+
A lightweight NestJS package for handling multipart form data with RxJS streaming, type safety, and composable operators.
2929

3030
**Features:**
31-
- 📁 **Streaming File Uploads**: Handle large files efficiently with Node.js streams
32-
- 🎯 **Type-Safe Decorators**: Built-in decorators for single and multiple file uploads
33-
- 🔧 **Flexible Configuration**: Customizable Busboy configuration options
34-
- 🛡️ **Validation Support**: Built-in validation for required files and fields
35-
-**High Performance**: Lightweight implementation with minimal overhead (busboy)
36-
- 🔄 **Express Integration**: Seamless integration with Express.js applications
31+
- 🔄 **RxJS Streaming**: Process files/fields as they arrive, not after complete parsing
32+
- 🎯 **Type-Safe**: Full TypeScript support with `MultipartFileStream` and `MultipartFileBuffer`
33+
- 🔧 **Composable Operators**: Reusable operators for filtering, validation, and transformation
34+
- 🛡️ **Pattern Matching**: Support for exact matches and "starts with" patterns (`^prefix_`)
35+
- 🚨 **Error Handling**: Built-in validation with proper HTTP status codes
3736

3837
**Installation:**
3938
```bash

package-lock.json

Lines changed: 10 additions & 21 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)