@alloy-js/core 0.23.0-dev.12 → 0.23.0-dev.15
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/api-extractor.json +1 -8
- package/api-extractor.testing.json +19 -0
- package/dist/dev/src/binder.js +108 -1
- package/dist/dev/src/binder.js.map +1 -1
- package/dist/dev/src/components/Block.js +17 -5
- package/dist/dev/src/components/Block.js.map +1 -1
- package/dist/dev/src/components/List.js +1 -1
- package/dist/dev/src/components/List.js.map +1 -1
- package/dist/dev/src/components/MemberDeclaration.js +6 -6
- package/dist/dev/src/components/MemberName.js +7 -0
- package/dist/dev/src/components/MemberName.js.map +1 -1
- package/dist/dev/src/components/MemberScope.js +7 -2
- package/dist/dev/src/components/MemberScope.js.map +1 -1
- package/dist/dev/src/components/Output.js +4 -4
- package/dist/dev/src/components/Output.js.map +1 -1
- package/dist/dev/src/components/Scope.js +7 -1
- package/dist/dev/src/components/Scope.js.map +1 -1
- package/dist/dev/src/components/SourceFile.js +3 -3
- package/dist/dev/src/components/SourceFile.js.map +1 -1
- package/dist/dev/src/context/binder.js +5 -0
- package/dist/dev/src/context/binder.js.map +1 -1
- package/dist/dev/src/context/format-options.js +14 -1
- package/dist/dev/src/context/format-options.js.map +1 -1
- package/dist/dev/src/context/scope.js +5 -0
- package/dist/dev/src/context/scope.js.map +1 -1
- package/dist/dev/src/context/source-directory.js +9 -0
- package/dist/dev/src/context/source-directory.js.map +1 -1
- package/dist/dev/src/debug/cli.js +3 -2
- package/dist/dev/src/debug/cli.js.map +1 -1
- 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/trace.js +7 -6
- package/dist/dev/src/debug/trace.js.map +1 -1
- 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/library-symbol-reference.js +54 -0
- package/dist/dev/src/library-symbol-reference.js.map +1 -1
- package/dist/dev/src/name-policy.js +27 -0
- package/dist/dev/src/name-policy.js.map +1 -1
- package/dist/dev/src/reactivity.js +16 -0
- package/dist/dev/src/reactivity.js.map +1 -1
- package/dist/dev/src/render-stack.js +4 -3
- package/dist/dev/src/render-stack.js.map +1 -1
- package/dist/dev/src/render.js.map +1 -1
- package/dist/dev/src/symbols/output-scope.js +34 -1
- package/dist/dev/src/symbols/output-scope.js.map +1 -1
- package/dist/dev/src/symbols/output-space.js +15 -0
- package/dist/dev/src/symbols/output-space.js.map +1 -1
- package/dist/dev/src/symbols/output-symbol.js +81 -11
- package/dist/dev/src/symbols/output-symbol.js.map +1 -1
- package/dist/dev/src/symbols/symbol-slot.js +7 -0
- package/dist/dev/src/symbols/symbol-slot.js.map +1 -1
- package/dist/dev/src/symbols/symbol-slot.test.js +27 -2
- package/dist/dev/src/symbols/symbol-slot.test.js.map +1 -1
- package/dist/dev/src/write-output.js +6 -5
- package/dist/dev/src/write-output.js.map +1 -1
- package/dist/dev/test/browser-build.test.js +67 -68
- package/dist/dev/test/browser-build.test.js.map +1 -1
- package/dist/dev/testing/create-test-wrapper.js +59 -5
- package/dist/dev/testing/create-test-wrapper.js.map +1 -1
- package/dist/dev/testing/extend-expect.js +20 -0
- package/dist/dev/testing/extend-expect.js.map +1 -1
- package/dist/dev/testing/index.js +1 -1
- package/dist/dev/testing/index.js.map +1 -1
- package/dist/dev/testing/render.js +11 -0
- package/dist/dev/testing/render.js.map +1 -1
- package/dist/src/binder.d.ts +107 -3
- package/dist/src/binder.d.ts.map +1 -1
- package/dist/src/binder.js +108 -1
- package/dist/src/binder.js.map +1 -1
- 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/List.d.ts +11 -1
- package/dist/src/components/List.d.ts.map +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/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/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/trace.d.ts.map +1 -1
- package/dist/src/debug/trace.js +7 -6
- package/dist/src/debug/trace.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 +15 -0
- package/dist/src/reactivity.d.ts.map +1 -1
- package/dist/src/reactivity.js +16 -0
- 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.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 +93 -12
- package/dist/src/symbols/output-symbol.d.ts.map +1 -1
- package/dist/src/symbols/output-symbol.js +81 -11
- 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/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 +67 -68
- package/dist/test/browser-build.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/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/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 +76 -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 +8 -4
- package/src/binder.ts +107 -3
- package/src/components/Block.tsx +12 -0
- package/src/components/List.tsx +11 -1
- 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/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/source-map.browser.ts +30 -0
- package/src/debug/trace.ts +7 -6
- 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 +15 -0
- package/src/render-stack.ts +4 -3
- package/src/render.ts +2 -0
- package/src/symbols/output-scope.ts +33 -1
- package/src/symbols/output-space.ts +13 -0
- package/src/symbols/output-symbol.ts +93 -12
- package/src/symbols/symbol-slot.test.tsx +28 -1
- package/src/symbols/symbol-slot.tsx +8 -0
- package/src/write-output.ts +6 -5
- package/temp/api-testing.json +673 -0
- package/temp/api.json +48 -47
- package/test/browser-build.test.ts +71 -78
- package/testing/create-test-wrapper.tsx +81 -2
- package/testing/extend-expect.ts +22 -1
- package/testing/index.ts +1 -1
- package/testing/render.ts +9 -0
- package/testing/vitest.d.ts +3 -8
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# symbolForRefkey
|
|
2
|
+
|
|
3
|
+
Get a ref to the symbol for the given refkey using the current binder. The value of the ref will be undefined when no symbol with that refkey has been created.
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
import { symbolForRefkey } from "@alloy-js/core";
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
function symbolForRefkey(refkey: Refkeyable): Ref<OutputSymbol | undefined, OutputSymbol | undefined>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Parameters
|
|
13
|
+
|
|
14
|
+
| | | |
|
|
15
|
+
| ------ | ---------- | - |
|
|
16
|
+
| refkey | Refkeyable | |
|
|
17
|
+
|
|
18
|
+
## Returns
|
|
19
|
+
|
|
20
|
+
Ref<[OutputSymbol](../../types/outputsymbol/) | undefined, [OutputSymbol](../../types/outputsymbol/) | undefined>
|
|
21
|
+
|
|
22
|
+
## Remarks
|
|
23
|
+
|
|
24
|
+
This API may return a ref for undefined, but that does not mean that the symbol is not found. The symbol you’re looking for may not have been declared yet. When the symbol is declared, the ref will be updated with the symbol.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# taggedComponent
|
|
2
|
+
|
|
3
|
+
```ts
|
|
4
|
+
import { taggedComponent } from "@alloy-js/core";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
function taggedComponent<TProps = Props>(tag: symbol, component: Component<TProps>): Component<TProps> & Required<Pick<Component<TProps>, "tag">>;
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Parameters
|
|
11
|
+
|
|
12
|
+
| | | |
|
|
13
|
+
| --------- | ------------------ | - |
|
|
14
|
+
| tag | symbol | |
|
|
15
|
+
| component | Component\<TProps> | |
|
|
16
|
+
|
|
17
|
+
## Returns
|
|
18
|
+
|
|
19
|
+
[Component](../../../typescript/components/ensuretyperefcontext/)\<TProps> & Required\<Pick<[Component](../../../typescript/components/ensuretyperefcontext/)\<TProps>, “tag”>>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# takeSymbols
|
|
2
|
+
|
|
3
|
+
```ts
|
|
4
|
+
import { takeSymbols } from "@alloy-js/core";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
function takeSymbols(cb?: (symbol: OutputSymbol) => void): import("@vue/reactivity").ShallowReactive<Set<OutputSymbol>>;
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Parameters
|
|
11
|
+
|
|
12
|
+
| | | |
|
|
13
|
+
| -- | --------------------------------------- | - |
|
|
14
|
+
| cb | optional (symbol: OutputSymbol) => void | |
|
|
15
|
+
|
|
16
|
+
## Returns
|
|
17
|
+
|
|
18
|
+
import(“@vue/reactivity”).ShallowReactive\<Set<[OutputSymbol](../../types/outputsymbol/)>>
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# text
|
|
2
|
+
|
|
3
|
+
```ts
|
|
4
|
+
import { text } from "@alloy-js/core";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
function text(template: TemplateStringsArray, ...substitutions: Children[]): Children;
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Parameters
|
|
11
|
+
|
|
12
|
+
| | | |
|
|
13
|
+
| ------------- | -------------------- | - |
|
|
14
|
+
| template | TemplateStringsArray | |
|
|
15
|
+
| substitutions | Children\[] | |
|
|
16
|
+
|
|
17
|
+
## Returns
|
|
18
|
+
|
|
19
|
+
[Children](../../types/children/)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# toRef
|
|
2
|
+
|
|
3
|
+
```ts
|
|
4
|
+
import { toRef } from "@alloy-js/core";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
function toRef<T extends object, K extends keyof T>(object: T, key: K, defaultValue?: T[K]): Ref<T[K]>;
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Parameters
|
|
11
|
+
|
|
12
|
+
| | | |
|
|
13
|
+
| ------------ | -------------- | - |
|
|
14
|
+
| object | T | |
|
|
15
|
+
| key | K | |
|
|
16
|
+
| defaultValue | optional T\[K] | |
|
|
17
|
+
|
|
18
|
+
## Returns
|
|
19
|
+
|
|
20
|
+
Ref\<T\[K]>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# toRefkey
|
|
2
|
+
|
|
3
|
+
```ts
|
|
4
|
+
import { toRefkey } from "@alloy-js/core";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
function toRefkey(refkey: Refkeyable): Refkey;
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Parameters
|
|
11
|
+
|
|
12
|
+
| | | |
|
|
13
|
+
| ------ | ---------- | - |
|
|
14
|
+
| refkey | Refkeyable | |
|
|
15
|
+
|
|
16
|
+
## Returns
|
|
17
|
+
|
|
18
|
+
[Refkey](../../types/refkey/)
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# toRefs
|
|
2
|
+
|
|
3
|
+
```ts
|
|
4
|
+
import { toRefs } from "@alloy-js/core";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
function toRefs<T extends object>(object: T): {
|
|
8
|
+
[K in keyof T]: Ref<T[K]>;
|
|
9
|
+
};
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Parameters
|
|
13
|
+
|
|
14
|
+
| | | |
|
|
15
|
+
| ------ | - | - |
|
|
16
|
+
| object | T | |
|
|
17
|
+
|
|
18
|
+
## Returns
|
|
19
|
+
|
|
20
|
+
{ \[K in keyof T]: Ref\<T\[K]>; }
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# traverseOutput
|
|
2
|
+
|
|
3
|
+
Traverse the output from [render](../render/) and call the visitor for each file and directory within it.
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
import { traverseOutput } from "@alloy-js/core";
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
function traverseOutput(sourceDirectory: OutputDirectory, visitor: OutputVisitor): Promise<void>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Parameters
|
|
13
|
+
|
|
14
|
+
| | | |
|
|
15
|
+
| --------------- | --------------- | - |
|
|
16
|
+
| sourceDirectory | OutputDirectory | |
|
|
17
|
+
| visitor | OutputVisitor | |
|
|
18
|
+
|
|
19
|
+
## Returns
|
|
20
|
+
|
|
21
|
+
Promise\<void>
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# unresolvedRefkey
|
|
2
|
+
|
|
3
|
+
```ts
|
|
4
|
+
import { unresolvedRefkey } from "@alloy-js/core";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
function unresolvedRefkey(refkey: Refkey): string;
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Parameters
|
|
11
|
+
|
|
12
|
+
| | | |
|
|
13
|
+
| ------ | ------ | - |
|
|
14
|
+
| refkey | Refkey | |
|
|
15
|
+
|
|
16
|
+
## Returns
|
|
17
|
+
|
|
18
|
+
string
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# useContext
|
|
2
|
+
|
|
3
|
+
```ts
|
|
4
|
+
import { useContext } from "@alloy-js/core";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
function useContext<T>(context: ComponentContext<T>): T | undefined;
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Parameters
|
|
11
|
+
|
|
12
|
+
| | | |
|
|
13
|
+
| ------- | -------------------- | - |
|
|
14
|
+
| context | ComponentContext\<T> | |
|
|
15
|
+
|
|
16
|
+
## Returns
|
|
17
|
+
|
|
18
|
+
T | undefined
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# useFormatOptions
|
|
2
|
+
|
|
3
|
+
```ts
|
|
4
|
+
import { useFormatOptions } from "@alloy-js/core";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
useFormatOptions: (overrides?: Partial<CommonFormatOptions> | undefined) => CommonFormatOptions
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Parameters
|
|
11
|
+
|
|
12
|
+
| | | |
|
|
13
|
+
| --------- | --------------------------------------------------- | - |
|
|
14
|
+
| overrides | optional Partial\<CommonFormatOptions> \| undefined | |
|
|
15
|
+
|
|
16
|
+
## Returns
|
|
17
|
+
|
|
18
|
+
[CommonFormatOptions](../../types/commonformatoptions/)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# useMemberContext
|
|
2
|
+
|
|
3
|
+
```ts
|
|
4
|
+
import { useMemberContext } from "@alloy-js/core";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
function useMemberContext(): MemberContext | undefined;
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Parameters
|
|
11
|
+
|
|
12
|
+
| |
|
|
13
|
+
| - |
|
|
14
|
+
|
|
15
|
+
## Returns
|
|
16
|
+
|
|
17
|
+
[Member context interface](../../contexts/member-context/) | undefined
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# writeOutput
|
|
2
|
+
|
|
3
|
+
Write the output from [render](../render/) to the file system.
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
import { writeOutput } from "@alloy-js/core";
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
function writeOutput(output: OutputDirectory, basePath?: string): Promise<void>;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Parameters
|
|
13
|
+
|
|
14
|
+
| | | |
|
|
15
|
+
| -------- | --------------- | - |
|
|
16
|
+
| output | OutputDirectory | |
|
|
17
|
+
| basePath | optional string | |
|
|
18
|
+
|
|
19
|
+
## Returns
|
|
20
|
+
|
|
21
|
+
Promise\<void>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# @alloy-js/core API Reference
|
|
2
|
+
|
|
3
|
+
- [components](components/index.md) (25 items)
|
|
4
|
+
- [contexts](contexts/index.md) (9 items)
|
|
5
|
+
- [functions](functions/index.md) (103 items)
|
|
6
|
+
- [testing/functions](testing/functions/index.md) (4 items)
|
|
7
|
+
- [testing/types](testing/types/index.md) (2 items)
|
|
8
|
+
- [types](types/index.md) (120 items)
|
|
9
|
+
- [variables](variables/index.md) (9 items)
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# createTestWrapper
|
|
2
|
+
|
|
3
|
+
Create a reusable test harness for a language package. Returns a `Wrapper` component (wraps content in `<Output>` + `<SourceFile>`) and a `defkey` helper that creates stable namekeys for pre-declaring symbols.
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
import { createTestWrapper } from "@alloy-js/core/testing";
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
function createTestWrapper<SymbolT extends OutputSymbol, ScopeT extends {
|
|
10
|
+
spaces: any;
|
|
11
|
+
}>(opts: {
|
|
12
|
+
filePath: string;
|
|
13
|
+
useScope: () => ScopeT | undefined;
|
|
14
|
+
makeSymbol: (nk: Namekey, scope: ScopeT) => SymbolT;
|
|
15
|
+
SourceFile: (props: {
|
|
16
|
+
path: string;
|
|
17
|
+
children: Children;
|
|
18
|
+
}) => any;
|
|
19
|
+
namePolicy?: NamePolicy<string>;
|
|
20
|
+
nameConflictResolver?: NameConflictResolver;
|
|
21
|
+
}): TestWrapper;
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Parameters
|
|
25
|
+
|
|
26
|
+
| | | |
|
|
27
|
+
| ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - |
|
|
28
|
+
| opts | { filePath: string; useScope: () => ScopeT \| undefined; makeSymbol: (nk: Namekey, scope: ScopeT) => SymbolT; SourceFile: (props: { path: string; children: Children; }) => any; namePolicy?: NamePolicy\<string>; nameConflictResolver?: NameConflictResolver; } | |
|
|
29
|
+
|
|
30
|
+
## Returns
|
|
31
|
+
|
|
32
|
+
TestWrapper
|
|
33
|
+
|
|
34
|
+
## Remarks
|
|
35
|
+
|
|
36
|
+
Downstream consumers import and call this from the language package’s `testing/` entrypoint. The `Wrapper` automatically declares symbols created by `defkey` before rendering children, so tests can reference symbols without explicit `<Declaration>` boilerplate.
|
|
37
|
+
|
|
38
|
+
## Examples
|
|
39
|
+
|
|
40
|
+
```ts
|
|
41
|
+
// In your language package's testing/ entrypoint:
|
|
42
|
+
import { FileComponent } from "./components/index.js"; // your language package's top-level file component
|
|
43
|
+
import { createTestWrapper, type TestWrapper } from "@alloy-js/core/testing";
|
|
44
|
+
|
|
45
|
+
export function createMyLangTestWrapper(): TestWrapper {
|
|
46
|
+
return createTestWrapper({
|
|
47
|
+
filePath: "test.ext",
|
|
48
|
+
useScope: useMyLangScope,
|
|
49
|
+
makeSymbol: (nk, scope) => new MyOutputSymbol(nk, scope),
|
|
50
|
+
SourceFile: FileComponent,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
```ts
|
|
56
|
+
// Extend your language test factory to accept and forward namePolicy:
|
|
57
|
+
export function createMyLangTestWrapper(namePolicy?: NamePolicy<string>): TestWrapper {
|
|
58
|
+
return createTestWrapper({ ...langOpts, namePolicy });
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
// In a name-policy test:
|
|
62
|
+
const { Wrapper } = createMyLangTestWrapper(myNamePolicy);
|
|
63
|
+
const fooKey = namekey("foo"); // namekey(), not defkey — name policy applies
|
|
64
|
+
// namekey() schedules no pre-declaration; the test body must declare the symbol.
|
|
65
|
+
expect(
|
|
66
|
+
<Wrapper>
|
|
67
|
+
<MyDeclaration refkey={fooKey} name="foo" />
|
|
68
|
+
</Wrapper>
|
|
69
|
+
).toRenderTo("FOO");
|
|
70
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# d
|
|
2
|
+
|
|
3
|
+
Dedented template literal tag. Strips leading/trailing blank lines and removes the common leading whitespace from all lines — useful for multi-line expected output in tests.
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
import { d } from "@alloy-js/core/testing";
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
function d(strings: TemplateStringsArray, ...values: any[]): string;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Parameters
|
|
13
|
+
|
|
14
|
+
| | | |
|
|
15
|
+
| ------- | -------------------- | - |
|
|
16
|
+
| strings | TemplateStringsArray | |
|
|
17
|
+
| values | any\[] | |
|
|
18
|
+
|
|
19
|
+
## Returns
|
|
20
|
+
|
|
21
|
+
string
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
# core/testing — functions
|
|
2
|
+
|
|
3
|
+
- [createTestWrapper](createTestWrapper.md) — Create a reusable test harness for a language package.
|
|
4
|
+
- [d](d.md) — Dedented template literal tag.
|
|
5
|
+
- [dedent](dedent.md) — import { dedent } from "@alloy-js/core/testing";
|
|
6
|
+
- [renderToString](renderToString.md) — Render a JSX element tree to a string.
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# renderToString
|
|
2
|
+
|
|
3
|
+
Render a JSX element tree to a string. Convenience wrapper combining `renderTree` and `printTree`.
|
|
4
|
+
|
|
5
|
+
```ts
|
|
6
|
+
import { renderToString } from "@alloy-js/core/testing";
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
function renderToString(element: Children): string;
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Parameters
|
|
13
|
+
|
|
14
|
+
| | | |
|
|
15
|
+
| ------- | -------- | - |
|
|
16
|
+
| element | Children | |
|
|
17
|
+
|
|
18
|
+
## Returns
|
|
19
|
+
|
|
20
|
+
string
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# TestWrapper
|
|
2
|
+
|
|
3
|
+
Test harness returned by [createTestWrapper](../../functions/createtestwrapper/).
|
|
4
|
+
|
|
5
|
+
## Members
|
|
6
|
+
|
|
7
|
+
| | | |
|
|
8
|
+
| ------- | -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
9
|
+
| defkey | (name: string) => Namekey | Creates a stable [`Namekey`](../../types/Namekey.md) and schedules a pre-declaration inside \[unresolved link]. Call `defkey(name)` before rendering. `Wrapper` renders `<Declaration symbol={...} />` for this name so `<Reference>` to the returned namekey resolves without requiring an explicit `<Declaration>` in the test body. |
|
|
10
|
+
| Wrapper | (props: { children: Children; }) => Children | JSX wrapper providing Output + a file-level component + language scope context. Name policy is applied only when `namePolicy`/`nameConflictResolver` are passed to [createTestWrapper](../../functions/createtestwrapper/). Pre-declares all namekeys created by \[unresolved link] before rendering children. |
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# ToRenderToOptions
|
|
2
|
+
|
|
3
|
+
Print options passed to `toRenderTo` / `toRenderToAsync`. These override the per-[`SourceFile`](../../components/SourceFile.md) print settings for the duration of the assertion, which is useful when forcing line-breaking with a narrow `printWidth` in tests without needing extremely long inputs.
|
|
4
|
+
|
|
5
|
+
## Members
|
|
6
|
+
|
|
7
|
+
| | | |
|
|
8
|
+
| ---------- | ---------------- | ----------------------------------------------------- |
|
|
9
|
+
| printWidth | optional number | Maximum line width before the formatter wraps output. |
|
|
10
|
+
| tabWidth | optional number | Number of spaces per indentation level. |
|
|
11
|
+
| useTabs | optional boolean | Use tab characters instead of spaces. |
|
|
12
|
+
|
|
13
|
+
## Example
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
expect(<MyList items={["a", "b", "c"]} />).toRenderTo(
|
|
17
|
+
`
|
|
18
|
+
a,
|
|
19
|
+
b,
|
|
20
|
+
c
|
|
21
|
+
`,
|
|
22
|
+
{ printWidth: 10 }
|
|
23
|
+
);
|
|
24
|
+
```
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# BaseListProps
|
|
2
|
+
|
|
3
|
+
## Members
|
|
4
|
+
|
|
5
|
+
| | | |
|
|
6
|
+
| ---------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
|
7
|
+
| comma | optional boolean | Place a comma between each element |
|
|
8
|
+
| doubleHardline | optional boolean | Place two hardlines between each element |
|
|
9
|
+
| ender | optional [Children](../children/) | Text to place at the end of the list when there is at least one item. If set to true, the joiner is used. |
|
|
10
|
+
| enderPunctuation | optional boolean | Place the join punctuation at the end, without a line break. The punctuation is emitted unconditionally in flat and broken modes. To add trailing punctuation only in broken mode, use `ender` with `<ifBreak>` inside a `<group>` with a non-hardline joiner (e.g. `line`):```tsx
|
|
11
|
+
<group>
|
|
12
|
+
<List comma line ender={<ifBreak>,</ifBreak>}>...</List>
|
|
13
|
+
</group>
|
|
14
|
+
``` |
|
|
15
|
+
| hardline | optional boolean | Place a hardline (`<hbr />`) between each element |
|
|
16
|
+
| joiner | optional [Children](../children/) | Text to place between each element |
|
|
17
|
+
| line | optional boolean | Place a regular line (`<br />`) between each element |
|
|
18
|
+
| literalline | optional boolean | Place a literal line (`<lbr />`) between each element |
|
|
19
|
+
| semicolon | optional boolean | Place a semicolon between each element |
|
|
20
|
+
| softline | optional boolean | Place a softline (`<sbr />`) between each element |
|
|
21
|
+
| space | optional boolean | Place a space between each element |
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# BasePartProps
|
|
2
|
+
|
|
3
|
+
Base props that all language-specific Part components must include. Language packages extend this with additional props.
|
|
4
|
+
|
|
5
|
+
## Members
|
|
6
|
+
|
|
7
|
+
| | | |
|
|
8
|
+
| ------ | ----------------------------------------- | - |
|
|
9
|
+
| refkey | optional [Refkeyable](../refkeyable/) | |
|
|
10
|
+
| symbol | optional [OutputSymbol](../outputsymbol/) | |
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# BasicScope
|
|
2
|
+
|
|
3
|
+
BasicScope is a kind of OutputScope that has a single declaration space named `symbols`. It is suitable for use in simple language implementations where there isn’t much in the way of unique scope semantics.
|
|
4
|
+
|
|
5
|
+
## Members
|
|
6
|
+
|
|
7
|
+
Extends [OutputScope](../outputscope/)
|
|
8
|
+
|
|
9
|
+
| | | |
|
|
10
|
+
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------ | - |
|
|
11
|
+
| declarationSpaces | readonly \[“symbols”] | |
|
|
12
|
+
| defaultDeclarationSpace | | |
|
|
13
|
+
| symbolNames | ReadonlyMap\<string, import(”./output-symbol.js”).[OutputSymbol](../outputsymbol/)> | |
|
|
14
|
+
| symbols | import(”./output-space.js”).[OutputSpace](../outputspace/) | |
|
|
15
|
+
| symbolsByRefkey | ReadonlyMap\<import(”../refkey.js”).[Refkey](../refkey/), import(”./output-symbol.js”).[OutputSymbol](../outputsymbol/)> | |
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# BasicSymbol
|
|
2
|
+
|
|
3
|
+
BasicSymbol is a kind of OutputSymbol that has instance and static members. It is suitable for use in simple language implementations where there isn’t much in the way of unique symbol semantics.
|
|
4
|
+
|
|
5
|
+
## Members
|
|
6
|
+
|
|
7
|
+
Extends [OutputSymbol](../outputsymbol/)
|
|
8
|
+
|
|
9
|
+
| | | |
|
|
10
|
+
| --------------- | ---------------------------------------------------------------------- | - |
|
|
11
|
+
| copy | () => BasicSymbol | |
|
|
12
|
+
| instanceMembers | import(”./output-space.js”).[OutputMemberSpace](../outputmemberspace/) | |
|
|
13
|
+
| memberSpaces | string\[] | |
|
|
14
|
+
| staticMembers | import(”./output-space.js”).[OutputMemberSpace](../outputmemberspace/) | |
|
|
15
|
+
|
|
16
|
+
## Remarks
|
|
17
|
+
|
|
18
|
+
Instantiation is done by copying symbols from instance members to static members of the instantiation target.
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Binder
|
|
2
|
+
|
|
3
|
+
The binder tracks all output scopes and symbols. Scopes are nested containers for symbols.
|
|
4
|
+
|
|
5
|
+
## Members
|
|
6
|
+
|
|
7
|
+
| | | |
|
|
8
|
+
| ----------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
|
|
9
|
+
| getSymbolForRefkey | (refkey: Refkeyable) => Ref\<TSymbol \| undefined> | Get a ref to the symbol associated with the given refkey. The value of the ref is undefined if the symbol has not been created yet. |
|
|
10
|
+
| nameConflictResolver | optional [NameConflictResolver](../nameconflictresolver/) | The name conflict resolver to use for this binder. |
|
|
11
|
+
| notifyScopeCreated | (scope: OutputScope) => void | Notifies the binder that a scope has been created. |
|
|
12
|
+
| notifySymbolCreated | (symbol: OutputSymbol) => void | Notifies the binder that a symbol has been created. |
|
|
13
|
+
| notifySymbolDeleted | (symbol: OutputSymbol) => void | Notifies the binder that a symbol has been deleted. |
|
|
14
|
+
| resolveDeclarationByKey | (currentScope: TScope \| undefined, key: Refkey, options: ResolveDeclarationByKeyOptions\<TScope, TSymbol>) => Ref\<ResolutionResult\<TScope, TSymbol> \| undefined> | Resolve the given refkey in the current scope. |
|
|
15
|
+
|
|
16
|
+
## Remarks
|
|
17
|
+
|
|
18
|
+
Symbol information is reactive because in certain situations this data may change. For example, when a symbol becomes conflicted with another symbol, one of the symbol names may change. Ensure that you interact with binder values in a reactive context (i.e. within JSX/code template, or within memo/computed/etc).
|