You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
24 lines
580 B
24 lines
580 B
import { REP_UUID } from '../consts/REG_EXP_PATTERNS'; |
|
|
|
import testNotBlank from './testNotBlank'; |
|
|
|
const buildUUIDTestBatch: BuildInputTestBatchFunction = ( |
|
inputName, |
|
onSuccess, |
|
{ onFinishBatch, ...defaults } = {}, |
|
onUUIDTestFailure, |
|
) => ({ |
|
defaults: { ...defaults, onSuccess }, |
|
onFinishBatch, |
|
tests: [ |
|
{ |
|
onFailure: (...args) => { |
|
onUUIDTestFailure(`${inputName} must be a valid UUID.`, ...args); |
|
}, |
|
test: ({ value }) => REP_UUID.test(value as string), |
|
}, |
|
{ test: testNotBlank }, |
|
], |
|
}); |
|
|
|
export default buildUUIDTestBatch;
|
|
|