UNPKG

@tanstack/angular-query-experimental

Version:

Signals for managing, caching and syncing asynchronous and remote data in Angular

30 lines (29 loc) 799 B
import { untracked, computed } from "@angular/core"; function signalProxy(inputSignal) { const internalState = {}; return new Proxy(internalState, { get(target, prop) { const computedField = target[prop]; if (computedField) return computedField; const targetField = untracked(inputSignal)[prop]; if (typeof targetField === "function") return targetField; return target[prop] = computed(() => inputSignal()[prop]); }, has(_, prop) { return !!untracked(inputSignal)[prop]; }, ownKeys() { return Reflect.ownKeys(untracked(inputSignal)); }, getOwnPropertyDescriptor() { return { enumerable: true, configurable: true }; } }); } export { signalProxy }; //# sourceMappingURL=signal-proxy.mjs.map