alasql 1.7.5 → 1.7.6

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
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  //
3
3
  // Command line interface for Alasql
4
- // Version: 0.2.2
4
+ // Version: 1.7.6
5
5
  // Date: 28.07.2015
6
6
  // (c) 2014-2015, Andrey Gershun & M. Rangel Wulff
7
7
  //
@@ -1,7 +1,7 @@
1
- //! AlaSQL v1.7.5-v1-hotfix-95227342undefined | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
1
+ //! AlaSQL v1.7.6 | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 1.7.5-v1-hotfix-95227342undefined
4
+ @version 1.7.6
5
5
 
6
6
  AlaSQL - JavaScript SQL database
7
7
  © 2014-2016 Andrey Gershun & Mathias Rangel Wulff
@@ -1,2 +1,2 @@
1
- //! AlaSQL v1.7.5-v1-hotfix-95227342undefined | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
1
+ //! AlaSQL v1.7.6 | © 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,t){"function"==typeof(e=e||[])&&(scope=t,t=e,e=[]),"object"!=typeof e&&(e=[e]);var o=i.lastid++;i.buffer[o]=t,i.webworker.postMessage({id:o,sql:r,params:e})}var s;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&&(s=function(r,e,n,s){return new Promise(function(t,o){i(r,e,function(r,e){e?o(e):(n&&s&&!1!==i.options.progress&&i.options.progress(n,s),t(r))})})},i.promise=function(r,e){if("undefined"==typeof Promise)throw new Error("Please include a Promise/A+ library");if("string"==typeof r)return s(r,e);if(!isArray(r)||r.length<1||void 0!==e)throw new Error("Error in .promise parameters");return function(r){if(!(r.length<1)){for(var e,t,o=[],n=0;n<r.length;n++){if("string"==typeof(t=r[n])&&(t=[t]),!isArray(t)||t.length<1||2<t.length)throw new Error("Error in .promise parameter");e=t[0],t=t[1]||void 0,o.push(s(e,t,n,r.length))}return Promise.all(o)}}(r)}),!(i=i||!1))throw new Error("alasql was not found");return i.worker=function(){throw new Error("Can find webworker in this enviroment")},"undefined"!=typeof Worker&&(i.worker=function(r,e,t){if(void 0===(r=!0===r?void 0:r))for(var o=document.getElementsByTagName("script"),n=0;n<o.length;n++){if("alasql-worker.js"===o[n].src.substr(-16).toLowerCase()){r=o[n].src.substr(0,o[n].src.length-16)+"alasql.js";break}if("alasql-worker.min.js"===o[n].src.substr(-20).toLowerCase()){r=o[n].src.substr(0,o[n].src.length-20)+"alasql.min.js";break}if("alasql.js"===o[n].src.substr(-9).toLowerCase()){r=o[n].src;break}if("alasql.min.js"===o[n].src.substr(-13).toLowerCase()){r=o[n].src.substr(0,o[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="importScripts('",s+=r,s+="');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(","),[],t)):!1===r&&delete i.webworker}),i.lastid=0,i.buffer={},i.worker(),i});
package/dist/alasql.fs.js CHANGED
@@ -1,7 +1,7 @@
1
- //! AlaSQL v1.7.5-v1-hotfix-95227342undefined | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
1
+ //! AlaSQL v1.7.6 | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 1.7.5-v1-hotfix-95227342undefined
4
+ @version 1.7.6
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 = '1.7.5-v1-hotfix-95227342undefined';
145
+ alasql.version = '1.7.6';
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;
@@ -9076,7 +9076,7 @@ yy.Select.prototype.compileGroup = function (query) {
9076
9076
  aft2 = '';
9077
9077
 
9078
9078
  if (typeof query.groupStar !== 'undefined') {
9079
- aft2 += "for(var f in p['" + query.groupStar + "']) {g[f]=p['" + query.groupStar + "'][f];};";
9079
+ 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];};";
9080
9080
  }
9081
9081
 
