alasql 0.4.12 → 0.4.13

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: 0.4.13
5
5
  // Date: 28.07.2015
6
6
  // (c) 2014-2015, Andrey Gershun & M. Rangel Wulff
7
7
  //
@@ -1,7 +1,7 @@
1
- //! AlaSQL v0.4.11 | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
1
+ //! AlaSQL v0.4.13 | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 0.4.11
4
+ @version 0.4.13
5
5
 
6
6
  AlaSQL - JavaScript SQL database
7
7
  © 2014-2016 Andrey Gershun & Mathias Rangel Wulff
@@ -1,2 +1,2 @@
1
- //! AlaSQL v0.4.11 | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
1
+ //! AlaSQL v0.4.13 | © 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 r(e,t,o){t=t||[],"function"==typeof t&&(scope=o,o=t,t=[]),"object"!=typeof t&&(t=[t]);var n=r.lastid++;r.buffer[n]=o,r.webworker.postMessage({id:n,sql:e,params:t})}if(r.options={},r.options.progress=function(){},isArray=function(r){return"[object Array]"===Object.prototype.toString.call(r)},r.promise=function(){throw new Error("Please include a Promise/A+ library")},"undefined"!=typeof Promise){var e=function(e,t,o,n){return new Promise(function(s,i){r(e,t,function(e,t){t?i(t):(o&&n&&!1!==r.options.progress&&r.options.progress(o,n),s(e))})})},t=function(r){if(!(r.length<1)){for(var t,o,n,s=[],i=0;i<r.length;i++){if(t=r[i],"string"==typeof t&&(t=[t]),!isArray(t)||t.length<1||2<t.length)throw new Error("Error in .promise parameter");o=t[0],n=t[1]||void 0,s.push(e(o,n,i,r.length))}return Promise.all(s)}};r.promise=function(r,o){if("undefined"==typeof Promise)throw new Error("Please include a Promise/A+ library");if("string"==typeof r)return e(r,o);if(!isArray(r)||r.length<1||void 0!==o)throw new Error("Error in .promise parameters");return t(r)}}if(!(r=r||!1))throw new Error("alasql was not found");return r.worker=function(){throw new Error("Can find webworker in this enviroment")},"undefined"!=typeof Worker&&(r.worker=function(e,t,o){if(!0===e&&(e=void 0),void 0===e)for(var n=document.getElementsByTagName("script"),s=0;s<n.length;s++){if("alasql-worker.js"===n[s].src.substr(-16).toLowerCase()){e=n[s].src.substr(0,n[s].src.length-16)+"alasql.js";break}if("alasql-worker.min.js"===n[s].src.substr(-20).toLowerCase()){e=n[s].src.substr(0,n[s].src.length-20)+"alasql.min.js";break}if("alasql.js"===n[s].src.substr(-9).toLowerCase()){e=n[s].src;break}if("alasql.min.js"===n[s].src.substr(-13).toLowerCase()){e=n[s].src.substr(0,n[s].src.length-13)+"alasql.min.js";break}}if(void 0===e)throw new Error("Path to alasql.js is not specified");if(!1!==e){var i="importScripts('";i+=e,i+="');self.onmessage = function(event) {alasql(event.data.sql,event.data.params, function(data){postMessage({id:event.data.id, data:data});});}";var a=new Blob([i],{type:"text/plain"});if(r.webworker=new Worker(URL.createObjectURL(a)),r.webworker.onmessage=function(e){var t=e.data.id;r.buffer[t](e.data.data),delete r.buffer[t]},r.webworker.onerror=function(r){throw r},arguments.length>1){r("REQUIRE "+t.map(function(r){return'"'+r+'"'}).join(","),[],o)}}else if(!1===e)return void delete r.webworker}),r.lastid=0,r.buffer={},r.worker(),r});
package/dist/alasql.fs.js CHANGED
@@ -1,7 +1,7 @@
1
- //! AlaSQL v0.4.11 | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
1
+ //! AlaSQL v0.4.13 | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 0.4.11
4
+ @version 0.4.13
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 = '0.4.11';
145
+ alasql.version = '0.4.13';
146
146
 
