alasql 2.3.0 → 2.3.1

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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  //
4
4
  // Command line interface for Alasql
5
- // Version: 0.2.3
5
+ // Version: 2.3.1
6
6
  // Date: 28.07.2015
7
7
  // (c) 2014-2022, Andrey Gershun & Mathias Wulff
8
8
  //
@@ -1,7 +1,7 @@
1
- //! AlaSQL v2.2.5-develop-63c84c04 | © 2014-2022 Andrey Gershun & Mathias Wulff | License: MIT
1
+ //! AlaSQL v2.3.1 | © 2014-2022 Andrey Gershun & Mathias Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 2.2.5-develop-63c84c04
4
+ @version 2.3.1
5
5
 
6
6
  AlaSQL - JavaScript SQL database
7
7
  © 2014-2016 Andrey Gershun & Mathias Rangel Wulff
@@ -1,2 +1,2 @@
1
- //! AlaSQL v2.2.5-develop-63c84c04 | © 2014-2022 Andrey Gershun & Mathias Wulff | License: MIT
1
+ //! AlaSQL v2.3.1 | © 2014-2022 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 v2.2.5-develop-63c84c04 | © 2014-2022 Andrey Gershun & Mathias Wulff | License: MIT
1
+ //! AlaSQL v2.3.1 | © 2014-2022 Andrey Gershun & Mathias Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 2.2.5-develop-63c84c04
4
+ @version 2.3.1
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.2.5-develop-63c84c04';
145
+ alasql.version = '2.3.1';
146
146
 
