UNPKG

@tanstack/angular-virtual

Version:

Headless UI for virtualizing scrollable elements in Angular

51 lines (50 loc) 1.6 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const core = require("@angular/core"); function signalProxy(inputSignal, methodsToPassThrough, attributesToTransformToSignals, methodsToTrack, methodsToTransformToSignals) { const callableTarget = (() => inputSignal()); return new Proxy(callableTarget, { apply() { return inputSignal(); }, get(target, property) { const fieldValue = target[property]; if (fieldValue !== void 0) return fieldValue; if (methodsToPassThrough.includes(property)) { return target[property] = (...args) => core.untracked(inputSignal)[property](...args); } if (methodsToTransformToSignals.includes( property )) { return target[property] = core.computed( () => inputSignal()[property]() ); } if (methodsToTrack.includes(property)) { return target[property] = (...args) => inputSignal()[property](...args); } if (attributesToTransformToSignals.includes( property )) { return target[property] = core.computed( () => inputSignal()[property] ); } return core.untracked(inputSignal)[property]; }, has(_, property) { return property in core.untracked(inputSignal); }, ownKeys() { return Reflect.ownKeys(core.untracked(inputSignal)); }, getOwnPropertyDescriptor() { return { enumerable: true, configurable: true }; } }); } exports.signalProxy = signalProxy; //# sourceMappingURL=proxy.cjs.map