import { isFilled, Message, MessageType } from "silentium"; /** * Didn't respond if new value Of baseSrc equals to old value * https://silentium-lab.github.io/silentium-components/#/behaviors/memo */ export function Memo($base: MessageType) { return Message(function MemoImpl(r) { let last: T | null = null; $base.then(function memoBaseSub(v) { if (v !== last && isFilled(v)) { r(v); last = v; } }); }); }