@kubb/react-fabric 0.2.3 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{Fabric-PGwn47Lb.d.cts → Fabric-BF1akKIl.d.cts} +2 -2
- package/dist/{Fabric-CoGYXq1o.d.ts → Fabric-E6DCwBtT.d.ts} +2 -2
- package/dist/{KubbFile-bFdmEsQz.d.ts → KubbFile-D4gyyfL-.d.ts} +1 -1
- package/dist/{KubbFile-DHCtBOpy.d.cts → KubbFile-FGXV713i.d.cts} +1 -1
- package/dist/{chunk-9mlisOrp.js → chunk-BEV-X5tz.js} +4 -5
- package/dist/{chunk-BaqVhFee.cjs → chunk-CUT6urMc.cjs} +0 -16
- package/dist/{devtools-D7cmED8s.js → devtools-Cb1pMQYm.js} +2 -3
- package/dist/{devtools-D7cmED8s.js.map → devtools-Cb1pMQYm.js.map} +1 -1
- package/dist/{devtools-CYVZyenT.cjs → devtools-D4p2T_2t.cjs} +3 -3
- package/dist/{devtools-CYVZyenT.cjs.map → devtools-D4p2T_2t.cjs.map} +1 -1
- package/dist/devtools.cjs +1 -1
- package/dist/devtools.js +1 -1
- package/dist/globals-Bww8BuMp.d.cts +26 -0
- package/dist/globals-C3pUb0jQ.d.ts +26 -0
- package/dist/globals.d.cts +3 -3
- package/dist/globals.d.ts +3 -3
- package/dist/index.cjs +107 -77
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +9 -19
- package/dist/index.d.ts +9 -19
- package/dist/index.js +56 -69
- package/dist/index.js.map +1 -1
- package/dist/jsx-dev-runtime.cjs +15 -7
- package/dist/jsx-dev-runtime.d.cts +11 -0
- package/dist/jsx-dev-runtime.d.ts +11 -0
- package/dist/jsx-dev-runtime.js +2 -4
- package/dist/jsx-namespace-CCcLTqTR.d.cts +28 -0
- package/dist/jsx-namespace-DoTKeja2.d.ts +28 -0
- package/dist/jsx-runtime.cjs +21 -7
- package/dist/jsx-runtime.d.cts +7 -10
- package/dist/jsx-runtime.d.ts +7 -10
- package/dist/jsx-runtime.js +2 -4
- package/dist/parsers.d.cts +2 -2
- package/dist/parsers.d.ts +2 -2
- package/dist/plugins-9oisj5ko.cjs +640 -0
- package/dist/plugins-9oisj5ko.cjs.map +1 -0
- package/dist/plugins-DYBs1Uhp.js +590 -0
- package/dist/plugins-DYBs1Uhp.js.map +1 -0
- package/dist/plugins.cjs +1 -2
- package/dist/plugins.d.cts +3 -3
- package/dist/plugins.d.ts +3 -3
- package/dist/plugins.js +1 -2
- package/dist/{reactPlugin-CCty1XGl.d.ts → reactPlugin-B3xiMbv8.d.ts} +2 -2
- package/dist/{reactPlugin-SuzV8fwK.d.cts → reactPlugin-DpMLHD7t.d.cts} +2 -2
- package/dist/{types-BnXxcIyv.d.ts → types-B2EZG5-G.d.cts} +22 -3
- package/dist/{types-DoYRYV1C.d.cts → types-UALIyxCE.d.ts} +22 -3
- package/dist/types.d.cts +3 -2
- package/dist/types.d.ts +3 -2
- package/package.json +7 -4
- package/src/globals.ts +19 -43
- package/src/index.ts +1 -10
- package/src/jsx-dev-runtime.ts +8 -0
- package/src/jsx-namespace.d.ts +29 -0
- package/src/jsx-runtime.ts +6 -6
- package/src/types.ts +26 -1
- package/dist/backend-BwCrJwGY.cjs +0 -11364
- package/dist/backend-BwCrJwGY.cjs.map +0 -1
- package/dist/backend-U2f8IEJ7.js +0 -11361
- package/dist/backend-U2f8IEJ7.js.map +0 -1
- package/dist/globals-1MFa0Fvg.d.ts +0 -52
- package/dist/globals-C7dPa-nz.d.cts +0 -52
- package/dist/jsx-runtime-8_h1Kd4b.cjs +0 -36
- package/dist/jsx-runtime-8_h1Kd4b.cjs.map +0 -1
- package/dist/jsx-runtime-BJX2mL7C.js +0 -13
- package/dist/jsx-runtime-BJX2mL7C.js.map +0 -1
- package/dist/jsx-runtime-C9xQ4GQD.js +0 -1338
- package/dist/jsx-runtime-C9xQ4GQD.js.map +0 -1
- package/dist/jsx-runtime-CSnwG7o6.cjs +0 -1349
- package/dist/jsx-runtime-CSnwG7o6.cjs.map +0 -1
- package/dist/plugins-BQE1GnQ7.cjs +0 -15554
- package/dist/plugins-BQE1GnQ7.cjs.map +0 -1
- package/dist/plugins-BVFjgEC2.js +0 -15509
- package/dist/plugins-BVFjgEC2.js.map +0 -1
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","names":["RootContext","result: React.ReactNode[]","Root","reactPlugin","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","../src/index.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 { FabricMode } from '@kubb/fabric-core/types'\nimport { open } from './devtools.ts'\n\nexport function createReactFabric(options?: Options & { mode?: FabricMode; devtools?: boolean }) {\n const fabric = createFabric({ mode: options?.mode })\n\n if (options?.devtools) {\n open()\n }\n\n fabric.use(reactPlugin, 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","import './globals.ts'\n\nimport * as React from 'react'\n\n// components\nexport { App } from './components/App.tsx'\nexport { Const } from './components/Const.tsx'\nexport { File } from './components/File.tsx'\nexport { Function } from './components/Function.tsx'\nexport { Indent } from './components/Indent.tsx'\nexport { Type } from './components/Type.tsx'\n\nexport { useApp } from './composables/useApp.ts'\nexport { useFile } from './composables/useFile.ts'\nexport { useLifecycle } from './composables/useLifecycle.tsx'\n\n// expose fabric core helpers\nexport * from '@kubb/fabric-core'\nexport { createReactFabric } from './createReactFabric.ts'\n\n// utils\nexport { createFunctionParams, FunctionParams } from './utils/getFunctionParams.ts'\nexport { Runtime } from './Runtime.tsx'\n\n// react helpers\nexport const createContext = React.createContext\nexport const createElement = React.createElement\nexport const useContext = React.useContext\nexport const useEffect = React.useEffect\nexport const useState = React.useState\nexport const useRef = React.useRef\nexport const use = React.use\nexport const useReducer = React.useReducer\n"],"x_google_ignoreList":[4],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["RootContext","React","result: React.ReactNode[]","Root","reactPlugin","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 { FabricMode } from '@kubb/fabric-core/types'\nimport { open } from './devtools.ts'\n\nexport function createReactFabric(options?: Options & { mode?: FabricMode; devtools?: boolean }) {\n const fabric = createFabric({ mode: options?.mode })\n\n if (options?.devtools) {\n open()\n }\n\n fabric.use(reactPlugin, 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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"}
|
package/dist/index.d.cts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { a as Import, c as Source, i as File$1, n as Export, o as Path, s as ResolvedFile, t as BaseName } from "./KubbFile-
|
|
2
|
-
import { a as FileProcessor, i as FileManager, n as FabricMode, r as FabricOptions, t as Fabric } from "./Fabric-
|
|
3
|
-
import { a as JSDoc,
|
|
4
|
-
import "./globals-
|
|
5
|
-
import { t as Options$1 } from "./reactPlugin-
|
|
6
|
-
import * as
|
|
7
|
-
import React, { ReactNode } from "react";
|
|
1
|
+
import { a as Import, c as Source, i as File$1, n as Export, o as Path, s as ResolvedFile, t as BaseName } from "./KubbFile-FGXV713i.cjs";
|
|
2
|
+
import { a as FileProcessor, i as FileManager, n as FabricMode, r as FabricOptions, t as Fabric } from "./Fabric-BF1akKIl.cjs";
|
|
3
|
+
import { a as JSDoc, d as KubbNode, g as FunctionParams, o as Key, y as createFunctionParams } from "./types-B2EZG5-G.cjs";
|
|
4
|
+
import "./globals-Bww8BuMp.cjs";
|
|
5
|
+
import { t as Options$1 } from "./reactPlugin-DpMLHD7t.cjs";
|
|
6
|
+
import * as react0 from "react";
|
|
7
|
+
import React, { ReactNode, createContext, createElement, use, useContext, useEffect, useReducer, useRef, useState } from "react";
|
|
8
8
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
9
9
|
|
|
10
10
|
//#region ../fabric-core/src/createFabric.d.ts
|
|
@@ -38,7 +38,7 @@ declare function App<TMeta = unknown>({
|
|
|
38
38
|
children
|
|
39
39
|
}: Props$4<TMeta>): react_jsx_runtime0.JSX.Element;
|
|
40
40
|
declare namespace App {
|
|
41
|
-
var Context:
|
|
41
|
+
var Context: react0.Context<AppContextProps<unknown> | undefined>;
|
|
42
42
|
var displayName: string;
|
|
43
43
|
}
|
|
44
44
|
//#endregion
|
|
@@ -129,7 +129,7 @@ declare namespace File {
|
|
|
129
129
|
var Export: typeof FileExport;
|
|
130
130
|
var Import: typeof FileImport;
|
|
131
131
|
var Source: typeof FileSource;
|
|
132
|
-
var Context:
|
|
132
|
+
var Context: react0.Context<FileContextProps<object>>;
|
|
133
133
|
}
|
|
134
134
|
type FileSourceProps = Omit<Source, 'value'> & {
|
|
135
135
|
key?: Key;
|
|
@@ -341,15 +341,5 @@ declare class Runtime {
|
|
|
341
341
|
waitUntilExit(): Promise<void>;
|
|
342
342
|
}
|
|
343
343
|
//#endregion
|
|
344
|
-
//#region src/index.d.ts
|
|
345
|
-
declare const createContext: typeof react1.createContext;
|
|
346
|
-
declare const createElement: typeof react1.createElement;
|
|
347
|
-
declare const useContext: typeof react1.useContext;
|
|
348
|
-
declare const useEffect: typeof react1.useEffect;
|
|
349
|
-
declare const useState: typeof react1.useState;
|
|
350
|
-
declare const useRef: typeof react1.useRef;
|
|
351
|
-
declare const use: typeof react1.use;
|
|
352
|
-
declare const useReducer: typeof react1.useReducer;
|
|
353
|
-
//#endregion
|
|
354
344
|
export { App, Const, Fabric, File, FileManager, FileProcessor, Function, FunctionParams, Indent, Runtime, Type, createContext, createElement, createFabric, createFile, createFunctionParams, createReactFabric, defineFabric, use, useApp, useContext, useEffect, useFile, useLifecycle, useReducer, useRef, useState };
|
|
355
345
|
//# sourceMappingURL=index.d.cts.map
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { a as Import, c as Source, i as File$1, n as Export, o as Path, s as ResolvedFile, t as BaseName } from "./KubbFile-
|
|
2
|
-
import { a as FileProcessor, i as FileManager, n as FabricMode, r as FabricOptions, t as Fabric } from "./Fabric-
|
|
3
|
-
import { a as JSDoc,
|
|
4
|
-
import "./globals-
|
|
5
|
-
import { t as Options$1 } from "./reactPlugin-
|
|
6
|
-
import * as
|
|
7
|
-
import React, { ReactNode } from "react";
|
|
1
|
+
import { a as Import, c as Source, i as File$1, n as Export, o as Path, s as ResolvedFile, t as BaseName } from "./KubbFile-D4gyyfL-.js";
|
|
2
|
+
import { a as FileProcessor, i as FileManager, n as FabricMode, r as FabricOptions, t as Fabric } from "./Fabric-E6DCwBtT.js";
|
|
3
|
+
import { a as JSDoc, d as KubbNode, g as FunctionParams, o as Key, y as createFunctionParams } from "./types-UALIyxCE.js";
|
|
4
|
+
import "./globals-C3pUb0jQ.js";
|
|
5
|
+
import { t as Options$1 } from "./reactPlugin-B3xiMbv8.js";
|
|
6
|
+
import * as react0 from "react";
|
|
7
|
+
import React, { ReactNode, createContext, createElement, use, useContext, useEffect, useReducer, useRef, useState } from "react";
|
|
8
8
|
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
9
9
|
|
|
10
10
|
//#region ../fabric-core/src/createFabric.d.ts
|
|
@@ -38,7 +38,7 @@ declare function App<TMeta = unknown>({
|
|
|
38
38
|
children
|
|
39
39
|
}: Props$4<TMeta>): react_jsx_runtime0.JSX.Element;
|
|
40
40
|
declare namespace App {
|
|
41
|
-
var Context:
|
|
41
|
+
var Context: react0.Context<AppContextProps<unknown> | undefined>;
|
|
42
42
|
var displayName: string;
|
|
43
43
|
}
|
|
44
44
|
//#endregion
|
|
@@ -129,7 +129,7 @@ declare namespace File {
|
|
|
129
129
|
var Export: typeof FileExport;
|
|
130
130
|
var Import: typeof FileImport;
|
|
131
131
|
var Source: typeof FileSource;
|
|
132
|
-
var Context:
|
|
132
|
+
var Context: react0.Context<FileContextProps<object>>;
|
|
133
133
|
}
|
|
134
134
|
type FileSourceProps = Omit<Source, 'value'> & {
|
|
135
135
|
key?: Key;
|
|
@@ -341,15 +341,5 @@ declare class Runtime {
|
|
|
341
341
|
waitUntilExit(): Promise<void>;
|
|
342
342
|
}
|
|
343
343
|
//#endregion
|
|
344
|
-
//#region src/index.d.ts
|
|
345
|
-
declare const createContext: typeof react1.createContext;
|
|
346
|
-
declare const createElement: typeof react1.createElement;
|
|
347
|
-
declare const useContext: typeof react1.useContext;
|
|
348
|
-
declare const useEffect: typeof react1.useEffect;
|
|
349
|
-
declare const useState: typeof react1.useState;
|
|
350
|
-
declare const useRef: typeof react1.useRef;
|
|
351
|
-
declare const use: typeof react1.use;
|
|
352
|
-
declare const useReducer: typeof react1.useReducer;
|
|
353
|
-
//#endregion
|
|
354
344
|
export { App, Const, Fabric, File, FileManager, FileProcessor, Function, FunctionParams, Indent, Runtime, Type, createContext, createElement, createFabric, createFile, createFunctionParams, createReactFabric, defineFabric, use, useApp, useContext, useEffect, useFile, useLifecycle, useReducer, useRef, useState };
|
|
355
345
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { r as __toESM } from "./chunk-9mlisOrp.js";
|
|
2
1
|
import "./globals-Df5klKjG.js";
|
|
3
|
-
import { n as
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
2
|
+
import { a as _classPrivateFieldInitSpec, i as _classPrivateFieldGet2, n as Runtime, o as Root, r as _classPrivateFieldSet2, s as RootContext, t as reactPlugin } from "./plugins-DYBs1Uhp.js";
|
|
3
|
+
import { t as open } from "./devtools-Cb1pMQYm.js";
|
|
4
|
+
import React, { createContext, createContext as createContext$1, createElement, use, useContext, useContext as useContext$1, useEffect, useReducer, useRef, useState } from "react";
|
|
5
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
import dedent from "dedent";
|
|
7
7
|
import { createFabric } from "@kubb/fabric-core";
|
|
8
8
|
import { orderBy } from "natural-orderby";
|
|
@@ -10,12 +10,10 @@ import { orderBy } from "natural-orderby";
|
|
|
10
10
|
export * from "@kubb/fabric-core"
|
|
11
11
|
|
|
12
12
|
//#region src/components/App.tsx
|
|
13
|
-
|
|
14
|
-
var import_jsx_runtime = /* @__PURE__ */ __toESM(require_jsx_runtime());
|
|
15
|
-
const AppContext = (0, import_react.createContext)(void 0);
|
|
13
|
+
const AppContext = createContext$1(void 0);
|
|
16
14
|
function App({ meta, children }) {
|
|
17
|
-
const { exit } =
|
|
18
|
-
return /* @__PURE__ */
|
|
15
|
+
const { exit } = useContext$1(RootContext);
|
|
16
|
+
return /* @__PURE__ */ jsx(AppContext.Provider, {
|
|
19
17
|
value: {
|
|
20
18
|
exit,
|
|
21
19
|
meta
|
|
@@ -37,32 +35,32 @@ function createJSDoc({ comments }) {
|
|
|
37
35
|
//#endregion
|
|
38
36
|
//#region src/components/Const.tsx
|
|
39
37
|
function Const({ name, export: canExport, type, JSDoc, asConst, children }) {
|
|
40
|
-
return /* @__PURE__ */
|
|
41
|
-
(JSDoc === null || JSDoc === void 0 ? void 0 : JSDoc.comments) && /* @__PURE__ */
|
|
42
|
-
canExport && /* @__PURE__ */
|
|
38
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
39
|
+
(JSDoc === null || JSDoc === void 0 ? void 0 : JSDoc.comments) && /* @__PURE__ */ jsxs(Fragment, { children: [createJSDoc({ comments: JSDoc === null || JSDoc === void 0 ? void 0 : JSDoc.comments }), /* @__PURE__ */ jsx("br", {})] }),
|
|
40
|
+
canExport && /* @__PURE__ */ jsx(Fragment, { children: "export " }),
|
|
43
41
|
"const ",
|
|
44
42
|
name,
|
|
45
43
|
" ",
|
|
46
|
-
type && /* @__PURE__ */
|
|
44
|
+
type && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
47
45
|
":",
|
|
48
46
|
type,
|
|
49
47
|
" "
|
|
50
48
|
] }),
|
|
51
49
|
"= ",
|
|
52
50
|
children,
|
|
53
|
-
asConst && /* @__PURE__ */
|
|
51
|
+
asConst && /* @__PURE__ */ jsx(Fragment, { children: " as const" })
|
|
54
52
|
] });
|
|
55
53
|
}
|
|
56
54
|
Const.displayName = "KubbConst";
|
|
57
55
|
|
|
58
56
|
//#endregion
|
|
59
57
|
//#region src/components/File.tsx
|
|
60
|
-
const FileContext =
|
|
58
|
+
const FileContext = createContext$1({});
|
|
61
59
|
function File({ children,...rest }) {
|
|
62
|
-
if (!rest.baseName || !rest.path) return /* @__PURE__ */
|
|
63
|
-
return /* @__PURE__ */
|
|
60
|
+
if (!rest.baseName || !rest.path) return /* @__PURE__ */ jsx(Fragment, { children });
|
|
61
|
+
return /* @__PURE__ */ jsx("kubb-file", {
|
|
64
62
|
...rest,
|
|
65
|
-
children: /* @__PURE__ */
|
|
63
|
+
children: /* @__PURE__ */ jsx(FileContext.Provider, {
|
|
66
64
|
value: {
|
|
67
65
|
baseName: rest.baseName,
|
|
68
66
|
path: rest.path,
|
|
@@ -74,7 +72,7 @@ function File({ children,...rest }) {
|
|
|
74
72
|
}
|
|
75
73
|
File.displayName = "KubbFile";
|
|
76
74
|
function FileSource({ isTypeOnly, name, isExportable, isIndexable, children }) {
|
|
77
|
-
return /* @__PURE__ */
|
|
75
|
+
return /* @__PURE__ */ jsx("kubb-source", {
|
|
78
76
|
name,
|
|
79
77
|
isTypeOnly,
|
|
80
78
|
isExportable,
|
|
@@ -84,7 +82,7 @@ function FileSource({ isTypeOnly, name, isExportable, isIndexable, children }) {
|
|
|
84
82
|
}
|
|
85
83
|
FileSource.displayName = "KubbFileSource";
|
|
86
84
|
function FileExport({ name, path, isTypeOnly, asAlias }) {
|
|
87
|
-
return /* @__PURE__ */
|
|
85
|
+
return /* @__PURE__ */ jsx("kubb-export", {
|
|
88
86
|
name,
|
|
89
87
|
path,
|
|
90
88
|
isTypeOnly: isTypeOnly || false,
|
|
@@ -93,7 +91,7 @@ function FileExport({ name, path, isTypeOnly, asAlias }) {
|
|
|
93
91
|
}
|
|
94
92
|
FileExport.displayName = "KubbFileExport";
|
|
95
93
|
function FileImport({ name, root, path, isTypeOnly, isNameSpace }) {
|
|
96
|
-
return /* @__PURE__ */
|
|
94
|
+
return /* @__PURE__ */ jsx("kubb-import", {
|
|
97
95
|
name,
|
|
98
96
|
root,
|
|
99
97
|
path,
|
|
@@ -128,12 +126,12 @@ function indentString(string, count = 1, options = {}) {
|
|
|
128
126
|
*/
|
|
129
127
|
function Indent({ size = 2, children }) {
|
|
130
128
|
if (!children) return null;
|
|
131
|
-
const filtered =
|
|
129
|
+
const filtered = React.Children.toArray(children).filter(Boolean);
|
|
132
130
|
const result = [];
|
|
133
131
|
let prevWasBr = false;
|
|
134
132
|
let brCount = 0;
|
|
135
133
|
filtered.forEach((child) => {
|
|
136
|
-
if (
|
|
134
|
+
if (React.isValidElement(child) && child.type === "br") {
|
|
137
135
|
if (!prevWasBr || brCount < 2) {
|
|
138
136
|
result.push(child);
|
|
139
137
|
brCount++;
|
|
@@ -145,23 +143,23 @@ function Indent({ size = 2, children }) {
|
|
|
145
143
|
result.push(child);
|
|
146
144
|
}
|
|
147
145
|
});
|
|
148
|
-
return /* @__PURE__ */
|
|
149
|
-
if (typeof child === "string") return /* @__PURE__ */
|
|
150
|
-
return /* @__PURE__ */
|
|
146
|
+
return /* @__PURE__ */ jsx(Fragment, { children: result.map((child) => {
|
|
147
|
+
if (typeof child === "string") return /* @__PURE__ */ jsx(Fragment, { children: indentString(dedent(child), size) });
|
|
148
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [" ".repeat(size), child] });
|
|
151
149
|
}) });
|
|
152
150
|
}
|
|
153
151
|
|
|
154
152
|
//#endregion
|
|
155
153
|
//#region src/components/Function.tsx
|
|
156
154
|
function Function({ name, default: isDefault, export: canExport, async, generics, params, returnType, JSDoc, children }) {
|
|
157
|
-
return /* @__PURE__ */
|
|
158
|
-
(JSDoc === null || JSDoc === void 0 ? void 0 : JSDoc.comments) && /* @__PURE__ */
|
|
159
|
-
canExport && /* @__PURE__ */
|
|
160
|
-
isDefault && /* @__PURE__ */
|
|
161
|
-
async && /* @__PURE__ */
|
|
155
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
156
|
+
(JSDoc === null || JSDoc === void 0 ? void 0 : JSDoc.comments) && /* @__PURE__ */ jsxs(Fragment, { children: [createJSDoc({ comments: JSDoc === null || JSDoc === void 0 ? void 0 : JSDoc.comments }), /* @__PURE__ */ jsx("br", {})] }),
|
|
157
|
+
canExport && /* @__PURE__ */ jsx(Fragment, { children: "export " }),
|
|
158
|
+
isDefault && /* @__PURE__ */ jsx(Fragment, { children: "default " }),
|
|
159
|
+
async && /* @__PURE__ */ jsx(Fragment, { children: "async " }),
|
|
162
160
|
"function ",
|
|
163
161
|
name,
|
|
164
|
-
generics && /* @__PURE__ */
|
|
162
|
+
generics && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
165
163
|
"<",
|
|
166
164
|
Array.isArray(generics) ? generics.join(", ").trim() : generics,
|
|
167
165
|
">"
|
|
@@ -169,34 +167,34 @@ function Function({ name, default: isDefault, export: canExport, async, generics
|
|
|
169
167
|
"(",
|
|
170
168
|
params,
|
|
171
169
|
")",
|
|
172
|
-
returnType && !async && /* @__PURE__ */
|
|
173
|
-
returnType && async && /* @__PURE__ */
|
|
170
|
+
returnType && !async && /* @__PURE__ */ jsxs(Fragment, { children: [": ", returnType] }),
|
|
171
|
+
returnType && async && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
174
172
|
": Promise",
|
|
175
173
|
"<",
|
|
176
174
|
returnType,
|
|
177
175
|
">"
|
|
178
176
|
] }),
|
|
179
177
|
" {",
|
|
180
|
-
/* @__PURE__ */
|
|
181
|
-
/* @__PURE__ */
|
|
178
|
+
/* @__PURE__ */ jsx("br", {}),
|
|
179
|
+
/* @__PURE__ */ jsx(Indent, {
|
|
182
180
|
size: 2,
|
|
183
181
|
children
|
|
184
182
|
}),
|
|
185
|
-
/* @__PURE__ */
|
|
183
|
+
/* @__PURE__ */ jsx("br", {}),
|
|
186
184
|
"}"
|
|
187
185
|
] });
|
|
188
186
|
}
|
|
189
187
|
Function.displayName = "KubbFunction";
|
|
190
188
|
function ArrowFunction({ name, default: isDefault, export: canExport, async, generics, params, returnType, JSDoc, singleLine, children }) {
|
|
191
|
-
return /* @__PURE__ */
|
|
192
|
-
(JSDoc === null || JSDoc === void 0 ? void 0 : JSDoc.comments) && /* @__PURE__ */
|
|
193
|
-
canExport && /* @__PURE__ */
|
|
194
|
-
isDefault && /* @__PURE__ */
|
|
189
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
190
|
+
(JSDoc === null || JSDoc === void 0 ? void 0 : JSDoc.comments) && /* @__PURE__ */ jsxs(Fragment, { children: [createJSDoc({ comments: JSDoc === null || JSDoc === void 0 ? void 0 : JSDoc.comments }), /* @__PURE__ */ jsx("br", {})] }),
|
|
191
|
+
canExport && /* @__PURE__ */ jsx(Fragment, { children: "export " }),
|
|
192
|
+
isDefault && /* @__PURE__ */ jsx(Fragment, { children: "default " }),
|
|
195
193
|
"const ",
|
|
196
194
|
name,
|
|
197
195
|
" = ",
|
|
198
|
-
async && /* @__PURE__ */
|
|
199
|
-
generics && /* @__PURE__ */
|
|
196
|
+
async && /* @__PURE__ */ jsx(Fragment, { children: "async " }),
|
|
197
|
+
generics && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
200
198
|
"<",
|
|
201
199
|
Array.isArray(generics) ? generics.join(", ").trim() : generics,
|
|
202
200
|
">"
|
|
@@ -204,28 +202,28 @@ function ArrowFunction({ name, default: isDefault, export: canExport, async, gen
|
|
|
204
202
|
"(",
|
|
205
203
|
params,
|
|
206
204
|
")",
|
|
207
|
-
returnType && !async && /* @__PURE__ */
|
|
208
|
-
returnType && async && /* @__PURE__ */
|
|
205
|
+
returnType && !async && /* @__PURE__ */ jsxs(Fragment, { children: [": ", returnType] }),
|
|
206
|
+
returnType && async && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
209
207
|
": Promise",
|
|
210
208
|
"<",
|
|
211
209
|
returnType,
|
|
212
210
|
">"
|
|
213
211
|
] }),
|
|
214
|
-
singleLine && /* @__PURE__ */
|
|
212
|
+
singleLine && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
215
213
|
" => ",
|
|
216
214
|
children,
|
|
217
|
-
/* @__PURE__ */
|
|
215
|
+
/* @__PURE__ */ jsx("br", {})
|
|
218
216
|
] }),
|
|
219
|
-
!singleLine && /* @__PURE__ */
|
|
217
|
+
!singleLine && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
220
218
|
" => {",
|
|
221
|
-
/* @__PURE__ */
|
|
222
|
-
/* @__PURE__ */
|
|
219
|
+
/* @__PURE__ */ jsx("br", {}),
|
|
220
|
+
/* @__PURE__ */ jsx(Indent, {
|
|
223
221
|
size: 2,
|
|
224
222
|
children
|
|
225
223
|
}),
|
|
226
|
-
/* @__PURE__ */
|
|
224
|
+
/* @__PURE__ */ jsx("br", {}),
|
|
227
225
|
"}",
|
|
228
|
-
/* @__PURE__ */
|
|
226
|
+
/* @__PURE__ */ jsx("br", {})
|
|
229
227
|
] })
|
|
230
228
|
] });
|
|
231
229
|
}
|
|
@@ -236,9 +234,9 @@ Function.Arrow = ArrowFunction;
|
|
|
236
234
|
//#region src/components/Type.tsx
|
|
237
235
|
function Type({ name, export: canExport, JSDoc, children }) {
|
|
238
236
|
if (name.charAt(0).toUpperCase() !== name.charAt(0)) throw new Error("Name should start with a capital letter(see TypeScript types)");
|
|
239
|
-
return /* @__PURE__ */
|
|
240
|
-
(JSDoc === null || JSDoc === void 0 ? void 0 : JSDoc.comments) && /* @__PURE__ */
|
|
241
|
-
canExport && /* @__PURE__ */
|
|
237
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
238
|
+
(JSDoc === null || JSDoc === void 0 ? void 0 : JSDoc.comments) && /* @__PURE__ */ jsxs(Fragment, { children: [createJSDoc({ comments: JSDoc === null || JSDoc === void 0 ? void 0 : JSDoc.comments }), /* @__PURE__ */ jsx("br", {})] }),
|
|
239
|
+
canExport && /* @__PURE__ */ jsx(Fragment, { children: "export " }),
|
|
242
240
|
"type ",
|
|
243
241
|
name,
|
|
244
242
|
" = ",
|
|
@@ -253,7 +251,7 @@ Type.displayName = "KubbType";
|
|
|
253
251
|
* `useApp` will return the current App with plugin, pluginManager, fileManager and mode.
|
|
254
252
|
*/
|
|
255
253
|
function useApp() {
|
|
256
|
-
const app =
|
|
254
|
+
const app = useContext$1(App.Context);
|
|
257
255
|
if (!app) throw new Error("<App /> should be set");
|
|
258
256
|
return app;
|
|
259
257
|
}
|
|
@@ -264,7 +262,7 @@ function useApp() {
|
|
|
264
262
|
* `useFile` will return the current file when <File/> is used.
|
|
265
263
|
*/
|
|
266
264
|
function useFile() {
|
|
267
|
-
return
|
|
265
|
+
return useContext$1(File.Context);
|
|
268
266
|
}
|
|
269
267
|
|
|
270
268
|
//#endregion
|
|
@@ -273,7 +271,7 @@ function useFile() {
|
|
|
273
271
|
* `useLifecycle` will return some helpers to exit/restart the generation.
|
|
274
272
|
*/
|
|
275
273
|
function useLifecycle() {
|
|
276
|
-
const { exit } =
|
|
274
|
+
const { exit } = useContext$1(Root.Context);
|
|
277
275
|
return { exit: () => {
|
|
278
276
|
setTimeout(() => {
|
|
279
277
|
exit();
|
|
@@ -404,17 +402,6 @@ var FunctionParams = class FunctionParams {
|
|
|
404
402
|
}
|
|
405
403
|
};
|
|
406
404
|
|
|
407
|
-
//#endregion
|
|
408
|
-
//#region src/index.ts
|
|
409
|
-
const createContext = import_react.createContext;
|
|
410
|
-
const createElement = import_react.createElement;
|
|
411
|
-
const useContext = import_react.useContext;
|
|
412
|
-
const useEffect = import_react.useEffect;
|
|
413
|
-
const useState = import_react.useState;
|
|
414
|
-
const useRef = import_react.useRef;
|
|
415
|
-
const use = import_react.use;
|
|
416
|
-
const useReducer = import_react.useReducer;
|
|
417
|
-
|
|
418
405
|
//#endregion
|
|
419
406
|
export { App, Const, File, Function, FunctionParams, Indent, Runtime, Type, createContext, createElement, createFunctionParams, createReactFabric, use, useApp, useContext, useEffect, useFile, useLifecycle, useReducer, useRef, useState };
|
|
420
407
|
//# sourceMappingURL=index.js.map
|