@kubb/react-fabric 0.2.13 → 0.2.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +5 -1
  2. package/dist/{Fabric-B8W5_3xv.d.cts → Fabric-BPUyMklG.d.cts} +22 -21
  3. package/dist/{Fabric-mFmfnVJp.d.ts → Fabric-t9Xqe4Bx.d.ts} +22 -21
  4. package/dist/{devtools-D4p2T_2t.cjs → devtools-CLhxB1Hr.cjs} +3 -3
  5. package/dist/devtools-CLhxB1Hr.cjs.map +1 -0
  6. package/dist/{devtools-Cb1pMQYm.js → devtools-wdFpV122.js} +2 -2
  7. package/dist/devtools-wdFpV122.js.map +1 -0
  8. package/dist/devtools.cjs +1 -1
  9. package/dist/devtools.js +1 -1
  10. package/dist/globals.d.cts +2 -2
  11. package/dist/globals.d.ts +2 -2
  12. package/dist/index.cjs +17 -17
  13. package/dist/index.cjs.map +1 -1
  14. package/dist/index.d.cts +17 -14
  15. package/dist/index.d.ts +17 -14
  16. package/dist/index.js +4 -4
  17. package/dist/index.js.map +1 -1
  18. package/dist/jsx-dev-runtime.d.cts +3 -3
  19. package/dist/jsx-dev-runtime.d.ts +3 -3
  20. package/dist/{jsx-namespace-cboHPqa0.d.ts → jsx-namespace-PEMxmJ6z.d.ts} +2 -2
  21. package/dist/{jsx-namespace-BwLeEI1n.d.cts → jsx-namespace-YR433DXc.d.cts} +2 -2
  22. package/dist/{jsx-runtime-CVfJARUD.js → jsx-runtime-Dm0btT2y.js} +1 -1
  23. package/dist/jsx-runtime.cjs +1 -1
  24. package/dist/jsx-runtime.d.cts +3 -3
  25. package/dist/jsx-runtime.d.ts +4 -4
  26. package/dist/jsx-runtime.js +1 -1
  27. package/dist/parsers.d.cts +1 -1
  28. package/dist/parsers.d.ts +1 -1
  29. package/dist/plugins.cjs +3 -3
  30. package/dist/plugins.d.cts +36 -36
  31. package/dist/plugins.d.ts +36 -36
  32. package/dist/plugins.js +2 -2
  33. package/dist/{plugins-CftsHDZ2.js → reactPlugin-BmBx9cO3.js} +36 -36
  34. package/dist/reactPlugin-BmBx9cO3.js.map +1 -0
  35. package/dist/{plugins-DzBEnan-.cjs → reactPlugin-Dj5m_pqf.cjs} +36 -36
  36. package/dist/reactPlugin-Dj5m_pqf.cjs.map +1 -0
  37. package/dist/{reactPlugin-wV1eBuBU.d.cts → reactPlugin-DlGI8_Sh.d.cts} +2 -2
  38. package/dist/{reactPlugin-DJqKlTY6.d.ts → reactPlugin-DmnHX7Uj.d.ts} +2 -2
  39. package/dist/{types-C_IFxocB.d.cts → types-CsFxfaSV.d.cts} +3 -3
  40. package/dist/{types-BskFKkPW.d.ts → types-wwcxhf6Y.d.ts} +3 -3
  41. package/dist/types.d.cts +3 -3
  42. package/dist/types.d.ts +3 -3
  43. package/package.json +2 -2
  44. package/src/Renderer.ts +1 -2
  45. package/src/Runtime.tsx +2 -2
  46. package/src/components/File.tsx +1 -2
  47. package/src/components/Function.tsx +1 -1
  48. package/src/composables/useFile.ts +1 -3
  49. package/src/createReactFabric.ts +6 -3
  50. package/src/devtools.ts +1 -2
  51. package/src/globals.ts +1 -2
  52. package/src/index.ts +5 -9
  53. package/src/jsx-dev-runtime.ts +1 -2
  54. package/src/jsx-runtime.ts +2 -2
  55. package/src/plugins/reactPlugin.ts +6 -6
  56. package/src/types.ts +3 -3
  57. package/src/utils/processFiles.ts +5 -6
  58. package/src/utils/squashExportNodes.ts +1 -2
  59. package/src/utils/squashImportNodes.ts +1 -2
  60. package/src/utils/squashSourceNodes.ts +1 -2
  61. package/src/utils/squashTextNodes.ts +1 -1
  62. package/dist/devtools-Cb1pMQYm.js.map +0 -1
  63. package/dist/devtools-D4p2T_2t.cjs.map +0 -1
  64. package/dist/plugins-CftsHDZ2.js.map +0 -1
  65. package/dist/plugins-DzBEnan-.cjs.map +0 -1
  66. package/dist/{jsx-runtime-CpPZNgzW.cjs → jsx-runtime-CywUjp4I.cjs} +2 -2
package/dist/index.js CHANGED
@@ -1,9 +1,9 @@
1
- import { a as _classPrivateFieldInitSpec, i as _classPrivateFieldGet2, n as Runtime, o as Root, r as _classPrivateFieldSet2, s as RootContext, t as reactPlugin } from "./plugins-CftsHDZ2.js";
2
- import { i as jsxs, n as jsx, t as Fragment$1 } from "./jsx-runtime-CVfJARUD.js";
3
- import { t as open } from "./devtools-Cb1pMQYm.js";
1
+ import { a as _classPrivateFieldInitSpec, i as _classPrivateFieldGet2, n as Runtime, o as Root, r as _classPrivateFieldSet2, s as RootContext, t as reactPlugin } from "./reactPlugin-BmBx9cO3.js";
2
+ import { i as jsxs, n as jsx, t as Fragment$1 } from "./jsx-runtime-Dm0btT2y.js";
3
+ import { t as open } from "./devtools-wdFpV122.js";
4
+ import { createFabric } from "@kubb/fabric-core";
4
5
  import React, { Fragment, createContext, createContext as createContext$1, createElement, use, useContext, useContext as useContext$1, useEffect, useReducer, useRef, useState } from "react";
5
6
  import dedent from "dedent";
6
- import { createFabric } from "@kubb/fabric-core";
7
7
  import { orderBy } from "natural-orderby";
8
8
 
