@darraghor/eslint-plugin-nestjs-typed 3.9.0 → 3.9.1
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
|
@@ -233,6 +233,18 @@ export class CreateOrganisationDto {
|
|
|
233
233
|
}
|
|
234
234
|
```
|
|
235
235
|
|
|
236
|
+
This PASSES because it is a primitive array. These don't need `@Type()` decorators.
|
|
237
|
+
|
|
238
|
+
````ts
|
|
239
|
+
class ExampleDto {
|
|
240
|
+
@ApiProperty({
|
|
241
|
+
isArray: true,
|
|
242
|
+
})
|
|
243
|
+
@Allow()
|
|
244
|
+
exampleProperty!: string[];
|
|
245
|
+
}
|
|
246
|
+
```
|
|
247
|
+
|
|
236
248
|
This FAILS because you should always tell class-transformer the type for an array
|
|
237
249
|
|
|
238
250
|
```ts
|
|
@@ -242,7 +254,7 @@ export class CreateOrganisationDto {
|
|
|
242
254
|
@IsArray()
|
|
243
255
|
members!: (Person | Date)[];
|
|
244
256
|
}
|
|
245
|
-
|
|
257
|
+
````
|
|
246
258
|
|
|
247
259
|
This FAILS because Date is not a primitive type (string, number, boolean)
|
|
248
260
|
|
|
@@ -20,10 +20,10 @@ const shouldSetArrayProperty = (node) => {
|
|
|
20
20
|
// There should only be one of these apiproperty decorators so we just grab the parameter to decorator at index 0
|
|
21
21
|
const firstArgumentToDecorator = decorators[0].expression.arguments[0];
|
|
22
22
|
const hasIsArraySetInOptions = typedTokenHelpers_1.typedTokenHelpers.getPropertyValueEqualsExpected(firstArgumentToDecorator, "isArray", true);
|
|
23
|
+
const typeAnnotation = (_a = node.typeAnnotation) === null || _a === void 0 ? void 0 : _a.typeAnnotation;
|
|
23
24
|
// handle string[] or Array<string>
|
|
24
|
-
const isArrayType = ((
|
|
25
|
-
|
|
26
|
-
const isTypescriptArrayType = ((_c = node.typeAnnotation) === null || _c === void 0 ? void 0 : _c.typeAnnotation.type) === types_1.AST_NODE_TYPES.TSArrayType;
|
|
25
|
+
const isArrayType = ((_c = (_b = typeAnnotation) === null || _b === void 0 ? void 0 : _b.typeName) === null || _c === void 0 ? void 0 : _c.name) === "Array";
|
|
26
|
+
const isTypescriptArrayType = (typeAnnotation === null || typeAnnotation === void 0 ? void 0 : typeAnnotation.type) === types_1.AST_NODE_TYPES.TSArrayType;
|
|
27
27
|
const isAnArrayLikeType = isArrayType || isTypescriptArrayType;
|
|
28
28
|
return new arraySetResultModel_1.default(isAnArrayLikeType && !hasIsArraySetInOptions, !isAnArrayLikeType && hasIsArraySetInOptions);
|
|
29
29
|
};
|
|
@@ -67,4 +67,4 @@ const rule = (0, createRule_1.createRule)({
|
|
|
67
67
|
},
|
|
68
68
|
});
|
|
69
69
|
exports.default = rule;
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpUHJvcGVydHlSZXR1cm5pbmdBcnJheVNob3VsZFNldEFycmF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3J1bGVzL2FwaVByb3BlcnR5UmV0dXJuaW5nQXJyYXlTaG91bGRTZXRBcnJheS9hcGlQcm9wZXJ0eVJldHVybmluZ0FycmF5U2hvdWxkU2V0QXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0RBQWtFO0FBQ2xFLHVEQUFrRDtBQUNsRCxxRUFBZ0U7QUFDaEUsZ0ZBQXdEO0FBRWpELE1BQU0sc0JBQXNCLEdBQUcsQ0FDbEMsSUFBaUMsRUFDZCxFQUFFOztJQUNyQixNQUFNLFVBQVUsR0FBRyxxQ0FBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUU7UUFDMUQscUJBQXFCO1FBQ3JCLGFBQWE7S0FDaEIsQ0FBQyxDQUFDO0lBRUgsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtRQUN6QixPQUFPLElBQUksNkJBQW1CLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0tBQ2hEO0lBRUQsaUhBQWlIO0lBQ2pILE1BQU0sd0JBQXdCLEdBQzFCLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUNqQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQThCLENBQUM7SUFFNUMsTUFBTSxzQkFBc0IsR0FDeEIscUNBQWlCLENBQUMsOEJBQThCLENBQzVDLHdCQUF3QixFQUN4QixTQUFTLEVBQ1QsSUFBSSxDQUNQLENBQUM7SUFFTixNQUFNLGNBQWMsR0FBRyxNQUFBLElBQUksQ0FBQyxjQUFjLDBDQUFFLGNBQWMsQ0FBQztJQUMzRCxtQ0FBbUM7SUFDbkMsTUFBTSxXQUFXLEdBQ2IsQ0FBQSxNQUNJLE1BQUMsY0FBdUQsMENBQ2xELFFBQ1QsMENBQUUsSUFBSSxNQUFLLE9BQU8sQ0FBQztJQUN4QixNQUFNLHFCQUFxQixHQUN2QixDQUFBLGNBQWMsYUFBZCxjQUFjLHVCQUFkLGNBQWMsQ0FBRSxJQUFJLE1BQUssc0JBQWMsQ0FBQyxXQUFXLENBQUM7SUFDeEQsTUFBTSxpQkFBaUIsR0FBRyxXQUFXLElBQUkscUJBQXFCLENBQUM7SUFFL0QsT0FBTyxJQUFJLDZCQUFtQixDQUMxQixpQkFBaUIsSUFBSSxDQUFDLHNCQUFzQixFQUM1QyxDQUFDLGlCQUFpQixJQUFJLHNCQUFzQixDQUMvQyxDQUFDO0FBQ04sQ0FBQyxDQUFDO0FBdkNXLFFBQUEsc0JBQXNCLDBCQXVDakM7QUFFRixNQUFNLElBQUksR0FBRyxJQUFBLHVCQUFVLEVBQUM7SUFDcEIsSUFBSSxFQUFFLCtDQUErQztJQUNyRCxJQUFJLEVBQUU7UUFDRixJQUFJLEVBQUU7WUFDRixXQUFXLEVBQUUsc0NBQXNDO1lBQ25ELFdBQVcsRUFBRSxLQUFLO1lBQ2xCLG9CQUFvQixFQUFFLEtBQUs7U0FDOUI7UUFDRCxRQUFRLEVBQUU7WUFDTiwwQkFBMEIsRUFBRSxnRUFBZ0U7WUFDNUYsMkJBQTJCLEVBQUUsd0VBQXdFO1NBQ3hHO1FBQ0QsTUFBTSxFQUFFLEVBQUU7UUFDVixjQUFjLEVBQUUsS0FBSztRQUNyQixJQUFJLEVBQUUsWUFBWTtLQUNyQjtJQUNELGNBQWMsRUFBRSxFQUFFO0lBRWxCLE1BQU0sQ0FBQyxPQUFPO1FBQ1YsT0FBTztZQUNILGdFQUFnRTtZQUNoRSxrQkFBa0IsRUFBRSxDQUFDLElBQW1CLEVBQUUsRUFBRTtnQkFDeEMsTUFBTSxxQkFBcUIsR0FBRyxJQUFBLDhCQUFzQixFQUNoRCxJQUFtQyxDQUN0QyxDQUFDO2dCQUVGLElBQUkscUJBQXFCLENBQUMsdUJBQXVCLEVBQUU7b0JBQy9DLE9BQU8sQ0FBQyxNQUFNLENBQUM7d0JBQ1gsSUFBSSxFQUFFLElBQUk7d0JBQ1YsU0FBUyxFQUFFLDZCQUE2QjtxQkFDM0MsQ0FBQyxDQUFDO2lCQUNOO2dCQUNELElBQUkscUJBQXFCLENBQUMsc0JBQXNCLEVBQUU7b0JBQzlDLE9BQU8sQ0FBQyxNQUFNLENBQUM7d0JBQ1gsSUFBSSxFQUFFLElBQUk7d0JBQ1YsU0FBUyxFQUFFLDRCQUE0QjtxQkFDMUMsQ0FBQyxDQUFDO2lCQUNOO1lBQ0wsQ0FBQztTQUNKLENBQUM7SUFDTixDQUFDO0NBQ0osQ0FBQyxDQUFDO0FBRUgsa0JBQWUsSUFBSSxDQUFDIn0=
|