From 13ae16997d4bbca14e255d5989d1c44a76eac72c Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Wed, 16 May 2012 15:23:48 -0700 Subject: montage v.0.10 integration Signed-off-by: Valerio Virgillito --- node_modules/montage/core/extras/string.js | 79 ++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100755 node_modules/montage/core/extras/string.js (limited to 'node_modules/montage/core/extras/string.js') diff --git a/node_modules/montage/core/extras/string.js b/node_modules/montage/core/extras/string.js new file mode 100755 index 00000000..10b69e88 --- /dev/null +++ b/node_modules/montage/core/extras/string.js @@ -0,0 +1,79 @@ +/* + This file contains proprietary software owned by Motorola Mobility, Inc.
+ No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.
+ (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. +
*/ +/** + Defines extensions to native String object. + @see [String class]{@link external:String} + @module montage/core/shim/string +*/ + +/** + @external String + */ +Object.defineProperties(String.prototype, /** @lends external:String.prototype#*/{ + /** + @function external:String.addEventListener + @param {Listener} type The type of event listener. + @param {Listener} listener The event listener. + @param {Function} useCapture The capturing function. + */ + addEventListener: { + value: function(type, listener, useCapture) { + //NO OP, on purpose + } + + }, + /** + Capitalizes the first letter in the string. + @function external:String.toCapitalized + @returns {String} The original string with its first letter capitalized. + @example + var fname = "abe"; + var lname = "lincoln"; + var name = fname.toCapitalized() + " " + lname.toCapitalized(); + // name == "Abe Lincoln" + */ + toCapitalized: { + value: function() { + return this.charAt(0).toUpperCase() + this.slice(1); + } + }, + + /** + Returns true if the two strings are equal, otherwise returns false. + @function external:String.equals + @param {Object} anObject The object to compare to the string. + @returns {Boolean} Returns true if the string is equal to anObject. + */ + equals: { + value: function(anObject) { + if (this.toString() === anObject) { + return true; + } + + if (!anObject || !(anObject instanceof String)) { + return false; + } + + return (this == anObject); + } + } + +}); + +/** + Shim implementation of String.isString() for browsers that don't yet support it. + @function external:String.isString() + @param {object} obj The object to determine if its a String. + @returns {boolean} Object.prototype.toString.call(obj) === "[object String]" +*/ +if (!String.isString) { + Object.defineProperty(String, "isString", { + value: function(obj) { + return Object.prototype.toString.call(obj) === "[object String]"; + } + }); +} + -- cgit v1.2.3