9
9
  export * from "@kubb/fabric-core"
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["createContext","useContext","createContext","result: React.ReactNode[]","useContext","useContext","useContext","types: string[]","names: string[]","item","key","name","acc: string[]","parsedItem"],"sources":["../src/components/App.tsx","../src/utils/createJSDoc.ts","../src/components/Const.tsx","../src/components/File.tsx","../../../node_modules/.pnpm/indent-string@5.0.0/node_modules/indent-string/index.js","../src/components/Indent.tsx","../src/components/Function.tsx","../src/components/Type.tsx","../src/composables/useApp.ts","../src/composables/useFile.ts","../src/composables/useLifecycle.tsx","../src/createReactFabric.ts","../src/utils/getFunctionParams.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { KubbNode } from '../types.ts'\nimport { RootContext } from './Root.tsx'\n\nexport type AppContextProps<TMeta = unknown> = {\n /**\n * Exit (unmount)\n */\n readonly exit: (error?: Error) => void\n readonly meta: TMeta\n}\n\nconst AppContext = createContext<AppContextProps | undefined>(undefined)\n\ntype Props<TMeta = unknown> = {\n readonly children?: KubbNode\n readonly meta: TMeta\n}\n\nexport function App<TMeta = unknown>({ meta, children }: Props<TMeta>) {\n const { exit } = useContext(RootContext)\n\n return <AppContext.Provider value={{ exit, meta }}>{children}</AppContext.Provider>\n}\n\nApp.Context = AppContext\nApp.displayName = 'KubbApp'\n","export function createJSDoc({ comments }: { comments: Array<string> }): string {\n const filteredComments = comments.filter(Boolean)\n\n if (!filteredComments.length) {\n return ''\n }\n\n return `/**\\n * ${filteredComments.join('\\n * ')}\\n */`\n}\n","import type { JSDoc, Key, KubbNode } from '../types.ts'\n\nimport { createJSDoc } from '../utils/createJSDoc.ts'\n\ntype Props = {\n key?: Key\n /**\n * Name of the const\n */\n name: string\n /**\n * Does this type need to be exported.\n */\n export?: boolean\n /**\n * Type to make the const being typed\n */\n type?: string\n /**\n * Options for JSdocs.\n */\n JSDoc?: JSDoc\n /**\n * Use of `const` assertions\n */\n asConst?: boolean\n children?: KubbNode\n}\n\nexport function Const({ name, export: canExport, type, JSDoc, asConst, children }: Props) {\n return (\n <>\n {JSDoc?.comments && (\n <>\n {createJSDoc({ comments: JSDoc?.comments })}\n <br />\n </>\n )}\n {canExport && <>export </>}\n const {name}{' '}\n {type && (\n <>\n {':'}\n {type}{' '}\n </>\n )}\n = {children}\n {asConst && <> as const</>}\n </>\n )\n}\n\nConst.displayName = 'KubbConst'\n","import { createContext } from 'react'\n\nimport type { KubbFile } from '@kubb/fabric-core/types'\nimport type { Key, KubbNode } from '../types.ts'\n\nexport type FileContextProps<TMeta extends object = object> = {\n /**\n * Name to be used to dynamicly create the baseName(based on input.path).\n * Based on UNIX basename\n * @link https://nodejs.org/api/path.html#pathbasenamepath-suffix\n */\n baseName: KubbFile.BaseName\n /**\n * Path will be full qualified path to a specified file.\n */\n path: KubbFile.Path\n meta?: TMeta\n}\nconst FileContext = createContext<FileContextProps>({} as FileContextProps)\n\ntype BasePropsWithBaseName = {\n /**\n * Name to be used to dynamicly create the baseName(based on input.path).\n * Based on UNIX basename\n * @link https://nodejs.org/api/path.html#pathbasenamepath-suffix\n */\n baseName: KubbFile.BaseName\n /**\n * Path will be full qualified path to a specified file.\n */\n path: KubbFile.Path\n}\n\ntype BasePropsWithoutBaseName = {\n baseName?: never\n /**\n * Path will be full qualified path to a specified file.\n */\n path?: KubbFile.Path\n}\n\ntype BaseProps = BasePropsWithBaseName | BasePropsWithoutBaseName\n\ntype Props<TMeta> = BaseProps & {\n key?: Key\n meta?: TMeta\n banner?: string\n footer?: string\n children?: KubbNode\n}\n\nexport function File<TMeta extends object = object>({ children, ...rest }: Props<TMeta>) {\n if (!rest.baseName || !rest.path) {\n return <>{children}</>\n }\n\n return (\n <kubb-file {...rest}>\n <FileContext.Provider value={{ baseName: rest.baseName, path: rest.path, meta: rest.meta }}>{children}</FileContext.Provider>\n </kubb-file>\n )\n}\n\nFile.displayName = 'KubbFile'\n\ntype FileSourceProps = Omit<KubbFile.Source, 'value'> & {\n key?: Key\n children?: KubbNode\n}\n\nfunction FileSource({ isTypeOnly, name, isExportable, isIndexable, children }: FileSourceProps) {\n return (\n <kubb-source name={name} isTypeOnly={isTypeOnly} isExportable={isExportable} isIndexable={isIndexable}>\n {children}\n </kubb-source>\n )\n}\n\nFileSource.displayName = 'KubbFileSource'\n\ntype FileExportProps = KubbFile.Export & { key?: Key }\n\nfunction FileExport({ name, path, isTypeOnly, asAlias }: FileExportProps) {\n return <kubb-export name={name} path={path} isTypeOnly={isTypeOnly || false} asAlias={asAlias} />\n}\n\nFileExport.displayName = 'KubbFileExport'\n\ntype FileImportProps = KubbFile.Import & { key?: Key }\n\nfunction FileImport({ name, root, path, isTypeOnly, isNameSpace }: FileImportProps) {\n return <kubb-import name={name} root={root} path={path} isNameSpace={isNameSpace} isTypeOnly={isTypeOnly || false} />\n}\n\nFileImport.displayName = 'KubbFileImport'\n\nFile.Export = FileExport\nFile.Import = FileImport\nFile.Source = FileSource\nFile.Context = FileContext\n","export default function indentString(string, count = 1, options = {}) {\n\tconst {\n\t\tindent = ' ',\n\t\tincludeEmptyLines = false\n\t} = options;\n\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`input\\` to be a \\`string\\`, got \\`${typeof string}\\``\n\t\t);\n\t}\n\n\tif (typeof count !== 'number') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`count\\` to be a \\`number\\`, got \\`${typeof count}\\``\n\t\t);\n\t}\n\n\tif (count < 0) {\n\t\tthrow new RangeError(\n\t\t\t`Expected \\`count\\` to be at least 0, got \\`${count}\\``\n\t\t);\n\t}\n\n\tif (typeof indent !== 'string') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`options.indent\\` to be a \\`string\\`, got \\`${typeof indent}\\``\n\t\t);\n\t}\n\n\tif (count === 0) {\n\t\treturn string;\n\t}\n\n\tconst regex = includeEmptyLines ? /^/gm : /^(?!\\s*$)/gm;\n\n\treturn string.replace(regex, indent.repeat(count));\n}\n","import dedent from 'dedent'\nimport indentString from 'indent-string'\nimport React from 'react'\n\ntype IndentProps = {\n size?: number\n children?: React.ReactNode\n}\n\n/**\n * Indents all children by `size` spaces.\n * Collapses consecutive <br /> tags to at most 2.\n */\nexport function Indent({ size = 2, children }: IndentProps) {\n if (!children) return null\n\n const filtered = React.Children.toArray(children).filter(Boolean)\n const result: React.ReactNode[] = []\n\n let prevWasBr = false\n let brCount = 0\n\n filtered.forEach((child) => {\n if (React.isValidElement(child) && child.type === 'br') {\n if (!prevWasBr || brCount < 2) {\n result.push(child)\n brCount++\n }\n prevWasBr = true\n } else {\n prevWasBr = false\n brCount = 0\n result.push(child)\n }\n })\n\n return (\n <>\n {result.map((child) => {\n if (typeof child === 'string') {\n const cleaned = dedent(child)\n return <>{indentString(cleaned, size)}</>\n }\n return (\n <>\n {' '.repeat(size)}\n {child}\n </>\n )\n })}\n </>\n )\n}\n","import type { JSDoc, Key, KubbNode } from '../types.ts'\nimport { Indent } from './Indent.tsx'\nimport { createJSDoc } from '../utils/createJSDoc.ts'\n\ntype Props = {\n key?: Key\n /**\n * Name of the function.\n */\n name: string\n /**\n * Add default when export is being used\n */\n default?: boolean\n /**\n * Parameters/options/props that need to be used.\n */\n params?: string\n /**\n * Does this function need to be exported.\n */\n export?: boolean\n /**\n * Does the function has async/promise behaviour.\n * This will also add `Promise<returnType>` as the returnType.\n */\n async?: boolean\n /**\n * Generics that needs to be added for TypeScript.\n */\n generics?: string | string[]\n\n /**\n * ReturnType(see async for adding Promise type).\n */\n returnType?: string\n /**\n * Options for JSdocs.\n */\n JSDoc?: JSDoc\n children?: KubbNode\n}\n\nexport function Function({ name, default: isDefault, export: canExport, async, generics, params, returnType, JSDoc, children }: Props) {\n return (\n <>\n {JSDoc?.comments && (\n <>\n {createJSDoc({ comments: JSDoc?.comments })}\n <br />\n </>\n )}\n {canExport && <>export </>}\n {isDefault && <>default </>}\n {async && <>async </>}\n function {name}\n {generics && (\n <>\n {'<'}\n {Array.isArray(generics) ? generics.join(', ').trim() : generics}\n {'>'}\n </>\n )}\n ({params}){returnType && !async && <>: {returnType}</>}\n {returnType && async && (\n <>\n : Promise{'<'}\n {returnType}\n {'>'}\n </>\n )}\n {' {'}\n <br />\n <Indent size={2}>{children}</Indent>\n <br />\n {'}'}\n </>\n )\n}\n\nFunction.displayName = 'KubbFunction'\n\ntype ArrowFunctionProps = Props & {\n /**\n * Create Arrow function in one line\n */\n singleLine?: boolean\n}\n\nfunction ArrowFunction({ name, default: isDefault, export: canExport, async, generics, params, returnType, JSDoc, singleLine, children }: ArrowFunctionProps) {\n return (\n <>\n {JSDoc?.comments && (\n <>\n {createJSDoc({ comments: JSDoc?.comments })}\n <br />\n </>\n )}\n {canExport && <>export </>}\n {isDefault && <>default </>}\n const {name} = {async && <>async </>}\n {generics && (\n <>\n {'<'}\n {Array.isArray(generics) ? generics.join(', ').trim() : generics}\n {'>'}\n </>\n )}\n ({params}){returnType && !async && <>: {returnType}</>}\n {returnType && async && (\n <>\n : Promise{'<'}\n {returnType}\n {'>'}\n </>\n )}\n {singleLine && (\n <>\n {' => '}\n {children}\n <br />\n </>\n )}\n {!singleLine && (\n <>\n {' => {'}\n <br />\n <Indent size={2}>{children}</Indent>\n <br />\n {'}'}\n <br />\n </>\n )}\n </>\n )\n}\n\nArrowFunction.displayName = 'KubbArrowFunction'\nFunction.Arrow = ArrowFunction\n","import type { JSDoc, Key, KubbNode } from '../types.ts'\nimport { createJSDoc } from '../utils/createJSDoc.ts'\n\ntype Props = {\n key?: Key\n /**\n * Name of the type, this needs to start with a capital letter.\n */\n name: string\n /**\n * Does this type need to be exported.\n */\n export?: boolean\n /**\n * Options for JSdocs.\n */\n JSDoc?: JSDoc\n children?: KubbNode\n}\n\nexport function Type({ name, export: canExport, JSDoc, children }: Props) {\n if (name.charAt(0).toUpperCase() !== name.charAt(0)) {\n throw new Error('Name should start with a capital letter(see TypeScript types)')\n }\n\n return (\n <>\n {JSDoc?.comments && (\n <>\n {createJSDoc({ comments: JSDoc?.comments })}\n <br />\n </>\n )}\n {canExport && <>export </>}\n type {name} = {children}\n </>\n )\n}\n\nType.displayName = 'KubbType'\n","import { useContext } from 'react'\nimport { App, type AppContextProps } from '../components/App.tsx'\n\n/**\n * `useApp` will return the current App with plugin, pluginManager, fileManager and mode.\n */\nexport function useApp<TMeta = unknown>(): AppContextProps<TMeta> {\n const app = useContext(App.Context)\n\n if (!app) {\n throw new Error('<App /> should be set')\n }\n\n return app as AppContextProps<TMeta>\n}\n","import { useContext } from 'react'\n\nimport { File } from '../components/File.tsx'\n\nimport type { FileContextProps } from '../components/File.tsx'\n\n/**\n * `useFile` will return the current file when <File/> is used.\n */\nexport function useFile(): FileContextProps {\n const file = useContext(File.Context)\n\n return file as FileContextProps\n}\n","import { useContext } from 'react'\n\nimport { Root } from '../components/Root.tsx'\n\n/**\n * `useLifecycle` will return some helpers to exit/restart the generation.\n */\nexport function useLifecycle() {\n const { exit } = useContext(Root.Context)\n\n return {\n exit: () => {\n setTimeout(() => {\n exit()\n }, 0)\n },\n }\n}\n","import { createFabric } from '@kubb/fabric-core'\nimport { reactPlugin } from '@kubb/react-fabric/plugins'\nimport type { Options } from './plugins/reactPlugin.ts'\nimport type { FabricConfig, FabricMode } from '@kubb/fabric-core/types'\nimport { open } from './devtools.ts'\n\nexport function createReactFabric(config?: FabricConfig<Options & { mode?: FabricMode; devtools?: boolean }>) {\n const fabric = createFabric(config)\n\n if (config?.options?.devtools) {\n open()\n }\n\n fabric.use(reactPlugin, config?.options)\n\n return fabric\n}\n","import { orderBy } from 'natural-orderby'\n\nexport type Param = {\n /**\n * `object` will return the pathParams as an object.\n *\n * `inline` will return the pathParams as comma separated params.\n * @default `'inline'`\n * @private\n */\n mode?: 'object' | 'inline' | 'inlineSpread'\n type?: 'string' | 'number' | (string & {})\n optional?: boolean\n /**\n * @example test = \"default\"\n */\n default?: string\n /**\n * Used for no TypeScript(with mode object)\n * @example test: \"default\"\n */\n value?: string\n children?: Params\n}\n\ntype ParamItem =\n | (Pick<Param, 'mode' | 'type' | 'value'> & {\n optional?: true\n default?: never\n children?: Params\n })\n | (Pick<Param, 'mode' | 'type' | 'value'> & {\n optional?: false\n default?: string\n children?: Params\n })\n\nexport type Params = Record<string, Param | undefined>\n\ntype Options = {\n type: 'constructor' | 'call' | 'object' | 'objectValue'\n transformName?: (name: string) => string\n transformType?: (type: string) => string\n}\n\nfunction order(items: Array<[key: string, item?: ParamItem]>) {\n return orderBy(\n items.filter(Boolean),\n [\n ([_key, item]) => {\n if (item?.children) {\n return undefined\n }\n return !item?.default\n },\n ([_key, item]) => {\n if (item?.children) {\n return undefined\n }\n return !item?.optional\n },\n ],\n ['desc', 'desc'],\n )\n}\n\nfunction parseChild(key: string, item: ParamItem, options: Options): string | null {\n // @ts-expect-error\n const entries = order(Object.entries(item.children))\n\n const types: string[] = []\n const names: string[] = []\n\n const optional = entries.every(([_key, item]) => item?.optional)\n\n entries.forEach(([key, entryItem]) => {\n if (entryItem) {\n const name = parseItem(key, { ...entryItem, type: undefined }, options)\n if (entryItem.children) {\n const subTypes = Object.entries(entryItem.children)\n .map(([key]) => {\n return key\n })\n .join(', ')\n\n if (subTypes) {\n names.push(`${name}: { ${subTypes} }`)\n } else {\n names.push(name)\n }\n } else {\n if (options.type === 'call' && options.transformName) {\n names.push(`${key}: ${name}`)\n } else {\n names.push(name)\n }\n }\n\n if (entries.some(([_key, item]) => item?.type)) {\n types.push(parseItem(key, { ...entryItem, default: undefined }, options))\n }\n }\n })\n\n const name = item.mode === 'inline' ? key : names.length ? `{ ${names.join(', ')} }` : undefined\n const type = item.type ? item.type : types.length ? `{ ${types.join('; ')} }` : undefined\n\n if (!name) {\n return null\n }\n\n return parseItem(\n name,\n {\n type,\n default: item.default,\n optional: !item.default ? optional : undefined,\n } as ParamItem,\n options,\n )\n}\n\nfunction parseItem(name: string, item: ParamItem, options: Options): string {\n const acc: string[] = []\n const transformedName = options.transformName ? options.transformName(name) : name\n const transformedType = options.transformType && item.type ? options.transformType(item.type) : item.type\n\n if (options.type === 'object') {\n return transformedName\n }\n\n if (options.type === 'objectValue') {\n return item.value ? `${transformedName}: ${item.value}` : transformedName\n }\n\n //LEGACY\n if (item.type && options.type === 'constructor') {\n if (item.optional) {\n acc.push(`${transformedName}?: ${transformedType}`)\n } else {\n acc.push(`${transformedName}: ${transformedType}${item.default ? ` = ${item.default}` : ''}`)\n }\n } else if (item.default && options.type === 'constructor') {\n acc.push(`${transformedName} = ${item.default}`)\n } else if (item.value) {\n acc.push(`${transformedName} : ${item.value}`)\n } else if (item.mode === 'inlineSpread') {\n acc.push(`... ${transformedName}`)\n } else {\n acc.push(transformedName)\n }\n\n return acc[0] as string\n}\n\nexport function getFunctionParams(params: Params, options: Options): string {\n const entries = order(Object.entries(params as Record<string, ParamItem | undefined>))\n\n return entries\n .reduce((acc, [key, item]) => {\n if (!item) {\n return acc\n }\n\n if (item.children) {\n if (Object.keys(item.children).length === 0) {\n return acc\n }\n\n if (item.mode === 'inlineSpread') {\n return [...acc, getFunctionParams(item.children, options)]\n }\n\n const parsedItem = parseChild(key, item, options)\n if (!parsedItem) {\n return acc\n }\n\n return [...acc, parsedItem]\n }\n\n const parsedItem = parseItem(key, item, options)\n\n return [...acc, parsedItem]\n }, [] as string[])\n .join(', ')\n}\n\nexport function createFunctionParams(params: Params): Params {\n return params\n}\n// TODO use of zod\n//TODO use of string as `$name: $type` to create templates for functions instead of call/constructor\nexport class FunctionParams {\n #params: Params\n\n static factory(params: Params) {\n return new FunctionParams(params)\n }\n constructor(params: Params) {\n this.#params = params\n }\n\n get params(): Params {\n return this.#params\n }\n\n get flatParams(): Params {\n const flatter = (acc: Params, [key, item]: [key: string, item?: Param]): Params => {\n if (item?.children) {\n return Object.entries(item.children).reduce(flatter, acc)\n }\n if (item) {\n acc[key] = item\n }\n\n return acc\n }\n return Object.entries(this.#params).reduce(flatter, {} as Params)\n }\n\n toCall({ transformName, transformType }: Pick<Options, 'transformName' | 'transformType'> = {}): string {\n return getFunctionParams(this.#params, { type: 'call', transformName, transformType })\n }\n\n toObject(): string {\n return getFunctionParams(this.#params, { type: 'object' })\n }\n toObjectValue(): string {\n return getFunctionParams(this.#params, { type: 'objectValue' })\n }\n\n toConstructor(): string {\n return getFunctionParams(this.#params, { type: 'constructor' })\n }\n}\n"],"x_google_ignoreList":[4],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["createContext","useContext","createContext","result: React.ReactNode[]","useContext","useContext","useContext","types: string[]","names: string[]","item","key","name","acc: string[]","parsedItem"],"sources":["../src/components/App.tsx","../src/utils/createJSDoc.ts","../src/components/Const.tsx","../src/components/File.tsx","../../../node_modules/.pnpm/indent-string@5.0.0/node_modules/indent-string/index.js","../src/components/Indent.tsx","../src/components/Function.tsx","../src/components/Type.tsx","../src/composables/useApp.ts","../src/composables/useFile.ts","../src/composables/useLifecycle.tsx","../src/createReactFabric.ts","../src/utils/getFunctionParams.ts"],"sourcesContent":["import { createContext, useContext } from 'react'\nimport type { KubbNode } from '../types.ts'\nimport { RootContext } from './Root.tsx'\n\nexport type AppContextProps<TMeta = unknown> = {\n /**\n * Exit (unmount)\n */\n readonly exit: (error?: Error) => void\n readonly meta: TMeta\n}\n\nconst AppContext = createContext<AppContextProps | undefined>(undefined)\n\ntype Props<TMeta = unknown> = {\n readonly children?: KubbNode\n readonly meta: TMeta\n}\n\nexport function App<TMeta = unknown>({ meta, children }: Props<TMeta>) {\n const { exit } = useContext(RootContext)\n\n return <AppContext.Provider value={{ exit, meta }}>{children}</AppContext.Provider>\n}\n\nApp.Context = AppContext\nApp.displayName = 'KubbApp'\n","export function createJSDoc({ comments }: { comments: Array<string> }): string {\n const filteredComments = comments.filter(Boolean)\n\n if (!filteredComments.length) {\n return ''\n }\n\n return `/**\\n * ${filteredComments.join('\\n * ')}\\n */`\n}\n","import type { JSDoc, Key, KubbNode } from '../types.ts'\n\nimport { createJSDoc } from '../utils/createJSDoc.ts'\n\ntype Props = {\n key?: Key\n /**\n * Name of the const\n */\n name: string\n /**\n * Does this type need to be exported.\n */\n export?: boolean\n /**\n * Type to make the const being typed\n */\n type?: string\n /**\n * Options for JSdocs.\n */\n JSDoc?: JSDoc\n /**\n * Use of `const` assertions\n */\n asConst?: boolean\n children?: KubbNode\n}\n\nexport function Const({ name, export: canExport, type, JSDoc, asConst, children }: Props) {\n return (\n <>\n {JSDoc?.comments && (\n <>\n {createJSDoc({ comments: JSDoc?.comments })}\n <br />\n </>\n )}\n {canExport && <>export </>}\n const {name}{' '}\n {type && (\n <>\n {':'}\n {type}{' '}\n </>\n )}\n = {children}\n {asConst && <> as const</>}\n </>\n )\n}\n\nConst.displayName = 'KubbConst'\n","import type { KubbFile } from '@kubb/fabric-core/types'\nimport { createContext } from 'react'\nimport type { Key, KubbNode } from '../types.ts'\n\nexport type FileContextProps<TMeta extends object = object> = {\n /**\n * Name to be used to dynamicly create the baseName(based on input.path).\n * Based on UNIX basename\n * @link https://nodejs.org/api/path.html#pathbasenamepath-suffix\n */\n baseName: KubbFile.BaseName\n /**\n * Path will be full qualified path to a specified file.\n */\n path: KubbFile.Path\n meta?: TMeta\n}\nconst FileContext = createContext<FileContextProps>({} as FileContextProps)\n\ntype BasePropsWithBaseName = {\n /**\n * Name to be used to dynamicly create the baseName(based on input.path).\n * Based on UNIX basename\n * @link https://nodejs.org/api/path.html#pathbasenamepath-suffix\n */\n baseName: KubbFile.BaseName\n /**\n * Path will be full qualified path to a specified file.\n */\n path: KubbFile.Path\n}\n\ntype BasePropsWithoutBaseName = {\n baseName?: never\n /**\n * Path will be full qualified path to a specified file.\n */\n path?: KubbFile.Path\n}\n\ntype BaseProps = BasePropsWithBaseName | BasePropsWithoutBaseName\n\ntype Props<TMeta> = BaseProps & {\n key?: Key\n meta?: TMeta\n banner?: string\n footer?: string\n children?: KubbNode\n}\n\nexport function File<TMeta extends object = object>({ children, ...rest }: Props<TMeta>) {\n if (!rest.baseName || !rest.path) {\n return <>{children}</>\n }\n\n return (\n <kubb-file {...rest}>\n <FileContext.Provider value={{ baseName: rest.baseName, path: rest.path, meta: rest.meta }}>{children}</FileContext.Provider>\n </kubb-file>\n )\n}\n\nFile.displayName = 'KubbFile'\n\ntype FileSourceProps = Omit<KubbFile.Source, 'value'> & {\n key?: Key\n children?: KubbNode\n}\n\nfunction FileSource({ isTypeOnly, name, isExportable, isIndexable, children }: FileSourceProps) {\n return (\n <kubb-source name={name} isTypeOnly={isTypeOnly} isExportable={isExportable} isIndexable={isIndexable}>\n {children}\n </kubb-source>\n )\n}\n\nFileSource.displayName = 'KubbFileSource'\n\ntype FileExportProps = KubbFile.Export & { key?: Key }\n\nfunction FileExport({ name, path, isTypeOnly, asAlias }: FileExportProps) {\n return <kubb-export name={name} path={path} isTypeOnly={isTypeOnly || false} asAlias={asAlias} />\n}\n\nFileExport.displayName = 'KubbFileExport'\n\ntype FileImportProps = KubbFile.Import & { key?: Key }\n\nfunction FileImport({ name, root, path, isTypeOnly, isNameSpace }: FileImportProps) {\n return <kubb-import name={name} root={root} path={path} isNameSpace={isNameSpace} isTypeOnly={isTypeOnly || false} />\n}\n\nFileImport.displayName = 'KubbFileImport'\n\nFile.Export = FileExport\nFile.Import = FileImport\nFile.Source = FileSource\nFile.Context = FileContext\n","export default function indentString(string, count = 1, options = {}) {\n\tconst {\n\t\tindent = ' ',\n\t\tincludeEmptyLines = false\n\t} = options;\n\n\tif (typeof string !== 'string') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`input\\` to be a \\`string\\`, got \\`${typeof string}\\``\n\t\t);\n\t}\n\n\tif (typeof count !== 'number') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`count\\` to be a \\`number\\`, got \\`${typeof count}\\``\n\t\t);\n\t}\n\n\tif (count < 0) {\n\t\tthrow new RangeError(\n\t\t\t`Expected \\`count\\` to be at least 0, got \\`${count}\\``\n\t\t);\n\t}\n\n\tif (typeof indent !== 'string') {\n\t\tthrow new TypeError(\n\t\t\t`Expected \\`options.indent\\` to be a \\`string\\`, got \\`${typeof indent}\\``\n\t\t);\n\t}\n\n\tif (count === 0) {\n\t\treturn string;\n\t}\n\n\tconst regex = includeEmptyLines ? /^/gm : /^(?!\\s*$)/gm;\n\n\treturn string.replace(regex, indent.repeat(count));\n}\n","import dedent from 'dedent'\nimport indentString from 'indent-string'\nimport React from 'react'\n\ntype IndentProps = {\n size?: number\n children?: React.ReactNode\n}\n\n/**\n * Indents all children by `size` spaces.\n * Collapses consecutive <br /> tags to at most 2.\n */\nexport function Indent({ size = 2, children }: IndentProps) {\n if (!children) return null\n\n const filtered = React.Children.toArray(children).filter(Boolean)\n const result: React.ReactNode[] = []\n\n let prevWasBr = false\n let brCount = 0\n\n filtered.forEach((child) => {\n if (React.isValidElement(child) && child.type === 'br') {\n if (!prevWasBr || brCount < 2) {\n result.push(child)\n brCount++\n }\n prevWasBr = true\n } else {\n prevWasBr = false\n brCount = 0\n result.push(child)\n }\n })\n\n return (\n <>\n {result.map((child) => {\n if (typeof child === 'string') {\n const cleaned = dedent(child)\n return <>{indentString(cleaned, size)}</>\n }\n return (\n <>\n {' '.repeat(size)}\n {child}\n </>\n )\n })}\n </>\n )\n}\n","import type { JSDoc, Key, KubbNode } from '../types.ts'\nimport { createJSDoc } from '../utils/createJSDoc.ts'\nimport { Indent } from './Indent.tsx'\n\ntype Props = {\n key?: Key\n /**\n * Name of the function.\n */\n name: string\n /**\n * Add default when export is being used\n */\n default?: boolean\n /**\n * Parameters/options/props that need to be used.\n */\n params?: string\n /**\n * Does this function need to be exported.\n */\n export?: boolean\n /**\n * Does the function has async/promise behaviour.\n * This will also add `Promise<returnType>` as the returnType.\n */\n async?: boolean\n /**\n * Generics that needs to be added for TypeScript.\n */\n generics?: string | string[]\n\n /**\n * ReturnType(see async for adding Promise type).\n */\n returnType?: string\n /**\n * Options for JSdocs.\n */\n JSDoc?: JSDoc\n children?: KubbNode\n}\n\nexport function Function({ name, default: isDefault, export: canExport, async, generics, params, returnType, JSDoc, children }: Props) {\n return (\n <>\n {JSDoc?.comments && (\n <>\n {createJSDoc({ comments: JSDoc?.comments })}\n <br />\n </>\n )}\n {canExport && <>export </>}\n {isDefault && <>default </>}\n {async && <>async </>}\n function {name}\n {generics && (\n <>\n {'<'}\n {Array.isArray(generics) ? generics.join(', ').trim() : generics}\n {'>'}\n </>\n )}\n ({params}){returnType && !async && <>: {returnType}</>}\n {returnType && async && (\n <>\n : Promise{'<'}\n {returnType}\n {'>'}\n </>\n )}\n {' {'}\n <br />\n <Indent size={2}>{children}</Indent>\n <br />\n {'}'}\n </>\n )\n}\n\nFunction.displayName = 'KubbFunction'\n\ntype ArrowFunctionProps = Props & {\n /**\n * Create Arrow function in one line\n */\n singleLine?: boolean\n}\n\nfunction ArrowFunction({ name, default: isDefault, export: canExport, async, generics, params, returnType, JSDoc, singleLine, children }: ArrowFunctionProps) {\n return (\n <>\n {JSDoc?.comments && (\n <>\n {createJSDoc({ comments: JSDoc?.comments })}\n <br />\n </>\n )}\n {canExport && <>export </>}\n {isDefault && <>default </>}\n const {name} = {async && <>async </>}\n {generics && (\n <>\n {'<'}\n {Array.isArray(generics) ? generics.join(', ').trim() : generics}\n {'>'}\n </>\n )}\n ({params}){returnType && !async && <>: {returnType}</>}\n {returnType && async && (\n <>\n : Promise{'<'}\n {returnType}\n {'>'}\n </>\n )}\n {singleLine && (\n <>\n {' => '}\n {children}\n <br />\n </>\n )}\n {!singleLine && (\n <>\n {' => {'}\n <br />\n <Indent size={2}>{children}</Indent>\n <br />\n {'}'}\n <br />\n </>\n )}\n </>\n )\n}\n\nArrowFunction.displayName = 'KubbArrowFunction'\nFunction.Arrow = ArrowFunction\n","import type { JSDoc, Key, KubbNode } from '../types.ts'\nimport { createJSDoc } from '../utils/createJSDoc.ts'\n\ntype Props = {\n key?: Key\n /**\n * Name of the type, this needs to start with a capital letter.\n */\n name: string\n /**\n * Does this type need to be exported.\n */\n export?: boolean\n /**\n * Options for JSdocs.\n */\n JSDoc?: JSDoc\n children?: KubbNode\n}\n\nexport function Type({ name, export: canExport, JSDoc, children }: Props) {\n if (name.charAt(0).toUpperCase() !== name.charAt(0)) {\n throw new Error('Name should start with a capital letter(see TypeScript types)')\n }\n\n return (\n <>\n {JSDoc?.comments && (\n <>\n {createJSDoc({ comments: JSDoc?.comments })}\n <br />\n </>\n )}\n {canExport && <>export </>}\n type {name} = {children}\n </>\n )\n}\n\nType.displayName = 'KubbType'\n","import { useContext } from 'react'\nimport { App, type AppContextProps } from '../components/App.tsx'\n\n/**\n * `useApp` will return the current App with plugin, pluginManager, fileManager and mode.\n */\nexport function useApp<TMeta = unknown>(): AppContextProps<TMeta> {\n const app = useContext(App.Context)\n\n if (!app) {\n throw new Error('<App /> should be set')\n }\n\n return app as AppContextProps<TMeta>\n}\n","import { useContext } from 'react'\nimport type { FileContextProps } from '../components/File.tsx'\nimport { File } from '../components/File.tsx'\n\n/**\n * `useFile` will return the current file when <File/> is used.\n */\nexport function useFile(): FileContextProps {\n const file = useContext(File.Context)\n\n return file as FileContextProps\n}\n","import { useContext } from 'react'\n\nimport { Root } from '../components/Root.tsx'\n\n/**\n * `useLifecycle` will return some helpers to exit/restart the generation.\n */\nexport function useLifecycle() {\n const { exit } = useContext(Root.Context)\n\n return {\n exit: () => {\n setTimeout(() => {\n exit()\n }, 0)\n },\n }\n}\n","import type { Fabric } from '@kubb/fabric-core'\nimport { createFabric } from '@kubb/fabric-core'\nimport type { FabricConfig, FabricMode } from '@kubb/fabric-core/types'\nimport { open } from './devtools.ts'\nimport type { Options } from './plugins/reactPlugin.ts'\nimport { reactPlugin } from './plugins/reactPlugin.ts'\n\nexport function createReactFabric(\n config?: FabricConfig<Options & { mode?: FabricMode; devtools?: boolean }>,\n): Fabric<Options & { mode?: FabricMode; devtools?: boolean }> {\n const fabric = createFabric(config)\n\n if (config?.options?.devtools) {\n open()\n }\n\n fabric.use(reactPlugin, config?.options)\n\n return fabric\n}\n","import { orderBy } from 'natural-orderby'\n\nexport type Param = {\n /**\n * `object` will return the pathParams as an object.\n *\n * `inline` will return the pathParams as comma separated params.\n * @default `'inline'`\n * @private\n */\n mode?: 'object' | 'inline' | 'inlineSpread'\n type?: 'string' | 'number' | (string & {})\n optional?: boolean\n /**\n * @example test = \"default\"\n */\n default?: string\n /**\n * Used for no TypeScript(with mode object)\n * @example test: \"default\"\n */\n value?: string\n children?: Params\n}\n\ntype ParamItem =\n | (Pick<Param, 'mode' | 'type' | 'value'> & {\n optional?: true\n default?: never\n children?: Params\n })\n | (Pick<Param, 'mode' | 'type' | 'value'> & {\n optional?: false\n default?: string\n children?: Params\n })\n\nexport type Params = Record<string, Param | undefined>\n\ntype Options = {\n type: 'constructor' | 'call' | 'object' | 'objectValue'\n transformName?: (name: string) => string\n transformType?: (type: string) => string\n}\n\nfunction order(items: Array<[key: string, item?: ParamItem]>) {\n return orderBy(\n items.filter(Boolean),\n [\n ([_key, item]) => {\n if (item?.children) {\n return undefined\n }\n return !item?.default\n },\n ([_key, item]) => {\n if (item?.children) {\n return undefined\n }\n return !item?.optional\n },\n ],\n ['desc', 'desc'],\n )\n}\n\nfunction parseChild(key: string, item: ParamItem, options: Options): string | null {\n // @ts-expect-error\n const entries = order(Object.entries(item.children))\n\n const types: string[] = []\n const names: string[] = []\n\n const optional = entries.every(([_key, item]) => item?.optional)\n\n entries.forEach(([key, entryItem]) => {\n if (entryItem) {\n const name = parseItem(key, { ...entryItem, type: undefined }, options)\n if (entryItem.children) {\n const subTypes = Object.entries(entryItem.children)\n .map(([key]) => {\n return key\n })\n .join(', ')\n\n if (subTypes) {\n names.push(`${name}: { ${subTypes} }`)\n } else {\n names.push(name)\n }\n } else {\n if (options.type === 'call' && options.transformName) {\n names.push(`${key}: ${name}`)\n } else {\n names.push(name)\n }\n }\n\n if (entries.some(([_key, item]) => item?.type)) {\n types.push(parseItem(key, { ...entryItem, default: undefined }, options))\n }\n }\n })\n\n const name = item.mode === 'inline' ? key : names.length ? `{ ${names.join(', ')} }` : undefined\n const type = item.type ? item.type : types.length ? `{ ${types.join('; ')} }` : undefined\n\n if (!name) {\n return null\n }\n\n return parseItem(\n name,\n {\n type,\n default: item.default,\n optional: !item.default ? optional : undefined,\n } as ParamItem,\n options,\n )\n}\n\nfunction parseItem(name: string, item: ParamItem, options: Options): string {\n const acc: string[] = []\n const transformedName = options.transformName ? options.transformName(name) : name\n const transformedType = options.transformType && item.type ? options.transformType(item.type) : item.type\n\n if (options.type === 'object') {\n return transformedName\n }\n\n if (options.type === 'objectValue') {\n return item.value ? `${transformedName}: ${item.value}` : transformedName\n }\n\n //LEGACY\n if (item.type && options.type === 'constructor') {\n if (item.optional) {\n acc.push(`${transformedName}?: ${transformedType}`)\n } else {\n acc.push(`${transformedName}: ${transformedType}${item.default ? ` = ${item.default}` : ''}`)\n }\n } else if (item.default && options.type === 'constructor') {\n acc.push(`${transformedName} = ${item.default}`)\n } else if (item.value) {\n acc.push(`${transformedName} : ${item.value}`)\n } else if (item.mode === 'inlineSpread') {\n acc.push(`... ${transformedName}`)\n } else {\n acc.push(transformedName)\n }\n\n return acc[0] as string\n}\n\nexport function getFunctionParams(params: Params, options: Options): string {\n const entries = order(Object.entries(params as Record<string, ParamItem | undefined>))\n\n return entries\n .reduce((acc, [key, item]) => {\n if (!item) {\n return acc\n }\n\n if (item.children) {\n if (Object.keys(item.children).length === 0) {\n return acc\n }\n\n if (item.mode === 'inlineSpread') {\n return [...acc, getFunctionParams(item.children, options)]\n }\n\n const parsedItem = parseChild(key, item, options)\n if (!parsedItem) {\n return acc\n }\n\n return [...acc, parsedItem]\n }\n\n const parsedItem = parseItem(key, item, options)\n\n return [...acc, parsedItem]\n }, [] as string[])\n .join(', ')\n}\n\nexport function createFunctionParams(params: Params): Params {\n return params\n}\n// TODO use of zod\n//TODO use of string as `$name: $type` to create templates for functions instead of call/constructor\nexport class FunctionParams {\n #params: Params\n\n static factory(params: Params) {\n return new FunctionParams(params)\n }\n constructor(params: Params) {\n this.#params = params\n }\n\n get params(): Params {\n return this.#params\n }\n\n get flatParams(): Params {\n const flatter = (acc: Params, [key, item]: [key: string, item?: Param]): Params => {\n if (item?.children) {\n return Object.entries(item.children).reduce(flatter, acc)\n }\n if (item) {\n acc[key] = item\n }\n\n return acc\n }\n return Object.entries(this.#params).reduce(flatter, {} as Params)\n }\n\n toCall({ transformName, transformType }: Pick<Options, 'transformName' | 'transformType'> = {}): string {\n return getFunctionParams(this.#params, { type: 'call', transformName, transformType })\n }\n\n toObject(): string {\n return getFunctionParams(this.#params, { type: 'object' })\n }\n toObjectValue(): string {\n return getFunctionParams(this.#params, { type: 'objectValue' })\n }\n\n toConstructor(): string {\n return getFunctionParams(this.#params, { type: 'constructor' })\n }\n}\n"],"x_google_ignoreList":[4],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import "./Fabric-B8W5_3xv.cjs";
2
- import { d as KubbNode, s as KubbElement } from "./types-C_IFxocB.cjs";
3
- import { t as JSX } from "./jsx-namespace-BwLeEI1n.cjs";
1
+ import "./Fabric-BPUyMklG.cjs";
2
+ import { d as KubbNode, s as KubbElement } from "./types-CsFxfaSV.cjs";
3
+ import { t as JSX } from "./jsx-namespace-YR433DXc.cjs";
4
4
  import { Fragment, jsxDEV } from "react/jsx-dev-runtime";
