-
Notifications
You must be signed in to change notification settings - Fork 57
/
process.js
74 lines (70 loc) · 2.49 KB
/
process.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
//Some native stuff for process, runtime, operatingSystem, language
var properties = {};
if (typeof navigator !== "undefined") {
if (navigator.language !== undefined) {
properties["user.language"] = $_String(navigator.language);
}
if (navigator.platform !== undefined) {
properties["os.name"] = $_String(navigator.platform);
}
if (navigator.languages||navigator.userLanguage||navigator.browserLanguage||navigator.language) {
properties["user.locale"]=$_String((navigator.languages || [navigator.userLanguage||navigator.browserLanguage||navigator.language])[0]);
}
if (navigator.appVersion !== undefined) {
properties["browser.version"] = $_String(navigator.appVersion);
}
}
if (typeof process !== "undefined") {
if (process.platform !== undefined) {
properties["os.name"] = $_String(process.platform);
}
if (process.arch !== undefined) {
properties["os.arch"] = $_String(process.arch);
}
if (process.versions !== undefined && process.versions.node != undefined) {
properties["node.version"] = $_String(process.versions.node);
}
}
if (typeof document !== "undefined") {
if (document.defaultCharset !== undefined) {
properties["file.encoding"] = $_String(document.defaultCharset);
}
}
var linesep = '\n';
var filesep = '/';
var pathsep = ':';
var osname = properties["os.name"];
if ((osname !== undefined) && (osname.search(/win/i) >= 0 && osname.search(/darwin/i)<0)) {
linesep = "\r\n";
filesep = '\\';
pathsep = ';';
}
properties["line.separator"] = linesep;
properties["file.separator"] = filesep;
properties["path.separator"] = pathsep;
function _process_pick_writeLine() {
if ((typeof process !== "undefined") && (process.stdout !== undefined)) {
return function(line) {
if(line)this.write(line.valueOf());
this.write(linesep.valueOf());
}
} else if ((typeof console !== "undefined") && (console.log !== undefined)) {
return function(line) {
console.log(line?line.valueOf():'');
}
}
return function(){};
}
function _process_pick_writeErrorLine() {
if ((typeof process !== "undefined") && (process.stderr !== undefined)) {
return function(line) {
if(line)this.writeError(line.valueOf());
this.writeError(linesep.valueOf());
}
} else if ((typeof console !== "undefined") && (console.error !== undefined)) {
return function(line) {
console.error(line?line.valueOf():'');
}
}
return function(x){this.writeLine(x);}
}