147
147
  /**
148
148
  Debug flag
@@ -4008,11 +4008,11 @@ var cloneDeep = (utils.cloneDeep = function cloneDeep(obj) {
4008
4008
  return new Date(obj);
4009
4009
  }
4010
4010
 
4011
- var temp = obj.constructor(); // changed
4011
+ var temp = (Object.prototype.hasOwnProperty.call(obj, 'constructor') ? Object : obj.constructor)(); // changed
4012
4012
 
4013
4013
  for (var key in obj) {
4014
4014
  if (obj.hasOwnProperty(key)) {
4015
- temp[key] = cloneDeep(obj[key]);
4015
+ /* 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]); }
4016
4016
  }
4017
4017
  }
4018
4018
  return temp;
@@ -4084,7 +4084,7 @@ var extend = (utils.extend = function extend(a, b) {
4084
4084
  a = a || {};
4085
4085
  for (var key in b) {
4086
4086
  if (b.hasOwnProperty(key)) {
4087
- a[key] = b[key];
4087
+ /* 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]; }
4088
4088
  }
4089
4089
  }
4090
4090
  return a;
@@ -9117,7 +9117,7 @@ yy.Select.prototype.compileGroup = function(query) {
9117
9117
  aft2 +=
9118
9118
  "for(var f in p['" +
9119
9119
  query.groupStar +
9120
- "']) {g[f]=p['" +
9120
+ "']) {if(/^__proto__$/.test(f))Object.defineProperty(g,f,{writable:true,enumerable:true,configurable:true});g[f]=p['" +
9121
9121
  query.groupStar +
9122
9122
  "'][f];};";
9123
9123
  }
@@ -9460,7 +9460,7 @@ function compileSelectStar(query, alias, joinstar) {
9460
9460
  } else {
9461
9461
 
9462
9462
  // if column not exist, then copy all
9463
- sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
9463
+ 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]};';
9464
9464
 
9465
9465
  query.dirtyColumns = true;
9466
9466
  }
@@ -9788,10 +9788,10 @@ yy.Select.prototype.compileSelectGroup1 = function(query) {
9788
9788
  self.columns.forEach(function(col) {
9789
9789
 
9790
9790
  if (col instanceof yy.Column && col.columnid === '*') {
9791
- // s += 'for(var k in g){r[k]=g[k]};';
9791
+ // s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9792
9792
  // s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
9793
9793
 
9794
- s += 'for(var k in g) {r[k]=g[k]};';
9794
+ s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9795
9795
  return '';
9796
9796
 
9797
9797
  } else {
@@ -13053,7 +13053,7 @@ yy.CreateTable.prototype.execute = function(databaseid, params, cb) {
13053
13053
 
13054
13054
  table.update(
13055
13055
  function(t) {
13056
- for (var f in r) t[f] = r[f];
13056
+ for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
13057
13057
  },
13058
13058
  table.data.indexOf(toreplace),
13059
13059
  params
@@ -14614,7 +14614,7 @@ yy.Insert.prototype.compile = function(databaseid) {
14614
14614
  });
14615
14615
  } else {
14616
14616
 
14617
- // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
14617
+ // 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]};';
14618
14618
  sw = JSONtoJS(values);
14619
14619
  }
14620
14620
  }
package/dist/alasql.js CHANGED
@@ -1,7 +1,7 @@
1
- //! AlaSQL v0.4.11 | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
1
+ //! AlaSQL v0.4.13 | © 2014-2018 Andrey Gershun & Mathias Rangel Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 0.4.11
4
+ @version 0.4.13
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 = '0.4.11';
145
+ alasql.version = '0.4.13';
146
146
 
147
147
  /**
148
148
  Debug flag
@@ -4003,11 +4003,11 @@ var cloneDeep = (utils.cloneDeep = function cloneDeep(obj) {
4003
4003
  return new Date(obj);
4004
4004
  }
4005
4005
 
4006
- var temp = obj.constructor(); // changed
4006
+ var temp = (Object.prototype.hasOwnProperty.call(obj, 'constructor') ? Object : obj.constructor)(); // changed
4007
4007
 
4008
4008
  for (var key in obj) {
4009
4009
  if (obj.hasOwnProperty(key)) {
4010
- temp[key] = cloneDeep(obj[key]);
4010
+ /* 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]); }
4011
4011
  }
4012
4012
  }
4013
4013
  return temp;
@@ -4079,7 +4079,7 @@ var extend = (utils.extend = function extend(a, b) {
4079
4079
  a = a || {};
4080
4080
  for (var key in b) {
4081
4081
  if (b.hasOwnProperty(key)) {
4082
- a[key] = b[key];
4082
+ /* 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]; }
4083
4083
  }
4084
4084
  }
4085
4085
  return a;
@@ -9112,7 +9112,7 @@ yy.Select.prototype.compileGroup = function(query) {
9112
9112
  aft2 +=
9113
9113
  "for(var f in p['" +
9114
9114
  query.groupStar +
9115
- "']) {g[f]=p['" +
9115
+ "']) {if(/^__proto__$/.test(f))Object.defineProperty(g,f,{writable:true,enumerable:true,configurable:true});g[f]=p['" +
9116
9116
  query.groupStar +
9117
9117
  "'][f];};";
9118
9118
  }
@@ -9455,7 +9455,7 @@ function compileSelectStar(query, alias, joinstar) {
9455
9455
  } else {
9456
9456
 
9457
9457
  // if column not exist, then copy all
9458
- sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
9458
+ 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]};';
9459
9459
 
9460
9460
  query.dirtyColumns = true;
9461
9461
  }
@@ -9783,10 +9783,10 @@ yy.Select.prototype.compileSelectGroup1 = function(query) {
9783
9783
  self.columns.forEach(function(col) {
9784
9784
 
9785
9785
  if (col instanceof yy.Column && col.columnid === '*') {
9786
- // s += 'for(var k in g){r[k]=g[k]};';
9786
+ // s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9787
9787
  // s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
9788
9788
 
9789
- s += 'for(var k in g) {r[k]=g[k]};';
9789
+ s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9790
9790
  return '';
9791
9791
 
9792
9792
  } else {
@@ -13048,7 +13048,7 @@ yy.CreateTable.prototype.execute = function(databaseid, params, cb) {
13048
13048
 
13049
13049
  table.update(
13050
13050
  function(t) {
13051
- for (var f in r) t[f] = r[f];
13051
+ for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
13052
13052
  },
13053
13053
  table.data.indexOf(toreplace),
13054
13054
  params
@@ -14609,7 +14609,7 @@ yy.Insert.prototype.compile = function(databaseid) {
14609
14609
  });
14610
14610
  } else {
14611
14611
 
14612
- // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
14612
+ // 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]};';
14613
14613
  sw = JSONtoJS(values);
14614
14614
  }
14615
14615
  }