X
Namespaces

dojo/string.js

  • Provides:

    • dojo.string
  • dojo.string

    • type
      Object
    • summary
      String utilities for Dojo
  • dojo.string.rep

    • type
      Function
    • parameters:
      • str: (typeof String)
        the string to replicate
      • num: (typeof Integer)
        number of times to replicate the string
    • source: [view]
       if(num <= 0 || !str){ return ""; }

       
       var buf = [];
       for(;;){
        if(num & 1){
         buf.push(str);
        }
        if(!(num >>= 1)){ break; }
        str += str;
       }
       return buf.join(""); // String
    • summary
      Efficiently replicate a string `n` times.
    • returns
      String
  • dojo.string.pad

    • type
      Function
    • parameters:
      • text: (typeof String)
        the string to pad
      • size: (typeof Integer)
        length to provide padding
      • ch: (typeof String)
        character to pad, defaults to '0'
      • end: (typeof Boolean)
        adds padding at the end if true, otherwise pads at start
    • source: [view]
       if(!ch){
        ch = '0';
       }
       var out = String(text),
        pad = dojo.string.rep(ch, Math.ceil((size - out.length) / ch.length));
       return end ? out + pad : pad + out; // String
    • summary
      Pad a string to guarantee that it is at least `size` length by
      filling with the character `ch` at either the start or end of the
      string. Pads at the start, by default.
    • returns
      String
    • example
      	// Fill the string to length 10 with "+" characters on the right.  Yields "Dojo++++++".
      	dojo.string.pad("Dojo", 10, "+", true);
  • dojo.string.substitute

    • type
      Function
    • parameters:
      • template: (typeof String)
        a string with expressions in the form `${key}` to be replaced or
        `${key:format}` which specifies a format function. keys are case-sensitive.
      • map: (typeof Object|Array)
        hash to search for substitutions
      • transform: (typeof Function)
        a function to process all parameters before substitution takes
        place, e.g. mylib.encodeXML
      • thisObject: (typeof Object)
        where to look for optional format function; default to the global
        namespace
    • source: [view]
       thisObject = thisObject || dojo.global;
       transform = transform ?
        dojo.hitch(thisObject, transform) : function(v){ return v; };


       return template.replace(/\$\{([^\s\:\}]+)(?:\:([^\s\:\}]+))?\}/g,
        function(match, key, format){
         var value = dojo.getObject(key, false, map);
         if(format){
          value = dojo.getObject(format, false, thisObject).call(thisObject, value, key);
         }
         return transform(value, key).toString();
        }); // String
    • summary
      Performs parameterized substitutions on a string. Throws an
      exception if any parameter is unmatched.
    • example
      Substitutes two expressions in a string from an Array or Object
      
      	// returns "File 'foo.html' is not found in directory '/temp'."
      	// by providing substitution data in an Array
      	dojo.string.substitute(
      		"File '${0}' is not found in directory '${1}'.",
      		["foo.html","/temp"]
      	);
      
      	// also returns "File 'foo.html' is not found in directory '/temp'."
      	// but provides substitution data in an Object structure.  Dotted
      	// notation may be used to traverse the structure.
      	dojo.string.substitute(
      		"File '${name}' is not found in directory '${info.dir}'.",
      		{ name: "foo.html", info: { dir: "/temp" } }
      	);
    • example
      Use a transform function to modify the values:
      
      	// returns "file 'foo.html' is not found in directory '/temp'."
      	dojo.string.substitute(
      		"${0} is not found in ${1}.",
      		["foo.html","/temp"],
      		function(str){
      			// try to figure out the type
      			var prefix = (str.charAt(0) == "/") ? "directory": "file";
      			return prefix + " '" + str + "'";
      		}
      	);
    • example
      Use a formatter
      
      	// returns "thinger -- howdy"
      	dojo.string.substitute(
      		"${0:postfix}", ["thinger"], null, {
      			postfix: function(value, key){
      				return value + " -- howdy";
      			}
      		}
      	);
  • dojo.string.trim

    • type
      Function
    • parameters:
      • str: (typeof String)
        String to be trimmed
    • source: [view]
       return ""; // String
    • summary
      Trims whitespace from both sides of the string
    • return_summary
      String
      Returns the trimmed string
    • description
      This version of trim() was taken from [Steven Levithan's blog](http://blog.stevenlevithan.com/archives/faster-trim-javascript).
      The short yet performant version of this function is dojo.trim(),
      which is part of Dojo base.  Uses String.prototype.trim instead, if available.
    • returns
      String
  • str

    • summary
  • i

    • summary
  • dojo

    • type
      Object
    • summary