Skip to content
This repository has been archived by the owner on Jul 30, 2018. It is now read-only.

Move global to /src and make CSP compatible #80

Merged
merged 2 commits into from
Jun 28, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/Map.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { ArrayLike } from './interfaces';
import { hasClass } from './support/decorators';
import global from './support/global';
import global from './global';
import { forOf, Iterable, IterableIterator, ShimIterator } from './iterator';
import { is as objectIs } from './object';
import './Symbol';
Expand Down
2 changes: 1 addition & 1 deletion src/Observable.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { Iterable, forOf, isIterable, isArrayLike } from './iterator';
import { hasClass } from './support/decorators';
import global from './support/global';
import global from './global';
import './Symbol';

/**
Expand Down
2 changes: 1 addition & 1 deletion src/Promise.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { Thenable } from './interfaces';
import global from './support/global';
import global from './global';
import { queueMicroTask } from './support/queue';
import { forOf, Iterable } from './iterator';
import './Symbol';
Expand Down
2 changes: 1 addition & 1 deletion src/Set.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { ArrayLike } from './interfaces';
import { hasClass } from './support/decorators';
import global from './support/global';
import global from './global';
import { forOf, IterableIterator, Iterable, ShimIterator } from './iterator';
import './Symbol';

Expand Down
2 changes: 1 addition & 1 deletion src/Symbol.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import has from './support/has';
import global from './support/global';
import global from './global';
import { getValueDescriptor } from './support/util';

declare global {
Expand Down
2 changes: 1 addition & 1 deletion src/WeakMap.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { ArrayLike } from './interfaces';
import { hasClass } from './support/decorators';
import global from './support/global';
import global from './global';
import { forOf, Iterable } from './iterator';
import './Symbol';

Expand Down
19 changes: 19 additions & 0 deletions src/global.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
const globalObject: any = (function (): any {

if (typeof global !== 'undefined') {
// global spec defines a reference to the global object called 'global'
// https://github.com/tc39/proposal-global
// `global` is also defined in NodeJS
return global;
}
else if (typeof window !== 'undefined') {
// window is defined in browsers
return window;
}
else if (typeof self !== 'undefined') {
// self is defined in WebWorkers
return self;
}
})();

export default globalObject;
2 changes: 1 addition & 1 deletion src/native/Map.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import global from '../support/global';
import global from '../global';

export interface Map<K, V> {
clear(): void;
Expand Down
2 changes: 1 addition & 1 deletion src/native/Promise.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import global from '../support/global';
import global from '../global';

/* tslint:disable-next-line:variable-name */
const PromiseConstructor = global.Promise;
Expand Down
2 changes: 1 addition & 1 deletion src/native/Set.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import global from '../support/global';
import global from '../global';

export interface Set<T> {
add(value: T): this;
Expand Down
2 changes: 1 addition & 1 deletion src/native/Symbol.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import global from '../support/global';
import global from '../global';
import { getValueDescriptor } from '../support/util';

/* tslint:disable-next-line:variable-name */
Expand Down
2 changes: 1 addition & 1 deletion src/native/WeakMap.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import global from '../support/global';
import global from '../global';

export interface WeakMap<K, V> {
clear(): void;
Expand Down
2 changes: 1 addition & 1 deletion src/native/number.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import global from '../support/global';
import global from '../global';

/**
* The smallest interval between two representable numbers.
Expand Down
2 changes: 1 addition & 1 deletion src/number.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import global from './support/global';
import global from './global';

/**
* The smallest interval between two representable numbers.
Expand Down
9 changes: 0 additions & 9 deletions src/support/global.ts

This file was deleted.

2 changes: 1 addition & 1 deletion src/support/has.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import global from './global';
import global from '../global';
import has from '@dojo/has/has';
import { add } from '@dojo/has/has';

Expand Down
2 changes: 1 addition & 1 deletion src/support/queue.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import global from './global';
import global from '../global';
import has from './has';
import { Handle } from '../interfaces';

Expand Down
2 changes: 1 addition & 1 deletion tests/unit/all.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import './native/all';
import './support/decorators';
import './support/global';
import './support/has';
import './support/queue';
import './support/util';
import './array';
import './global';
import './iterator';
import './main';
import './Map';
Expand Down
12 changes: 12 additions & 0 deletions tests/unit/global.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import * as registerSuite from 'intern!object';
import * as assert from 'intern/chai!assert';
import globalObj from '../../src/global';

registerSuite({
name: 'global',

'global references the global object for the target environment'() {
// If tests are running under CSP, unsafe eval will be denied and this test will fail
assert.strictEqual(globalObj, Function('return this')(), 'Expecting global object to be in global object');
}
});
2 changes: 1 addition & 1 deletion tests/unit/native/Map.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as registerSuite from 'intern!object';
import * as assert from 'intern/chai!assert';
import has from '../../../src/support/has';
import global from '../../../src/support/global';
import global from '../../../src/global';

registerSuite({
name: 'native/Map',
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/native/Promise.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as registerSuite from 'intern!object';
import * as assert from 'intern/chai!assert';
import has from '../../../src/support/has';
import global from '../../../src/support/global';
import global from '../../../src/global';

registerSuite({
name: 'native/Promise',
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/native/Set.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as registerSuite from 'intern!object';
import * as assert from 'intern/chai!assert';
import has from '../../../src/support/has';
import global from '../../../src/support/global';
import global from '../../../src/global';

registerSuite({
name: 'native/Set',
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/native/Symbol.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as registerSuite from 'intern!object';
import * as assert from 'intern/chai!assert';
import has from '../../../src/support/has';
import global from '../../../src/support/global';
import global from '../../../src/global';

registerSuite({
name: 'native/Symbol',
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/native/WeakMap.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as registerSuite from 'intern!object';
import * as assert from 'intern/chai!assert';
import has from '../../../src/support/has';
import global from '../../../src/support/global';
import global from '../../../src/global';

registerSuite({
name: 'native/WeakMap',
Expand Down
2 changes: 1 addition & 1 deletion tests/unit/native/iterator.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as registerSuite from 'intern!object';
import * as assert from 'intern/chai!assert';
import has, { add as hasAdd } from '../../../src/support/has';
import global from '../../../src/support/global';
import global from '../../../src/global';

hasAdd('es6-iterator', () => Boolean(global.Symbol && global.Symbol.iterator && global.Array.prototype[Symbol.iterator]));

Expand Down
2 changes: 1 addition & 1 deletion tests/unit/native/number.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as registerSuite from 'intern!object';
import * as assert from 'intern/chai!assert';
import has, { add as hasAdd } from '../../../src/support/has';
import global from '../../../src/support/global';
import global from '../../../src/global';

hasAdd('es6-number', 'EPSILON' in global.Number);

Expand Down
2 changes: 1 addition & 1 deletion tests/unit/native/object.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as registerSuite from 'intern!object';
import * as assert from 'intern/chai!assert';
import has, { add as hasAdd } from '../../../src/support/has';
import global from '../../../src/support/global';
import global from '../../../src/global';

hasAdd('es6-object', 'getOwnPropertySymbols' in global.Object);

Expand Down
11 changes: 0 additions & 11 deletions tests/unit/support/global.ts

This file was deleted.