MCPcopy Create free account
hub / github.com/bigskysoftware/_hyperscript / createAttrs

Function createAttrs

www/js/ext/component.js:682–708  ·  view source on GitHub ↗
(componentEl)

Source from the content-addressed store, hash-verified

680 return parent ? runtime.makeContext(parent, null, parent, null) : null;
681 }
682 function createAttrs(componentEl) {
683 return new Proxy({ _hsSkipTracking: true }, {
684 get: function(_, prop) {
685 if (prop === "_hsSkipTracking") return true;
686 if (typeof prop !== "string" || prop.startsWith("_")) return void 0;
687 var expr = parseArg(componentEl, prop);
688 if (!expr) return void 0;
689 var ctx = parentContext(componentEl);
690 return ctx ? expr.evaluate(ctx) : void 0;
691 },
692 set: function(_, prop, value) {
693 var expr = parseArg(componentEl, prop);
694 if (!expr || !expr.set) return false;
695 var ctx = parentContext(componentEl);
696 if (!ctx) return false;
697 var lhs = {};
698 if (expr.lhs) {
699 for (var key in expr.lhs) {
700 var e = expr.lhs[key];
701 lhs[key] = e && e.evaluate ? e.evaluate(ctx) : e;
702 }
703 }
704 expr.set(ctx, lhs, value);
705 return true;
706 }
707 });
708 }
709 function registerComponent(templateEl, componentScript) {
710 const tagName = templateEl.getAttribute("component");
711 if (!tagName.includes("-")) {

Callers 1

connectedCallbackMethod · 0.70

Calls 4

parseArgFunction · 0.70
parentContextFunction · 0.70
evaluateMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected