@alloy-js/core 0.23.0-dev.9 → 0.24.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/api-extractor.json +1 -8
- package/api-extractor.testing.json +19 -0
- package/dist/dev/src/binder.js +595 -0
- package/dist/dev/src/binder.js.map +1 -0
- package/dist/dev/src/code.js +181 -0
- package/dist/dev/src/code.js.map +1 -0
- package/dist/dev/src/components/AccessExpression.js +230 -0
- package/dist/dev/src/components/AccessExpression.js.map +1 -0
- package/dist/dev/src/components/AccessExpression.test.js +237 -0
- package/dist/dev/src/components/AccessExpression.test.js.map +1 -0
- package/dist/dev/src/components/AppendFile.js +246 -0
- package/dist/dev/src/components/AppendFile.js.map +1 -0
- package/dist/dev/src/components/Block.js +78 -0
- package/dist/dev/src/components/Block.js.map +1 -0
- package/dist/dev/src/components/CopyFile.js +16 -0
- package/dist/dev/src/components/CopyFile.js.map +1 -0
- package/dist/dev/src/components/Declaration.js +70 -0
- package/dist/dev/src/components/Declaration.js.map +1 -0
- package/dist/dev/src/components/For.js +40 -0
- package/dist/dev/src/components/For.js.map +1 -0
- package/dist/dev/src/components/Indent.js +37 -0
- package/dist/dev/src/components/Indent.js.map +1 -0
- package/dist/dev/src/components/List.js +29 -0
- package/dist/dev/src/components/List.js.map +1 -0
- package/dist/dev/src/components/MemberDeclaration.js +70 -0
- package/dist/dev/src/components/MemberDeclaration.js.map +1 -0
- package/dist/dev/src/components/MemberName.js +18 -0
- package/dist/dev/src/components/MemberName.js.map +1 -0
- package/dist/dev/src/components/MemberScope.js +62 -0
- package/dist/dev/src/components/MemberScope.js.map +1 -0
- package/dist/dev/src/components/Name.js +11 -0
- package/dist/dev/src/components/Name.js.map +1 -0
- package/dist/dev/src/components/Output.js +72 -0
- package/dist/dev/src/components/Output.js.map +1 -0
- package/dist/dev/src/components/Prose.js +32 -0
- package/dist/dev/src/components/Prose.js.map +1 -0
- package/dist/dev/src/components/ReferenceOrContent.js +12 -0
- package/dist/dev/src/components/ReferenceOrContent.js.map +1 -0
- package/dist/dev/src/components/Scope.js +56 -0
- package/dist/dev/src/components/Scope.js.map +1 -0
- package/dist/dev/src/components/Show.js +4 -0
- package/dist/dev/src/components/Show.js.map +1 -0
- package/dist/dev/src/components/SourceDirectory.js +41 -0
- package/dist/dev/src/components/SourceDirectory.js.map +1 -0
- package/dist/dev/src/components/SourceFile.js +52 -0
- package/dist/dev/src/components/SourceFile.js.map +1 -0
- package/dist/dev/src/components/StatementList.js +20 -0
- package/dist/dev/src/components/StatementList.js.map +1 -0
- package/dist/dev/src/components/Switch.js +42 -0
- package/dist/dev/src/components/Switch.js.map +1 -0
- package/dist/dev/src/components/TemplateFile.js +153 -0
- package/dist/dev/src/components/TemplateFile.js.map +1 -0
- package/dist/dev/src/components/UpdateFile.js +71 -0
- package/dist/dev/src/components/UpdateFile.js.map +1 -0
- package/dist/dev/src/components/Wrap.js +18 -0
- package/dist/dev/src/components/Wrap.js.map +1 -0
- package/dist/dev/src/components/index.js +25 -0
- package/dist/dev/src/components/index.js.map +1 -0
- package/dist/dev/src/components/stc/index.js +27 -0
- package/dist/dev/src/components/stc/index.js.map +1 -0
- package/dist/dev/src/components/stc/sti.js +10 -0
- package/dist/dev/src/components/stc/sti.js.map +1 -0
- package/dist/dev/src/content-slot.js +78 -0
- package/dist/dev/src/content-slot.js.map +1 -0
- package/dist/dev/src/content-slot.test.js +89 -0
- package/dist/dev/src/content-slot.test.js.map +1 -0
- package/dist/dev/src/context/assignment.js +46 -0
- package/dist/dev/src/context/assignment.js.map +1 -0
- package/dist/dev/src/context/binder.js +17 -0
- package/dist/dev/src/context/binder.js.map +1 -0
- package/dist/dev/src/context/declaration.js +3 -0
- package/dist/dev/src/context/declaration.js.map +1 -0
- package/dist/dev/src/context/format-options.js +45 -0
- package/dist/dev/src/context/format-options.js.map +1 -0
- package/dist/dev/src/context/index.js +11 -0
- package/dist/dev/src/context/index.js.map +1 -0
- package/dist/dev/src/context/member-declaration.js +11 -0
- package/dist/dev/src/context/member-declaration.js.map +1 -0
- package/dist/dev/src/context/member-scope.js +12 -0
- package/dist/dev/src/context/member-scope.js.map +1 -0
- package/dist/dev/src/context/name-policy.js +13 -0
- package/dist/dev/src/context/name-policy.js.map +1 -0
- package/dist/dev/src/context/scope.js +18 -0
- package/dist/dev/src/context/scope.js.map +1 -0
- package/dist/dev/src/context/source-directory.js +12 -0
- package/dist/dev/src/context/source-directory.js.map +1 -0
- package/dist/dev/src/context/source-file.js +3 -0
- package/dist/dev/src/context/source-file.js.map +1 -0
- package/dist/dev/src/context.js +47 -0
- package/dist/dev/src/context.js.map +1 -0
- package/dist/dev/src/debug/cli.js +164 -0
- package/dist/dev/src/debug/cli.js.map +1 -0
- package/dist/dev/src/debug/diagnostics-broadcast.test.js +100 -0
- package/dist/dev/src/debug/diagnostics-broadcast.test.js.map +1 -0
- package/dist/dev/src/debug/diagnostics.test.js +50 -0
- package/dist/dev/src/debug/diagnostics.test.js.map +1 -0
- package/dist/dev/src/debug/effects.js +293 -0
- package/dist/dev/src/debug/effects.js.map +1 -0
- package/dist/dev/src/debug/effects.test.js +280 -0
- package/dist/dev/src/debug/effects.test.js.map +1 -0
- package/dist/dev/src/debug/files.js +29 -0
- package/dist/dev/src/debug/files.js.map +1 -0
- package/dist/dev/src/debug/files.test.js +78 -0
- package/dist/dev/src/debug/files.test.js.map +1 -0
- package/dist/dev/src/debug/index.js +71 -0
- package/dist/dev/src/debug/index.js.map +1 -0
- package/dist/dev/src/debug/message-format.test.js +836 -0
- package/dist/dev/src/debug/message-format.test.js.map +1 -0
- package/dist/dev/src/debug/render-tree-orphans.test.js +365 -0
- package/dist/dev/src/debug/render-tree-orphans.test.js.map +1 -0
- package/dist/dev/src/debug/render.js +479 -0
- package/dist/dev/src/debug/render.js.map +1 -0
- package/dist/dev/src/debug/render.test.js +363 -0
- package/dist/dev/src/debug/render.test.js.map +1 -0
- package/dist/dev/src/debug/serialize.js +70 -0
- package/dist/dev/src/debug/serialize.js.map +1 -0
- package/dist/dev/src/debug/source-map.browser.js +24 -0
- package/dist/dev/src/debug/source-map.browser.js.map +1 -0
- package/dist/dev/src/debug/source-map.js +111 -0
- package/dist/dev/src/debug/source-map.js.map +1 -0
- package/dist/dev/src/debug/symbols.js +196 -0
- package/dist/dev/src/debug/symbols.js.map +1 -0
- package/dist/dev/src/debug/symbols.test.js +93 -0
- package/dist/dev/src/debug/symbols.test.js.map +1 -0
- package/dist/dev/src/debug/trace-writer.js +674 -0
- package/dist/dev/src/debug/trace-writer.js.map +1 -0
- package/dist/dev/src/debug/trace.js +460 -0
- package/dist/dev/src/debug/trace.js.map +1 -0
- package/dist/dev/src/devtools/devtools-protocol.js +2 -0
- package/dist/dev/src/devtools/devtools-protocol.js.map +1 -0
- package/dist/dev/src/devtools/devtools-server.browser.js +36 -0
- package/dist/dev/src/devtools/devtools-server.browser.js.map +1 -0
- package/dist/dev/src/devtools/devtools-server.js +458 -0
- package/dist/dev/src/devtools/devtools-server.js.map +1 -0
- package/dist/dev/src/devtools/devtools-transport.js +114 -0
- package/dist/dev/src/devtools/devtools-transport.js.map +1 -0
- package/dist/dev/src/devtools-entry.browser.js +2 -0
- package/dist/dev/src/devtools-entry.browser.js.map +1 -0
- package/dist/dev/src/devtools-entry.js +2 -0
- package/dist/dev/src/devtools-entry.js.map +1 -0
- package/dist/dev/src/diagnostics.js +97 -0
- package/dist/dev/src/diagnostics.js.map +1 -0
- package/dist/dev/src/host/alloy-host.browser.js +32 -0
- package/dist/dev/src/host/alloy-host.browser.js.map +1 -0
- package/dist/dev/src/host/alloy-host.js +144 -0
- package/dist/dev/src/host/alloy-host.js.map +1 -0
- package/dist/dev/src/host/interface.js +2 -0
- package/dist/dev/src/host/interface.js.map +1 -0
- package/dist/dev/src/host/node-host.browser.js +21 -0
- package/dist/dev/src/host/node-host.browser.js.map +1 -0
- package/dist/dev/src/host/node-host.js +20 -0
- package/dist/dev/src/host/node-host.js.map +1 -0
- package/dist/dev/src/index.browser.js +3 -0
- package/dist/dev/src/index.browser.js.map +1 -0
- package/dist/dev/src/index.js +27 -0
- package/dist/dev/src/index.js.map +1 -0
- package/dist/dev/src/inspect.browser.js +6 -0
- package/dist/dev/src/inspect.browser.js.map +1 -0
- package/dist/dev/src/inspect.js +2 -0
- package/dist/dev/src/inspect.js.map +1 -0
- package/dist/dev/src/jsx-runtime.js +17 -0
- package/dist/dev/src/jsx-runtime.js.map +1 -0
- package/dist/dev/src/library-symbol-reference.js +59 -0
- package/dist/dev/src/library-symbol-reference.js.map +1 -0
- package/dist/dev/src/name-policy.js +51 -0
- package/dist/dev/src/name-policy.js.map +1 -0
- package/dist/dev/src/pretty-string/pretty-string.js +100 -0
- package/dist/dev/src/pretty-string/pretty-string.js.map +1 -0
- package/dist/dev/src/pretty-string/pretty-string.test.js +38 -0
- package/dist/dev/src/pretty-string/pretty-string.test.js.map +1 -0
- package/dist/dev/src/print-hook.js +10 -0
- package/dist/dev/src/print-hook.js.map +1 -0
- package/dist/dev/src/props-combinators.js +109 -0
- package/dist/dev/src/props-combinators.js.map +1 -0
- package/dist/dev/src/reactive-union-set.js +213 -0
- package/dist/dev/src/reactive-union-set.js.map +1 -0
- package/dist/dev/src/reactivity.js +452 -0
- package/dist/dev/src/reactivity.js.map +1 -0
- package/dist/dev/src/refkey.js +167 -0
- package/dist/dev/src/refkey.js.map +1 -0
- package/dist/dev/src/render-stack.js +252 -0
- package/dist/dev/src/render-stack.js.map +1 -0
- package/dist/dev/src/render.js +872 -0
- package/dist/dev/src/render.js.map +1 -0
- package/dist/dev/src/resource.js +124 -0
- package/dist/dev/src/resource.js.map +1 -0
- package/dist/dev/src/runtime/component.js +41 -0
- package/dist/dev/src/runtime/component.js.map +1 -0
- package/dist/dev/src/runtime/intrinsic.js +12 -0
- package/dist/dev/src/runtime/intrinsic.js.map +1 -0
- package/dist/dev/src/scheduler.js +217 -0
- package/dist/dev/src/scheduler.js.map +1 -0
- package/dist/dev/src/stc.js +40 -0
- package/dist/dev/src/stc.js.map +1 -0
- package/dist/dev/src/sti.js +31 -0
- package/dist/dev/src/sti.js.map +1 -0
- package/dist/dev/src/symbols/basic-scope.js +21 -0
- package/dist/dev/src/symbols/basic-scope.js.map +1 -0
- package/dist/dev/src/symbols/basic-symbol.js +34 -0
- package/dist/dev/src/symbols/basic-symbol.js.map +1 -0
- package/dist/dev/src/symbols/decl.js +26 -0
- package/dist/dev/src/symbols/decl.js.map +1 -0
- package/dist/dev/src/symbols/index.js +10 -0
- package/dist/dev/src/symbols/index.js.map +1 -0
- package/dist/dev/src/symbols/output-scope.js +235 -0
- package/dist/dev/src/symbols/output-scope.js.map +1 -0
- package/dist/dev/src/symbols/output-space.js +51 -0
- package/dist/dev/src/symbols/output-space.js.map +1 -0
- package/dist/dev/src/symbols/output-symbol.js +644 -0
- package/dist/dev/src/symbols/output-symbol.js.map +1 -0
- package/dist/dev/src/symbols/symbol-flow.js +106 -0
- package/dist/dev/src/symbols/symbol-flow.js.map +1 -0
- package/dist/dev/src/symbols/symbol-slot.js +75 -0
- package/dist/dev/src/symbols/symbol-slot.js.map +1 -0
- package/dist/dev/src/symbols/symbol-slot.test.js +68 -0
- package/dist/dev/src/symbols/symbol-slot.test.js.map +1 -0
- package/dist/dev/src/symbols/symbol-table.js +103 -0
- package/dist/dev/src/symbols/symbol-table.js.map +1 -0
- package/dist/dev/src/tap.js +109 -0
- package/dist/dev/src/tap.js.map +1 -0
- package/dist/dev/src/trace.js +2 -0
- package/dist/dev/src/trace.js.map +1 -0
- package/dist/dev/src/tracer.js +180 -0
- package/dist/dev/src/tracer.js.map +1 -0
- package/dist/dev/src/utils.js +487 -0
- package/dist/dev/src/utils.js.map +1 -0
- package/dist/dev/src/write-output.js +48 -0
- package/dist/dev/src/write-output.js.map +1 -0
- package/dist/dev/test/browser-build.test.js +85 -0
- package/dist/dev/test/browser-build.test.js.map +1 -0
- package/dist/dev/test/children.test.js +44 -0
- package/dist/dev/test/children.test.js.map +1 -0
- package/dist/dev/test/components/append-file.test.js +394 -0
- package/dist/dev/test/components/append-file.test.js.map +1 -0
- package/dist/dev/test/components/block.test.js +83 -0
- package/dist/dev/test/components/block.test.js.map +1 -0
- package/dist/dev/test/components/copy-file.test.js +119 -0
- package/dist/dev/test/components/copy-file.test.js.map +1 -0
- package/dist/dev/test/components/declaration.test.js +40 -0
- package/dist/dev/test/components/declaration.test.js.map +1 -0
- package/dist/dev/test/components/list.test.js +250 -0
- package/dist/dev/test/components/list.test.js.map +1 -0
- package/dist/dev/test/components/prose.test.js +42 -0
- package/dist/dev/test/components/prose.test.js.map +1 -0
- package/dist/dev/test/components/reference-or-content.test.js +246 -0
- package/dist/dev/test/components/reference-or-content.test.js.map +1 -0
- package/dist/dev/test/components/source-file.test.js +271 -0
- package/dist/dev/test/components/source-file.test.js.map +1 -0
- package/dist/dev/test/components/template-file.test.js +200 -0
- package/dist/dev/test/components/template-file.test.js.map +1 -0
- package/dist/dev/test/components/update-file.test.js +210 -0
- package/dist/dev/test/components/update-file.test.js.map +1 -0
- package/dist/dev/test/components/wrap.test.js +48 -0
- package/dist/dev/test/components/wrap.test.js.map +1 -0
- package/dist/dev/test/control-flow/for.test.js +318 -0
- package/dist/dev/test/control-flow/for.test.js.map +1 -0
- package/dist/dev/test/control-flow/match.test.js +112 -0
- package/dist/dev/test/control-flow/match.test.js.map +1 -0
- package/dist/dev/test/control-flow/show.test.js +38 -0
- package/dist/dev/test/control-flow/show.test.js.map +1 -0
- package/dist/dev/test/lazy-isempty.test.js +121 -0
- package/dist/dev/test/lazy-isempty.test.js.map +1 -0
- package/dist/dev/test/name-policy.test.js +28 -0
- package/dist/dev/test/name-policy.test.js.map +1 -0
- package/dist/dev/test/props-with-defaults.test.js +94 -0
- package/dist/dev/test/props-with-defaults.test.js.map +1 -0
- package/dist/dev/test/reactive-union-set-disposers.test.js +98 -0
- package/dist/dev/test/reactive-union-set-disposers.test.js.map +1 -0
- package/dist/dev/test/reactive-union-set.test.js +171 -0
- package/dist/dev/test/reactive-union-set.test.js.map +1 -0
- package/dist/dev/test/reactivity/circular-reactives.test.js +62 -0
- package/dist/dev/test/reactivity/circular-reactives.test.js.map +1 -0
- package/dist/dev/test/reactivity/cleanup.test.js +96 -0
- package/dist/dev/test/reactivity/cleanup.test.js.map +1 -0
- package/dist/dev/test/reactivity/memo.test.js +17 -0
- package/dist/dev/test/reactivity/memo.test.js.map +1 -0
- package/dist/dev/test/reactivity/ref-rendering.test.js +38 -0
- package/dist/dev/test/reactivity/ref-rendering.test.js.map +1 -0
- package/dist/dev/test/reactivity/shallow-reactive.test.js +56 -0
- package/dist/dev/test/reactivity/shallow-reactive.test.js.map +1 -0
- package/dist/dev/test/reactivity/test.test.js +74 -0
- package/dist/dev/test/reactivity/test.test.js.map +1 -0
- package/dist/dev/test/reactivity/untrack.test.js +27 -0
- package/dist/dev/test/reactivity/untrack.test.js.map +1 -0
- package/dist/dev/test/refkey.test.js +36 -0
- package/dist/dev/test/refkey.test.js.map +1 -0
- package/dist/dev/test/rendering/basic.test.js +194 -0
- package/dist/dev/test/rendering/basic.test.js.map +1 -0
- package/dist/dev/test/rendering/code.test.js +64 -0
- package/dist/dev/test/rendering/code.test.js.map +1 -0
- package/dist/dev/test/rendering/formatting.test.js +797 -0
- package/dist/dev/test/rendering/formatting.test.js.map +1 -0
- package/dist/dev/test/rendering/indent.test.js +183 -0
- package/dist/dev/test/rendering/indent.test.js.map +1 -0
- package/dist/dev/test/rendering/memoization.test.js +37 -0
- package/dist/dev/test/rendering/memoization.test.js.map +1 -0
- package/dist/dev/test/rendering/print-render-stack.test.js +287 -0
- package/dist/dev/test/rendering/print-render-stack.test.js.map +1 -0
- package/dist/dev/test/rendering/refkeys.test.js +37 -0
- package/dist/dev/test/rendering/refkeys.test.js.map +1 -0
- package/dist/dev/test/scheduler-extended.test.js +96 -0
- package/dist/dev/test/scheduler-extended.test.js.map +1 -0
- package/dist/dev/test/scheduler.test.js +46 -0
- package/dist/dev/test/scheduler.test.js.map +1 -0
- package/dist/dev/test/split-props.test.js +78 -0
- package/dist/dev/test/split-props.test.js.map +1 -0
- package/dist/dev/test/stc.test.js +35 -0
- package/dist/dev/test/stc.test.js.map +1 -0
- package/dist/dev/test/symbols/deconflicted-name.test.js +120 -0
- package/dist/dev/test/symbols/deconflicted-name.test.js.map +1 -0
- package/dist/dev/test/symbols/output-scope.test.js +221 -0
- package/dist/dev/test/symbols/output-scope.test.js.map +1 -0
- package/dist/dev/test/symbols/output-symbol.test.js +202 -0
- package/dist/dev/test/symbols/output-symbol.test.js.map +1 -0
- package/dist/dev/test/symbols/resolution.test.js +487 -0
- package/dist/dev/test/symbols/resolution.test.js.map +1 -0
- package/dist/dev/test/symbols/symbol-table.test.js +15 -0
- package/dist/dev/test/symbols/symbol-table.test.js.map +1 -0
- package/dist/dev/test/symbols/utils.js +26 -0
- package/dist/dev/test/symbols/utils.js.map +1 -0
- package/dist/dev/test/utils.test.js +317 -0
- package/dist/dev/test/utils.test.js.map +1 -0
- package/dist/dev/testing/create-test-wrapper.js +130 -0
- package/dist/dev/testing/create-test-wrapper.js.map +1 -0
- package/dist/dev/testing/devtools-utils.js +162 -0
- package/dist/dev/testing/devtools-utils.js.map +1 -0
- package/dist/dev/testing/extend-expect.js +187 -0
- package/dist/dev/testing/extend-expect.js.map +1 -0
- package/dist/dev/testing/extend-expect.test.js +234 -0
- package/dist/dev/testing/extend-expect.test.js.map +1 -0
- package/dist/dev/testing/index.js +4 -0
- package/dist/dev/testing/index.js.map +1 -0
- package/dist/dev/testing/render.js +34 -0
- package/dist/dev/testing/render.js.map +1 -0
- package/dist/dev/testing/vitest.d.js +14 -0
- package/dist/dev/testing/vitest.d.js.map +1 -0
- package/dist/devtools/index.html +29 -17
- package/dist/src/binder.d.ts +107 -3
- package/dist/src/binder.d.ts.map +1 -1
- package/dist/src/binder.js +113 -1
- package/dist/src/binder.js.map +1 -1
- package/dist/src/components/AccessExpression.d.ts +78 -0
- package/dist/src/components/AccessExpression.d.ts.map +1 -0
- package/dist/src/components/AccessExpression.js +218 -0
- package/dist/src/components/AccessExpression.js.map +1 -0
- package/dist/src/components/AccessExpression.test.d.ts +2 -0
- package/dist/src/components/AccessExpression.test.d.ts.map +1 -0
- package/dist/src/components/AccessExpression.test.js +137 -0
- package/dist/src/components/AccessExpression.test.js.map +1 -0
- package/dist/src/components/Block.d.ts +12 -0
- package/dist/src/components/Block.d.ts.map +1 -1
- package/dist/src/components/Block.js +12 -0
- package/dist/src/components/Block.js.map +1 -1
- package/dist/src/components/For.d.ts.map +1 -1
- package/dist/src/components/For.js +1 -1
- package/dist/src/components/For.js.map +1 -1
- package/dist/src/components/List.d.ts +11 -1
- package/dist/src/components/List.d.ts.map +1 -1
- package/dist/src/components/List.js +1 -1
- package/dist/src/components/List.js.map +1 -1
- package/dist/src/components/MemberDeclaration.d.ts +6 -6
- package/dist/src/components/MemberDeclaration.js +6 -6
- package/dist/src/components/MemberName.d.ts +6 -0
- package/dist/src/components/MemberName.d.ts.map +1 -1
- package/dist/src/components/MemberName.js +7 -0
- package/dist/src/components/MemberName.js.map +1 -1
- package/dist/src/components/MemberScope.d.ts +5 -0
- package/dist/src/components/MemberScope.d.ts.map +1 -1
- package/dist/src/components/MemberScope.js +5 -0
- package/dist/src/components/MemberScope.js.map +1 -1
- package/dist/src/components/Output.d.ts +4 -2
- package/dist/src/components/Output.d.ts.map +1 -1
- package/dist/src/components/Output.js.map +1 -1
- package/dist/src/components/Scope.d.ts +6 -0
- package/dist/src/components/Scope.d.ts.map +1 -1
- package/dist/src/components/Scope.js +6 -0
- package/dist/src/components/Scope.js.map +1 -1
- package/dist/src/components/SourceFile.d.ts +22 -2
- package/dist/src/components/SourceFile.d.ts.map +1 -1
- package/dist/src/components/SourceFile.js.map +1 -1
- package/dist/src/components/Switch.d.ts.map +1 -1
- package/dist/src/components/Switch.js +1 -1
- package/dist/src/components/Switch.js.map +1 -1
- package/dist/src/components/index.d.ts +1 -0
- package/dist/src/components/index.d.ts.map +1 -1
- package/dist/src/components/index.js +1 -0
- package/dist/src/components/index.js.map +1 -1
- package/dist/src/context/binder.d.ts +4 -0
- package/dist/src/context/binder.d.ts.map +1 -1
- package/dist/src/context/binder.js +5 -0
- package/dist/src/context/binder.js.map +1 -1
- package/dist/src/context/format-options.d.ts +14 -1
- package/dist/src/context/format-options.d.ts.map +1 -1
- package/dist/src/context/format-options.js +14 -1
- package/dist/src/context/format-options.js.map +1 -1
- package/dist/src/context/scope.d.ts +4 -0
- package/dist/src/context/scope.d.ts.map +1 -1
- package/dist/src/context/scope.js +5 -0
- package/dist/src/context/scope.js.map +1 -1
- package/dist/src/context/source-directory.d.ts +9 -0
- package/dist/src/context/source-directory.d.ts.map +1 -1
- package/dist/src/context/source-directory.js +9 -0
- package/dist/src/context/source-directory.js.map +1 -1
- package/dist/src/debug/cli.d.ts.map +1 -1
- package/dist/src/debug/cli.js +3 -2
- package/dist/src/debug/cli.js.map +1 -1
- package/dist/src/debug/diagnostics-broadcast.test.d.ts +2 -0
- package/dist/src/debug/diagnostics-broadcast.test.d.ts.map +1 -0
- package/dist/src/debug/diagnostics-broadcast.test.js +100 -0
- package/dist/src/debug/diagnostics-broadcast.test.js.map +1 -0
- package/dist/src/debug/diagnostics.test.js +3 -2
- package/dist/src/debug/diagnostics.test.js.map +1 -1
- package/dist/src/debug/effects.d.ts +12 -4
- package/dist/src/debug/effects.d.ts.map +1 -1
- package/dist/src/debug/effects.js +119 -54
- package/dist/src/debug/effects.js.map +1 -1
- package/dist/src/debug/effects.test.js +213 -41
- package/dist/src/debug/effects.test.js.map +1 -1
- package/dist/src/debug/files.d.ts.map +1 -1
- package/dist/src/debug/files.js +7 -18
- package/dist/src/debug/files.js.map +1 -1
- package/dist/src/debug/files.test.js +13 -36
- package/dist/src/debug/files.test.js.map +1 -1
- package/dist/src/debug/index.d.ts +4 -2
- package/dist/src/debug/index.d.ts.map +1 -1
- package/dist/src/debug/index.js +4 -2
- package/dist/src/debug/index.js.map +1 -1
- package/dist/src/debug/message-format.test.d.ts +2 -0
- package/dist/src/debug/message-format.test.d.ts.map +1 -0
- package/dist/src/debug/message-format.test.js +700 -0
- package/dist/src/debug/message-format.test.js.map +1 -0
- package/dist/src/debug/render-tree-orphans.test.d.ts +2 -0
- package/dist/src/debug/render-tree-orphans.test.d.ts.map +1 -0
- package/dist/src/debug/render-tree-orphans.test.js +297 -0
- package/dist/src/debug/render-tree-orphans.test.js.map +1 -0
- package/dist/src/debug/render.d.ts.map +1 -1
- package/dist/src/debug/render.js +91 -131
- package/dist/src/debug/render.js.map +1 -1
- package/dist/src/debug/render.test.js +91 -128
- package/dist/src/debug/render.test.js.map +1 -1
- package/dist/src/debug/source-map.browser.d.ts +16 -0
- package/dist/src/debug/source-map.browser.d.ts.map +1 -0
- package/dist/src/debug/source-map.browser.js +24 -0
- package/dist/src/debug/source-map.browser.js.map +1 -0
- package/dist/src/debug/source-map.d.ts +22 -0
- package/dist/src/debug/source-map.d.ts.map +1 -0
- package/dist/src/debug/source-map.js +111 -0
- package/dist/src/debug/source-map.js.map +1 -0
- package/dist/src/debug/symbols.d.ts +6 -5
- package/dist/src/debug/symbols.d.ts.map +1 -1
- package/dist/src/debug/symbols.js +46 -23
- package/dist/src/debug/symbols.js.map +1 -1
- package/dist/src/debug/symbols.test.js +15 -26
- package/dist/src/debug/symbols.test.js.map +1 -1
- package/dist/src/debug/trace-writer.d.ts +56 -0
- package/dist/src/debug/trace-writer.d.ts.map +1 -0
- package/dist/src/debug/trace-writer.js +674 -0
- package/dist/src/debug/trace-writer.js.map +1 -0
- package/dist/src/debug/trace.d.ts +10 -10
- package/dist/src/debug/trace.d.ts.map +1 -1
- package/dist/src/debug/trace.js +41 -24
- package/dist/src/debug/trace.js.map +1 -1
- package/dist/src/devtools/devtools-protocol.d.ts +318 -161
- package/dist/src/devtools/devtools-protocol.d.ts.map +1 -1
- package/dist/src/devtools/devtools-server.browser.d.ts +1 -5
- package/dist/src/devtools/devtools-server.browser.d.ts.map +1 -1
- package/dist/src/devtools/devtools-server.browser.js +3 -3
- package/dist/src/devtools/devtools-server.browser.js.map +1 -1
- package/dist/src/devtools/devtools-server.d.ts +5 -6
- package/dist/src/devtools/devtools-server.d.ts.map +1 -1
- package/dist/src/devtools/devtools-server.js +227 -25
- package/dist/src/devtools/devtools-server.js.map +1 -1
- package/dist/src/devtools/devtools-transport.d.ts +2 -2
- package/dist/src/devtools/devtools-transport.d.ts.map +1 -1
- package/dist/src/devtools/devtools-transport.js +2 -2
- package/dist/src/devtools/devtools-transport.js.map +1 -1
- package/dist/src/devtools-entry.browser.d.ts +1 -1
- package/dist/src/devtools-entry.browser.d.ts.map +1 -1
- package/dist/src/devtools-entry.browser.js.map +1 -1
- package/dist/src/devtools-entry.d.ts +1 -1
- package/dist/src/devtools-entry.d.ts.map +1 -1
- package/dist/src/devtools-entry.js.map +1 -1
- package/dist/src/diagnostics.d.ts +1 -1
- package/dist/src/diagnostics.d.ts.map +1 -1
- package/dist/src/diagnostics.js +27 -19
- package/dist/src/diagnostics.js.map +1 -1
- package/dist/src/host/node-host.browser.d.ts +11 -0
- package/dist/src/host/node-host.browser.d.ts.map +1 -0
- package/dist/src/host/node-host.browser.js +21 -0
- package/dist/src/host/node-host.browser.js.map +1 -0
- package/dist/src/host/node-host.d.ts +11 -0
- package/dist/src/host/node-host.d.ts.map +1 -0
- package/dist/src/host/node-host.js +20 -0
- package/dist/src/host/node-host.js.map +1 -0
- package/dist/src/library-symbol-reference.d.ts +52 -0
- package/dist/src/library-symbol-reference.d.ts.map +1 -1
- package/dist/src/library-symbol-reference.js +54 -0
- package/dist/src/library-symbol-reference.js.map +1 -1
- package/dist/src/name-policy.d.ts +30 -3
- package/dist/src/name-policy.d.ts.map +1 -1
- package/dist/src/name-policy.js +27 -0
- package/dist/src/name-policy.js.map +1 -1
- package/dist/src/reactivity.d.ts +28 -2
- package/dist/src/reactivity.d.ts.map +1 -1
- package/dist/src/reactivity.js +154 -45
- package/dist/src/reactivity.js.map +1 -1
- package/dist/src/render-stack.d.ts.map +1 -1
- package/dist/src/render-stack.js +4 -3
- package/dist/src/render-stack.js.map +1 -1
- package/dist/src/render.d.ts +2 -0
- package/dist/src/render.d.ts.map +1 -1
- package/dist/src/render.js +84 -30
- package/dist/src/render.js.map +1 -1
- package/dist/src/scheduler.d.ts +5 -0
- package/dist/src/scheduler.d.ts.map +1 -1
- package/dist/src/scheduler.js +94 -23
- package/dist/src/scheduler.js.map +1 -1
- package/dist/src/symbols/output-scope.d.ts +33 -1
- package/dist/src/symbols/output-scope.d.ts.map +1 -1
- package/dist/src/symbols/output-scope.js +34 -1
- package/dist/src/symbols/output-scope.js.map +1 -1
- package/dist/src/symbols/output-space.d.ts +12 -0
- package/dist/src/symbols/output-space.d.ts.map +1 -1
- package/dist/src/symbols/output-space.js +15 -0
- package/dist/src/symbols/output-space.js.map +1 -1
- package/dist/src/symbols/output-symbol.d.ts +128 -12
- package/dist/src/symbols/output-symbol.d.ts.map +1 -1
- package/dist/src/symbols/output-symbol.js +158 -18
- package/dist/src/symbols/output-symbol.js.map +1 -1
- package/dist/src/symbols/symbol-slot.d.ts.map +1 -1
- package/dist/src/symbols/symbol-slot.js +7 -0
- package/dist/src/symbols/symbol-slot.js.map +1 -1
- package/dist/src/symbols/symbol-slot.test.js +18 -1
- package/dist/src/symbols/symbol-slot.test.js.map +1 -1
- package/dist/src/symbols/symbol-table.d.ts.map +1 -1
- package/dist/src/symbols/symbol-table.js +13 -3
- package/dist/src/symbols/symbol-table.js.map +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +11 -5
- package/dist/src/utils.js.map +1 -1
- package/dist/src/write-output.d.ts.map +1 -1
- package/dist/src/write-output.js +6 -5
- package/dist/src/write-output.js.map +1 -1
- package/dist/test/browser-build.test.js +66 -67
- package/dist/test/browser-build.test.js.map +1 -1
- package/dist/test/reactivity/shallow-reactive.test.js +4 -0
- package/dist/test/reactivity/shallow-reactive.test.js.map +1 -1
- package/dist/test/symbols/deconflicted-name.test.d.ts +2 -0
- package/dist/test/symbols/deconflicted-name.test.d.ts.map +1 -0
- package/dist/test/symbols/deconflicted-name.test.js +120 -0
- package/dist/test/symbols/deconflicted-name.test.js.map +1 -0
- package/dist/test/symbols/output-scope.test.js +41 -0
- package/dist/test/symbols/output-scope.test.js.map +1 -1
- package/dist/testing/create-test-wrapper.d.ts +75 -2
- package/dist/testing/create-test-wrapper.d.ts.map +1 -1
- package/dist/testing/create-test-wrapper.js +55 -1
- package/dist/testing/create-test-wrapper.js.map +1 -1
- package/dist/testing/devtools-utils.d.ts +12 -3
- package/dist/testing/devtools-utils.d.ts.map +1 -1
- package/dist/testing/devtools-utils.js +26 -4
- package/dist/testing/devtools-utils.js.map +1 -1
- package/dist/testing/extend-expect.d.ts +26 -0
- package/dist/testing/extend-expect.d.ts.map +1 -1
- package/dist/testing/extend-expect.js +20 -0
- package/dist/testing/extend-expect.js.map +1 -1
- package/dist/testing/index.d.ts +1 -1
- package/dist/testing/index.d.ts.map +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/testing/index.js.map +1 -1
- package/dist/testing/render.d.ts +9 -0
- package/dist/testing/render.d.ts.map +1 -1
- package/dist/testing/render.js +11 -0
- package/dist/testing/render.js.map +1 -1
- package/dist/testing/vitest.d.js +12 -0
- package/dist/testing/vitest.d.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/docs/api/components/AppendRegion.md +83 -0
- package/docs/api/components/Block.md +49 -0
- package/docs/api/components/CopyFile.md +26 -0
- package/docs/api/components/Declaration.md +85 -0
- package/docs/api/components/For.md +91 -0
- package/docs/api/components/Indent.md +40 -0
- package/docs/api/components/List.md +68 -0
- package/docs/api/components/MemberDeclaration.md +89 -0
- package/docs/api/components/MemberName.md +21 -0
- package/docs/api/components/MemberScope.md +81 -0
- package/docs/api/components/Name.md +19 -0
- package/docs/api/components/Output.md +62 -0
- package/docs/api/components/Prose.md +29 -0
- package/docs/api/components/ReferenceOrContent.md +28 -0
- package/docs/api/components/Scope.md +83 -0
- package/docs/api/components/Show.md +32 -0
- package/docs/api/components/SourceDirectory.md +28 -0
- package/docs/api/components/SourceFile.md +60 -0
- package/docs/api/components/StatementList.md +29 -0
- package/docs/api/components/Switch.md +42 -0
- package/docs/api/components/TemplateFile.md +71 -0
- package/docs/api/components/TemplateVariable.md +57 -0
- package/docs/api/components/UpdateFile.md +56 -0
- package/docs/api/components/Wrap.md +40 -0
- package/docs/api/components/createAccessExpression.md +55 -0
- package/docs/api/components/index.md +27 -0
- package/docs/api/contexts/Assignment-context.md +43 -0
- package/docs/api/contexts/Binder-context.md +22 -0
- package/docs/api/contexts/Declaration-context.md +15 -0
- package/docs/api/contexts/Member-context.md +17 -0
- package/docs/api/contexts/MemberDeclaration-context.md +24 -0
- package/docs/api/contexts/NamePolicy-context.md +18 -0
- package/docs/api/contexts/Scope-context.md +20 -0
- package/docs/api/contexts/SourceDirectory-context.md +26 -0
- package/docs/api/contexts/SourceFile-context.md +19 -0
- package/docs/api/contexts/index.md +11 -0
- package/docs/api/functions/attachDiagnosticsCollector.md +18 -0
- package/docs/api/functions/baseListPropsToMapJoinArgs.md +20 -0
- package/docs/api/functions/children.md +27 -0
- package/docs/api/functions/childrenArray.md +25 -0
- package/docs/api/functions/code.md +25 -0
- package/docs/api/functions/computed.md +18 -0
- package/docs/api/functions/createComponent.md +20 -0
- package/docs/api/functions/createContentSlot.md +33 -0
- package/docs/api/functions/createContext.md +19 -0
- package/docs/api/functions/createCustomContext.md +18 -0
- package/docs/api/functions/createDeclarationTap.md +20 -0
- package/docs/api/functions/createFileResource.md +35 -0
- package/docs/api/functions/createFormatOptionsContextFor.md +28 -0
- package/docs/api/functions/createIntrinsic.md +19 -0
- package/docs/api/functions/createMemberTap.md +20 -0
- package/docs/api/functions/createNamePolicy.md +37 -0
- package/docs/api/functions/createNamedContext.md +19 -0
- package/docs/api/functions/createOutputBinder.md +24 -0
- package/docs/api/functions/createRenderTreeHook.md +19 -0
- package/docs/api/functions/createResource.md +77 -0
- package/docs/api/functions/createScope.md +35 -0
- package/docs/api/functions/createScopeTap.md +20 -0
- package/docs/api/functions/createSourceFileTap.md +20 -0
- package/docs/api/functions/createSymbol.md +25 -0
- package/docs/api/functions/createSymbolSlot.md +19 -0
- package/docs/api/functions/createTap.md +55 -0
- package/docs/api/functions/decl.md +20 -0
- package/docs/api/functions/defaultProps.md +21 -0
- package/docs/api/functions/effect.md +26 -0
- package/docs/api/functions/emitDiagnostic.md +18 -0
- package/docs/api/functions/emitSymbol.md +18 -0
- package/docs/api/functions/ensureIsEmpty.md +20 -0
- package/docs/api/functions/findCurrentEffectId.md +19 -0
- package/docs/api/functions/findKeyedChild.md +19 -0
- package/docs/api/functions/findKeyedChildren.md +19 -0
- package/docs/api/functions/findUnkeyedChildren.md +18 -0
- package/docs/api/functions/formatReactivePropertyLabel.md +21 -0
- package/docs/api/functions/getAssignmentSymbol.md +19 -0
- package/docs/api/functions/getContext.md +17 -0
- package/docs/api/functions/getContextForRenderNode.md +18 -0
- package/docs/api/functions/getDiagnosticsForTree.md +18 -0
- package/docs/api/functions/getEffectDebugId.md +18 -0
- package/docs/api/functions/getElementCache.md +17 -0
- package/docs/api/functions/getReactiveCreationLocation.md +18 -0
- package/docs/api/functions/getSymbolCreator.md +18 -0
- package/docs/api/functions/getSymbolCreatorSymbol.md +17 -0
- package/docs/api/functions/index.md +105 -0
- package/docs/api/functions/inspectRefkey.md +18 -0
- package/docs/api/functions/instantiateTakenMembersTo.md +20 -0
- package/docs/api/functions/isComponentCreator.md +19 -0
- package/docs/api/functions/isCustomContext.md +18 -0
- package/docs/api/functions/isIntrinsicElement.md +18 -0
- package/docs/api/functions/isKeyedChild.md +18 -0
- package/docs/api/functions/isLibrarySymbolReference.md +18 -0
- package/docs/api/functions/isMemberRefkey.md +18 -0
- package/docs/api/functions/isNamekey.md +18 -0
- package/docs/api/functions/isPrintHook.md +18 -0
- package/docs/api/functions/isRefkey.md +18 -0
- package/docs/api/functions/isRefkeyable.md +18 -0
- package/docs/api/functions/isRenderableObject.md +20 -0
- package/docs/api/functions/isSymbolRefkey.md +18 -0
- package/docs/api/functions/join.md +33 -0
- package/docs/api/functions/mapJoin.md +106 -0
- package/docs/api/functions/memberRefkey.md +27 -0
- package/docs/api/functions/memo.md +29 -0
- package/docs/api/functions/mergeProps.md +64 -0
- package/docs/api/functions/moveTakenMembersTo.md +18 -0
- package/docs/api/functions/namekey.md +41 -0
- package/docs/api/functions/nextReactiveId.md +19 -0
- package/docs/api/functions/notifyContentState.md +17 -0
- package/docs/api/functions/onCleanup.md +26 -0
- package/docs/api/functions/printTree.md +31 -0
- package/docs/api/functions/reactivePropertyRefId.md +21 -0
- package/docs/api/functions/ref.md +21 -0
- package/docs/api/functions/refId.md +18 -0
- package/docs/api/functions/refkey.md +24 -0
- package/docs/api/functions/render.md +31 -0
- package/docs/api/functions/renderAsync.md +31 -0
- package/docs/api/functions/renderTree.md +18 -0
- package/docs/api/functions/reportDiagnostics.md +18 -0
- package/docs/api/functions/resetRefIdCounter.md +17 -0
- package/docs/api/functions/resolve.md +31 -0
- package/docs/api/functions/root.md +25 -0
- package/docs/api/functions/shallowReactive.md +18 -0
- package/docs/api/functions/shallowRef.md +21 -0
- package/docs/api/functions/sourceFilesForTree.md +31 -0
- package/docs/api/functions/splitProps.md +19 -0
- package/docs/api/functions/stc.md +18 -0
- package/docs/api/functions/sti.md +18 -0
- package/docs/api/functions/symbolForRefkey.md +24 -0
- package/docs/api/functions/taggedComponent.md +19 -0
- package/docs/api/functions/takeSymbols.md +18 -0
- package/docs/api/functions/text.md +19 -0
- package/docs/api/functions/toRef.md +20 -0
- package/docs/api/functions/toRefkey.md +18 -0
- package/docs/api/functions/toRefs.md +20 -0
- package/docs/api/functions/traverseOutput.md +21 -0
- package/docs/api/functions/unresolvedRefkey.md +18 -0
- package/docs/api/functions/untrack.md +18 -0
- package/docs/api/functions/useContext.md +18 -0
- package/docs/api/functions/useFormatOptions.md +18 -0
- package/docs/api/functions/useMemberContext.md +17 -0
- package/docs/api/functions/useMemberScope.md +17 -0
- package/docs/api/functions/writeOutput.md +21 -0
- package/docs/api/index.md +9 -0
- package/docs/api/testing/functions/createTestWrapper.md +70 -0
- package/docs/api/testing/functions/d.md +21 -0
- package/docs/api/testing/functions/dedent.md +18 -0
- package/docs/api/testing/functions/index.md +6 -0
- package/docs/api/testing/functions/renderToString.md +20 -0
- package/docs/api/testing/index.md +4 -0
- package/docs/api/testing/types/TestWrapper.md +10 -0
- package/docs/api/testing/types/ToRenderToOptions.md +24 -0
- package/docs/api/testing/types/index.md +4 -0
- package/docs/api/types/AlignIntrinsicElement.md +5 -0
- package/docs/api/types/AppendRegionProps.md +5 -0
- package/docs/api/types/BaseListProps.md +21 -0
- package/docs/api/types/BasePartProps.md +10 -0
- package/docs/api/types/BasicScope.md +15 -0
- package/docs/api/types/BasicSymbol.md +18 -0
- package/docs/api/types/Binder.md +18 -0
- package/docs/api/types/BinderOptions.md +7 -0
- package/docs/api/types/BrIntrinsicElement.md +5 -0
- package/docs/api/types/BreakParentIntrinsicElement.md +5 -0
- package/docs/api/types/Child.md +5 -0
- package/docs/api/types/Children.md +5 -0
- package/docs/api/types/ChildrenOptions.md +7 -0
- package/docs/api/types/CommonFormatOptions.md +8 -0
- package/docs/api/types/Component.md +8 -0
- package/docs/api/types/ComponentContext.md +11 -0
- package/docs/api/types/ComponentCreator.md +11 -0
- package/docs/api/types/ComponentDefinition.md +7 -0
- package/docs/api/types/ContentOutputFile.md +10 -0
- package/docs/api/types/ContentSlot.md +12 -0
- package/docs/api/types/Context.md +19 -0
- package/docs/api/types/ContextProviderProps.md +8 -0
- package/docs/api/types/CopyFileContext.md +8 -0
- package/docs/api/types/CopyOutputFile.md +9 -0
- package/docs/api/types/CustomContext.md +10 -0
- package/docs/api/types/CustomContextChildrenCallback.md +5 -0
- package/docs/api/types/DeclarationProps.md +5 -0
- package/docs/api/types/DedentIntrinsicElement.md +5 -0
- package/docs/api/types/DedentToRootIntrinsicElement.md +5 -0
- package/docs/api/types/Diagnostic.md +11 -0
- package/docs/api/types/DiagnosticHandle.md +7 -0
- package/docs/api/types/DiagnosticInput.md +10 -0
- package/docs/api/types/DiagnosticSeverity.md +5 -0
- package/docs/api/types/DiagnosticStackEntry.md +9 -0
- package/docs/api/types/DiagnosticsCollector.md +8 -0
- package/docs/api/types/Disposable_2.md +7 -0
- package/docs/api/types/EffectDebugOptions.md +8 -0
- package/docs/api/types/EffectOptions.md +7 -0
- package/docs/api/types/ElementCache.md +5 -0
- package/docs/api/types/ElementCacheKey.md +5 -0
- package/docs/api/types/FillIntrinsicElement.md +5 -0
- package/docs/api/types/ForCallbackArgs.md +5 -0
- package/docs/api/types/ForSupportedCollections.md +5 -0
- package/docs/api/types/GroupIntrinsicElement.md +5 -0
- package/docs/api/types/HardlineIntrinsicElement.md +5 -0
- package/docs/api/types/HbrIntrinsicElement.md +5 -0
- package/docs/api/types/IfBreakIntrinsicElement.md +5 -0
- package/docs/api/types/IndentIfBreakIntrinsicElement.md +5 -0
- package/docs/api/types/IndentIntrinsicElement.md +5 -0
- package/docs/api/types/IntrinsicElement.md +5 -0
- package/docs/api/types/IntrinsicElementBase.md +9 -0
- package/docs/api/types/IntrinsicElements.md +26 -0
- package/docs/api/types/JoinOptions.md +9 -0
- package/docs/api/types/LbrIntrinsicElement.md +5 -0
- package/docs/api/types/LibrarySymbolReference.md +13 -0
- package/docs/api/types/LineIntrinsicElement.md +5 -0
- package/docs/api/types/LineSuffixBoundaryIntrinsicElement.md +5 -0
- package/docs/api/types/LineSuffixIntrinsicElement.md +5 -0
- package/docs/api/types/LiterallineIntrinsicElement.md +5 -0
- package/docs/api/types/MakeChildrenOptional.md +7 -0
- package/docs/api/types/MarkAsRootIntrinsicElement.md +5 -0
- package/docs/api/types/MatchProps.md +9 -0
- package/docs/api/types/MemberDeclarationProps.md +5 -0
- package/docs/api/types/MemberDescriptor.md +10 -0
- package/docs/api/types/MemberRefkey.md +10 -0
- package/docs/api/types/MemberResolutionContext.md +10 -0
- package/docs/api/types/MemberResolver.md +32 -0
- package/docs/api/types/MemberScopeProps.md +5 -0
- package/docs/api/types/Metadata.md +5 -0
- package/docs/api/types/NameConflictResolver.md +27 -0
- package/docs/api/types/NamePolicy.md +8 -0
- package/docs/api/types/NamePolicyGetter.md +9 -0
- package/docs/api/types/Namekey.md +10 -0
- package/docs/api/types/NamekeyOptions.md +8 -0
- package/docs/api/types/OnReactiveSetAddCallback.md +5 -0
- package/docs/api/types/OnReactiveSetDeleteCallback.md +5 -0
- package/docs/api/types/OutputDeclarationSpace.md +13 -0
- package/docs/api/types/OutputDirectory.md +59 -0
- package/docs/api/types/OutputFile.md +5 -0
- package/docs/api/types/OutputFileBase.md +8 -0
- package/docs/api/types/OutputMemberSpace.md +13 -0
- package/docs/api/types/OutputScope.md +33 -0
- package/docs/api/types/OutputScopeOptions.md +9 -0
- package/docs/api/types/OutputSpace.md +7 -0
- package/docs/api/types/OutputSymbol.md +78 -0
- package/docs/api/types/OutputSymbolOptions.md +16 -0
- package/docs/api/types/OutputVisitor.md +10 -0
- package/docs/api/types/PrintHook.md +10 -0
- package/docs/api/types/PrintTreeOptions.md +11 -0
- package/docs/api/types/Props.md +5 -0
- package/docs/api/types/ReactiveUnionSet.md +20 -0
- package/docs/api/types/ReactiveUnionSetOptions.md +8 -0
- package/docs/api/types/Refkey.md +5 -0
- package/docs/api/types/Refkeyable.md +5 -0
- package/docs/api/types/RefkeyableObject.md +7 -0
- package/docs/api/types/RenderableObject.md +9 -0
- package/docs/api/types/RenderedTextTree.md +5 -0
- package/docs/api/types/ResolutionResult.md +39 -0
- package/docs/api/types/ResolveDeclarationByKeyOptions.md +7 -0
- package/docs/api/types/Resource.md +11 -0
- package/docs/api/types/RootOptions.md +7 -0
- package/docs/api/types/SbrIntrinsicElement.md +5 -0
- package/docs/api/types/ScopeProps.md +5 -0
- package/docs/api/types/SoftlineIntrinsicElement.md +5 -0
- package/docs/api/types/SourceLocation.md +9 -0
- package/docs/api/types/SplitProps.md +12 -0
- package/docs/api/types/StcComponentCreator.md +9 -0
- package/docs/api/types/StcSignature.md +5 -0
- package/docs/api/types/StiComponentCreator.md +9 -0
- package/docs/api/types/StiSignature.md +7 -0
- package/docs/api/types/SymbolCreator.md +15 -0
- package/docs/api/types/SymbolRefkey.md +9 -0
- package/docs/api/types/SymbolSlot.md +12 -0
- package/docs/api/types/SymbolTable.md +15 -0
- package/docs/api/types/TakeSymbolCallback.md +7 -0
- package/docs/api/types/TakeSymbolsCallback.md +7 -0
- package/docs/api/types/Tap.md +11 -0
- package/docs/api/types/TapHandler.md +9 -0
- package/docs/api/types/Tapper.md +9 -0
- package/docs/api/types/TemplateVariableProps.md +5 -0
- package/docs/api/types/index.md +122 -0
- package/docs/api/variables/FormatOptions.md +5 -0
- package/docs/api/variables/Match.md +7 -0
- package/docs/api/variables/REFKEYABLE.md +5 -0
- package/docs/api/variables/RENDERABLE.md +5 -0
- package/docs/api/variables/TO_SYMBOL.md +39 -0
- package/docs/api/variables/contextsByKey.md +5 -0
- package/docs/api/variables/index.md +11 -0
- package/docs/api/variables/intrinsicElementKey.md +5 -0
- package/docs/api/variables/matchTag.md +5 -0
- package/docs/api/variables/printHookTag.md +7 -0
- package/docs/components.md +97 -0
- package/docs/context.md +67 -0
- package/docs/control-flow.md +5 -0
- package/docs/debugging.md +105 -0
- package/docs/formatting.md +99 -0
- package/docs/guides/language-package-guide.md +593 -0
- package/docs/guides/references-and-refkeys.md +210 -0
- package/docs/guides/style-guide.md +244 -0
- package/docs/index.md +22 -0
- package/docs/reactivity.md +68 -0
- package/docs/rendering.md +41 -0
- package/docs/symbols-and-scopes.md +180 -0
- package/package.json +15 -5
- package/src/binder.ts +154 -41
- package/src/components/AccessExpression.test.tsx +132 -0
- package/src/components/AccessExpression.tsx +344 -0
- package/src/components/Block.tsx +12 -0
- package/src/components/For.tsx +14 -10
- package/src/components/List.tsx +18 -5
- package/src/components/MemberDeclaration.tsx +6 -6
- package/src/components/MemberName.tsx +6 -0
- package/src/components/MemberScope.tsx +5 -0
- package/src/components/Output.tsx +4 -1
- package/src/components/Scope.tsx +6 -0
- package/src/components/SourceFile.tsx +22 -2
- package/src/components/Switch.tsx +11 -7
- package/src/components/index.tsx +1 -0
- package/src/context/binder.ts +4 -0
- package/src/context/format-options.ts +14 -1
- package/src/context/scope.ts +4 -0
- package/src/context/source-directory.ts +9 -0
- package/src/debug/cli.ts +3 -2
- package/src/debug/diagnostics-broadcast.test.tsx +98 -0
- package/src/debug/diagnostics.test.tsx +3 -2
- package/src/debug/effects.test.tsx +248 -36
- package/src/debug/effects.ts +198 -64
- package/src/debug/files.test.tsx +15 -35
- package/src/debug/files.ts +11 -11
- package/src/debug/index.ts +4 -0
- package/src/debug/message-format.test.tsx +759 -0
- package/src/debug/render-tree-orphans.test.tsx +344 -0
- package/src/debug/render.test.tsx +96 -118
- package/src/debug/render.ts +196 -125
- package/src/debug/source-map.browser.ts +30 -0
- package/src/debug/source-map.ts +135 -0
- package/src/debug/symbols.test.tsx +19 -20
- package/src/debug/symbols.ts +106 -23
- package/src/debug/trace-writer.ts +984 -0
- package/src/debug/trace.ts +46 -32
- package/src/devtools/devtools-protocol.ts +361 -176
- package/src/devtools/devtools-server.browser.ts +4 -9
- package/src/devtools/devtools-server.ts +226 -33
- package/src/devtools/devtools-transport.ts +4 -4
- package/src/devtools-entry.browser.ts +11 -15
- package/src/devtools-entry.ts +9 -15
- package/src/diagnostics.ts +44 -22
- package/src/host/node-host.browser.ts +23 -0
- package/src/host/node-host.ts +22 -0
- package/src/library-symbol-reference.ts +52 -0
- package/src/name-policy.ts +30 -3
- package/src/reactivity.ts +179 -55
- package/src/render-stack.ts +4 -3
- package/src/render.ts +106 -30
- package/src/scheduler.ts +145 -26
- package/src/symbols/output-scope.ts +33 -1
- package/src/symbols/output-space.ts +13 -0
- package/src/symbols/output-symbol.ts +185 -22
- package/src/symbols/symbol-slot.test.tsx +28 -1
- package/src/symbols/symbol-slot.tsx +8 -0
- package/src/symbols/symbol-table.ts +13 -3
- package/src/utils.tsx +7 -4
- package/src/write-output.ts +6 -5
- package/temp/api-testing.json +673 -0
- package/temp/api.json +895 -73
- package/test/browser-build.test.ts +71 -78
- package/test/reactivity/shallow-reactive.test.tsx +4 -0
- package/test/symbols/deconflicted-name.test.ts +120 -0
- package/test/symbols/output-scope.test.ts +38 -0
- package/testing/create-test-wrapper.tsx +81 -2
- package/testing/devtools-utils.ts +46 -4
- package/testing/extend-expect.ts +22 -1
- package/testing/index.ts +1 -1
- package/testing/render.ts +9 -0
- package/testing/vitest.d.ts +18 -3
- package/vitest.config.ts +8 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# NamePolicy
|
|
2
|
+
|
|
3
|
+
## Members
|
|
4
|
+
|
|
5
|
+
| | | |
|
|
6
|
+
| ------- | ----------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
7
|
+
| for | (element: TElements \| undefined) => NamePolicyGetter | Get a function that takes a name and applies the naming policy to it. When `element` is `undefined`, returns an identity function. |
|
|
8
|
+
| getName | (originalName: string, element: TElements \| undefined) => string | Apply the language policy to the provided name for the provided element type. When `element` is `undefined`, returns `originalName` unchanged. |
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# NamePolicyGetter
|
|
2
|
+
|
|
3
|
+
A function that transforms a name according to a naming policy for a specific element kind. Obtained from \[unresolved link].
|
|
4
|
+
|
|
5
|
+
## Members
|
|
6
|
+
|
|
7
|
+
| | | |
|
|
8
|
+
| -------------- | -------------------------------- | - |
|
|
9
|
+
| Call signature | (originalName: string) => string | |
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# OutputDeclarationSpace
|
|
2
|
+
|
|
3
|
+
A symbol table attached to an [OutputScope](../outputscope/). Holds lexical declarations visible within that scope (e.g., “types” or “values” in a TypeScript module).
|
|
4
|
+
|
|
5
|
+
## Members
|
|
6
|
+
|
|
7
|
+
Extends [SymbolTable](../symboltable/)
|
|
8
|
+
|
|
9
|
+
| | | |
|
|
10
|
+
| ----------------- | ------------------------------------------------- | --------------------------------------------------------------- |
|
|
11
|
+
| \[inspect.custom] | () => string | |
|
|
12
|
+
| constructor | (scope: OutputScope, key: string, binder: Binder) | Constructs a new instance of the [`OutputDeclarationSpace`](OutputDeclarationSpace.md) class |
|
|
13
|
+
| scope | [OutputScope](../outputscope/) | The scope this declaration space belongs to. |
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# OutputDirectory
|
|
2
|
+
|
|
3
|
+
Turning components into source text involves three different trees produced sequentially:
|
|
4
|
+
|
|
5
|
+
1. Component tree, built by the nesting of components
|
|
6
|
+
2. Rendered text tree, produced by *rendering* the component tree
|
|
7
|
+
3. Document tree, produced by *printing* the rendered text tree
|
|
8
|
+
|
|
9
|
+
Finally, the document tree is converted to text via `prettier`. Let’s look at each of these trees and the conversions in detail.
|
|
10
|
+
|
|
11
|
+
# Component tree
|
|
12
|
+
|
|
13
|
+
The component tree is built by JSX or STC templates. The nodes in this tree are defined by the type [`Child`](Child.md) and are one of the following
|
|
14
|
+
|
|
15
|
+
## Primitive values
|
|
16
|
+
|
|
17
|
+
Strings in the tree are placed into the rendered text tree as-is. Numbers are converted to strings. Falsy primitive values and booleans are converted to empty strings (and may cause a line break to be ignored, see below).
|
|
18
|
+
|
|
19
|
+
## Nullary functions
|
|
20
|
+
|
|
21
|
+
Nullary functions represent computed or reactive values in the component tree, such as expressions placed into a JSX template with curly brackets. Nullary functions return [`Children`](Children.md) which are then recursively rendered. Nullary functions are invoked in an effect which will update the rendered text tree when any reactive dependencies change.
|
|
22
|
+
|
|
23
|
+
## Component creators
|
|
24
|
+
|
|
25
|
+
Component creators are a special kind of nullary function which instantiate components in order to get their children which are then recursively rendered. Component creators have some special rendering behavior, such as tracking the stack of rendered components. Like other nullary functions, component creators are invoked in an effect which will update the rendered text tree when any reactive dependencies change.
|
|
26
|
+
|
|
27
|
+
## Refs
|
|
28
|
+
|
|
29
|
+
Refs are wrapped in a nullary function and rendered in an effect which will update the rendered text tree when the ref’s value changes. This is essentially a syntactic convenience, allowing JSX templates to contain `\{ someRef \}` instead of `\{ someRef.value \}`.
|
|
30
|
+
|
|
31
|
+
## Refkey
|
|
32
|
+
|
|
33
|
+
Refkeys are replaced with a component creator for the Reference component associated with the current source file. This allows creating references by placing them directly in the component tree e.g. `{ someRefkey }`.
|
|
34
|
+
|
|
35
|
+
## CustomContext
|
|
36
|
+
|
|
37
|
+
CustomContext is a special kind of component which allows rendering children within a custom reactive context. This enables components to manually manage the lifetime of their reactive contexts.
|
|
38
|
+
|
|
39
|
+
## IntrinsicElement
|
|
40
|
+
|
|
41
|
+
Various intrinsic elements exist to control formatting. These elements provide Print Hooks that are called during Printing.
|
|
42
|
+
|
|
43
|
+
# Rendered Text Tree
|
|
44
|
+
|
|
45
|
+
This tree is a nested array structure containing the rendered output of all the components in the component tree. This structure is updated reactively when reactive dependencies change. The nodes in this tree are predominantly strings, but can also be Print Hooks.
|
|
46
|
+
|
|
47
|
+
This tree is built by the `renderTree` function.
|
|
48
|
+
|
|
49
|
+
# Document Tree
|
|
50
|
+
|
|
51
|
+
This tree is constructed by calling `printTree` on the rendered text tree. The rendered text tree is walked and the appropriate Prettier builders are called to produce a document tree. The result is then passed to Prettier’s `printDocToString` function to produce the final source text.
|
|
52
|
+
|
|
53
|
+
## Members
|
|
54
|
+
|
|
55
|
+
| | | |
|
|
56
|
+
| -------- | --------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- |
|
|
57
|
+
| contents | ([OutputDirectory](../outputdirectory/) \| [OutputFile](../outputfile/))\[] | |
|
|
58
|
+
| kind | ”directory” | |
|
|
59
|
+
| path | string | Full path from the output root, e.g. `"generated-client/src"`. Do not prepend parent directory paths when walking the tree. |
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# OutputFileBase
|
|
2
|
+
|
|
3
|
+
## Members
|
|
4
|
+
|
|
5
|
+
| | | |
|
|
6
|
+
| ---- | ------ | -------------------------------------------------------------------------------------------------------------------------------------- |
|
|
7
|
+
| kind | ”file” | |
|
|
8
|
+
| path | string | Full path from the output root, e.g. `"generated-client/src/models.ext"`. Do not prepend parent directory paths when walking the tree. |
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# OutputMemberSpace
|
|
2
|
+
|
|
3
|
+
A symbol table attached to an [OutputSymbol](../outputsymbol/). Holds member declarations belonging to that symbol (e.g., “static” or “instance” members of a class).
|
|
4
|
+
|
|
5
|
+
## Members
|
|
6
|
+
|
|
7
|
+
Extends [SymbolTable](../symboltable/)
|
|
8
|
+
|
|
9
|
+
| | | |
|
|
10
|
+
| ----------------- | --------------------------------------------------- | ---------------------------------------------------------- |
|
|
11
|
+
| \[inspect.custom] | () => string | |
|
|
12
|
+
| constructor | (symbol: OutputSymbol, key: string, binder: Binder) | Constructs a new instance of the [`OutputMemberSpace`](OutputMemberSpace.md) class |
|
|
13
|
+
| symbol | [OutputSymbol](../outputsymbol/) | The symbol this member space belongs to. |
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# OutputScope
|
|
2
|
+
|
|
3
|
+
A container of symbols accessible within some scope in your output code.
|
|
4
|
+
|
|
5
|
+
## Members
|
|
6
|
+
|
|
7
|
+
| | | |
|
|
8
|
+
| ----------------- | ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
9
|
+
| \_\_v\_skip | boolean | |
|
|
10
|
+
| \[inspect.custom] | () => string | |
|
|
11
|
+
| constructor | (name: string, parentScope: OutputScope \| undefined, options: OutputScopeOptions) | Subclasses must forward all three positional arguments to `super`. See [createScope](../../functions/createscope/) for the preferred instantiation path. |
|
|
12
|
+
| binder | [Binder](../binder/) \| undefined | The binder that created this scope. |
|
|
13
|
+
| children | Set<[OutputScope](../outputscope/)> | The scopes nested within this scope. |
|
|
14
|
+
| debugInfo | Record\<string, unknown> | |
|
|
15
|
+
| declarationSpaces | Readonly\<string\[]> | The declaration space keys for this scope type. Subclasses override this to declare which declaration spaces are created on construction (e.g., `["types", "values"]`). |
|
|
16
|
+
| id | number | The unique id of this scope. |
|
|
17
|
+
| isMemberScope | boolean | Check if this is scope is a member scope. Member scopes have no member spaces of their own, but instead put members of their owner symbol in scope. |
|
|
18
|
+
| isTransient | boolean | Whether this scope is a transient scope. Transient scopes are used for temporary values that are to be combined with other non-transient symbols. Scopes are transient when their owner symbol is transient. |
|
|
19
|
+
| metadata | Record\<string, unknown> | Arbitrary metadata associated with this scope. This property is not reactive but the metadata object is a reactive object. |
|
|
20
|
+
| name | string | The name of the scope. |
|
|
21
|
+
| ownerSymbol | [OutputSymbol](../outputsymbol/) \| undefined | The symbol whose members are in scope. When an owner symbol is present, this scope is considered a member scope, and does not provide its own declaration spaces. |
|
|
22
|
+
| parent | [OutputScope](../outputscope/) \| undefined | The parent scope of this scope. Undefined if this is a root scope. |
|
|
23
|
+
| spaceFor | (key: string) => OutputSpace \| undefined | Get the declaration space for the given key (e.g., `"types"`, `"values"`). Returns `undefined` when no space with that key exists on this scope. |
|
|
24
|
+
| spaces | [OutputDeclarationSpace](../outputdeclarationspace/)\[] | Get all the declaration spaces in this scope. |
|
|
25
|
+
| toString | () => string | |
|
|
26
|
+
|
|
27
|
+
## Remarks
|
|
28
|
+
|
|
29
|
+
Scopes form a tree. All scopes except the global scope have a parent scope identified by `parent`. Scopes can have nested scopes which can be accessed using the `children` property. Whether a child scope can be accessed from the parent scope is determined by each language’s scoping rules.
|
|
30
|
+
|
|
31
|
+
This interface is the base implementation of scope. Generally, most languages will have subtypes of this interface that provide additional metadata about the scope. For example, TypeScript scopes need to track whether the scope represents a package, module, class, function, etc.
|
|
32
|
+
|
|
33
|
+
Scopes are reactive values, which allows you to observe changes to the scope within a reactive context.
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# OutputScopeOptions
|
|
2
|
+
|
|
3
|
+
## Members
|
|
4
|
+
|
|
5
|
+
| | | |
|
|
6
|
+
| ----------- | ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
7
|
+
| binder | optional [Binder](../binder/) | The binder instance this scope belongs to. If not provided, it will attempt to find the current binder from context. |
|
|
8
|
+
| metadata | optional Record\<string, unknown> | Arbitrary metadata that is associated with this scope. |
|
|
9
|
+
| ownerSymbol | optional [OutputSymbol](../outputsymbol/) | The owner symbol of this scope. When provided, this scope becomes a member scope, which exposes the symbols on its owner symbol instead of having its own declaration spaces. |
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# OutputSymbol
|
|
2
|
+
|
|
3
|
+
An output symbol is a named entity that can be referenced in your output code.
|
|
4
|
+
|
|
5
|
+
## Members
|
|
6
|
+
|
|
7
|
+
| | | |
|
|
8
|
+
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
9
|
+
| \_\_v\_skip | boolean | |
|
|
10
|
+
| \[inspect.custom] | () => string | |
|
|
11
|
+
| constructor | (name: string \| Namekey, spaces: OutputSpace\[] \| OutputSpace \| undefined, options: OutputSymbolOptions) | Constructs a new instance of the [`OutputSymbol`](OutputSymbol.md) class |
|
|
12
|
+
| aliasTarget | [OutputSymbol](../outputsymbol/) \| undefined | The symbol that this symbol is an alias for. |
|
|
13
|
+
| binder | [Binder](../binder/) \| undefined | The binder that is tracking this symbol. |
|
|
14
|
+
| canonicalName | string | The canonical requested name for this symbol: the result of applying the symbol’s name policy to its originalName, or the original name itself when no policy applies. This is the name the symbol would carry if there were no conflicts, and is stable across the symbol’s lifetime (it depends only on the immutable `originalName` and the name policy). Used by [SymbolTable](../symboltable/) as the grouping key for name-conflict resolution, so that symbols whose original names normalize to the same policy-applied name (e.g. `foo_bar` and `fooBar` under camelCase) are recognized as conflicting. |
|
|
15
|
+
| copy | () => OutputSymbol | Create a clone of this symbol whose name and flags reactively track the original. |
|
|
16
|
+
| copyMembersTo | (targetSymbol: OutputSymbol) => void | Copy the members of this symbol to the target symbol. This is reactive - whenever a member is added to this symbol, it will be copied to the target symbol. |
|
|
17
|
+
| copyToSpace | (space: OutputSpace) => OutputSymbol | Copy this symbol into the given space. Calls \[unresolved link] and places the result in `space`, then returns the copy. |
|
|
18
|
+
| dealias | () => OutputSymbol | If this symbol is an alias for another symbol, return the the aliased symbol. Otherwise, return this symbol. |
|
|
19
|
+
| debugInfo | Record\<string, unknown> | |
|
|
20
|
+
| deconflictedName | string \| undefined | The name assigned by a name-conflict resolver, or `undefined` when the symbol is not currently renamed by conflict resolution. Resolvers should assign to this slot (rather than `name`) to record that a rename exists only because of a conflict. On re-deconfliction (e.g. after a conflicting symbol is removed), resolvers clear this slot by assigning `undefined`; the effective name then falls back to the user-assigned name, which in turn falls back to the original name. Name policy is applied to values written here (unless `ignoreNamePolicy` is true), matching `name`‘s behavior. |
|
|
21
|
+
| delete | () => void | |
|
|
22
|
+
| protected getCopyOptions | () => { binder: Binder \| undefined; aliasTarget: OutputSymbol \| undefined; metadata: Record\<string, unknown>; transient: boolean; } | |
|
|
23
|
+
| hasTypeSymbol | boolean | Whether this symbol has its symbol representing its type available. |
|
|
24
|
+
| id | number | The unique id of this symbol. |
|
|
25
|
+
| ignoreNameConflict | boolean | Whether the name of this symbol bypasses the active name conflict resolution. When true, the name of this symbol will be fixed, though it may conflict with other symbols which are also ignoring name conflict resolution. |
|
|
26
|
+
| ignoreNamePolicy | boolean | Whether the name of this symbol bypasses the active name policy. When true, the name of this symbol will be fixed, though it may conflict with other symbols which are also ignoring the name policy. |
|
|
27
|
+
| protected initializeCopy | (copy: OutputSymbol) => void | Wires up reactive member-space copying and name tracking from this symbol to its `copy`. |
|
|
28
|
+
| isAlias | boolean | Whether this symbol is an alias for another symbol. |
|
|
29
|
+
| isMemberSymbol | boolean | Whether this symbol is a member of another symbol. |
|
|
30
|
+
| isMoved | boolean | Whether this symbol’s members have been moved to another symbol. |
|
|
31
|
+
| isTransient | boolean | Whether this symbol is a transient symbol. Transient symbols cannot be referenced and are meant to be combined with other symbols. |
|
|
32
|
+
| isTyped | boolean | Whether this symbol’s members are provided by a type symbol. The `typeSymbol` property is this symbol. It may not be available yet, so check `hasTypeSymbol`. |
|
|
33
|
+
| memberSpaceFor | (spaceKey: string) => OutputMemberSpace \| undefined | Get the member space for the given key. |
|
|
34
|
+
| memberSpaces | [OutputMemberSpace](../outputmemberspace/)\[] | The member spaces of this symbol. |
|
|
35
|
+
| memberSpaces | Readonly\<string\[]> | The member space keys for this symbol type. Subclasses override this to declare which member spaces are created on construction (e.g., `["static", "instance"]`). |
|
|
36
|
+
| metadata | Record\<string, unknown> | An arbitrary bag of metadata for this symbol. This property is read only, but the metadata is a reactive object. |
|
|
37
|
+
| movedTo | [OutputSymbol](../outputsymbol/) \| undefined | The symbol that this symbol’s members have been moved to. |
|
|
38
|
+
| moveMembersTo | (targetSymbol: OutputSymbol) => void | Move member symbols from this transient symbol to the target symbol. This is reactive - whenever a member is added to this symbol, it will be moved to the target symbol. |
|
|
39
|
+
| name | string | The name of this symbol. Assigning to this property applies the active name policy (unless `ignoreNamePolicy` is true) before storing the value. The effective name is computed as `deconflictedName ?? userName`, so if a name-conflict resolver has assigned a deconflictedName, that value is returned here; otherwise the value most recently assigned to `name` is returned. |
|
|
40
|
+
| namePolicy | [NamePolicyGetter](../namepolicygetter/) \| undefined | |
|
|
41
|
+
| originalName | string | Read only. The requested name of this symbol. The symbol’s actual name may be different depending on naming policy or conflicts with other symbols. |
|
|
42
|
+
| ownerSymbol | [OutputSymbol](../outputsymbol/) \| undefined | When this is a member symbol, this returns the symbol that this is symbol is a member of. |
|
|
43
|
+
| refkeys | [Refkey](../refkey/)\[] | The refkeys for this symbol. |
|
|
44
|
+
| resolveMemberByName | (name: string) => OutputSymbol \| undefined | Get a member symbol by name from this symbol’s member spaces. Checks member spaces in order until it finds a member with that name. |
|
|
45
|
+
| scope | import(”./output-scope.js”).[OutputScope](../outputscope/) \| undefined | The scope this symbol is in. When this symbol is a member symbol, this will return undefined. |
|
|
46
|
+
| spaces | [OutputSpace](../outputspace/)\[] | The declaration or member spaces this symbol belongs to. |
|
|
47
|
+
| toString | () => string | |
|
|
48
|
+
| type | [OutputSymbol](../outputsymbol/) \| undefined | The symbol which defines the type of this symbol. The type symbol provides information about the value this symbol contains, such as what members it has. |
|
|
49
|
+
|
|
50
|
+
## Remarks
|
|
51
|
+
|
|
52
|
+
This is an abstract base class. Language packages must subclass it and implement the abstract copy() method, which creates a clone that tracks the original’s name and flags.
|
|
53
|
+
|
|
54
|
+
Subtypes typically add language-specific properties (e.g., accessibility, static/abstract flags). Symbols are reactive values, so you can observe changes to their properties in a reactive context.
|
|
55
|
+
|
|
56
|
+
To construct a scopeless external library symbol — one that resolves via refkey but does not appear in any declaration space — pass `undefined` as the `spaces` constructor argument and supply `{ binder }` in `options`. See [OutputSymbolOptions](../outputsymboloptions/) (`binder` option) and [TO\_SYMBOL](../../variables/to_symbol/).
|
|
57
|
+
|
|
58
|
+
## Example
|
|
59
|
+
|
|
60
|
+
```ts
|
|
61
|
+
import { createSymbol, OutputSymbol, OutputSpace } from "@alloy-js/core";
|
|
62
|
+
|
|
63
|
+
class MySymbol extends OutputSymbol {
|
|
64
|
+
copy() {
|
|
65
|
+
// getCopyOptions() already includes binder
|
|
66
|
+
const opts = this.getCopyOptions();
|
|
67
|
+
const sym = createSymbol(MySymbol, this.name, undefined, opts);
|
|
68
|
+
this.initializeCopy(sym);
|
|
69
|
+
return sym;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// name: string | Namekey; spaces: OutputSpace | OutputSpace[] | undefined; options: OutputSymbolOptions
|
|
74
|
+
const sym = createSymbol(MySymbol, namekey, scope.symbols, { binder });
|
|
75
|
+
|
|
76
|
+
// Construct a scopeless external library symbol (resolves via refkey only):
|
|
77
|
+
const extSym = createSymbol(MySymbol, namekey, undefined, { binder });
|
|
78
|
+
```
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
# OutputSymbolOptions
|
|
2
|
+
|
|
3
|
+
## Members
|
|
4
|
+
|
|
5
|
+
| | | |
|
|
6
|
+
| --------------------- | ----------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
7
|
+
| aliasTarget | optional [OutputSymbol](../outputsymbol/) | The symbol this symbol is an alias for. |
|
|
8
|
+
| binder | optional [Binder](../binder/) | The binder instance associated with this symbol. Symbol updates and changes will be reported to this binder. This binder will be able to find this symbol via its refkey and other means. Without a binder, this symbol will be unbound, which means it cannot be referenced by refkey. When constructing an external library symbol, pass `{ binder }` here to ensure the symbol is registered with the binder. See [TO\_SYMBOL](../../variables/to_symbol/) for the full implementation protocol. |
|
|
9
|
+
| ignoreNameConflict | optional boolean | Whether the name of this symbol should bypass the active name conflict resolution. When true, the name of this symbol will be fixed, though it may conflict with other symbols which are also ignoring name conflict resolution. |
|
|
10
|
+
| ignoreNamePolicy | optional boolean | Whether the name of this symbol should bypass the active name policy. When true, the name of this symbol will be fixed, though it may conflict with other symbols which are also ignoring the name policy. |
|
|
11
|
+
| lazyMemberInitializer | optional () => void | Provide a function which lazy-initializes members the first time `resolveMemberByName()` is called on this symbol. Called at most once. Only `resolveMemberByName()` triggers this callback — iterating [`OutputMemberSpace`](OutputMemberSpace.md) directly does not. The callback fires regardless of whether the symbol belongs to any scope, so it is safe to use on scopeless external library symbols. |
|
|
12
|
+
| metadata | optional Record\<string, unknown> | Arbitrary metadata about this symbol. |
|
|
13
|
+
| namePolicy | optional [NamePolicyGetter](../namepolicygetter/) | When provided, this symbol will be named according to the provided name policy. |
|
|
14
|
+
| refkeys | optional [Refkey](../refkey/) \| [Refkey](../refkey/)\[] | The refkey or refkeys associated with this symbol. |
|
|
15
|
+
| transient | optional boolean | Whether this symbol is transient. |
|
|
16
|
+
| type | optional [OutputSymbol](../outputsymbol/) \| Ref<[OutputSymbol](../outputsymbol/) \| undefined> | The symbol that provides type information for this symbol. When present, this symbol will not contain its own members, and instead members will be provided by the type. This can be provided a Ref, in which case the type will be the value of that ref. |
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# OutputVisitor
|
|
2
|
+
|
|
3
|
+
A visitor to collect the output from [render](../../functions/render/). Used by [traverseOutput](../../functions/traverseoutput/).
|
|
4
|
+
|
|
5
|
+
## Members
|
|
6
|
+
|
|
7
|
+
| | | |
|
|
8
|
+
| -------------- | ------------------------------------ | - |
|
|
9
|
+
| visitDirectory | (directory: OutputDirectory) => void | |
|
|
10
|
+
| visitFile | (file: OutputFile) => void | |
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# PrintHook
|
|
2
|
+
|
|
3
|
+
## Members
|
|
4
|
+
|
|
5
|
+
| | | |
|
|
6
|
+
| --------------- | ---------------------------------------------------------------------------------------------------------------- | - |
|
|
7
|
+
| \[printHookTag] | true | |
|
|
8
|
+
| print | (tree: RenderedTextTree, print: (subtree: RenderedTextTree) => import(“prettier”).Doc) => import(“prettier”).Doc | |
|
|
9
|
+
| subtree | [RenderedTextTree](../renderedtexttree/) | |
|
|
10
|
+
| transform | (tree: RenderedTextTree) => RenderedTextTree | |
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# PrintTreeOptions
|
|
2
|
+
|
|
3
|
+
## Members
|
|
4
|
+
|
|
5
|
+
| | | |
|
|
6
|
+
| ------------------ | ---------------- | ------------------------------------------------------------------------------ |
|
|
7
|
+
| insertFinalNewLine | optional boolean | If files should end with a final new line. |
|
|
8
|
+
| noFlush | optional boolean | Skip flushing scheduled jobs before printing. |
|
|
9
|
+
| printWidth | optional number | The number of characters the printer will wrap on. Defaults to 100 characters. |
|
|
10
|
+
| tabWidth | optional number | The number of spaces to use for indentation. Defaults to 2 spaces. |
|
|
11
|
+
| useTabs | optional boolean | Whether to use tabs instead of spaces for indentation. Defaults to false. |
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# ReactiveUnionSet
|
|
2
|
+
|
|
3
|
+
## Members
|
|
4
|
+
|
|
5
|
+
Extends Set\<T>
|
|
6
|
+
|
|
7
|
+
| | | |
|
|
8
|
+
| ------------------ | --------------------------------------------------------------------------------------------------- | --------------------------------------------------------- |
|
|
9
|
+
| \_\_v\_isReactive | boolean | |
|
|
10
|
+
| \[Symbol.iterator] | () => SetIterator\<T> | |
|
|
11
|
+
| constructor | (options: ReactiveUnionSetOptions\<T>) | Constructs a new instance of the [`ReactiveUnionSet`](ReactiveUnionSet.md) class |
|
|
12
|
+
| add | (item: T) => this | |
|
|
13
|
+
| addSubset | (subset: Set\<T>, options: ReactiveUnionSetOptions\<T>) => void | |
|
|
14
|
+
| createDerivedSet | (mapper: (value: T) => U \| U\[]) => Readonly\<import(“@vue/reactivity”).ShallowReactive\<Set\<U>>> | |
|
|
15
|
+
| createIndex | (mapper: (value: T) => U \| U\[]) => ReadonlyMap\<U, T> | |
|
|
16
|
+
| delete | (item: T) => boolean | |
|
|
17
|
+
| entries | () => SetIterator<\[T, T]> | |
|
|
18
|
+
| keys | () => SetIterator\<T> | |
|
|
19
|
+
| size | number | |
|
|
20
|
+
| values | () => SetIterator\<T> | |
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
# ReactiveUnionSetOptions
|
|
2
|
+
|
|
3
|
+
## Members
|
|
4
|
+
|
|
5
|
+
| | | |
|
|
6
|
+
| -------- | --------------------------------------------------------------------------- | - |
|
|
7
|
+
| onAdd | optional [OnReactiveSetAddCallback](../onreactivesetaddcallback/)\<T> | |
|
|
8
|
+
| onDelete | optional [OnReactiveSetDeleteCallback](../onreactivesetdeletecallback/)\<T> | |
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# RenderableObject
|
|
2
|
+
|
|
3
|
+
A renderable object is any object that has an `[ay.RENDERABLE]` method that returns children. This is used to allow custom object types to be used as children in Alloy components.
|
|
4
|
+
|
|
5
|
+
## Members
|
|
6
|
+
|
|
7
|
+
| | | |
|
|
8
|
+
| ------------- | -------------- | -------------------------------- |
|
|
9
|
+
| \[RENDERABLE] | () => Children | Renders this object to children. |
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# ResolutionResult
|
|
2
|
+
|
|
3
|
+
A successful resolution of a refkey.
|
|
4
|
+
|
|
5
|
+
## Members
|
|
6
|
+
|
|
7
|
+
| | | |
|
|
8
|
+
| ------------------ | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
9
|
+
| commonScope | TScope \| undefined | The lexical scope which contains both the reference and the lexical declaration. Undefined when they do not share a common scope. |
|
|
10
|
+
| fullReferencePath | TScope\[] | The scopes from the root to the scope of the reference. |
|
|
11
|
+
| fullSymbolPath | TScope\[] | The scopes from the root to scope of the lexical declaration. |
|
|
12
|
+
| lexicalDeclaration | TSymbol | When the symbol is a member symbol, this is the symbol of the lexical declaration which contains this member symbol, either as one of its own member symbols, or as a member of one of its members. When the symbol is a non-member symbol, this is the same as `symbol`. |
|
|
13
|
+
| memberPath | TSymbol\[] | Member symbols from the lexical declaration (exclusive) to the resolved symbol (inclusive). Empty when resolving a non-member symbol. |
|
|
14
|
+
| pathDown | TScope\[] | The scopes between the common scope and the declaration. |
|
|
15
|
+
| pathUp | TScope\[] | The scopes between the common scope and the reference. |
|
|
16
|
+
| symbol | TSymbol | The resolved symbol. May be declared in a lexical scope or be a member symbol. |
|
|
17
|
+
|
|
18
|
+
## Example
|
|
19
|
+
|
|
20
|
+
Let’s say we have the following scopes and symbols:
|
|
21
|
+
|
|
22
|
+
```
|
|
23
|
+
scope: global scope
|
|
24
|
+
├── scope: namespace scope 1
|
|
25
|
+
│ └── symbol: foo
|
|
26
|
+
│ └── static members
|
|
27
|
+
│ └── symbol: bar
|
|
28
|
+
└── scope: namespace scope 2
|
|
29
|
+
└── (resolve bar from here)
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
When we resolve the refkey for `bar` from within `namespace scope 2`, we will get the following resolution result:
|
|
33
|
+
|
|
34
|
+
* **targetDeclaration**: symbol bar, the symbol we resolved.
|
|
35
|
+
* **commonScope**: global scope, because this is the most specific scope that contains both the declaration and the reference.
|
|
36
|
+
* **pathUp**: \[namespace scope 2], because this is the scope between the reference and the common scope.
|
|
37
|
+
* **pathDown**: \[namespace scope 1], because this is the scope between the common scope and the declaration
|
|
38
|
+
* **memberPath**: \[bar]
|
|
39
|
+
* **lexicalDeclaration**: foo For deeper chains (e.g., foo.bar.baz where bar and baz are member symbols, foo is not): memberPath = \[bar, baz], lexicalDeclaration = foo.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Resource
|
|
2
|
+
|
|
3
|
+
Represents an external resource fetched asynchronously.
|
|
4
|
+
|
|
5
|
+
## Members
|
|
6
|
+
|
|
7
|
+
| | | |
|
|
8
|
+
| ------- | ------------- | ------------------------------------------------------------------------------------------ |
|
|
9
|
+
| data | T \| null | The data if it’s been loaded successfully. Null when not yet loaded or there was an error. |
|
|
10
|
+
| error | null \| Error | The error loading the resource, if any. |
|
|
11
|
+
| loading | boolean | Whether the resource is still being fetched. |
|