9082
9082
  /*
@@ -9400,7 +9400,7 @@ function compileSelectStar(query, aliases, joinstar) {
9400
9400
  } else {
9401
9401
 
9402
9402
  // if column not exist, then copy all
9403
- sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
9403
+ 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]};';
9404
9404
 
9405
9405
  query.dirtyColumns = true;
9406
9406
  }
@@ -9729,10 +9729,10 @@ yy.Select.prototype.compileSelectGroup1 = function (query) {
9729
9729
  self.columns.forEach(function (col) {
9730
9730
 
9731
9731
  if (col instanceof yy.Column && col.columnid === '*') {
9732
- // s += 'for(var k in g){r[k]=g[k]};';
9732
+ // s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9733
9733
  // s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
9734
9734
 
9735
- s += 'for(var k in g) {r[k]=g[k]};';
9735
+ s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9736
9736
  return '';
9737
9737
 
9738
9738
  } else {
@@ -13049,7 +13049,7 @@ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
13049
13049
 
13050
13050
  table.update(
13051
13051
  function (t) {
13052
- for (var f in r) t[f] = r[f];
13052
+ for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
13053
13053
  },
13054
13054
  table.data.indexOf(toreplace),
13055
13055
  params
@@ -14595,7 +14595,7 @@ yy.Insert.prototype.compile = function (databaseid) {
14595
14595
  });
14596
14596
  } else {
14597
14597
 
14598
- // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
14598
+ // 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]};';
14599
14599
  sw = JSONtoJS(values);
14600
14600
  }
14601
14601
  }
package/dist/alasql.js CHANGED
@@ -1,7 +1,7 @@
1
- //! AlaSQL v1.7.5-v1-hotfix-95227342undefined | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
1
+ //! AlaSQL v1.7.6 | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 1.7.5-v1-hotfix-95227342undefined
4
+ @version 1.7.6
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 = '1.7.5-v1-hotfix-95227342undefined';
145
+ alasql.version = '1.7.6';
146
146
 
147
147
  /**
148
148
  Debug flag
@@ -4022,11 +4022,11 @@ var cloneDeep = (utils.cloneDeep = function cloneDeep(obj) {
4022
4022
  return +obj;
4023
4023
  }
4024
4024
 
4025
- var temp = obj.constructor(); // changed
4025
+ var temp = (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;
@@ -9071,7 +9071,7 @@ yy.Select.prototype.compileGroup = function (query) {
9071
9071
  aft2 = '';
9072
9072
 
9073
9073
  if (typeof query.groupStar !== 'undefined') {
9074
- aft2 += "for(var f in p['" + query.groupStar + "']) {g[f]=p['" + query.groupStar + "'][f];};";
9074
+ 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];};";
9075
9075
  }
9076
9076
 
9077
9077
  /*
@@ -9395,7 +9395,7 @@ function compileSelectStar(query, aliases, joinstar) {
9395
9395
  } else {
9396
9396
 
9397
9397
  // if column not exist, then copy all
9398
- sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
9398
+ 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]};';
9399
9399
 
9400
9400
  query.dirtyColumns = true;
9401
9401
  }
@@ -9724,10 +9724,10 @@ yy.Select.prototype.compileSelectGroup1 = function (query) {
9724
9724
  self.columns.forEach(function (col) {
9725
9725
 
9726
9726
  if (col instanceof yy.Column && col.columnid === '*') {
9727
- // s += 'for(var k in g){r[k]=g[k]};';
9727
+ // s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9728
9728
  // s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
9729
9729
 
9730
- s += 'for(var k in g) {r[k]=g[k]};';
9730
+ s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9731
9731
  return '';
9732
9732
 
9733
9733
  } else {
@@ -13044,7 +13044,7 @@ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
13044
13044
 
13045
13045
  table.update(
13046
13046
  function (t) {
13047
- for (var f in r) t[f] = r[f];
13047
+ for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
13048
13048
  },
13049
13049
  table.data.indexOf(toreplace),
13050
13050
  params
@@ -14590,7 +14590,7 @@ yy.Insert.prototype.compile = function (databaseid) {
14590
14590
  });
14591
14591
  } else {
14592
14592
 
14593
- // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
14593
+ // 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]};';
14594
14594
  sw = JSONtoJS(values);
14595
14595
  }
14596
14596
  }