5
5
 
6
6
  //#region src/jsx-dev-runtime.d.ts
@@ -1,6 +1,6 @@
1
- import "./Fabric-mFmfnVJp.js";
2
- import { d as KubbNode, s as KubbElement } from "./types-BskFKkPW.js";
3
- import { t as JSX } from "./jsx-namespace-cboHPqa0.js";
1
+ import "./Fabric-t9Xqe4Bx.js";
2
+ import { d as KubbNode, s as KubbElement } from "./types-wwcxhf6Y.js";
3
+ import { t as JSX } from "./jsx-namespace-PEMxmJ6z.js";
4
4
  import { Fragment, jsxDEV } from "react/jsx-dev-runtime";
5
5
 
6
6
  //#region src/jsx-dev-runtime.d.ts
@@ -1,4 +1,4 @@
1
- import { c as KubbExportProps, d as KubbNode, f as KubbSourceProps, l as KubbFileProps, m as LineBreakProps, p as KubbTextProps, s as KubbElement, u as KubbImportProps } from "./types-BskFKkPW.js";
1
+ import { c as KubbExportProps, d as KubbNode, f as KubbSourceProps, l as KubbFileProps, m as LineBreakProps, p as KubbTextProps, s as KubbElement, u as KubbImportProps } from "./types-wwcxhf6Y.js";
2
2
  import React from "react";
3
3
 
4
4
  //#region src/jsx-namespace.d.ts
@@ -28,4 +28,4 @@ declare namespace JSX$1 {
28
28
  }
29
29
  //#endregion
30
30
  export { JSX$1 as t };
31
- //# sourceMappingURL=jsx-namespace-cboHPqa0.d.ts.map
31
+ //# sourceMappingURL=jsx-namespace-PEMxmJ6z.d.ts.map
@@ -1,4 +1,4 @@
1
- import { c as KubbExportProps, d as KubbNode, f as KubbSourceProps, l as KubbFileProps, m as LineBreakProps, p as KubbTextProps, s as KubbElement, u as KubbImportProps } from "./types-C_IFxocB.cjs";
1
+ import { c as KubbExportProps, d as KubbNode, f as KubbSourceProps, l as KubbFileProps, m as LineBreakProps, p as KubbTextProps, s as KubbElement, u as KubbImportProps } from "./types-CsFxfaSV.cjs";
2
2
  import React from "react";
3
3
 
4
4
  //#region src/jsx-namespace.d.ts
@@ -28,4 +28,4 @@ declare namespace JSX$1 {
28
28
  }
29
29
  //#endregion
30
30
  export { JSX$1 as t };
31
- //# sourceMappingURL=jsx-namespace-BwLeEI1n.d.cts.map
31
+ //# sourceMappingURL=jsx-namespace-YR433DXc.d.cts.map
@@ -1,4 +1,4 @@
1
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
1
  import { jsxDEV } from "react/jsx-dev-runtime";
