@chasemoskal/magical
Version:
web toolkit for lit apps
54 lines • 3.47 kB
JavaScript
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
};
var _MagicElement_renderCount, _MagicElement_stateCount, _MagicElement_teardowns, _MagicElement_setups, _MagicElement_use;
import { LitElement } from "lit";
import { setupUseObjectForElement } from "./element/setup-use-object-for-element.js";
export class MagicElement extends LitElement {
constructor() {
super(...arguments);
_MagicElement_renderCount.set(this, 0);
_MagicElement_stateCount.set(this, 0);
_MagicElement_teardowns.set(this, new Set());
_MagicElement_setups.set(this, new Set());
_MagicElement_use.set(this, setupUseObjectForElement({
rerender: () => this.requestUpdate(),
getRenderCount: () => __classPrivateFieldGet(this, _MagicElement_renderCount, "f"),
incrementStateCount: () => { var _a, _b; return __classPrivateFieldSet(this, _MagicElement_stateCount, (_b = __classPrivateFieldGet(this, _MagicElement_stateCount, "f"), _a = _b++, _b), "f"), _a; },
addSetup: initializer => __classPrivateFieldGet(this, _MagicElement_setups, "f").add(initializer),
}));
}
get use() {
return __classPrivateFieldGet(this, _MagicElement_use, "f");
}
firstUpdated() {
for (const initializer of __classPrivateFieldGet(this, _MagicElement_setups, "f")) {
const teardown = initializer(this);
if (teardown)
__classPrivateFieldGet(this, _MagicElement_teardowns, "f").add(teardown);
}
}
disconnectedCallback() {
for (const teardown of __classPrivateFieldGet(this, _MagicElement_teardowns, "f"))
teardown();
__classPrivateFieldGet(this, _MagicElement_teardowns, "f").clear();
__classPrivateFieldSet(this, _MagicElement_renderCount, 0, "f");
super.disconnectedCallback();
}
render() {
__classPrivateFieldSet(this, _MagicElement_stateCount, 0, "f");
const result = this.realize(__classPrivateFieldGet(this, _MagicElement_use, "f"));
__classPrivateFieldSet(this, _MagicElement_renderCount, __classPrivateFieldGet(this, _MagicElement_renderCount, "f") + 1, "f");
return result;
}
}
_MagicElement_renderCount = new WeakMap(), _MagicElement_stateCount = new WeakMap(), _MagicElement_teardowns = new WeakMap(), _MagicElement_setups = new WeakMap(), _MagicElement_use = new WeakMap();
//# sourceMappingURL=element.js.map