'use strict'; // @ts-ignore import Converter from './src/utils/Converter'; const jsonMerger = require("json-merger"); //https://github.com/boschni/json-merger const Graph = require("./utils/graph-data-structure"); const _ = require('underscore'); export default class OracleSchemaGraph { //Get the array of same table names (edges) from two nodes getEdges = (node1, node2) => { let edgeNames = node1.filter(function (val) { return node2.indexOf(val) != -1; }); return edgeNames; } //Get unique edges names //Purpose: so one edge as the key can have nested target and source getUniqueEdgeNames = (edgesAndNodesCombined: Array) => { let edgeNames = []; for(let i=0; i { //console.log(tableWithColObject); let edgesAndNodes = []; let edgesAndNodesCombined = []; let edgeName:string; //foreign key column name let sourceNode:string; //foreign key table name let targetNode:string; //primary key table name for(let i=0; i, edgesAndNodesCombined: Array) => { let serializedLinks; let edgesJson = {edges: {}}; let sourceNode; let targetNode; let edgeName:string = ''; let graph = new Graph(); for (let i=0; igetForeignKeyReferences let edgesAndNodesCombined = oracleSchemaGraph.getEdgesAndNodes(foreignKeyReferences['rows']); //console.log(edgesAndNodesCombined); let uniqueEdgeNames = oracleSchemaGraph.getUniqueEdgeNames(edgesAndNodesCombined); //console.log(uniqueEdgeNames); let nodesGraph = { nodes: { } }; nodesGraph.nodes = extractedSchema; //console.log(nodesGraph); let edgesJson = oracleSchemaGraph.getEdgesGraph(uniqueEdgeNames,edgesAndNodesCombined); //console.log(JSON.stringify(edgesJson,null,4)); let schemaGraph = jsonMerger.mergeObjects([nodesGraph, edgesJson]); //console.log(JSON.stringify(schemaGraph,null,4)); //get the Ed version of the edge graph const converter = new Converter(); let edEdgesGraph = converter.convertToEdEdgesGraph(uniqueEdgeNames, edgesJson); //console.log(JSON.stringify(edEdgesGraph,null,4)); //to comply with Ed Schema Graph let schemaEdGraph = jsonMerger.mergeObjects([nodesGraph, edEdgesGraph]); console.log(JSON.stringify(schemaEdGraph,null,4)); */