2
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
3
 
4
4
  export { jsxs as i, jsx as n, jsxDEV as r, Fragment as t };
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require('./chunk-CUT6urMc.cjs');
2
- require('./jsx-runtime-CpPZNgzW.cjs');
2
+ require('./jsx-runtime-CywUjp4I.cjs');
3
3
  let react_jsx_runtime = require("react/jsx-runtime");
4
4
  react_jsx_runtime = require_chunk.__toESM(react_jsx_runtime);
5
5
  let react_jsx_dev_runtime = require("react/jsx-dev-runtime");
@@ -1,6 +1,6 @@
1
- import "./Fabric-B8W5_3xv.cjs";
2
- import { d as KubbNode, s as KubbElement } from "./types-C_IFxocB.cjs";
3
- import { t as JSX } from "./jsx-namespace-BwLeEI1n.cjs";
1
+ import "./Fabric-BPUyMklG.cjs";
2
+ import { d as KubbNode, s as KubbElement } from "./types-CsFxfaSV.cjs";
3
+ import { t as JSX } from "./jsx-namespace-YR433DXc.cjs";
4
4
  import { jsxDEV } from "react/jsx-dev-runtime";
5
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
6
 
@@ -1,8 +1,8 @@
1
- import "./Fabric-mFmfnVJp.js";
2
- import { d as KubbNode, s as KubbElement } from "./types-BskFKkPW.js";
3
- import { t as JSX } from "./jsx-namespace-cboHPqa0.js";
4
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
1
+ import "./Fabric-t9Xqe4Bx.js";
2
+ import { d as KubbNode, s as KubbElement } from "./types-wwcxhf6Y.js";
3
+ import { t as JSX } from "./jsx-namespace-PEMxmJ6z.js";
5
4
  import { jsxDEV } from "react/jsx-dev-runtime";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
