Socket
Socket
Sign inDemoInstall

use-validate-form

Package Overview
Dependencies
Maintainers
3
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

use-validate-form - npm Package Compare versions

Comparing version 2.0.2 to 2.0.4

build/index.d.ts

2

build/index.js

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

!function(e,r){for(var t in r)e[t]=r[t]}(exports,function(e){var r={};function t(n){if(r[n])return r[n].exports;var i=r[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var i in e)t.d(n,i,function(r){return e[r]}.bind(null,i));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=0)}([function(e,r,t){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var i in r=arguments[t])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e}).apply(this,arguments)},i=this&&this.__read||function(e,r){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var n,i,o=t.call(e),s=[];try{for(;(void 0===r||r-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(t=o.return)&&t.call(o)}finally{if(i)throw i.error}}return s},o=this&&this.__spread||function(){for(var e=[],r=0;r<arguments.length;r++)e=e.concat(i(arguments[r]));return e};Object.defineProperty(r,"__esModule",{value:!0});var s,u=t(1);!function(e){e.STRING="string",e.NUMBER="number",e.DATE="date",e.BOOLEAN="boolean"}(s||(s={}));var a=function(e){var r={isDirty:!1,fields:[]};return Object.entries(e).reduce(function(e,r){var t,o=i(r,2),u=o[0],a=o[1],f=a.initialValue,c=a.validators,d=a.type;if(!d||!Object.values(s).includes(d))throw console.log("type: ",d),console.log("FieldType enum:",s),new Error("Fields must have a type of 'string', 'number', 'date' or 'boolean' (got "+d+")");var v=l(f,d,c,!1),y=v.isValid,p=v.errors,h=v.isDirty;return n(n({},e),{fields:n(n({},e.fields),(t={},t[u]={value:f,isValid:y,isDirty:h,errors:p,name:u,validators:c,type:d},t))})},r)};r.useValidateForm=function(e){var r=a(e);return u.useReducer(f,n(n({},r),{isValid:Object.values(r.fields).every(function(e){return e.isValid}),hasErrors:Object.values(r.fields).some(function(e){return e.errors.length>0})}))};var l=function(e,r,t,n){return t.reduce(function(t,i){var s=i.error;return(0,i.func)(e,r)?t:{errors:n?o(t.errors,[s]):[],isValid:!1,isDirty:n}},{errors:[],isValid:!0,isDirty:!n})},f=function(e,r){var t=r.type,i=r.payload,o=i.name,s=i.value,u=i.newForm;switch(t){case"SET_VALUE":return c(e,o,s,!1);case"VALIDATE":return c(e,o,s,!0);case"CREATE_NEW_FORM":var l=a(u);return n(n({},l),{isValid:Object.values(l.fields).every(function(e){return e.isValid}),hasErrors:Object.values(l.fields).some(function(e){return e.errors.length>0})});default:throw new Error("Action must be of type SET_VALUE, VALIDATE or CREATE_NEW_FORM")}},c=function(e,r,t,i){var o,s=e.fields[r],u=s.validators,a=s.type,f=l(t,a,u,i),c=f.isValid,d=f.errors,v=f.isDirty,y=n(n({},e),{fields:n(n({},e.fields),(o={},o[r]={value:t,isValid:c,errors:d,isDirty:v,name:r,validators:u,type:a},o))});return n(n({},y),{isDirty:Object.values(y.fields).some(function(e){return e.name!==r&&e.isDirty})?y.isDirty:v,isValid:!!c&&Object.values(y.fields).every(function(e){return e.isValid}),hasErrors:Object.values(y.fields).some(function(e){return e.errors.length>0})})},d=/[^@]+@[^.]+\..+/;r.isRequired={func:function(e,r){return r===s.DATE?e&&"[object Date]"===Object.prototype.toString.call(e)&&!isNaN(e):!!e&&e.length>0},error:"This field is required"},r.isEmailAddress={func:function(e){return!e||d.test(e)},error:"Please enter a valid email address"},r.isEmailAddressList={func:function(e){return e.every(function(e){return d.test(e)})},error:"Please enter valid email addresses"},r.minLength=function(e){return{func:function(r){return!r||r.length>=e},error:"This field has a minimum length of "+e}},r.maxLength=function(e){return{func:function(r){return!r||r.length<=e},error:"This field has a maximum length of "+e}}},function(e,r){e.exports=require("react")}]));
!function(e,r){for(var t in r)e[t]=r[t]}(exports,function(e){var r={};function t(n){if(r[n])return r[n].exports;var i=r[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,t),i.l=!0,i.exports}return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var i in e)t.d(n,i,function(r){return e[r]}.bind(null,i));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=0)}([function(e,r,t){"use strict";var n=this&&this.__assign||function(){return(n=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var i in r=arguments[t])Object.prototype.hasOwnProperty.call(r,i)&&(e[i]=r[i]);return e}).apply(this,arguments)},i=this&&this.__read||function(e,r){var t="function"==typeof Symbol&&e[Symbol.iterator];if(!t)return e;var n,i,o=t.call(e),s=[];try{for(;(void 0===r||r-- >0)&&!(n=o.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(t=o.return)&&t.call(o)}finally{if(i)throw i.error}}return s},o=this&&this.__spread||function(){for(var e=[],r=0;r<arguments.length;r++)e=e.concat(i(arguments[r]));return e};Object.defineProperty(r,"__esModule",{value:!0});var s,u=t(1);!function(e){e.STRING="string",e.NUMBER="number",e.DATE="date",e.BOOLEAN="boolean"}(s||(s={}));var a=function(e){var r={isDirty:!1,fields:[]};return Object.entries(e).reduce(function(e,r){var t,o=i(r,2),u=o[0],a=o[1],f=a.initialValue,c=a.validators,d=a.type;if(!d||!Object.values(s).includes(d))throw console.log("type: ",d),console.log("FieldType enum:",s),new Error("Fields must have a type of 'string', 'number', 'date' or 'boolean' (got "+d+" for "+u+")");var v=l(f,d,c,!1),y=v.isValid,p=v.errors,h=v.isDirty;return n(n({},e),{fields:n(n({},e.fields),(t={},t[u]={value:f,isValid:y,isDirty:h,errors:p,name:u,validators:c,type:d},t))})},r)};r.useValidateForm=function(e){var r=a(e);return u.useReducer(f,n(n({},r),{isValid:Object.values(r.fields).every(function(e){return e.isValid}),hasErrors:Object.values(r.fields).some(function(e){return e.errors.length>0})}))};var l=function(e,r,t,n){return t.reduce(function(t,i){var s=i.error;return(0,i.func)(e,r)?t:{errors:n?o(t.errors,[s]):[],isValid:!1,isDirty:n}},{errors:[],isValid:!0,isDirty:!n})},f=function(e,r){var t=r.type,i=r.payload,o=i.name,s=i.value,u=i.newForm;switch(t){case"SET_VALUE":return c(e,o,s,!1);case"VALIDATE":return c(e,o,s,!0);case"CREATE_NEW_FORM":var l=a(u);return n(n({},l),{isValid:Object.values(l.fields).every(function(e){return e.isValid}),hasErrors:Object.values(l.fields).some(function(e){return e.errors.length>0})});default:throw new Error("Action must be of type SET_VALUE, VALIDATE or CREATE_NEW_FORM")}},c=function(e,r,t,i){var o,s=e.fields[r],u=s.validators,a=s.type,f=l(t,a,u,i),c=f.isValid,d=f.errors,v=f.isDirty,y=n(n({},e),{fields:n(n({},e.fields),(o={},o[r]={value:t,isValid:c,errors:d,isDirty:v,name:r,validators:u,type:a},o))});return n(n({},y),{isDirty:Object.values(y.fields).some(function(e){return e.name!==r&&e.isDirty})?y.isDirty:v,isValid:!!c&&Object.values(y.fields).every(function(e){return e.isValid}),hasErrors:Object.values(y.fields).some(function(e){return e.errors.length>0})})},d=/[^@]+@[^.]+\..+/;r.isRequired={func:function(e,r){return r===s.DATE?e&&"[object Date]"===Object.prototype.toString.call(e)&&!isNaN(e):!!e&&e.length>0},error:"This field is required"},r.isEmailAddress={func:function(e){return!e||d.test(e)},error:"Please enter a valid email address"},r.isEmailAddressList={func:function(e){return e.every(function(e){return d.test(e)})},error:"Please enter valid email addresses"},r.minLength=function(e){return{func:function(r){return!r||r.length>=e},error:"This field has a minimum length of "+e}},r.maxLength=function(e){return{func:function(r){return!r||r.length<=e},error:"This field has a maximum length of "+e}}},function(e,r){e.exports=require("react")}]));
{
"name": "use-validate-form",
"version": "2.0.2",
"version": "2.0.4",
"description": "react hook for form validation",

@@ -5,0 +5,0 @@ "main": "build/index.js",

@@ -16,4 +16,4 @@ # use-validate-form

const fields = {
name: {initialValue: '', validators: [isRequired]}
age: {initialValue: '', validators: [isRequired]}
name: {initialValue: '', validators: [isRequired], type: 'string'}
age: {initialValue: '', validators: [isRequired], type: 'number'}
}

@@ -39,2 +39,3 @@

value, // value of field
type, // string
isValid, // boolean

@@ -41,0 +42,0 @@ isDirty, // boolean

@@ -41,3 +41,3 @@ import { useReducer } from 'react'

console.log('FieldType enum:', FieldType)
throw new Error(`Fields must have a type of 'string', 'number', 'date' or 'boolean' (got ${type})`)
throw new Error(`Fields must have a type of 'string', 'number', 'date' or 'boolean' (got ${type} for ${key})`)
}

@@ -44,0 +44,0 @@ const { isValid: isFieldValid, errors, isDirty } = runValidators(initialValue, type, validators, false)

@@ -8,7 +8,7 @@ {

"lib": ["es2018", "dom"] /* Specify library files to be included in the compilation. */,
"allowJs": true /* Allow javascript files to be compiled. */,
// "allowJs": true /* Allow javascript files to be compiled. */,
// "checkJs": true, /* Report errors in .js files. */
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
// "declaration": true, /* Generates corresponding '.d.ts' file. */
// "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
"declaration": true, /* Generates corresponding '.d.ts' file. */
"declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */
"sourceMap": true /* Generates corresponding '.map' file. */,

@@ -24,3 +24,3 @@ // "outFile": "./", /* Concatenate and emit output to single file. */

// "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
"isolatedModules": true /* Transpile each file as a separate module (similar to 'ts.transpileModule'). Also helps warns about elements that do not compile in Babel */,
// "isolatedModules": true /* Transpile each file as a separate module (similar to 'ts.transpileModule'). Also helps warns about elements that do not compile in Babel */,

@@ -27,0 +27,0 @@ /* Strict Type-Checking Options */

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc