MCPcopy Index your code
hub / github.com/totaljs/framework / stringifyData

Function stringifyData

graphdb.js:2454–2500  ·  view source on GitHub ↗
(schema, doc)

Source from the content-addressed store, hash-verified

2452}
2453
2454function stringifyData(schema, doc) {
2455
2456 var output = '';
2457 var esc = false;
2458 var size = 0;
2459
2460 for (var i = 0; i < schema.keys.length; i++) {
2461 var key = schema.keys[i];
2462 var meta = schema.meta[key];
2463 var val = doc[key];
2464
2465 switch (meta.type) {
2466 case 1: // String
2467 val = val ? val : '';
2468 size += 4;
2469 break;
2470 case 2: // Number
2471 val = (val || 0);
2472 size += 2;
2473 break;
2474 case 3: // Boolean
2475 val = (val == true ? '1' : '0');
2476 break;
2477 case 4: // Date
2478 // val = val ? val.toISOString() : '';
2479 val = val ? val.getTime() : '';
2480 !val && (size += 13);
2481 break;
2482 case 5: // Object
2483 val = val ? JSON.stringify(val) : '';
2484 size += 4;
2485 break;
2486 }
2487
2488 if (!esc && (meta.type === 1 || meta.type === 5)) {
2489 val += '';
2490 if (REGTESCAPETEST.test(val)) {
2491 esc = true;
2492 val = val.replace(REGTESCAPE, regtescape);
2493 }
2494 }
2495
2496 output += '|' + val;
2497 }
2498
2499 return (esc ? '*' : '+') + output;
2500}
2501
2502function parseData(schema, lines, cache) {
2503

Callers 3

addDocumentFunction · 0.85
updDocumentFunction · 0.85
processFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected