From b89a7ee8b956c96a1dcee995ea840feddc5d4b27 Mon Sep 17 00:00:00 2001 From: Pierre Frisch Date: Thu, 22 Dec 2011 07:25:50 -0800 Subject: First commit of Ninja to ninja-internal Signed-off-by: Valerio Virgillito --- .../montage/core/converter/trim-converter.js | 73 ++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100755 node_modules/montage/core/converter/trim-converter.js (limited to 'node_modules/montage/core/converter/trim-converter.js') diff --git a/node_modules/montage/core/converter/trim-converter.js b/node_modules/montage/core/converter/trim-converter.js new file mode 100755 index 00000000..2675b3e7 --- /dev/null +++ b/node_modules/montage/core/converter/trim-converter.js @@ -0,0 +1,73 @@ +/* + 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. +
*/ +/** + @module montage/core/converter/trim-converter + @requires montage/core/core + @requires montage/core/converter/converter +*/ +var Montage = require("montage").Montage; +var Converter = require('core/converter/converter').Converter; + + +/** + Trims a string of any leading or trailing white space. + @memberof module:montage/core/converter# + @function + @param {String} str String to be trimmed. + @returns {String} The trimmed string. + */ +var trim = exports.trim = function(str) { + // from Google Closure library + // Since IE doesn't include non-breaking-space (0xa0) in their \s character + // class (as required by section 7.2 of the ECMAScript spec), we explicitly + // include it in the regexp to enforce consistent cross-browser behavior. + return str.replace(/^[\s\xa0]+|[\s\xa0]+$/g, ''); +}; +/** + @class module:montage/core/converter/trim-converter.TrimConverter + @classdesc Trims a string of white space. + @example + Removes leading and trailing white space from a string. + var Converter= require("core/converter/converter").Converter, + TrimConverter = require("core/converter/converter").TrimConverter; + var str = " Hello World "; + var trimConverter = TrimConverter.create(); + console.log("After trim: " + trimConverter.convert(str)); + // After trim: Hello World +*/ +exports.TrimConverter = Montage.create(Converter, /** @lends module:montage/core/converter/trim-converter.TrimConverter# */ { + /** + @private + */ + _convert: { + value: function(v) { + if (v && typeof v === 'string') { + return trim(v); + } + } + }, + + /** + Trims the provided string and returns the new string. + @function + @param {String} v The string to trim. + @returns this._convert(v) + */ + convert: {value: function(v) { + return this._convert(v); + }}, + /** + Reverts the conversion. + @function + @param {String} v The string to revert. + @returns this._convert(v) + */ + revert: {value: function(v) { + return this._convert(v); + }} +}); + + -- cgit v1.2.3