0.7.2 • Published 4 years ago

@validarium/core v0.7.2

Weekly downloads
270
License
MIT
Repository
github
Last release
4 years ago

Core

core

This package contains all core functionalities for Validarium.


core.validate

Applies validations in descriptor for value. Params are curried.

Sig: Object -> a -> b

ParamTypeDescription
descriptorobjectObject that contains validations for each item in values
valueanyValue for validation

Example

validate({
	id: [(x) => !x && 'Is required.', (x) => x < 0 && 'Must be greater than 0.'],
	name: [(x) => !x && 'Is required.'],
	surname: [(x) => !x && 'Is required.'],
}, {
		id: -1,
		surname: 'Doe',
	}
])
// Output:
// 	{
// 		id: 'Must be greater than 0.',
// 		name: 'Is required.',
// 		surname: false,
// 	}

core.validateMany

Applies validations in descriptor for each item in values. Params are curried.

Sig: Object -> Object -> Object

ParamTypeDescription
descriptorobjectObject that contains validations for each item in values
valuesarrayValues for validations

Example

validateMany({
	id: [(x) => !x && 'Is required.', (x) => x < 0 && 'Must be greater than 0.'],
	name: [(x) => !x && 'Is required.'],
	surname: [(x) => !x && 'Is required.'],
}, [
	{
		id: -1,
		surname: 'Doe',
	},
	{
		id: 13,
		name: 'Bob',
	},
])
// Output:
// [
// 	{
// 		id: 'Must be greater than 0.',
// 		name: 'Is required.',
// 		surname: false,
// 	}, {
// 		id: false,
// 		name: false,
// 		surname: 'Is required.',
// 	},
// ]

core.combineValidate(...fns, values) ⇒ Object

Combine multiple validate schemes into one. If multiple schemes contains same validation, then the error validation * always wins.

Returns: Object - Merged result result.

ParamTypeDescription
...fnsfunctionValidation functions.
valuesany

core.createValidation(fn, react, params) ⇒ Object | null

Creates validation function with predicate and message. Results of validation is ready for translation by react-intl. Result is valid if nil or empty is passed. Use required validation if you want to ensure that field is required.

Returns: Object | null - Message object when fails { message, messageValues } or null if pass

ParamTypeDescription
fnfunctionvalidation predicate.
reactStringintl message (eg. { id: 1, defaultMessage: '' })
paramsObjectfor intl message (eg. { min: 1, max: 2 })

Example

> const hasLength = length => createValidation(hasLength(length), m.hasLength, { length })
	> hasLength(6)('abcdef')
	  null

Related projects

  • @redux-tools – Maintaining large Redux applications with ease.
  • react-union – Integrate React apps into various CMSs seamlessly.
  • lundium – Beautiful React component library.

License

All packages are distributed under the MIT license. See the license here.

0.7.2

4 years ago

0.7.1

4 years ago

0.7.0

4 years ago

0.6.2

4 years ago

0.6.1

4 years ago

0.6.0

4 years ago

0.5.1-0

4 years ago

0.5.0

5 years ago

0.4.0

5 years ago

0.2.3

5 years ago

0.2.2

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago