alasql 2.4.1 → 2.4.3

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