alasql 2.0.6 → 2.0.8
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 +31 -14
- package/dist/alasql.js +31 -14
- package/dist/alasql.min.js +2 -2
- package/package.json +1 -1
- package/yarn-error.log +4440 -0
package/bin/alasql-cli.js
CHANGED
package/dist/alasql-worker.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
//! AlaSQL v2.0.
|
|
1
|
+
//! AlaSQL v2.0.8 | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
|
|
2
2
|
/*
|
|
3
3
|
@module alasql
|
|
4
|
-
@version 2.0.
|
|
4
|
+
@version 2.0.8
|
|
5
5
|
|
|
6
6
|
AlaSQL - JavaScript SQL database
|
|
7
7
|
© 2014-2016 Andrey Gershun & Mathias Rangel Wulff
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
//! AlaSQL v2.0.
|
|
1
|
+
//! AlaSQL v2.0.8 | © 2014-2018 Andrey Gershun & Mathias Rangel 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 v2.0.
|
|
1
|
+
//! AlaSQL v2.0.8 | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
|
|
2
2
|
/*
|
|
3
3
|
@module alasql
|
|
4
|
-
@version 2.0.
|
|
4
|
+
@version 2.0.8
|
|
5
5
|
|
|
6
6
|
AlaSQL - JavaScript SQL database
|
|
7
7
|
© 2014-2016 Andrey Gershun & Mathias Rangel Wulff
|
|
@@ -142,7 +142,7 @@ var alasql = function(sql, params, cb, scope) {
|
|
|
142
142
|
Current version of alasql
|
|
143
143
|
@constant {string}
|
|
144
144
|
*/
|
|
145
|
-
alasql.version = '2.0.
|
|
145
|
+
alasql.version = '2.0.8';
|
|
146
146
|
|
|
147
147
|
/**
|
|
148
148
|
Debug flag
|
|
@@ -4032,11 +4032,11 @@ var cloneDeep = (utils.cloneDeep = function cloneDeep(obj) {
|
|
|
4032
4032
|
return +obj;
|
|
4033
4033
|
}
|
|
4034
4034
|
|
|
4035
|
-
var temp = obj.constructor(); // changed
|
|
4035
|
+
var temp = (Object.prototype.hasOwnProperty.call(obj, 'constructor') ? Object : obj.constructor)(); // changed
|
|
4036
4036
|
|
|
4037
4037
|
for (var key in obj) {
|
|
4038
4038
|
if (obj.hasOwnProperty(key)) {
|
|
4039
|
-
temp[key] = cloneDeep(obj[key]);
|
|
4039
|
+
/* 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]); }
|
|
4040
4040
|
}
|
|
4041
4041
|
}
|
|
4042
4042
|
return temp;
|
|
@@ -4108,7 +4108,7 @@ var extend = (utils.extend = function extend(a, b) {
|
|
|
4108
4108
|
a = a || {};
|
|
4109
4109
|
for (var key in b) {
|
|
4110
4110
|
if (b.hasOwnProperty(key)) {
|
|
4111
|
-
a[key] = b[key];
|
|
4111
|
+
/* 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]; }
|
|
4112
4112
|
}
|
|
4113
4113
|
}
|
|
4114
4114
|
return a;
|
|
@@ -9068,7 +9068,7 @@ yy.Select.prototype.compileGroup = function (query) {
|
|
|
9068
9068
|
aft2 = '';
|
|
9069
9069
|
|
|
9070
9070
|
if (typeof query.groupStar !== 'undefined') {
|
|
9071
|
-
aft2 += "for(var f in p['" + query.groupStar + "']) {g[f]=p['" + query.groupStar + "'][f];};";
|
|
9071
|
+
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];};";
|
|
9072
9072
|
}
|
|
9073
9073
|
|
|
9074
9074
|
/*
|
|
@@ -9391,7 +9391,7 @@ function compileSelectStar(query, aliases, joinstar) {
|
|
|
9391
9391
|
} else {
|
|
9392
9392
|
|
|
9393
9393
|
// if column not exist, then copy all
|
|
9394
|
-
sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
|
|
9394
|
+
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]};';
|
|
9395
9395
|
|
|
9396
9396
|
query.dirtyColumns = true;
|
|
9397
9397
|
}
|
|
@@ -9720,10 +9720,10 @@ yy.Select.prototype.compileSelectGroup1 = function (query) {
|
|
|
9720
9720
|
self.columns.forEach(function (col) {
|
|
9721
9721
|
|
|
9722
9722
|
if (col instanceof yy.Column && col.columnid === '*') {
|
|
9723
|
-
// s += 'for(var k in g){r[k]=g[k]};';
|
|
9723
|
+
// s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
|
|
9724
9724
|
// s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
|
|
9725
9725
|
|
|
9726
|
-
s += 'for(var k in g) {r[k]=g[k]};';
|
|
9726
|
+
s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
|
|
9727
9727
|
return '';
|
|
9728
9728
|
|
|
9729
9729
|
} else {
|
|
@@ -13032,7 +13032,7 @@ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
|
|
|
13032
13032
|
|
|
13033
13033
|
table.update(
|
|
13034
13034
|
function (t) {
|
|
13035
|
-
for (var f in r) t[f] = r[f];
|
|
13035
|
+
for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
|
|
13036
13036
|
},
|
|
13037
13037
|
table.data.indexOf(toreplace),
|
|
13038
13038
|
params
|
|
@@ -13391,8 +13391,25 @@ alasql.stdfn.DATEDIFF = function (period, d1, d2) {
|
|
|
13391
13391
|
};
|
|
13392
13392
|
|
|
13393
13393
|
alasql.stdfn.DATEADD = function (period, interval, d) {
|
|
13394
|
-
var nd = new Date(d)
|
|
13395
|
-
|
|
13394
|
+
var nd = new Date(d);
|
|
13395
|
+
var period = period.toLowerCase();
|
|
13396
|
+
|
|
13397
|
+
switch (period) {
|
|
13398
|
+
case 'year':
|
|
13399
|
+
nd.setFullYear(nd.getFullYear() + interval);
|
|
13400
|
+
break;
|
|
13401
|
+
case 'quarter':
|
|
13402
|
+
nd.setMonth(nd.getMonth() + interval * 3);
|
|
13403
|
+
break;
|
|
13404
|
+
case 'month':
|
|
13405
|
+
nd.setMonth(nd.getMonth() + interval);
|
|
13406
|
+
break;
|
|
13407
|
+
default:
|
|
13408
|
+
nd = new Date(nd.getTime() + interval * PERIODS[period]);
|
|
13409
|
+
break;
|
|
13410
|
+
}
|
|
13411
|
+
|
|
13412
|
+
return nd;
|
|
13396
13413
|
};
|
|
13397
13414
|
|
|
13398
13415
|
alasql.stdfn.INTERVAL = function (interval, period) {
|
|
@@ -14579,7 +14596,7 @@ yy.Insert.prototype.compile = function (databaseid) {
|
|
|
14579
14596
|
});
|
|
14580
14597
|
} else {
|
|
14581
14598
|
|
|
14582
|
-
// sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
|
|
14599
|
+
// 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]};';
|
|
14583
14600
|
sw = JSONtoJS(values);
|
|
14584
14601
|
}
|
|
14585
14602
|
}
|
package/dist/alasql.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
//! AlaSQL v2.0.
|
|
1
|
+
//! AlaSQL v2.0.8 | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
|
|
2
2
|
/*
|
|
3
3
|
@module alasql
|
|
4
|
-
@version 2.0.
|
|
4
|
+
@version 2.0.8
|
|
5
5
|
|
|
6
6
|
AlaSQL - JavaScript SQL database
|
|
7
7
|
© 2014-2016 Andrey Gershun & Mathias Rangel Wulff
|
|
@@ -142,7 +142,7 @@ var alasql = function(sql, params, cb, scope) {
|
|
|
142
142
|
Current version of alasql
|
|
143
143
|
@constant {string}
|
|
144
144
|
*/
|
|
145
|
-
alasql.version = '2.0.
|
|
145
|
+
alasql.version = '2.0.8';
|
|
146
146
|
|
|
147
147
|
/**
|
|
148
148
|
Debug flag
|
|
@@ -4027,11 +4027,11 @@ var cloneDeep = (utils.cloneDeep = function cloneDeep(obj) {
|
|
|
4027
4027
|
return +obj;
|
|
4028
4028
|
}
|
|
4029
4029
|
|
|
4030
|
-
var temp = obj.constructor(); // changed
|
|
4030
|
+
var temp = (Object.prototype.hasOwnProperty.call(obj, 'constructor') ? Object : obj.constructor)(); // changed
|
|
4031
4031
|
|
|
4032
4032
|
for (var key in obj) {
|
|
4033
4033
|
if (obj.hasOwnProperty(key)) {
|
|
4034
|
-
temp[key] = cloneDeep(obj[key]);
|
|
4034
|
+
/* 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]); }
|
|
4035
4035
|
}
|
|
4036
4036
|
}
|
|
4037
4037
|
return temp;
|
|
@@ -4103,7 +4103,7 @@ var extend = (utils.extend = function extend(a, b) {
|
|
|
4103
4103
|
a = a || {};
|
|
4104
4104
|
for (var key in b) {
|
|
4105
4105
|
if (b.hasOwnProperty(key)) {
|
|
4106
|
-
a[key] = b[key];
|
|
4106
|
+
/* 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]; }
|
|
4107
4107
|
}
|
|
4108
4108
|
}
|
|
4109
4109
|
return a;
|
|
@@ -9063,7 +9063,7 @@ yy.Select.prototype.compileGroup = function (query) {
|
|
|
9063
9063
|
aft2 = '';
|
|
9064
9064
|
|
|
9065
9065
|
if (typeof query.groupStar !== 'undefined') {
|
|
9066
|
-
aft2 += "for(var f in p['" + query.groupStar + "']) {g[f]=p['" + query.groupStar + "'][f];};";
|
|
9066
|
+
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];};";
|
|
9067
9067
|
}
|
|
9068
9068
|
|
|
9069
9069
|
/*
|
|
@@ -9386,7 +9386,7 @@ function compileSelectStar(query, aliases, joinstar) {
|
|
|
9386
9386
|
} else {
|
|
9387
9387
|
|
|
9388
9388
|
// if column not exist, then copy all
|
|
9389
|
-
sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
|
|
9389
|
+
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]};';
|
|
9390
9390
|
|
|
9391
9391
|
query.dirtyColumns = true;
|
|
9392
9392
|
}
|
|
@@ -9715,10 +9715,10 @@ yy.Select.prototype.compileSelectGroup1 = function (query) {
|
|
|
9715
9715
|
self.columns.forEach(function (col) {
|
|
9716
9716
|
|
|
9717
9717
|
if (col instanceof yy.Column && col.columnid === '*') {
|
|
9718
|
-
// s += 'for(var k in g){r[k]=g[k]};';
|
|
9718
|
+
// s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
|
|
9719
9719
|
// s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
|
|
9720
9720
|
|
|
9721
|
-
s += 'for(var k in g) {r[k]=g[k]};';
|
|
9721
|
+
s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
|
|
9722
9722
|
return '';
|
|
9723
9723
|
|
|
9724
9724
|
} else {
|
|
@@ -13027,7 +13027,7 @@ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
|
|
|
13027
13027
|
|
|
13028
13028
|
table.update(
|
|
13029
13029
|
function (t) {
|
|
13030
|
-
for (var f in r) t[f] = r[f];
|
|
13030
|
+
for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
|
|
13031
13031
|
},
|
|
13032
13032
|
table.data.indexOf(toreplace),
|
|
13033
13033
|
params
|
|
@@ -13386,8 +13386,25 @@ alasql.stdfn.DATEDIFF = function (period, d1, d2) {
|
|
|
13386
13386
|
};
|
|
13387
13387
|
|
|
13388
13388
|
alasql.stdfn.DATEADD = function (period, interval, d) {
|
|
13389
|
-
var nd = new Date(d)
|
|
13390
|
-
|
|
13389
|
+
var nd = new Date(d);
|
|
13390
|
+
var period = period.toLowerCase();
|
|
13391
|
+
|
|
13392
|
+
switch (period) {
|
|
13393
|
+
case 'year':
|
|
13394
|
+
nd.setFullYear(nd.getFullYear() + interval);
|
|
13395
|
+
break;
|
|
13396
|
+
case 'quarter':
|
|
13397
|
+
nd.setMonth(nd.getMonth() + interval * 3);
|
|
13398
|
+
break;
|
|
13399
|
+
case 'month':
|
|
13400
|
+
nd.setMonth(nd.getMonth() + interval);
|
|
13401
|
+
break;
|
|
13402
|
+
default:
|
|
13403
|
+
nd = new Date(nd.getTime() + interval * PERIODS[period]);
|
|
13404
|
+
break;
|
|
13405
|
+
}
|
|
13406
|
+
|
|
13407
|
+
return nd;
|
|
13391
13408
|
};
|
|
13392
13409
|
|
|
13393
13410
|
alasql.stdfn.INTERVAL = function (interval, period) {
|
|
@@ -14574,7 +14591,7 @@ yy.Insert.prototype.compile = function (databaseid) {
|
|
|
14574
14591
|
});
|
|
14575
14592
|
} else {
|
|
14576
14593
|
|
|
14577
|
-
// sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
|
|
14594
|
+
// 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]};';
|
|
14578
14595
|
sw = JSONtoJS(values);
|
|
14579
14596
|
}
|
|
14580
14597
|
}
|