@samitouri / QOS-React-2 / commits / 6c7abd36dd

Sync upstream modules

crateObjectFrom is no longer used (was used in ReactPropTypes). Others are small changes.

Paul O’Shannessy committed May 28, 2014 at 15:07 UTC 6c7abd36ddebbe7b70057d4500f4d55176e7c0f9
6 files changed +27 -68
src/vendor/core/ExecutionEnvironment.js
+7 -2
@@ -20,7 +20,10 @@
20
21 "use strict";
22
23 -var canUseDOM = typeof window !== 'undefined';
23 +var canUseDOM =
24 + typeof window !== 'undefined' &&
25 + window.document &&
26 + typeof window.document.createElement === 'function';
27
28 /**
29 * Simple, lightweight module assisting with the detection and context of
@@ -35,7 +38,9 @@ var ExecutionEnvironment = {
38 canUseWorkers: typeof Worker !== 'undefined',
39
40 canUseEventListeners:
38 - canUseDOM && (window.addEventListener || window.attachEvent),
41 + canUseDOM && !!(window.addEventListener || window.attachEvent),
42 +
43 + canUseViewport: canUseDOM && !!window.screen,
44
45 isInWorker: !canUseDOM // For now, this is true - might change in the future.
46
src/vendor/core/createObjectFrom.js deleted
-61
@@ -1,61 +0,0 @@
1 -/**
2 - * Copyright 2013-2014 Facebook, Inc.
3 - *
4 - * Licensed under the Apache License, Version 2.0 (the "License");
5 - * you may not use this file except in compliance with the License.
6 - * You may obtain a copy of the License at
7 - *
8 - * http://www.apache.org/licenses/LICENSE-2.0
9 - *
10 - * Unless required by applicable law or agreed to in writing, software
11 - * distributed under the License is distributed on an "AS IS" BASIS,
12 - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 - * See the License for the specific language governing permissions and
14 - * limitations under the License.
15 - *
16 - * @providesModule createObjectFrom
17 - */
18 -
19 -/**
20 - * Construct an object from an array of keys
21 - * and optionally specified value or list of values.
22 - *
23 - * >>> createObjectFrom(['a','b','c']);
24 - * {a: true, b: true, c: true}
25 - *
26 - * >>> createObjectFrom(['a','b','c'], false);
27 - * {a: false, b: false, c: false}
28 - *
29 - * >>> createObjectFrom(['a','b','c'], 'monkey');
30 - * {c:'monkey', b:'monkey' c:'monkey'}
31 - *
32 - * >>> createObjectFrom(['a','b','c'], [1,2,3]);
33 - * {a: 1, b: 2, c: 3}
34 - *
35 - * >>> createObjectFrom(['women', 'men'], [true, false]);
36 - * {women: true, men: false}
37 - *
38 - * @param Array list of keys
39 - * @param mixed optional value or value array. defaults true.
40 - * @returns object
41 - */
42 -function createObjectFrom(keys, values /* = true */) {
43 - if (__DEV__) {
44 - if (!Array.isArray(keys)) {
45 - throw new TypeError('Must pass an array of keys.');
46 - }
47 - }
48 -
49 - var object = {};
50 - var isArray = Array.isArray(values);
51 - if (typeof values == 'undefined') {
52 - values = true;
53 - }
54 -
55 - for (var ii = keys.length; ii--;) {
56 - object[keys[ii]] = isArray ? values[ii] : values;
57 - }
58 - return object;
59 -}
60 -
61 -module.exports = createObjectFrom;
src/vendor/core/mergeHelpers.js
+11
@@ -92,6 +92,17 @@ var mergeHelpers = {
92 );
93 },
94
95 + /**
96 + * @param {*} arg
97 + */
98 + checkMergeIntoObjectArg: function(arg) {
99 + invariant(
100 + (!isTerminal(arg) || typeof arg === 'function') && !Array.isArray(arg),
101 + 'Tried to merge into an object, instead got %s.',
102 + arg
103 + );
104 + },
105 +
106 /**
107 * Checks that a merge was not given a circular object or an object that had
108 * too great of depth.
src/vendor/core/mergeInto.js
+3 -2
@@ -22,15 +22,16 @@
22 var mergeHelpers = require('mergeHelpers');
23
24 var checkMergeObjectArg = mergeHelpers.checkMergeObjectArg;
25 +var checkMergeIntoObjectArg = mergeHelpers.checkMergeIntoObjectArg;
26
27 /**
28 * Shallow merges two structures by mutating the first parameter.
29 *
29 - * @param {object} one Object to be merged into.
30 + * @param {object|function} one Object to be merged into.
31 * @param {?object} two Optional object with properties to merge from.
32 */
33 function mergeInto(one, two) {
33 - checkMergeObjectArg(one);
34 + checkMergeIntoObjectArg(one);
35 if (two != null) {
36 checkMergeObjectArg(two);
37 for (var key in two) {
src/vendor/core/toArray.js
+1 -1
@@ -25,7 +25,7 @@ var invariant = require('invariant');
25 * This API assumes the caller knows the contents of the data type. For less
26 * well defined inputs use createArrayFrom.
27 *
28 - * @param {object|function} obj
28 + * @param {object|function|filelist} obj
29 * @return {array}
30 */
31 function toArray(obj) {
src/vendor/stubs/EventListener.js
+5 -2
@@ -1,5 +1,6 @@
1 /**
2 * @providesModule EventListener
3 + * @typechecks
4 */
5
6 var emptyFunction = require('emptyFunction');
@@ -29,7 +30,7 @@ var EventListener = {
30 target.attachEvent('on' + eventType, callback);
31 return {
32 remove: function() {
32 - target.detachEvent(eventType, callback);
33 + target.detachEvent('on' + eventType, callback);
34 }
35 };
36 }
@@ -63,7 +64,9 @@ var EventListener = {
64 }
65 };
66 }
66 - }
67 + },
68 +
69 + registerDefault: function() {}
70 };
71
72 module.exports = EventListener;