6
 
7
7
  //#region src/jsx-runtime.d.ts
8
8
  type JSXElement = KubbElement;
@@ -1,3 +1,3 @@
1
- import { i as jsxs, n as jsx, r as jsxDEV, t as Fragment } from "./jsx-runtime-CVfJARUD.js";
1
+ import { i as jsxs, n as jsx, r as jsxDEV, t as Fragment } from "./jsx-runtime-Dm0btT2y.js";
2
2
 
3
3
  export { Fragment, jsx, jsxDEV, jsxs };
@@ -1,4 +1,4 @@
1
- import { c as Parser, l as UserParser } from "./Fabric-B8W5_3xv.cjs";
1
+ import { d as UserParser, u as Parser } from "./Fabric-BPUyMklG.cjs";
2
2
 
3
3
  //#region ../fabric-core/src/parsers/createParser.d.ts
4
4
  declare function createParser<TOptions = unknown, TMeta extends object = any>(parser: UserParser<TOptions, TMeta>): Parser<TOptions, TMeta>;
package/dist/parsers.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { c as Parser, l as UserParser } from "./Fabric-mFmfnVJp.js";
1
+ import { d as UserParser, u as Parser } from "./Fabric-t9Xqe4Bx.js";
2
2
 
3
3
  //#region ../fabric-core/src/parsers/createParser.d.ts