147
147
  /**
148
148
  Debug flag
@@ -4016,11 +4016,11 @@ var cloneDeep = (utils.cloneDeep = function cloneDeep(obj) {
4016
4016
  return +obj;
4017
4017
  }
4018
4018
 
4019
- var temp = new obj.constructor(); // changed
4019
+ var temp = new (Object.prototype.hasOwnProperty.call(obj, 'constructor') ? Object : obj.constructor)(); // changed
4020
4020
 
4021
4021
  for (var key in obj) {
4022
4022
  if (obj.hasOwnProperty(key)) {
4023
- temp[key] = cloneDeep(obj[key]);
4023
+ /* 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]); }
4024
4024
  }
4025
4025
  }
4026
4026
  return temp;
@@ -4092,7 +4092,7 @@ var extend = (utils.extend = function extend(a, b) {
4092
4092
  a = a || {};
4093
4093
  for (var key in b) {
4094
4094
  if (b.hasOwnProperty(key)) {
4095
- a[key] = b[key];
4095
+ /* 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]; }
4096
4096
  }
4097
4097
  }
4098
4098
  return a;
@@ -8624,7 +8624,7 @@ yy.Select.prototype.compileGroup = function (query) {
8624
8624
  aft2 = '';
8625
8625
 
8626
8626
  if (typeof query.groupStar !== 'undefined') {
8627
- aft2 += "for(var f in p['" + query.groupStar + "']) {g[f]=p['" + query.groupStar + "'][f];};";
8627
+ 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];};";
8628
8628
  }
8629
8629
 
8630
8630
  /*
@@ -9030,7 +9030,7 @@ function compileSelectStar(query, aliases, joinstar) {
9030
9030
  } else {
9031
9031
 
9032
9032
  // if column not exist, then copy all
9033
- sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
9033
+ 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]};';
9034
9034
 
9035
9035
  query.dirtyColumns = true;
9036
9036
  }
@@ -9359,10 +9359,10 @@ yy.Select.prototype.compileSelectGroup1 = function (query) {
9359
9359
  self.columns.forEach(function (col) {
9360
9360
 
9361
9361
  if (col instanceof yy.Column && col.columnid === '*') {
9362
- // s += 'for(var k in g){r[k]=g[k]};';
9362
+ // s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9363
9363
  // s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
9364
9364
 
9365
- s += 'for(var k in g) {r[k]=g[k]};';
9365
+ s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9366
9366
  return '';
9367
9367
 
9368
9368
  } else {
@@ -12720,7 +12720,7 @@ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
12720
12720
 
12721
12721
  table.update(
12722
12722
  function (t) {
12723
- for (var f in r) t[f] = r[f];
12723
+ for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
12724
12724
  },
12725
12725
  table.data.indexOf(toreplace),
12726
12726
  params
@@ -14294,7 +14294,7 @@ yy.Insert.prototype.compile = function (databaseid) {
14294
14294
  });
14295
14295
  } else {
14296
14296
 
14297
- // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
14297
+ // 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]};';
14298
14298
  sw = JSONtoJS(values);
14299
14299
  }
14300
14300
  }
package/dist/alasql.js CHANGED
@@ -1,7 +1,7 @@
1
- //! AlaSQL v2.2.5-develop-63c84c04 | © 2014-2022 Andrey Gershun & Mathias Wulff | License: MIT
1
+ //! AlaSQL v2.3.1 | © 2014-2022 Andrey Gershun & Mathias Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 2.2.5-develop-63c84c04
4
+ @version 2.3.1
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.2.5-develop-63c84c04';
145
+ alasql.version = '2.3.1';
146
146
 
147
147
  /**
148
148
  Debug flag
@@ -4016,11 +4016,11 @@ var cloneDeep = (utils.cloneDeep = function cloneDeep(obj) {
4016
4016
  return +obj;
4017
4017
  }
4018
4018
 
4019
- var temp = new obj.constructor(); // changed
4019
+ var temp = new (Object.prototype.hasOwnProperty.call(obj, 'constructor') ? Object : obj.constructor)(); // changed
4020
4020
 
4021
4021
  for (var key in obj) {
4022
4022
  if (obj.hasOwnProperty(key)) {
4023
- temp[key] = cloneDeep(obj[key]);
4023
+ /* 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]); }
4024
4024
  }
4025
4025
  }
4026
4026
  return temp;
@@ -4092,7 +4092,7 @@ var extend = (utils.extend = function extend(a, b) {
4092
4092
  a = a || {};
4093
4093
  for (var key in b) {
4094
4094
  if (b.hasOwnProperty(key)) {
4095
- a[key] = b[key];
4095
+ /* 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]; }
4096
4096
  }
4097
4097
  }
4098
4098
  return a;
@@ -8624,7 +8624,7 @@ yy.Select.prototype.compileGroup = function (query) {
8624
8624
  aft2 = '';
8625
8625
 
8626
8626
  if (typeof query.groupStar !== 'undefined') {
8627
- aft2 += "for(var f in p['" + query.groupStar + "']) {g[f]=p['" + query.groupStar + "'][f];};";
8627
+ 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];};";
8628
8628
  }
8629
8629
 
8630
8630
  /*
@@ -9030,7 +9030,7 @@ function compileSelectStar(query, aliases, joinstar) {
9030
9030
  } else {
9031
9031
 
9032
9032
  // if column not exist, then copy all
9033
- sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
9033
+ 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]};';
9034
9034
 
9035
9035
  query.dirtyColumns = true;
9036
9036
  }
@@ -9359,10 +9359,10 @@ yy.Select.prototype.compileSelectGroup1 = function (query) {
9359
9359
  self.columns.forEach(function (col) {
9360
9360
 
9361
9361
  if (col instanceof yy.Column && col.columnid === '*') {
9362
- // s += 'for(var k in g){r[k]=g[k]};';
9362
+ // s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9363
9363
  // s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
9364
9364
 
9365
- s += 'for(var k in g) {r[k]=g[k]};';
9365
+ s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9366
9366
  return '';
9367
9367
 
9368
9368
  } else {
@@ -12720,7 +12720,7 @@ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
12720
12720
 
12721
12721
  table.update(
12722
12722
  function (t) {
12723
- for (var f in r) t[f] = r[f];
12723
+ for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
12724
12724
  },
12725
12725
  table.data.indexOf(toreplace),
12726
12726
  params
@@ -14294,7 +14294,7 @@ yy.Insert.prototype.compile = function (databaseid) {
14294
14294
  });
14295
14295
  } else {
14296
14296
 
14297
- // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
14297
+ // 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]};';
14298
14298
  sw = JSONtoJS(values);
14299
14299
  }
14300
14300
  }