Skip to content

Commit

Permalink
feat(stark-core): update class-validator dependency to version ~0.13.1
Browse files Browse the repository at this point in the history
BREAKING CHANGE:

Due to class-validator update:
  - Validatorjs releases contain some breaking changes e.g. `IsMobileNumber` or `IsHexColor`. Please
check validatorjs [CHANGELOG](https://github.com/validatorjs/validator.js/blob/master/CHANGELOG.md)
  - Validation functions was removed from `Validator` class to enable tree shaking.

    BEFORE:

    ```ts
    import { Validator } from 'class-validator';

    const validator = new Validator();
    validator.isNotIn(value, possibleValues);
    validator.isBoolean(value);
    ```

    AFTER:

    ```ts
    import { isNotIn, isBoolean } from 'class-validator';

    isNotIn(value, possibleValues);
    isBoolean(value);
    ```

  - IsNumberString decorator arguments changed to
  `@IsNumberString(ValidatorJS.IsNumericOptions, ValidationOptions)`.
  • Loading branch information
SuperITMan committed May 10, 2021
1 parent 4c6c9a6 commit 1fd6700
Show file tree
Hide file tree
Showing 18 changed files with 354 additions and 440 deletions.
34 changes: 17 additions & 17 deletions packages/stark-core/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/stark-core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"@uirouter/core": "^6.0.0",
"@uirouter/rx": "^0.6.0",
"cerialize": "^0.1.18",
"class-validator": "~0.11.0",
"class-validator": "~0.13.1",
"deep-freeze-strict": "^1.1.1",
"ibantools": "^3.2.3",
"lodash-es": "^4.17.21",
Expand Down
4 changes: 3 additions & 1 deletion packages/stark-core/src/util/validation-errors.util.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,9 @@ describe("Util: ValidationErrorsUtil", () => {
myClass.languages.push(new LanguageClass("french", "")); // invalid description
const errors: ValidationError[] = validateSync(myClass);
expect(errors.length).toBe(1);
expect(errors[0].children.length).toBe(myClass.languages.length);
expect(errors[0].children).toBeDefined();
// tslint:disable-next-line:no-non-null-assertion
expect(errors[0].children!.length).toBe(myClass.languages.length);

try {
StarkValidationErrorsUtil.throwOnError(errors);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*tslint:disable:completed-docs no-identical-functions*/
/* tslint:disable:completed-docs no-identical-functions no-non-null-assertion */
import { validateSync, ValidationError } from "class-validator";
import { StarkIsBBAN } from "./is-bban.validator.decorator";
import { starkIsBBANValidatorName } from "../../validators/is-bban";
Expand Down Expand Up @@ -41,15 +41,15 @@ describe("ValidatorDecorator: StarkIsBBAN", () => {

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if bban is empty", () => {
const errors: ValidationError[] = validateSync(myClass);

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if belgian bban is not correct", () => {
Expand All @@ -65,7 +65,7 @@ describe("ValidatorDecorator: StarkIsBBAN", () => {

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should NOT fail if belgian bban is correct", () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*tslint:disable:completed-docs no-identical-functions*/
/* tslint:disable:completed-docs no-identical-functions no-non-null-assertion */
import { validateSync, ValidationError } from "class-validator";
import { StarkIsBIC } from "./is-bic.validator.decorator";
import { starkIsBICValidatorName } from "../../validators/is-bic";
Expand Down Expand Up @@ -28,15 +28,15 @@ describe("ValidatorDecorator: StarkIsBIC", () => {

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if bic is empty", () => {
const errors: ValidationError[] = validateSync(myClass);

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if bic is not correct", () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*tslint:disable:completed-docs no-identical-functions*/
/* tslint:disable:completed-docs no-identical-functions no-non-null-assertion */
import { validateSync, ValidationError } from "class-validator";
import { StarkIsCompanyNumber } from "./is-company-number.validator.decorator";
import { starkIsCompanyNumberValidatorName } from "../../validators/is-company-number";
Expand Down Expand Up @@ -28,15 +28,15 @@ describe("ValidatorDecorator: StarkIsCompanyNumber", () => {

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if company number is empty", () => {
const errors: ValidationError[] = validateSync(myClass);

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if company number is not correct", () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*tslint:disable:completed-docs no-identical-functions*/
/* tslint:disable:completed-docs no-identical-functions no-non-null-assertion */
import { validateSync, ValidationError } from "class-validator";
import { StarkIsEstablishmentUnitNumber } from "./is-establishment-unit-number.validator.decorator";
import { starkIsEstablishmentUnitNumberValidatorName } from "../../validators/is-establishment-unit-number";
Expand Down Expand Up @@ -28,15 +28,15 @@ describe("ValidatorDecorator: StarkIsEstablishmentUnitNumber", () => {

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if company number is empty", () => {
const errors: ValidationError[] = validateSync(myClass);

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if company number is not correct", () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*tslint:disable:completed-docs no-identical-functions*/
/* tslint:disable:completed-docs no-identical-functions no-non-null-assertion */
import { validateSync, ValidationError } from "class-validator";
import { StarkIsIBAN } from "./is-iban.validator.decorator";
import { starkIsIBANValidatorName } from "../../validators/is-iban";
Expand Down Expand Up @@ -28,15 +28,15 @@ describe("ValidatorDecorator: StarkIsIBAN", () => {

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if iban is empty", () => {
const errors: ValidationError[] = validateSync(myClass);

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if iban is not correct", () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*tslint:disable:completed-docs no-identical-functions*/
/* tslint:disable:completed-docs no-identical-functions no-non-null-assertion */
import { validateSync, ValidationError } from "class-validator";
import { StarkIsISIN } from "./is-isin.validator.decorator";
import { starkIsISINValidatorName } from "../../validators/is-isin";
Expand Down Expand Up @@ -28,15 +28,15 @@ describe("ValidatorDecorator: StarkIsISIN", () => {

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if isin is empty", () => {
const errors: ValidationError[] = validateSync(myClass);

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if isin is not correct", () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*tslint:disable:completed-docs no-identical-functions*/
/* tslint:disable:completed-docs no-identical-functions no-non-null-assertion */
import { validateSync, ValidationError } from "class-validator";
import { StarkIsKBO } from "./is-kbo.validator.decorator";
import { starkIsKBOValidatorName } from "../../validators/is-kbo";
Expand Down Expand Up @@ -28,15 +28,15 @@ describe("ValidatorDecorator: StarkIsKBO", () => {

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if kbo is empty", () => {
const errors: ValidationError[] = validateSync(myClass);

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if kbo is not correct", () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*tslint:disable:completed-docs no-identical-functions*/
/* tslint:disable:completed-docs no-identical-functions no-non-null-assertion */
import { validateSync, ValidationError } from "class-validator";
import { StarkIsNIN } from "./is-nin.validator.decorator";
import { starkIsNINValidatorName } from "../../validators/is-nin";
Expand Down Expand Up @@ -41,15 +41,15 @@ describe("ValidatorDecorator: StarkIsNIN", () => {

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if nin is empty", () => {
const errors: ValidationError[] = validateSync(myClass);

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if belgian nin is not correct", () => {
Expand All @@ -65,7 +65,7 @@ describe("ValidatorDecorator: StarkIsNIN", () => {

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should NOT fail if belgian nin is correct", () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*tslint:disable:completed-docs*/
/* tslint:disable:completed-docs no-non-null-assertion */
import { validateSync, ValidationError } from "class-validator";
import { StarkIsSupportedLanguage } from "./is-supported-language.validator.decorator";
import { starkIsSupportedLanguageValidatorName } from "../../validators/is-supported-language";
Expand All @@ -21,7 +21,7 @@ describe("ValidatorDecorator: StarkIsSupportedLanguage", () => {

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if language is not in the list of supported languages", () => {
Expand All @@ -30,7 +30,7 @@ describe("ValidatorDecorator: StarkIsSupportedLanguage", () => {

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should NOT fail if language is in the list of supported languages", () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*tslint:disable:completed-docs*/
/* tslint:disable:completed-docs no-non-null-assertion */
import { IsNotEmpty, MaxLength, validateSync, ValidationError } from "class-validator";
import { StarkMapIsValid, starkMapIsValidValidatorName } from "./map-is-valid.validator.decorator";

Expand Down Expand Up @@ -41,7 +41,7 @@ describe("ValidatorDecorator: StarkMapIsValid", () => {

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if Map contains invalid keys", () => {
Expand All @@ -53,9 +53,9 @@ describe("ValidatorDecorator: StarkMapIsValid", () => {

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toContain("map keys");
expect(errors[0].constraints[validatorConstraintName]).not.toContain("map values");
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toContain("map keys");
expect(errors[0].constraints![validatorConstraintName]).not.toContain("map values");
});

it("should fail if Map contains invalid values", () => {
Expand All @@ -66,9 +66,9 @@ describe("ValidatorDecorator: StarkMapIsValid", () => {

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).not.toContain("map keys");
expect(errors[0].constraints[validatorConstraintName]).toContain("map values");
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).not.toContain("map keys");
expect(errors[0].constraints![validatorConstraintName]).toContain("map values");
});

it("should NOT fail if Map contains valid keys and values", () => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/*tslint:disable:completed-docs*/
/* tslint:disable:completed-docs no-non-null-assertion */
import { validateSync, ValidationError } from "class-validator";
import { StarkMapNotEmpty } from "./map-not-empty.validator.decorator";
import { starkMapNotEmptyValidatorName } from "../../validators/map-not-empty";
Expand Down Expand Up @@ -28,15 +28,15 @@ describe("ValidatorDecorator: StarkMapNotEmpty", () => {

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should fail if Map is empty", () => {
const errors: ValidationError[] = validateSync(myClass);

expect(errors.length).toBe(1);
expect(errors[0].constraints).toBeDefined();
expect(errors[0].constraints[validatorConstraintName]).toBeDefined();
expect(errors[0].constraints![validatorConstraintName]).toBeDefined();
});

it("should NOT fail if Map is not empty", () => {
Expand Down

0 comments on commit 1fd6700

Please sign in to comment.