MCPcopy
hub / github.com/chartdb/chartdb / generateIdsMapFromDiagram

Function generateIdsMapFromDiagram

src/lib/clone.ts:30–62  ·  view source on GitHub ↗
(
    diagram: Diagram,
    generateId: () => string = defaultGenerateId
)

Source from the content-addressed store, hash-verified

28};
29
30const generateIdsMapFromDiagram = (
31 diagram: Diagram,
32 generateId: () => string = defaultGenerateId
33): Map<string, string> => {
34 let idsMap = new Map<string, string>();
35 diagram.tables?.forEach((table) => {
36 const tableIdsMap = generateIdsMapFromTable(table, generateId);
37
38 idsMap = new Map([...idsMap, ...tableIdsMap]);
39 });
40
41 diagram.relationships?.forEach((relationship) => {
42 idsMap.set(relationship.id, generateId());
43 });
44
45 diagram.dependencies?.forEach((dependency) => {
46 idsMap.set(dependency.id, generateId());
47 });
48
49 diagram.areas?.forEach((area) => {
50 idsMap.set(area.id, generateId());
51 });
52
53 diagram.notes?.forEach((note) => {
54 idsMap.set(note.id, generateId());
55 });
56
57 diagram.customTypes?.forEach((customType) => {
58 idsMap.set(customType.id, generateId());
59 });
60
61 return idsMap;
62};
63
64export const cloneTable = (
65 table: DBTable,

Callers 1

cloneDiagramFunction · 0.85

Calls 2

generateIdFunction · 0.90
generateIdsMapFromTableFunction · 0.85

Tested by

no test coverage detected