alasql 4.5.1 → 4.5.3

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: 4.5.3
6
6
  // Date: 28.07.2015
7
7
  // (c) 2014-2022, Andrey Gershun & Mathias Wulff
8
8
  //
@@ -1,7 +1,7 @@
1
- //! AlaSQL v4.5.0 build: develop-85c24d42 | © 2014-2024 Andrey Gershun & Mathias Wulff | License: MIT
1
+ //! AlaSQL v4.5.3 build: develop-a7daf2ff | © 2014-2024 Andrey Gershun & Mathias Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 4.5.0
4
+ @version 4.5.3
5
5
 
6
6
  AlaSQL - JavaScript SQL database
7
7
  © 2014-2024 Andrey Gershun & Mathias Wulff
package/dist/alasql.fs.js CHANGED
@@ -1,7 +1,7 @@
1
- //! AlaSQL v4.5.0 build: develop-85c24d42 | © 2014-2024 Andrey Gershun & Mathias Wulff | License: MIT
1
+ //! AlaSQL v4.5.3 build: develop-a7daf2ff | © 2014-2024 Andrey Gershun & Mathias Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 4.5.0
4
+ @version 4.5.3
5
5
 
6
6
  AlaSQL - JavaScript SQL database
7
7
  © 2014-2024 Andrey Gershun & Mathias Wulff
@@ -141,8 +141,8 @@ SOFTWARE.
141
141
  Current version of alasql
142
142
  @constant {string}
143
143
  */
144
- alasql.version = '4.5.0';
145
- alasql.build = 'develop-85c24d42';
144
+ alasql.version = '4.5.3';
145
+ alasql.build = 'develop-a7daf2ff';
146
146
 
