@@ -55,42 +55,44 @@ module.exports = {
5555 return caseSetting ;
5656 } ,
5757
58- deserialize : function ( data ) {
58+ // Code inspired from the MIT licenced module https://github.com/danivek/json-api-serializer
59+ _convertCase : function ( data , convertCaseOptions ) {
60+
61+ let converted ;
5962
60- // Code inspired from the MIT licenced module https://github.com/danivek/json-api-serializer
61- const convertCase = function ( data , convertCaseOptions ) {
62- let converted ;
63- if ( _ . isArray ( data ) || _ . isPlainObject ( data ) ) {
64- converted = _ . transform ( data , ( result , value , key ) => {
65- if ( _ . isArray ( value ) || _ . isPlainObject ( value ) ) {
66- result [ convertCase ( key , convertCaseOptions ) ] = convertCase ( value , convertCaseOptions ) ;
67- } else {
68- result [ convertCase ( key , convertCaseOptions ) ] = value ;
69- }
70- } ) ;
71- } else {
72- switch ( convertCaseOptions ) {
73- case 'snake_case' :
74- converted = _ . snakeCase ( data ) ;
75- break ;
76- case 'kebab-case' :
77- converted = _ . kebabCase ( data ) ;
78- break ;
79- case 'camelCase' :
80- converted = _ . camelCase ( data ) ;
81- break ;
82- default :
83- converted = data ;
84- break ;
63+ if ( _ . isArray ( data ) || _ . isPlainObject ( data ) ) {
64+ converted = _ . transform ( data , ( result , value , key ) => {
65+ if ( _ . isArray ( value ) || _ . isPlainObject ( value ) ) {
66+ result [ this . _convertCase ( key , convertCaseOptions ) ] = this . _convertCase ( value , convertCaseOptions ) ;
67+ } else {
68+ result [ this . _convertCase ( key , convertCaseOptions ) ] = value ;
8569 }
70+ } ) ;
71+ } else {
72+ switch ( convertCaseOptions ) {
73+ case 'snake_case' :
74+ converted = _ . snakeCase ( data ) ;
75+ break ;
76+ case 'kebab-case' :
77+ converted = _ . kebabCase ( data ) ;
78+ break ;
79+ case 'camelCase' :
80+ converted = _ . camelCase ( data ) ;
81+ break ;
82+ default :
83+ converted = data ;
84+ break ;
8685 }
86+ }
8787
88- return converted ;
89- } ;
88+ return converted ;
89+ } ,
90+
91+ deserialize : function ( data ) {
9092
9193 var caseSetting = this . getAttributesDeserializedCaseSetting ( ) ;
9294 if ( caseSetting !== undefined ) {
93- return convertCase ( data , caseSetting ) ;
95+ return this . _convertCase ( data , caseSetting ) ;
9496 }
9597
9698 return data ;
0 commit comments