UNPKG

@dark-engine/core

Version:

The lightweight and powerful UI rendering engine without dependencies and written in TypeScript (Browser, Node.js, Android, iOS, Windows, Linux, macOS)

45 lines (44 loc) 1.45 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); exports.__useLoc = exports.__useInBoundary = exports.__useInSuspense = exports.__useSSR = exports.__useCursor = void 0; const walk_1 = require('../walk'); const platform_1 = require('../platform'); const scope_1 = require('../scope'); const use_memo_1 = require('../use-memo'); function useCursor() { return (0, scope_1.$$scope)().getCursor(); } exports.__useCursor = useCursor; function useSSR() { const isServer = (0, platform_1.detectIsServer)(); const isHydration = (0, platform_1.detectIsHydration)(); const isSSR = isServer || isHydration; return { isServer, isHydration, isSSR, }; } exports.__useSSR = useSSR; function useInSuspense() { const cursor = useCursor(); const suspense = (0, use_memo_1.useMemo)(() => (0, walk_1.resolveSuspense)(cursor), [cursor]); return Boolean(suspense); } exports.__useInSuspense = useInSuspense; function useInBoundary() { const cursor = useCursor(); const boundary = (0, use_memo_1.useMemo)(() => (0, walk_1.resolveBoundary)(cursor), [cursor]); return Boolean(boundary); } exports.__useInBoundary = useInBoundary; function useLoc() { const rootId = (0, scope_1.getRootId)(); const cursor = useCursor(); const { hook } = cursor; const { idx } = hook; const loc = (0, walk_1.createLoc)(rootId, idx, hook); return loc; } exports.__useLoc = useLoc; //# sourceMappingURL=internal.js.map