/
utils.js
87 lines (72 loc) · 1.45 KB
/
utils.js
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
let {
classes: Cc,
interfaces: Ci,
results: Cr,
utils: Cu,
} = Components;
const __global__ = this;
this.exports = this.exports || {};
//Cu.import('Loader.js');
this[this.EXPORTED_SYMBOLS = ['Utils']] = this.exports.Utils = {
inArray: function (needle, haystack, argstrict)
{
if (typeof argstrict === 'undefined' || argstrict == true)
{
return Array.prototype.indexOf.call(haystack, needle) !== -1;
}
else
{
for (key in haystack)
{
if (haystack[key] == needle)
{
return true;
}
}
}
return false;
},
isArray: function (haystack)
{
return Array.isArray(haystack);
},
isPlainObject: function(obj)
{
if (!obj || typeof obj !== 'object' || obj.nodeType || obj == window || obj == Utils.getGlobalForObject())
{
return false;
}
return true;
},
getGlobalForObject: function (context)
{
return Cu.getGlobalForObject(typeof context === 'undefined' ? {} : context);
},
exportsForObject: function (argexports, context, global)
{
if (context === true)
{
context = Utils.getGlobalForObject();
}
else
{
context = context || {};
}
if (Utils.isArray(argexports))
{
global = global || __global__;
argexports.forEach(function(element, index, array){
context[element] = typeof element !== 'string' ? element : global[element];
});
}
else
{
for (let index in argexports)
{
context[index] = argexports[index];
}
}
return context;
},
};
//return this.exports;