UNPKG

haxeshim

Version:

Haxe shim to deal with cooexisting versions.

532 lines (529 loc) 18 kB
#!/usr/bin/env node // Generated by Haxe 3.4.2 (git build development @ e033003) if (typeof process !== "undefined") if (process.version < "v4.0.0") console.warn("Module " + (typeof(module) == "undefined" ? "" : module.filename) + " requires node.js version 4.0.0 or higher"); (function () { "use strict"; var $estr = function() { return js_Boot.__string_rec(this,''); }; function $extend(from, fields) { function Inherit() {} Inherit.prototype = from; var proto = new Inherit(); for (var name in fields) proto[name] = fields[name]; if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; return proto; } var HxOverrides = function() { }; HxOverrides.__name__ = true; HxOverrides.cca = function(s,index) { var x = s.charCodeAt(index); if(x != x) { return undefined; } return x; }; HxOverrides.substr = function(s,pos,len) { if(len == null) { len = s.length; } else if(len < 0) { if(pos == 0) { len = s.length + len; } else { return ""; } } return s.substr(pos,len); }; HxOverrides.iter = function(a) { return { cur : 0, arr : a, hasNext : function() { return this.cur < this.arr.length; }, next : function() { return this.arr[this.cur++]; }}; }; var Lambda = function() { }; Lambda.__name__ = true; Lambda.foreach = function(it,f) { var x = $iterator(it)(); while(x.hasNext()) { var x1 = x.next(); if(!f(x1)) { return false; } } return true; }; Math.__name__ = true; var Std = function() { }; Std.__name__ = true; Std.string = function(s) { return js_Boot.__string_rec(s,""); }; var StringTools = function() { }; StringTools.__name__ = true; StringTools.isSpace = function(s,pos) { var c = HxOverrides.cca(s,pos); if(!(c > 8 && c < 14)) { return c == 32; } else { return true; } }; StringTools.ltrim = function(s) { var l = s.length; var r = 0; while(r < l && StringTools.isSpace(s,r)) ++r; if(r > 0) { return HxOverrides.substr(s,r,l - r); } else { return s; } }; StringTools.rtrim = function(s) { var l = s.length; var r = 0; while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; if(r > 0) { return HxOverrides.substr(s,0,l - r); } else { return s; } }; StringTools.trim = function(s) { return StringTools.ltrim(StringTools.rtrim(s)); }; StringTools.replace = function(s,sub,by) { return s.split(sub).join(by); }; var Sys = function() { }; Sys.__name__ = true; Sys.systemName = function() { var _g = process.platform; switch(_g) { case "darwin": return "Mac"; case "freebsd": return "BSD"; case "linux": return "Linux"; case "win32": return "Windows"; default: var other = _g; return other; } }; var haxe_io_Bytes = function(data) { this.length = data.byteLength; this.b = new Uint8Array(data); this.b.bufferValue = data; data.hxBytes = this; data.bytes = this.b; }; haxe_io_Bytes.__name__ = true; haxe_io_Bytes.ofString = function(s) { var a = []; var i = 0; while(i < s.length) { var c = s.charCodeAt(i++); if(55296 <= c && c <= 56319) { c = c - 55232 << 10 | s.charCodeAt(i++) & 1023; } if(c <= 127) { a.push(c); } else if(c <= 2047) { a.push(192 | c >> 6); a.push(128 | c & 63); } else if(c <= 65535) { a.push(224 | c >> 12); a.push(128 | c >> 6 & 63); a.push(128 | c & 63); } else { a.push(240 | c >> 18); a.push(128 | c >> 12 & 63); a.push(128 | c >> 6 & 63); a.push(128 | c & 63); } } return new haxe_io_Bytes(new Uint8Array(a).buffer); }; haxe_io_Bytes.prototype = { blit: function(pos,src,srcpos,len) { if(pos < 0 || srcpos < 0 || len < 0 || pos + len > this.length || srcpos + len > src.length) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } if(srcpos == 0 && len == src.b.byteLength) { this.b.set(src.b,pos); } else { this.b.set(src.b.subarray(srcpos,srcpos + len),pos); } } ,fill: function(pos,len,value) { var _g1 = 0; var _g = len; while(_g1 < _g) { var i = _g1++; this.b[pos++] = value & 255; } } ,sub: function(pos,len) { if(pos < 0 || len < 0 || pos + len > this.length) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } return new haxe_io_Bytes(this.b.buffer.slice(pos + this.b.byteOffset,pos + this.b.byteOffset + len)); } ,compare: function(other) { var b1 = this.b; var b2 = other.b; var len = this.length < other.length ? this.length : other.length; var _g1 = 0; var _g = len; while(_g1 < _g) { var i = _g1++; if(b1[i] != b2[i]) { return b1[i] - b2[i]; } } return this.length - other.length; } }; var haxe_crypto_Base64 = function() { }; haxe_crypto_Base64.__name__ = true; haxe_crypto_Base64.decode = function(str,complement) { if(complement == null) { complement = true; } if(complement) { while(HxOverrides.cca(str,str.length - 1) == 61) str = HxOverrides.substr(str,0,-1); } return new haxe_crypto_BaseCode(haxe_crypto_Base64.BYTES).decodeBytes(haxe_io_Bytes.ofString(str)); }; var haxe_crypto_BaseCode = function(base) { var len = base.length; var nbits = 1; while(len > 1 << nbits) ++nbits; if(nbits > 8 || len != 1 << nbits) { throw new js__$Boot_HaxeError("BaseCode : base length must be a power of two."); } this.base = base; this.nbits = nbits; }; haxe_crypto_BaseCode.__name__ = true; haxe_crypto_BaseCode.prototype = { initTable: function() { var tbl = []; var _g = 0; while(_g < 256) { var i = _g++; tbl[i] = -1; } var _g1 = 0; var _g2 = this.base.length; while(_g1 < _g2) { var i1 = _g1++; tbl[this.base.b[i1]] = i1; } this.tbl = tbl; } ,decodeBytes: function(b) { var nbits = this.nbits; var base = this.base; if(this.tbl == null) { this.initTable(); } var tbl = this.tbl; var size = b.length * nbits >> 3; var out = new haxe_io_Bytes(new ArrayBuffer(size)); var buf = 0; var curbits = 0; var pin = 0; var pout = 0; while(pout < size) { while(curbits < 8) { curbits += nbits; buf <<= nbits; var i = tbl[b.b[pin++]]; if(i == -1) { throw new js__$Boot_HaxeError("BaseCode : invalid encoded char"); } buf |= i; } curbits -= 8; out.b[pout++] = buf >> curbits & 255 & 255; } return out; } }; var haxe_io_Eof = function() { }; haxe_io_Eof.__name__ = true; haxe_io_Eof.prototype = { toString: function() { return "Eof"; } }; var haxe_io_Error = { __ename__ : true, __constructs__ : ["Blocked","Overflow","OutsideBounds","Custom"] }; haxe_io_Error.Blocked = ["Blocked",0]; haxe_io_Error.Blocked.toString = $estr; haxe_io_Error.Blocked.__enum__ = haxe_io_Error; haxe_io_Error.Overflow = ["Overflow",1]; haxe_io_Error.Overflow.toString = $estr; haxe_io_Error.Overflow.__enum__ = haxe_io_Error; haxe_io_Error.OutsideBounds = ["OutsideBounds",2]; haxe_io_Error.OutsideBounds.toString = $estr; haxe_io_Error.OutsideBounds.__enum__ = haxe_io_Error; haxe_io_Error.Custom = function(e) { var $x = ["Custom",3,e]; $x.__enum__ = haxe_io_Error; $x.toString = $estr; return $x; }; var haxe_io_Path = function(path) { switch(path) { case ".":case "..": this.dir = path; this.file = ""; return; } var c1 = path.lastIndexOf("/"); var c2 = path.lastIndexOf("\\"); if(c1 < c2) { this.dir = HxOverrides.substr(path,0,c2); path = HxOverrides.substr(path,c2 + 1,null); this.backslash = true; } else if(c2 < c1) { this.dir = HxOverrides.substr(path,0,c1); path = HxOverrides.substr(path,c1 + 1,null); } else { this.dir = null; } var cp = path.lastIndexOf("."); if(cp != -1) { this.ext = HxOverrides.substr(path,cp + 1,null); this.file = HxOverrides.substr(path,0,cp); } else { this.ext = null; this.file = path; } }; haxe_io_Path.__name__ = true; var haxeshim_PostInstall = function() { }; haxeshim_PostInstall.__name__ = true; haxeshim_PostInstall.makeExe = function(call) { var call1 = haxe_io_Bytes.ofString(call); var replacer = new haxe_io_Bytes(new ArrayBuffer(haxeshim_PostInstall.placeholder.length)); replacer.fill(0,replacer.length,0); replacer.blit(0,call1,0,call1.length); var buf = new haxe_io_Bytes(new ArrayBuffer(haxeshim_PostInstall.exifier.length)); buf.blit(0,haxeshim_PostInstall.exifier,0,buf.length); buf.blit(haxeshim_PostInstall.offset,replacer,0,replacer.length); return buf; }; haxeshim_PostInstall.exify = function(dir,source,mayFail) { var _g = 0; var _g1 = ["haxe","haxelib","neko"]; while(_g < _g1.length) { var name = _g1[_g]; ++_g; var exe = "" + dir + "/" + name + ".exe"; if(sys_FileSystem.exists(exe) && !sys_FileSystem.exists("" + exe + ".bak")) { js_node_Fs.renameSync(exe,"" + exe + ".bak"); } try { js_node_Fs.writeFileSync(exe,new js_node_buffer_Buffer(haxeshim_PostInstall.makeExe("node \"" + source + "/" + name + "shim.js\"").b.bufferValue)); } catch( e ) { if(!mayFail(name)) { process.stdout.write(Std.string("failed to shim " + name)); process.stdout.write("\n"); process.exit(500); } } } }; haxeshim_PostInstall.which = function(name) { return Std.string(js_node_ChildProcess.spawnSync(haxeshim_PostInstall.WINDOWS ? "where" : "which",[name]).stdout).split("\n").map(StringTools.trim); }; haxeshim_PostInstall.main = function() { if(haxeshim_PostInstall.GLOBAL) { if(haxeshim_PostInstall.WINDOWS) { var sources = StringTools.replace(__dirname,"\\","/"); var mayFail; var args = ["--run","show-version"]; var _g = args == null ? js_node_ChildProcess.spawnSync("haxe",{ stdio : "inherit"}).status : js_node_ChildProcess.spawnSync("haxe",args,{ stdio : "inherit"}).status; if(_g == 0) { mayFail = function(c) { return c == "haxe"; }; } else { mayFail = function(_) { return false; }; } var _g1 = 0; var _g2 = haxeshim_PostInstall.which("haxe"); while(_g1 < _g2.length) { var p = _g2[_g1]; ++_g1; var _g3 = new haxe_io_Path(p); switch(_g3.ext) { case "cmd": var npm = _g3.dir; haxeshim_PostInstall.exify(npm,sources,mayFail); break; case "exe": var std = [_g3.dir]; if(Lambda.foreach(["CHANGES.txt","CONTRIB.txt","LICENSE.txt"],(function(std1) { return function(file) { return sys_FileSystem.exists("" + std1[0] + "/" + file); }; })(std))) { haxeshim_PostInstall.exify(std[0],sources,mayFail); } break; default: } } } } }; var js__$Boot_HaxeError = function(val) { Error.call(this); this.val = val; this.message = String(val); if(Error.captureStackTrace) { Error.captureStackTrace(this,js__$Boot_HaxeError); } }; js__$Boot_HaxeError.__name__ = true; js__$Boot_HaxeError.wrap = function(val) { if((val instanceof Error)) { return val; } else { return new js__$Boot_HaxeError(val); } }; js__$Boot_HaxeError.__super__ = Error; js__$Boot_HaxeError.prototype = $extend(Error.prototype,{ }); var js_Boot = function() { }; js_Boot.__name__ = true; js_Boot.__string_rec = function(o,s) { if(o == null) { return "null"; } if(s.length >= 5) { return "<...>"; } var t = typeof(o); if(t == "function" && (o.__name__ || o.__ename__)) { t = "object"; } switch(t) { case "function": return "<function>"; case "object": if(o instanceof Array) { if(o.__enum__) { if(o.length == 2) { return o[0]; } var str = o[0] + "("; s += "\t"; var _g1 = 2; var _g = o.length; while(_g1 < _g) { var i = _g1++; if(i != 2) { str += "," + js_Boot.__string_rec(o[i],s); } else { str += js_Boot.__string_rec(o[i],s); } } return str + ")"; } var l = o.length; var i1; var str1 = "["; s += "\t"; var _g11 = 0; var _g2 = l; while(_g11 < _g2) { var i2 = _g11++; str1 += (i2 > 0 ? "," : "") + js_Boot.__string_rec(o[i2],s); } str1 += "]"; return str1; } var tostr; try { tostr = o.toString; } catch( e ) { return "???"; } if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { var s2 = o.toString(); if(s2 != "[object Object]") { return s2; } } var k = null; var str2 = "{\n"; s += "\t"; var hasp = o.hasOwnProperty != null; for( var k in o ) { if(hasp && !o.hasOwnProperty(k)) { continue; } if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { continue; } if(str2.length != 2) { str2 += ", \n"; } str2 += s + k + " : " + js_Boot.__string_rec(o[k],s); } s = s.substring(1); str2 += "\n" + s + "}"; return str2; case "string": return o; default: return String(o); } }; var js_node_ChildProcess = require("child_process"); var js_node_Fs = require("fs"); var js_node_buffer_Buffer = require("buffer").Buffer; var sys_FileSystem = function() { }; sys_FileSystem.__name__ = true; sys_FileSystem.exists = function(path) { try { js_node_Fs.accessSync(path); return true; } catch( _ ) { return false; } }; function $iterator(o) { if( o instanceof Array ) return function() { return HxOverrides.iter(o); }; return typeof(o.iterator) == 'function' ? $bind(o,o.iterator) : o.iterator; } var $_, $fid = 0; function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $fid++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = function(){ return f.method.apply(f.scope, arguments); }; f.scope = o; f.method = m; o.hx__closures__[m.__id__] = f; } return f; } String.__name__ = true; Array.__name__ = true; haxe_crypto_Base64.CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; haxe_crypto_Base64.BYTES = haxe_io_Bytes.ofString(haxe_crypto_Base64.CHARS); haxeshim_PostInstall.placeholder = haxe_io_Bytes.ofString("abcdefghijklmnopqrstufvwxyzABCDEFGHIJKLMNOPQRSTUFVWXYZ0123456789abcdefghijklmnopqrstufvwxyzABCDEFGHIJKLMNOPQRSTUFVWXYZ0123456789abcdefghijklmnopqrstufvwxyzABCDEFGHIJKLMNOPQRSTUFVWXYZ0123456789abcdefghijklmnopqrstufvwxyzABCDEFGHIJKLMNOPQRSTUFVWXYZ0123456789"); haxeshim_PostInstall.exifier = haxe_crypto_Base64.decode("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"); haxeshim_PostInstall.offset = (function($this) { var $r; var ret = -1; { var _g1 = 0; var _g = haxeshim_PostInstall.exifier.length - haxeshim_PostInstall.placeholder.length; while(_g1 < _g) { var i = _g1++; if(haxeshim_PostInstall.exifier.sub(i,haxeshim_PostInstall.placeholder.length).compare(haxeshim_PostInstall.placeholder) == 0) { ret = i; break; } } } if(ret == -1) { throw new js__$Boot_HaxeError("no placeholder found"); } $r = ret; return $r; }(this)); haxeshim_PostInstall.GLOBAL = !(!process.env["npm_config_global"]); haxeshim_PostInstall.WINDOWS = Sys.systemName() == "Windows"; haxeshim_PostInstall.main(); })();