@kubb/renderer-jsx 5.0.0-beta.16 → 5.0.0-beta.18
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/index.cjs +423 -176
- package/dist/index.d.ts +38 -10
- package/dist/index.js +423 -177
- package/dist/jsx-dev-runtime.d.ts +2 -2
- package/dist/{jsx-namespace-CNp0arTN.d.ts → jsx-namespace-BLGeMDcR.d.ts} +2 -2
- package/dist/jsx-runtime.d.ts +2 -2
- package/dist/{types-nAFMiWFw.d.ts → types-Dk7A1Y5U.d.ts} +2 -2
- package/dist/types.d.ts +1 -1
- package/package.json +2 -2
- package/src/Renderer.ts +1 -1
- package/src/Runtime.tsx +4 -4
- package/src/SyncRuntime.tsx +285 -0
- package/src/constants.ts +19 -9
- package/src/createRenderer.tsx +46 -5
- package/src/dom.ts +3 -13
- package/src/index.ts +1 -1
- package/src/types.ts +1 -1
- package/src/utils.ts +174 -206
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { n as __name } from "./chunk-Bb7HlUDG.js";
|
|
2
|
-
import { a as JSDoc, h as KubbReactNode, m as KubbReactElement, o as Key } from "./types-
|
|
3
|
-
import
|
|
4
|
-
import { ExportNode, ImportNode, SourceNode } from "@kubb/ast";
|
|
2
|
+
import { a as JSDoc, h as KubbReactNode, m as KubbReactElement, o as Key } from "./types-Dk7A1Y5U.js";
|
|
3
|
+
import { ExportNode, FileNode, ImportNode, SourceNode } from "@kubb/ast";
|
|
5
4
|
import * as _$react from "react";
|
|
6
5
|
|
|
7
6
|
//#region ../../internals/utils/src/context.d.ts
|
|
@@ -521,19 +520,16 @@ declare namespace Type {
|
|
|
521
520
|
//#endregion
|
|
522
521
|
//#region src/createRenderer.d.ts
|
|
523
522
|
/**
|
|
524
|
-
*
|
|
523
|
+
* Renderer factory for generators that produce JSX output.
|
|
525
524
|
*
|
|
526
|
-
* Pass
|
|
527
|
-
* core can render the JSX element tree returned by your generator methods
|
|
525
|
+
* Pass as the `renderer` property of `defineGenerator`. Core drives rendering
|
|
528
526
|
* without a hard dependency on `@kubb/renderer-jsx`.
|
|
529
527
|
*
|
|
530
528
|
* @example
|
|
531
529
|
* ```ts
|
|
532
530
|
* import { jsxRenderer } from '@kubb/renderer-jsx'
|
|
533
|
-
* import { defineGenerator } from '@kubb/core'
|
|
534
531
|
*
|
|
535
532
|
* export const myGenerator = defineGenerator<PluginTs>({
|
|
536
|
-
* name: 'my-generator',
|
|
537
533
|
* renderer: jsxRenderer,
|
|
538
534
|
* schema(node, options) {
|
|
539
535
|
* return <File baseName="output.ts" path="src/output.ts">...</File>
|
|
@@ -543,9 +539,41 @@ declare namespace Type {
|
|
|
543
539
|
*/
|
|
544
540
|
declare const jsxRenderer: () => {
|
|
545
541
|
render(element: KubbReactElement): Promise<void>;
|
|
546
|
-
readonly files:
|
|
542
|
+
readonly files: FileNode[];
|
|
547
543
|
unmount(error?: Error | number | null): void;
|
|
548
544
|
};
|
|
545
|
+
/**
|
|
546
|
+
* Lightweight renderer factory with no React fiber, scheduler, or work loop.
|
|
547
|
+
*
|
|
548
|
+
* Walks the JSX element tree in a single recursive pass. All components must be
|
|
549
|
+
* pure functions; hooks and class components are not supported. Drop-in
|
|
550
|
+
* replacement for {@link jsxRenderer} at approximately 2–4× the speed.
|
|
551
|
+
*
|
|
552
|
+
* @example Drop-in replacement
|
|
553
|
+
* ```ts
|
|
554
|
+
* import { jsxRendererSync } from '@kubb/renderer-jsx'
|
|
555
|
+
*
|
|
556
|
+
* export const myGenerator = defineGenerator<PluginTs>({
|
|
557
|
+
* renderer: jsxRendererSync,
|
|
558
|
+
* schema(node, options) {
|
|
559
|
+
* return <File baseName="output.ts" path="src/output.ts">...</File>
|
|
560
|
+
* },
|
|
561
|
+
* })
|
|
562
|
+
* ```
|
|
563
|
+
*
|
|
564
|
+
* @example Stream files as they are produced
|
|
565
|
+
* ```ts
|
|
566
|
+
* for await (const file of jsxRendererSync().stream(element)) {
|
|
567
|
+
* await writeFile(file)
|
|
568
|
+
* }
|
|
569
|
+
* ```
|
|
570
|
+
*/
|
|
571
|
+
declare const jsxRendererSync: () => {
|
|
572
|
+
render(element: KubbReactElement): Promise<void>;
|
|
573
|
+
readonly files: FileNode[];
|
|
574
|
+
stream(element: KubbReactElement): AsyncGenerator<FileNode>;
|
|
575
|
+
unmount(_error?: Error | number | null): void;
|
|
576
|
+
};
|
|
549
577
|
//#endregion
|
|
550
|
-
export { Const, File, Function, Jsx, Root, Type, createContext, inject, jsxRenderer, provide, unprovide };
|
|
578
|
+
export { Const, File, Function, Jsx, Root, Type, createContext, inject, jsxRenderer, jsxRendererSync, provide, unprovide };
|
|
551
579
|
//# sourceMappingURL=index.d.ts.map
|