@powerlines/plugin-alloy 0.25.25 → 0.25.27
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/README.md +14 -16
- package/dist/_virtual/{rolldown_runtime.cjs → _rolldown/runtime.cjs} +1 -1
- package/dist/_virtual/_rolldown/runtime.mjs +3 -0
- package/dist/core/components/index.cjs +1 -0
- package/dist/core/components/output.cjs +9 -8
- package/dist/core/components/output.d.cts +2 -3
- package/dist/core/components/output.d.cts.map +1 -1
- package/dist/core/components/output.d.mts +2 -3
- package/dist/core/components/output.d.mts.map +1 -1
- package/dist/core/components/single-line-comment.cjs +6 -5
- package/dist/core/components/single-line-comment.d.cts +2 -2
- package/dist/core/components/single-line-comment.d.cts.map +1 -1
- package/dist/core/components/single-line-comment.d.mts.map +1 -1
- package/dist/core/components/source-file.cjs +14 -13
- package/dist/core/components/source-file.d.cts +2 -2
- package/dist/core/components/source-file.d.cts.map +1 -1
- package/dist/core/components/source-file.d.mts +2 -2
- package/dist/core/components/source-file.d.mts.map +1 -1
- package/dist/core/components/spacing.cjs +6 -5
- package/dist/core/components/spacing.d.cts +2 -2
- package/dist/core/components/spacing.d.cts.map +1 -1
- package/dist/core/components/spacing.d.mts.map +1 -1
- package/dist/core/contexts/context.cjs +5 -4
- package/dist/core/contexts/context.d.cts +0 -1
- package/dist/core/contexts/context.d.cts.map +1 -1
- package/dist/core/contexts/context.d.mts +0 -1
- package/dist/core/contexts/context.d.mts.map +1 -1
- package/dist/core/contexts/index.cjs +1 -0
- package/dist/core/contexts/meta.cjs +5 -4
- package/dist/core/contexts/meta.d.cts.map +1 -1
- package/dist/core/contexts/meta.d.mts.map +1 -1
- package/dist/core/contexts/reflection.cjs +11 -10
- package/dist/core/contexts/reflection.d.cts.map +1 -1
- package/dist/core/contexts/reflection.d.mts.map +1 -1
- package/dist/core/helpers/code.cjs +4 -3
- package/dist/core/helpers/code.d.cts +0 -1
- package/dist/core/helpers/code.d.cts.map +1 -1
- package/dist/core/helpers/code.d.mts +0 -1
- package/dist/core/helpers/code.d.mts.map +1 -1
- package/dist/core/helpers/index.cjs +1 -0
- package/dist/core/index.cjs +1 -0
- package/dist/core/index.d.cts +0 -3
- package/dist/core/index.d.mts +0 -3
- package/dist/helpers/capnp.cjs +65 -64
- package/dist/helpers/capnp.d.cts +0 -1
- package/dist/helpers/capnp.d.cts.map +1 -1
- package/dist/helpers/capnp.d.mts +0 -1
- package/dist/helpers/capnp.d.mts.map +1 -1
- package/dist/helpers/capnp.mjs +3 -3
- package/dist/helpers/create-builtin.cjs +4 -3
- package/dist/helpers/create-builtin.d.cts.map +1 -1
- package/dist/helpers/create-builtin.d.mts.map +1 -1
- package/dist/helpers/index.cjs +1 -0
- package/dist/helpers/refkey.cjs +4 -3
- package/dist/helpers/refkey.d.cts +0 -1
- package/dist/helpers/refkey.d.cts.map +1 -1
- package/dist/helpers/refkey.d.mts +0 -1
- package/dist/helpers/refkey.d.mts.map +1 -1
- package/dist/helpers/typescript.cjs +14 -13
- package/dist/helpers/typescript.d.cts.map +1 -1
- package/dist/helpers/typescript.d.mts.map +1 -1
- package/dist/index.cjs +8 -9
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +1 -2
- package/dist/markdown/components/front-matter.cjs +8 -7
- package/dist/markdown/components/front-matter.d.cts +2 -2
- package/dist/markdown/components/front-matter.d.cts.map +1 -1
- package/dist/markdown/components/front-matter.d.mts +2 -2
- package/dist/markdown/components/front-matter.d.mts.map +1 -1
- package/dist/markdown/components/index.cjs +1 -0
- package/dist/markdown/components/markdown-file.cjs +34 -33
- package/dist/markdown/components/markdown-file.d.cts +3 -3
- package/dist/markdown/components/markdown-file.d.cts.map +1 -1
- package/dist/markdown/components/markdown-file.d.mts +3 -3
- package/dist/markdown/components/markdown-file.d.mts.map +1 -1
- package/dist/markdown/components/markdown-table.cjs +26 -25
- package/dist/markdown/components/markdown-table.d.cts +4 -4
- package/dist/markdown/components/markdown-table.d.cts.map +1 -1
- package/dist/markdown/components/markdown-table.d.mts +4 -4
- package/dist/markdown/components/markdown-table.d.mts.map +1 -1
- package/dist/markdown/contexts/index.cjs +1 -0
- package/dist/markdown/contexts/markdown-table.cjs +7 -6
- package/dist/markdown/contexts/markdown-table.d.cts.map +1 -1
- package/dist/markdown/contexts/markdown-table.d.mts.map +1 -1
- package/dist/markdown/index.cjs +1 -0
- package/dist/markdown/index.d.cts +0 -2
- package/dist/markdown/index.d.mts +0 -2
- package/dist/render.cjs +10 -9
- package/dist/render.d.cts +0 -1
- package/dist/render.d.cts.map +1 -1
- package/dist/render.d.mts +0 -1
- package/dist/render.d.mts.map +1 -1
- package/dist/types/components.d.cts.map +1 -1
- package/dist/types/components.d.mts.map +1 -1
- package/dist/types/plugin.d.cts.map +1 -1
- package/dist/types/plugin.d.mts.map +1 -1
- package/dist/typescript/components/builtin-file.cjs +14 -13
- package/dist/typescript/components/builtin-file.d.cts +2 -2
- package/dist/typescript/components/builtin-file.d.cts.map +1 -1
- package/dist/typescript/components/builtin-file.d.mts +2 -2
- package/dist/typescript/components/builtin-file.d.mts.map +1 -1
- package/dist/typescript/components/class-declaration.cjs +57 -56
- package/dist/typescript/components/class-declaration.d.cts.map +1 -1
- package/dist/typescript/components/class-declaration.d.mts.map +1 -1
- package/dist/typescript/components/dynamic-import-statement.cjs +6 -5
- package/dist/typescript/components/dynamic-import-statement.d.cts +2 -2
- package/dist/typescript/components/dynamic-import-statement.d.cts.map +1 -1
- package/dist/typescript/components/dynamic-import-statement.d.mts +2 -2
- package/dist/typescript/components/dynamic-import-statement.d.mts.map +1 -1
- package/dist/typescript/components/entry-file.cjs +12 -11
- package/dist/typescript/components/entry-file.d.cts +2 -2
- package/dist/typescript/components/entry-file.d.cts.map +1 -1
- package/dist/typescript/components/entry-file.d.mts +2 -2
- package/dist/typescript/components/entry-file.d.mts.map +1 -1
- package/dist/typescript/components/index.cjs +1 -0
- package/dist/typescript/components/infrastructure-file.cjs +11 -10
- package/dist/typescript/components/infrastructure-file.d.cts +2 -2
- package/dist/typescript/components/infrastructure-file.d.cts.map +1 -1
- package/dist/typescript/components/infrastructure-file.d.mts +2 -2
- package/dist/typescript/components/infrastructure-file.d.mts.map +1 -1
- package/dist/typescript/components/interface-declaration.cjs +59 -58
- package/dist/typescript/components/interface-declaration.d.cts +2 -2
- package/dist/typescript/components/interface-declaration.d.cts.map +1 -1
- package/dist/typescript/components/interface-declaration.d.mts +2 -2
- package/dist/typescript/components/interface-declaration.d.mts.map +1 -1
- package/dist/typescript/components/interface-declaration.mjs +2 -2
- package/dist/typescript/components/object-declaration.cjs +40 -39
- package/dist/typescript/components/object-declaration.d.cts +3 -3
- package/dist/typescript/components/object-declaration.d.cts.map +1 -1
- package/dist/typescript/components/object-declaration.d.mts +3 -3
- package/dist/typescript/components/object-declaration.d.mts.map +1 -1
- package/dist/typescript/components/property-name.cjs +8 -7
- package/dist/typescript/components/property-name.d.cts +2 -2
- package/dist/typescript/components/property-name.d.cts.map +1 -1
- package/dist/typescript/components/property-name.d.mts +2 -2
- package/dist/typescript/components/property-name.d.mts.map +1 -1
- package/dist/typescript/components/record-expression.cjs +4 -3
- package/dist/typescript/components/record-expression.d.cts.map +1 -1
- package/dist/typescript/components/record-expression.d.mts.map +1 -1
- package/dist/typescript/components/tsdoc-reflection.cjs +74 -73
- package/dist/typescript/components/tsdoc-reflection.d.cts +7 -7
- package/dist/typescript/components/tsdoc-reflection.d.cts.map +1 -1
- package/dist/typescript/components/tsdoc-reflection.d.mts +7 -7
- package/dist/typescript/components/tsdoc-reflection.d.mts.map +1 -1
- package/dist/typescript/components/tsdoc.cjs +107 -106
- package/dist/typescript/components/tsdoc.d.cts.map +1 -1
- package/dist/typescript/components/tsdoc.d.mts.map +1 -1
- package/dist/typescript/components/tsdoc.mjs +2 -2
- package/dist/typescript/components/tsdoc.mjs.map +1 -1
- package/dist/typescript/components/type-declaration.cjs +11 -10
- package/dist/typescript/components/type-declaration.d.cts.map +1 -1
- package/dist/typescript/components/type-declaration.d.mts +2 -2
- package/dist/typescript/components/type-declaration.d.mts.map +1 -1
- package/dist/typescript/components/type-declaration.mjs +1 -1
- package/dist/typescript/components/type-parameters.cjs +17 -16
- package/dist/typescript/components/type-parameters.d.cts.map +1 -1
- package/dist/typescript/components/type-parameters.d.mts.map +1 -1
- package/dist/typescript/components/typescript-file.cjs +63 -62
- package/dist/typescript/components/typescript-file.d.cts.map +1 -1
- package/dist/typescript/components/typescript-file.d.mts.map +1 -1
- package/dist/typescript/contexts/index.cjs +1 -0
- package/dist/typescript/contexts/lexical-scope.cjs +8 -7
- package/dist/typescript/contexts/lexical-scope.d.cts.map +1 -1
- package/dist/typescript/contexts/lexical-scope.d.mts +2 -2
- package/dist/typescript/contexts/lexical-scope.d.mts.map +1 -1
- package/dist/typescript/contexts/member-scope.cjs +8 -7
- package/dist/typescript/contexts/member-scope.d.cts.map +1 -1
- package/dist/typescript/contexts/member-scope.d.mts.map +1 -1
- package/dist/typescript/helpers/get-call-signature-props.cjs +5 -4
- package/dist/typescript/helpers/get-call-signature-props.d.cts +0 -1
- package/dist/typescript/helpers/get-call-signature-props.d.cts.map +1 -1
- package/dist/typescript/helpers/get-call-signature-props.d.mts +0 -1
- package/dist/typescript/helpers/get-call-signature-props.d.mts.map +1 -1
- package/dist/typescript/helpers/index.cjs +1 -0
- package/dist/typescript/helpers/utilities.cjs +1 -0
- package/dist/typescript/helpers/utilities.d.cts.map +1 -1
- package/dist/typescript/helpers/utilities.d.mts.map +1 -1
- package/dist/typescript/index.cjs +1 -0
- package/dist/typescript/index.d.cts +0 -3
- package/dist/typescript/index.d.mts +0 -3
- package/dist/yaml/components/index.cjs +1 -0
- package/dist/yaml/components/yaml-file.cjs +34 -33
- package/dist/yaml/components/yaml-file.d.cts.map +1 -1
- package/dist/yaml/components/yaml-file.d.mts.map +1 -1
- package/dist/yaml/index.cjs +1 -0
- package/dist/yaml/index.d.cts +0 -1
- package/dist/yaml/index.d.mts +0 -1
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tsdoc.mjs","names":["childrenArray","computed","For","List","Prose","Show","splitProps","stringifyDefaultValue","isSetString","isUndefined","Spacing","usePowerlinesSafe","TSDoc","props","children","heading","_$createIntrinsic","string","_$createComponent","when","_$memo","filter","Boolean","length","TSDocTag","tag","width","TSDocParams","parameters","normalizeParametersForDoc","each","param","TSDocParam","name","optional","doc","some","p","TSDocTitle","rest","_$mergeProps","TSDocDomain","TSDocAlias","TSDocPermission","TSDocDefaultValue","type","defaultValue","TSDocRemarks","hardline","TSDocLink","TSDocExample","tsx","fenced","language","TSDocReadonly","TSDocInternal","TSDocIgnore","TSDocHidden","TSDocAttributesTags","alias","permission","readonly","internal","ignore","hidden","title","trim","domain","value","a","TSDocParamName","TSDocParamDescription","TSDocReturns","TSDocThrows","TSDocModule","prefix","context","config","framework"],"sources":["../../../src/typescript/components/tsdoc.tsx"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport {\n Children,\n childrenArray,\n computed,\n For,\n List,\n Prose,\n Show,\n splitProps\n} from \"@alloy-js/core\";\nimport { JSDocExampleProps, ParameterDescriptor } from \"@alloy-js/typescript\";\nimport { stringifyDefaultValue } from \"@powerlines/deepkit/utilities\";\nimport {\n ReflectionKind,\n ReflectionParameter,\n ReflectionProperty\n} from \"@powerlines/deepkit/vendor/type\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { isUndefined } from \"@stryke/type-checks/is-undefined\";\nimport { Spacing } from \"../../core/components/spacing\";\nimport { usePowerlinesSafe } from \"../../core/contexts/context\";\nimport { ComponentProps } from \"../../types/components\";\n\nexport interface TSDocProps extends ComponentProps {\n heading?: Children;\n}\n\n/**\n * Generates a TypeScript interface for the given reflection class.\n */\nexport function TSDoc(props: TSDocProps) {\n const [{ children, heading }] = splitProps(props, [\"children\", \"heading\"]);\n\n return (\n <>\n /**\n <align string=\" * \">\n <hbr />\n <Show when={!isUndefined(heading)}>{heading}</Show>\n <Show\n when={\n !isUndefined(children) &&\n childrenArray(() => children).filter(Boolean).length > 0\n }>\n <Show when={!isUndefined(heading)}>\n <Spacing />\n </Show>\n <List>{childrenArray(() => children)}</List>\n </Show>\n </align>\n <hbr />\n {`*/`}\n <hbr />\n </>\n );\n}\n\nexport interface TSDocTagProps extends ComponentProps {\n tag: string;\n}\n\n/**\n * Create a TSDoc `@<props.tag>` tag.\n */\nexport function TSDocTag(props: TSDocTagProps) {\n const [{ children, tag }] = splitProps(props, [\"children\", \"tag\"]);\n\n return (\n <>\n {`@${tag} `}\n <Show when={Boolean(children)}>\n <align width={2}>\n <Prose>{children}</Prose>\n </align>\n </Show>\n <sbr />\n </>\n );\n}\n\nexport interface TSDocParamsProps {\n parameters: ParameterDescriptor[] | string[];\n}\n\n/**\n * A component that creates a TSDoc block with `@param` tags for each parameter.\n */\nexport function TSDocParams(props: TSDocParamsProps) {\n const parameters = normalizeParametersForDoc(props.parameters);\n\n return (\n <For each={parameters}>\n {param => (\n <TSDocParam name={param.name} optional={param.optional}>\n {param.doc}\n </TSDocParam>\n )}\n </For>\n );\n}\n\nfunction normalizeParametersForDoc(\n parameters: ParameterDescriptor[] | string[]\n): ParameterDescriptor[] {\n if (parameters.some(p => typeof p === \"string\")) {\n return [];\n }\n\n return parameters as ParameterDescriptor[];\n}\n\n/**\n * Create a TSDoc `@title` tag.\n */\nexport function TSDocTitle(props: ComponentProps) {\n const [{ children }, rest] = splitProps(props, [\"children\"]);\n\n return (\n <TSDocTag {...rest} tag=\"title\">\n {children}\n </TSDocTag>\n );\n}\n\n/**\n * Create a TSDoc `@domain` tag.\n */\nexport function TSDocDomain(props: ComponentProps) {\n const [{ children }, rest] = splitProps(props, [\"children\"]);\n\n return (\n <TSDocTag {...rest} tag=\"domain\">\n {children}\n </TSDocTag>\n );\n}\n\n/**\n * Create a TSDoc `@alias` tag.\n */\nexport function TSDocAlias(props: ComponentProps) {\n const [{ children }, rest] = splitProps(props, [\"children\"]);\n\n return (\n <TSDocTag {...rest} tag=\"alias\">\n {children}\n </TSDocTag>\n );\n}\n\n/**\n * Create a TSDoc `@permission` tag.\n */\nexport function TSDocPermission(props: ComponentProps) {\n const [{ children }, rest] = splitProps(props, [\"children\"]);\n\n return (\n <TSDocTag {...rest} tag=\"permission\">\n {children}\n </TSDocTag>\n );\n}\n\nexport interface TSDocDefaultValueProps extends ComponentProps {\n type: ReflectionKind | ReflectionProperty | ReflectionParameter;\n defaultValue: any;\n}\n\n/**\n * Create a TSDoc `@defaultValue` tag.\n */\nexport function TSDocDefaultValue(props: TSDocDefaultValueProps) {\n const [{ type, defaultValue }] = splitProps(props, [\"type\", \"defaultValue\"]);\n\n return (\n <>\n {\"@defaultValue \"}\n <Show when={!isUndefined(defaultValue)}>\n <align width={2}>\n <Prose>{stringifyDefaultValue(type, defaultValue)}</Prose>\n </align>\n </Show>\n </>\n );\n}\n\n/**\n * Create a TSDoc `@remarks` tag.\n */\nexport function TSDocRemarks(props: ComponentProps) {\n return (\n <>\n {\"@remarks \"}\n <hbr />\n <List hardline={true}>{childrenArray(() => props.children)}</List>\n </>\n );\n}\n\n/**\n * Create a TSDoc `@see` tag.\n */\nexport function TSDocLink(props: ComponentProps) {\n return <TSDocTag {...props} tag=\"see\" />;\n}\n\nexport interface TSDocExampleProps extends JSDocExampleProps {\n /**\n * Whether the file is a TSX file.\n *\n * @defaultValue false\n */\n tsx?: boolean;\n}\n\n/**\n * Create a TSDoc `@example` tag.\n */\nexport function TSDocExample(props: TSDocExampleProps) {\n const [{ tsx, fenced = true, language, children }] = splitProps(props, [\n \"tsx\",\n \"fenced\",\n \"language\",\n \"children\"\n ]);\n\n return (\n <>\n {\"@example \"}\n <hbr />\n <Show when={fenced}>\n ```{language || (tsx ? \"tsx\" : \"ts\")}\n <hbr />\n </Show>\n {children}\n <Show when={fenced}>\n <hbr />\n ```\n </Show>\n </>\n );\n}\n\n/**\n * Create a TSDoc `@readonly` tag.\n */\nexport function TSDocReadonly() {\n return <TSDocTag tag=\"readonly\" />;\n}\n\n/**\n * Create a TSDoc `@internal` tag.\n */\nexport function TSDocInternal() {\n return <TSDocTag tag=\"internal\" />;\n}\n\n/**\n * Create a TSDoc `@ignore` tag.\n */\nexport function TSDocIgnore() {\n return <TSDocTag tag=\"ignore\" />;\n}\n\n/**\n * Create a TSDoc `@hidden` tag.\n */\nexport function TSDocHidden() {\n return <TSDocTag tag=\"hidden\" />;\n}\n\nexport interface TSDocAttributesTagsProps {\n type?: ReflectionKind | ReflectionProperty | ReflectionParameter;\n title?: string;\n alias?: string[];\n permission?: string[];\n domain?: string;\n readonly?: boolean;\n internal?: boolean;\n ignore?: boolean;\n hidden?: boolean;\n defaultValue?: any;\n}\n\n/**\n * Generates a TypeScript interface property for the given reflection class.\n */\nexport function TSDocAttributesTags(props: TSDocAttributesTagsProps) {\n const [\n {\n type,\n alias,\n permission,\n readonly,\n internal,\n ignore,\n hidden,\n defaultValue\n }\n ] = splitProps(props, [\n \"type\",\n \"alias\",\n \"permission\",\n \"readonly\",\n \"internal\",\n \"ignore\",\n \"hidden\",\n \"defaultValue\"\n ]);\n\n const title = computed(() => props.title?.trim() || \"\");\n const domain = computed(() => props.domain?.trim() || \"\");\n\n return (\n <>\n <Show when={isSetString(title.value)}>\n <TSDocTitle>{title.value}</TSDocTitle>\n </Show>\n <Show\n when={\n !isUndefined(alias) &&\n alias.length > 0 &&\n alias.some(a => isSetString(a?.trim()))\n }>\n <For each={alias?.filter(a => isSetString(a?.trim())) ?? []}>\n {alias => <TSDocAlias>{alias}</TSDocAlias>}\n </For>\n </Show>\n <Show when={isSetString(domain.value)}>\n <TSDocDomain>{domain.value}</TSDocDomain>\n </Show>\n <Show\n when={\n !isUndefined(permission) &&\n permission.length > 0 &&\n permission.some(p => isSetString(p?.trim()))\n }>\n <For each={permission?.filter(p => isSetString(p?.trim())) ?? []}>\n {permission => <TSDocPermission>{permission}</TSDocPermission>}\n </For>\n </Show>\n <Show when={readonly === true}>\n <TSDocReadonly />\n </Show>\n <Show when={internal === true}>\n <TSDocInternal />\n </Show>\n <Show when={ignore === true}>\n <TSDocIgnore />\n </Show>\n <Show when={hidden === true}>\n <TSDocHidden />\n </Show>\n <Show when={!isUndefined(type) && !isUndefined(defaultValue)}>\n <TSDocDefaultValue\n type={\n type as ReflectionKind | ReflectionProperty | ReflectionParameter\n }\n defaultValue={defaultValue}\n />\n </Show>\n </>\n );\n}\n\nexport interface TSDocParamProps {\n name: Children;\n children?: Children;\n optional?: boolean;\n defaultValue?: Children;\n}\n\n/**\n * Create a TSDoc parameter set off with `@param`.\n */\nexport function TSDocParam(props: TSDocParamProps) {\n return (\n <>\n {\"@param \"}\n <TSDocParamName\n name={props.name}\n optional={props.optional}\n defaultValue={props.defaultValue}\n />\n <TSDocParamDescription children={props.children} />\n </>\n );\n}\n\ninterface TSDocParamNameProps {\n name: Children;\n optional?: boolean;\n defaultValue?: Children;\n}\n\nfunction TSDocParamName(props: TSDocParamNameProps) {\n return (\n <>\n <Show when={props.optional}>{\"[\"}</Show>\n {props.name}\n <Show when={Boolean(props.defaultValue)}>={props.defaultValue}</Show>\n <Show when={props.optional}>{\"]\"}</Show>\n </>\n );\n}\n\ninterface TSDocParamDescriptionProps {\n children?: Children;\n}\n\nfunction TSDocParamDescription(props: TSDocParamDescriptionProps) {\n return (\n <Show when={Boolean(props.children)}>\n {\" - \"}\n <align width={2}>\n <Prose>{props.children}</Prose>\n </align>\n </Show>\n );\n}\n\n/**\n * Create a TSDoc `@returns` tag.\n */\nexport function TSDocReturns(props: ComponentProps) {\n return <TSDocTag {...props} tag=\"returns\" />;\n}\n\n/**\n * Create a TSDoc `@throws` tag.\n */\nexport function TSDocThrows(props: ComponentProps) {\n return <TSDocTag {...props} tag=\"throws\" />;\n}\n\nexport interface TSDocModuleProps extends ComponentProps {\n /**\n * The prefix for the builtin module name\n *\n * @remarks\n * This value is populated from the Powerlines configuration output builtin prefix by default.\n *\n * @example\n * ```ts\n * /**\n * @module powerlines:my-module\n * \\/\n * ```\n */\n prefix?: string;\n\n /**\n * The name of the module\n *\n * @remarks\n * This will be used in the `@module` tag as well as the import path for the module, e.g. `storm:<name>`.\n *\n * @example\n * ```ts\n * import { MyModule } from \"powerlines:my-module\";\n * ```\n */\n name: Children;\n}\n\n/**\n * Generates a TSDoc `@module` tag for the given module name.\n */\nexport function TSDocModule(props: TSDocModuleProps) {\n const [{ children, name, prefix }] = splitProps(props, [\n \"children\",\n \"name\",\n \"prefix\"\n ]);\n\n const context = usePowerlinesSafe();\n\n return (\n <>\n /**\n <align string=\" * \">\n <hbr />\n <Show when={Boolean(children)}>\n <List hardline={true}>{childrenArray(() => children)}</List>\n <Spacing />\n </Show>\n {\"@module \"}\n {prefix || context?.config?.framework || \"powerlines\"}:{name}\n </align>\n <hbr />\n {` */`}\n </>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tsdoc.mjs","names":["childrenArray","computed","For","List","Prose","Show","splitProps","stringifyDefaultValue","isSetString","isUndefined","Spacing","usePowerlinesSafe","TSDoc","props","children","heading","_$createIntrinsic","string","_$createComponent","when","_$memo","filter","Boolean","length","TSDocTag","tag","width","TSDocParams","parameters","normalizeParametersForDoc","each","param","TSDocParam","name","optional","doc","some","p","TSDocTitle","rest","_$mergeProps","TSDocDomain","TSDocAlias","TSDocPermission","TSDocDefaultValue","type","defaultValue","TSDocRemarks","hardline","TSDocLink","TSDocExample","tsx","fenced","language","TSDocReadonly","TSDocInternal","TSDocIgnore","TSDocHidden","TSDocAttributesTags","alias","permission","readonly","internal","ignore","hidden","title","trim","domain","value","a","TSDocParamName","TSDocParamDescription","TSDocReturns","TSDocThrows","TSDocModule","prefix","context","config","framework"],"sources":["../../../src/typescript/components/tsdoc.tsx"],"sourcesContent":["/* -------------------------------------------------------------------\n\n ⚡ Storm Software - Powerlines\n\n This code was released as part of the Powerlines project. Powerlines\n is maintained by Storm Software under the Apache-2.0 license, and is\n free for commercial and private use. For more information, please visit\n our licensing page at https://stormsoftware.com/licenses/projects/powerlines.\n\n Website: https://stormsoftware.com\n Repository: https://github.com/storm-software/powerlines\n Documentation: https://docs.stormsoftware.com/projects/powerlines\n Contact: https://stormsoftware.com/contact\n\n SPDX-License-Identifier: Apache-2.0\n\n ------------------------------------------------------------------- */\n\nimport {\n Children,\n childrenArray,\n computed,\n For,\n List,\n Prose,\n Show,\n splitProps\n} from \"@alloy-js/core\";\nimport { JSDocExampleProps, ParameterDescriptor } from \"@alloy-js/typescript\";\nimport { stringifyDefaultValue } from \"@powerlines/deepkit/utilities\";\nimport {\n ReflectionKind,\n ReflectionParameter,\n ReflectionProperty\n} from \"@powerlines/deepkit/vendor/type\";\nimport { isSetString } from \"@stryke/type-checks/is-set-string\";\nimport { isUndefined } from \"@stryke/type-checks/is-undefined\";\nimport { Spacing } from \"../../core/components/spacing\";\nimport { usePowerlinesSafe } from \"../../core/contexts/context\";\nimport { ComponentProps } from \"../../types/components\";\n\nexport interface TSDocProps extends ComponentProps {\n heading?: Children;\n}\n\n/**\n * Generates a TypeScript interface for the given reflection class.\n */\nexport function TSDoc(props: TSDocProps) {\n const [{ children, heading }] = splitProps(props, [\"children\", \"heading\"]);\n\n return (\n <>\n /**\n <align string=\" * \">\n <hbr />\n <Show when={!isUndefined(heading)}>{heading}</Show>\n <Show\n when={\n !isUndefined(children) &&\n childrenArray(() => children).filter(Boolean).length > 0\n }>\n <Show when={!isUndefined(heading)}>\n <Spacing />\n </Show>\n <List>{childrenArray(() => children)}</List>\n </Show>\n </align>\n <hbr />\n {`*/`}\n <hbr />\n </>\n );\n}\n\nexport interface TSDocTagProps extends ComponentProps {\n tag: string;\n}\n\n/**\n * Create a TSDoc `@<props.tag>` tag.\n */\nexport function TSDocTag(props: TSDocTagProps) {\n const [{ children, tag }] = splitProps(props, [\"children\", \"tag\"]);\n\n return (\n <>\n {`@${tag} `}\n <Show when={Boolean(children)}>\n <align width={2}>\n <Prose>{children}</Prose>\n </align>\n </Show>\n <sbr />\n </>\n );\n}\n\nexport interface TSDocParamsProps {\n parameters: ParameterDescriptor[] | string[];\n}\n\n/**\n * A component that creates a TSDoc block with `@param` tags for each parameter.\n */\nexport function TSDocParams(props: TSDocParamsProps) {\n const parameters = normalizeParametersForDoc(props.parameters);\n\n return (\n <For each={parameters}>\n {param => (\n <TSDocParam name={param.name} optional={param.optional}>\n {param.doc}\n </TSDocParam>\n )}\n </For>\n );\n}\n\nfunction normalizeParametersForDoc(\n parameters: ParameterDescriptor[] | string[]\n): ParameterDescriptor[] {\n if (parameters.some(p => typeof p === \"string\")) {\n return [];\n }\n\n return parameters as ParameterDescriptor[];\n}\n\n/**\n * Create a TSDoc `@title` tag.\n */\nexport function TSDocTitle(props: ComponentProps) {\n const [{ children }, rest] = splitProps(props, [\"children\"]);\n\n return (\n <TSDocTag {...rest} tag=\"title\">\n {children}\n </TSDocTag>\n );\n}\n\n/**\n * Create a TSDoc `@domain` tag.\n */\nexport function TSDocDomain(props: ComponentProps) {\n const [{ children }, rest] = splitProps(props, [\"children\"]);\n\n return (\n <TSDocTag {...rest} tag=\"domain\">\n {children}\n </TSDocTag>\n );\n}\n\n/**\n * Create a TSDoc `@alias` tag.\n */\nexport function TSDocAlias(props: ComponentProps) {\n const [{ children }, rest] = splitProps(props, [\"children\"]);\n\n return (\n <TSDocTag {...rest} tag=\"alias\">\n {children}\n </TSDocTag>\n );\n}\n\n/**\n * Create a TSDoc `@permission` tag.\n */\nexport function TSDocPermission(props: ComponentProps) {\n const [{ children }, rest] = splitProps(props, [\"children\"]);\n\n return (\n <TSDocTag {...rest} tag=\"permission\">\n {children}\n </TSDocTag>\n );\n}\n\nexport interface TSDocDefaultValueProps extends ComponentProps {\n type: ReflectionKind | ReflectionProperty | ReflectionParameter;\n defaultValue: any;\n}\n\n/**\n * Create a TSDoc `@defaultValue` tag.\n */\nexport function TSDocDefaultValue(props: TSDocDefaultValueProps) {\n const [{ type, defaultValue }] = splitProps(props, [\"type\", \"defaultValue\"]);\n\n return (\n <>\n {\"@defaultValue \"}\n <Show when={!isUndefined(defaultValue)}>\n <align width={2}>\n <Prose>{stringifyDefaultValue(type, defaultValue)}</Prose>\n </align>\n </Show>\n </>\n );\n}\n\n/**\n * Create a TSDoc `@remarks` tag.\n */\nexport function TSDocRemarks(props: ComponentProps) {\n return (\n <>\n {\"@remarks \"}\n <hbr />\n <List hardline={true}>{childrenArray(() => props.children)}</List>\n </>\n );\n}\n\n/**\n * Create a TSDoc `@see` tag.\n */\nexport function TSDocLink(props: ComponentProps) {\n return <TSDocTag {...props} tag=\"see\" />;\n}\n\nexport interface TSDocExampleProps extends JSDocExampleProps {\n /**\n * Whether the file is a TSX file.\n *\n * @defaultValue false\n */\n tsx?: boolean;\n}\n\n/**\n * Create a TSDoc `@example` tag.\n */\nexport function TSDocExample(props: TSDocExampleProps) {\n const [{ tsx, fenced = true, language, children }] = splitProps(props, [\n \"tsx\",\n \"fenced\",\n \"language\",\n \"children\"\n ]);\n\n return (\n <>\n {\"@example \"}\n <hbr />\n <Show when={fenced}>\n ```{language || (tsx ? \"tsx\" : \"ts\")}\n <hbr />\n </Show>\n {children}\n <Show when={fenced}>\n <hbr />\n ```\n </Show>\n </>\n );\n}\n\n/**\n * Create a TSDoc `@readonly` tag.\n */\nexport function TSDocReadonly() {\n return <TSDocTag tag=\"readonly\" />;\n}\n\n/**\n * Create a TSDoc `@internal` tag.\n */\nexport function TSDocInternal() {\n return <TSDocTag tag=\"internal\" />;\n}\n\n/**\n * Create a TSDoc `@ignore` tag.\n */\nexport function TSDocIgnore() {\n return <TSDocTag tag=\"ignore\" />;\n}\n\n/**\n * Create a TSDoc `@hidden` tag.\n */\nexport function TSDocHidden() {\n return <TSDocTag tag=\"hidden\" />;\n}\n\nexport interface TSDocAttributesTagsProps {\n type?: ReflectionKind | ReflectionProperty | ReflectionParameter;\n title?: string;\n alias?: string[];\n permission?: string[];\n domain?: string;\n readonly?: boolean;\n internal?: boolean;\n ignore?: boolean;\n hidden?: boolean;\n defaultValue?: any;\n}\n\n/**\n * Generates a TypeScript interface property for the given reflection class.\n */\nexport function TSDocAttributesTags(props: TSDocAttributesTagsProps) {\n const [\n {\n type,\n alias,\n permission,\n readonly,\n internal,\n ignore,\n hidden,\n defaultValue\n }\n ] = splitProps(props, [\n \"type\",\n \"alias\",\n \"permission\",\n \"readonly\",\n \"internal\",\n \"ignore\",\n \"hidden\",\n \"defaultValue\"\n ]);\n\n const title = computed(() => props.title?.trim() || \"\");\n const domain = computed(() => props.domain?.trim() || \"\");\n\n return (\n <>\n <Show when={isSetString(title.value)}>\n <TSDocTitle>{title.value}</TSDocTitle>\n </Show>\n <Show\n when={\n !isUndefined(alias) &&\n alias.length > 0 &&\n alias.some(a => isSetString(a?.trim()))\n }>\n <For each={alias?.filter(a => isSetString(a?.trim())) ?? []}>\n {alias => <TSDocAlias>{alias}</TSDocAlias>}\n </For>\n </Show>\n <Show when={isSetString(domain.value)}>\n <TSDocDomain>{domain.value}</TSDocDomain>\n </Show>\n <Show\n when={\n !isUndefined(permission) &&\n permission.length > 0 &&\n permission.some(p => isSetString(p?.trim()))\n }>\n <For each={permission?.filter(p => isSetString(p?.trim())) ?? []}>\n {permission => <TSDocPermission>{permission}</TSDocPermission>}\n </For>\n </Show>\n <Show when={readonly === true}>\n <TSDocReadonly />\n </Show>\n <Show when={internal === true}>\n <TSDocInternal />\n </Show>\n <Show when={ignore === true}>\n <TSDocIgnore />\n </Show>\n <Show when={hidden === true}>\n <TSDocHidden />\n </Show>\n <Show when={!isUndefined(type) && !isUndefined(defaultValue)}>\n <TSDocDefaultValue\n type={\n type as ReflectionKind | ReflectionProperty | ReflectionParameter\n }\n defaultValue={defaultValue}\n />\n </Show>\n </>\n );\n}\n\nexport interface TSDocParamProps {\n name: Children;\n children?: Children;\n optional?: boolean;\n defaultValue?: Children;\n}\n\n/**\n * Create a TSDoc parameter set off with `@param`.\n */\nexport function TSDocParam(props: TSDocParamProps) {\n return (\n <>\n {\"@param \"}\n <TSDocParamName\n name={props.name}\n optional={props.optional}\n defaultValue={props.defaultValue}\n />\n <TSDocParamDescription children={props.children} />\n </>\n );\n}\n\ninterface TSDocParamNameProps {\n name: Children;\n optional?: boolean;\n defaultValue?: Children;\n}\n\nfunction TSDocParamName(props: TSDocParamNameProps) {\n return (\n <>\n <Show when={props.optional}>{\"[\"}</Show>\n {props.name}\n <Show when={Boolean(props.defaultValue)}>={props.defaultValue}</Show>\n <Show when={props.optional}>{\"]\"}</Show>\n </>\n );\n}\n\ninterface TSDocParamDescriptionProps {\n children?: Children;\n}\n\nfunction TSDocParamDescription(props: TSDocParamDescriptionProps) {\n return (\n <Show when={Boolean(props.children)}>\n {\" - \"}\n <align width={2}>\n <Prose>{props.children}</Prose>\n </align>\n </Show>\n );\n}\n\n/**\n * Create a TSDoc `@returns` tag.\n */\nexport function TSDocReturns(props: ComponentProps) {\n return <TSDocTag {...props} tag=\"returns\" />;\n}\n\n/**\n * Create a TSDoc `@throws` tag.\n */\nexport function TSDocThrows(props: ComponentProps) {\n return <TSDocTag {...props} tag=\"throws\" />;\n}\n\nexport interface TSDocModuleProps extends ComponentProps {\n /**\n * The prefix for the builtin module name\n *\n * @remarks\n * This value is populated from the Powerlines configuration output builtin prefix by default.\n *\n * @example\n * ```ts\n * /**\n * @module powerlines:my-module\n * \\/\n * ```\n */\n prefix?: string;\n\n /**\n * The name of the module\n *\n * @remarks\n * This will be used in the `@module` tag as well as the import path for the module, e.g. `storm:<name>`.\n *\n * @example\n * ```ts\n * import { MyModule } from \"powerlines:my-module\";\n * ```\n */\n name: Children;\n}\n\n/**\n * Generates a TSDoc `@module` tag for the given module name.\n */\nexport function TSDocModule(props: TSDocModuleProps) {\n const [{ children, name, prefix }] = splitProps(props, [\n \"children\",\n \"name\",\n \"prefix\"\n ]);\n\n const context = usePowerlinesSafe();\n\n return (\n <>\n /**\n <align string=\" * \">\n <hbr />\n <Show when={Boolean(children)}>\n <List hardline={true}>{childrenArray(() => children)}</List>\n <Spacing />\n </Show>\n {\"@module \"}\n {prefix || context?.config?.framework || \"powerlines\"}:{name}\n </align>\n <hbr />\n {` */`}\n </>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,31 +1,32 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
|
|
2
3
|
const require_typescript_components_tsdoc = require('./tsdoc.cjs');
|
|
3
4
|
const require_typescript_components_type_parameters = require('./type-parameters.cjs');
|
|
4
|
-
let
|
|
5
|
-
let
|
|
6
|
-
let
|
|
5
|
+
let _alloy_js_core_jsx_runtime = require("@alloy-js/core/jsx-runtime");
|
|
6
|
+
let _alloy_js_core = require("@alloy-js/core");
|
|
7
|
+
let _alloy_js_typescript = require("@alloy-js/typescript");
|
|
7
8
|
|
|
8
9
|
//#region src/typescript/components/type-declaration.tsx
|
|
9
10
|
/**
|
|
10
11
|
* Renders a TypeScript type declaration, including its name, optional TSDoc comment, and generic type parameters.
|
|
11
12
|
*/
|
|
12
|
-
const TypeDeclaration = (0,
|
|
13
|
+
const TypeDeclaration = (0, _alloy_js_typescript.ensureTypeRefContext)(function TypeDeclaration(props) {
|
|
13
14
|
const { children, doc, typeParameters, ...rest } = props;
|
|
14
|
-
return [(0,
|
|
15
|
+
return [(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Show, {
|
|
15
16
|
get when() {
|
|
16
17
|
return Boolean(doc);
|
|
17
18
|
},
|
|
18
19
|
get children() {
|
|
19
|
-
return (0,
|
|
20
|
+
return (0, _alloy_js_core_jsx_runtime.createComponent)(require_typescript_components_tsdoc.TSDoc, { heading: doc });
|
|
20
21
|
}
|
|
21
|
-
}), (0,
|
|
22
|
+
}), (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_typescript.Declaration, (0, _alloy_js_core_jsx_runtime.mergeProps)(rest, {
|
|
22
23
|
kind: "type",
|
|
23
24
|
nameKind: "type",
|
|
24
25
|
get children() {
|
|
25
26
|
return [
|
|
26
27
|
"type ",
|
|
27
|
-
(0,
|
|
28
|
-
(0,
|
|
28
|
+
(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Name, {}),
|
|
29
|
+
(0, _alloy_js_core_jsx_runtime.memo)(() => typeParameters && (0, _alloy_js_core_jsx_runtime.createComponent)(require_typescript_components_type_parameters.TypeParameters, { parameters: typeParameters })),
|
|
29
30
|
" = ",
|
|
30
31
|
children,
|
|
31
32
|
";"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-declaration.d.cts","names":[],"sources":["../../../src/typescript/components/type-declaration.tsx"],"
|
|
1
|
+
{"version":3,"file":"type-declaration.d.cts","names":[],"sources":["../../../src/typescript/components/type-declaration.tsx"],"mappings":";;;;UA4BiB,oBAAA,SAA6B,sBAAA;;;AAA9C;EAIE,cAAA,GAAiB,uBAAA;AAAA;;;;cAMN,eAAA,EAAe,eAAA,CAAA,SAAA,CAAA,oBAAA;AAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _alloy_js_core0 from "@alloy-js/core";
|
|
2
2
|
import { CommonDeclarationProps, TypeParameterDescriptor } from "@alloy-js/typescript";
|
|
3
3
|
|
|
4
4
|
//#region src/typescript/components/type-declaration.d.ts
|
|
@@ -11,7 +11,7 @@ interface TypeDeclarationProps extends CommonDeclarationProps {
|
|
|
11
11
|
/**
|
|
12
12
|
* Renders a TypeScript type declaration, including its name, optional TSDoc comment, and generic type parameters.
|
|
13
13
|
*/
|
|
14
|
-
declare const TypeDeclaration:
|
|
14
|
+
declare const TypeDeclaration: _alloy_js_core0.Component<TypeDeclarationProps>;
|
|
15
15
|
declare type __ΩTypeDeclarationProps = any[];
|
|
16
16
|
//#endregion
|
|
17
17
|
export { TypeDeclaration, TypeDeclarationProps, __ΩTypeDeclarationProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-declaration.d.mts","names":[],"sources":["../../../src/typescript/components/type-declaration.tsx"],"
|
|
1
|
+
{"version":3,"file":"type-declaration.d.mts","names":[],"sources":["../../../src/typescript/components/type-declaration.tsx"],"mappings":";;;;UA4BiB,oBAAA,SAA6B,sBAAA;;;AAA9C;EAIE,cAAA,GAAiB,uBAAA;AAAA;;;;cAMN,eAAA,EAAe,eAAA,CAAA,SAAA,CAAA,oBAAA;AAAA"}
|
|
@@ -8,7 +8,7 @@ import { Declaration as Declaration$1, ensureTypeRefContext } from "@alloy-js/ty
|
|
|
8
8
|
/**
|
|
9
9
|
* Renders a TypeScript type declaration, including its name, optional TSDoc comment, and generic type parameters.
|
|
10
10
|
*/
|
|
11
|
-
const TypeDeclaration = ensureTypeRefContext(function TypeDeclaration
|
|
11
|
+
const TypeDeclaration = ensureTypeRefContext(function TypeDeclaration(props) {
|
|
12
12
|
const { children, doc, typeParameters, ...rest } = props;
|
|
13
13
|
return [createComponent(Show, {
|
|
14
14
|
get when() {
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
let
|
|
4
|
-
let
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
|
|
3
|
+
let _alloy_js_core_jsx_runtime = require("@alloy-js/core/jsx-runtime");
|
|
4
|
+
let _alloy_js_core = require("@alloy-js/core");
|
|
5
|
+
let _alloy_js_typescript = require("@alloy-js/typescript");
|
|
5
6
|
|
|
6
7
|
//#region src/typescript/components/type-parameters.tsx
|
|
7
8
|
/** Props for type parameters */
|
|
8
9
|
function typeParameter(param) {
|
|
9
|
-
return (0,
|
|
10
|
+
return (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Show, {
|
|
10
11
|
when: typeof param === "object",
|
|
11
12
|
get fallback() {
|
|
12
13
|
return [param];
|
|
13
14
|
},
|
|
14
15
|
get children() {
|
|
15
|
-
return [(0,
|
|
16
|
+
return [(0, _alloy_js_core_jsx_runtime.createIntrinsic)("group", { get children() {
|
|
16
17
|
return [
|
|
17
|
-
(0,
|
|
18
|
-
(0,
|
|
18
|
+
(0, _alloy_js_core_jsx_runtime.memo)(() => param.name),
|
|
19
|
+
(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Show, {
|
|
19
20
|
get when() {
|
|
20
21
|
return !!param.extends;
|
|
21
22
|
},
|
|
@@ -23,20 +24,20 @@ function typeParameter(param) {
|
|
|
23
24
|
return [
|
|
24
25
|
" ",
|
|
25
26
|
"extends",
|
|
26
|
-
(0,
|
|
27
|
-
return [" ", (0,
|
|
27
|
+
(0, _alloy_js_core_jsx_runtime.createIntrinsic)("indent", { get children() {
|
|
28
|
+
return [" ", (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_typescript.TypeRefContext, { get children() {
|
|
28
29
|
return param.extends;
|
|
29
30
|
} })];
|
|
30
31
|
} })
|
|
31
32
|
];
|
|
32
33
|
}
|
|
33
34
|
}),
|
|
34
|
-
(0,
|
|
35
|
+
(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Show, {
|
|
35
36
|
get when() {
|
|
36
37
|
return !!param.default;
|
|
37
38
|
},
|
|
38
39
|
get children() {
|
|
39
|
-
return [" = ", (0,
|
|
40
|
+
return [" = ", (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_typescript.TypeRefContext, { get children() {
|
|
40
41
|
return param.default;
|
|
41
42
|
} })];
|
|
42
43
|
}
|
|
@@ -59,18 +60,18 @@ function TypeParameters(props) {
|
|
|
59
60
|
if (!props.parameters) return;
|
|
60
61
|
return [
|
|
61
62
|
"<",
|
|
62
|
-
(0,
|
|
63
|
-
return (0,
|
|
63
|
+
(0, _alloy_js_core_jsx_runtime.createIntrinsic)("group", { get children() {
|
|
64
|
+
return (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Indent, {
|
|
64
65
|
softline: true,
|
|
65
66
|
get children() {
|
|
66
|
-
return [(0,
|
|
67
|
+
return [(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.For, {
|
|
67
68
|
get each() {
|
|
68
69
|
return props.parameters;
|
|
69
70
|
},
|
|
70
71
|
comma: true,
|
|
71
72
|
line: true,
|
|
72
73
|
children: (param) => typeParameter(param)
|
|
73
|
-
}), (0,
|
|
74
|
+
}), (0, _alloy_js_core_jsx_runtime.createIntrinsic)("ifBreak", { children: "," })];
|
|
74
75
|
}
|
|
75
76
|
});
|
|
76
77
|
} }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-parameters.d.cts","names":[],"sources":["../../../src/typescript/components/type-parameters.tsx"],"
|
|
1
|
+
{"version":3,"file":"type-parameters.d.cts","names":[],"sources":["../../../src/typescript/components/type-parameters.tsx"],"mappings":";;;;;UAsBiB,mBAAA;EAAA;EAEf,UAAA,GAAa,uBAAA;;EAEb,QAAA,GAAW,QAAA;AAAA;;;;;;AAqCb;;;iBAAgB,cAAA,CAAe,KAAA,EAAO,mBAAA,GAAmB,QAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-parameters.d.mts","names":[],"sources":["../../../src/typescript/components/type-parameters.tsx"],"
|
|
1
|
+
{"version":3,"file":"type-parameters.d.mts","names":[],"sources":["../../../src/typescript/components/type-parameters.tsx"],"mappings":";;;;;UAsBiB,mBAAA;EAAA;EAEf,UAAA,GAAa,uBAAA;;EAEb,QAAA,GAAW,QAAA;AAAA;;;;;;AAqCb;;;iBAAgB,cAAA,CAAe,KAAA,EAAO,mBAAA,GAAmB,QAAA;AAAA"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
|
|
2
3
|
const require_core_contexts_context = require('../../core/contexts/context.cjs');
|
|
3
4
|
const require_core_components_single_line_comment = require('../../core/components/single-line-comment.cjs');
|
|
4
5
|
const require_core_components_source_file = require('../../core/components/source-file.cjs');
|
|
5
|
-
let
|
|
6
|
-
let
|
|
7
|
-
let
|
|
8
|
-
let
|
|
9
|
-
let
|
|
10
|
-
let
|
|
6
|
+
let _alloy_js_core_jsx_runtime = require("@alloy-js/core/jsx-runtime");
|
|
7
|
+
let _alloy_js_core = require("@alloy-js/core");
|
|
8
|
+
let _stryke_path_append = require("@stryke/path/append");
|
|
9
|
+
let _stryke_string_format_title_case = require("@stryke/string-format/title-case");
|
|
10
|
+
let _stryke_helpers_get_unique = require("@stryke/helpers/get-unique");
|
|
11
|
+
let _stryke_type_checks_is_string = require("@stryke/type-checks/is-string");
|
|
11
12
|
let powerlines_utils = require("powerlines/utils");
|
|
12
|
-
let
|
|
13
|
-
let
|
|
13
|
+
let _alloy_js_typescript = require("@alloy-js/typescript");
|
|
14
|
+
let _stryke_type_checks_is_boolean = require("@stryke/type-checks/is-boolean");
|
|
14
15
|
|
|
15
16
|
//#region src/typescript/components/typescript-file.tsx
|
|
16
17
|
/**
|
|
@@ -20,7 +21,7 @@ let __stryke_type_checks_is_boolean = require("@stryke/type-checks/is-boolean");
|
|
|
20
21
|
* @returns The rendered source file component.
|
|
21
22
|
*/
|
|
22
23
|
function TypescriptFile(props) {
|
|
23
|
-
const [{ children, path, imports, builtinImports, tsx, header, hashbang }, rest] = (0,
|
|
24
|
+
const [{ children, path, imports, builtinImports, tsx, header, hashbang }, rest] = (0, _alloy_js_core.splitProps)(props, [
|
|
24
25
|
"children",
|
|
25
26
|
"path",
|
|
26
27
|
"imports",
|
|
@@ -29,30 +30,30 @@ function TypescriptFile(props) {
|
|
|
29
30
|
"header",
|
|
30
31
|
"hashbang"
|
|
31
32
|
]);
|
|
32
|
-
const directoryContext = (0,
|
|
33
|
-
const sdData = (0,
|
|
34
|
-
const modulePath = (0,
|
|
35
|
-
const scope = new
|
|
33
|
+
const directoryContext = (0, _alloy_js_core.useContext)(_alloy_js_core.SourceDirectoryContext);
|
|
34
|
+
const sdData = (0, _alloy_js_typescript.getSourceDirectoryData)(directoryContext);
|
|
35
|
+
const modulePath = (0, _stryke_path_append.appendPath)(path, directoryContext.path);
|
|
36
|
+
const scope = new _alloy_js_typescript.TSModuleScope(modulePath, (0, _alloy_js_core.useScope)());
|
|
36
37
|
sdData.modules.add(scope);
|
|
37
|
-
const pkg = (0,
|
|
38
|
+
const pkg = (0, _alloy_js_core.useContext)(_alloy_js_typescript.PackageContext);
|
|
38
39
|
if (pkg) pkg.scope.addModule(scope);
|
|
39
40
|
if (props.export) {
|
|
40
|
-
if (pkg) if ((0,
|
|
41
|
+
if (pkg) if ((0, _stryke_type_checks_is_boolean.isBoolean)(props.export)) pkg.scope.addExport(modulePath, scope);
|
|
41
42
|
else pkg.scope.addExport(props.export, scope);
|
|
42
43
|
}
|
|
43
|
-
return (0,
|
|
44
|
+
return (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_typescript.SourceFileContext.Provider, {
|
|
44
45
|
value: { scope },
|
|
45
46
|
get children() {
|
|
46
|
-
return (0,
|
|
47
|
+
return (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Scope, {
|
|
47
48
|
value: scope,
|
|
48
49
|
get children() {
|
|
49
|
-
return (0,
|
|
50
|
+
return (0, _alloy_js_core_jsx_runtime.createComponent)(require_core_components_source_file.SourceFile, (0, _alloy_js_core_jsx_runtime.mergeProps)(rest, {
|
|
50
51
|
path: modulePath,
|
|
51
52
|
get header() {
|
|
52
|
-
return header ?? (0,
|
|
53
|
+
return header ?? (0, _alloy_js_core_jsx_runtime.createComponent)(TypescriptFileHeader, {
|
|
53
54
|
hashbang,
|
|
54
55
|
get children() {
|
|
55
|
-
return (0,
|
|
56
|
+
return (0, _alloy_js_core_jsx_runtime.createComponent)(TypescriptFileHeaderImports, {
|
|
56
57
|
imports,
|
|
57
58
|
builtinImports,
|
|
58
59
|
scope
|
|
@@ -78,77 +79,77 @@ function TypescriptFileHeader(props) {
|
|
|
78
79
|
const { header, hashbang, disableEslint = true, disableBiome = true, disablePrettier = false, children } = props;
|
|
79
80
|
const context = require_core_contexts_context.usePowerlinesSafe();
|
|
80
81
|
return [
|
|
81
|
-
(0,
|
|
82
|
+
(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Show, {
|
|
82
83
|
get when() {
|
|
83
84
|
return Boolean(hashbang);
|
|
84
85
|
},
|
|
85
86
|
get children() {
|
|
86
|
-
return [(0,
|
|
87
|
+
return [(0, _alloy_js_core_jsx_runtime.memo)(() => hashbang === true ? _alloy_js_core.code`#!/usr/bin/env ${context?.config.mode === "development" ? "-S NODE_OPTIONS=--enable-source-maps" : ""} node` : hashbang), (0, _alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {})];
|
|
87
88
|
}
|
|
88
89
|
}),
|
|
89
|
-
(0,
|
|
90
|
+
(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Show, {
|
|
90
91
|
get when() {
|
|
91
92
|
return Boolean(header);
|
|
92
93
|
},
|
|
93
94
|
get children() {
|
|
94
|
-
return [header, (0,
|
|
95
|
+
return [header, (0, _alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {})];
|
|
95
96
|
}
|
|
96
97
|
}),
|
|
97
|
-
(0,
|
|
98
|
-
(0,
|
|
98
|
+
(0, _alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {}),
|
|
99
|
+
(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Show, {
|
|
99
100
|
get when() {
|
|
100
101
|
return Boolean(disableEslint);
|
|
101
102
|
},
|
|
102
103
|
get children() {
|
|
103
|
-
return [(0,
|
|
104
|
+
return [(0, _alloy_js_core_jsx_runtime.createComponent)(require_core_components_single_line_comment.SingleLineComment, {
|
|
104
105
|
variant: "slash-star",
|
|
105
106
|
children: "eslint-disable"
|
|
106
|
-
}), (0,
|
|
107
|
+
}), (0, _alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {})];
|
|
107
108
|
}
|
|
108
109
|
}),
|
|
109
|
-
(0,
|
|
110
|
+
(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Show, {
|
|
110
111
|
get when() {
|
|
111
112
|
return Boolean(disablePrettier);
|
|
112
113
|
},
|
|
113
114
|
get children() {
|
|
114
|
-
return [(0,
|
|
115
|
+
return [(0, _alloy_js_core_jsx_runtime.createComponent)(require_core_components_single_line_comment.SingleLineComment, {
|
|
115
116
|
variant: "slash-star",
|
|
116
117
|
children: "prettier-ignore"
|
|
117
|
-
}), (0,
|
|
118
|
+
}), (0, _alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {})];
|
|
118
119
|
}
|
|
119
120
|
}),
|
|
120
|
-
(0,
|
|
121
|
+
(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Show, {
|
|
121
122
|
get when() {
|
|
122
123
|
return Boolean(disableBiome);
|
|
123
124
|
},
|
|
124
125
|
get children() {
|
|
125
|
-
return [(0,
|
|
126
|
+
return [(0, _alloy_js_core_jsx_runtime.createComponent)(require_core_components_single_line_comment.SingleLineComment, { children: "biome-ignore lint: disable" }), (0, _alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {})];
|
|
126
127
|
}
|
|
127
128
|
}),
|
|
128
|
-
(0,
|
|
129
|
+
(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Show, {
|
|
129
130
|
get when() {
|
|
130
131
|
return Boolean(disableEslint) || Boolean(disablePrettier) || Boolean(disableBiome);
|
|
131
132
|
},
|
|
132
133
|
get children() {
|
|
133
|
-
return (0,
|
|
134
|
+
return (0, _alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {});
|
|
134
135
|
}
|
|
135
136
|
}),
|
|
136
|
-
(0,
|
|
137
|
+
(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Show, {
|
|
137
138
|
get when() {
|
|
138
139
|
return Boolean(children);
|
|
139
140
|
},
|
|
140
141
|
get children() {
|
|
141
|
-
return [children, (0,
|
|
142
|
+
return [children, (0, _alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {})];
|
|
142
143
|
}
|
|
143
144
|
}),
|
|
144
|
-
(0,
|
|
145
|
-
return `Generated by ${(0,
|
|
145
|
+
(0, _alloy_js_core_jsx_runtime.createComponent)(require_core_components_single_line_comment.SingleLineComment, { get children() {
|
|
146
|
+
return `Generated by ${(0, _stryke_string_format_title_case.titleCase)(context?.config?.framework) || "Powerlines"}`;
|
|
146
147
|
} }),
|
|
147
|
-
(0,
|
|
148
|
-
(0,
|
|
148
|
+
(0, _alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {}),
|
|
149
|
+
(0, _alloy_js_core_jsx_runtime.createComponent)(require_core_components_single_line_comment.SingleLineComment, { get children() {
|
|
149
150
|
return (0, powerlines_utils.getFileHeaderWarning)(context);
|
|
150
151
|
} }),
|
|
151
|
-
(0,
|
|
152
|
+
(0, _alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {})
|
|
152
153
|
];
|
|
153
154
|
}
|
|
154
155
|
/**
|
|
@@ -160,65 +161,65 @@ function TypescriptFileHeader(props) {
|
|
|
160
161
|
function TypescriptFileHeaderImports(props) {
|
|
161
162
|
const { imports: importProps, builtinImports: builtinImportsProps } = props;
|
|
162
163
|
const context = require_core_contexts_context.usePowerlinesSafe();
|
|
163
|
-
const sourceFile = (0,
|
|
164
|
+
const sourceFile = (0, _alloy_js_typescript.useSourceFile)();
|
|
164
165
|
const scope = props.scope ?? sourceFile.scope;
|
|
165
|
-
const imports = (0,
|
|
166
|
-
return Object.fromEntries(Object.entries(importProps ?? {}).map(([module
|
|
166
|
+
const imports = (0, _alloy_js_core.computed)(() => {
|
|
167
|
+
return Object.fromEntries(Object.entries(importProps ?? {}).map(([module, importItem]) => [module, Array.isArray(importItem) ? (0, _stryke_helpers_get_unique.getUniqueBy)(importItem, (i) => (0, _stryke_type_checks_is_string.isString)(i) ? i : i.alias || i.name) : importItem]));
|
|
167
168
|
});
|
|
168
|
-
const builtinImports = (0,
|
|
169
|
-
return Object.fromEntries(Object.entries(builtinImportsProps ?? {}).map(([module
|
|
169
|
+
const builtinImports = (0, _alloy_js_core.computed)(() => {
|
|
170
|
+
return Object.fromEntries(Object.entries(builtinImportsProps ?? {}).map(([module, importItem]) => [module, Array.isArray(importItem) ? (0, _stryke_helpers_get_unique.getUniqueBy)(importItem, (i) => (0, _stryke_type_checks_is_string.isString)(i) ? i : i.alias || i.name) : importItem]));
|
|
170
171
|
});
|
|
171
|
-
return (0,
|
|
172
|
+
return (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Show, {
|
|
172
173
|
get when() {
|
|
173
174
|
return scope.importedModules.size > 0 || !!imports.value && Object.keys(imports.value).length > 0 || !!builtinImports.value && Object.keys(builtinImports.value).length > 0;
|
|
174
175
|
},
|
|
175
176
|
get children() {
|
|
176
177
|
return [
|
|
177
|
-
(0,
|
|
178
|
+
(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Show, {
|
|
178
179
|
get when() {
|
|
179
|
-
return (0,
|
|
180
|
+
return (0, _alloy_js_core_jsx_runtime.memo)(() => !!!!imports.value)() && Object.keys(imports.value).length > 0;
|
|
180
181
|
},
|
|
181
182
|
get children() {
|
|
182
|
-
return (0,
|
|
183
|
+
return (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.For, {
|
|
183
184
|
get each() {
|
|
184
185
|
return Object.entries(imports.value ?? {});
|
|
185
186
|
},
|
|
186
187
|
hardline: true,
|
|
187
188
|
get ender() {
|
|
188
|
-
return (0,
|
|
189
|
+
return (0, _alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {});
|
|
189
190
|
},
|
|
190
|
-
children: ([module
|
|
191
|
+
children: ([module, importItem]) => _alloy_js_core.code`import ${importItem === null ? "" : (0, _stryke_type_checks_is_string.isString)(importItem) ? importItem : `${importItem.filter((i) => !(0, _stryke_type_checks_is_string.isString)(i) && i.default).map((i) => i.alias ? i.alias : i.name).join(", ") + (importItem.filter((i) => !(0, _stryke_type_checks_is_string.isString)(i) && i.default).length > 0 && importItem.filter((i) => (0, _stryke_type_checks_is_string.isString)(i) || !i.default).length > 0 ? ", " : "") + (importItem.filter((i) => (0, _stryke_type_checks_is_string.isString)(i) || !i.default).length > 0 ? `{ ${importItem.filter((i) => (0, _stryke_type_checks_is_string.isString)(i) || !i.default).map((i) => (0, _stryke_type_checks_is_string.isString)(i) ? i : i.alias ? `${i.name} as ${i.alias}` : i.name).join(", ")} }` : "")}`} from "${module}";`
|
|
191
192
|
});
|
|
192
193
|
}
|
|
193
194
|
}),
|
|
194
|
-
(0,
|
|
195
|
+
(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Show, {
|
|
195
196
|
get when() {
|
|
196
|
-
return (0,
|
|
197
|
+
return (0, _alloy_js_core_jsx_runtime.memo)(() => !!builtinImports.value)() && Object.keys(builtinImports.value).length > 0;
|
|
197
198
|
},
|
|
198
199
|
get children() {
|
|
199
|
-
return (0,
|
|
200
|
+
return (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.For, {
|
|
200
201
|
get each() {
|
|
201
202
|
return Object.entries(builtinImports.value ?? {});
|
|
202
203
|
},
|
|
203
204
|
hardline: true,
|
|
204
205
|
get ender() {
|
|
205
|
-
return (0,
|
|
206
|
+
return (0, _alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {});
|
|
206
207
|
},
|
|
207
|
-
children: ([module
|
|
208
|
+
children: ([module, importItem]) => _alloy_js_core.code`import ${importItem === null ? "" : (0, _stryke_type_checks_is_string.isString)(importItem) ? importItem : `${importItem.filter((i) => !(0, _stryke_type_checks_is_string.isString)(i) && i.default).map((i) => i.alias ? i.alias : i.name).join(", ") + (importItem.filter((i) => !(0, _stryke_type_checks_is_string.isString)(i) && i.default).length > 0 && importItem.filter((i) => (0, _stryke_type_checks_is_string.isString)(i) || !i.default).length > 0 ? ", " : "") + (importItem.filter((i) => (0, _stryke_type_checks_is_string.isString)(i) || !i.default).length > 0 ? `{ ${importItem.filter((i) => (0, _stryke_type_checks_is_string.isString)(i) || !i.default).map((i) => (0, _stryke_type_checks_is_string.isString)(i) ? i : i.alias ? `${i.name} as ${i.alias}` : i.name).join(", ")} }` : "")}`} from "${module.includes(":") ? module : `${context?.config?.framework || "powerlines"}:${module}`}";`
|
|
208
209
|
});
|
|
209
210
|
}
|
|
210
211
|
}),
|
|
211
|
-
(0,
|
|
212
|
+
(0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Show, {
|
|
212
213
|
get when() {
|
|
213
214
|
return scope.importedModules.size > 0;
|
|
214
215
|
},
|
|
215
216
|
get children() {
|
|
216
|
-
return (0,
|
|
217
|
+
return (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_typescript.ImportStatements, { get records() {
|
|
217
218
|
return scope.importedModules;
|
|
218
219
|
} });
|
|
219
220
|
}
|
|
220
221
|
}),
|
|
221
|
-
(0,
|
|
222
|
+
(0, _alloy_js_core_jsx_runtime.createIntrinsic)("hbr", {})
|
|
222
223
|
];
|
|
223
224
|
}
|
|
224
225
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-file.d.cts","names":[],"sources":["../../../src/typescript/components/typescript-file.tsx"],"
|
|
1
|
+
{"version":3,"file":"typescript-file.d.cts","names":[],"sources":["../../../src/typescript/components/typescript-file.tsx"],"mappings":";;;;;;KAsDY,mBAAA,GAAsB,IAAA,CAAK,iBAAA,gBACrC,cAAA;EACE,QAAA,GAAW,QAAA;EACX,MAAA,GAAS,QAAA;EACT,OAAA,GAAU,qBAAA;EACV,cAAA,GAAiB,qBAAA;EACjB,MAAA;EACA,GAAA;AAAA;;;;;;;iBASY,cAAA,CAAe,KAAA,EAAO,mBAAA,GAAmB,QAAA;AAAA,UAgExC,yBAAA,SAAkC,qBAAA;EACjD,MAAA,GAAS,QAAA;EACT,QAAA,GAAW,QAAA;AAAA;;;;;;;iBASG,oBAAA,CAAqB,KAAA,EAAO,yBAAA,GAAyB,QAAA;AAAA,UAqEpD,gCAAA,SAAyC,qBAAA;EACxD,OAAA,GAAU,qBAAA;EACV,cAAA,GAAiB,qBAAA;EACjB,KAAA,GAAQ,aAAA;AAAA;;;;;;;iBASM,2BAAA,CACd,KAAA,EAAO,gCAAA,GAAgC,QAAA;AAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typescript-file.d.mts","names":[],"sources":["../../../src/typescript/components/typescript-file.tsx"],"
|
|
1
|
+
{"version":3,"file":"typescript-file.d.mts","names":[],"sources":["../../../src/typescript/components/typescript-file.tsx"],"mappings":";;;;;;KAsDY,mBAAA,GAAsB,IAAA,CAAK,iBAAA,gBACrC,cAAA;EACE,QAAA,GAAW,QAAA;EACX,MAAA,GAAS,QAAA;EACT,OAAA,GAAU,qBAAA;EACV,cAAA,GAAiB,qBAAA;EACjB,MAAA;EACA,GAAA;AAAA;;;;;;;iBASY,cAAA,CAAe,KAAA,EAAO,mBAAA,GAAmB,QAAA;AAAA,UAgExC,yBAAA,SAAkC,qBAAA;EACjD,MAAA,GAAS,QAAA;EACT,QAAA,GAAW,QAAA;AAAA;;;;;;;iBASG,oBAAA,CAAqB,KAAA,EAAO,yBAAA,GAAyB,QAAA;AAAA,UAqEpD,gCAAA,SAAyC,qBAAA;EACxD,OAAA,GAAU,qBAAA;EACV,cAAA,GAAiB,qBAAA;EACjB,KAAA,GAAQ,aAAA;AAAA;;;;;;;iBASM,2BAAA,CACd,KAAA,EAAO,gCAAA,GAAgC,QAAA;AAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
let
|
|
4
|
-
let
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
const require_runtime = require('../../_virtual/_rolldown/runtime.cjs');
|
|
3
|
+
let _alloy_js_core_jsx_runtime = require("@alloy-js/core/jsx-runtime");
|
|
4
|
+
let _alloy_js_core = require("@alloy-js/core");
|
|
5
|
+
let _alloy_js_typescript = require("@alloy-js/typescript");
|
|
5
6
|
|
|
6
7
|
//#region src/typescript/contexts/lexical-scope.tsx
|
|
7
8
|
/**
|
|
@@ -10,10 +11,10 @@ let __alloy_js_typescript = require("@alloy-js/typescript");
|
|
|
10
11
|
function LexicalScope(props) {
|
|
11
12
|
let scope;
|
|
12
13
|
if ("value" in props) {
|
|
13
|
-
if (!(props.value instanceof
|
|
14
|
+
if (!(props.value instanceof _alloy_js_typescript.TSLexicalScope)) throw new TypeError("LexicalScope value must be a TSLexicalScope instance");
|
|
14
15
|
scope = props.value;
|
|
15
|
-
} else scope = (0,
|
|
16
|
-
return (0,
|
|
16
|
+
} else scope = (0, _alloy_js_typescript.createLexicalScope)(props.name ?? "Lexical scope", props);
|
|
17
|
+
return (0, _alloy_js_core_jsx_runtime.createComponent)(_alloy_js_core.Scope, {
|
|
17
18
|
value: scope,
|
|
18
19
|
get children() {
|
|
19
20
|
return props.children;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lexical-scope.d.cts","names":[],"sources":["../../../src/typescript/contexts/lexical-scope.tsx"],"
|
|
1
|
+
{"version":3,"file":"lexical-scope.d.cts","names":[],"sources":["../../../src/typescript/contexts/lexical-scope.tsx"],"mappings":";;;;UAqBiB,+BAAA,SAAwC,mBAAA;AAAA,UACxC,8BAAA,SAAuC,kBAAA;AAAA,KAE5C,iBAAA,GACR,+BAAA,GACA,8BAAA;;;;iBAKY,YAAA,CAAa,KAAA,EAAO,iBAAA,GAAiB,eAAA,CAAA,QAAA;AAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _alloy_js_core0 from "@alloy-js/core";
|
|
2
2
|
import { ScopePropsWithInfo, ScopePropsWithValue } from "@alloy-js/core";
|
|
3
3
|
|
|
4
4
|
//#region src/typescript/contexts/lexical-scope.d.ts
|
|
@@ -8,7 +8,7 @@ type LexicalScopeProps = LexicalScopePropsWithScopeValue | LexicalScopePropsWith
|
|
|
8
8
|
/**
|
|
9
9
|
* A lexical scope for TypeScript, which contains declaration spaces for types and values. Declaration components will create symbols in this scope.
|
|
10
10
|
*/
|
|
11
|
-
declare function LexicalScope(props: LexicalScopeProps):
|
|
11
|
+
declare function LexicalScope(props: LexicalScopeProps): _alloy_js_core0.Children;
|
|
12
12
|
declare type __ΩLexicalScopePropsWithScopeValue = any[];
|
|
13
13
|
declare type __ΩLexicalScopePropsWithScopeInfo = any[];
|
|
14
14
|
declare type __ΩLexicalScopeProps = any[];
|