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

Function createAttrs

www/js/_hyperscript-max.js:11093–11119  ·  view source on GitHub ↗
(componentEl)

Source from the content-addressed store, hash-verified

11091 return parent ? runtime2.makeContext(parent, null, parent, null) : null;
11092 }
11093 function createAttrs(componentEl) {
11094 return new Proxy({ _hsSkipTracking: true }, {
11095 get: function(_, prop) {
11096 if (prop === "_hsSkipTracking") return true;
11097 if (typeof prop !== "string" || prop.startsWith("_")) return void 0;
11098 var expr = parseArg(componentEl, prop);
11099 if (!expr) return void 0;
11100 var ctx = parentContext(componentEl);
11101 return ctx ? expr.evaluate(ctx) : void 0;
11102 },
11103 set: function(_, prop, value) {
11104 var expr = parseArg(componentEl, prop);
11105 if (!expr || !expr.set) return false;
11106 var ctx = parentContext(componentEl);
11107 if (!ctx) return false;
11108 var lhs = {};
11109 if (expr.lhs) {
11110 for (var key in expr.lhs) {
11111 var e = expr.lhs[key];
11112 lhs[key] = e && e.evaluate ? e.evaluate(ctx) : e;
11113 }
11114 }
11115 expr.set(ctx, lhs, value);
11116 return true;
11117 }
11118 });
11119 }
11120 function registerComponent(templateEl, componentScript) {
11121 const tagName = templateEl.getAttribute("component");
11122 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