@kubb/react-fabric 0.2.15 → 0.2.17
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-t9Xqe4Bx.d.ts → Fabric-7g9iQC3E.d.ts} +95 -46
- package/dist/{Fabric-BPUyMklG.d.cts → Fabric-DX0joaWR.d.cts} +95 -46
- package/dist/globals.d.cts +2 -2
- package/dist/globals.d.ts +2 -2
- package/dist/index.cjs +10 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +28 -6
- package/dist/index.d.ts +28 -6
- package/dist/index.js +10 -6
- package/dist/index.js.map +1 -1
- package/dist/jsx-dev-runtime.d.cts +3 -3
- package/dist/jsx-dev-runtime.d.ts +3 -3
- package/dist/{jsx-namespace-YR433DXc.d.cts → jsx-namespace-BrIMxQyM.d.cts} +2 -2
- package/dist/{jsx-namespace-PEMxmJ6z.d.ts → jsx-namespace-ChOBBWsr.d.ts} +2 -2
- package/dist/jsx-runtime.d.cts +3 -3
- package/dist/jsx-runtime.d.ts +3 -3
- package/dist/parsers.d.cts +1 -1
- package/dist/parsers.d.ts +1 -1
- package/dist/plugins.cjs +1 -1
- package/dist/plugins.d.cts +8 -12
- package/dist/plugins.d.ts +8 -12
- package/dist/plugins.js +1 -1
- package/dist/{reactPlugin-BmBx9cO3.js → reactPlugin-BKFEDZfC.js} +53 -39
- package/dist/reactPlugin-BKFEDZfC.js.map +1 -0
- package/dist/{reactPlugin-DmnHX7Uj.d.ts → reactPlugin-CNdpw8pN.d.ts} +6 -13
- package/dist/{reactPlugin-Dj5m_pqf.cjs → reactPlugin-CiFqRD0J.cjs} +53 -39
- package/dist/reactPlugin-CiFqRD0J.cjs.map +1 -0
- package/dist/{reactPlugin-DlGI8_Sh.d.cts → reactPlugin-DvAUyVTQ.d.cts} +6 -13
- package/dist/{types-wwcxhf6Y.d.ts → types-CGgYj2pZ.d.ts} +3 -8
- package/dist/{types-CsFxfaSV.d.cts → types-Xd33VuKS.d.cts} +3 -8
- package/dist/types.d.cts +3 -3
- package/dist/types.d.ts +3 -3
- package/package.json +2 -2
- package/src/Runtime.tsx +37 -21
- package/src/createReactFabric.ts +9 -4
- package/src/plugins/reactPlugin.ts +5 -15
- package/src/utils/processFiles.ts +30 -27
- package/dist/reactPlugin-BmBx9cO3.js.map +0 -1
- package/dist/reactPlugin-Dj5m_pqf.cjs.map +0 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,11 +1,33 @@
|
|
|
1
|
-
import { a as FabricOptions, b as Source, c as FileManager, f as BaseName, g as Import, h as File$1, i as FabricMode, l as FileProcessor, n as FabricConfig, p as Export, t as Fabric, v as Path, y as ResolvedFile } from "./Fabric-
|
|
2
|
-
import { a as JSDoc,
|
|
3
|
-
import { t as Options$1 } from "./reactPlugin-
|
|
1
|
+
import { a as FabricOptions, b as Source, c as FileManager, f as BaseName, g as Import, h as File$1, i as FabricMode, l as FileProcessor, n as FabricConfig, p as Export, t as Fabric, v as Path, y as ResolvedFile } from "./Fabric-DX0joaWR.cjs";
|
|
2
|
+
import { a as JSDoc, d as KubbNode, g as FunctionParams, o as Key, y as createFunctionParams } from "./types-Xd33VuKS.cjs";
|
|
3
|
+
import { t as Options$1 } from "./reactPlugin-DvAUyVTQ.cjs";
|
|
4
4
|
import * as react0 from "react";
|
|
5
5
|
import React, { Fragment, ReactNode, createContext, createElement, use, useContext, useEffect, useReducer, useRef, useState } from "react";
|
|
6
6
|
|
|
7
|
+
//#region ../fabric-core/src/defineFabric.d.ts
|
|
8
|
+
/**
|
|
9
|
+
* Function that initializes the root Fabric instance.
|
|
10
|
+
*
|
|
11
|
+
* Used for setting up plugins, parsers, or performing side effects
|
|
12
|
+
* once the Fabric context is ready.
|
|
13
|
+
*/
|
|
14
|
+
type FabricInitializer<T extends FabricOptions> = (fabric: Fabric<T>) => void | Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* A function returned by {@link defineFabric} that creates a Fabric instance.
|
|
17
|
+
*/
|
|
18
|
+
type CreateFabric<T extends FabricOptions> = (config?: FabricConfig<T>) => Fabric<T>;
|
|
19
|
+
/**
|
|
20
|
+
* Defines a new Fabric factory function.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* export const createFabric = defineFabric((fabric) => {
|
|
24
|
+
* fabric.use(myPlugin())
|
|
25
|
+
* })
|
|
26
|
+
*/
|
|
27
|
+
declare function defineFabric<T extends FabricOptions>(init?: FabricInitializer<T>): CreateFabric<T>;
|
|
28
|
+
//#endregion
|
|
7
29
|
//#region ../fabric-core/src/createFabric.d.ts
|
|
8
|
-
declare const createFabric:
|
|
30
|
+
declare const createFabric: CreateFabric<FabricOptions>;
|
|
9
31
|
//#endregion
|
|
10
32
|
//#region ../fabric-core/src/createFile.d.ts
|
|
11
33
|
/**
|
|
@@ -327,10 +349,10 @@ declare class Runtime {
|
|
|
327
349
|
resolveExitPromise: () => void;
|
|
328
350
|
rejectExitPromise: (reason?: Error) => void;
|
|
329
351
|
unsubscribeExit: () => void;
|
|
330
|
-
onRender: () => void
|
|
352
|
+
onRender: () => Promise<void>;
|
|
331
353
|
onError(error: Error): void;
|
|
332
354
|
onExit(error?: Error): void;
|
|
333
|
-
render(node: ReactNode): void
|
|
355
|
+
render(node: ReactNode): Promise<void>;
|
|
334
356
|
renderToString(node: ReactNode): Promise<string>;
|
|
335
357
|
unmount(error?: Error | number | null): void;
|
|
336
358
|
waitUntilExit(): Promise<void>;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,33 @@
|
|
|
1
|
-
import { a as FabricOptions, b as Source, c as FileManager, f as BaseName, g as Import, h as File$1, i as FabricMode, l as FileProcessor, n as FabricConfig, p as Export, t as Fabric, v as Path, y as ResolvedFile } from "./Fabric-
|
|
2
|
-
import { a as JSDoc,
|
|
3
|
-
import { t as Options$1 } from "./reactPlugin-
|
|
1
|
+
import { a as FabricOptions, b as Source, c as FileManager, f as BaseName, g as Import, h as File$1, i as FabricMode, l as FileProcessor, n as FabricConfig, p as Export, t as Fabric, v as Path, y as ResolvedFile } from "./Fabric-7g9iQC3E.js";
|
|
2
|
+
import { a as JSDoc, d as KubbNode, g as FunctionParams, o as Key, y as createFunctionParams } from "./types-CGgYj2pZ.js";
|
|
3
|
+
import { t as Options$1 } from "./reactPlugin-CNdpw8pN.js";
|
|
4
4
|
import * as react0 from "react";
|
|
5
5
|
import React, { Fragment, ReactNode, createContext, createElement, use, useContext, useEffect, useReducer, useRef, useState } from "react";
|
|
6
6
|
|
|
7
|
+
//#region ../fabric-core/src/defineFabric.d.ts
|
|
8
|
+
/**
|
|
9
|
+
* Function that initializes the root Fabric instance.
|
|
10
|
+
*
|
|
11
|
+
* Used for setting up plugins, parsers, or performing side effects
|
|
12
|
+
* once the Fabric context is ready.
|
|
13
|
+
*/
|
|
14
|
+
type FabricInitializer<T extends FabricOptions> = (fabric: Fabric<T>) => void | Promise<void>;
|
|
15
|
+
/**
|
|
16
|
+
* A function returned by {@link defineFabric} that creates a Fabric instance.
|
|
17
|
+
*/
|
|
18
|
+
type CreateFabric<T extends FabricOptions> = (config?: FabricConfig<T>) => Fabric<T>;
|
|
19
|
+
/**
|
|
20
|
+
* Defines a new Fabric factory function.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* export const createFabric = defineFabric((fabric) => {
|
|
24
|
+
* fabric.use(myPlugin())
|
|
25
|
+
* })
|
|
26
|
+
*/
|
|
27
|
+
declare function defineFabric<T extends FabricOptions>(init?: FabricInitializer<T>): CreateFabric<T>;
|
|
28
|
+
//#endregion
|
|
7
29
|
//#region ../fabric-core/src/createFabric.d.ts
|
|
8
|
-
declare const createFabric:
|
|
30
|
+
declare const createFabric: CreateFabric<FabricOptions>;
|
|
9
31
|
//#endregion
|
|
10
32
|
//#region ../fabric-core/src/createFile.d.ts
|
|
11
33
|
/**
|
|
@@ -327,10 +349,10 @@ declare class Runtime {
|
|
|
327
349
|
resolveExitPromise: () => void;
|
|
328
350
|
rejectExitPromise: (reason?: Error) => void;
|
|
329
351
|
unsubscribeExit: () => void;
|
|
330
|
-
onRender: () => void
|
|
352
|
+
onRender: () => Promise<void>;
|
|
331
353
|
onError(error: Error): void;
|
|
332
354
|
onExit(error?: Error): void;
|
|
333
|
-
render(node: ReactNode): void
|
|
355
|
+
render(node: ReactNode): Promise<void>;
|
|
334
356
|
renderToString(node: ReactNode): Promise<string>;
|
|
335
357
|
unmount(error?: Error | number | null): void;
|
|
336
358
|
waitUntilExit(): Promise<void>;
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
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-
|
|
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-BKFEDZfC.js";
|
|
2
2
|
import { i as jsxs, n as jsx, t as Fragment$1 } from "./jsx-runtime-Dm0btT2y.js";
|
|
3
3
|
import { t as open } from "./devtools-wdFpV122.js";
|
|
4
4
|
import { createFabric } from "@kubb/fabric-core";
|
|
@@ -280,11 +280,15 @@ function useLifecycle() {
|
|
|
280
280
|
|
|
281
281
|
//#endregion
|
|
282
282
|
//#region src/createReactFabric.ts
|
|
283
|
-
function createReactFabric(config) {
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
283
|
+
function createReactFabric(config = {}) {
|
|
284
|
+
const fabric = createFabric({ mode: config.mode });
|
|
285
|
+
if (config.devtools) open();
|
|
286
|
+
fabric.use(reactPlugin, {
|
|
287
|
+
stdout: config.stdout,
|
|
288
|
+
stderr: config.stderr,
|
|
289
|
+
debug: config.debug,
|
|
290
|
+
stdin: config.stdin
|
|
291
|
+
});
|
|
288
292
|
return fabric;
|
|
289
293
|
}
|
|
290
294
|
|
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 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
|
+
{"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({ mode: config.mode })\n\n if (config.devtools) {\n open()\n }\n\n fabric.use(reactPlugin, {\n stdout: config.stdout,\n stderr: config.stderr,\n debug: config.debug,\n stdin: config.stdin,\n })\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-
|
|
2
|
-
import { d as KubbNode, s as KubbElement } from "./types-
|
|
3
|
-
import { t as JSX } from "./jsx-namespace-
|
|
1
|
+
import "./Fabric-DX0joaWR.cjs";
|
|
2
|
+
import { d as KubbNode, s as KubbElement } from "./types-Xd33VuKS.cjs";
|
|
3
|
+
import { t as JSX } from "./jsx-namespace-BrIMxQyM.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-
|
|
2
|
-
import { d as KubbNode, s as KubbElement } from "./types-
|
|
3
|
-
import { t as JSX } from "./jsx-namespace-
|
|
1
|
+
import "./Fabric-7g9iQC3E.js";
|
|
2
|
+
import { d as KubbNode, s as KubbElement } from "./types-CGgYj2pZ.js";
|
|
3
|
+
import { t as JSX } from "./jsx-namespace-ChOBBWsr.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-
|
|
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-Xd33VuKS.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-
|
|
31
|
+
//# sourceMappingURL=jsx-namespace-BrIMxQyM.d.cts.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-
|
|
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-CGgYj2pZ.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-
|
|
31
|
+
//# sourceMappingURL=jsx-namespace-ChOBBWsr.d.ts.map
|
package/dist/jsx-runtime.d.cts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import "./Fabric-
|
|
2
|
-
import { d as KubbNode, s as KubbElement } from "./types-
|
|
3
|
-
import { t as JSX } from "./jsx-namespace-
|
|
1
|
+
import "./Fabric-DX0joaWR.cjs";
|
|
2
|
+
import { d as KubbNode, s as KubbElement } from "./types-Xd33VuKS.cjs";
|
|
3
|
+
import { t as JSX } from "./jsx-namespace-BrIMxQyM.cjs";
|
|
4
4
|
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
5
5
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
|
package/dist/jsx-runtime.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import "./Fabric-
|
|
2
|
-
import { d as KubbNode, s as KubbElement } from "./types-
|
|
3
|
-
import { t as JSX } from "./jsx-namespace-
|
|
1
|
+
import "./Fabric-7g9iQC3E.js";
|
|
2
|
+
import { d as KubbNode, s as KubbElement } from "./types-CGgYj2pZ.js";
|
|
3
|
+
import { t as JSX } from "./jsx-namespace-ChOBBWsr.js";
|
|
4
4
|
import { jsxDEV } from "react/jsx-dev-runtime";
|
|
5
5
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
|
package/dist/parsers.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as UserParser, u as Parser } from "./Fabric-
|
|
1
|
+
import { d as UserParser, u as Parser } from "./Fabric-DX0joaWR.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 { d as UserParser, u as Parser } from "./Fabric-
|
|
1
|
+
import { d as UserParser, u as Parser } from "./Fabric-7g9iQC3E.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
package/dist/plugins.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { m as Extname, o as Plugin, s as UserPlugin } from "./Fabric-
|
|
2
|
-
import { n as reactPlugin } from "./reactPlugin-
|
|
1
|
+
import { m as Extname, o as Plugin, s as UserPlugin } from "./Fabric-DX0joaWR.cjs";
|
|
2
|
+
import { n as reactPlugin } from "./reactPlugin-DvAUyVTQ.cjs";
|
|
3
3
|
|
|
4
4
|
//#region ../fabric-core/src/plugins/barrelPlugin.d.ts
|
|
5
5
|
type Mode = 'all' | 'named' | 'propagate' | false;
|
|
@@ -13,16 +13,17 @@ type WriteEntryOptions = {
|
|
|
13
13
|
mode: Mode;
|
|
14
14
|
};
|
|
15
15
|
type ExtendOptions$1 = {
|
|
16
|
+
/**
|
|
17
|
+
* `fabric.writeEntry` should be called before `fabric.write`
|
|
18
|
+
*/
|
|
16
19
|
writeEntry(options: WriteEntryOptions): Promise<void>;
|
|
17
20
|
};
|
|
18
|
-
declare module '@kubb/fabric-core' {
|
|
19
|
-
interface Fabric {
|
|
20
|
-
writeEntry(options: WriteEntryOptions): Promise<void>;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
21
|
declare global {
|
|
24
22
|
namespace Kubb {
|
|
25
23
|
interface Fabric {
|
|
24
|
+
/**
|
|
25
|
+
* `fabric.writeEntry` should be called before `fabric.write`
|
|
26
|
+
*/
|
|
26
27
|
writeEntry(options: WriteEntryOptions): Promise<void>;
|
|
27
28
|
}
|
|
28
29
|
}
|
|
@@ -50,11 +51,6 @@ type Options$1 = {
|
|
|
50
51
|
type ExtendOptions = {
|
|
51
52
|
write(options?: WriteOptions): Promise<void>;
|
|
52
53
|
};
|
|
53
|
-
declare module '@kubb/fabric-core' {
|
|
54
|
-
interface Fabric {
|
|
55
|
-
write(options?: WriteOptions): Promise<void>;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
54
|
declare global {
|
|
59
55
|
namespace Kubb {
|
|
60
56
|
interface Fabric {
|
package/dist/plugins.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { m as Extname, o as Plugin, s as UserPlugin } from "./Fabric-
|
|
2
|
-
import { n as reactPlugin } from "./reactPlugin-
|
|
1
|
+
import { m as Extname, o as Plugin, s as UserPlugin } from "./Fabric-7g9iQC3E.js";
|
|
2
|
+
import { n as reactPlugin } from "./reactPlugin-CNdpw8pN.js";
|
|
3
3
|
|
|
4
4
|
//#region ../fabric-core/src/plugins/barrelPlugin.d.ts
|
|
5
5
|
type Mode = 'all' | 'named' | 'propagate' | false;
|
|
@@ -13,16 +13,17 @@ type WriteEntryOptions = {
|
|
|
13
13
|
mode: Mode;
|
|
14
14
|
};
|
|
15
15
|
type ExtendOptions$1 = {
|
|
16
|
+
/**
|
|
17
|
+
* `fabric.writeEntry` should be called before `fabric.write`
|
|
18
|
+
*/
|
|
16
19
|
writeEntry(options: WriteEntryOptions): Promise<void>;
|
|
17
20
|
};
|
|
18
|
-
declare module '@kubb/fabric-core' {
|
|
19
|
-
interface Fabric {
|
|
20
|
-
writeEntry(options: WriteEntryOptions): Promise<void>;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
21
|
declare global {
|
|
24
22
|
namespace Kubb {
|
|
25
23
|
interface Fabric {
|
|
24
|
+
/**
|
|
25
|
+
* `fabric.writeEntry` should be called before `fabric.write`
|
|
26
|
+
*/
|
|
26
27
|
writeEntry(options: WriteEntryOptions): Promise<void>;
|
|
27
28
|
}
|
|
28
29
|
}
|
|
@@ -50,11 +51,6 @@ type Options$1 = {
|
|
|
50
51
|
type ExtendOptions = {
|
|
51
52
|
write(options?: WriteOptions): Promise<void>;
|
|
52
53
|
};
|
|
53
|
-
declare module '@kubb/fabric-core' {
|
|
54
|
-
interface Fabric {
|
|
55
|
-
write(options?: WriteOptions): Promise<void>;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
54
|
declare global {
|
|
59
55
|
namespace Kubb {
|
|
60
56
|
interface Fabric {
|
package/dist/plugins.js
CHANGED
|
@@ -368,29 +368,32 @@ function squashSourceNodes(node, ignores) {
|
|
|
368
368
|
|
|
369
369
|
//#endregion
|
|
370
370
|
//#region src/utils/processFiles.ts
|
|
371
|
-
function processFiles(node
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
371
|
+
async function processFiles(node) {
|
|
372
|
+
const collected = [];
|
|
373
|
+
async function walk(current) {
|
|
374
|
+
for (const childNode of current.childNodes) {
|
|
375
|
+
if (!childNode) continue;
|
|
376
|
+
if (childNode.nodeName !== "#text" && childNode.nodeName !== "kubb-file" && nodeNames.includes(childNode.nodeName)) await walk(childNode);
|
|
377
|
+
if (childNode.nodeName === "kubb-file") {
|
|
378
|
+
const attributes = childNode.attributes;
|
|
379
|
+
if (attributes.baseName && attributes.path) {
|
|
380
|
+
const sources = squashSourceNodes(childNode, ["kubb-export", "kubb-import"]);
|
|
381
|
+
collected.push({
|
|
382
|
+
baseName: attributes.baseName,
|
|
383
|
+
path: attributes.path,
|
|
384
|
+
sources: [...sources],
|
|
385
|
+
exports: [...squashExportNodes(childNode)],
|
|
386
|
+
imports: [...squashImportNodes(childNode)],
|
|
387
|
+
meta: attributes.meta || {},
|
|
388
|
+
footer: attributes.footer,
|
|
389
|
+
banner: attributes.banner
|
|
390
|
+
});
|
|
391
|
+
}
|
|
391
392
|
}
|
|
392
393
|
}
|
|
393
394
|
}
|
|
395
|
+
await walk(node);
|
|
396
|
+
return collected;
|
|
394
397
|
}
|
|
395
398
|
|
|
396
399
|
//#endregion
|
|
@@ -436,6 +439,7 @@ var _options = /* @__PURE__ */ new WeakMap();
|
|
|
436
439
|
var _isUnmounted = /* @__PURE__ */ new WeakMap();
|
|
437
440
|
var _container = /* @__PURE__ */ new WeakMap();
|
|
438
441
|
var _rootNode = /* @__PURE__ */ new WeakMap();
|
|
442
|
+
var _renderPromise = /* @__PURE__ */ new WeakMap();
|
|
439
443
|
var _Runtime_brand = /* @__PURE__ */ new WeakSet();
|
|
440
444
|
var Runtime = class {
|
|
441
445
|
constructor(options) {
|
|
@@ -445,25 +449,33 @@ var Runtime = class {
|
|
|
445
449
|
_defineProperty(this, "exitPromise", void 0);
|
|
446
450
|
_classPrivateFieldInitSpec(this, _container, void 0);
|
|
447
451
|
_classPrivateFieldInitSpec(this, _rootNode, void 0);
|
|
452
|
+
_classPrivateFieldInitSpec(this, _renderPromise, Promise.resolve());
|
|
448
453
|
_defineProperty(this, "resolveExitPromise", () => {});
|
|
449
454
|
_defineProperty(this, "rejectExitPromise", () => {});
|
|
450
455
|
_defineProperty(this, "unsubscribeExit", () => {});
|
|
451
|
-
_defineProperty(this, "onRender",
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
_classPrivateFieldGet2(_options, this).stdout.
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
456
|
+
_defineProperty(this, "onRender", () => {
|
|
457
|
+
const task = _classPrivateFieldGet2(_renderPromise, this).catch(() => {}).then(async () => {
|
|
458
|
+
var _classPrivateFieldGet2$1, _classPrivateFieldGet3, _classPrivateFieldGet4, _classPrivateFieldGet5;
|
|
459
|
+
if (_classPrivateFieldGet2(_isUnmounted, this)) return;
|
|
460
|
+
const files = await processFiles(_classPrivateFieldGet2(_rootNode, this));
|
|
461
|
+
await this.fileManager.add(...files);
|
|
462
|
+
if (!((_classPrivateFieldGet2$1 = _classPrivateFieldGet2(_options, this)) === null || _classPrivateFieldGet2$1 === void 0 ? void 0 : _classPrivateFieldGet2$1.debug) && !((_classPrivateFieldGet3 = _classPrivateFieldGet2(_options, this)) === null || _classPrivateFieldGet3 === void 0 ? void 0 : _classPrivateFieldGet3.stdout)) return;
|
|
463
|
+
const output = await _assertClassBrand(_Runtime_brand, this, _getOutput).call(this, _classPrivateFieldGet2(_rootNode, this));
|
|
464
|
+
if ((_classPrivateFieldGet4 = _classPrivateFieldGet2(_options, this)) === null || _classPrivateFieldGet4 === void 0 ? void 0 : _classPrivateFieldGet4.debug) {
|
|
465
|
+
console.log("Rendering: \n");
|
|
466
|
+
console.log(output);
|
|
467
|
+
}
|
|
468
|
+
if (((_classPrivateFieldGet5 = _classPrivateFieldGet2(_options, this)) === null || _classPrivateFieldGet5 === void 0 ? void 0 : _classPrivateFieldGet5.stdout) && process.env.NODE_ENV !== "test") {
|
|
469
|
+
_classPrivateFieldGet2(_options, this).stdout.clearLine(0);
|
|
470
|
+
_classPrivateFieldGet2(_options, this).stdout.cursorTo(0);
|
|
471
|
+
_classPrivateFieldGet2(_options, this).stdout.write(output);
|
|
472
|
+
}
|
|
473
|
+
});
|
|
474
|
+
_classPrivateFieldSet2(_renderPromise, this, task.catch((error) => {
|
|
475
|
+
this.onError(error);
|
|
476
|
+
throw error;
|
|
477
|
+
}));
|
|
478
|
+
return _classPrivateFieldGet2(_renderPromise, this);
|
|
467
479
|
});
|
|
468
480
|
_classPrivateFieldSet2(_options, this, options);
|
|
469
481
|
_classPrivateFieldSet2(_rootNode, this, createNode("kubb-root"));
|
|
@@ -510,7 +522,7 @@ var Runtime = class {
|
|
|
510
522
|
onExit(error) {
|
|
511
523
|
this.unmount(error);
|
|
512
524
|
}
|
|
513
|
-
render(node) {
|
|
525
|
+
async render(node) {
|
|
514
526
|
const element = /* @__PURE__ */ jsx(Root, {
|
|
515
527
|
onExit: this.onExit.bind(this),
|
|
516
528
|
onError: this.onError.bind(this),
|
|
@@ -518,6 +530,7 @@ var Runtime = class {
|
|
|
518
530
|
});
|
|
519
531
|
Renderer.updateContainerSync(element, _classPrivateFieldGet2(_container, this), null, null);
|
|
520
532
|
Renderer.flushSyncWork();
|
|
533
|
+
await _classPrivateFieldGet2(_renderPromise, this);
|
|
521
534
|
}
|
|
522
535
|
async renderToString(node) {
|
|
523
536
|
const element = /* @__PURE__ */ jsx(Root, {
|
|
@@ -527,6 +540,7 @@ var Runtime = class {
|
|
|
527
540
|
});
|
|
528
541
|
Renderer.updateContainerSync(element, _classPrivateFieldGet2(_container, this), null, null);
|
|
529
542
|
Renderer.flushSyncWork();
|
|
543
|
+
await _classPrivateFieldGet2(_renderPromise, this);
|
|
530
544
|
this.fileManager.clear();
|
|
531
545
|
return _assertClassBrand(_Runtime_brand, this, _getOutput).call(this, _classPrivateFieldGet2(_rootNode, this));
|
|
532
546
|
}
|
|
@@ -570,7 +584,7 @@ const reactPlugin = createPlugin({
|
|
|
570
584
|
});
|
|
571
585
|
return {
|
|
572
586
|
async render(App) {
|
|
573
|
-
runtime.render(createElement(App));
|
|
587
|
+
await runtime.render(createElement(App));
|
|
574
588
|
await ctx.emit("start");
|
|
575
589
|
},
|
|
576
590
|
async renderToString(App) {
|
|
@@ -587,4 +601,4 @@ const reactPlugin = createPlugin({
|
|
|
587
601
|
|
|
588
602
|
//#endregion
|
|
589
603
|
export { _classPrivateFieldInitSpec as a, _classPrivateFieldGet2 as i, Runtime as n, Root as o, _classPrivateFieldSet2 as r, RootContext as s, reactPlugin as t };
|
|
590
|
-
//# sourceMappingURL=reactPlugin-
|
|
604
|
+
//# sourceMappingURL=reactPlugin-BKFEDZfC.js.map
|