alasql 0.0.51 → 0.0.52
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.
- package/alasql.js +8 -8
- package/console/alasql.js +8 -8
- package/console/alasql.min.js +3 -3
- package/dist/alasql-worker.js +1 -1
- package/dist/alasql.js +8 -8
- package/dist/alasql.min.js +3 -3
- package/package.json +1 -1
- package/src/05copyright.js +1 -1
- package/src/10start.js +1 -1
- package/src/15utility.js +3 -3
- package/src/424select.js +2 -2
- package/src/70insert.js +1 -1
package/package.json
CHANGED
package/src/05copyright.js
CHANGED
package/src/10start.js
CHANGED
package/src/15utility.js
CHANGED
|
@@ -565,11 +565,11 @@ var cloneDeep = utils.cloneDeep = function cloneDeep(obj) {
|
|
|
565
565
|
if(obj == null || typeof(obj) != 'object')
|
|
566
566
|
return obj;
|
|
567
567
|
|
|
568
|
-
var temp = obj.constructor(); // changed
|
|
568
|
+
var temp = (Object.prototype.hasOwnProperty.call(obj, 'constructor') ? Object : obj.constructor)(); // changed
|
|
569
569
|
|
|
570
570
|
for(var key in obj) {
|
|
571
571
|
if(obj.hasOwnProperty(key)) {
|
|
572
|
-
temp[key] = cloneDeep(obj[key]);
|
|
572
|
+
/* A "__proto__" key from parsed data is copied as data, never as the prototype */ if (key === '__proto__') { Object.defineProperty(temp, key, {value: cloneDeep(obj[key]), writable: true, enumerable: true, configurable: true}); } else { temp[key] = cloneDeep(obj[key]); }
|
|
573
573
|
}
|
|
574
574
|
}
|
|
575
575
|
return temp;
|
|
@@ -649,7 +649,7 @@ var extend = utils.extend = function extend (a,b){
|
|
|
649
649
|
if(typeof a == 'undefined') a = {};
|
|
650
650
|
for(var key in b) {
|
|
651
651
|
if(b.hasOwnProperty(key)) {
|
|
652
|
-
a[key] = b[key]
|
|
652
|
+
/* A "__proto__" key from parsed data is copied as data, never as the prototype */ if (key === '__proto__') { Object.defineProperty(a, key, {value: b[key], writable: true, enumerable: true, configurable: true}); } else { a[key] = b[key]; }
|
|
653
653
|
}
|
|
654
654
|
}
|
|
655
655
|
return a;
|
package/src/424select.js
CHANGED
|
@@ -60,7 +60,7 @@ function compileSelectStar (query,alias) {
|
|
|
60
60
|
// console.log(60,alias,columns);
|
|
61
61
|
|
|
62
62
|
// if column not exists, then copy all
|
|
63
|
-
sp += 'var w=p["'+alias+'"];for(var k in w){r[k]=w[k]};';
|
|
63
|
+
sp += 'var w=p["'+alias+'"];for(var k in w){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=w[k]};';
|
|
64
64
|
//console.log(777, sp);
|
|
65
65
|
query.dirtyColumns = true;
|
|
66
66
|
}
|
|
@@ -233,7 +233,7 @@ yy.Select.prototype.compileSelectGroup1 = function(query) {
|
|
|
233
233
|
self.columns.forEach(function(col,idx){
|
|
234
234
|
// console.log(col);
|
|
235
235
|
if(col instanceof yy.Column && col.columnid == '*') {
|
|
236
|
-
// s += 'for(var k in g){r[k]=g[k]};';
|
|
236
|
+
// s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
|
|
237
237
|
s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
|
|
238
238
|
// console.log(query);
|
|
239
239
|
} else {
|
package/src/70insert.js
CHANGED
|
@@ -132,7 +132,7 @@ yy.Insert.prototype.compile = function (databaseid) {
|
|
|
132
132
|
});
|
|
133
133
|
} else {
|
|
134
134
|
// console.log(222,values);
|
|
135
|
-
// sw = 'var w='+JSONtoJavaScript(values)+';for(var k in w){r[k]=w[k]};';
|
|
135
|
+
// sw = 'var w='+JSONtoJavaScript(values)+';for(var k in w){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=w[k]};';
|
|
136
136
|
sw = JSONtoJavaScript(values);
|
|
137
137
|
}
|
|
138
138
|
}
|