New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

@de-formed/react-validations

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@de-formed/react-validations - npm Package Compare versions

Comparing version
3.0.1
to
4.0.0
+37
-29
__tests__/useValidation.test.ts

@@ -45,12 +45,15 @@ import { renderHook, act } from '@testing-library/react-hooks';

name: {
dirty: false,
errors: [],
isValid: true,
errors: [],
},
age: {
dirty: false,
errors: [],
isValid: true,
errors: [],
},
agreement: {
dirty: false,
errors: [],
isValid: true,
errors: [],
},

@@ -84,4 +87,4 @@ };

expect(typeof result.current.validateAll).toBe('function');
expect(typeof result.current.validateAllIfTrue).toBe('function');
expect(typeof result.current.validateIfTrue).toBe('function');
expect(typeof result.current.validateAllIfDirty).toBe('function');
expect(typeof result.current.validateIfDirty).toBe('function');
expect(typeof result.current.validateOnBlur).toBe('function');

@@ -107,4 +110,4 @@ expect(typeof result.current.validateOnChange).toBe('function');

'validateAll',
'validateAllIfTrue',
'validateIfTrue',
'validateAllIfDirty',
'validateIfDirty',
'validateOnBlur',

@@ -283,4 +286,5 @@ 'validateOnChange',

name: {
dirty: true,
errors: ['Must be dingo.'],
isValid: false,
errors: ['Must be dingo.'],
},

@@ -335,2 +339,3 @@ };

