owl-cli 6.41.0 → 6.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
File without changes
@@ -1,6 +1,6 @@
1
1
  function isScalar(o){
2
2
  if(o==null){
3
- return true;
3
+ return false;
4
4
  }
5
5
  if(typeof o==='object'){
6
6
  return false;
@@ -44,9 +44,9 @@ function isEqual(r1,r2){
44
44
 
45
45
  }
46
46
 
47
- function diffArray(a1, a2,parentKey){
47
+ function diffArray(a1, a2,parentKeys){
48
48
  //a1是旧的,a2是新的
49
- // $.log("diffArray,parentKey=" + parentKey);
49
+ // $.log("diffArray,parentKeys=" + parentKeys);
50
50
 
51
51
  var temp_matched = [];
52
52
  var result = [];
@@ -56,6 +56,12 @@ function diffArray(a1, a2,parentKey){
56
56
  if(!a2){
57
57
  a2 = [];
58
58
  }
59
+
60
+ for(var i=0; i<a2.length; i++){
61
+ var r2 = a2[i];
62
+ delete r2._matched;
63
+ }
64
+
59
65
  for(var i=0; i<a1.length; i++){
60
66
  var r1 = a1[i];
61
67
  var found = false;
@@ -92,6 +98,7 @@ function diffArray(a1, a2,parentKey){
92
98
  }
93
99
  }
94
100
  else if(!r2._matched){
101
+ delete r2._matched;
95
102
  result.push({
96
103
  type:'added',
97
104
  r:r2
@@ -104,7 +111,10 @@ function diffArray(a1, a2,parentKey){
104
111
 
105
112
 
106
113
 
107
- function diff(obj1, obj2,parentKey){
114
+ function diff(obj1, obj2,parentKeys){
115
+ if(!parentKeys){
116
+ parentKeys = [];
117
+ }
108
118
  var result = []
109
119
  if(!obj1){
110
120
  obj1 = {};
@@ -131,51 +141,83 @@ function diff(obj1, obj2,parentKey){
131
141
  result.push({
132
142
  type:'changed',
133
143
  fieldKey : k1,
134
- parentKey: parentKey,
135
- oldv : v1,
136
- newv : v2
144
+ parentKeys: parentKeys,
145
+ oldv : '' +v1,
146
+ newv : '' + v2
137
147
  })
138
148
  }
139
149
  else{
150
+
140
151
  if(v1!==v2 && v1===null){
141
152
  result.push({
142
153
  type:'added',
143
154
  fieldKey : k1,
144
- parentKey: parentKey,
145
- oldv : v1,
146
- newv : v2
155
+ parentKeys: parentKeys,
156
+ oldv : null,
157
+ newv : ''+v2
147
158
  })
148
159
  }
149
160
  else if(v1!==null && v2===null){
150
161
  result.push({
151
162
  type:'deleted',
152
163
  fieldKey : k1,
153
- parentKey: parentKey,
164
+ parentKeys: parentKeys,
154
165
  oldv : v1,
155
166
  newv : v2
156
167
  })
157
168
  }
169
+
158
170
  }
159
171
  }
160
172
  else{
161
- if(Array.isArray(v1) || Array.isArray(v2)){
162
- var ret = diffArray(v1,v2,parentKey + "." + k1);
163
- if(ret && ret.length>0){
164
- result.push({
165
- type:'changed',
166
- fieldKey : k1,
167
- fieldType:'array',
168
- parentKey: parentKey,
169
- diff : ret
170
- });
173
+ //v1 == null 或者 v1是object
174
+ if(v1!=null){
175
+ if(Array.isArray(v1) && Array.isArray(v2)){
176
+ var newParentKeys = [].concat(parentKeys,[k1]);
177
+ var ret = diffArray(v1,v2,newParentKeys);
178
+ if(ret && ret.length>0){
179
+ result.push({
180
+ type:'changed',
181
+ fieldKey : k1,
182
+ fieldType:'array',
183
+ parentKeys: parentKeys,
184
+ diff : ret
185
+ });
186
+ }
187
+ }
188
+ else{
189
+ //v1 不是null ,也不是array, 所以是Object
190
+ if(v2===null){
191
+ result.push({
192
+ type:'deleted',
193
+ fieldKey : k1,
194
+ parentKeys: parentKeys,
195
+ oldv : '' + v1,
196
+ newv : v2
197
+ })
198
+ }
199
+ else{
200
+ var newParentKeys = [].concat(parentKeys,[k1]);
201
+ var ret1 = diff(v1,v2,newParentKeys);
202
+ result = [].concat(result,ret1);
203
+ }
204
+
171
205
  }
172
206
  }
173
207
  else{
174
- var ret1 = diff(v1,v2,parentKey + "." + k1);
175
- result = [].concat(result,ret1);
208
+ //v1 == null;
209
+ if(v2!=null){
210
+ result.push({
211
+ type:'added',
212
+ fieldKey : k1,
213
+ parentKeys: parentKeys,
214
+ oldv : v1,
215
+ newv : v2
216
+ })
217
+ }
176
218
  }
177
- }
178
219
 
220
+ }
179
221
  }
180
222
 
181
223
  for(var i=0; i<keys2.length; i++){
@@ -189,9 +231,9 @@ function diff(obj1, obj2,parentKey){
189
231
  result.push({
190
232
  type:'added',
191
233
  fieldKey : k2,
192
- parentKey: parentKey,
193
- oldv : v1,
194
- newv : v2
234
+ parentKeys: parentKeys,
235
+ oldv : v1==null?null:'' + v1,
236
+ newv : '' +v2
195
237
  })
196
238
  }
197
239
  else{
@@ -200,25 +242,20 @@ function diff(obj1, obj2,parentKey){
200
242
  type:'added',
201
243
  fieldKey : k2,
202
244
  fieldType:'array',
203
- parentKey: parentKey,
245
+ parentKeys: parentKeys,
204
246
  diff : v2
205
247
  });
206
248
  }
207
249
  else{
208
- for(var kv in v2){
209
- result.push({
210
- type:'added',
211
- fieldKey : kv,
212
- parentKey: parentKey+"." + k2,
213
- oldv:null,
214
- newv:v2[kv]
215
- });
216
- }
250
+ result.push({
251
+ type:'added',
252
+ fieldKey : k2,
253
+ parentKeys: parentKeys,
254
+ oldv:null,
255
+ newv:v2
256
+ });
217
257
  }
218
258
  }
219
-
220
-
221
259
  }
222
260
  return result;
223
- }
224
-
261
+ }
@@ -65,8 +65,6 @@
65
65
  var newdata = @projectCodeService.update( merged,env);
66
66
  }
67
67
 
68
-
69
-
70
68
  var ret = {
71
69
  state: 'ok',
72
70
  object: newdata,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "owl-cli",
3
- "version": "6.41.0",
3
+ "version": "6.43.0",
4
4
  "main": "index.js",
5
5
  "preferGlobal": true,
6
6
  "bin": {