MCPcopy Index your code
hub / github.com/tinyplex/tinybase / setDatabase

Function setDatabase

test/unit/persisters/common/databases.ts:544–578  ·  view source on GitHub ↗
(db: Database, dump: DumpIn)

Source from the content-addressed store, hash-verified

542 };
543
544 const setDatabase = async (db: Database, dump: DumpIn) => {
545 await cmd(db, 'BEGIN');
546 await Promise.all(
547 Object.entries(dump).map(async ([name, [sql, rows]]) => {
548 await cmd(db, sql);
549 await Promise.all(
550 rows.map(async (row) => {
551 Object.entries(row).forEach(([column, value], index) => {
552 if (index == 0 || !jsonValues) {
553 row[column] = value;
554 } else {
555 row[column] = JSON.stringify(value);
556 }
557 });
558 await cmd(
559 db,
560 'INSERT INTO ' +
561 escapeId(name) +
562 '(' +
563 Object.keys(row)
564 .map((cellId) => escapeId(cellId))
565 .join(',') +
566 ') VALUES (' +
567 Object.keys(row)
568 .map((_, index) => '$' + (index + 1))
569 .join(',') +
570 ')',
571 Object.values(row),
572 );
573 }),
574 );
575 }),
576 );
577 await cmd(db, 'END');
578 };
579
580 return [getDatabase, setDatabase];
581};

Callers 3

tabular.test.tsFile · 0.85
json.test.tsFile · 0.85

Calls 1

escapeIdFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…