Completed
Push — master ( 1719ac...509a65 )
by Jeroen De
10s
created

app/js/lib/validation_dispatchers/email.js   A

Complexity

Total Complexity 1
Complexity/F 1

Size

Lines of Code 30
Function Count 1

Duplication

Duplicated Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
dl 0
loc 30
rs 10
c 1
b 0
f 0
cc 0
nc 1
mnd 0
bc 1
fnc 1
bpm 1
cpm 1
noi 0

1 Function

Rating   Name   Duplication   Size   Complexity  
A email.js ➔ createEmailValidationDispatcher 0 10 1
1
'use strict';
2
3
/**
4
 *
5
 * @module redux_validation
6
 */
7
8
var objectAssign = require( 'object-assign' ),
9
	ValidationDispatcher = require( './base' ),
10
	Actions = require( '../actions' ),
11
	_ = require( 'underscore' ),
12
13
	/**
14
	 *
15
	 * @param {EmailAddressValidator} validator
16
	 * @param {Object} initialValues Initial form state. Only the keys and values from fieldNames will be used
17
	 * @return {ValidationDispatcher}
18
	 */
19
	createEmailValidationDispatcher = function ( validator,  initialValues ) {
20
		var fieldNames = [ 'email' ];
21
22
		return objectAssign( Object.create( ValidationDispatcher ), {
23
			validationFunction: validator.validate.bind( validator ),
24
			actionCreationFunction: Actions.newFinishEmailAddressValidationAction,
25
			fields: fieldNames,
26
			previousFieldValues: _.pick( initialValues || {}, fieldNames )
27
		} );
28
	};
29
30
module.exports = createEmailValidationDispatcher;
31
32