@nmshd/typescript-rest 3.1.2 → 3.1.4
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
|
@@ -12,13 +12,13 @@ It can be used to define your APIs using decorators.
|
|
|
12
12
|
|
|
13
13
|
**Table of Contents**
|
|
14
14
|
|
|
15
|
-
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
21
|
-
-
|
|
15
|
+
- [REST Services for Typescript](#rest-services-for-typescript)
|
|
16
|
+
- [Installation](#installation)
|
|
17
|
+
- [Configuration](#configuration)
|
|
18
|
+
- [Basic Usage](#basic-usage)
|
|
19
|
+
- [Using with an IoC Container](#using-with-an-ioc-container)
|
|
20
|
+
- [Complete Guide](#complete-guide)
|
|
21
|
+
- [Boilerplate Project](#boilerplate-project)
|
|
22
22
|
|
|
23
23
|
## Installation
|
|
24
24
|
|
|
@@ -90,9 +90,7 @@ npm install @nmshd/typescript-rest-ioc --save
|
|
|
90
90
|
Then add a rest.config file in the root of your project:
|
|
91
91
|
|
|
92
92
|
```json
|
|
93
|
-
{
|
|
94
|
-
"serviceFactory": "@nmshd/typescript-rest-ioc"
|
|
95
|
-
}
|
|
93
|
+
{ "serviceFactory": "@nmshd/typescript-rest-ioc" }
|
|
96
94
|
```
|
|
97
95
|
|
|
98
96
|
And you can use Injections, Request scopes and all the features of the IoC Container. It is possible to use it with any other IoC Container, like Inversify.
|
|
@@ -50,7 +50,8 @@ class ParameterProcessor {
|
|
|
50
50
|
});
|
|
51
51
|
parameterMapper.set(metadata_1.ParamType.form, (context, property) => this.convertType(context.request.body[property.name], property.propertyType));
|
|
52
52
|
parameterMapper.set(metadata_1.ParamType.param, (context, property) => {
|
|
53
|
-
|
|
53
|
+
var _a;
|
|
54
|
+
const paramValue = ((_a = context.request.body) !== null && _a !== void 0 ? _a : {})[property.name] || context.request.query[property.name];
|
|
54
55
|
return this.convertType(paramValue, property.propertyType);
|
|
55
56
|
});
|
|
56
57
|
parameterMapper.set(metadata_1.ParamType.context, (context) => context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parameter-processor.js","sourceRoot":"","sources":["../../src/server/parameter-processor.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"parameter-processor.js","sourceRoot":"","sources":["../../src/server/parameter-processor.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nmshd/typescript-rest",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.4",
|
|
4
4
|
"description": "A Library to create RESTFul APIs with Typescript",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"API",
|
|
@@ -61,15 +61,15 @@
|
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
63
|
"@types/body-parser": "1.19.5",
|
|
64
|
-
"@types/cookie-parser": "^1.4.
|
|
65
|
-
"@types/express": "^5.0.
|
|
64
|
+
"@types/cookie-parser": "^1.4.8",
|
|
65
|
+
"@types/express": "^5.0.2",
|
|
66
66
|
"@types/multer": "1.4.12",
|
|
67
|
-
"body-parser": "^
|
|
67
|
+
"body-parser": "^2.2.0",
|
|
68
68
|
"cookie-parser": "^1.4.7",
|
|
69
|
-
"express": "^
|
|
70
|
-
"fs-extra": "^11.
|
|
69
|
+
"express": "^5.1.0",
|
|
70
|
+
"fs-extra": "^11.3.0",
|
|
71
71
|
"lodash": "^4.17.21",
|
|
72
|
-
"multer": "^
|
|
72
|
+
"multer": "^2.0.0",
|
|
73
73
|
"reflect-metadata": "^0.2.2",
|
|
74
74
|
"require-glob": "^4.1.0",
|
|
75
75
|
"swagger-ui-express": "^5.0.1",
|
|
@@ -80,9 +80,9 @@
|
|
|
80
80
|
"@nmshd/typescript-ioc": "^3.2.4",
|
|
81
81
|
"@types/debug": "^4.1.12",
|
|
82
82
|
"@types/fs-extra": "^11.0.4",
|
|
83
|
-
"@types/jest": "^29.5.
|
|
84
|
-
"@types/lodash": "^4.17.
|
|
85
|
-
"@types/node": "^22.
|
|
83
|
+
"@types/jest": "^29.5.14",
|
|
84
|
+
"@types/lodash": "^4.17.16",
|
|
85
|
+
"@types/node": "^22.15.19",
|
|
86
86
|
"@types/request": "^2.48.12",
|
|
87
87
|
"@types/yamljs": "^0.2.34",
|
|
88
88
|
"@typescript-eslint/eslint-plugin": "^6.20.0",
|
|
@@ -93,11 +93,11 @@
|
|
|
93
93
|
"eslint-plugin-jsdoc": "^48.0.4",
|
|
94
94
|
"eslint-plugin-prefer-arrow": "^1.2.3",
|
|
95
95
|
"jest": "^29.7.0",
|
|
96
|
-
"prettier": "^3.
|
|
96
|
+
"prettier": "^3.5.3",
|
|
97
97
|
"request": "^2.88.2",
|
|
98
98
|
"rimraf": "^6.0.1",
|
|
99
|
-
"ts-jest": "^29.
|
|
100
|
-
"typescript": "^5.
|
|
99
|
+
"ts-jest": "^29.3.4",
|
|
100
|
+
"typescript": "^5.8.3"
|
|
101
101
|
},
|
|
102
102
|
"engines": {
|
|
103
103
|
"node": ">=6.0.0"
|
|
@@ -72,7 +72,7 @@ export class ParameterProcessor {
|
|
|
72
72
|
this.convertType(context.request.body[property.name], property.propertyType)
|
|
73
73
|
);
|
|
74
74
|
parameterMapper.set(ParamType.param, (context, property) => {
|
|
75
|
-
const paramValue = context.request.body[property.name] || context.request.query[property.name];
|
|
75
|
+
const paramValue = (context.request.body ?? {})[property.name] || context.request.query[property.name];
|
|
76
76
|
return this.convertType(paramValue, property.propertyType);
|
|
77
77
|
});
|
|
78
78
|
parameterMapper.set(ParamType.context, (context) => context);
|