File tree Expand file tree Collapse file tree 3 files changed +41
-5
lines changed
Expand file tree Collapse file tree 3 files changed +41
-5
lines changed Original file line number Diff line number Diff line change 1+ /**
2+ * Type modifier
3+ *
4+ * {
5+ * type: value // Parse to expected type if possible.
6+ * }
7+ */
8+
9+ function modify ( data , model ) {
10+ if ( ! model . type ) {
11+ return data ;
12+ } else if ( model . typeStrict == true ) {
13+ return data ;
14+ }
15+
16+ let parsed = data ;
17+
18+ switch ( model . type . toLowerCase ( ) ) {
19+ case 'string' :
20+ parsed = String ( data ) ;
21+ break ;
22+ case 'number' :
23+ if ( ! isNaN ( Number ( data ) ) ) {
24+ parsed = Number ( data ) ;
25+ }
26+ break ;
27+ case 'boolean' :
28+ parsed = Boolean ( data ) ;
29+ break ;
30+ }
31+
32+ return parsed ;
33+ }
34+
35+
36+ module . exports = modify ;
Original file line number Diff line number Diff line change @@ -17,12 +17,12 @@ const modifiers = fs.readdirSync(directory).map(function(file) {
1717 * @param model {Object} Model to apply validations
1818 */
1919function modify ( data , model ) {
20+ let newValue = data ;
2021 for ( let i = 0 ; i < modifiers . length ; i ++ ) {
21- const newValue = modifiers [ i ] . check ( data , model ) ;
22- return newValue ? newValue : data ;
22+ newValue = modifiers [ i ] . check ( data , model ) ;
2323 }
24-
25- return true ;
24+
25+ return newValue ;
2626}
2727
2828module . exports = {
Original file line number Diff line number Diff line change 11{
22 "name" : " modelate" ,
3- "version" : " 0.2.5 " ,
3+ "version" : " 0.2.6 " ,
44 "description" : " A simple data modeling tool for NodeJS" ,
55 "main" : " index.js" ,
66 "scripts" : {
You can’t perform that action at this time.
0 commit comments