MCPcopy
hub / github.com/plouc/nivo / generateNetworkData

Function generateNetworkData

packages/generators/src/network.ts:16–84  ·  view source on GitHub ↗
({
    rootSize = 32,
    midSize = 24,
    leafSize = 12,
    minMidNodes = 5,
    maxMidNodes = 11,
    minLeaves = 3,
    maxLeaves = 9,
}: {
    rootSize?: number
    midSize?: number
    leafSize?: number
    minMidNodes?: number
    maxMidNodes?: number
    minLeaves?: number
    maxLeaves?: number
} = {})

Source from the content-addressed store, hash-verified

14}
15
16export const generateNetworkData = ({
17 rootSize = 32,
18 midSize = 24,
19 leafSize = 12,
20 minMidNodes = 5,
21 maxMidNodes = 11,
22 minLeaves = 3,
23 maxLeaves = 9,
24}: {
25 rootSize?: number
26 midSize?: number
27 leafSize?: number
28 minMidNodes?: number
29 maxMidNodes?: number
30 minLeaves?: number
31 maxLeaves?: number
32} = {}) => {
33 const rootNode = {
34 id: 'Node 0',
35 height: 2,
36 size: rootSize,
37 color: 'rgb(244, 117, 96)',
38 }
39 let nodes = Array.from({ length: random(minMidNodes, maxMidNodes) }, (_, k) => ({
40 id: `Node ${k + 1}`,
41 height: 1,
42 size: midSize,
43 color: 'rgb(97, 205, 187)',
44 }))
45
46 const links: Link[] = []
47 const extraNodes: ExtraNode[] = []
48 nodes.forEach(source => {
49 links.push({
50 source: 'Node 0',
51 target: source.id,
52 distance: 80,
53 })
54 nodes.forEach(target => {
55 if (Math.random() < 0.04) {
56 links.push({
57 source: source.id,
58 target: target.id,
59 distance: 80,
60 })
61 }
62 })
63 Array.from({ length: random(minLeaves, maxLeaves) }, (_, k) => {
64 extraNodes.push({
65 id: `${source.id}.${k}`,
66 height: 0,
67 size: leafSize,
68 color: 'rgb(232, 193, 160)',
69 })
70 links.push({
71 source: source.id,
72 target: `${source.id}.${k}`,
73 distance: 50,

Callers 4

generateDataFunction · 0.90
generateDataFunction · 0.90

Calls 1

randomFunction · 0.85

Tested by

no test coverage detected