Update from Vibe Studio

This commit is contained in:
Vibe Studio
2026-01-16 01:51:36 +00:00
parent a4605e311a
commit 58905d02c2
28599 changed files with 2179074 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
import type { MutableRefObject, RefObject } from 'react';
type Callback<T> = (currentRef: T) => void;
export declare function useRefCallback<T>(callback: Callback<MutableRefObject<T>>, initialValue: T): MutableRefObject<T>;
export declare function useRefCallback<T>(callback: Callback<RefObject<T>>, initialValue: T | null): RefObject<T>;
export declare function useRefCallback<T = undefined>(callback: Callback<MutableRefObject<T | undefined>>): MutableRefObject<T | undefined>;
export {};

View File

@@ -0,0 +1,24 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.useRefCallback = useRefCallback;
var _react = require("react");
function useRefCallback(callback, initialValue) {
var ref = (0, _react.useMemo)(function () {
var defaultValue = {
current: initialValue
};
return new Proxy(defaultValue, {
set: function set(target, prop, newValue) {
if (!Object.is(target[prop], newValue)) {
target[prop] = newValue;
callback(ref);
}
return true;
}
});
}, []);
return ref;
}