alasql 4.0.5 → 4.0.7
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-worker.min.js +1 -1
- package/dist/alasql.fs.js +17 -16
- package/dist/alasql.js +17 -16
- package/dist/alasql.min.js +43 -43
- package/package.json +1 -1
package/bin/alasql-cli.js
CHANGED
package/dist/alasql-worker.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
//! AlaSQL v4.0.
|
|
1
|
+
//! AlaSQL v4.0.7 build: develop-3024ae87 | © 2014-2023 Andrey Gershun & Mathias Wulff | License: MIT
|
|
2
2
|
/*
|
|
3
3
|
@module alasql
|
|
4
|
-
@version 4.0.
|
|
4
|
+
@version 4.0.7
|
|
5
5
|
|
|
6
6
|
AlaSQL - JavaScript SQL database
|
|
7
7
|
© 2014-2023 Andrey Gershun & Mathias Wulff
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
//! AlaSQL v4.0.
|
|
1
|
+
//! AlaSQL v4.0.7 build: develop-3024ae87 | © 2014-2023 Andrey Gershun & Mathias Wulff | License: MIT
|
|
2
2
|
!function(r,e){"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?module.exports=e():r.alasql=e()}(this,function(){function i(r,e,o){"function"==typeof(e=e||[])&&(scope=o,o=e,e=[]),"object"!=typeof e&&(e=[e]);var t=i.lastid++;i.buffer[t]=o,i.webworker.postMessage({id:t,sql:r,params:e})}var a;if(i.options={},i.options.progress=function(){},isArray=function(r){return"[object Array]"===Object.prototype.toString.call(r)},i.promise=function(){throw new Error("Please include a Promise/A+ library")},"undefined"!=typeof Promise&&(a=function(r,e,n,s){return new Promise(function(o,t){i(r,e,function(r,e){e?t(e):(n&&s&&!1!==i.options.progress&&i.options.progress(n,s),o(r))})})},i.promise=function(r,e){if("undefined"==typeof Promise)throw new Error("Please include a Promise/A+ library");if("string"==typeof r)return a(r,e);if(!isArray(r)||r.length<1||void 0!==e)throw new Error("Error in .promise parameters");var o=r;if(!(o.length<1)){for(var t,n,s=[],i=0;i<o.length;i++){if("string"==typeof(n=o[i])&&(n=[n]),!isArray(n)||n.length<1||2<n.length)throw new Error("Error in .promise parameter");t=n[0],n=n[1]||void 0,s.push(a(t,n,i,o.length))}return Promise.all(s)}}),i=i||!1)return i.worker=function(){throw new Error("Can find webworker in this enviroment")},"undefined"!=typeof Worker&&(i.worker=function(r,e,o){if(void 0===(r=!0===r?void 0:r))for(var t=document.getElementsByTagName("script"),n=0;n<t.length;n++){if("alasql-worker.js"===t[n].src.substr(-16).toLowerCase()){r=t[n].src.substr(0,t[n].src.length-16)+"alasql.js";break}if("alasql-worker.min.js"===t[n].src.substr(-20).toLowerCase()){r=t[n].src.substr(0,t[n].src.length-20)+"alasql.min.js";break}if("alasql.js"===t[n].src.substr(-9).toLowerCase()){r=t[n].src;break}if("alasql.min.js"===t[n].src.substr(-13).toLowerCase()){r=t[n].src.substr(0,t[n].src.length-13)+"alasql.min.js";break}}if(void 0===r)throw new Error("Path to alasql.js is not specified");var s;!1!==r?(s=(s="importScripts('")+r+"');self.onmessage = function(event) {alasql(event.data.sql,event.data.params, function(data){postMessage({id:event.data.id, data:data});});}",s=new Blob([s],{type:"text/plain"}),i.webworker=new Worker(URL.createObjectURL(s)),i.webworker.onmessage=function(r){var e=r.data.id;i.buffer[e](r.data.data),delete i.buffer[e]},i.webworker.onerror=function(r){throw r},1<arguments.length&&i("REQUIRE "+e.map(function(r){return'"'+r+'"'}).join(","),[],o)):!1===r&&delete i.webworker}),i.lastid=0,i.buffer={},i.worker(),i;throw new Error("alasql was not found")});
|
package/dist/alasql.fs.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
//! AlaSQL v4.0.
|
|
1
|
+
//! AlaSQL v4.0.7 build: develop-3024ae87 | © 2014-2023 Andrey Gershun & Mathias Wulff | License: MIT
|
|
2
2
|
/*
|
|
3
3
|
@module alasql
|
|
4
|
-
@version 4.0.
|
|
4
|
+
@version 4.0.7
|
|
5
5
|
|
|
6
6
|
AlaSQL - JavaScript SQL database
|
|
7
7
|
© 2014-2023 Andrey Gershun & Mathias Wulff
|
|
@@ -142,8 +142,8 @@ var alasql = function(sql, params, cb, scope) {
|
|
|
142
142
|
Current version of alasql
|
|
143
143
|
@constant {string}
|
|
144
144
|
*/
|
|
145
|
-
alasql.version = '4.0.
|
|
146
|
-
alasql.build = 'develop-
|
|
145
|
+
alasql.version = '4.0.7';
|
|
146
|
+
alasql.build = 'develop-3024ae87';
|
|
147
147
|
|
|
148
148
|
/**
|
|
149
149
|
Debug flag
|
|
@@ -4022,11 +4022,11 @@ var cloneDeep = (utils.cloneDeep = function cloneDeep(obj) {
|
|
|
4022
4022
|
return +obj;
|
|
4023
4023
|
}
|
|
4024
4024
|
|
|
4025
|
-
var temp = new obj.constructor(); // changed
|
|
4025
|
+
var temp = new (Object.prototype.hasOwnProperty.call(obj, 'constructor') ? Object : obj.constructor)(); // changed
|
|
4026
4026
|
|
|
4027
4027
|
for (var key in obj) {
|
|
4028
4028
|
if (obj.hasOwnProperty(key)) {
|
|
4029
|
-
temp[key] = cloneDeep(obj[key]);
|
|
4029
|
+
/* 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]); }
|
|
4030
4030
|
}
|
|
4031
4031
|
}
|
|
4032
4032
|
return temp;
|
|
@@ -4098,7 +4098,7 @@ var extend = (utils.extend = function extend(a, b) {
|
|
|
4098
4098
|
a = a || {};
|
|
4099
4099
|
for (var key in b) {
|
|
4100
4100
|
if (b.hasOwnProperty(key)) {
|
|
4101
|
-
a[key] = b[key];
|
|
4101
|
+
/* 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]; }
|
|
4102
4102
|
}
|
|
4103
4103
|
}
|
|
4104
4104
|
return a;
|
|
@@ -8696,7 +8696,7 @@ yy.Select.prototype.compileGroup = function (query) {
|
|
|
8696
8696
|
aft2 = '';
|
|
8697
8697
|
|
|
8698
8698
|
if (typeof query.groupStar !== 'undefined') {
|
|
8699
|
-
aft2 += "for(var f in p['" + query.groupStar + "']) {g[f]=p['" + query.groupStar + "'][f];};";
|
|
8699
|
+
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];};";
|
|
8700
8700
|
}
|
|
8701
8701
|
|
|
8702
8702
|
/*
|
|
@@ -9138,7 +9138,7 @@ function compileSelectStar(query, aliases, joinstar) {
|
|
|
9138
9138
|
} else {
|
|
9139
9139
|
|
|
9140
9140
|
// if column not exist, then copy all
|
|
9141
|
-
sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
|
|
9141
|
+
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]};';
|
|
9142
9142
|
|
|
9143
9143
|
query.dirtyColumns = true;
|
|
9144
9144
|
}
|
|
@@ -9466,10 +9466,10 @@ yy.Select.prototype.compileSelectGroup1 = function (query) {
|
|
|
9466
9466
|
self.columns.forEach(function (col) {
|
|
9467
9467
|
|
|
9468
9468
|
if (col instanceof yy.Column && col.columnid === '*') {
|
|
9469
|
-
// s += 'for(var k in g){r[k]=g[k]};';
|
|
9469
|
+
// s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
|
|
9470
9470
|
// s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
|
|
9471
9471
|
|
|
9472
|
-
s += 'for(var k in g) {r[k]=g[k]};';
|
|
9472
|
+
s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
|
|
9473
9473
|
return '';
|
|
9474
9474
|
|
|
9475
9475
|
} else {
|
|
@@ -12745,7 +12745,7 @@ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
|
|
|
12745
12745
|
|
|
12746
12746
|
table.update(
|
|
12747
12747
|
function (t) {
|
|
12748
|
-
for (var f in r) t[f] = r[f];
|
|
12748
|
+
for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
|
|
12749
12749
|
},
|
|
12750
12750
|
table.data.indexOf(toreplace),
|
|
12751
12751
|
params
|
|
@@ -14319,7 +14319,7 @@ yy.Insert.prototype.compile = function (databaseid) {
|
|
|
14319
14319
|
});
|
|
14320
14320
|
} else {
|
|
14321
14321
|
|
|
14322
|
-
// sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
|
|
14322
|
+
// 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]};';
|
|
14323
14323
|
sw = JSONtoJS(values);
|
|
14324
14324
|
}
|
|
14325
14325
|
}
|
|
@@ -15156,8 +15156,9 @@ yy.Declare.prototype.toString = function () {
|
|
|
15156
15156
|
|
|
15157
15157
|
yy.Declare.prototype.execute = function (databaseid, params, cb) {
|
|
15158
15158
|
var res = 1;
|
|
15159
|
-
|
|
15160
|
-
|
|
15159
|
+
var that = this; // without this assigned to a variable, inside the forEach, the reference to `this` is lost. It is needed for the Function statement for binding
|
|
15160
|
+
if (that.declares && that.declares.length > 0) {
|
|
15161
|
+
that.declares.forEach(function (declare) {
|
|
15161
15162
|
var dbtypeid = declare.dbtypeid;
|
|
15162
15163
|
if (!alasql.fn[dbtypeid]) {
|
|
15163
15164
|
dbtypeid = dbtypeid.toUpperCase();
|
|
@@ -15174,7 +15175,7 @@ yy.Declare.prototype.execute = function (databaseid, params, cb) {
|
|
|
15174
15175
|
alasql.vars[declare.variable] = new Function(
|
|
15175
15176
|
'params,alasql',
|
|
15176
15177
|
'return ' + declare.expression.toJS('({})', '', null)
|
|
15177
|
-
)(params, alasql);
|
|
15178
|
+
).bind(that)(params, alasql);
|
|
15178
15179
|
if (alasql.declares[declare.variable]) {
|
|
15179
15180
|
alasql.vars[declare.variable] = alasql.stdfn.CONVERT(
|
|
15180
15181
|
alasql.vars[declare.variable],
|
package/dist/alasql.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
//! AlaSQL v4.0.
|
|
1
|
+
//! AlaSQL v4.0.7 build: develop-3024ae87 | © 2014-2023 Andrey Gershun & Mathias Wulff | License: MIT
|
|
2
2
|
/*
|
|
3
3
|
@module alasql
|
|
4
|
-
@version 4.0.
|
|
4
|
+
@version 4.0.7
|
|
5
5
|
|
|
6
6
|
AlaSQL - JavaScript SQL database
|
|
7
7
|
© 2014-2023 Andrey Gershun & Mathias Wulff
|
|
@@ -142,8 +142,8 @@ var alasql = function(sql, params, cb, scope) {
|
|
|
142
142
|
Current version of alasql
|
|
143
143
|
@constant {string}
|
|
144
144
|
*/
|
|
145
|
-
alasql.version = '4.0.
|
|
146
|
-
alasql.build = 'develop-
|
|
145
|
+
alasql.version = '4.0.7';
|
|
146
|
+
alasql.build = 'develop-3024ae87';
|
|
147
147
|
|
|
148
148
|
/**
|
|
149
149
|
Debug flag
|
|
@@ -4022,11 +4022,11 @@ var cloneDeep = (utils.cloneDeep = function cloneDeep(obj) {
|
|
|
4022
4022
|
return +obj;
|
|
4023
4023
|
}
|
|
4024
4024
|
|
|
4025
|
-
var temp = new obj.constructor(); // changed
|
|
4025
|
+
var temp = new (Object.prototype.hasOwnProperty.call(obj, 'constructor') ? Object : obj.constructor)(); // changed
|
|
4026
4026
|
|
|
4027
4027
|
for (var key in obj) {
|
|
4028
4028
|
if (obj.hasOwnProperty(key)) {
|
|
4029
|
-
temp[key] = cloneDeep(obj[key]);
|
|
4029
|
+
/* 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]); }
|
|
4030
4030
|
}
|
|
4031
4031
|
}
|
|
4032
4032
|
return temp;
|
|
@@ -4098,7 +4098,7 @@ var extend = (utils.extend = function extend(a, b) {
|
|
|
4098
4098
|
a = a || {};
|
|
4099
4099
|
for (var key in b) {
|
|
4100
4100
|
if (b.hasOwnProperty(key)) {
|
|
4101
|
-
a[key] = b[key];
|
|
4101
|
+
/* 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]; }
|
|
4102
4102
|
}
|
|
4103
4103
|
}
|
|
4104
4104
|
return a;
|
|
@@ -8696,7 +8696,7 @@ yy.Select.prototype.compileGroup = function (query) {
|
|
|
8696
8696
|
aft2 = '';
|
|
8697
8697
|
|
|
8698
8698
|
if (typeof query.groupStar !== 'undefined') {
|
|
8699
|
-
aft2 += "for(var f in p['" + query.groupStar + "']) {g[f]=p['" + query.groupStar + "'][f];};";
|
|
8699
|
+
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];};";
|
|
8700
8700
|
}
|
|
8701
8701
|
|
|
8702
8702
|
/*
|
|
@@ -9138,7 +9138,7 @@ function compileSelectStar(query, aliases, joinstar) {
|
|
|
9138
9138
|
} else {
|
|
9139
9139
|
|
|
9140
9140
|
// if column not exist, then copy all
|
|
9141
|
-
sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
|
|
9141
|
+
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]};';
|
|
9142
9142
|
|
|
9143
9143
|
query.dirtyColumns = true;
|
|
9144
9144
|
}
|
|
@@ -9466,10 +9466,10 @@ yy.Select.prototype.compileSelectGroup1 = function (query) {
|
|
|
9466
9466
|
self.columns.forEach(function (col) {
|
|
9467
9467
|
|
|
9468
9468
|
if (col instanceof yy.Column && col.columnid === '*') {
|
|
9469
|
-
// s += 'for(var k in g){r[k]=g[k]};';
|
|
9469
|
+
// s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
|
|
9470
9470
|
// s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
|
|
9471
9471
|
|
|
9472
|
-
s += 'for(var k in g) {r[k]=g[k]};';
|
|
9472
|
+
s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
|
|
9473
9473
|
return '';
|
|
9474
9474
|
|
|
9475
9475
|
} else {
|
|
@@ -12745,7 +12745,7 @@ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
|
|
|
12745
12745
|
|
|
12746
12746
|
table.update(
|
|
12747
12747
|
function (t) {
|
|
12748
|
-
for (var f in r) t[f] = r[f];
|
|
12748
|
+
for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
|
|
12749
12749
|
},
|
|
12750
12750
|
table.data.indexOf(toreplace),
|
|
12751
12751
|
params
|
|
@@ -14319,7 +14319,7 @@ yy.Insert.prototype.compile = function (databaseid) {
|
|
|
14319
14319
|
});
|
|
14320
14320
|
} else {
|
|
14321
14321
|
|
|
14322
|
-
// sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
|
|
14322
|
+
// 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]};';
|
|
14323
14323
|
sw = JSONtoJS(values);
|
|
14324
14324
|
}
|
|
14325
14325
|
}
|
|
@@ -15156,8 +15156,9 @@ yy.Declare.prototype.toString = function () {
|
|
|
15156
15156
|
|
|
15157
15157
|
yy.Declare.prototype.execute = function (databaseid, params, cb) {
|
|
15158
15158
|
var res = 1;
|
|
15159
|
-
|
|
15160
|
-
|
|
15159
|
+
var that = this; // without this assigned to a variable, inside the forEach, the reference to `this` is lost. It is needed for the Function statement for binding
|
|
15160
|
+
if (that.declares && that.declares.length > 0) {
|
|
15161
|
+
that.declares.forEach(function (declare) {
|
|
15161
15162
|
var dbtypeid = declare.dbtypeid;
|
|
15162
15163
|
if (!alasql.fn[dbtypeid]) {
|
|
15163
15164
|
dbtypeid = dbtypeid.toUpperCase();
|
|
@@ -15174,7 +15175,7 @@ yy.Declare.prototype.execute = function (databaseid, params, cb) {
|
|
|
15174
15175
|
alasql.vars[declare.variable] = new Function(
|
|
15175
15176
|
'params,alasql',
|
|
15176
15177
|
'return ' + declare.expression.toJS('({})', '', null)
|
|
15177
|
-
)(params, alasql);
|
|
15178
|
+
).bind(that)(params, alasql);
|
|
15178
15179
|
if (alasql.declares[declare.variable]) {
|
|
15179
15180
|
alasql.vars[declare.variable] = alasql.stdfn.CONVERT(
|
|
15180
15181
|
alasql.vars[declare.variable],
|