@surface/custom-element
Version:
Provides support of directives and data binding on custom elements.
13 lines (12 loc) • 517 B
JavaScript
import observe from "../observe.js";
export default function textNodeFactory(expression, observables) {
return () => {
const node = document.createTextNode("");
const activator = (_parent, _host, scope) => {
const listener = () => void (node.nodeValue = expression(scope));
const subscription = observe(scope, observables, listener, false);
return { dispose: () => subscription.unsubscribe() };
};
return [node, activator];
};
}