summaryrefslogtreecommitdiff
path: root/assets/viz/2/goog/string
diff options
context:
space:
mode:
authorBrian Picciano <mediocregopher@gmail.com>2018-11-13 00:24:09 -0500
committerBrian Picciano <mediocregopher@gmail.com>2018-11-13 00:24:09 -0500
commit2b4757367470d8e36bc00901dac567e375796ed4 (patch)
tree72368624006c21d28228a100ee88590c7bf95e58 /assets/viz/2/goog/string
parent5ed62d23b4bbbf7717de4adfa0eaf2af19365408 (diff)
update viz 2 to use the newest version, which has some performance improvements and is easier to read the code for. also update the description
Diffstat (limited to 'assets/viz/2/goog/string')
-rw-r--r--assets/viz/2/goog/string/const.js12
-rw-r--r--assets/viz/2/goog/string/string.js60
-rw-r--r--assets/viz/2/goog/string/typedstring.js2
3 files changed, 44 insertions, 30 deletions
diff --git a/assets/viz/2/goog/string/const.js b/assets/viz/2/goog/string/const.js
index 7f919be..30bfc4e 100644
--- a/assets/viz/2/goog/string/const.js
+++ b/assets/viz/2/goog/string/const.js
@@ -56,7 +56,7 @@ goog.string.Const = function() {
/**
* A type marker used to implement additional run-time type checking.
* @see goog.string.Const#unwrap
- * @const
+ * @const {!Object}
* @private
*/
this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_ =
@@ -148,9 +148,6 @@ goog.string.Const.unwrap = function(stringConst) {
* var t = goog.string.Const.from('hello' + world);
* </pre>
*
- * TODO(xtof): Compile-time checks that this function is only called
- * with compile-time constant expressions.
- *
* @param {string} s A constant string from which to create a Const.
* @return {!goog.string.Const} A Const object initialized to stringConst.
*/
@@ -180,3 +177,10 @@ goog.string.Const.create__googStringSecurityPrivate_ = function(s) {
s;
return stringConst;
};
+
+
+/**
+ * A Const instance wrapping the empty string.
+ * @const {!goog.string.Const}
+ */
+goog.string.Const.EMPTY = goog.string.Const.from('');
diff --git a/assets/viz/2/goog/string/string.js b/assets/viz/2/goog/string/string.js
index a2f7003..7a10ae0 100644
--- a/assets/viz/2/goog/string/string.js
+++ b/assets/viz/2/goog/string/string.js
@@ -91,9 +91,9 @@ goog.string.caseInsensitiveStartsWith = function(str, prefix) {
* case).
*/
goog.string.caseInsensitiveEndsWith = function(str, suffix) {
- return goog.string.caseInsensitiveCompare(
- suffix, str.substr(str.length - suffix.length, suffix.length)) ==
- 0;
+ return (
+ goog.string.caseInsensitiveCompare(
+ suffix, str.substr(str.length - suffix.length, suffix.length)) == 0);
};
@@ -175,11 +175,9 @@ goog.string.isEmptyString = function(str) {
/**
* Checks if a string is empty or contains only whitespaces.
*
- * TODO(user): Deprecate this when clients have been switched over to
- * goog.string.isEmptyOrWhitespace.
- *
* @param {string} str The string to check.
* @return {boolean} Whether {@code str} is empty or whitespace only.
+ * @deprecated Use goog.string.isEmptyOrWhitespace instead.
*/
goog.string.isEmpty = goog.string.isEmptyOrWhitespace;
@@ -200,12 +198,10 @@ goog.string.isEmptyOrWhitespaceSafe = function(str) {
/**
* Checks if a string is null, undefined, empty or contains only whitespaces.
*
- * TODO(user): Deprecate this when clients have been switched over to
- * goog.string.isEmptyOrWhitespaceSafe.
- *
* @param {*} str The string to check.
* @return {boolean} Whether {@code str} is null, undefined, empty, or
* whitespace only.
+ * @deprecated Use goog.string.isEmptyOrWhitespace instead.
*/
goog.string.isEmptySafe = goog.string.isEmptyOrWhitespaceSafe;
@@ -998,7 +994,7 @@ goog.string.quote = function(s) {
/**
- * Takes a string and returns the escaped string for that character.
+ * Takes a string and returns the escaped string for that input string.
* @param {string} str The string to escape.
* @return {string} An escaped string representing {@code str}.
*/
@@ -1105,15 +1101,14 @@ goog.string.removeAt = function(s, index, stringLength) {
/**
- * Removes the first occurrence of a substring from a string.
- * @param {string} s The base string from which to remove.
- * @param {string} ss The string to remove.
- * @return {string} A copy of {@code s} with {@code ss} removed or the full
- * string if nothing is removed.
+ * Removes the first occurrence of a substring from a string.
+ * @param {string} str The base string from which to remove.
+ * @param {string} substr The string to remove.
+ * @return {string} A copy of {@code str} with {@code substr} removed or the
+ * full string if nothing is removed.
*/
-goog.string.remove = function(s, ss) {
- var re = new RegExp(goog.string.regExpEscape(ss), '');
- return s.replace(re, '');
+goog.string.remove = function(str, substr) {
+ return str.replace(substr, '');
};
@@ -1131,6 +1126,20 @@ goog.string.removeAll = function(s, ss) {
/**
+ * Replaces all occurrences of a substring of a string with a new substring.
+ * @param {string} s The base string from which to remove.
+ * @param {string} ss The string to replace.
+ * @param {string} replacement The replacement string.
+ * @return {string} A copy of {@code s} with {@code ss} replaced by
+ * {@code replacement} or the original string if nothing is replaced.
+ */
+goog.string.replaceAll = function(s, ss, replacement) {
+ var re = new RegExp(goog.string.regExpEscape(ss), 'g');
+ return s.replace(re, replacement.replace(/\$/g, '$$$$'));
+};
+
+
+/**
* Escapes characters in the string that are not safe to use in a RegExp.
* @param {*} s The string to escape. If not a string, it will be casted
* to one.
@@ -1251,14 +1260,12 @@ goog.string.compareVersions = function(version1, version2) {
var v1Sub = v1Subs[subIdx] || '';
var v2Sub = v2Subs[subIdx] || '';
- // Split the subversions into pairs of numbers and qualifiers (like 'b').
- // Two different RegExp objects are needed because they are both using
- // the 'g' flag.
- var v1CompParser = new RegExp('(\\d*)(\\D*)', 'g');
- var v2CompParser = new RegExp('(\\d*)(\\D*)', 'g');
do {
- var v1Comp = v1CompParser.exec(v1Sub) || ['', '', ''];
- var v2Comp = v2CompParser.exec(v2Sub) || ['', '', ''];
+ // Split the subversions into pairs of numbers and qualifiers (like 'b').
+ // Two different RegExp objects are use to make it clear the code
+ // is side-effect free
+ var v1Comp = /(\d*)(\D*)(.*)/.exec(v1Sub) || ['', '', '', ''];
+ var v2Comp = /(\d*)(\D*)(.*)/.exec(v2Sub) || ['', '', '', ''];
// Break if there are no more matches.
if (v1Comp[0].length == 0 && v2Comp[0].length == 0) {
break;
@@ -1278,6 +1285,9 @@ goog.string.compareVersions = function(version1, version2) {
v1Comp[2].length == 0, v2Comp[2].length == 0) ||
goog.string.compareElements_(v1Comp[2], v2Comp[2]);
// Stop as soon as an inequality is discovered.
+
+ v1Sub = v1Comp[3];
+ v2Sub = v2Comp[3];
} while (order == 0);
}
diff --git a/assets/viz/2/goog/string/typedstring.js b/assets/viz/2/goog/string/typedstring.js
index 075115f..d0d7bd9 100644
--- a/assets/viz/2/goog/string/typedstring.js
+++ b/assets/viz/2/goog/string/typedstring.js
@@ -43,6 +43,6 @@ goog.string.TypedString.prototype.implementsGoogStringTypedString;
/**
* Retrieves this wrapped string's value.
- * @return {!string} The wrapped string's value.
+ * @return {string} The wrapped string's value.
*/
goog.string.TypedString.prototype.getTypedStringValue;