Files
rose-ash/shared/static/wasm/sx/harness-web.sxbc.json
giles 408eca1cb0 Set arity in native compiler and bytecode modules
Sx_compiler.compile/compile_module now emit arity (local slot count) in
the bytecode dict. MCP sx_build_bytecode serializes arity into .sxbc.json.
sx-platform.js passes arity through to K.loadModule(). Without this, the
VM allocated only 16 local slots per module frame.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 14:31:55 +00:00

1 line
16 KiB
JSON

{"magic":"SXBC","version":1,"hash":"0e39f01af5f0164d","module":{"arity":0,"bytecode":[51,1,0,128,0,0,5,51,3,0,128,2,0,5,51,5,0,128,4,0,5,51,7,0,128,6,0,5,51,9,0,128,8,0,5,51,11,0,128,10,0,5,51,13,0,128,12,0,5,51,15,0,128,14,0,5,51,17,0,128,16,0,5,51,19,0,128,18,0,5,51,21,0,128,20,0,5,51,23,0,128,22,0,5,51,25,0,128,24,0,5,51,27,0,128,26,0,5,51,29,0,128,28,0,5,51,31,0,128,30,0,5,51,33,0,128,32,0,5,51,35,0,128,34,0,5,51,37,0,128,36,0,5,51,39,0,128,38,0,5,51,41,0,128,40,0,5,51,43,0,128,42,0,5,51,45,0,128,44,0,5,51,47,0,128,46,0,5,51,49,0,128,48,0,5,51,51,0,128,50,0,5,51,53,0,128,52,0,50],"constants":[{"t":"s","v":"mock-element"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[1,0,0,52,1,0,0,1,2,0,65,0,0,1,3,0,52,1,0,0,1,4,0,20,4,0,1,5,0,1,6,0,1,7,0,65,0,0,20,9,0,33,12,0,1,9,0,20,9,0,65,1,0,32,3,0,65,0,0,20,10,0,33,12,0,1,10,0,20,10,0,65,1,0,32,3,0,65,0,0,52,8,0,3,65,6,0,50],"constants":[{"t":"s","v":"children"},{"t":"s","v":"list"},{"t":"s","v":"listeners"},{"t":"s","v":"event-log"},{"t":"s","v":"tag"},{"t":"s","v":"text"},{"t":"s","v":""},{"t":"s","v":"attrs"},{"t":"s","v":"merge"},{"t":"s","v":"class"},{"t":"s","v":"id"}]}},{"t":"s","v":"mock-set-text!"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,1,2,0,20,2,0,52,0,0,3,50],"constants":[{"t":"s","v":"dict-set!"},{"t":"s","v":"el"},{"t":"s","v":"text"}]}},{"t":"s","v":"mock-append-child!"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,2,0,1,3,0,52,1,0,2,20,4,0,49,2,50],"constants":[{"t":"s","v":"append!"},{"t":"s","v":"get"},{"t":"s","v":"parent"},{"t":"s","v":"children"},{"t":"s","v":"child"}]}},{"t":"s","v":"mock-set-attr!"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,2,0,1,3,0,52,1,0,2,20,4,0,20,5,0,52,0,0,3,50],"constants":[{"t":"s","v":"dict-set!"},{"t":"s","v":"get"},{"t":"s","v":"el"},{"t":"s","v":"attrs"},{"t":"s","v":"name"},{"t":"s","v":"value"}]}},{"t":"s","v":"mock-get-attr"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,1,2,0,52,0,0,2,20,3,0,52,0,0,2,50],"constants":[{"t":"s","v":"get"},{"t":"s","v":"el"},{"t":"s","v":"attrs"},{"t":"s","v":"name"}]}},{"t":"s","v":"mock-add-listener!"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,1,2,0,52,0,0,2,17,3,20,2,0,20,5,0,52,4,0,2,52,3,0,1,33,17,0,20,2,0,20,5,0,52,7,0,0,52,6,0,3,32,1,0,2,5,20,8,0,20,2,0,20,5,0,52,0,0,2,20,9,0,49,2,50],"constants":[{"t":"s","v":"get"},{"t":"s","v":"el"},{"t":"s","v":"listeners"},{"t":"s","v":"not"},{"t":"s","v":"has-key?"},{"t":"s","v":"event-name"},{"t":"s","v":"dict-set!"},{"t":"s","v":"list"},{"t":"s","v":"append!"},{"t":"s","v":"handler"}]}},{"t":"s","v":"simulate-click"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,1,2,0,52,0,0,2,1,3,0,52,0,0,2,17,1,20,4,0,33,13,0,51,6,0,20,4,0,52,5,0,2,32,1,0,2,5,20,7,0,20,1,0,1,8,0,52,0,0,2,1,9,0,1,3,0,65,1,0,49,2,50],"constants":[{"t":"s","v":"get"},{"t":"s","v":"el"},{"t":"s","v":"listeners"},{"t":"s","v":"click"},{"t":"s","v":"handlers"},{"t":"s","v":"for-each"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,1,3,0,20,4,0,1,5,0,1,6,0,65,2,0,52,2,0,1,49,2,50],"constants":[{"t":"s","v":"cek-call"},{"t":"s","v":"h"},{"t":"s","v":"list"},{"t":"s","v":"target"},{"t":"s","v":"el"},{"t":"s","v":"type"},{"t":"s","v":"click"}]}},{"t":"s","v":"append!"},{"t":"s","v":"event-log"},{"t":"s","v":"type"}]}},{"t":"s","v":"simulate-input"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,1,2,0,20,2,0,48,3,5,20,1,0,1,4,0,52,3,0,2,1,5,0,52,3,0,2,17,2,20,6,0,33,13,0,51,8,0,20,6,0,52,7,0,2,32,1,0,2,5,20,9,0,20,1,0,1,10,0,52,3,0,2,1,2,0,20,2,0,1,11,0,1,5,0,65,2,0,49,2,50],"constants":[{"t":"s","v":"mock-set-attr!"},{"t":"s","v":"el"},{"t":"s","v":"value"},{"t":"s","v":"get"},{"t":"s","v":"listeners"},{"t":"s","v":"input"},{"t":"s","v":"handlers"},{"t":"s","v":"for-each"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,1,3,0,20,4,0,1,5,0,1,6,0,65,2,0,52,2,0,1,49,2,50],"constants":[{"t":"s","v":"cek-call"},{"t":"s","v":"h"},{"t":"s","v":"list"},{"t":"s","v":"target"},{"t":"s","v":"el"},{"t":"s","v":"type"},{"t":"s","v":"input"}]}},{"t":"s","v":"append!"},{"t":"s","v":"event-log"},{"t":"s","v":"type"}]}},{"t":"s","v":"simulate-event"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,1,2,0,52,0,0,2,20,3,0,52,0,0,2,17,3,20,4,0,33,13,0,51,6,0,20,4,0,52,5,0,2,32,1,0,2,5,20,7,0,20,1,0,1,8,0,52,0,0,2,1,9,0,20,9,0,1,10,0,20,3,0,65,2,0,49,2,50],"constants":[{"t":"s","v":"get"},{"t":"s","v":"el"},{"t":"s","v":"listeners"},{"t":"s","v":"event-name"},{"t":"s","v":"handlers"},{"t":"s","v":"for-each"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,1,3,0,20,4,0,1,5,0,20,5,0,1,6,0,20,7,0,65,3,0,52,2,0,1,49,2,50],"constants":[{"t":"s","v":"cek-call"},{"t":"s","v":"h"},{"t":"s","v":"list"},{"t":"s","v":"target"},{"t":"s","v":"el"},{"t":"s","v":"detail"},{"t":"s","v":"type"},{"t":"s","v":"event-name"}]}},{"t":"s","v":"append!"},{"t":"s","v":"event-log"},{"t":"s","v":"detail"},{"t":"s","v":"type"}]}},{"t":"s","v":"assert-text"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,1,2,0,52,0,0,2,17,2,20,3,0,20,4,0,20,5,0,1,7,0,20,5,0,1,8,0,20,4,0,1,9,0,52,6,0,5,49,3,50],"constants":[{"t":"s","v":"get"},{"t":"s","v":"el"},{"t":"s","v":"text"},{"t":"s","v":"assert="},{"t":"s","v":"actual"},{"t":"s","v":"expected"},{"t":"s","v":"str"},{"t":"s","v":"Expected text \""},{"t":"s","v":"\", got \""},{"t":"s","v":"\""}]}},{"t":"s","v":"assert-attr"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,2,0,48,2,17,3,20,3,0,20,4,0,20,5,0,1,7,0,20,2,0,1,8,0,20,5,0,1,9,0,20,4,0,1,10,0,52,6,0,7,49,3,50],"constants":[{"t":"s","v":"mock-get-attr"},{"t":"s","v":"el"},{"t":"s","v":"name"},{"t":"s","v":"assert="},{"t":"s","v":"actual"},{"t":"s","v":"expected"},{"t":"s","v":"str"},{"t":"s","v":"Expected attr "},{"t":"s","v":"=\""},{"t":"s","v":"\", got \""},{"t":"s","v":"\""}]}},{"t":"s","v":"assert-class"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,1,2,0,48,2,6,34,4,0,5,1,3,0,17,2,20,4,0,20,7,0,1,8,0,52,6,0,2,20,9,0,52,5,0,2,1,11,0,20,9,0,1,12,0,20,7,0,1,13,0,52,10,0,5,49,2,50],"constants":[{"t":"s","v":"mock-get-attr"},{"t":"s","v":"el"},{"t":"s","v":"class"},{"t":"s","v":""},{"t":"s","v":"assert"},{"t":"s","v":"contains?"},{"t":"s","v":"split"},{"t":"s","v":"classes"},{"t":"s","v":" "},{"t":"s","v":"class-name"},{"t":"s","v":"str"},{"t":"s","v":"Expected class \""},{"t":"s","v":"\" in \""},{"t":"s","v":"\""}]}},{"t":"s","v":"assert-no-class"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,1,2,0,48,2,6,34,4,0,5,1,3,0,17,2,20,4,0,20,8,0,1,9,0,52,7,0,2,20,10,0,52,6,0,2,52,5,0,1,1,12,0,20,10,0,1,13,0,20,8,0,1,14,0,52,11,0,5,49,2,50],"constants":[{"t":"s","v":"mock-get-attr"},{"t":"s","v":"el"},{"t":"s","v":"class"},{"t":"s","v":""},{"t":"s","v":"assert"},{"t":"s","v":"not"},{"t":"s","v":"contains?"},{"t":"s","v":"split"},{"t":"s","v":"classes"},{"t":"s","v":" "},{"t":"s","v":"class-name"},{"t":"s","v":"str"},{"t":"s","v":"Expected no class \""},{"t":"s","v":"\" but found in \""},{"t":"s","v":"\""}]}},{"t":"s","v":"assert-child-count"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,2,0,1,3,0,52,1,0,2,52,0,0,1,17,2,20,4,0,20,5,0,20,6,0,1,8,0,20,6,0,1,9,0,20,5,0,52,7,0,4,49,3,50],"constants":[{"t":"s","v":"len"},{"t":"s","v":"get"},{"t":"s","v":"el"},{"t":"s","v":"children"},{"t":"s","v":"assert="},{"t":"s","v":"actual"},{"t":"s","v":"n"},{"t":"s","v":"str"},{"t":"s","v":"Expected "},{"t":"s","v":" children, got "}]}},{"t":"s","v":"assert-event-fired"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,51,2,0,20,4,0,1,5,0,52,3,0,2,52,1,0,2,1,7,0,20,8,0,1,9,0,52,6,0,3,49,2,50],"constants":[{"t":"s","v":"assert"},{"t":"s","v":"some"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,2,0,1,3,0,52,1,0,2,20,4,0,52,0,0,2,50],"constants":[{"t":"s","v":"="},{"t":"s","v":"get"},{"t":"s","v":"e"},{"t":"s","v":"type"},{"t":"s","v":"event-name"}]}},{"t":"s","v":"get"},{"t":"s","v":"el"},{"t":"s","v":"event-log"},{"t":"s","v":"str"},{"t":"s","v":"Expected event \""},{"t":"s","v":"event-name"},{"t":"s","v":"\" to have been fired"}]}},{"t":"s","v":"assert-no-event"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,51,3,0,20,5,0,1,6,0,52,4,0,2,52,2,0,2,52,1,0,1,1,8,0,20,9,0,1,10,0,52,7,0,3,49,2,50],"constants":[{"t":"s","v":"assert"},{"t":"s","v":"not"},{"t":"s","v":"some"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,2,0,1,3,0,52,1,0,2,20,4,0,52,0,0,2,50],"constants":[{"t":"s","v":"="},{"t":"s","v":"get"},{"t":"s","v":"e"},{"t":"s","v":"type"},{"t":"s","v":"event-name"}]}},{"t":"s","v":"get"},{"t":"s","v":"el"},{"t":"s","v":"event-log"},{"t":"s","v":"str"},{"t":"s","v":"Expected event \""},{"t":"s","v":"event-name"},{"t":"s","v":"\" to NOT have been fired"}]}},{"t":"s","v":"event-fire-count"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[51,2,0,20,4,0,1,5,0,52,3,0,2,52,1,0,2,52,0,0,1,50],"constants":[{"t":"s","v":"len"},{"t":"s","v":"filter"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,2,0,1,3,0,52,1,0,2,20,4,0,52,0,0,2,50],"constants":[{"t":"s","v":"="},{"t":"s","v":"get"},{"t":"s","v":"e"},{"t":"s","v":"type"},{"t":"s","v":"event-name"}]}},{"t":"s","v":"get"},{"t":"s","v":"el"},{"t":"s","v":"event-log"}]}},{"t":"s","v":"make-web-harness"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,1,1,0,20,1,0,48,2,17,1,20,2,0,20,3,0,1,4,0,1,5,0,65,0,0,1,6,0,20,7,0,1,8,0,1,9,0,1,6,0,48,3,65,2,0,48,3,5,20,3,0,50],"constants":[{"t":"s","v":"make-harness"},{"t":"s","v":"platform"},{"t":"s","v":"harness-set!"},{"t":"s","v":"h"},{"t":"s","v":"dom"},{"t":"s","v":"elements"},{"t":"s","v":"root"},{"t":"s","v":"mock-element"},{"t":"s","v":"div"},{"t":"s","v":"id"}]}},{"t":"s","v":"is-renderable?"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,52,0,0,1,33,4,0,3,32,127,0,20,1,0,52,2,0,1,33,4,0,3,32,113,0,20,1,0,52,3,0,1,33,4,0,3,32,99,0,20,1,0,52,4,0,1,33,4,0,3,32,85,0,20,1,0,52,5,0,1,33,4,0,4,32,71,0,20,1,0,52,7,0,1,52,6,0,1,33,4,0,4,32,53,0,20,1,0,52,8,0,1,33,4,0,3,32,39,0,20,1,0,52,9,0,1,17,1,20,12,0,52,11,0,1,1,13,0,52,10,0,2,6,33,12,0,5,20,12,0,52,5,0,1,52,6,0,1,50],"constants":[{"t":"s","v":"nil?"},{"t":"s","v":"value"},{"t":"s","v":"string?"},{"t":"s","v":"number?"},{"t":"s","v":"boolean?"},{"t":"s","v":"dict?"},{"t":"s","v":"not"},{"t":"s","v":"list?"},{"t":"s","v":"empty?"},{"t":"s","v":"first"},{"t":"s","v":"="},{"t":"s","v":"type-of"},{"t":"s","v":"head"},{"t":"s","v":"symbol"}]}},{"t":"s","v":"is-render-leak?"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,2,0,52,1,0,1,52,0,0,1,6,33,13,0,5,20,3,0,20,2,0,48,1,52,0,0,1,50],"constants":[{"t":"s","v":"not"},{"t":"s","v":"nil?"},{"t":"s","v":"value"},{"t":"s","v":"is-renderable?"}]}},{"t":"s","v":"assert-renderable"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,20,2,0,48,1,1,4,0,20,5,0,1,6,0,20,2,0,52,7,0,1,20,2,0,52,8,0,1,33,6,0,1,9,0,32,51,0,20,2,0,52,10,0,1,6,33,28,0,5,20,2,0,52,12,0,1,52,11,0,1,6,33,12,0,5,20,2,0,52,13,0,1,52,8,0,1,33,6,0,1,14,0,32,3,0,1,15,0,52,3,0,5,49,2,50],"constants":[{"t":"s","v":"assert"},{"t":"s","v":"is-renderable?"},{"t":"s","v":"value"},{"t":"s","v":"str"},{"t":"s","v":"Render leak in "},{"t":"s","v":"label"},{"t":"s","v":": "},{"t":"s","v":"type-of"},{"t":"s","v":"dict?"},{"t":"s","v":" — dict would appear as {:key val} text in output"},{"t":"s","v":"list?"},{"t":"s","v":"not"},{"t":"s","v":"empty?"},{"t":"s","v":"first"},{"t":"s","v":" — list of dicts would appear as raw data in output"},{"t":"s","v":" — non-renderable value would appear as text"}]}},{"t":"s","v":"render-body-audit"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[52,0,0,0,17,1,51,2,0,20,3,0,52,1,0,2,5,20,4,0,50],"constants":[{"t":"s","v":"list"},{"t":"s","v":"for-each"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,48,1,33,94,0,20,2,0,20,3,0,1,4,0,20,1,0,52,5,0,1,33,6,0,1,6,0,32,51,0,20,1,0,52,7,0,1,6,33,28,0,5,20,1,0,52,9,0,1,52,8,0,1,6,33,12,0,5,20,1,0,52,10,0,1,52,5,0,1,33,6,0,1,11,0,32,3,0,1,12,0,1,13,0,20,1,0,52,14,0,1,65,2,0,49,2,32,1,0,2,50],"constants":[{"t":"s","v":"is-render-leak?"},{"t":"s","v":"v"},{"t":"s","v":"append!"},{"t":"s","v":"leaks"},{"t":"s","v":"leak-kind"},{"t":"s","v":"dict?"},{"t":"s","v":"dict"},{"t":"s","v":"list?"},{"t":"s","v":"not"},{"t":"s","v":"empty?"},{"t":"s","v":"first"},{"t":"s","v":"list-of-dicts"},{"t":"s","v":"other"},{"t":"s","v":"value-type"},{"t":"s","v":"type-of"}]}},{"t":"s","v":"values"},{"t":"s","v":"leaks"}]}},{"t":"s","v":"assert-render-body-clean"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,48,1,17,2,20,2,0,20,4,0,52,3,0,1,1,6,0,20,4,0,52,7,0,1,1,8,0,20,9,0,1,10,0,1,11,0,1,12,0,52,5,0,7,49,2,50],"constants":[{"t":"s","v":"render-body-audit"},{"t":"s","v":"values"},{"t":"s","v":"assert"},{"t":"s","v":"empty?"},{"t":"s","v":"leaks"},{"t":"s","v":"str"},{"t":"s","v":"Render body has "},{"t":"s","v":"len"},{"t":"s","v":" leak(s) in "},{"t":"s","v":"label"},{"t":"s","v":". "},{"t":"s","v":"render-to-html/render-to-dom render ALL body expressions — "},{"t":"s","v":"put side effects in let bindings, not body expressions."}]}},{"t":"s","v":"mock-render"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,1,0,52,0,0,1,33,4,0,2,32,185,0,20,1,0,52,2,0,1,33,28,0,20,3,0,1,4,0,48,1,17,1,20,5,0,20,6,0,20,1,0,48,2,5,20,6,0,32,147,0,20,1,0,52,7,0,1,33,32,0,20,3,0,1,4,0,48,1,17,1,20,5,0,20,6,0,20,1,0,52,8,0,1,48,2,5,20,6,0,32,105,0,20,1,0,52,10,0,1,52,9,0,1,33,4,0,2,32,87,0,20,1,0,52,11,0,1,33,4,0,2,32,73,0,20,1,0,52,12,0,1,17,1,20,15,0,52,14,0,1,1,16,0,52,13,0,2,52,9,0,1,33,4,0,2,32,39,0,20,3,0,20,17,0,20,15,0,48,1,48,1,17,2,2,17,3,51,18,0,17,3,20,19,0,20,1,0,52,20,0,1,48,1,5,20,6,0,50],"constants":[{"t":"s","v":"nil?"},{"t":"s","v":"expr"},{"t":"s","v":"string?"},{"t":"s","v":"mock-element"},{"t":"s","v":"TEXT"},{"t":"s","v":"mock-set-text!"},{"t":"s","v":"el"},{"t":"s","v":"number?"},{"t":"s","v":"str"},{"t":"s","v":"not"},{"t":"s","v":"list?"},{"t":"s","v":"empty?"},{"t":"s","v":"first"},{"t":"s","v":"="},{"t":"s","v":"type-of"},{"t":"s","v":"head"},{"t":"s","v":"symbol"},{"t":"s","v":"symbol-name"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,2,0,52,1,0,1,52,0,0,1,33,141,0,20,2,0,52,3,0,1,17,1,20,6,0,52,5,0,1,1,7,0,52,4,0,2,33,68,0,20,2,0,52,8,0,1,52,1,0,1,52,0,0,1,33,46,0,20,9,0,20,10,0,20,11,0,20,6,0,48,1,20,2,0,1,13,0,52,12,0,2,48,3,5,20,14,0,20,2,0,52,8,0,1,52,8,0,1,49,1,32,1,0,2,32,44,0,20,15,0,20,6,0,48,1,17,2,20,16,0,33,14,0,20,17,0,20,10,0,20,16,0,48,2,32,1,0,2,5,20,14,0,20,2,0,52,8,0,1,49,1,32,1,0,2,50],"constants":[{"t":"s","v":"not"},{"t":"s","v":"empty?"},{"t":"s","v":"args"},{"t":"s","v":"first"},{"t":"s","v":"="},{"t":"s","v":"type-of"},{"t":"s","v":"arg"},{"t":"s","v":"keyword"},{"t":"s","v":"rest"},{"t":"s","v":"mock-set-attr!"},{"t":"s","v":"el"},{"t":"s","v":"keyword-name"},{"t":"s","v":"nth"},{"t":"n","v":1},{"t":"s","v":"loop"},{"t":"s","v":"mock-render"},{"t":"s","v":"child-el"},{"t":"s","v":"mock-append-child!"}]}},{"t":"s","v":"loop"},{"t":"s","v":"rest"}]}},{"t":"s","v":"mock-render-fragment"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[51,1,0,20,3,0,20,4,0,52,2,0,2,52,0,0,2,50],"constants":[{"t":"s","v":"filter"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,2,0,52,1,0,1,52,0,0,1,50],"constants":[{"t":"s","v":"not"},{"t":"s","v":"nil?"},{"t":"s","v":"el"}]}},{"t":"s","v":"map"},{"t":"s","v":"mock-render"},{"t":"s","v":"exprs"}]}},{"t":"s","v":"assert-single-render-root"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,1,0,48,1,17,2,20,2,0,20,5,0,52,4,0,1,1,6,0,52,3,0,2,1,8,0,20,9,0,1,10,0,20,5,0,52,4,0,1,1,11,0,1,12,0,1,13,0,52,7,0,7,49,2,50],"constants":[{"t":"s","v":"mock-render-fragment"},{"t":"s","v":"exprs"},{"t":"s","v":"assert"},{"t":"s","v":"="},{"t":"s","v":"len"},{"t":"s","v":"rendered"},{"t":"n","v":1},{"t":"s","v":"str"},{"t":"s","v":"Expected single render root in "},{"t":"s","v":"label"},{"t":"s","v":" but got "},{"t":"s","v":" element(s). "},{"t":"s","v":"Multi-body let/begin in render-to-html/render-to-dom renders "},{"t":"s","v":"ALL expressions — put side effects in let bindings."}]}},{"t":"s","v":"assert-tag"},{"t":"code","v":{"arity":0,"upvalue-count":0,"bytecode":[20,0,0,20,3,0,1,4,0,52,2,0,2,20,5,0,52,1,0,2,1,7,0,20,5,0,1,8,0,20,3,0,1,4,0,52,2,0,2,1,9,0,52,6,0,5,49,2,50],"constants":[{"t":"s","v":"assert"},{"t":"s","v":"="},{"t":"s","v":"get"},{"t":"s","v":"el"},{"t":"s","v":"tag"},{"t":"s","v":"expected-tag"},{"t":"s","v":"str"},{"t":"s","v":"Expected <"},{"t":"s","v":"> but got <"},{"t":"s","v":">"}]}}]}}