4
4
  declare function createParser<TOptions = unknown, TMeta extends object = any>(parser: UserParser<TOptions, TMeta>): Parser<TOptions, TMeta>;
package/dist/plugins.cjs CHANGED
@@ -1,7 +1,7 @@
1
- const require_plugins = require('./plugins-DzBEnan-.cjs');
2
- require('./jsx-runtime-CpPZNgzW.cjs');
1
+ const require_reactPlugin = require('./reactPlugin-Dj5m_pqf.cjs');
2
+ require('./jsx-runtime-CywUjp4I.cjs');
3
3
 
4
- exports.reactPlugin = require_plugins.reactPlugin;
4
+ exports.reactPlugin = require_reactPlugin.reactPlugin;
5
5
  var __kubb_fabric_core_plugins = require("@kubb/fabric-core/plugins");
6
6
  Object.keys(__kubb_fabric_core_plugins).forEach(function (k) {
7
7
  if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
@@ -1,71 +1,68 @@
1
- import { d as UserPlugin, m as Extname, u as Plugin } from "./Fabric-B8W5_3xv.cjs";
2
- import { n as reactPlugin } from "./reactPlugin-wV1eBuBU.cjs";
1
+ import { m as Extname, o as Plugin, s as UserPlugin } from "./Fabric-BPUyMklG.cjs";
2
+ import { n as reactPlugin } from "./reactPlugin-DlGI8_Sh.cjs";
3
3
 
4
- //#region ../fabric-core/src/plugins/createPlugin.d.ts
5
- declare function createPlugin<Options$3 = unknown, TAppExtension extends Record<string, any> = {}>(plugin: UserPlugin<Options$3, TAppExtension>): Plugin<Options$3, TAppExtension>;
6
- //#endregion
7
- //#region ../fabric-core/src/plugins/fsPlugin.d.ts
8
- type WriteOptions = {
9
- extension?: Record<Extname, Extname | ''>;
10
- };
4
+ //#region ../fabric-core/src/plugins/barrelPlugin.d.ts
5
+ type Mode = 'all' | 'named' | 'propagate' | false;
11
6
  type Options$2 = {
7
+ root: string;
8
+ mode: Mode;
12
9
  dryRun?: boolean;
13
- /**
14
- * Optional callback that is invoked whenever a file is written by the plugin.
15
- * Useful for tests to observe write operations without spying on internal functions.
16
- */
17
- onBeforeWrite?: (path: string, data: string | undefined) => void | Promise<void>;
18
- clean?: {
19
- path: string;
20
- };
10
+ };
11
+ type WriteEntryOptions = {
12
+ root: string;
13
+ mode: Mode;
21
14
  };
22
15
  type ExtendOptions$1 = {
23
- write(options?: WriteOptions): Promise<void>;
16
+ writeEntry(options: WriteEntryOptions): Promise<void>;
24
17
  };
25
18
  declare module '@kubb/fabric-core' {
26
19
  interface Fabric {
27
- write(options?: WriteOptions): Promise<void>;
20
+ writeEntry(options: WriteEntryOptions): Promise<void>;
28
21
  }
29
22
  }
30
23
  declare global {
31
24
  namespace Kubb {
32
25
  interface Fabric {
33
- write(options?: WriteOptions): Promise<void>;
26
+ writeEntry(options: WriteEntryOptions): Promise<void>;
34
27
  }
35
28
  }
36
29
  }
37
- declare const fsPlugin: Plugin<Options$2, ExtendOptions$1>;
30
+ declare const barrelPlugin: Plugin<Options$2, ExtendOptions$1>;
38
31
  //#endregion
39
- //#region ../fabric-core/src/plugins/barrelPlugin.d.ts
40
- type Mode = 'all' | 'named' | 'propagate' | false;
32
+ //#region ../fabric-core/src/plugins/createPlugin.d.ts
33
+ declare function createPlugin<Options$3 = unknown, TAppExtension extends Record<string, any> = {}>(plugin: UserPlugin<Options$3, TAppExtension>): Plugin<Options$3, TAppExtension>;
34
+ //#endregion
35
+ //#region ../fabric-core/src/plugins/fsPlugin.d.ts
36
+ type WriteOptions = {
37
+ extension?: Record<Extname, Extname | ''>;
38
+ };
41
39
  type Options$1 = {
42
- root: string;
43
- mode: Mode;
44
40
  dryRun?: boolean;
45
- };
46
- type WriteEntryOptions = {
47
- root: string;
48
- mode: Mode;
41
+ /**
42
+ * Optional callback that is invoked whenever a file is written by the plugin.
43
+ * Useful for tests to observe write operations without spying on internal functions.
44
+ */
45
+ onBeforeWrite?: (path: string, data: string | undefined) => void | Promise<void>;
46
+ clean?: {
47
+ path: string;
48
+ };
49
49
  };
50
50
  type ExtendOptions = {
51
- writeEntry(options: WriteEntryOptions): Promise<void>;
51
+ write(options?: WriteOptions): Promise<void>;
52
52
  };
53
53
  declare module '@kubb/fabric-core' {
54
54
  interface Fabric {
55
- writeEntry(options: WriteEntryOptions): Promise<void>;
55
+ write(options?: WriteOptions): Promise<void>;
56
56
  }
57
57
  }
58
58
  declare global {
59
59
  namespace Kubb {
60
60
  interface Fabric {
61
- writeEntry(options: WriteEntryOptions): Promise<void>;
61
+ write(options?: WriteOptions): Promise<void>;
62
62
  }
63
63
  }
64
64
  }
65
- declare const barrelPlugin: Plugin<Options$1, ExtendOptions>;
66
- //#endregion
67
- //#region ../fabric-core/src/plugins/progressPlugin.d.ts
68
- declare const progressPlugin: Plugin<[], {}>;
65
+ declare const fsPlugin: Plugin<Options$1, ExtendOptions>;
69
66
  //#endregion
70
67
  //#region ../fabric-core/src/plugins/graphPlugin.d.ts
71
68
  type Options = {
@@ -77,5 +74,8 @@ type Options = {
77
74
  };
78
75
  declare const graphPlugin: Plugin<Options, {}>;
79
76
  //#endregion
77
+ //#region ../fabric-core/src/plugins/progressPlugin.d.ts
78
+ declare const progressPlugin: Plugin<[], {}>;
79
+ //#endregion
80
80
  export { barrelPlugin, createPlugin, fsPlugin, graphPlugin, progressPlugin, reactPlugin };
81
81
  //# sourceMappingURL=plugins.d.cts.map
package/dist/plugins.d.ts CHANGED
@@ -1,71 +1,68 @@
1
- import { d as UserPlugin, m as Extname, u as Plugin } from "./Fabric-mFmfnVJp.js";
2
- import { n as reactPlugin } from "./reactPlugin-DJqKlTY6.js";
1
+ import { m as Extname, o as Plugin, s as UserPlugin } from "./Fabric-t9Xqe4Bx.js";
2
+ import { n as reactPlugin } from "./reactPlugin-DmnHX7Uj.js";
3
3
 
4
- //#region ../fabric-core/src/plugins/createPlugin.d.ts
5
- declare function createPlugin<Options$3 = unknown, TAppExtension extends Record<string, any> = {}>(plugin: UserPlugin<Options$3, TAppExtension>): Plugin<Options$3, TAppExtension>;
6
- //#endregion
7
- //#region ../fabric-core/src/plugins/fsPlugin.d.ts
8
- type WriteOptions = {
9
- extension?: Record<Extname, Extname | ''>;
10
- };
4
+ //#region ../fabric-core/src/plugins/barrelPlugin.d.ts
5
+ type Mode = 'all' | 'named' | 'propagate' | false;
11
6
  type Options$2 = {
7
+ root: string;
8
+ mode: Mode;
12
9
  dryRun?: boolean;
13
- /**
14
- * Optional callback that is invoked whenever a file is written by the plugin.
15
- * Useful for tests to observe write operations without spying on internal functions.
16
- */
17
- onBeforeWrite?: (path: string, data: string | undefined) => void | Promise<void>;
18
- clean?: {
19
- path: string;
20
- };
10
+ };
11
+ type WriteEntryOptions = {
12
+ root: string;
13
+ mode: Mode;
21
14
  };
22
15
  type ExtendOptions$1 = {
23
- write(options?: WriteOptions): Promise<void>;
16
+ writeEntry(options: WriteEntryOptions): Promise<void>;
24
17
  };
25
18
  declare module '@kubb/fabric-core' {
26
19
  interface Fabric {
27
- write(options?: WriteOptions): Promise<void>;
20
+ writeEntry(options: WriteEntryOptions): Promise<void>;
28
21
  }
29
22
  }
30
23
  declare global {
31
24
  namespace Kubb {
32
25
  interface Fabric {
33
- write(options?: WriteOptions): Promise<void>;
26
+ writeEntry(options: WriteEntryOptions): Promise<void>;
34
27
  }
35
28
  }
36
29
  }
37
- declare const fsPlugin: Plugin<Options$2, ExtendOptions$1>;
30
+ declare const barrelPlugin: Plugin<Options$2, ExtendOptions$1>;
38
31
  //#endregion
39
- //#region ../fabric-core/src/plugins/barrelPlugin.d.ts
40
- type Mode = 'all' | 'named' | 'propagate' | false;
32
+ //#region ../fabric-core/src/plugins/createPlugin.d.ts
33
+ declare function createPlugin<Options$3 = unknown, TAppExtension extends Record<string, any> = {}>(plugin: UserPlugin<Options$3, TAppExtension>): Plugin<Options$3, TAppExtension>;
34
+ //#endregion
35
+ //#region ../fabric-core/src/plugins/fsPlugin.d.ts
36
+ type WriteOptions = {
37
+ extension?: Record<Extname, Extname | ''>;
38
+ };
41
39
  type Options$1 = {
42
- root: string;
43
- mode: Mode;
44
40
  dryRun?: boolean;
45
- };
46
- type WriteEntryOptions = {
47
- root: string;
48
- mode: Mode;
41
+ /**
42
+ * Optional callback that is invoked whenever a file is written by the plugin.
43
+ * Useful for tests to observe write operations without spying on internal functions.
44
+ */
45
+ onBeforeWrite?: (path: string, data: string | undefined) => void | Promise<void>;
46
+ clean?: {
47
+ path: string;
48
+ };
49
49
  };
50
50
  type ExtendOptions = {
51
- writeEntry(options: WriteEntryOptions): Promise<void>;
51
+ write(options?: WriteOptions): Promise<void>;
52
52
  };
53
53
  declare module '@kubb/fabric-core' {
54
54
  interface Fabric {
55
- writeEntry(options: WriteEntryOptions): Promise<void>;
55
+ write(options?: WriteOptions): Promise<void>;
56
56
  }
57
57
  }
58
58
  declare global {
59
59
  namespace Kubb {
60
60
  interface Fabric {
61
- writeEntry(options: WriteEntryOptions): Promise<void>;
61
+ write(options?: WriteOptions): Promise<void>;
62
62
  }
63
63
  }
64
64
  }
65
- declare const barrelPlugin: Plugin<Options$1, ExtendOptions>;
66
- //#endregion
67
- //#region ../fabric-core/src/plugins/progressPlugin.d.ts
68
- declare const progressPlugin: Plugin<[], {}>;
65
+ declare const fsPlugin: Plugin<Options$1, ExtendOptions>;
69
66
  //#endregion
70
67
  //#region ../fabric-core/src/plugins/graphPlugin.d.ts
71
68
  type Options = {
@@ -77,5 +74,8 @@ type Options = {
77
74
  };
78
75
  declare const graphPlugin: Plugin<Options, {}>;
79
76
  //#endregion
77
+ //#region ../fabric-core/src/plugins/progressPlugin.d.ts
78
+ declare const progressPlugin: Plugin<[], {}>;
79
+ //#endregion
80
80
  export { barrelPlugin, createPlugin, fsPlugin, graphPlugin, progressPlugin, reactPlugin };
81
81
  //# sourceMappingURL=plugins.d.ts.map
package/dist/plugins.js CHANGED
@@ -1,5 +1,5 @@
1
- import { t as reactPlugin } from "./plugins-CftsHDZ2.js";
2
- import "./jsx-runtime-CVfJARUD.js";
1
+ import { t as reactPlugin } from "./reactPlugin-BmBx9cO3.js";
2
+ import "./jsx-runtime-Dm0btT2y.js";
3
3
 
4
4
  export * from "@kubb/fabric-core/plugins"
5
5
 
@@ -1,9 +1,9 @@
1
- import { n as jsx } from "./jsx-runtime-CVfJARUD.js";
1
+ import { n as jsx } from "./jsx-runtime-Dm0btT2y.js";
2
2
  import { Component, createContext, createElement } from "react";
3
+ import { onExit } from "signal-exit";
3
4
  import { createPlugin } from "@kubb/fabric-core/plugins";
4
5
  import process from "node:process";
5
6
  import { ConcurrentRoot, DefaultEventPriority, NoEventPriority } from "react-reconciler/constants.js";
6
- import { onExit } from "signal-exit";
7
7
  import Reconciler from "react-reconciler";
8
8
  import { createExport, createImport, print } from "@kubb/fabric-core/parsers/typescript";
9
9
 
@@ -266,6 +266,34 @@ const Renderer = Reconciler({
266
266
  }
267
267
  });
268
268
 
269
+ //#endregion
270
+ //#region src/utils/squashExportNodes.ts
271
+ function squashExportNodes(node) {
272
+ let exports = /* @__PURE__ */ new Set();
273
+ node.childNodes.filter(Boolean).forEach((childNode) => {
274
+ if (childNode.nodeName !== "#text" && nodeNames.includes(childNode.nodeName)) exports = new Set([...exports, ...squashExportNodes(childNode)]);
275
+ if (childNode.nodeName === "kubb-export") {
276
+ const attributes = childNode.attributes;
277
+ exports.add(attributes);
278
+ }
279
+ });
280
+ return exports;
281
+ }
282
+
283
+ //#endregion
284
+ //#region src/utils/squashImportNodes.ts
285
+ function squashImportNodes(node) {
286
+ let imports = /* @__PURE__ */ new Set();
287
+ node.childNodes.filter(Boolean).forEach((childNode) => {
288
+ if (childNode.nodeName !== "#text" && nodeNames.includes(childNode.nodeName)) imports = new Set([...imports, ...squashImportNodes(childNode)]);
289
+ if (childNode.nodeName === "kubb-import") {
290
+ const attributes = childNode.attributes;
291
+ imports.add(attributes);
292
+ }
293
+ });
294
+ return imports;
295
+ }
296
+
269
297
  //#endregion
270
298
  //#region src/utils/squashTextNodes.ts
271
299
  function squashTextNodes(node) {
@@ -317,34 +345,6 @@ function squashTextNodes(node) {
317
345
  return text;
318
346
  }
319
347
 
320
- //#endregion
321
- //#region src/utils/squashExportNodes.ts
322
- function squashExportNodes(node) {
323
- let exports = /* @__PURE__ */ new Set();
324
- node.childNodes.filter(Boolean).forEach((childNode) => {
325
- if (childNode.nodeName !== "#text" && nodeNames.includes(childNode.nodeName)) exports = new Set([...exports, ...squashExportNodes(childNode)]);
326
- if (childNode.nodeName === "kubb-export") {
327
- const attributes = childNode.attributes;
328
- exports.add(attributes);
329
- }
330
- });
331
- return exports;
332
- }
333
-
334
- //#endregion
335
- //#region src/utils/squashImportNodes.ts
336
- function squashImportNodes(node) {
337
- let imports = /* @__PURE__ */ new Set();
338
- node.childNodes.filter(Boolean).forEach((childNode) => {
339
- if (childNode.nodeName !== "#text" && nodeNames.includes(childNode.nodeName)) imports = new Set([...imports, ...squashImportNodes(childNode)]);
340
- if (childNode.nodeName === "kubb-import") {
341
- const attributes = childNode.attributes;
342
- imports.add(attributes);
343
- }
344
- });
345
- return imports;
346
- }
347
-
348
348
  //#endregion
349
349
  //#region src/utils/squashSourceNodes.ts
350
350
  function squashSourceNodes(node, ignores) {
@@ -563,23 +563,23 @@ async function _getOutput(node) {
563
563
  const reactPlugin = createPlugin({
564
564
  name: "react",
565
565
  install() {},
566
- inject(app, options = {}) {
566
+ inject(ctx, options = {}) {
567
567
  const runtime = new Runtime({
568
- fileManager: app.context.fileManager,
568
+ fileManager: ctx.fileManager,
569
569
  ...options
570
570
  });
571
571
  return {
572
572
  async render(App) {
573
573
  runtime.render(createElement(App));
574
- await app.context.events.emit("start");
574
+ await ctx.emit("start");
575
575
  },
576
576
  async renderToString(App) {
577
- await app.context.events.emit("start");
577
+ await ctx.emit("start");
578
578
  return runtime.renderToString(createElement(App));
579
579
  },
580
580
  async waitUntilExit() {
581
581
  await runtime.waitUntilExit();
582
- await app.context.events.emit("end");
582
+ await ctx.emit("end");
583
583
  }
584
584
  };
585
585
  }
@@ -587,4 +587,4 @@ const reactPlugin = createPlugin({
587
587
 
588
588
  //#endregion
589
589
  export { _classPrivateFieldInitSpec as a, _classPrivateFieldGet2 as i, Runtime as n, Root as o, _classPrivateFieldSet2 as r, RootContext as s, reactPlugin as t };
590
- //# sourceMappingURL=plugins-CftsHDZ2.js.map
590
+ //# sourceMappingURL=reactPlugin-BmBx9cO3.js.map