(componentEl)
| 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("-")) { |
no test coverage detected