name: {
dirty: true,
errors: ['Cannot be bob.'],

@@ -340,2 +345,3 @@ isValid: false,

age: {
dirty: true,
errors: ['Must be 18'],

@@ -345,2 +351,3 @@ isValid: false,

agreement: {
dirty: true,
errors: [],

@@ -392,3 +399,3 @@ isValid: true,

describe('validateAllIfTrue', () => {
describe('validateAllIfDirty', () => {
it('returns a boolean', () => {

@@ -398,3 +405,3 @@ const { result } = renderHook(() => useValidation(schema));

act(() => {
output = result.current.validateAllIfTrue(defaultState);
output = result.current.validateAllIfDirty(defaultState);
});

@@ -408,3 +415,3 @@ expect(typeof output).toBe('boolean');

act(() => {
output = result.current.validateAllIfTrue(defaultState);
output = result.current.validateAllIfDirty(defaultState);
});

@@ -417,3 +424,3 @@ expect(output).toBe(true);

act(() => {
const output = result.current.validateAllIfTrue(failingState);
const output = result.current.validateAllIfDirty(failingState);
expect(output).toBe(true);

@@ -428,3 +435,3 @@ });

act(() => {
output = data.map((s) => result.current.validateAllIfTrue(s));
output = data.map((s) => result.current.validateAllIfDirty(s));
expect(output).toStrictEqual([true, true, true]);

@@ -437,7 +444,7 @@ });

act(() => {
result.current.validateAllIfTrue(failingState);
result.current.validateAllIfDirty(failingState);
});
expect(result.current.getError('age')).toBe('');
act(() => {
result.current.validateAllIfTrue(failingState, ['name']);
result.current.validateAllIfDirty(failingState, ['name']);
});

@@ -459,3 +466,3 @@ expect(result.current.getError('age')).toBe('');

act(() => {
result.current.validateAllIfTrue(failingState);
result.current.validateAllIfDirty(failingState);
});

@@ -466,3 +473,3 @@ expect(result.current.getError('canSave')).toBe('');

describe('validateIfTrue', () => {
describe('validateIfDirty', () => {
it('returns a boolean if key exists', () => {

@@ -477,3 +484,3 @@ const { result } = renderHook(() => useValidation(schema));

act(() => {
output = result.current.validateIfTrue(name, state);
output = result.current.validateIfDirty(name, state);
});

@@ -492,3 +499,3 @@ expect(typeof output).toBe('boolean');

act(() => {
output = result.current.validateIfTrue(name, state);
output = result.current.validateIfDirty(name, state);
});

@@ -498,7 +505,4 @@ expect(output).toBe(true);

it('updates the validationState when validation fails', () => {
it('does not update the validationState when isDirty is false', () => {
const { result } = renderHook(() => useValidation(schema));
const validationState = {
...mockValidationState,
};
const name = 'name';

@@ -511,6 +515,6 @@ const state = {

act(() => {
result.current.validateIfTrue(name, state);
result.current.validateIfDirty(name, state);
});
expect(result.current.isValid).toBe(true);
expect(result.current.validationState).toStrictEqual(validationState);
expect(result.current.validationState).toStrictEqual(mockValidationState);
});

@@ -520,2 +524,9 @@

const { result } = renderHook(() => useValidation(schema));
const validationState = {
...mockValidationState,
name: {
...mockValidationState.name,
dirty: true
}
};
const state = {

@@ -529,5 +540,2 @@ ...defaultState,

};
const validationState = {
...mockValidationState,
};
act(() => {

@@ -538,3 +546,3 @@ result.current.validate('name', state);

act(() => {
result.current.validateIfTrue('name', state2);
result.current.validateIfDirty('name', state2);
});

@@ -541,0 +549,0 @@ expect(result.current.isValid).toBe(true);

@@ -1,18 +0,2 @@

import React from 'react';
import { GetAllErrors, GetError, GetFieldValid, ResetValidationState, Validate, ValidateAll, ValidateAllIfTrue, ValidateIfTrue, ValidateOnBlur, ValidateOnChange, ValidationSchema, ValidationState } from '@de-formed/base';
export declare const useValidation: <S>(validationSchema: ValidationSchema<S>) => {
getAllErrors: GetAllErrors<S>;
getError: GetError<S>;
getFieldValid: GetFieldValid<S>;
isValid: boolean;
resetValidationState: ResetValidationState;
setValidationState: React.Dispatch<React.SetStateAction<ValidationState>>;
validate: Validate<S>;
validateAll: ValidateAll<S>;
validateAllIfTrue: ValidateAllIfTrue<S>;
validateIfTrue: ValidateIfTrue<S>;
validateOnBlur: ValidateOnBlur<S>;
validateOnChange: ValidateOnChange<S>;
validationErrors: string[];
validationState: ValidationState;
};
import { ValidationObject, ValidationSchema } from '@de-formed/base';
export declare const useValidation: <S>(validationSchema: ValidationSchema<S>) => ValidationObject<S>;

@@ -15,5 +15,5 @@ "use strict";

const validate = (0, base_1.createValidate)(validationSchema, validationState, setValidationState);
const validateIfTrue = (0, base_1.createValidateIfTrue)(validationSchema, validationState, setValidationState);
const validateIfDirty = (0, base_1.createValidateIfDirty)(validationSchema, validationState, setValidationState);
const validateAll = (0, base_1.createValidateAll)(validationSchema, validationState, setValidationState);
const validateAllIfTrue = (0, base_1.createValidateAllIfTrue)(validationSchema, validationState, setValidationState);
const validateAllIfDirty = (0, base_1.createValidateAllIfDirty)(validationSchema, validationState, setValidationState);
const validateOnBlur = (0, base_1.createValidateOnBlur)(validationSchema, validationState, setValidationState);

@@ -37,4 +37,4 @@ const validateOnChange = (0, base_1.createValidateOnChange)(validationSchema, validationState, setValidationState);

validateAll,
validateAllIfTrue,
validateIfTrue,
validateAllIfDirty,
validateIfDirty,
validateOnBlur,

@@ -41,0 +41,0 @@ validateOnChange,

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,0CAyByB;AAQlB,MAAM,aAAa,GAAG,CAAI,gBAAqC,EAAE,EAAE;IAExE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,eAAK,CAAC,QAAQ,CAC1D,GAAG,EAAE,CAAC,IAAA,4BAAqB,EAAC,gBAAgB,CAAC,CAC9C,CAAC;IACF,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;IAC7E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAU,IAAI,CAAC,CAAC;IAI5D,MAAM,oBAAoB,GAAyB,GAAG,EAAE,CACtD,kBAAkB,CAAC,IAAA,4BAAqB,EAAC,gBAAgB,CAAC,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAgB,IAAA,qBAAc,EAC1C,gBAAgB,EAChB,eAAe,EACf,kBAAkB,CACnB,CAAC;IAEF,MAAM,cAAc,GAAsB,IAAA,2BAAoB,EAC5D,gBAAgB,EAChB,eAAe,EACf,kBAAkB,CACnB,CAAC;IAEF,MAAM,WAAW,GAAmB,IAAA,wBAAiB,EACnD,gBAAgB,EAChB,eAAe,EACf,kBAAkB,CACnB,CAAC;IAEF,MAAM,iBAAiB,GAAyB,IAAA,8BAAuB,EACrE,gBAAgB,EAChB,eAAe,EACf,kBAAkB,CACnB,CAAC;IAEF,MAAM,cAAc,GAAsB,IAAA,2BAAoB,EAC5D,gBAAgB,EAChB,eAAe,EACf,kBAAkB,CACnB,CAAC;IAEF,MAAM,gBAAgB,GAAwB,IAAA,6BAAsB,EAClE,gBAAgB,EAChB,eAAe,EACf,kBAAkB,CACnB,CAAC;IAEF,MAAM,YAAY,GAAoB,IAAA,yBAAkB,EAAC,eAAe,CAAC,CAAC;IAE1E,MAAM,QAAQ,GAAgB,IAAA,qBAAc,EAAC,eAAe,CAAC,CAAC;IAE9D,MAAM,aAAa,GAAqB,IAAA,0BAAmB,EAAC,eAAe,CAAC,CAAC;IAG7E,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,mBAAmB,CAAC,IAAA,6BAAsB,EAAC,eAAe,CAAC,CAAC,CAAC;QAC7D,UAAU,CAAC,IAAA,uBAAgB,EAAC,eAAe,CAAC,CAAC,CAAC;IAChD,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,gBAAgB,GAAG;QACvB,YAAY;QACZ,QAAQ;QACR,aAAa;QACb,OAAO;QACP,oBAAoB;QACpB,kBAAkB;QAClB,QAAQ;QACR,WAAW;QACX,iBAAiB;QACjB,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,gBAAgB;QAChB,eAAe;KAChB,CAAC;IAEF,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AA/EW,QAAA,aAAa,iBA+ExB"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,0CA0ByB;AAQlB,MAAM,aAAa,GAAG,CAAI,gBAAqC,EAAE,EAAE;IAExE,MAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC,GAAG,eAAK,CAAC,QAAQ,CAC1D,GAAG,EAAE,CAAC,IAAA,4BAAqB,EAAC,gBAAgB,CAAC,CAC9C,CAAC;IACF,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;IAC7E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,eAAK,CAAC,QAAQ,CAAU,IAAI,CAAC,CAAC;IAI5D,MAAM,oBAAoB,GAAyB,GAAG,EAAE,CACtD,kBAAkB,CAAC,IAAA,4BAAqB,EAAC,gBAAgB,CAAC,CAAC,CAAC;IAE9D,MAAM,QAAQ,GAAgB,IAAA,qBAAc,EAC1C,gBAAgB,EAChB,eAAe,EACf,kBAAkB,CACnB,CAAC;IAEF,MAAM,eAAe,GAAuB,IAAA,4BAAqB,EAC/D,gBAAgB,EAChB,eAAe,EACf,kBAAkB,CACnB,CAAC;IAEF,MAAM,WAAW,GAAmB,IAAA,wBAAiB,EACnD,gBAAgB,EAChB,eAAe,EACf,kBAAkB,CACnB,CAAC;IAEF,MAAM,kBAAkB,GAA0B,IAAA,+BAAwB,EACxE,gBAAgB,EAChB,eAAe,EACf,kBAAkB,CACnB,CAAC;IAEF,MAAM,cAAc,GAAsB,IAAA,2BAAoB,EAC5D,gBAAgB,EAChB,eAAe,EACf,kBAAkB,CACnB,CAAC;IAEF,MAAM,gBAAgB,GAAwB,IAAA,6BAAsB,EAClE,gBAAgB,EAChB,eAAe,EACf,kBAAkB,CACnB,CAAC;IAEF,MAAM,YAAY,GAAoB,IAAA,yBAAkB,EAAC,eAAe,CAAC,CAAC;IAE1E,MAAM,QAAQ,GAAgB,IAAA,qBAAc,EAAC,eAAe,CAAC,CAAC;IAE9D,MAAM,aAAa,GAAqB,IAAA,0BAAmB,EAAC,eAAe,CAAC,CAAC;IAG7E,eAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,mBAAmB,CAAC,IAAA,6BAAsB,EAAC,eAAe,CAAC,CAAC,CAAC;QAC7D,UAAU,CAAC,IAAA,uBAAgB,EAAC,eAAe,CAAC,CAAC,CAAC;IAChD,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,MAAM,gBAAgB,GAAwB;QAC5C,YAAY;QACZ,QAAQ;QACR,aAAa;QACb,OAAO;QACP,oBAAoB;QACpB,kBAAkB;QAClB,QAAQ;QACR,WAAW;QACX,kBAAkB;QAClB,eAAe;QACf,cAAc;QACd,gBAAgB;QAChB,gBAAgB;QAChB,eAAe;KAChB,CAAC;IAEF,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC;AA/EW,QAAA,aAAa,iBA+ExB"}
{
"name": "@de-formed/react-validations",
"version": "3.0.1",
"version": "4.0.0",
"description": "Modular, Function-driven Validations",

@@ -22,3 +22,3 @@ "main": "dist/index",

"dependencies": {
"@de-formed/base": "^3.0.0"
"@de-formed/base": "^4.0.0"
},

@@ -29,13 +29,12 @@ "peerDependencies": {

"devDependencies": {
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^12.1.0",
"@testing-library/react-hooks": "^7.0.2",
"@testing-library/user-event": "^13.2.1",
"@testing-library/react-hooks": "^8.0.1",
"@types/jest": "^27.0.1",
"@types/react": "^17.0.20",
"@types/react": "^18.0.21",
"@types/react-dom": "^18.0.6",
"@types/testing-library__dom": "^7.5.0",
"jest": "^27.1.1",
"prettier": "^2.4.0",
"react": "^17.0.2",
"react-test-renderer": "^17.0.2",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-test-renderer": "^18.2.0",
"ts-jest": "^27.0.5",

@@ -42,0 +41,0 @@ "tslint": "^6.1.3",

@@ -9,4 +9,4 @@ import React from 'react';

createValidateAll,
createValidateAllIfTrue,
createValidateIfTrue,
createValidateAllIfDirty,
createValidateIfDirty,
createValidateOnBlur,

@@ -22,6 +22,7 @@ createValidateOnChange,

ValidateAll,
ValidateAllIfTrue,
ValidateIfTrue,
ValidateAllIfDirty,
ValidateIfDirty,
ValidateOnBlur,
ValidateOnChange,
ValidationObject,
ValidationSchema,

@@ -56,3 +57,3 @@ ValidationState,

const validateIfTrue: ValidateIfTrue<S> = createValidateIfTrue(
const validateIfDirty: ValidateIfDirty<S> = createValidateIfDirty(
validationSchema,

@@ -69,3 +70,3 @@ validationState,

const validateAllIfTrue: ValidateAllIfTrue<S> = createValidateAllIfTrue(
const validateAllIfDirty: ValidateAllIfDirty<S> = createValidateAllIfDirty(
validationSchema,

@@ -100,3 +101,3 @@ validationState,

const validationObject = {
const validationObject: ValidationObject<S> = {
getAllErrors,

@@ -110,4 +111,4 @@ getError,

validateAll,
validateAllIfTrue,
validateIfTrue,
validateAllIfDirty,
validateIfDirty,
validateOnBlur,

@@ -114,0 +115,0 @@ validateOnChange,