alasql 3.0.0 → 3.0.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: 3.0.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.5.3 build: develop-26e0bfa8 | © 2014-2023 Andrey Gershun & Mathias Wulff | License: MIT
1
+ //! AlaSQL v3.0.1 build: develop-26e0bfa8 | © 2014-2023 Andrey Gershun & Mathias Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 2.5.3
4
+ @version 3.0.1
5
5
 
6
6
  AlaSQL - JavaScript SQL database
7
7
  © 2014-2023 Andrey Gershun & Mathias Wulff
@@ -1,2 +1,2 @@
1
- //! AlaSQL v2.5.3 build: develop-26e0bfa8 | © 2014-2023 Andrey Gershun & Mathias Wulff | License: MIT
1
+ //! AlaSQL v3.0.1 build: develop-26e0bfa8 | © 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.5.3 build: develop-26e0bfa8 | © 2014-2023 Andrey Gershun & Mathias Wulff | License: MIT
1
+ //! AlaSQL v3.0.1 build: develop-26e0bfa8 | © 2014-2023 Andrey Gershun & Mathias Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 2.5.3
4
+ @version 3.0.1
5
5
 
6
6
  AlaSQL - JavaScript SQL database
7
7
  © 2014-2023 Andrey Gershun & Mathias 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.5.3';
145
+ alasql.version = '3.0.1';
146
146
  alasql.build = 'develop-26e0bfa8';
147
147
 
148
148
  /**
@@ -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;
@@ -8670,7 +8670,7 @@ yy.Select.prototype.compileGroup = function (query) {
8670
8670
  aft2 = '';
8671
8671
 
8672
8672
  if (typeof query.groupStar !== 'undefined') {
8673
- aft2 += "for(var f in p['" + query.groupStar + "']) {g[f]=p['" + query.groupStar + "'][f];};";
8673
+ 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];};";
8674
8674
  }
8675
8675
 
8676
8676
  /*
@@ -9112,7 +9112,7 @@ function compileSelectStar(query, aliases, joinstar) {
9112
9112
  } else {
9113
9113
 
9114
9114
  // if column not exist, then copy all
9115
- sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
9115
+ 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]};';
9116
9116
 
9117
9117
  query.dirtyColumns = true;
9118
9118
  }
@@ -9440,10 +9440,10 @@ yy.Select.prototype.compileSelectGroup1 = function (query) {
9440
9440
  self.columns.forEach(function (col) {
9441
9441
 
9442
9442
  if (col instanceof yy.Column && col.columnid === '*') {
9443
- // s += 'for(var k in g){r[k]=g[k]};';
9443
+ // s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9444
9444
  // s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
9445
9445
 
9446
- s += 'for(var k in g) {r[k]=g[k]};';
9446
+ s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9447
9447
  return '';
9448
9448
 
9449
9449
  } else {
@@ -12798,7 +12798,7 @@ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
12798
12798
 
12799
12799
  table.update(
12800
12800
  function (t) {
12801
- for (var f in r) t[f] = r[f];
12801
+ for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
12802
12802
  },
12803
12803
  table.data.indexOf(toreplace),
12804
12804
  params
@@ -14372,7 +14372,7 @@ yy.Insert.prototype.compile = function (databaseid) {
14372
14372
  });
14373
14373
  } else {
14374
14374
 
14375
- // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
14375
+ // 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]};';
14376
14376
  sw = JSONtoJS(values);
14377
14377
  }
14378
14378
  }
package/dist/alasql.js CHANGED
@@ -1,7 +1,7 @@
1
- //! AlaSQL v2.5.3 build: develop-26e0bfa8 | © 2014-2023 Andrey Gershun & Mathias Wulff | License: MIT
1
+ //! AlaSQL v3.0.1 build: develop-26e0bfa8 | © 2014-2023 Andrey Gershun & Mathias Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 2.5.3
4
+ @version 3.0.1
5
5
 
6
6
  AlaSQL - JavaScript SQL database
7
7
  © 2014-2023 Andrey Gershun & Mathias 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.5.3';
145
+ alasql.version = '3.0.1';
146
146
  alasql.build = 'develop-26e0bfa8';
147
147
 
148
148
  /**
@@ -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;
@@ -8670,7 +8670,7 @@ yy.Select.prototype.compileGroup = function (query) {
8670
8670
  aft2 = '';
8671
8671
 
8672
8672
  if (typeof query.groupStar !== 'undefined') {
8673
- aft2 += "for(var f in p['" + query.groupStar + "']) {g[f]=p['" + query.groupStar + "'][f];};";
8673
+ 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];};";
8674
8674
  }
8675
8675
 
8676
8676
  /*
@@ -9112,7 +9112,7 @@ function compileSelectStar(query, aliases, joinstar) {
9112
9112
  } else {
9113
9113
 
9114
9114
  // if column not exist, then copy all
9115
- sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
9115
+ 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]};';
9116
9116
 
9117
9117
  query.dirtyColumns = true;
9118
9118
  }
@@ -9440,10 +9440,10 @@ yy.Select.prototype.compileSelectGroup1 = function (query) {
9440
9440
  self.columns.forEach(function (col) {
9441
9441
 
9442
9442
  if (col instanceof yy.Column && col.columnid === '*') {
9443
- // s += 'for(var k in g){r[k]=g[k]};';
9443
+ // s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9444
9444
  // s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
9445
9445
 
9446
- s += 'for(var k in g) {r[k]=g[k]};';
9446
+ s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9447
9447
  return '';
9448
9448
 
9449
9449
  } else {
@@ -12798,7 +12798,7 @@ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
12798
12798
 
12799
12799
  table.update(
12800
12800
  function (t) {
12801
- for (var f in r) t[f] = r[f];
12801
+ for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
12802
12802
  },
12803
12803
  table.data.indexOf(toreplace),
12804
12804
  params
@@ -14372,7 +14372,7 @@ yy.Insert.prototype.compile = function (databaseid) {
14372
14372
  });
14373
14373
  } else {
14374
14374
 
14375
- // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
14375
+ // 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]};';
14376
14376
  sw = JSONtoJS(values);
14377
14377
  }
14378
14378
  }