Blame | Last modification | View Log | RSS feed
if(!dojo._hasResource["dojo.string"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dojo.string"] = true;dojo.provide("dojo.string");dojo.string.pad = function(/*String*/text, /*int*/size, /*String?*/ch, /*boolean?*/end){// summary:// Pad a string to guarantee that it is at least 'size' length by// filling with the character 'c' at either the start or end of the// string. Pads at the start, by default.// text: the string to pad// size: length to provide padding// ch: character to pad, defaults to '0'// end: adds padding at the end if true, otherwise pads at startvar out = String(text);if(!ch){ch = '0';}while(out.length < size){if(end){out += ch;}else{out = ch + out;}}return out; // String};dojo.string.substitute = function( /*String*/template,/*Object or Array*/map,/*Function?*/transform,/*Object?*/thisObject){// summary:// Performs parameterized substitutions on a string. Throws an// exception if any parameter is unmatched.// description:// For example,// | dojo.string.substitute("File '${0}' is not found in directory '${1}'.",["foo.html","/temp"]);// | dojo.string.substitute("File '${name}' is not found in directory '${info.dir}'.",{name: "foo.html", info: {dir: "/temp"}});// both return// "File 'foo.html' is not found in directory '/temp'."// template:// a string with expressions in the form ${key} to be replaced or// ${key:format} which specifies a format function. NOTE syntax has// changed from %{key}// map: where to look for substitutions// transform:// a function to process all parameters before substitution takes// place, e.g. dojo.string.encodeXML// thisObject:// where to look for optional format function; default to the global// namespacereturn template.replace(/\$\{([^\s\:\}]+)(?:\:([^\s\:\}]+))?\}/g, function(match, key, format){var value = dojo.getObject(key,false,map);if(format){ value = dojo.getObject(format,false,thisObject)(value);}if(transform){ value = transform(value, key); }return value.toString();}); // string};dojo.string.trim = function(/*String*/ str){// summary: trims whitespaces from both sides of the string// description:// This version of trim() was taken from Steven Levithan's blog:// http://blog.stevenlevithan.com/archives/faster-trim-javascript.// The short yet good-performing version of this function is// dojo.trim(), which is part of the base.str = str.replace(/^\s+/, '');for(var i = str.length - 1; i > 0; i--){if(/\S/.test(str.charAt(i))){str = str.substring(0, i + 1);break;}}return str; // String};}