alasql 2.0.7 → 2.0.8

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: 2.0.8
5
5
  // Date: 28.07.2015
6
6
  // (c) 2014-2015, Andrey Gershun & M. Rangel Wulff
7
7
  //
@@ -1,7 +1,7 @@
1
- //! AlaSQL v2.0.7-develop-c0ecdf55undefined | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
1
+ //! AlaSQL v2.0.8 | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 2.0.7-develop-c0ecdf55undefined
4
+ @version 2.0.8
5
5
 
6
6
  AlaSQL - JavaScript SQL database
7
7
  © 2014-2016 Andrey Gershun & Mathias Rangel Wulff
@@ -1,2 +1,2 @@
1
- //! AlaSQL v2.0.7-develop-c0ecdf55undefined | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
1
+ //! AlaSQL v2.0.8 | © 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,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.0.7-develop-c0ecdf55undefined | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
1
+ //! AlaSQL v2.0.8 | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 2.0.7-develop-c0ecdf55undefined
4
+ @version 2.0.8
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.0.7-develop-c0ecdf55undefined';
145
+ alasql.version = '2.0.8';
146
146
 
147
147
  /**
148
148
  Debug flag
@@ -4032,11 +4032,11 @@ var cloneDeep = (utils.cloneDeep = function cloneDeep(obj) {
4032
4032
  return +obj;
4033
4033
  }
4034
4034
 
4035
- var temp = obj.constructor(); // changed
4035
+ var temp = (Object.prototype.hasOwnProperty.call(obj, 'constructor') ? Object : obj.constructor)(); // changed
4036
4036
 
4037
4037
  for (var key in obj) {
4038
4038
  if (obj.hasOwnProperty(key)) {
4039
- temp[key] = cloneDeep(obj[key]);
4039
+ /* 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]); }
4040
4040
  }
4041
4041
  }
4042
4042
  return temp;
@@ -4108,7 +4108,7 @@ var extend = (utils.extend = function extend(a, b) {
4108
4108
  a = a || {};
4109
4109
  for (var key in b) {
4110
4110
  if (b.hasOwnProperty(key)) {
4111
- a[key] = b[key];
4111
+ /* 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]; }
4112
4112
  }
4113
4113
  }
4114
4114
  return a;
@@ -9068,7 +9068,7 @@ yy.Select.prototype.compileGroup = function (query) {
9068
9068
  aft2 = '';
9069
9069
 
9070
9070
  if (typeof query.groupStar !== 'undefined') {
9071
- aft2 += "for(var f in p['" + query.groupStar + "']) {g[f]=p['" + query.groupStar + "'][f];};";
9071
+ 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];};";
9072
9072
  }
9073
9073
 
9074
9074
  /*
@@ -9391,7 +9391,7 @@ function compileSelectStar(query, aliases, joinstar) {
9391
9391
  } else {
9392
9392
 
9393
9393
  // if column not exist, then copy all
9394
- sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
9394
+ 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]};';
9395
9395
 
9396
9396
  query.dirtyColumns = true;
9397
9397
  }
@@ -9720,10 +9720,10 @@ yy.Select.prototype.compileSelectGroup1 = function (query) {
9720
9720
  self.columns.forEach(function (col) {
9721
9721
 
9722
9722
  if (col instanceof yy.Column && col.columnid === '*') {
9723
- // s += 'for(var k in g){r[k]=g[k]};';
9723
+ // s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9724
9724
  // s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
9725
9725
 
9726
- s += 'for(var k in g) {r[k]=g[k]};';
9726
+ s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9727
9727
  return '';
9728
9728
 
9729
9729
  } else {
@@ -13032,7 +13032,7 @@ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
13032
13032
 
13033
13033
  table.update(
13034
13034
  function (t) {
13035
- for (var f in r) t[f] = r[f];
13035
+ for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
13036
13036
  },
13037
13037
  table.data.indexOf(toreplace),
13038
13038
  params
@@ -14596,7 +14596,7 @@ yy.Insert.prototype.compile = function (databaseid) {
14596
14596
  });
14597
14597
  } else {
14598
14598
 
14599
- // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
14599
+ // 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]};';
14600
14600
  sw = JSONtoJS(values);
14601
14601
  }
14602
14602
  }
package/dist/alasql.js CHANGED
@@ -1,7 +1,7 @@
1
- //! AlaSQL v2.0.7-develop-c0ecdf55undefined | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
1
+ //! AlaSQL v2.0.8 | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 2.0.7-develop-c0ecdf55undefined
4
+ @version 2.0.8
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.0.7-develop-c0ecdf55undefined';
145
+ alasql.version = '2.0.8';
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;
@@ -9063,7 +9063,7 @@ yy.Select.prototype.compileGroup = function (query) {
9063
9063
  aft2 = '';
9064
9064
 
9065
9065
  if (typeof query.groupStar !== 'undefined') {
9066
- aft2 += "for(var f in p['" + query.groupStar + "']) {g[f]=p['" + query.groupStar + "'][f];};";
9066
+ 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];};";
9067
9067
  }
9068
9068
 
9069
9069
  /*
@@ -9386,7 +9386,7 @@ function compileSelectStar(query, aliases, joinstar) {
9386
9386
  } else {
9387
9387
 
9388
9388
  // if column not exist, then copy all
9389
- sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
9389
+ 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]};';
9390
9390
 
9391
9391
  query.dirtyColumns = true;
9392
9392
  }
@@ -9715,10 +9715,10 @@ yy.Select.prototype.compileSelectGroup1 = function (query) {
9715
9715
  self.columns.forEach(function (col) {
9716
9716
 
9717
9717
  if (col instanceof yy.Column && col.columnid === '*') {
9718
- // s += 'for(var k in g){r[k]=g[k]};';
9718
+ // s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9719
9719
  // s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
9720
9720
 
9721
- s += 'for(var k in g) {r[k]=g[k]};';
9721
+ s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9722
9722
  return '';
9723
9723
 
9724
9724
  } else {
@@ -13027,7 +13027,7 @@ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
13027
13027
 
13028
13028
  table.update(
13029
13029
  function (t) {
13030
- for (var f in r) t[f] = r[f];
13030
+ for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
13031
13031
  },
13032
13032
  table.data.indexOf(toreplace),
13033
13033
  params
@@ -14591,7 +14591,7 @@ yy.Insert.prototype.compile = function (databaseid) {
14591
14591
  });
14592
14592
  } else {
14593
14593
 
14594
- // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
14594
+ // 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]};';
14595
14595
  sw = JSONtoJS(values);
14596
14596
  }
14597
14597
  }