http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/hbs.js ---------------------------------------------------------------------- diff --git a/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/hbs.js b/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/hbs.js deleted file mode 100644 index 6ecf034..0000000 --- a/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/hbs.js +++ /dev/null @@ -1,492 +0,0 @@ -/** - * @license Handlebars hbs 0.4.0 - Alex Sexton, but Handlebars has it's own licensing junk - * - * Available via the MIT or new BSD license. - * see: http://github.com/jrburke/require-cs for details on the plugin this was based off of - */ - -/* Yes, deliciously evil. */ -/*jslint evil: true, strict: false, plusplus: false, regexp: false */ -/*global require: false, XMLHttpRequest: false, ActiveXObject: false, -define: false, process: false, window: false */ -define([ -//>>excludeStart('excludeHbs', pragmas.excludeHbs) -'handlebars', 'underscore', 'i18nprecompile', 'json2' -//>>excludeEnd('excludeHbs') -], function ( -//>>excludeStart('excludeHbs', pragmas.excludeHbs) - Handlebars, _, precompile, JSON -//>>excludeEnd('excludeHbs') -) { -//>>excludeStart('excludeHbs', pragmas.excludeHbs) - var fs, getXhr, - progIds = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'], - fetchText = function () { - throw new Error('Environment unsupported.'); - }, - buildMap = [], - filecode = "w+", - templateExtension = "hbs", - customNameExtension = "@hbs", - devStyleDirectory = "/styles/", - buildStyleDirectory = "/demo-build/styles/", - helperDirectory = "template/helpers/", - i18nDirectory = "template/i18n/", - buildCSSFileName = "screen.build.css"; - - Handlebars.registerHelper('$', function() { - //placeholder for translation helper - }); - - if (typeof window !== "undefined" && window.navigator && window.document && !window.navigator.userAgent.match(/Node.js/)) { - // Browser action - getXhr = function () { - //Would love to dump the ActiveX crap in here. Need IE 6 to die first. - var xhr, i, progId; - if (typeof XMLHttpRequest !== "undefined") { - return new XMLHttpRequest(); - } else { - for (i = 0; i < 3; i++) { - progId = progIds[i]; - try { - xhr = new ActiveXObject(progId); - } catch (e) {} - - if (xhr) { - progIds = [progId]; // so faster next time - break; - } - } - } - - if (!xhr) { - throw new Error("getXhr(): XMLHttpRequest not available"); - } - - return xhr; - }; - - fetchText = function (url, callback) { - var prependComment = "<!--START: "+url+"--> == <!--END: "+url+"-->"; - var xhr = getXhr(); - xhr.open('GET', url, true); - xhr.onreadystatechange = function (evt) { - //Do not explicitly handle errors, those should be - //visible via console output in the browser. - if (xhr.readyState === 4) { - callback(xhr.responseText); - //TODO FIXME Gautam:Not working with backbone-forms when it does this : $($.trim(this.template(_.result(this, 'templateData')))); - // callback(prependComment.replace('==',xhr.responseText)); - } - }; - xhr.send(null); - }; - - } else if (typeof process !== "undefined" && - process.versions && - !!process.versions.node) { - //Using special require.nodeRequire, something added by r.js. - fs = require.nodeRequire('fs'); - fetchText = function ( path, callback ) { - var body = fs.readFileSync(path, 'utf8') || ""; - // we need to remove BOM stuff from the file content - body = body.replace(/^\uFEFF/, ''); - callback(body); - }; - } else if (typeof java !== "undefined" && typeof java.io !== "undefined") { - fetchText = function(path, callback) { - var f = new java.io.File(path); - var is = new java.io.FileReader(f); - var reader = new java.io.BufferedReader(is); - var line; - var text = ""; - while ((line = reader.readLine()) !== null) { - text += new String(line) + "\n"; - } - reader.close(); - callback(text); - }; - } - - var cache = {}; - var fetchOrGetCached = function ( path, callback ){ - if ( cache[path] ){ - callback(cache[path]); - } - else { - fetchText(path, function(data){ - cache[path] = data; - callback.call(this, data); - }); - } - }; - var styleList = [], styleMap = {}; -//>>excludeEnd('excludeHbs') - - return { - - get: function () { - return Handlebars; - }, - - write: function (pluginName, name, write) { - - if ( (name + customNameExtension ) in buildMap) { - var text = buildMap[name + customNameExtension]; - write.asModule(pluginName + "!" + name, text); - } - }, - - version: '0.4.0', - - load: function (name, parentRequire, load, config) { - //>>excludeStart('excludeHbs', pragmas.excludeHbs) - - var compiledName = name + customNameExtension, - disableI18n = (config.hbs && config.hbs.disableI18n), - partialDeps = []; - - function recursiveNodeSearch( statements, res ) { - _(statements).forEach(function ( statement ) { - if ( statement && statement.type && statement.type === 'partial' ) { - res.push(statement.partialName.name); - } - if ( statement && statement.program && statement.program.statements ) { - recursiveNodeSearch( statement.program.statements, res ); - } - if ( statement && statement.program && statement.program.inverse && statement.program.inverse.statements ) { - recursiveNodeSearch( statement.program.inverse.statements, res ); - } - }); - return res; - } - - // TODO :: use the parser to do this! - function findPartialDeps( nodes ) { - var res = []; - if ( nodes && nodes.statements ) { - res = recursiveNodeSearch( nodes.statements, [] ); - } - return _(res).unique(); - } - - // See if the first item is a comment that's json - function getMetaData( nodes ) { - var statement, res, test; - if ( nodes && nodes.statements ) { - statement = nodes.statements[0]; - if ( statement && statement.type === "comment" ) { - try { - res = ( statement.comment ).replace(new RegExp('^[\\s]+|[\\s]+$', 'g'), ''); - test = JSON.parse(res); - return res; - } - catch (e) { - return "{}"; - } - } - } - return "{}"; - } - function composeParts ( parts ) { - if ( !parts ) { - return []; - } - var res = [parts[0]], - cur = parts[0], - i; - - for (i = 1; i < parts.length; ++i) { - if ( parts.hasOwnProperty(i) ) { - cur += "." + parts[i]; - res.push( cur ); - } - } - return res; - } - - function recursiveVarSearch( statements, res, prefix, helpersres ) { - prefix = prefix ? prefix+"." : ""; - - var newprefix = "", flag = false; - - // loop through each statement - _(statements).forEach(function ( statement ) { - var parts, part, sideways; - - // if it's a mustache block - if ( statement && statement.type && statement.type === 'mustache' ) { - - // If it has params, the first part is a helper or something - if ( !statement.params || ! statement.params.length ) { - parts = composeParts( statement.id.parts ); - for( part in parts ) { - if ( parts[ part ] ) { - newprefix = parts[ part ] || newprefix; - res.push( prefix + parts[ part ] ); - } - } - res.push(prefix + statement.id.string); - } - - var paramsWithoutParts = ['this', '.', '..', './..', '../..', '../../..']; - - // grab the params - if ( statement.params && typeof Handlebars.helpers[statement.id.string] === 'undefined') { - _(statement.params).forEach(function(param) { - if ( _(paramsWithoutParts).contains(param.original) - || param instanceof Handlebars.AST.StringNode - || param instanceof Handlebars.AST.IntegerNode - || param instanceof Handlebars.AST.BooleanNode - ) { - helpersres.push(statement.id.string); - } - - parts = composeParts( param.parts ); - - for(var part in parts ) { - if ( parts[ part ] ) { - newprefix = parts[part] || newprefix; - helpersres.push(statement.id.string); - res.push( prefix + parts[ part ] ); - } - } - }); - } - } - - // If it's a meta block - if ( statement && statement.mustache ) { - recursiveVarSearch( [statement.mustache], res, prefix + newprefix, helpersres ); - } - - // if it's a whole new program - if ( statement && statement.program && statement.program.statements ) { - sideways = recursiveVarSearch([statement.mustache],[], "", helpersres)[0] || ""; - if ( statement.program.inverse && statement.program.inverse.statements ) { - recursiveVarSearch( statement.program.inverse.statements, res, prefix + newprefix + (sideways ? (prefix+newprefix) ? "."+sideways : sideways : ""), helpersres); - } - recursiveVarSearch( statement.program.statements, res, prefix + newprefix + (sideways ? (prefix+newprefix) ? "."+sideways : sideways : ""), helpersres); - } - }); - return res; - } - - // This finds the Helper dependencies since it's soooo similar - function getExternalDeps( nodes ) { - var res = []; - var helpersres = []; - - if ( nodes && nodes.statements ) { - res = recursiveVarSearch( nodes.statements, [], undefined, helpersres ); - } - - var defaultHelpers = ["helperMissing", "blockHelperMissing", "each", "if", "unless", "with"]; - - return { - vars : _(res).chain().unique().map(function(e){ - if ( e === "" ) { - return '.'; - } - if ( e.length && e[e.length-1] === '.' ) { - return e.substr(0,e.length-1) + '[]'; - } - return e; - }).value(), - helpers : _(helpersres).chain().unique().map(function(e){ - if ( _(defaultHelpers).contains(e) ) { - return undefined; - } - return e; - }).compact().value() - }; - } - - function fetchAndRegister(langMap){ - fetchText(path, function (text) { - // for some reason it doesn't include hbs _first_ when i don't add it here... - var nodes = Handlebars.parse(text), - deps = findPartialDeps( nodes ), - meta = getMetaData( nodes ), - extDeps = getExternalDeps( nodes ), - vars = extDeps.vars, - helps = extDeps.helpers || [], - depStr = deps.join("', 'hbs!").replace(/_/g, '/'), - helpDepStr = config.hbs && config.hbs.disableHelpers ? - "" : (function (){ - var i, paths = [], - pathGetter = config.hbs && config.hbs.helperPathCallback - ? config.hbs.helperPathCallback - : function (name){return (config.hbs && config.hbs.helperDirectory ? config.hbs.helperDirectory : helperDirectory) + name;}; - - for ( i = 0; i < helps.length; i++ ) { - paths[i] = "'" + pathGetter(helps[i], path) + "'" - } - return paths; - })().join(','), - debugOutputStart = "", - debugOutputEnd = "", - debugProperties = "", - metaObj, head, linkElem; - - if ( depStr ) { - depStr = ",'hbs!" + depStr + "'"; - } - if ( helpDepStr ) { - helpDepStr = "," + helpDepStr; - } - - if ( meta !== "{}" ) { - try { - metaObj = JSON.parse(meta); - if ( metaObj && metaObj.styles ) { - styleList = _.union(styleList, metaObj.styles); - - // In dev mode in the browser - if ( require.isBrowser && ! config.isBuild ) { - head = document.head || document.getElementsByTagName('head')[0]; - _(metaObj.styles).forEach(function (style) { - if ( !styleMap[style] ) { - linkElem = document.createElement('link'); - linkElem.href = config.baseUrl + devStyleDirectory + style + '.css'; - linkElem.media = 'all'; - linkElem.rel = 'stylesheet'; - linkElem.type = 'text/css'; - head.appendChild(linkElem); - styleMap[style] = linkElem; - } - }); - } - else if ( config.isBuild ) { - (function(){ - var fs = require.nodeRequire('fs'), - str = _(metaObj.styles).map(function (style) { - if (!styleMap[style]) { - styleMap[style] = true; - return "@import url("+style+".css);\n"; - } - return ""; - }).join("\n"); - - // I write out my import statements to a file in order to help me build stuff. - // Then I use a tool to inline my import statements afterwards. (you can run r.js on it too) - fs.open(__dirname + buildStyleDirectory + buildCSSFileName, filecode, '0666', function( e, id ) { - fs.writeSync(id, str, null, encoding='utf8'); - fs.close(id); - }); - filecode = "a"; - })(); - } - } - } - catch(e){ - console.log('error injecting styles'); - } - } - - if ( ! config.isBuild && ! config.serverRender ) { - debugOutputStart = "<!-- START - " + name + " -->"; - debugOutputEnd = "<!-- END - " + name + " -->"; - debugProperties = "t.meta = " + meta + ";\n" + - "t.helpers = " + JSON.stringify(helps) + ";\n" + - "t.deps = " + JSON.stringify(deps) + ";\n" + - "t.vars = " + JSON.stringify(vars) + ";\n"; - } - - var mapping = disableI18n? false : _.extend( langMap, config.localeMapping ), - configHbs = config.hbs || {}, - options = _.extend(configHbs.compileOptions || {}, { originalKeyFallback: configHbs.originalKeyFallback }), - prec = precompile( text, mapping, options); - - text = "/* START_TEMPLATE */\n" + - "define(['hbs','handlebars'"+depStr+helpDepStr+"], function( hbs, Handlebars ){ \n" + - "var t = Handlebars.template(" + prec + ");\n" + - "Handlebars.registerPartial('" + name.replace( /\//g , '_') + "', t);\n" + - debugProperties + - "return t;\n" + - "});\n" + - "/* END_TEMPLATE */\n"; - - //Hold on to the transformed text if a build. - if (config.isBuild) { - buildMap[compiledName] = text; - } - - //IE with conditional comments on cannot handle the - //sourceURL trick, so skip it if enabled. - /*@if (@_jscript) @else @*/ - if (!config.isBuild) { - text += "\r\n//@ sourceURL=" + path; - } - /*@end@*/ - - for ( var i in deps ) { - if ( deps.hasOwnProperty(i) ) { - deps[ i ] = 'hbs!' + deps[ i ].replace(/_/g, '/'); - } - } - - if ( !config.isBuild ) { - require( deps, function (){ - load.fromText(text); - - //Give result to load. Need to wait until the module - //is fully parse, which will happen after this - //execution. - parentRequire([name], function (value) { - load(value); - }); - }); - } - else { - load.fromText(name, text); - - //Give result to load. Need to wait until the module - //is fully parse, which will happen after this - //execution. - parentRequire([name], function (value) { - load(value); - }); - } - - if ( config.removeCombined ) { - fs.unlinkSync(path); - } - }); - } - - var path, - omitExtension = config.hbs && config.hbs.templateExtension === false; - if(omitExtension) { - path = parentRequire.toUrl(name); - } else { - path = parentRequire.toUrl(name +'.'+ (config.hbs && config.hbs.templateExtension ? config.hbs.templateExtension : templateExtension)); - } - - if (disableI18n){ - fetchAndRegister(false); - } else { - // Workaround until jam is able to pass config info or we move i18n to a separate module. - // This logs a warning and disables i18n if there's an error loading the language file - var langMapPath = (config.hbs && config.hbs.i18nDirectory ? config.hbs.i18nDirectory : i18nDirectory) + (config.locale || "en_us") + '.json'; - try { - fetchOrGetCached(parentRequire.toUrl(langMapPath), function (langMap) { - fetchAndRegister(JSON.parse(langMap)); - }); - } catch(er) { - // if there's no configuration at all, log a warning and disable i18n for this and subsequent templates - if(!config.hbs) { - console.warn('hbs: Error reading ' + langMapPath + ', disabling i18n. Ignore this if you\'re using jam, otherwise check your i18n configuration.\n'); - config.hbs = {disableI18n: true}; - fetchAndRegister(false); - } else { - throw er; - - } - } - } - //>>excludeEnd('excludeHbs') - } - }; -}); -/* END_hbs_PLUGIN */
http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/i18nprecompile.js ---------------------------------------------------------------------- diff --git a/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/i18nprecompile.js b/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/i18nprecompile.js deleted file mode 100644 index f012e64..0000000 --- a/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/i18nprecompile.js +++ /dev/null @@ -1,57 +0,0 @@ -//>>excludeStart('excludeAfterBuild', pragmas.excludeAfterBuild) -define(['handlebars', "underscore"], function ( Handlebars, _ ) { - - function replaceLocaleStrings ( ast, mapping, options ) { - options = options || {}; - mapping = mapping || {}; - // Base set of things - if ( ast && ast.type === "program" && ast.statements ) { - _(ast.statements).forEach(function(statement, i){ - var newString = "<!-- i18n error -->"; - // If it's a translation node - if ( statement.type === "mustache" && statement.id && statement.id.original === "$" ) { - - if ( statement.params.length && statement.params[0].string ) { - var key = statement.params[0].string; - newString = mapping[ key ] || (options.originalKeyFallback ? key : newString); - } - ast.statements[i] = new Handlebars.AST.ContentNode(newString); - } - // If we need to recurse - else if ( statement.program ) { - statement.program = replaceLocaleStrings( statement.program, mapping, options ); - } - }); - // Also cover the else blocks - if (ast.inverse) { - replaceLocaleStrings(ast.inverse, mapping, options); - } - } - return ast; - } - - return function precompile (string, mapping, options) { - var ast, environment; - - options = options || {}; - - if (!('data' in options)) { - options.data = true; - } - - if (options.compat) { - options.useDepths = true; - } - - ast = Handlebars.parse(string); - - // avoid replacing locale if mapping is `false` - if (mapping !== false) { - ast = replaceLocaleStrings(ast, mapping, options); - } - - environment = new Handlebars.Compiler().compile(ast, options); - return new Handlebars.JavaScriptCompiler().compile(environment, options); - }; -}); -//>>excludeEnd('excludeAfterBuild') http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/json2.js ---------------------------------------------------------------------- diff --git a/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/json2.js b/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/json2.js deleted file mode 100644 index cf215d8..0000000 --- a/contrib/views/storm/src/main/resources/libs/bower/require-handlebars-plugin/js/json2.js +++ /dev/null @@ -1,365 +0,0 @@ -//>>excludeStart('excludeAfterBuild', pragmas.excludeAfterBuild) -/* - http://www.JSON.org/json2.js - 2011-10-19 - - Public Domain. - - NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. - - See http://www.JSON.org/js.html - - - This code should be minified before deployment. - See http://javascript.crockford.com/jsmin.html - - USE YOUR OWN COPY. IT IS EXTREMELY UNWISE TO LOAD CODE FROM SERVERS YOU DO - NOT CONTROL. -*/ - -/*jslint evil: true, regexp: true */ - -/*members "", "\b", "\t", "\n", "\f", "\r", "\"", JSON, "\\", apply, - call, charCodeAt, getUTCDate, getUTCFullYear, getUTCHours, - getUTCMinutes, getUTCMonth, getUTCSeconds, hasOwnProperty, join, - lastIndex, length, parse, prototype, push, replace, slice, stringify, - test, toJSON, toString, valueOf -*/ - -(function (window){ - -// Create a JSON object only if one does not already exist. We create the -// methods in a closure to avoid creating global variables. - -// Return the window JSON element if it exists; -var JSON = window.JSON || {}; - -(function () { - 'use strict'; - - function f(n) { - // Format integers to have at least two digits. - return n < 10 ? '0' + n : n; - } - - if (typeof Date.prototype.toJSON !== 'function') { - - Date.prototype.toJSON = function (key) { - - return isFinite(this.valueOf()) - ? this.getUTCFullYear() + '-' + - f(this.getUTCMonth() + 1) + '-' + - f(this.getUTCDate()) + 'T' + - f(this.getUTCHours()) + ':' + - f(this.getUTCMinutes()) + ':' + - f(this.getUTCSeconds()) + 'Z' - : null; - }; - - String.prototype.toJSON = - Number.prototype.toJSON = - Boolean.prototype.toJSON = function (key) { - return this.valueOf(); - }; - } - - var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g, - gap, - indent, - meta = { // table of character substitutions - '\b': '\\b', - '\t': '\\t', - '\n': '\\n', - '\f': '\\f', - '\r': '\\r', - '"' : '\\"', - '\\': '\\\\' - }, - rep; - - - function quote(string) { - -// If the string contains no control characters, no quote characters, and no -// backslash characters, then we can safely slap some quotes around it. -// Otherwise we must also replace the offending characters with safe escape -// sequences. - - escapable.lastIndex = 0; - return escapable.test(string) ? '"' + string.replace(escapable, function (a) { - var c = meta[a]; - return typeof c === 'string' - ? c - : '\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }) + '"' : '"' + string + '"'; - } - - - function str(key, holder) { - -// Produce a string from holder[key]. - - var i, // The loop counter. - k, // The member key. - v, // The member value. - length, - mind = gap, - partial, - value = holder[key]; - -// If the value has a toJSON method, call it to obtain a replacement value. - - if (value && typeof value === 'object' && - typeof value.toJSON === 'function') { - value = value.toJSON(key); - } - -// If we were called with a replacer function, then call the replacer to -// obtain a replacement value. - - if (typeof rep === 'function') { - value = rep.call(holder, key, value); - } - -// What happens next depends on the value's type. - - switch (typeof value) { - case 'string': - return quote(value); - - case 'number': - -// JSON numbers must be finite. Encode non-finite numbers as null. - - return isFinite(value) ? String(value) : 'null'; - - case 'boolean': - case 'null': - -// If the value is a boolean or null, convert it to a string. Note: -// typeof null does not produce 'null'. The case is included here in -// the remote chance that this gets fixed someday. - - return String(value); - -// If the type is 'object', we might be dealing with an object or an array or -// null. - - case 'object': - -// Due to a specification blunder in ECMAScript, typeof null is 'object', -// so watch out for that case. - - if (!value) { - return 'null'; - } - -// Make an array to hold the partial results of stringifying this object value. - - gap += indent; - partial = []; - -// Is the value an array? - - if (Object.prototype.toString.apply(value) === '[object Array]') { - -// The value is an array. Stringify every element. Use null as a placeholder -// for non-JSON values. - - length = value.length; - for (i = 0; i < length; i += 1) { - partial[i] = str(i, value) || 'null'; - } - -// Join all of the elements together, separated with commas, and wrap them in -// brackets. - - v = partial.length === 0 - ? '[]' - : gap - ? '[\n' + gap + partial.join(',\n' + gap) + '\n' + mind + ']' - : '[' + partial.join(',') + ']'; - gap = mind; - return v; - } - -// If the replacer is an array, use it to select the members to be stringified. - - if (rep && typeof rep === 'object') { - length = rep.length; - for (i = 0; i < length; i += 1) { - if (typeof rep[i] === 'string') { - k = rep[i]; - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } else { - -// Otherwise, iterate through all of the keys in the object. - - for (k in value) { - if (Object.prototype.hasOwnProperty.call(value, k)) { - v = str(k, value); - if (v) { - partial.push(quote(k) + (gap ? ': ' : ':') + v); - } - } - } - } - -// Join all of the member texts together, separated with commas, -// and wrap them in braces. - - v = partial.length === 0 - ? '{}' - : gap - ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + mind + '}' - : '{' + partial.join(',') + '}'; - gap = mind; - return v; - } - } - -// If the JSON object does not yet have a stringify method, give it one. - - if (typeof JSON.stringify !== 'function') { - JSON.stringify = function (value, replacer, space) { - -// The stringify method takes a value and an optional replacer, and an optional -// space parameter, and returns a JSON text. The replacer can be a function -// that can replace values, or an array of strings that will select the keys. -// A default replacer method can be provided. Use of the space parameter can -// produce text that is more easily readable. - - var i; - gap = ''; - indent = ''; - -// If the space parameter is a number, make an indent string containing that -// many spaces. - - if (typeof space === 'number') { - for (i = 0; i < space; i += 1) { - indent += ' '; - } - -// If the space parameter is a string, it will be used as the indent string. - - } else if (typeof space === 'string') { - indent = space; - } - -// If there is a replacer, it must be a function or an array. -// Otherwise, throw an error. - - rep = replacer; - if (replacer && typeof replacer !== 'function' && - (typeof replacer !== 'object' || - typeof replacer.length !== 'number')) { - throw new Error('JSON.stringify'); - } - -// Make a fake root object containing our value under the key of ''. -// Return the result of stringifying the value. - - return str('', {'': value}); - }; - } - - -// If the JSON object does not yet have a parse method, give it one. - - if (typeof JSON.parse !== 'function') { - JSON.parse = function (text, reviver) { - -// The parse method takes a text and an optional reviver function, and returns -// a JavaScript value if the text is a valid JSON text. - - var j; - - function walk(holder, key) { - -// The walk method is used to recursively walk the resulting structure so -// that modifications can be made. - - var k, v, value = holder[key]; - if (value && typeof value === 'object') { - for (k in value) { - if (Object.prototype.hasOwnProperty.call(value, k)) { - v = walk(value, k); - if (v !== undefined) { - value[k] = v; - } else { - delete value[k]; - } - } - } - } - return reviver.call(holder, key, value); - } - - -// Parsing happens in four stages. In the first stage, we replace certain -// Unicode characters with escape sequences. JavaScript handles many characters -// incorrectly, either silently deleting them, or treating them as line endings. - - text = String(text); - cx.lastIndex = 0; - if (cx.test(text)) { - text = text.replace(cx, function (a) { - return '\\u' + - ('0000' + a.charCodeAt(0).toString(16)).slice(-4); - }); - } - -// In the second stage, we run the text against regular expressions that look -// for non-JSON patterns. We are especially concerned with '()' and 'new' -// because they can cause invocation, and '=' because it can cause mutation. -// But just to be safe, we want to reject all unexpected forms. - -// We split the second stage into 4 regexp operations in order to work around -// crippling inefficiencies in IE's and Safari's regexp engines. First we -// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we -// replace all simple value tokens with ']' characters. Third, we delete all -// open brackets that follow a colon or comma or that begin the text. Finally, -// we look to see that the remaining characters are only whitespace or ']' or -// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval. - - if (/^[\],:{}\s]*$/ - .test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@') - .replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']') - .replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) { - -// In the third stage we use the eval function to compile the text into a -// JavaScript structure. The '{' operator is subject to a syntactic ambiguity -// in JavaScript: it can begin a block or an object literal. We wrap the text -// in parens to eliminate the ambiguity. - - j = eval('(' + text + ')'); - -// In the optional fourth stage, we recursively walk the new structure, passing -// each name/value pair to a reviver function for possible transformation. - - return typeof reviver === 'function' - ? walk({'': j}, '') - : j; - } - -// If the text is not JSON parseable, then a SyntaxError is thrown. - - throw new SyntaxError('JSON.parse'); - }; - } -}()); - -define(function(){ - return JSON; -}); -// otherwise just leave it alone - -}).call(this, this); -//>>excludeEnd('excludeAfterBuild') http://git-wip-us.apache.org/repos/asf/ambari/blob/529ef7f7/contrib/views/storm/src/main/resources/libs/bower/requirejs-text/js/text.js ---------------------------------------------------------------------- diff --git a/contrib/views/storm/src/main/resources/libs/bower/requirejs-text/js/text.js b/contrib/views/storm/src/main/resources/libs/bower/requirejs-text/js/text.js deleted file mode 100644 index 7eed271..0000000 --- a/contrib/views/storm/src/main/resources/libs/bower/requirejs-text/js/text.js +++ /dev/null @@ -1,390 +0,0 @@ -/** - * @license RequireJS text 2.0.13 Copyright (c) 2010-2014, The Dojo Foundation All Rights Reserved. - * Available via the MIT or new BSD license. - * see: http://github.com/requirejs/text for details - */ -/*jslint regexp: true */ -/*global require, XMLHttpRequest, ActiveXObject, - define, window, process, Packages, - java, location, Components, FileUtils */ - -define(['module'], function (module) { - 'use strict'; - - var text, fs, Cc, Ci, xpcIsWindows, - progIds = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'], - xmlRegExp = /^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im, - bodyRegExp = /<body[^>]*>\s*([\s\S]+)\s*<\/body>/im, - hasLocation = typeof location !== 'undefined' && location.href, - defaultProtocol = hasLocation && location.protocol && location.protocol.replace(/\:/, ''), - defaultHostName = hasLocation && location.hostname, - defaultPort = hasLocation && (location.port || undefined), - buildMap = {}, - masterConfig = (module.config && module.config()) || {}; - - text = { - version: '2.0.13', - - strip: function (content) { - //Strips <?xml ...?> declarations so that external SVG and XML - //documents can be added to a document without worry. Also, if the string - //is an HTML document, only the part inside the body tag is returned. - if (content) { - content = content.replace(xmlRegExp, ""); - var matches = content.match(bodyRegExp); - if (matches) { - content = matches[1]; - } - } else { - content = ""; - } - return content; - }, - - jsEscape: function (content) { - return content.replace(/(['\\])/g, '\\$1') - .replace(/[\f]/g, "\\f") - .replace(/[\b]/g, "\\b") - .replace(/[\n]/g, "\\n") - .replace(/[\t]/g, "\\t") - .replace(/[\r]/g, "\\r") - .replace(/[\u2028]/g, "\\u2028") - .replace(/[\u2029]/g, "\\u2029"); - }, - - createXhr: masterConfig.createXhr || function () { - //Would love to dump the ActiveX crap in here. Need IE 6 to die first. - var xhr, i, progId; - if (typeof XMLHttpRequest !== "undefined") { - return new XMLHttpRequest(); - } else if (typeof ActiveXObject !== "undefined") { - for (i = 0; i < 3; i += 1) { - progId = progIds[i]; - try { - xhr = new ActiveXObject(progId); - } catch (e) {} - - if (xhr) { - progIds = [progId]; // so faster next time - break; - } - } - } - - return xhr; - }, - - /** - * Parses a resource name into its component parts. Resource names - * look like: module/name.ext!strip, where the !strip part is - * optional. - * @param {String} name the resource name - * @returns {Object} with properties "moduleName", "ext" and "strip" - * where strip is a boolean. - */ - parseName: function (name) { - var modName, ext, temp, - strip = false, - index = name.lastIndexOf("."), - isRelative = name.indexOf('./') === 0 || - name.indexOf('../') === 0; - - if (index !== -1 && (!isRelative || index > 1)) { - modName = name.substring(0, index); - ext = name.substring(index + 1); - } else { - modName = name; - } - - temp = ext || modName; - index = temp.indexOf("!"); - if (index !== -1) { - //Pull off the strip arg. - strip = temp.substring(index + 1) === "strip"; - temp = temp.substring(0, index); - if (ext) { - ext = temp; - } else { - modName = temp; - } - } - - return { - moduleName: modName, - ext: ext, - strip: strip - }; - }, - - xdRegExp: /^((\w+)\:)?\/\/([^\/\\]+)/, - - /** - * Is an URL on another domain. Only works for browser use, returns - * false in non-browser environments. Only used to know if an - * optimized .js version of a text resource should be loaded - * instead. - * @param {String} url - * @returns Boolean - */ - useXhr: function (url, protocol, hostname, port) { - var uProtocol, uHostName, uPort, - match = text.xdRegExp.exec(url); - if (!match) { - return true; - } - uProtocol = match[2]; - uHostName = match[3]; - - uHostName = uHostName.split(':'); - uPort = uHostName[1]; - uHostName = uHostName[0]; - - return (!uProtocol || uProtocol === protocol) && - (!uHostName || uHostName.toLowerCase() === hostname.toLowerCase()) && - ((!uPort && !uHostName) || uPort === port); - }, - - finishLoad: function (name, strip, content, onLoad) { - content = strip ? text.strip(content) : content; - if (masterConfig.isBuild) { - buildMap[name] = content; - } - onLoad(content); - }, - - load: function (name, req, onLoad, config) { - //Name has format: some.module.filext!strip - //The strip part is optional. - //if strip is present, then that means only get the string contents - //inside a body tag in an HTML string. For XML/SVG content it means - //removing the <?xml ...?> declarations so the content can be inserted - //into the current doc without problems. - - // Do not bother with the work if a build and text will - // not be inlined. - if (config && config.isBuild && !config.inlineText) { - onLoad(); - return; - } - - masterConfig.isBuild = config && config.isBuild; - - var parsed = text.parseName(name), - nonStripName = parsed.moduleName + - (parsed.ext ? '.' + parsed.ext : ''), - url = req.toUrl(nonStripName), - useXhr = (masterConfig.useXhr) || - text.useXhr; - - // Do not load if it is an empty: url - if (url.indexOf('empty:') === 0) { - onLoad(); - return; - } - - //Load the text. Use XHR if possible and in a browser. - if (!hasLocation || useXhr(url, defaultProtocol, defaultHostName, defaultPort)) { - text.get(url, function (content) { - text.finishLoad(name, parsed.strip, content, onLoad); - }, function (err) { - if (onLoad.error) { - onLoad.error(err); - } - }); - } else { - //Need to fetch the resource across domains. Assume - //the resource has been optimized into a JS module. Fetch - //by the module name + extension, but do not include the - //!strip part to avoid file system issues. - req([nonStripName], function (content) { - text.finishLoad(parsed.moduleName + '.' + parsed.ext, - parsed.strip, content, onLoad); - }); - } - }, - - write: function (pluginName, moduleName, write, config) { - if (buildMap.hasOwnProperty(moduleName)) { - var content = text.jsEscape(buildMap[moduleName]); - write.asModule(pluginName + "!" + moduleName, - "define(function () { return '" + - content + - "';});\n"); - } - }, - - writeFile: function (pluginName, moduleName, req, write, config) { - var parsed = text.parseName(moduleName), - extPart = parsed.ext ? '.' + parsed.ext : '', - nonStripName = parsed.moduleName + extPart, - //Use a '.js' file name so that it indicates it is a - //script that can be loaded across domains. - fileName = req.toUrl(parsed.moduleName + extPart) + '.js'; - - //Leverage own load() method to load plugin value, but only - //write out values that do not have the strip argument, - //to avoid any potential issues with ! in file names. - text.load(nonStripName, req, function (value) { - //Use own write() method to construct full module value. - //But need to create shell that translates writeFile's - //write() to the right interface. - var textWrite = function (contents) { - return write(fileName, contents); - }; - textWrite.asModule = function (moduleName, contents) { - return write.asModule(moduleName, fileName, contents); - }; - - text.write(pluginName, nonStripName, textWrite, config); - }, config); - } - }; - - if (masterConfig.env === 'node' || (!masterConfig.env && - typeof process !== "undefined" && - process.versions && - !!process.versions.node && - !process.versions['node-webkit'])) { - //Using special require.nodeRequire, something added by r.js. - fs = require.nodeRequire('fs'); - - text.get = function (url, callback, errback) { - try { - var file = fs.readFileSync(url, 'utf8'); - //Remove BOM (Byte Mark Order) from utf8 files if it is there. - if (file[0] === '\uFEFF') { - file = file.substring(1); - } - callback(file); - } catch (e) { - if (errback) { - errback(e); - } - } - }; - } else if (masterConfig.env === 'xhr' || (!masterConfig.env && - text.createXhr())) { - text.get = function (url, callback, errback, headers) { - var xhr = text.createXhr(), header; - xhr.open('GET', url, true); - - //Allow plugins direct access to xhr headers - if (headers) { - for (header in headers) { - if (headers.hasOwnProperty(header)) { - xhr.setRequestHeader(header.toLowerCase(), headers[header]); - } - } - } - - //Allow overrides specified in config - if (masterConfig.onXhr) { - masterConfig.onXhr(xhr, url); - } - - xhr.onreadystatechange = function (evt) { - var status, err; - //Do not explicitly handle errors, those should be - //visible via console output in the browser. - if (xhr.readyState === 4) { - status = xhr.status || 0; - if (status > 399 && status < 600) { - //An http 4xx or 5xx error. Signal an error. - err = new Error(url + ' HTTP status: ' + status); - err.xhr = xhr; - if (errback) { - errback(err); - } - } else { - callback(xhr.responseText); - } - - if (masterConfig.onXhrComplete) { - masterConfig.onXhrComplete(xhr, url); - } - } - }; - xhr.send(null); - }; - } else if (masterConfig.env === 'rhino' || (!masterConfig.env && - typeof Packages !== 'undefined' && typeof java !== 'undefined')) { - //Why Java, why is this so awkward? - text.get = function (url, callback) { - var stringBuffer, line, - encoding = "utf-8", - file = new java.io.File(url), - lineSeparator = java.lang.System.getProperty("line.separator"), - input = new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(file), encoding)), - content = ''; - try { - stringBuffer = new java.lang.StringBuffer(); - line = input.readLine(); - - // Byte Order Mark (BOM) - The Unicode Standard, version 3.0, page 324 - // http://www.unicode.org/faq/utf_bom.html - - // Note that when we use utf-8, the BOM should appear as "EF BB BF", but it doesn't due to this bug in the JDK: - // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4508058 - if (line && line.length() && line.charAt(0) === 0xfeff) { - // Eat the BOM, since we've already found the encoding on this file, - // and we plan to concatenating this buffer with others; the BOM should - // only appear at the top of a file. - line = line.substring(1); - } - - if (line !== null) { - stringBuffer.append(line); - } - - while ((line = input.readLine()) !== null) { - stringBuffer.append(lineSeparator); - stringBuffer.append(line); - } - //Make sure we return a JavaScript string and not a Java string. - content = String(stringBuffer.toString()); //String - } finally { - input.close(); - } - callback(content); - }; - } else if (masterConfig.env === 'xpconnect' || (!masterConfig.env && - typeof Components !== 'undefined' && Components.classes && - Components.interfaces)) { - //Avert your gaze! - Cc = Components.classes; - Ci = Components.interfaces; - Components.utils['import']('resource://gre/modules/FileUtils.jsm'); - xpcIsWindows = ('@mozilla.org/windows-registry-key;1' in Cc); - - text.get = function (url, callback) { - var inStream, convertStream, fileObj, - readData = {}; - - if (xpcIsWindows) { - url = url.replace(/\//g, '\\'); - } - - fileObj = new FileUtils.File(url); - - //XPCOM, you so crazy - try { - inStream = Cc['@mozilla.org/network/file-input-stream;1'] - .createInstance(Ci.nsIFileInputStream); - inStream.init(fileObj, 1, 0, false); - - convertStream = Cc['@mozilla.org/intl/converter-input-stream;1'] - .createInstance(Ci.nsIConverterInputStream); - convertStream.init(inStream, "utf-8", inStream.available(), - Ci.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER); - - convertStream.readString(inStream.available(), readData); - convertStream.close(); - inStream.close(); - callback(readData.value); - } catch (e) { - throw new Error((fileObj && fileObj.path || '') + ': ' + e); - } - }; - } - return text; -});