1import React from "react";
3const useEqCache = (eq, a) => {
4 const memoRef = React.useRef(a);
5 if (memoRef.current !== a && !eq(memoRef.current, a)) {
8 return memoRef.current;
11export function reactChildrenToArray(children) {
12 return React.Children.toArray(children);
15export const memo_ = React.memo;
16export const memoEq_ = React.memo;
18export function useState_(tuple, initialState) {
19 const [state, setState] = React.useState(
20 typeof initialState === "function" ? () => initialState : initialState
22 if (!setState.hasOwnProperty("$$reactBasicHooks$$cachedSetState")) {
23 setState.$$reactBasicHooks$$cachedSetState = (update) => () =>
26 return tuple(state, setState.$$reactBasicHooks$$cachedSetState);
29export function useEffect_(eq, deps, effect) {
30 const memoizedKey = useEqCache(eq, deps);
31 React.useEffect(effect, [memoizedKey]);
34export function useEffectAlways_(effect) {
35 return React.useEffect(effect);
38export function useLayoutEffect_(eq, deps, effect) {
39 const memoizedKey = useEqCache(eq, deps);
40 React.useLayoutEffect(effect, [memoizedKey]);
43export function useLayoutEffectAlways_(effect) {
44 return React.useLayoutEffect(effect);
47export function useInsertionEffect_(eq, deps, effect) {
48 const memoizedKey = useEqCache(eq, deps);
49 React.useInsertionEffect(effect, [memoizedKey]);
52export function useInsertionEffectAlways_(effect) {
53 React.useInsertionEffect(effect);
56export function useReducer_(tuple, reducer, initialState) {
57 const [state, dispatch] = React.useReducer(reducer, initialState);
58 if (!dispatch.hasOwnProperty("$$reactBasicHooks$$cachedDispatch")) {
59 dispatch.$$reactBasicHooks$$cachedDispatch = (action) => () =>
62 return tuple(state, dispatch.$$reactBasicHooks$$cachedDispatch);
65export const useRef_ = React.useRef;
67export function readRef_(ref) {
71export function writeRef_(ref, a) {
75export const useContext_ = React.useContext;
76export { useEqCache as useEqCache_ };
78export function useMemo_(eq, deps, computeA) {
79 const memoizedKey = useEqCache(eq, deps);
80 return React.useMemo(computeA, [memoizedKey]);
83export const useDebugValue_ = React.useDebugValue;
85export const useId_ = React.useId
87export function useTransition_(tuple) {
88 const [isPending, startTransitionImpl] = React.useTransition()
89 const startTransition = (update) => () => startTransitionImpl(update)
90 return tuple(isPending, startTransition);
93export const useDeferredValue_ = React.useDeferredValue
95export const useSyncExternalStore2_ = React.useSyncExternalStore
96export const useSyncExternalStore3_ = React.useSyncExternalStore
98export function unsafeSetDisplayName(displayName, component) {
99 component.displayName = displayName;
100 component.toString = () => displayName;
104export function displayName(component) {
105 return typeof component === "string"
107 : component.displayName || "[unknown]";
110export function useOptimistic_(tuple, state, updateFn) {
111 const [optimisticState, addOptimistic] = React.useOptimistic(state, updateFn);
112 if (!addOptimistic.hasOwnProperty("$$reactBasicHooks$$cachedAddOptimistic")) {
113 addOptimistic.$$reactBasicHooks$$cachedAddOptimistic = (action) => () =>
114 addOptimistic(action);
116 return tuple(optimisticState, addOptimistic.$$reactBasicHooks$$cachedAddOptimistic);
119export function useActionState_(tuple3, fn, initialState) {
120 const [state, formAction, isPending] = React.useActionState(
124 if (!formAction.hasOwnProperty("$$reactBasicHooks$$cachedFormAction")) {
125 formAction.$$reactBasicHooks$$cachedFormAction = (formData) => () =>
126 formAction(formData);
128 return tuple3(state, formAction.$$reactBasicHooks$$cachedFormAction, isPending);
131export function useActionStateWithPermalink_(tuple3, fn, initialState, permalink) {
132 const [state, formAction, isPending] = React.useActionState(
137 if (!formAction.hasOwnProperty("$$reactBasicHooks$$cachedFormAction")) {
138 formAction.$$reactBasicHooks$$cachedFormAction = (formData) => () =>
139 formAction(formData);
141 return tuple3(state, formAction.$$reactBasicHooks$$cachedFormAction, isPending);
144export const useEffectEvent_ = React.useEffectEvent || React.experimental_useEffectEvent;
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list