@hydro-project/hydroscope
Version:
React-based graph visualization library for Hydro dataflow programs
218 lines • 5.42 kB
TypeScript
/**
* JSON Schema Documentation Generator
*
* AUTO-GENERATED - DO NOT EDIT MANUALLY
* Last updated: 2025-08-19T20:20:04.673Z
* Source: JSONParser.ts interfaces
*/
export interface GroupingOptionSchema {
id: string;
name: string;
}
export interface ParseResultSchema {
state: any;
metadata: {
selectedGrouping: string | null;
nodeCount: number;
edgeCount: number;
containerCount: number;
availableGroupings: any[];
styleConfig?: Record<string, any>;
edgeStyleConfig?: {
propertyMappings: Record<string, any>;
defaultStyle: any;
combinationRules: any;
};
nodeTypeConfig?: {
defaultType?: string;
types?: Array<{
id: string;
label: string;
colorIndex: number;
}>;
};
};
}
export interface ValidationResultSchema {
isValid: boolean;
errors: string[];
warnings: string[];
nodeCount: number;
edgeCount: number;
hierarchyCount: number;
}
export interface ParserOptionsSchema {
validateData?: boolean;
strictMode?: boolean;
defaultNodeStyle?: any;
defaultEdgeStyle?: any;
}
export interface RawNodeSchema {
id: string;
semanticTags?: string[];
[key: string]: any;
}
export interface RawEdgeSchema {
id: string;
source: string;
target: string;
semanticTags?: string[];
edgeProperties?: string[];
[key: string]: any;
}
export interface RawHierarchySchema {
id: string;
name: string;
groups: Record<string, string[]>;
}
export interface RawHierarchyChoiceSchema {
id: string;
name: string;
children?: RawHierarchyItemSchema[];
}
export interface RawHierarchyItemSchema {
id: string;
name: string;
children?: RawHierarchyItemSchema[];
}
export interface RawGraphDataSchema {
nodes: RawNodeSchema[];
edges: RawEdgeSchema[];
hierarchies?: RawHierarchySchema[];
hierarchyChoices?: RawHierarchyChoiceSchema[];
nodeAssignments?: Record<string, Record<string, string>>;
styleConfig?: {
edgeStyles?: Record<string, any>;
nodeStyles?: Record<string, any>;
};
edgeStyleConfig?: {
propertyMappings: Record<string, any>;
defaultStyle: any;
combinationRules: any;
};
nodeTypeConfig?: {
defaultType?: string;
types?: Array<{
id: string;
label: string;
colorIndex: number;
}>;
};
metadata?: Record<string, any>;
}
/**
* Generate JSON schema documentation from TypeScript interfaces
* AUTO-GENERATED from actual parser interfaces
*/
export declare function generateSchemaDocumentation(): {
requiredExample: string;
optionalExample: string;
completeExample: string;
description: string;
};
/**
* Generate a complete, valid example JSON that can be used as a working sample
*/
export declare function generateCompleteExample(): {
nodes: ({
id: string;
nodeType: string;
fullLabel: string;
shortLabel: string;
semanticTags: string[];
data: {
locationId: number;
locationType: string;
backtrace: {
file: string;
fn: string;
line: number;
}[];
};
label?: undefined;
} | {
id: string;
nodeType: string;
fullLabel: string;
shortLabel: string;
label: string;
semanticTags: string[];
data: {
locationId: number;
locationType: string;
backtrace?: undefined;
};
} | {
id: string;
nodeType: string;
fullLabel: string;
shortLabel: string;
semanticTags: string[];
data?: undefined;
label?: undefined;
})[];
edges: {
id: string;
source: string;
target: string;
label: string;
semanticTags: string[];
}[];
hierarchyChoices: {
id: string;
name: string;
children: {
id: string;
name: string;
}[];
}[];
nodeAssignments: {
by_layer: {
load_balancer: string;
web_server: string;
database: string;
cache: string;
};
by_criticality: {
web_server: string;
database: string;
cache: string;
load_balancer: string;
};
};
edgeStyleConfig: {
propertyMappings: {
Bounded: string;
Keyed: string;
Network: string;
NoOrder: string;
TotalOrder: string;
Unbounded: string;
};
combinationRules: {
mutualExclusions: never[];
visualGroups: {};
};
};
nodeTypeConfig: {
defaultType: string;
types: {
id: string;
label: string;
colorIndex: number;
}[];
};
legend: {
title: string;
items: {
label: string;
type: string;
}[];
};
};
/**
* Version information for schema tracking
*/
export declare const SCHEMA_VERSION = "v4.0.0";
export declare const LAST_UPDATED = "2025-08-19T20:20:04.673Z";
//# sourceMappingURL=generateJSONSchema.d.ts.map