forked from facebook/react-devtools
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathInjectedScriptHost.js
More file actions
106 lines (86 loc) · 3.82 KB
/
InjectedScriptHost.js
File metadata and controls
106 lines (86 loc) · 3.82 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/**
* Copyright (c) 2013-2014, Facebook, Inc. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* * Neither the name Facebook nor the names of its contributors may be used to
* endorse or promote products derived from this software without specific
* prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
/**
* This stubs out a host environment used by the InjectedScriptSource module,
* in the inspector package.
*/
(function(ReactHost, inspectedWindow, injectedScriptId) {
var InjectedScriptHost = {
storageId: function(object) { console.warn('Host:storageId'); },
getInternalProperties: function(object) { console.warn('Host:setInternalProperties'); },
functionDetails: function(func) { console.warn('Host:functionDetails'); },
isHTMLAllCollection: function(object) { return false; },
internalConstructorName: function(object) {
if (typeof object.constructor === 'function') {
if (object.constructor.displayName) {
return object.constructor.displayName;
}
if (object.constructor.name) {
return object.constructor.name;
}
}
if (typeof object.tagName === 'string') {
return object.tagName.toLowerCase();
}
var name = Object.prototype.toString.call(object);
return name.substring(8, name.length - 1);
},
copyText: function(object) { console.warn('Host:copyText') },
clearConsoleMessages: function() { console.warn('Host:clearConsoleMessages'); },
inspectedObject: function(index) { console.warn('Host:inspectedObject'); },
databaseId: function(object) { console.warn('Host:databaseId'); },
inspect: function(object, hints) { console.warn('Host:inspect'); },
type: function(object) {
// TODO: For DOM nodes and components return 'node'
switch (Object.prototype.toString.call(object)) {
case '[object Array]':
return 'array';
case '[object Date]':
return 'date';
case '[object RegExp]':
return 'regexp';
default:
return null;
}
},
getEventListeners: function(object) { console.warn('Host:getEventListeners'); },
evaluate: function(expression) {
return eval(expression);
},
debugFunction: function(fn) { console.warn('Host:debugFunction'); },
undebugFunction: function(fn) { console.warn('Host:undebugFunction'); },
monitorFunction: function(fn) { console.warn('Host:monitorFunction'); },
unmonitorFunction: function(fn) { console.warn('Host:unmonitorFunction'); },
setFunctionVariableValue: function(fun, scopeNumber, variableName, newValue) {
console.warn('Host:setFunctionVariableValue');
}
};
return InjectedScriptHost;
})