| /** | 
|  * Copyright (c) 2015, Facebook, Inc. | 
|  * All rights reserved. | 
|  * | 
|  * This source code is licensed under the BSD-style license found in the | 
|  * LICENSE file in the root directory of this source tree. An additional grant | 
|  * of patent rights can be found in the PATENTS file in the same directory. | 
|  * | 
|  * @providesModule ExecutionEnvironment | 
|  */ | 
|   | 
| /*jslint evil: true */ | 
|   | 
| 'use strict'; | 
|   | 
| var canUseDOM = !!( | 
|   typeof window !== 'undefined' && | 
|   window.document && | 
|   window.document.createElement | 
| ); | 
|   | 
| /** | 
|  * Simple, lightweight module assisting with the detection and context of | 
|  * Worker. Helps avoid circular dependencies and allows code to reason about | 
|  * whether or not they are in a Worker, even if they never include the main | 
|  * `ReactWorker` dependency. | 
|  */ | 
| var ExecutionEnvironment = { | 
|   | 
|   canUseDOM: canUseDOM, | 
|   | 
|   canUseWorkers: typeof Worker !== 'undefined', | 
|   | 
|   canUseEventListeners: | 
|     canUseDOM && !!(window.addEventListener || window.attachEvent), | 
|   | 
|   canUseViewport: canUseDOM && !!window.screen, | 
|   | 
|   isInWorker: !canUseDOM // For now, this is true - might change in the future. | 
|   | 
| }; | 
|   | 
| module.exports = ExecutionEnvironment; |