File tree 1 file changed +30
-2
lines changed
1 file changed +30
-2
lines changed Original file line number Diff line number Diff line change 67
67
}
68
68
inherits ( DiffArray , Diff ) ;
69
69
70
+ function checkForDiff ( object ) {
71
+ if ( object && object . kind && object . path ) {
72
+ switch ( object . kind ) {
73
+ case 'A' :
74
+ if ( object . hasOwnProperty ( 'index' ) && object . hasOwnProperty ( 'item' ) ) {
75
+ return true ;
76
+ }
77
+ break ;
78
+ case 'D' :
79
+ if ( object . hasOwnProperty ( 'lhs' ) ) {
80
+ return true ;
81
+ }
82
+ break ;
83
+ case 'E' :
84
+ if ( object . hasOwnProperty ( 'lhs' ) && object . hasOwnProperty ( 'rhs' ) ) {
85
+ return true ;
86
+ }
87
+ break ;
88
+ case 'N' :
89
+ if ( object . hasOwnProperty ( 'rhs' ) ) {
90
+ return true ;
91
+ }
92
+ break ;
93
+ }
94
+ }
95
+ return false ;
96
+ }
97
+
70
98
function arrayRemove ( arr , from , to ) {
71
99
var rest = arr . slice ( ( to || from ) + 1 || arr . length ) ;
72
100
arr . length = from < 0 ? arr . length + from : from ;
189
217
}
190
218
191
219
function applyChange ( target , source , change ) {
192
- if ( ! ( change instanceof Diff ) ) {
193
- throw new TypeError ( '[Object] change must be instanceof Diff ' ) ;
220
+ if ( ! checkForDiff ( change ) ) {
221
+ throw new TypeError ( '[Object] Required properties on change are missing ' ) ;
194
222
}
195
223
if ( target && source && change ) {
196
224
var it = target , i , u ;
You can’t perform that action at this time.
0 commit comments