1var fw_MAPLATER = function(){ 2 "use strict"; 3 if(typeof(fw_MAPLATER) !== "undefined"){ 4 return fw_MAPLATER; 5 } 6 var $this, 7 functions = { 8 spaceToSpecialChars: function(str){ 9 return (str + '').replace(/\t/g, " "); 10 }, 11 print_r_simple: function(str){ 12 return "<span class='primitive_value value_is_string'>" + functions.spaceToSpecialChars($.nl2br(fw_MAMMON.escapeHtml(str))) + "</span>"; 13 }, 14 print_r_null: function(){ 15 return "<span class='primitive_value value_is_null'>null</span>"; 16 }, 17 print_r_nan: function(){ 18 return "<span class='primitive_value value_is_null'>NaN</span>"; 19 }, 20 print_r_boolean: function(obj){ 21 return "<span class='primitive_value value_is_bool'>" + (obj ? "true" : "false") + "</span>"; 22 }, 23 print_r_object: function(obj){ 24 var strDump = "<span class='value_is_object'>" + ($.isArray(obj) ? "Array" : "Object") + "</span>(", 25 key; 26 for(key in obj){ 27 if(obj.hasOwnProperty(key)){ 28 strDump += "<div class='object_wrapper'>"; 29 strDump += "<span class='object_key'>[" + key + "]</span> => "; 30 strDump += functions.print_r_by_type(obj[key]); 31 strDump += "</div>"; 32 } 33 } 34 strDump += ")"; 35 return strDump; 36 }, 37 print_r_function: function(func){ 38 var funcDump = func.toString(), 39 prepend = "", append = ""; 40 if(!/^function/.test(funcDump)){ 41 prepend = "<span class='value_is_object'>function</span>(){"; 42 append = "}"; 43 } 44 funcDump = "<strong>" + prepend + functions.spaceToSpecialChars($.nl2br(fw_MAMMON.escapeHtml(funcDump))).replace(/(^|[^\w])(function) *(\w+)* *\((\w+( ?, ?(\w+))*)\)/ig, "$1<span class='value_is_object'>function</span> <span class='function_name'>$3</span>(<span class='function_params'>$4</span>)") + append + "</strong>"; 45 return funcDump; 46 }, 47 print_r_by_type: function(obj){ 48 var varDump = "", 49 objType = typeof(obj); 50 switch(true){ 51 case obj === null: 52 varDump += functions.print_r_null(); 53 break; 54 case objType === "number" && isNaN(obj): 55 varDump += functions.print_r_nan(); 56 break; 57 case objType === "function": 58 varDump += functions.print_r_function(obj); 59 break; 60 case objType === "boolean": 61 varDump += functions.print_r_boolean(obj); 62 break; 63 case objType === "object": 64 varDump += functions.print_r_object(obj); 65 break; 66 default: 67 varDump += functions.print_r_simple(obj); 68 } 69 return varDump; 70 }, 71 72 fetchTemplate: function(data, template){ 73 var missing_fields = [], 74 html = template.replace(new RegExp("%([A-z_]+)%", "g"), function(param_tpl, param_name){ 75 if(data.hasOwnProperty(param_name)){ 76 return data[param_name]; 77 } 78 missing_fields.indexOf(param_name) === -1 && missing_fields.push(param_name); 79 return ""; 80 }); 81 (!$.empty(missing_fields) && console.warn("РобÑекÑе даннÑÑ Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ñ Ð¿Ð¾Ð»Ñ: " + missing_fields.join(", "))); 82 return html; 83 }, 84 fetchArrayTemplate: function(param_array, template){ 85 var html = "", 86 length = param_array.length, 87 i; 88 for(i = 0; i < length; i++){ 89 html += functions.fetchTemplate(param_array[i], template); 90 } 91 return html; 92 }, 93 fetchObjectTemplate: function(param_object, template){ 94 var html = "", 95 key; 96 for(key in param_object){ 97 if(param_object.hasOwnProperty(key)){ 98 html += functions.fetchTemplate(param_object[key], template); 99 } 100 } 101 return html; 102 } 103 }; 104 $this = { 105 print_r: function(varObj, to_id){ 106 if(to_id){ 107 $('#' + to_id).append(functions.print_r_by_type(varObj)); 108 return true; 109 } 110 return functions.print_r_by_type(varObj); 111 }, 112 fetchTemplate: function(data, template){ 113 return functions.fetchTemplate(data, template); 114 }, 115 fetchArrayTemplate: function(data, template){ 116 return functions.fetchArrayTemplate(data, template); 117 }, 118 fetchObjectTemplate: function(data, template){ 119 return functions.fetchObjectTemplate(data, template); 120 } 121 }; 122 return $this; 123}();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.