MCPcopy Create free account
hub / github.com/SimHacker/micropolis / str

Function str

turbogears/micropolis/htdocs/static/javascript/all_pretty.js:325–367  ·  view source on GitHub ↗
(key, holder)

Source from the content-addressed store, hash-verified

323 }) + '"' : '"' + string + '"';
324 }
325 function str(key, holder) {
326 var i, k, v, length, mind = gap,
327 partial, value = holder[key];
328 if (value && typeof value === 'object' && typeof value.toJSON === 'function') value = value.toJSON(key);
329 if (typeof rep === 'function') value = rep.call(holder, key, value);
330 switch (typeof value) {
331 case 'string':
332 return quote(value);
333 case 'number':
334 return isFinite(value) ? String(value) : 'null';
335 case 'boolean':
336 case 'null':
337 return String(value);
338 case 'object':
339 if (!value) return 'null';
340 gap += indent;
341 partial = [];
342 if (Object.prototype.toString.apply(value) === '[object Array]') {
343 length = value.length;
344 for (i = 0; i < length; i += 1) partial[i] = str(i, value) || 'null';
345 v = partial.length === 0 ? '[]' : gap ? '[\n' + gap + partial.join(',\n' + gap) + '\n' + mind + ']' : '[' + partial.join(',') + ']';
346 gap = mind;
347 return v;
348 }
349 if (rep && typeof rep === 'object') {
350 length = rep.length;
351 for (i = 0; i < length; i += 1) {
352 k = rep[i];
353 if (typeof k === 'string') {
354 v = str(k, value);
355 if (v) partial.push(quote(k) + (gap ? ': ' : ':') + v);
356 }
357 }
358 } else
359 for (k in value) if (Object.hasOwnProperty.call(value, k)) {
360 v = str(k, value);
361 if (v) partial.push(quote(k) + (gap ? ': ' : ':') + v);
362 }
363 v = partial.length === 0 ? '{}' : gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' + mind + '}' : '{' + partial.join(',') + '}';
364 gap = mind;
365 return v;
366 }
367 }
368 if (typeof JSON.stringify !== 'function') JSON.stringify = function (value, replacer, space) {
369 var i;
370 gap = '';

Callers 1

all_pretty.jsFile · 0.70

Calls 2

quoteFunction · 0.70
applyMethod · 0.45

Tested by

no test coverage detected