@alloy-js/core 0.23.0-dev.11 → 0.23.0-dev.13
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/dist/dev/src/binder.js +488 -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 +66 -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 +11 -0
- package/dist/dev/src/components/MemberName.js.map +1 -0
- package/dist/dev/src/components/MemberScope.js +57 -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 +50 -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 +12 -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 +32 -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 +13 -0
- package/dist/dev/src/context/scope.js.map +1 -0
- package/dist/dev/src/context/source-directory.js +3 -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.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 +658 -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 +33 -0
- package/dist/dev/src/devtools/devtools-server.browser.js.map +1 -0
- package/dist/dev/src/devtools/devtools-server.js +444 -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 +89 -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 +5 -0
- package/dist/dev/src/library-symbol-reference.js.map +1 -0
- package/dist/dev/src/name-policy.js +24 -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 +426 -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 +202 -0
- package/dist/dev/src/symbols/output-scope.js.map +1 -0
- package/dist/dev/src/symbols/output-space.js +36 -0
- package/dist/dev/src/symbols/output-space.js.map +1 -0
- package/dist/dev/src/symbols/output-symbol.js +504 -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 +68 -0
- package/dist/dev/src/symbols/symbol-slot.js.map +1 -0
- package/dist/dev/src/symbols/symbol-slot.test.js +43 -0
- package/dist/dev/src/symbols/symbol-slot.test.js.map +1 -0
- package/dist/dev/src/symbols/symbol-table.js +93 -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 +52 -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/output-scope.test.js +180 -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 +76 -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 +167 -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 +23 -0
- package/dist/dev/testing/render.js.map +1 -0
- package/dist/dev/testing/vitest.d.js +2 -0
- package/dist/dev/testing/vitest.d.js.map +1 -0
- 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/effects.d.ts.map +1 -1
- package/dist/src/debug/effects.js +2 -67
- package/dist/src/debug/effects.js.map +1 -1
- package/dist/src/debug/render.d.ts.map +1 -1
- package/dist/src/debug/render.js +15 -8
- package/dist/src/debug/render.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/trace.d.ts.map +1 -1
- package/dist/src/debug/trace.js +19 -5
- 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/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/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/tsconfig.tsbuildinfo +1 -1
- package/package.json +13 -3
- package/src/debug/cli.ts +3 -2
- package/src/debug/effects.ts +2 -82
- package/src/debug/render.ts +25 -13
- package/src/debug/source-map.browser.ts +30 -0
- package/src/debug/source-map.ts +135 -0
- package/src/debug/trace.ts +22 -5
- package/src/host/node-host.browser.ts +23 -0
- package/src/host/node-host.ts +22 -0
- package/src/render-stack.ts +4 -3
- package/src/write-output.ts +6 -5
- package/test/browser-build.test.ts +71 -78
- package/vitest.config.ts +8 -0
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { getRenderNodeId } from "./debug/index.js";
|
|
2
|
+
import { insertDiagnostic } from "./debug/trace-writer.js";
|
|
3
|
+
import { getContext } from "./reactivity.js";
|
|
4
|
+
import { getRenderStackSnapshot } from "./render-stack.js";
|
|
5
|
+
export class DiagnosticsCollector {
|
|
6
|
+
entries = new Map();
|
|
7
|
+
order = [];
|
|
8
|
+
emit(input) {
|
|
9
|
+
const componentStack = input.componentStack ?? getRenderStackSnapshot().map(entry => ({
|
|
10
|
+
name: entry.displayName,
|
|
11
|
+
renderNodeId: entry.context?.meta?.renderNode ? getRenderNodeId(entry.context.meta.renderNode) : undefined,
|
|
12
|
+
source: entry.source
|
|
13
|
+
}));
|
|
14
|
+
const source = input.source ?? componentStack.at(-1)?.source ?? undefined;
|
|
15
|
+
const id = `diag-${this.order.length + 1}-${Date.now()}`;
|
|
16
|
+
const diagnostic = {
|
|
17
|
+
id,
|
|
18
|
+
message: input.message,
|
|
19
|
+
severity: input.severity ?? "warning",
|
|
20
|
+
source,
|
|
21
|
+
componentStack
|
|
22
|
+
};
|
|
23
|
+
this.entries.set(id, diagnostic);
|
|
24
|
+
this.order.push(id);
|
|
25
|
+
|
|
26
|
+
// Broadcast updated diagnostics
|
|
27
|
+
this.broadcast();
|
|
28
|
+
return {
|
|
29
|
+
dismiss: () => {
|
|
30
|
+
this.entries.delete(id);
|
|
31
|
+
// Broadcast updated diagnostics after dismissal
|
|
32
|
+
this.broadcast();
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
getDiagnostics() {
|
|
37
|
+
return this.order.map(id => this.entries.get(id)).filter(entry => Boolean(entry));
|
|
38
|
+
}
|
|
39
|
+
broadcast() {
|
|
40
|
+
const diagnostics = this.getDiagnostics();
|
|
41
|
+
for (const diagnostic of diagnostics) {
|
|
42
|
+
insertDiagnostic(diagnostic.message, diagnostic.severity, diagnostic.source?.fileName, diagnostic.source?.lineNumber, diagnostic.source?.columnNumber, diagnostic.componentStack ? JSON.stringify(diagnostic.componentStack) : undefined);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
const DIAGNOSTICS_META_KEY = "diagnostics";
|
|
47
|
+
export function attachDiagnosticsCollector(collector) {
|
|
48
|
+
const context = getContext();
|
|
49
|
+
if (!context) return;
|
|
50
|
+
context.meta ??= {};
|
|
51
|
+
context.meta[DIAGNOSTICS_META_KEY] = collector;
|
|
52
|
+
}
|
|
53
|
+
function getDiagnosticsCollectorFromContext() {
|
|
54
|
+
let context = getContext();
|
|
55
|
+
while (context) {
|
|
56
|
+
const collector = context.meta?.[DIAGNOSTICS_META_KEY];
|
|
57
|
+
if (collector) return collector;
|
|
58
|
+
context = context.owner;
|
|
59
|
+
}
|
|
60
|
+
return undefined;
|
|
61
|
+
}
|
|
62
|
+
export function emitDiagnostic(input) {
|
|
63
|
+
const collector = getDiagnosticsCollectorFromContext();
|
|
64
|
+
if (!collector) {
|
|
65
|
+
return {
|
|
66
|
+
dismiss: () => undefined
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
return collector.emit(input);
|
|
70
|
+
}
|
|
71
|
+
export function reportDiagnostics(collector) {
|
|
72
|
+
const diagnostics = collector.getDiagnostics();
|
|
73
|
+
if (diagnostics.length === 0) return;
|
|
74
|
+
for (const diagnostic of diagnostics) {
|
|
75
|
+
const location = diagnostic.source ? ` (${diagnostic.source.fileName}:${diagnostic.source.lineNumber}:${diagnostic.source.columnNumber})` : "";
|
|
76
|
+
const line = `${diagnostic.message}${location}`;
|
|
77
|
+
if (diagnostic.severity === "error") {
|
|
78
|
+
// eslint-disable-next-line no-console
|
|
79
|
+
console.error(line);
|
|
80
|
+
} else if (diagnostic.severity === "warning") {
|
|
81
|
+
// eslint-disable-next-line no-console
|
|
82
|
+
console.warn(line);
|
|
83
|
+
} else {
|
|
84
|
+
// eslint-disable-next-line no-console
|
|
85
|
+
console.log(line);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=diagnostics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getRenderNodeId","insertDiagnostic","getContext","getRenderStackSnapshot","DiagnosticsCollector","entries","Map","order","emit","input","componentStack","map","entry","name","displayName","renderNodeId","context","meta","renderNode","undefined","source","at","id","length","Date","now","diagnostic","message","severity","set","push","broadcast","dismiss","delete","getDiagnostics","get","filter","Boolean","diagnostics","fileName","lineNumber","columnNumber","JSON","stringify","DIAGNOSTICS_META_KEY","attachDiagnosticsCollector","collector","getDiagnosticsCollectorFromContext","owner","emitDiagnostic","reportDiagnostics","location","line","console","error","warn","log"],"sources":["../../../src/diagnostics.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export const AlloyHost = {
|
|
2
|
+
read(source) {
|
|
3
|
+
return new AlloyFile(source);
|
|
4
|
+
},
|
|
5
|
+
async write(destination, content) {
|
|
6
|
+
throw new Error("File system write operations are not supported in the browser");
|
|
7
|
+
},
|
|
8
|
+
async exists(source) {
|
|
9
|
+
throw new Error("File system exists operations are not supported in the browser");
|
|
10
|
+
},
|
|
11
|
+
async mkdir(path) {
|
|
12
|
+
throw new Error("File system mkdir operations are not supported in the browser");
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
export class AlloyFile {
|
|
16
|
+
constructor(source) {
|
|
17
|
+
this.source = source;
|
|
18
|
+
}
|
|
19
|
+
async text() {
|
|
20
|
+
throw new Error("File system read operations are not supported in the browser");
|
|
21
|
+
}
|
|
22
|
+
async arrayBuffer() {
|
|
23
|
+
throw new Error("File system read operations are not supported in the browser");
|
|
24
|
+
}
|
|
25
|
+
async bytes() {
|
|
26
|
+
throw new Error("File system read operations are not supported in the browser");
|
|
27
|
+
}
|
|
28
|
+
stream() {
|
|
29
|
+
throw new Error("File system read operations are not supported in the browser");
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=alloy-host.browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["AlloyHost","read","source","AlloyFile","write","destination","content","Error","exists","mkdir","path","constructor","text","arrayBuffer","bytes","stream"],"sources":["../../../../src/host/alloy-host.browser.ts"],"sourcesContent":[null],"mappings":"AAEA,OAAO,MAAMA,SAA6B,GAAG;EAC3CC,IAAIA,CAACC,MAAc,EAAsB;IACvC,OAAO,IAAIC,SAAS,CAACD,MAAM,CAAC;EAC9B,CAAC;EAED,MAAME,KAAKA,CACTC,WAAmB,EACnBC,OAAuE,EACxD;IACf,MAAM,IAAIC,KAAK,CACb,+DACF,CAAC;EACH,CAAC;EAED,MAAMC,MAAMA,CAACN,MAAc,EAAoB;IAC7C,MAAM,IAAIK,KAAK,CACb,gEACF,CAAC;EACH,CAAC;EAED,MAAME,KAAKA,CAACC,IAAY,EAAiB;IACvC,MAAM,IAAIH,KAAK,CACb,+DACF,CAAC;EACH;AACF,CAAC;AAED,OAAO,MAAMJ,SAAS,CAA+B;EACnDQ,WAAWA,CAAST,MAAc,EAAE;IAAA,KAAhBA,MAAc,GAAdA,MAAc;EAAG;EAErC,MAAMU,IAAIA,CAAA,EAAoB;IAC5B,MAAM,IAAIL,KAAK,CACb,8DACF,CAAC;EACH;EAEA,MAAMM,WAAWA,CAAA,EAAyB;IACxC,MAAM,IAAIN,KAAK,CACb,8DACF,CAAC;EACH;EAEA,MAAMO,KAAKA,CAAA,EAAwB;IACjC,MAAM,IAAIP,KAAK,CACb,8DACF,CAAC;EACH;EAEAQ,MAAMA,CAAA,EAA+B;IACnC,MAAM,IAAIR,KAAK,CACb,8DACF,CAAC;EACH;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
import { createReadStream, createWriteStream } from "fs";
|
|
2
|
+
import { access, mkdir, readFile, writeFile } from "fs/promises";
|
|
3
|
+
export const AlloyHost = {
|
|
4
|
+
read(source) {
|
|
5
|
+
return new AlloyFile(source);
|
|
6
|
+
},
|
|
7
|
+
async write(destination, content) {
|
|
8
|
+
if (typeof content === "string") {
|
|
9
|
+
//eslint-disable-next-line no-useless-catch
|
|
10
|
+
try {
|
|
11
|
+
await writeFile(destination, content, "utf8");
|
|
12
|
+
} catch (e) {
|
|
13
|
+
// get good callstacks
|
|
14
|
+
throw e;
|
|
15
|
+
}
|
|
16
|
+
} else if (content instanceof ArrayBuffer) {
|
|
17
|
+
//eslint-disable-next-line no-useless-catch
|
|
18
|
+
try {
|
|
19
|
+
await writeFile(destination, new Uint8Array(content));
|
|
20
|
+
} catch (e) {
|
|
21
|
+
// get good callstacks
|
|
22
|
+
throw e;
|
|
23
|
+
}
|
|
24
|
+
} else if (content instanceof Uint8Array) {
|
|
25
|
+
//eslint-disable-next-line no-useless-catch
|
|
26
|
+
try {
|
|
27
|
+
await writeFile(destination, content);
|
|
28
|
+
} catch (e) {
|
|
29
|
+
// get good callstacks
|
|
30
|
+
throw e;
|
|
31
|
+
}
|
|
32
|
+
} else {
|
|
33
|
+
// content is ReadableStream<Uint8Array>
|
|
34
|
+
//eslint-disable-next-line no-useless-catch
|
|
35
|
+
try {
|
|
36
|
+
const writeStream = createWriteStream(destination);
|
|
37
|
+
const reader = content.getReader();
|
|
38
|
+
try {
|
|
39
|
+
while (true) {
|
|
40
|
+
const {
|
|
41
|
+
done,
|
|
42
|
+
value
|
|
43
|
+
} = await reader.read();
|
|
44
|
+
if (done) break;
|
|
45
|
+
await new Promise((resolve, reject) => {
|
|
46
|
+
writeStream.write(value, err => {
|
|
47
|
+
if (err) reject(err);else resolve();
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
} finally {
|
|
52
|
+
reader.releaseLock();
|
|
53
|
+
await new Promise((resolve, reject) => {
|
|
54
|
+
writeStream.end(err => {
|
|
55
|
+
if (err) reject(err);else resolve();
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
} catch (e) {
|
|
60
|
+
// get good callstacks
|
|
61
|
+
throw e;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
async exists(source) {
|
|
66
|
+
try {
|
|
67
|
+
await access(source);
|
|
68
|
+
return true;
|
|
69
|
+
} catch {
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
async mkdir(path) {
|
|
74
|
+
//eslint-disable-next-line no-useless-catch
|
|
75
|
+
try {
|
|
76
|
+
await mkdir(path, {
|
|
77
|
+
recursive: true
|
|
78
|
+
});
|
|
79
|
+
} catch (e) {
|
|
80
|
+
// get good callstacks
|
|
81
|
+
throw e;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
export class AlloyFile {
|
|
86
|
+
constructor(source) {
|
|
87
|
+
this.source = source;
|
|
88
|
+
}
|
|
89
|
+
async text() {
|
|
90
|
+
//eslint-disable-next-line no-useless-catch
|
|
91
|
+
try {
|
|
92
|
+
return await readFile(this.source, "utf8");
|
|
93
|
+
} catch (e) {
|
|
94
|
+
// get good callstacks
|
|
95
|
+
throw e;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
async arrayBuffer() {
|
|
99
|
+
//eslint-disable-next-line no-useless-catch
|
|
100
|
+
try {
|
|
101
|
+
const buffer = await readFile(this.source);
|
|
102
|
+
return buffer.buffer.slice(buffer.byteOffset, buffer.byteOffset + buffer.byteLength);
|
|
103
|
+
} catch (e) {
|
|
104
|
+
// get good callstacks
|
|
105
|
+
throw e;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
async bytes() {
|
|
109
|
+
//eslint-disable-next-line no-useless-catch
|
|
110
|
+
try {
|
|
111
|
+
const buffer = await readFile(this.source);
|
|
112
|
+
return new Uint8Array(buffer);
|
|
113
|
+
} catch (e) {
|
|
114
|
+
// get good callstacks
|
|
115
|
+
throw e;
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
stream() {
|
|
119
|
+
//eslint-disable-next-line no-useless-catch
|
|
120
|
+
try {
|
|
121
|
+
const nodeStream = createReadStream(this.source);
|
|
122
|
+
return new ReadableStream({
|
|
123
|
+
start(controller) {
|
|
124
|
+
nodeStream.on("data", chunk => {
|
|
125
|
+
controller.enqueue(new Uint8Array(chunk));
|
|
126
|
+
});
|
|
127
|
+
nodeStream.on("end", () => {
|
|
128
|
+
controller.close();
|
|
129
|
+
});
|
|
130
|
+
nodeStream.on("error", err => {
|
|
131
|
+
controller.error(err);
|
|
132
|
+
});
|
|
133
|
+
},
|
|
134
|
+
cancel() {
|
|
135
|
+
nodeStream.destroy();
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
} catch (e) {
|
|
139
|
+
// get good callstacks
|
|
140
|
+
throw e;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=alloy-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createReadStream","createWriteStream","access","mkdir","readFile","writeFile","AlloyHost","read","source","AlloyFile","write","destination","content","e","ArrayBuffer","Uint8Array","writeStream","reader","getReader","done","value","Promise","resolve","reject","err","releaseLock","end","exists","path","recursive","constructor","text","arrayBuffer","buffer","slice","byteOffset","byteLength","bytes","stream","nodeStream","ReadableStream","start","controller","on","chunk","enqueue","close","error","cancel","destroy"],"sources":["../../../../src/host/alloy-host.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":[],"sourcesContent":[],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Browser stub for Node.js host APIs.
|
|
3
|
+
*
|
|
4
|
+
* Replaces `node-host.ts` in browser builds so that no Node.js globals
|
|
5
|
+
* (`process`, etc.) are referenced.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export function env(_key) {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
export function cwd() {
|
|
12
|
+
return "";
|
|
13
|
+
}
|
|
14
|
+
export function stdoutWrite(text) {
|
|
15
|
+
// eslint-disable-next-line no-console
|
|
16
|
+
console.log(text);
|
|
17
|
+
}
|
|
18
|
+
export function sourceMapsEnabled() {
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=node-host.browser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["env","_key","undefined","cwd","stdoutWrite","text","console","log","sourceMapsEnabled"],"sources":["../../../../src/host/node-host.browser.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,SAASA,GAAGA,CAACC,IAAY,EAAsB;EACpD,OAAOC,SAAS;AAClB;AAEA,OAAO,SAASC,GAAGA,CAAA,EAAW;EAC5B,OAAO,EAAE;AACX;AAEA,OAAO,SAASC,WAAWA,CAACC,IAAY,EAAQ;EAC9C;EACAC,OAAO,CAACC,GAAG,CAACF,IAAI,CAAC;AACnB;AAEA,OAAO,SAASG,iBAAiBA,CAAA,EAAY;EAC3C,OAAO,KAAK;AACd","ignoreList":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js host APIs.
|
|
3
|
+
*
|
|
4
|
+
* Provides access to Node.js-specific process APIs. In browser builds this
|
|
5
|
+
* module is replaced by `node-host.browser.ts` which returns safe defaults.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
export function env(key) {
|
|
9
|
+
return process.env[key];
|
|
10
|
+
}
|
|
11
|
+
export function cwd() {
|
|
12
|
+
return process.cwd();
|
|
13
|
+
}
|
|
14
|
+
export function stdoutWrite(text) {
|
|
15
|
+
process.stdout.write(text);
|
|
16
|
+
}
|
|
17
|
+
export function sourceMapsEnabled() {
|
|
18
|
+
return !!process.sourceMapsEnabled;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=node-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["env","key","process","cwd","stdoutWrite","text","stdout","write","sourceMapsEnabled"],"sources":["../../../../src/host/node-host.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAO,SAASA,GAAGA,CAACC,GAAW,EAAsB;EACnD,OAAOC,OAAO,CAACF,GAAG,CAACC,GAAG,CAAC;AACzB;AAEA,OAAO,SAASE,GAAGA,CAAA,EAAW;EAC5B,OAAOD,OAAO,CAACC,GAAG,CAAC,CAAC;AACtB;AAEA,OAAO,SAASC,WAAWA,CAACC,IAAY,EAAQ;EAC9CH,OAAO,CAACI,MAAM,CAACC,KAAK,CAACF,IAAI,CAAC;AAC5B;AAEA,OAAO,SAASG,iBAAiBA,CAAA,EAAY;EAC3C,OAAO,CAAC,CAAEN,OAAO,CAASM,iBAAiB;AAC7C","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/index.browser.ts"],"sourcesContent":[null],"mappings":"AAAA,cAAc,8BAA8B,CAAC,CAAC;AAC9C,cAAc,YAAY,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export { TrackOpTypes, TriggerOpTypes, isProxy, isReactive, isRef, reactive, toRaw, track, trigger, watch } from "@vue/reactivity";
|
|
2
|
+
export * from "./binder.js";
|
|
3
|
+
export * from "./code.js";
|
|
4
|
+
export * from "./components/index.js";
|
|
5
|
+
export * from "./content-slot.js";
|
|
6
|
+
export * from "./context.js";
|
|
7
|
+
export * from "./context/index.js";
|
|
8
|
+
export * from "./diagnostics.js";
|
|
9
|
+
export * from "./library-symbol-reference.js";
|
|
10
|
+
export * from "./name-policy.js";
|
|
11
|
+
export * from "./props-combinators.js";
|
|
12
|
+
export * from "./reactive-union-set.js";
|
|
13
|
+
export * from "./reactivity.js";
|
|
14
|
+
export * from "./refkey.js";
|
|
15
|
+
export * from "./render.js";
|
|
16
|
+
export * from "./resource.js";
|
|
17
|
+
export * from "./runtime/component.js";
|
|
18
|
+
export * from "./runtime/intrinsic.js";
|
|
19
|
+
export * from "./stc.js";
|
|
20
|
+
export * from "./sti.js";
|
|
21
|
+
export * from "./symbols/index.js";
|
|
22
|
+
export * from "./symbols/symbol-flow.js";
|
|
23
|
+
export * from "./tap.js";
|
|
24
|
+
export * from "./utils.js";
|
|
25
|
+
export * from "./write-output.js";
|
|
26
|
+
import "./debug/index.js";
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TrackOpTypes","TriggerOpTypes","isProxy","isReactive","isRef","reactive","toRaw","track","trigger","watch"],"sources":["../../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,YAAY,EACZC,cAAc,EACdC,OAAO,EACPC,UAAU,EACVC,KAAK,EACLC,QAAQ,EACRC,KAAK,EACLC,KAAK,EACLC,OAAO,EACPC,KAAK,QAOA,iBAAiB;AACxB,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,uBAAuB;AACrC,cAAc,mBAAmB;AACjC,cAAc,cAAc;AAC5B,cAAc,oBAAoB;AAClC,cAAc,kBAAkB;AAChC,cAAc,+BAA+B;AAC7C,cAAc,kBAAkB;AAChC,cAAc,wBAAwB;AACtC,cAAc,yBAAyB;AACvC,cAAc,iBAAiB;AAC/B,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,eAAe;AAC7B,cAAc,wBAAwB;AACtC,cAAc,wBAAwB;AACtC,cAAc,UAAU;AACxB,cAAc,UAAU;AACxB,cAAc,oBAAoB;AAClC,cAAc,0BAA0B;AACxC,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,mBAAmB;AACjC,OAAO,kBAAkB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["inspect","custom","Symbol"],"sources":["../../../src/inspect.browser.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA,OAAO,SAASA,OAAOA,CAAA,EAAG;EACxB,OAAO,gBAAgB;AACzB;AAEAA,OAAO,CAACC,MAAM,GAAGC,MAAM,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["inspect"],"sources":["../../../src/inspect.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAO,QAAQ,MAAM","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Much of the implementations in this file are inspired by vuerx-js
|
|
2
|
+
// See: https://github.com/ryansolid/vuerx-jsx.
|
|
3
|
+
|
|
4
|
+
import { createComponent } from "@alloy-js/core";
|
|
5
|
+
export { createComponent, createIntrinsic, memo, mergeProps } from "@alloy-js/core";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* This namespace is predominantly for interop with React tooling in VSCode
|
|
9
|
+
* and controls the type of JSX elements, components, and the like.
|
|
10
|
+
*/
|
|
11
|
+
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
12
|
+
export let JSX;
|
|
13
|
+
export function jsx(type, props) {
|
|
14
|
+
return createComponent(type, props);
|
|
15
|
+
}
|
|
16
|
+
export const jsxs = jsx;
|
|
17
|
+
//# sourceMappingURL=jsx-runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createComponent","createIntrinsic","memo","mergeProps","JSX","jsx","type","props","jsxs"],"sources":["../../../src/jsx-runtime.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;;AAOA,SAASA,eAAe,QAAQ,gBAAgB;AAChD,SACEA,eAAe,EACfC,eAAe,EACfC,IAAI,EACJC,UAAU,QAEL,gBAAgB;;AAEvB;AACA;AACA;AACA;AACA;AAAA,WACiBC,GAAG;AAYpB,OAAO,SAASC,GAAGA,CAACC,IAAoB,EAAEC,KAA8B,EAAE;EACxE,OAAOP,eAAe,CAACM,IAAI,EAAEC,KAAK,CAAC;AACrC;AAEA,OAAO,MAAMC,IAAI,GAAGH,GAAG","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["TO_SYMBOL","Symbol","isLibrarySymbolReference","value","Object","hasOwn"],"sources":["../../../src/library-symbol-reference.ts"],"sourcesContent":[null],"mappings":"AAGA,OAAO,MAAMA,SAAwB,GAAGC,MAAM,CAC5C,kCACF,CAAC;AAMD,OAAO,SAASC,wBAAwBA,CACtCC,KAAc,EACmB;EACjC,OACE,OAAOA,KAAK,KAAK,QAAQ,IACzBA,KAAK,KAAK,IAAI,IACdC,MAAM,CAACC,MAAM,CAACF,KAAK,EAAEH,SAAS,CAAC;AAEnC","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export function createNamePolicy(namer) {
|
|
2
|
+
const forCache = new Map();
|
|
3
|
+
const noopGetter = name => name;
|
|
4
|
+
return {
|
|
5
|
+
getName(name, element) {
|
|
6
|
+
if (!element) {
|
|
7
|
+
return name;
|
|
8
|
+
}
|
|
9
|
+
return namer(name, element);
|
|
10
|
+
},
|
|
11
|
+
for(element) {
|
|
12
|
+
if (!element) {
|
|
13
|
+
return noopGetter;
|
|
14
|
+
}
|
|
15
|
+
if (forCache.has(element)) {
|
|
16
|
+
return forCache.get(element);
|
|
17
|
+
}
|
|
18
|
+
const getter = name => namer(name, element);
|
|
19
|
+
forCache.set(element, getter);
|
|
20
|
+
return getter;
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=name-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createNamePolicy","namer","forCache","Map","noopGetter","name","getName","element","for","has","get","getter","set"],"sources":["../../../src/name-policy.ts"],"sourcesContent":[null],"mappings":"AAeA,OAAO,SAASA,gBAAgBA,CAC9BC,KAA4C,EAC7B;EACf,MAAMC,QAAQ,GAAG,IAAIC,GAAG,CAA2B,CAAC;EACpD,MAAMC,UAAU,GAAIC,IAAY,IAAKA,IAAI;EAEzC,OAAO;IACLC,OAAOA,CAACD,IAAI,EAAEE,OAAO,EAAE;MACrB,IAAI,CAACA,OAAO,EAAE;QACZ,OAAOF,IAAI;MACb;MAEA,OAAOJ,KAAK,CAACI,IAAI,EAAEE,OAAO,CAAC;IAC7B,CAAC;IAEDC,GAAGA,CAACD,OAAO,EAAE;MACX,IAAI,CAACA,OAAO,EAAE;QACZ,OAAOH,UAAU;MACnB;MAEA,IAAIF,QAAQ,CAACO,GAAG,CAACF,OAAO,CAAC,EAAE;QACzB,OAAOL,QAAQ,CAACQ,GAAG,CAACH,OAAO,CAAC;MAC9B;MAEA,MAAMI,MAAM,GAAIN,IAAY,IAAKJ,KAAK,CAACI,IAAI,EAAEE,OAAO,CAAC;MACrDL,QAAQ,CAACU,GAAG,CAACL,OAAO,EAAEI,MAAM,CAAC;MAE7B,OAAOA,MAAM;IACf;EACF,CAAC;AACH","ignoreList":[]}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { inspect } from "../inspect.js";
|
|
2
|
+
export function pret(strings, ...keys) {
|
|
3
|
+
const result = [strings[0]];
|
|
4
|
+
keys.forEach((key, i) => {
|
|
5
|
+
result.push(key);
|
|
6
|
+
result.push(strings[i + 1]);
|
|
7
|
+
});
|
|
8
|
+
return new PrettyString(result);
|
|
9
|
+
}
|
|
10
|
+
pret.black = x => new PrettyStringColored(x, "black");
|
|
11
|
+
pret.red = x => new PrettyStringColored(x, "red");
|
|
12
|
+
pret.green = x => new PrettyStringColored(x, "green");
|
|
13
|
+
pret.yellow = x => new PrettyStringColored(x, "yellow");
|
|
14
|
+
pret.blue = x => new PrettyStringColored(x, "blue");
|
|
15
|
+
pret.magenta = x => new PrettyStringColored(x, "magenta");
|
|
16
|
+
pret.cyan = x => new PrettyStringColored(x, "cyan");
|
|
17
|
+
pret.white = x => new PrettyStringColored(x, "white");
|
|
18
|
+
pret.gray = x => new PrettyStringColored(x, "gray");
|
|
19
|
+
pret.bgBlack = x => new PrettyStringColored(x, "bgBlack");
|
|
20
|
+
pret.bgRed = x => new PrettyStringColored(x, "bgRed");
|
|
21
|
+
pret.bgGreen = x => new PrettyStringColored(x, "bgGreen");
|
|
22
|
+
pret.bgYellow = x => new PrettyStringColored(x, "bgYellow");
|
|
23
|
+
pret.bgBlue = x => new PrettyStringColored(x, "bgBlue");
|
|
24
|
+
pret.bgMagenta = x => new PrettyStringColored(x, "bgMagenta");
|
|
25
|
+
pret.bgCyan = x => new PrettyStringColored(x, "bgCyan");
|
|
26
|
+
pret.bgWhite = x => new PrettyStringColored(x, "bgWhite");
|
|
27
|
+
pret.rgb = (r, g, b, x) => new PrettyStringColored(x, {
|
|
28
|
+
kind: "rgb",
|
|
29
|
+
r,
|
|
30
|
+
g,
|
|
31
|
+
b
|
|
32
|
+
});
|
|
33
|
+
const ansiColors = {
|
|
34
|
+
reset: ["\x1b[0m", "\x1b[0m"],
|
|
35
|
+
bold: ["\x1b[1m", "\x1b[22m"],
|
|
36
|
+
dim: ["\x1b[2m", "\x1b[22m"],
|
|
37
|
+
italic: ["\x1b[3m", "\x1b[23m"],
|
|
38
|
+
underline: ["\x1b[4m", "\x1b[24m"],
|
|
39
|
+
inverse: ["\x1b[7m", "\x1b[27m"],
|
|
40
|
+
hidden: ["\x1b[8m", "\x1b[28m"],
|
|
41
|
+
strikethrough: ["\x1b[9m", "\x1b[29m"],
|
|
42
|
+
black: ["\x1b[30m", "\x1b[39m"],
|
|
43
|
+
red: ["\x1b[31m", "\x1b[39m"],
|
|
44
|
+
green: ["\x1b[32m", "\x1b[39m"],
|
|
45
|
+
yellow: ["\x1b[33m", "\x1b[39m"],
|
|
46
|
+
blue: ["\x1b[34m", "\x1b[39m"],
|
|
47
|
+
magenta: ["\x1b[35m", "\x1b[39m"],
|
|
48
|
+
cyan: ["\x1b[36m", "\x1b[39m"],
|
|
49
|
+
white: ["\x1b[37m", "\x1b[39m"],
|
|
50
|
+
gray: ["\x1b[90m", "\x1b[39m"],
|
|
51
|
+
bgBlack: ["\x1b[40m", "\x1b[49m"],
|
|
52
|
+
bgRed: ["\x1b[41m", "\x1b[49m"],
|
|
53
|
+
bgGreen: ["\x1b[42m", "\x1b[49m"],
|
|
54
|
+
bgYellow: ["\x1b[43m", "\x1b[49m"],
|
|
55
|
+
bgBlue: ["\x1b[44m", "\x1b[49m"],
|
|
56
|
+
bgMagenta: ["\x1b[45m", "\x1b[49m"],
|
|
57
|
+
bgCyan: ["\x1b[46m", "\x1b[49m"],
|
|
58
|
+
bgWhite: ["\x1b[47m", "\x1b[49m"]
|
|
59
|
+
};
|
|
60
|
+
export class PrettyStringColored {
|
|
61
|
+
#value;
|
|
62
|
+
#color;
|
|
63
|
+
constructor(value, color) {
|
|
64
|
+
this.#value = value;
|
|
65
|
+
this.#color = color;
|
|
66
|
+
}
|
|
67
|
+
toString() {
|
|
68
|
+
return this.#value.toString();
|
|
69
|
+
}
|
|
70
|
+
toAnsi() {
|
|
71
|
+
if (typeof this.#color === "string") {
|
|
72
|
+
const [start, end] = ansiColors[this.#color];
|
|
73
|
+
return `${start}${typeof this.#value === "string" ? this.#value : this.#value.toAnsi()}${end}`;
|
|
74
|
+
}
|
|
75
|
+
const {
|
|
76
|
+
r,
|
|
77
|
+
g,
|
|
78
|
+
b
|
|
79
|
+
} = this.#color;
|
|
80
|
+
const start = `\x1b[38;2;${r};${g};${b}m`;
|
|
81
|
+
const end = `\x1b[39m`;
|
|
82
|
+
return `${start}${typeof this.#value === "string" ? this.#value : this.#value.toAnsi()}${end}`;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
export class PrettyString {
|
|
86
|
+
#segments;
|
|
87
|
+
constructor(segments) {
|
|
88
|
+
this.#segments = segments;
|
|
89
|
+
}
|
|
90
|
+
toString() {
|
|
91
|
+
return this.#segments.map(s => typeof s === "string" ? s : s.toString()).join("");
|
|
92
|
+
}
|
|
93
|
+
toAnsi() {
|
|
94
|
+
return this.#segments.map(s => typeof s === "string" ? s : s.toAnsi()).join("");
|
|
95
|
+
}
|
|
96
|
+
[inspect.custom]() {
|
|
97
|
+
return this.toAnsi();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=pretty-string.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["inspect","pret","strings","keys","result","forEach","key","i","push","PrettyString","black","x","PrettyStringColored","red","green","yellow","blue","magenta","cyan","white","gray","bgBlack","bgRed","bgGreen","bgYellow","bgBlue","bgMagenta","bgCyan","bgWhite","rgb","r","g","b","kind","ansiColors","reset","bold","dim","italic","underline","inverse","hidden","strikethrough","value","color","constructor","toString","toAnsi","start","end","segments","map","s","join","custom"],"sources":["../../../../src/pretty-string/pretty-string.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,OAAO,QAAQ,eAAe;AAEvC,OAAO,SAASC,IAAIA,CAClBC,OAA6B,EAC7B,GAAGC,IAA2B,EAChB;EACd,MAAMC,MAA6B,GAAG,CAACF,OAAO,CAAC,CAAC,CAAC,CAAC;EAClDC,IAAI,CAACE,OAAO,CAAC,CAACC,GAAG,EAAEC,CAAC,KAAK;IACvBH,MAAM,CAACI,IAAI,CAACF,GAAG,CAAC;IAChBF,MAAM,CAACI,IAAI,CAACN,OAAO,CAACK,CAAC,GAAG,CAAC,CAAC,CAAC;EAC7B,CAAC,CAAC;EAEF,OAAO,IAAIE,YAAY,CAACL,MAAM,CAAC;AACjC;AAEAH,IAAI,CAACS,KAAK,GAAIC,CAAsB,IAAK,IAAIC,mBAAmB,CAACD,CAAC,EAAE,OAAO,CAAC;AAC5EV,IAAI,CAACY,GAAG,GAAIF,CAAsB,IAAK,IAAIC,mBAAmB,CAACD,CAAC,EAAE,KAAK,CAAC;AACxEV,IAAI,CAACa,KAAK,GAAIH,CAAsB,IAAK,IAAIC,mBAAmB,CAACD,CAAC,EAAE,OAAO,CAAC;AAC5EV,IAAI,CAACc,MAAM,GAAIJ,CAAsB,IAAK,IAAIC,mBAAmB,CAACD,CAAC,EAAE,QAAQ,CAAC;AAC9EV,IAAI,CAACe,IAAI,GAAIL,CAAsB,IAAK,IAAIC,mBAAmB,CAACD,CAAC,EAAE,MAAM,CAAC;AAC1EV,IAAI,CAACgB,OAAO,GAAIN,CAAsB,IACpC,IAAIC,mBAAmB,CAACD,CAAC,EAAE,SAAS,CAAC;AACvCV,IAAI,CAACiB,IAAI,GAAIP,CAAsB,IAAK,IAAIC,mBAAmB,CAACD,CAAC,EAAE,MAAM,CAAC;AAC1EV,IAAI,CAACkB,KAAK,GAAIR,CAAsB,IAAK,IAAIC,mBAAmB,CAACD,CAAC,EAAE,OAAO,CAAC;AAC5EV,IAAI,CAACmB,IAAI,GAAIT,CAAsB,IAAK,IAAIC,mBAAmB,CAACD,CAAC,EAAE,MAAM,CAAC;AAE1EV,IAAI,CAACoB,OAAO,GAAIV,CAAsB,IACpC,IAAIC,mBAAmB,CAACD,CAAC,EAAE,SAAS,CAAC;AACvCV,IAAI,CAACqB,KAAK,GAAIX,CAAsB,IAAK,IAAIC,mBAAmB,CAACD,CAAC,EAAE,OAAO,CAAC;AAC5EV,IAAI,CAACsB,OAAO,GAAIZ,CAAsB,IACpC,IAAIC,mBAAmB,CAACD,CAAC,EAAE,SAAS,CAAC;AACvCV,IAAI,CAACuB,QAAQ,GAAIb,CAAsB,IACrC,IAAIC,mBAAmB,CAACD,CAAC,EAAE,UAAU,CAAC;AACxCV,IAAI,CAACwB,MAAM,GAAId,CAAsB,IAAK,IAAIC,mBAAmB,CAACD,CAAC,EAAE,QAAQ,CAAC;AAC9EV,IAAI,CAACyB,SAAS,GAAIf,CAAsB,IACtC,IAAIC,mBAAmB,CAACD,CAAC,EAAE,WAAW,CAAC;AACzCV,IAAI,CAAC0B,MAAM,GAAIhB,CAAsB,IAAK,IAAIC,mBAAmB,CAACD,CAAC,EAAE,QAAQ,CAAC;AAC9EV,IAAI,CAAC2B,OAAO,GAAIjB,CAAsB,IACpC,IAAIC,mBAAmB,CAACD,CAAC,EAAE,SAAS,CAAC;AAEvCV,IAAI,CAAC4B,GAAG,GAAG,CAACC,CAAS,EAAEC,CAAS,EAAEC,CAAS,EAAErB,CAAsB,KACjE,IAAIC,mBAAmB,CAACD,CAAC,EAAE;EAAEsB,IAAI,EAAE,KAAK;EAAEH,CAAC;EAAEC,CAAC;EAAEC;AAAE,CAAC,CAAC;AAEtD,MAAME,UAAU,GAAG;EACjBC,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC;EAC7BC,IAAI,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;EAC7BC,GAAG,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;EAC5BC,MAAM,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;EAC/BC,SAAS,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;EAClCC,OAAO,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;EAChCC,MAAM,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;EAC/BC,aAAa,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;EACtChC,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;EAC/BG,GAAG,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;EAC7BC,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;EAC/BC,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;EAChCC,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;EAC9BC,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;EACjCC,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;EAC9BC,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;EAC/BC,IAAI,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;EAC9BC,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;EACjCC,KAAK,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;EAC/BC,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;EACjCC,QAAQ,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;EAClCC,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;EAChCC,SAAS,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;EACnCC,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC;EAChCC,OAAO,EAAE,CAAC,UAAU,EAAE,UAAU;AAClC,CAAqC;AAarC,OAAO,MAAMhB,mBAAmB,CAAC;EAC/B,CAAC+B,KAAK;EACN,CAACC,KAAK;EAENC,WAAWA,CAACF,KAA0B,EAAEC,KAAY,EAAE;IACpD,IAAI,CAAC,CAACD,KAAK,GAAGA,KAAK;IACnB,IAAI,CAAC,CAACC,KAAK,GAAGA,KAAK;EACrB;EAEAE,QAAQA,CAAA,EAAW;IACjB,OAAO,IAAI,CAAC,CAACH,KAAK,CAACG,QAAQ,CAAC,CAAC;EAC/B;EAEAC,MAAMA,CAAA,EAAW;IACf,IAAI,OAAO,IAAI,CAAC,CAACH,KAAK,KAAK,QAAQ,EAAE;MACnC,MAAM,CAACI,KAAK,EAAEC,GAAG,CAAC,GAAGf,UAAU,CAAC,IAAI,CAAC,CAACU,KAAK,CAAC;MAC5C,OAAO,GAAGI,KAAK,GAAG,OAAO,IAAI,CAAC,CAACL,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,CAACA,KAAK,GAAG,IAAI,CAAC,CAACA,KAAK,CAACI,MAAM,CAAC,CAAC,GAAGE,GAAG,EAAE;IAChG;IACA,MAAM;MAAEnB,CAAC;MAAEC,CAAC;MAAEC;IAAE,CAAC,GAAG,IAAI,CAAC,CAACY,KAAK;IAC/B,MAAMI,KAAK,GAAG,aAAalB,CAAC,IAAIC,CAAC,IAAIC,CAAC,GAAG;IACzC,MAAMiB,GAAG,GAAG,UAAU;IACtB,OAAO,GAAGD,KAAK,GAAG,OAAO,IAAI,CAAC,CAACL,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,CAACA,KAAK,GAAG,IAAI,CAAC,CAACA,KAAK,CAACI,MAAM,CAAC,CAAC,GAAGE,GAAG,EAAE;EAChG;AACF;AAEA,OAAO,MAAMxC,YAAY,CAAC;EACxB,CAACyC,QAAQ;EAETL,WAAWA,CAACK,QAA+B,EAAE;IAC3C,IAAI,CAAC,CAACA,QAAQ,GAAGA,QAAQ;EAC3B;EAEAJ,QAAQA,CAAA,EAAW;IACjB,OAAO,IAAI,CAAC,CAACI,QAAQ,CAClBC,GAAG,CAAEC,CAAC,IAAM,OAAOA,CAAC,KAAK,QAAQ,GAAGA,CAAC,GAAGA,CAAC,CAACN,QAAQ,CAAC,CAAE,CAAC,CACtDO,IAAI,CAAC,EAAE,CAAC;EACb;EAEAN,MAAMA,CAAA,EAAW;IACf,OAAO,IAAI,CAAC,CAACG,QAAQ,CAClBC,GAAG,CAAEC,CAAC,IAAM,OAAOA,CAAC,KAAK,QAAQ,GAAGA,CAAC,GAAGA,CAAC,CAACL,MAAM,CAAC,CAAE,CAAC,CACpDM,IAAI,CAAC,EAAE,CAAC;EACb;EAEA,CAACrD,OAAO,CAACsD,MAAM,IAAI;IACjB,OAAO,IAAI,CAACP,MAAM,CAAC,CAAC;EACtB;AACF","ignoreList":[]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { expect, it } from "vitest";
|
|
2
|
+
import { pret } from "./pretty-string.js";
|
|
3
|
+
function expectRender(pretty, expected) {
|
|
4
|
+
expect(pretty.toString()).toBe(expected.toString);
|
|
5
|
+
expect(pretty.toAnsi()).toBe(expected.toAnsi);
|
|
6
|
+
}
|
|
7
|
+
it("interpolate basic string", () => {
|
|
8
|
+
const result = pret`foo ${"bar"} baz`;
|
|
9
|
+
expectRender(result, {
|
|
10
|
+
toString: "foo bar baz",
|
|
11
|
+
toAnsi: "foo bar baz"
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
// cspell:ignore mbar
|
|
16
|
+
it("interpolate pretty segment", () => {
|
|
17
|
+
const result = pret`foo ${pret.red("bar")} baz`;
|
|
18
|
+
expectRender(result, {
|
|
19
|
+
toString: "foo bar baz",
|
|
20
|
+
toAnsi: "foo \x1b[31mbar\x1b[39m baz"
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
it("interpolate another pretty string with more formatting", () => {
|
|
24
|
+
const a = pret`foo ${pret.red("bar")} baz`;
|
|
25
|
+
const result = pret`Hi, ${pret.bgGreen(a)}`;
|
|
26
|
+
expectRender(result, {
|
|
27
|
+
toString: "Hi, foo bar baz",
|
|
28
|
+
toAnsi: "Hi, \x1b[42mfoo \x1b[31mbar\x1b[39m baz\x1b[49m"
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
it("use full rgb", () => {
|
|
32
|
+
const result = pret`foo ${pret.rgb(123, 45, 67, "bar")} baz`;
|
|
33
|
+
expectRender(result, {
|
|
34
|
+
toString: "foo bar baz",
|
|
35
|
+
toAnsi: "foo \x1b[38;2;123;45;67mbar\x1b[39m baz"
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=pretty-string.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["expect","it","pret","expectRender","pretty","expected","toString","toBe","toAnsi","result","red","a","bgGreen","rgb"],"sources":["../../../../src/pretty-string/pretty-string.test.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,MAAM,EAAEC,EAAE,QAAQ,QAAQ;AACnC,SAASC,IAAI,QAAsB,oBAAoB;AAEvD,SAASC,YAAYA,CACnBC,MAAoB,EACpBC,QAGC,EACD;EACAL,MAAM,CAACI,MAAM,CAACE,QAAQ,CAAC,CAAC,CAAC,CAACC,IAAI,CAACF,QAAQ,CAACC,QAAQ,CAAC;EACjDN,MAAM,CAACI,MAAM,CAACI,MAAM,CAAC,CAAC,CAAC,CAACD,IAAI,CAACF,QAAQ,CAACG,MAAM,CAAC;AAC/C;AAEAP,EAAE,CAAC,0BAA0B,EAAE,MAAM;EACnC,MAAMQ,MAAM,GAAGP,IAAI,OAAO,KAAK,MAAM;EACrCC,YAAY,CAACM,MAAM,EAAE;IACnBH,QAAQ,EAAE,aAAa;IACvBE,MAAM,EAAE;EACV,CAAC,CAAC;AACJ,CAAC,CAAC;;AAEF;AACAP,EAAE,CAAC,4BAA4B,EAAE,MAAM;EACrC,MAAMQ,MAAM,GAAGP,IAAI,OAAOA,IAAI,CAACQ,GAAG,CAAC,KAAK,CAAC,MAAM;EAC/CP,YAAY,CAACM,MAAM,EAAE;IACnBH,QAAQ,EAAE,aAAa;IACvBE,MAAM,EAAE;EACV,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFP,EAAE,CAAC,wDAAwD,EAAE,MAAM;EACjE,MAAMU,CAAC,GAAGT,IAAI,OAAOA,IAAI,CAACQ,GAAG,CAAC,KAAK,CAAC,MAAM;EAC1C,MAAMD,MAAM,GAAGP,IAAI,OAAOA,IAAI,CAACU,OAAO,CAACD,CAAC,CAAC,EAAE;EAC3CR,YAAY,CAACM,MAAM,EAAE;IACnBH,QAAQ,EAAE,iBAAiB;IAC3BE,MAAM,EAAE;EACV,CAAC,CAAC;AACJ,CAAC,CAAC;AAEFP,EAAE,CAAC,cAAc,EAAE,MAAM;EACvB,MAAMQ,MAAM,GAAGP,IAAI,OAAOA,IAAI,CAACW,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM;EAC5DV,YAAY,CAACM,MAAM,EAAE;IACnBH,QAAQ,EAAE,aAAa;IACvBE,MAAM,EAAE;EACV,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Print hook types and utilities.
|
|
3
|
+
* This is a separate file to avoid circular dependencies between render.ts and debug/render.ts.
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export const printHookTag = Symbol();
|
|
7
|
+
export function isPrintHook(type) {
|
|
8
|
+
return typeof type === "object" && type !== null && printHookTag in type;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=print-hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["printHookTag","Symbol","isPrintHook","type"],"sources":["../../../src/print-hook.ts"],"sourcesContent":[null],"mappings":"AAAA;AACA;AACA;AACA;;AAEA,OAAO,MAAMA,YAAY,GAAGC,MAAM,CAAC,CAAC;AAYpC,OAAO,SAASC,WAAWA,CAACC,IAAa,EAAqB;EAC5D,OAAO,OAAOA,IAAI,KAAK,QAAQ,IAAIA,IAAI,KAAK,IAAI,IAAIH,YAAY,IAAIG,IAAI;AAC1E","ignoreList":[]}
|