starling-framework
Version:
A fast, productive library for 2D cross-platform development.
117 lines (100 loc) • 2.96 kB
JavaScript
// Class: haxe.SysTools
var $global = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this
$global.Object.defineProperty(exports, "__esModule", {value: true});
var __map_reserved = {};
// Imports
var $hxClasses = require("./../hxClasses_stub").default;
var $hxEnums = require("./../hxEnums_stub").default;
var $import = require("./../import_stub").default;
function EReg() {return require("./../EReg");}
function StringTools() {return require("./../StringTools");}
function StringBuf() {return require("./../StringBuf");}
function HxOverrides() {return require("./../HxOverrides");}
// Constructor
var SysTools = function(){}
// Meta
SysTools.__name__ = "haxe.SysTools";
SysTools.__isInterface__ = false;
SysTools.prototype = {
};
SysTools.prototype.__class__ = SysTools.prototype.constructor = $hxClasses["haxe.SysTools"] = SysTools;
// Init
// Statics
SysTools.quoteUnixArg = function(argument) {
if(argument == "") {
return "''";
}
if(!new (EReg().default)("[^a-zA-Z0-9_@%+=:,./-]","").match(argument)) {
return argument;
}
return "'" + (StringTools().default).replace(argument,"'","'\"'\"'") + "'";
}
SysTools.quoteWinArg = function(argument,escapeMetaCharacters) {
if(!new (EReg().default)("^[^ \t\\\\\"]+$","").match(argument)) {
var result = new (StringBuf().default)();
var needquote = argument.indexOf(" ") != -1 || argument.indexOf("\t") != -1 || argument == "";
if(needquote) {
result.add("\"");
}
var bs_buf = new (StringBuf().default)();
var _g = 0;
var _g1 = argument.length;
while(_g < _g1) {
var i = _g++;
var _g2 = (HxOverrides().default).cca(argument,i);
if(_g2 == null) {
var c = _g2;
if(bs_buf.get_length() > 0) {
result.add(bs_buf.toString());
bs_buf = new (StringBuf().default)();
}
result.addChar(c);
} else {
switch(_g2) {
case 34:
var bs = bs_buf.toString();
result.add(bs);
result.add(bs);
bs_buf = new (StringBuf().default)();
result.add("\\\"");
break;
case 92:
bs_buf.add("\\");
break;
default:
var c1 = _g2;
if(bs_buf.get_length() > 0) {
result.add(bs_buf.toString());
bs_buf = new (StringBuf().default)();
}
result.addChar(c1);
}
}
}
result.add(bs_buf.toString());
if(needquote) {
result.add(bs_buf.toString());
result.add("\"");
}
argument = result.toString();
}
if(escapeMetaCharacters) {
var result1 = new (StringBuf().default)();
var _g3 = 0;
var _g11 = argument.length;
while(_g3 < _g11) {
var i1 = _g3++;
var c2 = (HxOverrides().default).cca(argument,i1);
if(SysTools.winMetaCharacters.indexOf(c2) >= 0) {
result1.addChar(94);
}
result1.addChar(c2);
}
return result1.toString();
} else {
return argument;
}
}
SysTools.winMetaCharacters = [32,40,41,37,33,94,34,60,62,38,124,10,13,44,59]
// Export
exports.default = SysTools;