alasql 4.3.2 → 4.3.4
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/bin/alasql-cli.js +1 -1
- package/dist/alasql-worker.js +2 -2
- package/dist/alasql.fs.js +16 -16
- package/dist/alasql.js +16 -16
- package/dist/alasql.min.js +12 -12
- package/package.json +2 -2
package/bin/alasql-cli.js
CHANGED
package/dist/alasql-worker.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
//! AlaSQL v4.3.
|
|
1
|
+
//! AlaSQL v4.3.4 build: develop-6ecba2e1 | © 2014-2024 Andrey Gershun & Mathias Wulff | License: MIT
|
|
2
2
|
/*
|
|
3
3
|
@module alasql
|
|
4
|
-
@version 4.3.
|
|
4
|
+
@version 4.3.4
|
|
5
5
|
|
|
6
6
|
AlaSQL - JavaScript SQL database
|
|
7
7
|
© 2014-2024 Andrey Gershun & Mathias Wulff
|
package/dist/alasql.fs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
//! AlaSQL v4.3.
|
|
1
|
+
//! AlaSQL v4.3.4 build: develop-6ecba2e1 | © 2014-2024 Andrey Gershun & Mathias Wulff | License: MIT
|
|
2
2
|
/*
|
|
3
3
|
@module alasql
|
|
4
|
-
@version 4.3.
|
|
4
|
+
@version 4.3.4
|
|
5
5
|
|
|
6
6
|
AlaSQL - JavaScript SQL database
|
|
7
7
|
© 2014-2024 Andrey Gershun & Mathias Wulff
|
|
@@ -141,8 +141,8 @@ SOFTWARE.
|
|
|
141
141
|
Current version of alasql
|
|
142
142
|
@constant {string}
|
|
143
143
|
*/
|
|
144
|
-
alasql.version = '4.3.
|
|
145
|
-
alasql.build = 'develop-
|
|
144
|
+
alasql.version = '4.3.4';
|
|
145
|
+
alasql.build = 'develop-6ecba2e1';
|
|
146
146
|
|
|
147
147
|
/**
|
|
148
148
|
Debug flag
|
|
@@ -4039,11 +4039,11 @@ var cloneDeep = (utils.cloneDeep = function cloneDeep(obj) {
|
|
|
4039
4039
|
return +obj;
|
|
4040
4040
|
}
|
|
4041
4041
|
|
|
4042
|
-
var temp = new obj.constructor(); // changed
|
|
4042
|
+
var temp = new (Object.prototype.hasOwnProperty.call(obj, 'constructor') ? Object : obj.constructor)(); // changed
|
|
4043
4043
|
|
|
4044
4044
|
for (var key in obj) {
|
|
4045
4045
|
if (obj.hasOwnProperty(key)) {
|
|
4046
|
-
temp[key] = cloneDeep(obj[key]);
|
|
4046
|
+
/* 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]); }
|
|
4047
4047
|
}
|
|
4048
4048
|
}
|
|
4049
4049
|
return temp;
|
|
@@ -4115,7 +4115,7 @@ var extend = (utils.extend = function extend(a, b) {
|
|
|
4115
4115
|
a = a || {};
|
|
4116
4116
|
for (var key in b) {
|
|
4117
4117
|
if (b.hasOwnProperty(key)) {
|
|
4118
|
-
a[key] = b[key];
|
|
4118
|
+
/* 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]; }
|
|
4119
4119
|
}
|
|
4120
4120
|
}
|
|
4121
4121
|
return a;
|
|
@@ -8369,7 +8369,7 @@ yy.Select.prototype.compileGroup = function (query) {
|
|
|
8369
8369
|
aft2 = '';
|
|
8370
8370
|
|
|
8371
8371
|
if (typeof query.groupStar !== 'undefined') {
|
|
8372
|
-
aft2 += "for(var f in p['" + query.groupStar + "']) {g[f]=p['" + query.groupStar + "'][f];};";
|
|
8372
|
+
aft2 += "for(var f in p['" + query.groupStar + "']) {if(/^__proto__$/.test(f))Object.defineProperty(g,f,{writable:true,enumerable:true,configurable:true});g[f]=p['" + query.groupStar + "'][f];};";
|
|
8373
8373
|
}
|
|
8374
8374
|
|
|
8375
8375
|
s += query.selectGroup
|
|
@@ -8705,7 +8705,7 @@ function compileSelectStar(query, aliases, joinstar) {
|
|
|
8705
8705
|
} else {
|
|
8706
8706
|
|
|
8707
8707
|
// if column not exist, then copy all
|
|
8708
|
-
sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
|
|
8708
|
+
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]};';
|
|
8709
8709
|
|
|
8710
8710
|
query.dirtyColumns = true;
|
|
8711
8711
|
}
|
|
@@ -9033,10 +9033,10 @@ yy.Select.prototype.compileSelectGroup1 = function (query) {
|
|
|
9033
9033
|
self.columns.forEach(function (col) {
|
|
9034
9034
|
|
|
9035
9035
|
if (col instanceof yy.Column && col.columnid === '*') {
|
|
9036
|
-
// s += 'for(var k in g){r[k]=g[k]};';
|
|
9036
|
+
// s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
|
|
9037
9037
|
// s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
|
|
9038
9038
|
|
|
9039
|
-
s += 'for(var k in g) {r[k]=g[k]};';
|
|
9039
|
+
s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
|
|
9040
9040
|
return '';
|
|
9041
9041
|
|
|
9042
9042
|
} else {
|
|
@@ -10143,7 +10143,7 @@ yy.Over = class Over {
|
|
|
10143
10143
|
const allValues = this.right.map(value => value.value);
|
|
10144
10144
|
const allValuesStr = allValues.join(',');
|
|
10145
10145
|
alasql.sets[allValuesStr] = alasql.sets[allValuesStr] || new Set(allValues);
|
|
10146
|
-
s = `alasql.sets[
|
|
10146
|
+
s = `alasql.sets[${JSON.stringify(allValuesStr)}].has(alasql.utils.getValueOf(${leftJS()}))`;
|
|
10147
10147
|
}
|
|
10148
10148
|
} else {
|
|
10149
10149
|
s = `(${rightJS()}.indexOf(${leftJS()}) > -1)`;
|
|
@@ -10161,7 +10161,7 @@ yy.Over = class Over {
|
|
|
10161
10161
|
const allValues = this.right.map(value => value.value);
|
|
10162
10162
|
const allValuesStr = allValues.join(',');
|
|
10163
10163
|
alasql.sets[allValuesStr] = alasql.sets[allValuesStr] || new Set(allValues);
|
|
10164
|
-
s = `!alasql.sets[
|
|
10164
|
+
s = `!alasql.sets[${JSON.stringify(allValuesStr)}].has(alasql.utils.getValueOf(${leftJS()}))`;
|
|
10165
10165
|
}
|
|
10166
10166
|
} else {
|
|
10167
10167
|
s = `(${rightJS()}.indexOf(${leftJS()}) === -1)`;
|
|
@@ -12015,7 +12015,7 @@ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
|
|
|
12015
12015
|
|
|
12016
12016
|
table.update(
|
|
12017
12017
|
function (t) {
|
|
12018
|
-
for (var f in r) t[f] = r[f];
|
|
12018
|
+
for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
|
|
12019
12019
|
},
|
|
12020
12020
|
table.data.indexOf(toreplace),
|
|
12021
12021
|
params
|
|
@@ -13510,7 +13510,7 @@ yy.Insert.prototype.compile = function (databaseid) {
|
|
|
13510
13510
|
});
|
|
13511
13511
|
} else {
|
|
13512
13512
|
|
|
13513
|
-
// sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
|
|
13513
|
+
// sw = 'var w='+JSONtoJS(values)+';for(var k in w){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=w[k]};';
|
|
13514
13514
|
sw = JSONtoJS(values);
|
|
13515
13515
|
}
|
|
13516
13516
|
}
|
|
@@ -17277,7 +17277,7 @@ IDB.fromTable = function (databaseid, tableid, cb, idx, query) {
|
|
|
17277
17277
|
const cursor = cur.result;
|
|
17278
17278
|
if (cursor) {
|
|
17279
17279
|
// if keyPath(columns) is not present then we take the key and value as object.
|
|
17280
|
-
const cursorValue = typeof cursor ===
|
|
17280
|
+
const cursorValue = typeof cursor === "object" ? cursor.value : {[cursor.key]: cursor.value};
|
|
17281
17281
|
res.push(cursorValue);
|
|
17282
17282
|
cursor.continue();
|
|
17283
17283
|
} else {
|
package/dist/alasql.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
//! AlaSQL v4.3.
|
|
1
|
+
//! AlaSQL v4.3.4 build: develop-6ecba2e1 | © 2014-2024 Andrey Gershun & Mathias Wulff | License: MIT
|
|
2
2
|
/*
|
|
3
3
|
@module alasql
|
|
4
|
-
@version 4.3.
|
|
4
|
+
@version 4.3.4
|
|
5
5
|
|
|
6
6
|
AlaSQL - JavaScript SQL database
|
|
7
7
|
© 2014-2024 Andrey Gershun & Mathias Wulff
|
|
@@ -141,8 +141,8 @@ SOFTWARE.
|
|
|
141
141
|
Current version of alasql
|
|
142
142
|
@constant {string}
|
|
143
143
|
*/
|
|
144
|
-
alasql.version = '4.3.
|
|
145
|
-
alasql.build = 'develop-
|
|
144
|
+
alasql.version = '4.3.4';
|
|
145
|
+
alasql.build = 'develop-6ecba2e1';
|
|
146
146
|
|
|
147
147
|
/**
|
|
148
148
|
Debug flag
|
|
@@ -4039,11 +4039,11 @@ var cloneDeep = (utils.cloneDeep = function cloneDeep(obj) {
|
|
|
4039
4039
|
return +obj;
|
|
4040
4040
|
}
|
|
4041
4041
|
|
|
4042
|
-
var temp = new obj.constructor(); // changed
|
|
4042
|
+
var temp = new (Object.prototype.hasOwnProperty.call(obj, 'constructor') ? Object : obj.constructor)(); // changed
|
|
4043
4043
|
|
|
4044
4044
|
for (var key in obj) {
|
|
4045
4045
|
if (obj.hasOwnProperty(key)) {
|
|
4046
|
-
temp[key] = cloneDeep(obj[key]);
|
|
4046
|
+
/* 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]); }
|
|
4047
4047
|
}
|
|
4048
4048
|
}
|
|
4049
4049
|
return temp;
|
|
@@ -4115,7 +4115,7 @@ var extend = (utils.extend = function extend(a, b) {
|
|
|
4115
4115
|
a = a || {};
|
|
4116
4116
|
for (var key in b) {
|
|
4117
4117
|
if (b.hasOwnProperty(key)) {
|
|
4118
|
-
a[key] = b[key];
|
|
4118
|
+
/* 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]; }
|
|
4119
4119
|
}
|
|
4120
4120
|
}
|
|
4121
4121
|
return a;
|
|
@@ -8369,7 +8369,7 @@ yy.Select.prototype.compileGroup = function (query) {
|
|
|
8369
8369
|
aft2 = '';
|
|
8370
8370
|
|
|
8371
8371
|
if (typeof query.groupStar !== 'undefined') {
|
|
8372
|
-
aft2 += "for(var f in p['" + query.groupStar + "']) {g[f]=p['" + query.groupStar + "'][f];};";
|
|
8372
|
+
aft2 += "for(var f in p['" + query.groupStar + "']) {if(/^__proto__$/.test(f))Object.defineProperty(g,f,{writable:true,enumerable:true,configurable:true});g[f]=p['" + query.groupStar + "'][f];};";
|
|
8373
8373
|
}
|
|
8374
8374
|
|
|
8375
8375
|
s += query.selectGroup
|
|
@@ -8705,7 +8705,7 @@ function compileSelectStar(query, aliases, joinstar) {
|
|
|
8705
8705
|
} else {
|
|
8706
8706
|
|
|
8707
8707
|
// if column not exist, then copy all
|
|
8708
|
-
sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
|
|
8708
|
+
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]};';
|
|
8709
8709
|
|
|
8710
8710
|
query.dirtyColumns = true;
|
|
8711
8711
|
}
|
|
@@ -9033,10 +9033,10 @@ yy.Select.prototype.compileSelectGroup1 = function (query) {
|
|
|
9033
9033
|
self.columns.forEach(function (col) {
|
|
9034
9034
|
|
|
9035
9035
|
if (col instanceof yy.Column && col.columnid === '*') {
|
|
9036
|
-
// s += 'for(var k in g){r[k]=g[k]};';
|
|
9036
|
+
// s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
|
|
9037
9037
|
// s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
|
|
9038
9038
|
|
|
9039
|
-
s += 'for(var k in g) {r[k]=g[k]};';
|
|
9039
|
+
s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
|
|
9040
9040
|
return '';
|
|
9041
9041
|
|
|
9042
9042
|
} else {
|
|
@@ -10143,7 +10143,7 @@ yy.Over = class Over {
|
|
|
10143
10143
|
const allValues = this.right.map(value => value.value);
|
|
10144
10144
|
const allValuesStr = allValues.join(',');
|
|
10145
10145
|
alasql.sets[allValuesStr] = alasql.sets[allValuesStr] || new Set(allValues);
|
|
10146
|
-
s = `alasql.sets[
|
|
10146
|
+
s = `alasql.sets[${JSON.stringify(allValuesStr)}].has(alasql.utils.getValueOf(${leftJS()}))`;
|
|
10147
10147
|
}
|
|
10148
10148
|
} else {
|
|
10149
10149
|
s = `(${rightJS()}.indexOf(${leftJS()}) > -1)`;
|
|
@@ -10161,7 +10161,7 @@ yy.Over = class Over {
|
|
|
10161
10161
|
const allValues = this.right.map(value => value.value);
|
|
10162
10162
|
const allValuesStr = allValues.join(',');
|
|
10163
10163
|
alasql.sets[allValuesStr] = alasql.sets[allValuesStr] || new Set(allValues);
|
|
10164
|
-
s = `!alasql.sets[
|
|
10164
|
+
s = `!alasql.sets[${JSON.stringify(allValuesStr)}].has(alasql.utils.getValueOf(${leftJS()}))`;
|
|
10165
10165
|
}
|
|
10166
10166
|
} else {
|
|
10167
10167
|
s = `(${rightJS()}.indexOf(${leftJS()}) === -1)`;
|
|
@@ -12015,7 +12015,7 @@ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
|
|
|
12015
12015
|
|
|
12016
12016
|
table.update(
|
|
12017
12017
|
function (t) {
|
|
12018
|
-
for (var f in r) t[f] = r[f];
|
|
12018
|
+
for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
|
|
12019
12019
|
},
|
|
12020
12020
|
table.data.indexOf(toreplace),
|
|
12021
12021
|
params
|
|
@@ -13510,7 +13510,7 @@ yy.Insert.prototype.compile = function (databaseid) {
|
|
|
13510
13510
|
});
|
|
13511
13511
|
} else {
|
|
13512
13512
|
|
|
13513
|
-
// sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
|
|
13513
|
+
// sw = 'var w='+JSONtoJS(values)+';for(var k in w){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=w[k]};';
|
|
13514
13514
|
sw = JSONtoJS(values);
|
|
13515
13515
|
}
|
|
13516
13516
|
}
|
|
@@ -17277,7 +17277,7 @@ IDB.fromTable = function (databaseid, tableid, cb, idx, query) {
|
|
|
17277
17277
|
const cursor = cur.result;
|
|
17278
17278
|
if (cursor) {
|
|
17279
17279
|
// if keyPath(columns) is not present then we take the key and value as object.
|
|
17280
|
-
const cursorValue = typeof cursor ===
|
|
17280
|
+
const cursorValue = typeof cursor === "object" ? cursor.value : {[cursor.key]: cursor.value};
|
|
17281
17281
|
res.push(cursorValue);
|
|
17282
17282
|
cursor.continue();
|
|
17283
17283
|
} else {
|