@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
JavaScript
;
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