@surface/custom-element
Version:
Provides support of directives and data binding on custom elements.
13 lines (12 loc) • 492 B
JavaScript
export const PROTOTYPE_METADATA = Symbol("custom-element:prototype-metadata");
export default class PrototypeMetadata {
static from(target) {
if (!target.hasOwnProperty(PROTOTYPE_METADATA)) {
Reflect.defineProperty(target, PROTOTYPE_METADATA, { configurable: false, enumerable: false, value: new PrototypeMetadata() });
}
return Reflect.get(target, PROTOTYPE_METADATA);
}
inherit() {
return new PrototypeMetadata();
}
}