@rayburst/types
v0.1.9
Published
Shared types and schemas for Rayburst
Maintainers
Readme
@rayburst/types
Shared TypeScript types and Zod schemas for Rayburst code visualization and dependency analysis platform.
Installation
npm install @rayburst/typesUsage
import {
AnalysisNode,
AnalysisEdge,
PlanData,
AnalysisResult,
ProjectMetadata,
BranchMetadata
} from '@rayburst/types';Type Definitions
Node Types
Supports the following node types:
component- React componentsfunction- Functionsstate- State declarations (useState, etc.)api- API endpointsconditional- Conditional logic (if/else)ternary- Ternary expressionsswitch- Switch statementstry-catch- Try/catch blockstask- Task nodes
Node Schema
type AnalysisNode = {
id: string;
type: 'component' | 'function' | 'state' | 'api' | 'conditional' | 'ternary' | 'switch' | 'try-catch' | 'task';
position: { x: number; y: number };
data: {
label: string;
description?: string;
// Type-specific fields...
};
};Edge Schema
type AnalysisEdge = {
id: string;
source: string;
target: string;
type: string;
label?: string;
sourceHandle?: string;
targetHandle?: string;
};PlanData Schema
type PlanData = {
nodes: AnalysisNode[];
edges: AnalysisEdge[];
};AnalysisResult Schema
type AnalysisResult = {
project: ProjectMetadata;
branches: BranchMetadata[];
planData: Record<string, PlanData>;
analyzedAt: string;
logs?: string[];
};Validation
All schemas include Zod validators for runtime type checking:
import { NodeSchema, EdgeSchema, AnalysisResultSchema } from '@rayburst/types';
// Validate data at runtime
const validatedNode = NodeSchema.parse(nodeData);
const validatedResult = AnalysisResultSchema.parse(analysisData);License
MIT