147
147
  /**
148
148
  Debug flag
@@ -4048,11 +4048,11 @@ var cloneDeep = (utils.cloneDeep = function cloneDeep(obj) {
4048
4048
  return +obj;
4049
4049
  }
4050
4050
 
4051
- var temp = new obj.constructor(); // changed
4051
+ var temp = new (Object.prototype.hasOwnProperty.call(obj, 'constructor') ? Object : obj.constructor)(); // changed
4052
4052
 
4053
4053
  for (var key in obj) {
4054
4054
  if (obj.hasOwnProperty(key)) {
4055
- temp[key] = cloneDeep(obj[key]);
4055
+ /* 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]); }
4056
4056
  }
4057
4057
  }
4058
4058
  return temp;
@@ -4124,7 +4124,7 @@ var extend = (utils.extend = function extend(a, b) {
4124
4124
  a = a || {};
4125
4125
  for (var key in b) {
4126
4126
  if (b.hasOwnProperty(key)) {
4127
- a[key] = b[key];
4127
+ /* 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]; }
4128
4128
  }
4129
4129
  }
4130
4130
  return a;
@@ -8388,7 +8388,7 @@ yy.Select.prototype.compileGroup = function (query) {
8388
8388
  aft2 = '';
8389
8389
 
8390
8390
  if (typeof query.groupStar !== 'undefined') {
8391
- aft2 += "for(var f in p['" + query.groupStar + "']) {g[f]=p['" + query.groupStar + "'][f];};";
8391
+ 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];};";
8392
8392
  }
8393
8393
 
8394
8394
  s += query.selectGroup
@@ -8777,7 +8777,7 @@ function compileSelectStar(query, aliases, joinstar) {
8777
8777
  } else {
8778
8778
 
8779
8779
  // if column not exist, then copy all
8780
- sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
8780
+ 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]};';
8781
8781
 
8782
8782
  query.dirtyColumns = true;
8783
8783
  }
@@ -9105,10 +9105,10 @@ yy.Select.prototype.compileSelectGroup1 = function (query) {
9105
9105
  self.columns.forEach(function (col) {
9106
9106
 
9107
9107
  if (col instanceof yy.Column && col.columnid === '*') {
9108
- // s += 'for(var k in g){r[k]=g[k]};';
9108
+ // s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9109
9109
  // s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
9110
9110
 
9111
- s += 'for(var k in g) {r[k]=g[k]};';
9111
+ s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9112
9112
  return '';
9113
9113
 
9114
9114
  } else {
@@ -10215,7 +10215,7 @@ yy.Over = class Over {
10215
10215
  const allValues = this.right.map(value => value.value);
10216
10216
  const allValuesStr = allValues.join(',');
10217
10217
  alasql.sets[allValuesStr] = alasql.sets[allValuesStr] || new Set(allValues);
10218
- s = `alasql.sets["${allValuesStr}"].has(alasql.utils.getValueOf(${leftJS()}))`;
10218
+ s = `alasql.sets[${JSON.stringify(allValuesStr)}].has(alasql.utils.getValueOf(${leftJS()}))`;
10219
10219
  }
10220
10220
  } else {
10221
10221
  s = `(${rightJS()}.indexOf(${leftJS()}) > -1)`;
@@ -10233,7 +10233,7 @@ yy.Over = class Over {
10233
10233
  const allValues = this.right.map(value => value.value);
10234
10234
  const allValuesStr = allValues.join(',');
10235
10235
  alasql.sets[allValuesStr] = alasql.sets[allValuesStr] || new Set(allValues);
10236
- s = `!alasql.sets["${allValuesStr}"].has(alasql.utils.getValueOf(${leftJS()}))`;
10236
+ s = `!alasql.sets[${JSON.stringify(allValuesStr)}].has(alasql.utils.getValueOf(${leftJS()}))`;
10237
10237
  }
10238
10238
  } else {
10239
10239
  s = `(${rightJS()}.indexOf(${leftJS()}) === -1)`;
@@ -12087,7 +12087,7 @@ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
12087
12087
 
12088
12088
  table.update(
12089
12089
  function (t) {
12090
- for (var f in r) t[f] = r[f];
12090
+ for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
12091
12091
  },
12092
12092
  table.data.indexOf(toreplace),
12093
12093
  params
@@ -13601,7 +13601,7 @@ yy.Insert.prototype.compile = function (databaseid) {
13601
13601
  });
13602
13602
  } else {
13603
13603
 
13604
- // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
13604
+ // 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]};';
13605
13605
  sw = JSONtoJS(values);
13606
13606
  }
13607
13607
  }
package/dist/alasql.js CHANGED
@@ -1,7 +1,7 @@
1
- //! AlaSQL v4.5.0 build: develop-85c24d42 | © 2014-2024 Andrey Gershun & Mathias Wulff | License: MIT
1
+ //! AlaSQL v4.5.3 build: develop-a7daf2ff | © 2014-2024 Andrey Gershun & Mathias Wulff | License: MIT
2
2
  /*
3
3
  @module alasql
4
- @version 4.5.0
4
+ @version 4.5.3
5
5
 
6
6
  AlaSQL - JavaScript SQL database
7
7
  © 2014-2024 Andrey Gershun & Mathias Wulff
@@ -141,8 +141,8 @@ SOFTWARE.
141
141
  Current version of alasql
142
142
  @constant {string}
143
143
  */
144
- alasql.version = '4.5.0';
145
- alasql.build = 'develop-85c24d42';
144
+ alasql.version = '4.5.3';
145
+ alasql.build = 'develop-a7daf2ff';
146
146
 
