122 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			122 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| // Class: StringTools
 | |
| 
 | |
| 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 $import = require("./import_stub").default;
 | |
| function HxOverrides() {return require("./HxOverrides");}
 | |
| 
 | |
| // Constructor
 | |
| 
 | |
| var StringTools = function(){}
 | |
| 
 | |
| // Meta
 | |
| 
 | |
| StringTools.__name__ = ["StringTools"];
 | |
| StringTools.prototype = {
 | |
| 	
 | |
| };
 | |
| StringTools.prototype.__class__ = $hxClasses["StringTools"] = StringTools;
 | |
| 
 | |
| // Init
 | |
| 
 | |
| 
 | |
| 
 | |
| // Statics
 | |
| 
 | |
| StringTools.urlEncode = function(s) {
 | |
| 	return encodeURIComponent(s);
 | |
| }
 | |
| StringTools.urlDecode = function(s) {
 | |
| 	return decodeURIComponent(s.split("+").join(" "));
 | |
| }
 | |
| StringTools.htmlEscape = function(s,quotes) {
 | |
| 	s = s.split("&").join("&").split("<").join("<").split(">").join(">");
 | |
| 	if(quotes) {
 | |
| 		return s.split("\"").join(""").split("'").join("'");
 | |
| 	} else {
 | |
| 		return s;
 | |
| 	}
 | |
| }
 | |
| StringTools.startsWith = function(s,start) {
 | |
| 	if(s.length >= start.length) {
 | |
| 		return (HxOverrides().default).substr(s,0,start.length) == start;
 | |
| 	} else {
 | |
| 		return false;
 | |
| 	}
 | |
| }
 | |
| StringTools.endsWith = function(s,end) {
 | |
| 	var elen = end.length;
 | |
| 	var slen = s.length;
 | |
| 	if(slen >= elen) {
 | |
| 		return (HxOverrides().default).substr(s,slen - elen,elen) == end;
 | |
| 	} else {
 | |
| 		return false;
 | |
| 	}
 | |
| }
 | |
| StringTools.isSpace = function(s,pos) {
 | |
| 	var c = (HxOverrides().default).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().default).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().default).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);
 | |
| }
 | |
| StringTools.hex = function(n,digits) {
 | |
| 	var s = "";
 | |
| 	var hexChars = "0123456789ABCDEF";
 | |
| 	while(true) {
 | |
| 		s = hexChars.charAt(n & 15) + s;
 | |
| 		n >>>= 4;
 | |
| 		if(!(n > 0)) {
 | |
| 			break;
 | |
| 		}
 | |
| 	}
 | |
| 	if(digits != null) {
 | |
| 		while(s.length < digits) s = "0" + s;
 | |
| 	}
 | |
| 	return s;
 | |
| }
 | |
| StringTools.fastCodeAt = function(s,index) {
 | |
| 	return s.charCodeAt(index);
 | |
| }
 | |
| StringTools.isEof = function(c) {
 | |
| 	return c != c;
 | |
| }
 | |
| 
 | |
| 
 | |
| // Export
 | |
| 
 | |
| exports.default = StringTools; |