]> git.wh0rd.org - tt-rss.git/blobdiff - lib/dojo/string.js
lib: Upgrade Dojo and Dijit from 1.8.3 to 1.12.1
[tt-rss.git] / lib / dojo / string.js
index 1eba340433e92e48a7a8fd35d216d745d4fdc7ff..25b602918757de14b51cdd23dc8f36afbae85bd5 100644 (file)
@@ -1,164 +1,8 @@
 /*
-       Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
+       Copyright (c) 2004-2016, The JS Foundation All Rights Reserved.
        Available via Academic Free License >= 2.1 OR the modified BSD license.
        see: http://dojotoolkit.org/license for details
 */
 
-
-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 = { 
-       // summary: String utilities for Dojo
-};
-=====*/
-
-dojo.string.rep = function(/*String*/str, /*Integer*/num){
-       //      summary:
-       //              Efficiently replicate a string `n` times.
-       //      str:
-       //              the string to replicate
-       //      num:
-       //              number of times to replicate the string
-       
-       if(num <= 0 || !str){ return ""; }
-       
-       var buf = [];
-       for(;;){
-               if(num & 1){
-                       buf.push(str);
-               }
-               if(!(num >>= 1)){ break; }
-               str += str;
-       }
-       return buf.join("");    // String
-};
-
-dojo.string.pad = function(/*String*/text, /*Integer*/size, /*String?*/ch, /*Boolean?*/end){
-       //      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.
-       //      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 start
-       //      example:
-       //      |       // Fill the string to length 10 with "+" characters on the right.  Yields "Dojo++++++".
-       //      |       dojo.string.pad("Dojo", 10, "+", true);
-
-       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
-};
-
-dojo.string.substitute = function(     /*String*/              template, 
-                                                                       /*Object|Array*/map, 
-                                                                       /*Function?*/   transform, 
-                                                                       /*Object?*/             thisObject){
-       //      summary:
-       //              Performs parameterized substitutions on a string. Throws an
-       //              exception if any parameter is unmatched.
-       //      template: 
-       //              a string with expressions in the form `${key}` to be replaced or
-       //              `${key:format}` which specifies a format function. keys are case-sensitive. 
-       //      map:
-       //              hash to search for substitutions
-       //      transform: 
-       //              a function to process all parameters before substitution takes
-       //              place, e.g. mylib.encodeXML
-       //      thisObject: 
-       //              where to look for optional format function; default to the global
-       //              namespace
-       //      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";
-       //      |                       }
-       //      |               }
-       //      |       );
-
-       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
-};
-
-/*=====
-dojo.string.trim = function(str){
-       //      summary:
-       //              Trims whitespace from both sides of the string
-       //      str: String
-       //              String to be trimmed
-       //      returns: 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.
-       return "";      // String
-}
-=====*/
-
-dojo.string.trim = String.prototype.trim ?
-       dojo.trim : // aliasing to the native function
-       function(str){
-               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;
-       };
-
-}
+//>>built
+define("dojo/string",["./_base/kernel","./_base/lang"],function(_1,_2){var _3=/[&<>'"\/]/g;var _4={"&":"&amp;","<":"&lt;",">":"&gt;","\"":"&quot;","'":"&#x27;","/":"&#x2F;"};var _5={};_2.setObject("dojo.string",_5);_5.escape=function(_6){if(!_6){return "";}return _6.replace(_3,function(c){return _4[c];});};_5.rep=function(_7,_8){if(_8<=0||!_7){return "";}var _9=[];for(;;){if(_8&1){_9.push(_7);}if(!(_8>>=1)){break;}_7+=_7;}return _9.join("");};_5.pad=function(_a,_b,ch,_c){if(!ch){ch="0";}var _d=String(_a),_e=_5.rep(ch,Math.ceil((_b-_d.length)/ch.length));return _c?_d+_e:_e+_d;};_5.substitute=function(_f,map,_10,_11){_11=_11||_1.global;_10=_10?_2.hitch(_11,_10):function(v){return v;};return _f.replace(/\$\{([^\s\:\}]*)(?:\:([^\s\:\}]+))?\}/g,function(_12,key,_13){if(key==""){return "$";}var _14=_2.getObject(key,false,map);if(_13){_14=_2.getObject(_13,false,_11).call(_11,_14,key);}var _15=_10(_14,key);if(typeof _15==="undefined"){throw new Error("string.substitute could not find key \""+key+"\" in template");}return _15.toString();});};_5.trim=String.prototype.trim?_2.trim:function(str){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;};return _5;});
\ No newline at end of file