147
147
  /**
148
148
  Debug flag
@@ -4048,11 +4048,11 @@ var cloneDeep = (utils.cloneDeep = function cloneDeep(obj) {
4048
4048
  return +obj;
4049
4049
  }
4050
4050
 
4051
- var temp = new obj.constructor(); // changed
4051
+ var temp = new (Object.prototype.hasOwnProperty.call(obj, 'constructor') ? Object : obj.constructor)(); // changed
4052
4052
 
4053
4053
  for (var key in obj) {
4054
4054
  if (obj.hasOwnProperty(key)) {
4055
- temp[key] = cloneDeep(obj[key]);
4055
+ /* 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]); }
4056
4056
  }
4057
4057
  }
4058
4058
  return temp;
@@ -4124,7 +4124,7 @@ var extend = (utils.extend = function extend(a, b) {
4124
4124
  a = a || {};
4125
4125
  for (var key in b) {
4126
4126
  if (b.hasOwnProperty(key)) {
4127
- a[key] = b[key];
4127
+ /* 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]; }
4128
4128
  }
4129
4129
  }
4130
4130
  return a;
@@ -8388,7 +8388,7 @@ yy.Select.prototype.compileGroup = function (query) {
8388
8388
  aft2 = '';
8389
8389
 
8390
8390
  if (typeof query.groupStar !== 'undefined') {
8391
- aft2 += "for(var f in p['" + query.groupStar + "']) {g[f]=p['" + query.groupStar + "'][f];};";
8391
+ 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];};";
8392
8392
  }
8393
8393
 
8394
8394
  s += query.selectGroup
@@ -8777,7 +8777,7 @@ function compileSelectStar(query, aliases, joinstar) {
8777
8777
  } else {
8778
8778
 
8779
8779
  // if column not exist, then copy all
8780
- sp += 'var w=p["' + alias + '"];for(var k in w){r[k]=w[k]};';
8780
+ 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]};';
8781
8781
 
8782
8782
  query.dirtyColumns = true;
8783
8783
  }
@@ -9105,10 +9105,10 @@ yy.Select.prototype.compileSelectGroup1 = function (query) {
9105
9105
  self.columns.forEach(function (col) {
9106
9106
 
9107
9107
  if (col instanceof yy.Column && col.columnid === '*') {
9108
- // s += 'for(var k in g){r[k]=g[k]};';
9108
+ // s += 'for(var k in g){if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9109
9109
  // s += 'for(var k in this.query.groupColumns){r[k]=g[this.query.groupColumns[k]]};';
9110
9110
 
9111
- s += 'for(var k in g) {r[k]=g[k]};';
9111
+ s += 'for(var k in g) {if(/^__proto__$/.test(k))Object.defineProperty(r,k,{writable:true,enumerable:true,configurable:true});r[k]=g[k]};';
9112
9112
  return '';
9113
9113
 
9114
9114
  } else {
@@ -10215,7 +10215,7 @@ yy.Over = class Over {
10215
10215
  const allValues = this.right.map(value => value.value);
10216
10216
  const allValuesStr = allValues.join(',');
10217
10217
  alasql.sets[allValuesStr] = alasql.sets[allValuesStr] || new Set(allValues);
10218
- s = `alasql.sets["${allValuesStr}"].has(alasql.utils.getValueOf(${leftJS()}))`;
10218
+ s = `alasql.sets[${JSON.stringify(allValuesStr)}].has(alasql.utils.getValueOf(${leftJS()}))`;
10219
10219
  }
10220
10220
  } else {
10221
10221
  s = `(${rightJS()}.indexOf(${leftJS()}) > -1)`;
@@ -10233,7 +10233,7 @@ yy.Over = class Over {
10233
10233
  const allValues = this.right.map(value => value.value);
10234
10234
  const allValuesStr = allValues.join(',');
10235
10235
  alasql.sets[allValuesStr] = alasql.sets[allValuesStr] || new Set(allValues);
10236
- s = `!alasql.sets["${allValuesStr}"].has(alasql.utils.getValueOf(${leftJS()}))`;
10236
+ s = `!alasql.sets[${JSON.stringify(allValuesStr)}].has(alasql.utils.getValueOf(${leftJS()}))`;
10237
10237
  }
10238
10238
  } else {
10239
10239
  s = `(${rightJS()}.indexOf(${leftJS()}) === -1)`;
@@ -12087,7 +12087,7 @@ yy.CreateTable.prototype.execute = function (databaseid, params, cb) {
12087
12087
 
12088
12088
  table.update(
12089
12089
  function (t) {
12090
- for (var f in r) t[f] = r[f];
12090
+ for (var f in r) {if(/^__proto__$/.test(f))Object.defineProperty(t,f,{writable:true,enumerable:true,configurable:true});t[f] = r[f];}
12091
12091
  },
12092
12092
  table.data.indexOf(toreplace),
12093
12093
  params
@@ -13601,7 +13601,7 @@ yy.Insert.prototype.compile = function (databaseid) {
13601
13601
  });
13602
13602
  } else {
13603
13603
 
13604
- // sw = 'var w='+JSONtoJS(values)+';for(var k in w){r[k]=w[k]};';
13604
+ // 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]};';
13605
13605
  sw = JSONtoJS(values);
13606
13606
  }
13607
13607
  }