tracked
Version:
A 300 byte @tracked property decorator for Preact.
2 lines (1 loc) • 308 B
JavaScript
function tracked(t,e,i){function n(){var t=this;return Object.defineProperty(this,e,{configurable:!0,get:function(){return t.state[e]},set:function(i){r[e]=i,t.setState(r)}}),this.state[e]=i.initializer()}var r={};return{configurable:!0,set:function(t){n.call(this),this[e]=t},get:n}}module.exports=tracked;