alasql 3.1.1 → 3.1.2

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.1.2
6
6
  // Date: 28.07.2015
7
7
  // (c) 2014-2022, Andrey Gershun & Mathias Wulff
8
8
  //
@@ -1,7 +1,7 @@
1
- //! AlaSQL v3.1.0 build: v3-hotfix-dfc34cf0 | © 2014-2023 Andrey Gershun & Mathias Wulff | License: MIT
1
+ //! AlaSQL v3.1.2 build: v3-hotfix-dfc34cf0 | © 2014-2023 Andrey Gershun & Mathias Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 3.1.0
4
+ @version 3.1.2
5
5
 
6
6
  AlaSQL - JavaScript SQL database
7
7
  © 2014-2023 Andrey Gershun & Mathias Wulff
@@ -1,2 +1,2 @@
1
- //! AlaSQL v3.1.0 build: v3-hotfix-dfc34cf0 | © 2014-2023 Andrey Gershun & Mathias Wulff | License: MIT
1
+ //! AlaSQL v3.1.2 build: v3-hotfix-dfc34cf0 | © 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 v3.1.0 build: v3-hotfix-dfc34cf0 | © 2014-2023 Andrey Gershun & Mathias Wulff | License: MIT
1
+ //! AlaSQL v3.1.2 build: v3-hotfix-dfc34cf0 | © 2014-2023 Andrey Gershun & Mathias Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 3.1.0
4
+ @version 3.1.2
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 = '3.1.0';
145
+ alasql.version = '3.1.2';
146
146
  alasql.build = 'v3-hotfix-dfc34cf0';
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;
@@ -8677,7 +8677,7 @@ yy.Select.prototype.compileGroup = function (query) {
8677
8677
  aft2 = '';
8678
8678
 
8679
8679
  if (typeof query.groupStar !== 'undefined') {
8680
- aft2 += "for(var f in p['" + query.groupStar + "']) {g[f]=p['" + query.groupStar + "'][f];};";
8680
+ 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];};";
8681
8681
  }
8682
8682
 
8683
8683
  /*
@@ -9120,7 +9120,7 @@ function compileSelectStar(query, aliases, joinstar) {
9120
9120
  } else {
9121
9121
 
9122
9122
  // if column not exist, then copy all
9123
- sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
9123
+ 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]};';
9124
9124
 
9125
9125
  query.dirtyColumns = true;
9126
9126
  }
@@ -9448,10 +9448,10 @@ yy.Select.prototype.compileSelectGroup1 = function (query) {
9448
9448
  self.columns.forEach(function (col) {
9449
9449
 
9450
9450
  if (col instanceof yy.Column && col.columnid === '*') {
9451
- // s += 'for(var k in g){r[k]=g[k]};';
9451
+ // s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9452
9452
  // s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
9453
9453
 
9454
- s += 'for(var k in g) {r[k]=g[k]};';
9454
+ s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9455
9455
  return '';
9456
9456
 
9457
9457
  } else {
@@ -12806,7 +12806,7 @@ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
12806
12806
 
12807
12807
  table.update(
12808
12808
  function (t) {
12809
- for (var f in r) t[f] = r[f];
12809
+ for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
12810
12810
  },
12811
12811
  table.data.indexOf(toreplace),
12812
12812
  params
@@ -14380,7 +14380,7 @@ yy.Insert.prototype.compile = function (databaseid) {
14380
14380
  });
14381
14381
  } else {
14382
14382
 
14383
- // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
14383
+ // 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]};';
14384
14384
  sw = JSONtoJS(values);
14385
14385
  }
14386
14386
  }
package/dist/alasql.js CHANGED
@@ -1,7 +1,7 @@
1
- //! AlaSQL v3.1.0 build: v3-hotfix-dfc34cf0 | © 2014-2023 Andrey Gershun & Mathias Wulff | License: MIT
1
+ //! AlaSQL v3.1.2 build: v3-hotfix-dfc34cf0 | © 2014-2023 Andrey Gershun & Mathias Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 3.1.0
4
+ @version 3.1.2
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 = '3.1.0';
145
+ alasql.version = '3.1.2';
146
146
  alasql.build = 'v3-hotfix-dfc34cf0';
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;
@@ -8677,7 +8677,7 @@ yy.Select.prototype.compileGroup = function (query) {
8677
8677
  aft2 = '';
8678
8678
 
8679
8679
  if (typeof query.groupStar !== 'undefined') {
8680
- aft2 += "for(var f in p['" + query.groupStar + "']) {g[f]=p['" + query.groupStar + "'][f];};";
8680
+ 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];};";
8681
8681
  }
8682
8682
 
8683
8683
  /*
@@ -9120,7 +9120,7 @@ function compileSelectStar(query, aliases, joinstar) {
9120
9120
  } else {
9121
9121
 
9122
9122
  // if column not exist, then copy all
9123
- sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
9123
+ 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]};';
9124
9124
 
9125
9125
  query.dirtyColumns = true;
9126
9126
  }
@@ -9448,10 +9448,10 @@ yy.Select.prototype.compileSelectGroup1 = function (query) {
9448
9448
  self.columns.forEach(function (col) {
9449
9449
 
9450
9450
  if (col instanceof yy.Column && col.columnid === '*') {
9451
- // s += 'for(var k in g){r[k]=g[k]};';
9451
+ // s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9452
9452
  // s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
9453
9453
 
9454
- s += 'for(var k in g) {r[k]=g[k]};';
9454
+ s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9455
9455
  return '';
9456
9456
 
9457
9457
  } else {
@@ -12806,7 +12806,7 @@ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
12806
12806
 
12807
12807
  table.update(
12808
12808
  function (t) {
12809
- for (var f in r) t[f] = r[f];
12809
+ for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
12810
12810
  },
12811
12811
  table.data.indexOf(toreplace),
12812
12812
  params
@@ -14380,7 +14380,7 @@ yy.Insert.prototype.compile = function (databaseid) {
14380
14380
  });
14381
14381
  } else {
14382
14382
 
14383
- // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
14383
+ // 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]};';
14384
14384
  sw = JSONtoJS(values);
14385
14385
  }
14386
14386
  }