import { useSolidFlow } from './useReactFlow'; import type { OnInit, Node, Edge } from '../types'; import { useRef } from '../utils/hooks'; import { createEffect } from 'solid-js'; /** * Hook for calling onInit handler. * * @internal */ export function useOnInitHandler( onInit: () => OnInit | undefined ) { const rfInstance = useSolidFlow(); const isInitialized = useRef(false); createEffect(() => { const onInitFunc = onInit(); if (!isInitialized.current && rfInstance.viewportInitialized() && onInitFunc) { setTimeout(() => onInitFunc(rfInstance), 1); isInitialized.current = true; } }); }