sval 0.5.9 → 0.6.1

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/dist/sval.es6.js CHANGED
@@ -143,267 +143,278 @@
143
143
  const assign = Object.assign || _assign;
144
144
  let names = [];
145
145
  let globalObj = create(null);
146
- try {
147
- if (!window.Object)
146
+ const setGlobalObj = (g) => {
147
+ if (!g.Object)
148
148
  throw 0;
149
- names = getOwnNames(globalObj = window).filter(n => n !== 'webkitStorageInfo');
149
+ names = getOwnNames(globalObj = g).filter(n => ['webkitStorageInfo', 'GLOBAL', 'root'].indexOf(n) === -1);
150
+ };
151
+ try {
152
+ setGlobalObj(window);
150
153
  }
151
154
  catch (err) {
152
155
  try {
153
- if (!global.Object)
154
- throw 0;
155
- names = getOwnNames(globalObj = global).filter(n => n !== 'GLOBAL' && n !== 'root');
156
+ setGlobalObj(self);
156
157
  }
157
158
  catch (err) {
158
159
  try {
159
- globalObj.Object = Object;
160
+ setGlobalObj(global);
160
161
  }
161
- catch (err) { }
162
- try {
163
- globalObj.Function = Function;
164
- }
165
- catch (err) { }
166
- try {
167
- globalObj.Array = Array;
168
- }
169
- catch (err) { }
170
- try {
171
- globalObj.Number = Number;
172
- }
173
- catch (err) { }
174
- try {
175
- globalObj.parseFloat = parseFloat;
176
- }
177
- catch (err) { }
178
- try {
179
- globalObj.parseInt = parseInt;
180
- }
181
- catch (err) { }
182
- try {
183
- globalObj.Infinity = Infinity;
184
- }
185
- catch (err) { }
186
- try {
187
- globalObj.NaN = NaN;
188
- }
189
- catch (err) { }
190
- try {
191
- globalObj.undefined = undefined;
192
- }
193
- catch (err) { }
194
- try {
195
- globalObj.Boolean = Boolean;
196
- }
197
- catch (err) { }
198
- try {
199
- globalObj.String = String;
200
- }
201
- catch (err) { }
202
- try {
203
- globalObj.Symbol = Symbol;
204
- }
205
- catch (err) { }
206
- try {
207
- globalObj.Date = Date;
208
- }
209
- catch (err) { }
210
- try {
211
- globalObj.Promise = Promise;
212
- }
213
- catch (err) { }
214
- try {
215
- globalObj.RegExp = RegExp;
216
- }
217
- catch (err) { }
218
- try {
219
- globalObj.Error = Error;
220
- }
221
- catch (err) { }
222
- try {
223
- globalObj.EvalError = EvalError;
224
- }
225
- catch (err) { }
226
- try {
227
- globalObj.RangeError = RangeError;
228
- }
229
- catch (err) { }
230
- try {
231
- globalObj.ReferenceError = ReferenceError;
232
- }
233
- catch (err) { }
234
- try {
235
- globalObj.SyntaxError = SyntaxError;
236
- }
237
- catch (err) { }
238
- try {
239
- globalObj.TypeError = TypeError;
240
- }
241
- catch (err) { }
242
- try {
243
- globalObj.URIError = URIError;
244
- }
245
- catch (err) { }
246
- try {
247
- globalObj.JSON = JSON;
248
- }
249
- catch (err) { }
250
- try {
251
- globalObj.Math = Math;
252
- }
253
- catch (err) { }
254
- try {
255
- globalObj.console = console;
256
- }
257
- catch (err) { }
258
- try {
259
- globalObj.Intl = Intl;
260
- }
261
- catch (err) { }
262
- try {
263
- globalObj.ArrayBuffer = ArrayBuffer;
264
- }
265
- catch (err) { }
266
- try {
267
- globalObj.Uint8Array = Uint8Array;
268
- }
269
- catch (err) { }
270
- try {
271
- globalObj.Int8Array = Int8Array;
272
- }
273
- catch (err) { }
274
- try {
275
- globalObj.Uint16Array = Uint16Array;
276
- }
277
- catch (err) { }
278
- try {
279
- globalObj.Int16Array = Int16Array;
280
- }
281
- catch (err) { }
282
- try {
283
- globalObj.Uint32Array = Uint32Array;
284
- }
285
- catch (err) { }
286
- try {
287
- globalObj.Int32Array = Int32Array;
288
- }
289
- catch (err) { }
290
- try {
291
- globalObj.Float32Array = Float32Array;
292
- }
293
- catch (err) { }
294
- try {
295
- globalObj.Float64Array = Float64Array;
296
- }
297
- catch (err) { }
298
- try {
299
- globalObj.Uint8ClampedArray = Uint8ClampedArray;
300
- }
301
- catch (err) { }
302
- try {
303
- globalObj.DataView = DataView;
304
- }
305
- catch (err) { }
306
- try {
307
- globalObj.Map = Map;
308
- }
309
- catch (err) { }
310
- try {
311
- globalObj.Set = Set;
312
- }
313
- catch (err) { }
314
- try {
315
- globalObj.WeakMap = WeakMap;
316
- }
317
- catch (err) { }
318
- try {
319
- globalObj.WeakSet = WeakSet;
320
- }
321
- catch (err) { }
322
- try {
323
- globalObj.Proxy = Proxy;
324
- }
325
- catch (err) { }
326
- try {
327
- globalObj.Reflect = Reflect;
328
- }
329
- catch (err) { }
330
- try {
331
- globalObj.BigInt = BigInt;
332
- }
333
- catch (err) { }
334
- try {
335
- globalObj.decodeURI = decodeURI;
336
- }
337
- catch (err) { }
338
- try {
339
- globalObj.decodeURIComponent = decodeURIComponent;
340
- }
341
- catch (err) { }
342
- try {
343
- globalObj.encodeURI = encodeURI;
344
- }
345
- catch (err) { }
346
- try {
347
- globalObj.encodeURIComponent = encodeURIComponent;
348
- }
349
- catch (err) { }
350
- try {
351
- globalObj.escape = escape;
352
- }
353
- catch (err) { }
354
- try {
355
- globalObj.unescape = unescape;
356
- }
357
- catch (err) { }
358
- try {
359
- globalObj.eval = eval;
360
- }
361
- catch (err) { }
362
- try {
363
- globalObj.isFinite = isFinite;
364
- }
365
- catch (err) { }
366
- try {
367
- globalObj.isNaN = isNaN;
368
- }
369
- catch (err) { }
370
- try {
371
- globalObj.SharedArrayBuffer = SharedArrayBuffer;
372
- }
373
- catch (err) { }
374
- try {
375
- globalObj.Atomics = Atomics;
376
- }
377
- catch (err) { }
378
- try {
379
- globalObj.WebAssembly = WebAssembly;
380
- }
381
- catch (err) { }
382
- try {
383
- globalObj.clearInterval = clearInterval;
384
- }
385
- catch (err) { }
386
- try {
387
- globalObj.clearTimeout = clearTimeout;
388
- }
389
- catch (err) { }
390
- try {
391
- globalObj.setInterval = setInterval;
392
- }
393
- catch (err) { }
394
- try {
395
- globalObj.setTimeout = setTimeout;
396
- }
397
- catch (err) { }
398
- try {
399
- globalObj.crypto = crypto;
400
- }
401
- catch (err) { }
402
- try {
403
- globalObj.URL = URL;
162
+ catch (err) {
163
+ try {
164
+ setGlobalObj(globalThis);
165
+ }
166
+ catch (err) {
167
+ try {
168
+ globalObj.Object = Object;
169
+ }
170
+ catch (err) { }
171
+ try {
172
+ globalObj.Function = Function;
173
+ }
174
+ catch (err) { }
175
+ try {
176
+ globalObj.Array = Array;
177
+ }
178
+ catch (err) { }
179
+ try {
180
+ globalObj.Number = Number;
181
+ }
182
+ catch (err) { }
183
+ try {
184
+ globalObj.parseFloat = parseFloat;
185
+ }
186
+ catch (err) { }
187
+ try {
188
+ globalObj.parseInt = parseInt;
189
+ }
190
+ catch (err) { }
191
+ try {
192
+ globalObj.Infinity = Infinity;
193
+ }
194
+ catch (err) { }
195
+ try {
196
+ globalObj.NaN = NaN;
197
+ }
198
+ catch (err) { }
199
+ try {
200
+ globalObj.undefined = undefined;
201
+ }
202
+ catch (err) { }
203
+ try {
204
+ globalObj.Boolean = Boolean;
205
+ }
206
+ catch (err) { }
207
+ try {
208
+ globalObj.String = String;
209
+ }
210
+ catch (err) { }
211
+ try {
212
+ globalObj.Symbol = Symbol;
213
+ }
214
+ catch (err) { }
215
+ try {
216
+ globalObj.Date = Date;
217
+ }
218
+ catch (err) { }
219
+ try {
220
+ globalObj.Promise = Promise;
221
+ }
222
+ catch (err) { }
223
+ try {
224
+ globalObj.RegExp = RegExp;
225
+ }
226
+ catch (err) { }
227
+ try {
228
+ globalObj.Error = Error;
229
+ }
230
+ catch (err) { }
231
+ try {
232
+ globalObj.EvalError = EvalError;
233
+ }
234
+ catch (err) { }
235
+ try {
236
+ globalObj.RangeError = RangeError;
237
+ }
238
+ catch (err) { }
239
+ try {
240
+ globalObj.ReferenceError = ReferenceError;
241
+ }
242
+ catch (err) { }
243
+ try {
244
+ globalObj.SyntaxError = SyntaxError;
245
+ }
246
+ catch (err) { }
247
+ try {
248
+ globalObj.TypeError = TypeError;
249
+ }
250
+ catch (err) { }
251
+ try {
252
+ globalObj.URIError = URIError;
253
+ }
254
+ catch (err) { }
255
+ try {
256
+ globalObj.JSON = JSON;
257
+ }
258
+ catch (err) { }
259
+ try {
260
+ globalObj.Math = Math;
261
+ }
262
+ catch (err) { }
263
+ try {
264
+ globalObj.console = console;
265
+ }
266
+ catch (err) { }
267
+ try {
268
+ globalObj.Intl = Intl;
269
+ }
270
+ catch (err) { }
271
+ try {
272
+ globalObj.ArrayBuffer = ArrayBuffer;
273
+ }
274
+ catch (err) { }
275
+ try {
276
+ globalObj.Uint8Array = Uint8Array;
277
+ }
278
+ catch (err) { }
279
+ try {
280
+ globalObj.Int8Array = Int8Array;
281
+ }
282
+ catch (err) { }
283
+ try {
284
+ globalObj.Uint16Array = Uint16Array;
285
+ }
286
+ catch (err) { }
287
+ try {
288
+ globalObj.Int16Array = Int16Array;
289
+ }
290
+ catch (err) { }
291
+ try {
292
+ globalObj.Uint32Array = Uint32Array;
293
+ }
294
+ catch (err) { }
295
+ try {
296
+ globalObj.Int32Array = Int32Array;
297
+ }
298
+ catch (err) { }
299
+ try {
300
+ globalObj.Float32Array = Float32Array;
301
+ }
302
+ catch (err) { }
303
+ try {
304
+ globalObj.Float64Array = Float64Array;
305
+ }
306
+ catch (err) { }
307
+ try {
308
+ globalObj.Uint8ClampedArray = Uint8ClampedArray;
309
+ }
310
+ catch (err) { }
311
+ try {
312
+ globalObj.DataView = DataView;
313
+ }
314
+ catch (err) { }
315
+ try {
316
+ globalObj.Map = Map;
317
+ }
318
+ catch (err) { }
319
+ try {
320
+ globalObj.Set = Set;
321
+ }
322
+ catch (err) { }
323
+ try {
324
+ globalObj.WeakMap = WeakMap;
325
+ }
326
+ catch (err) { }
327
+ try {
328
+ globalObj.WeakSet = WeakSet;
329
+ }
330
+ catch (err) { }
331
+ try {
332
+ globalObj.Proxy = Proxy;
333
+ }
334
+ catch (err) { }
335
+ try {
336
+ globalObj.Reflect = Reflect;
337
+ }
338
+ catch (err) { }
339
+ try {
340
+ globalObj.BigInt = BigInt;
341
+ }
342
+ catch (err) { }
343
+ try {
344
+ globalObj.decodeURI = decodeURI;
345
+ }
346
+ catch (err) { }
347
+ try {
348
+ globalObj.decodeURIComponent = decodeURIComponent;
349
+ }
350
+ catch (err) { }
351
+ try {
352
+ globalObj.encodeURI = encodeURI;
353
+ }
354
+ catch (err) { }
355
+ try {
356
+ globalObj.encodeURIComponent = encodeURIComponent;
357
+ }
358
+ catch (err) { }
359
+ try {
360
+ globalObj.escape = escape;
361
+ }
362
+ catch (err) { }
363
+ try {
364
+ globalObj.unescape = unescape;
365
+ }
366
+ catch (err) { }
367
+ try {
368
+ globalObj.eval = eval;
369
+ }
370
+ catch (err) { }
371
+ try {
372
+ globalObj.isFinite = isFinite;
373
+ }
374
+ catch (err) { }
375
+ try {
376
+ globalObj.isNaN = isNaN;
377
+ }
378
+ catch (err) { }
379
+ try {
380
+ globalObj.SharedArrayBuffer = SharedArrayBuffer;
381
+ }
382
+ catch (err) { }
383
+ try {
384
+ globalObj.Atomics = Atomics;
385
+ }
386
+ catch (err) { }
387
+ try {
388
+ globalObj.WebAssembly = WebAssembly;
389
+ }
390
+ catch (err) { }
391
+ try {
392
+ globalObj.clearInterval = clearInterval;
393
+ }
394
+ catch (err) { }
395
+ try {
396
+ globalObj.clearTimeout = clearTimeout;
397
+ }
398
+ catch (err) { }
399
+ try {
400
+ globalObj.setInterval = setInterval;
401
+ }
402
+ catch (err) { }
403
+ try {
404
+ globalObj.setTimeout = setTimeout;
405
+ }
406
+ catch (err) { }
407
+ try {
408
+ globalObj.crypto = crypto;
409
+ }
410
+ catch (err) { }
411
+ try {
412
+ globalObj.URL = URL;
413
+ }
414
+ catch (err) { }
415
+ names = getOwnNames(globalObj);
416
+ }
404
417
  }
405
- catch (err) { }
406
- names = getOwnNames(globalObj);
407
418
  }
408
419
  }
409
420
  if (globalObj.Symbol) {
@@ -464,7 +475,7 @@
464
475
  const IMPORT = createSymbol('import');
465
476
  const EXPORTS = createSymbol('exports');
466
477
 
467
- var version = "0.5.9";
478
+ var version = "0.6.1";
468
479
 
469
480
  class Var {
470
481
  constructor(kind, value) {
@@ -1205,7 +1216,13 @@
1205
1216
  }
1206
1217
  function* SpreadElement$1(node, scope, options = {}) {
1207
1218
  const result = yield* evaluate$1(node.argument, scope);
1208
- return options.spreadProps ? result : [...result];
1219
+ if (options.spreadProps) {
1220
+ return result;
1221
+ }
1222
+ if (typeof Symbol === 'function' && typeof result[Symbol.iterator] !== 'function') {
1223
+ throw new TypeError('Spread syntax requires ...iterable[Symbol.iterator] to be a function');
1224
+ }
1225
+ return [...result];
1209
1226
  }
1210
1227
  function* ChainExpression$1(node, scope) {
1211
1228
  return yield* evaluate$1(node.expression, scope);
@@ -2629,7 +2646,13 @@
2629
2646
  }
2630
2647
  function SpreadElement(node, scope, options = {}) {
2631
2648
  const result = evaluate(node.argument, scope);
2632
- return options.spreadProps ? result : [...result];
2649
+ if (options.spreadProps) {
2650
+ return result;
2651
+ }
2652
+ if (typeof Symbol === 'function' && typeof result[Symbol.iterator] !== 'function') {
2653
+ throw new TypeError('Spread syntax requires ...iterable[Symbol.iterator] to be a function');
2654
+ }
2655
+ return [...result];
2633
2656
  }
2634
2657
  function ChainExpression(node, scope) {
2635
2658
  return evaluate(node.expression, scope);
@@ -3963,11 +3986,13 @@
3963
3986
  const win = createSandBox();
3964
3987
  this.scope.let('globalThis', win);
3965
3988
  this.scope.let('window', win);
3989
+ this.scope.let('self', win);
3966
3990
  this.scope.let('this', win);
3967
3991
  }
3968
3992
  else {
3969
3993
  this.scope.let('globalThis', globalObj);
3970
3994
  this.scope.let('window', globalObj);
3995
+ this.scope.let('self', globalObj);
3971
3996
  this.scope.let('this', globalObj);
3972
3997
  }
3973
3998
  this.scope.const(sourceType === 'module' ? EXPORTS : 'exports', this.exports = {});