@oomfware/jsx 0.1.1
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/LICENSE +14 -0
- package/README.md +164 -0
- package/dist/index.d.mts +77 -0
- package/dist/index.d.mts.map +1 -0
- package/dist/index.mjs +408 -0
- package/dist/index.mjs.map +1 -0
- package/dist/jsx-runtime-BQHdv_66.d.mts +1311 -0
- package/dist/jsx-runtime-BQHdv_66.d.mts.map +1 -0
- package/dist/jsx-runtime.d.mts +2 -0
- package/dist/jsx-runtime.mjs +34 -0
- package/dist/jsx-runtime.mjs.map +1 -0
- package/package.json +46 -0
- package/src/index.ts +9 -0
- package/src/jsx-runtime.ts +33 -0
- package/src/lib/context.ts +98 -0
- package/src/lib/intrinsic-elements.ts +1592 -0
- package/src/lib/render.ts +504 -0
- package/src/lib/stream.test.tsx +625 -0
- package/src/lib/suspense.ts +57 -0
- package/src/lib/types.ts +37 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-runtime-BQHdv_66.d.mts","names":[],"sources":["../src/lib/types.ts","../src/lib/intrinsic-elements.ts","../src/jsx-runtime.ts"],"sourcesContent":[],"mappings":"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;gBACO;UACN;QACF;YACI;YACA;aACC;YACD;UACF;UACA;SACD;cACK;UACJ;cACI;QACN;SACC;aACI;SACJ;YACG;SACH;QACD;QACA;QACA;WACG;cACG;gBACE;YACJ;YACA;UACF;QACF;QACA;QACA;QACA;QACA;QACA;UACE;YACE;YACA;QACJ;UACE;OACH;YACK;SACH;WACE;SACF;SACA;YACG;WACD;YACC;QACJ;UACE;UACA;SACD;UACC;UACA;cACI;UACJ;WACC;SACF;aACI;cACC;YACF;QACJ;cACM;YACF;YACA;OACL;WACI;aACE;SACJ;cACK;OACP;QACC;QACA;UACE;OACH;UACG;YACE;UACF;YACE;aACC;YACD;WACD;YACC;UACF;YACE;WACD;SACF;aACI;SACJ;WACE;cACG;WACH;QACH;cACM;WACH;QACH;WACG;UACD;WACC;QACH;WACG;OACJ;QACC;SACC;WACE;SACF;aACI;SAGJ;aAEI;mBACM;sBACG;YACV;cACE;UACJ;UACA;aACG;aACA;mBACM;yBACM;iBACR;sBACK;uBACC;uBACA;oBACH;kBACF;aACL;aACA;aACA;aACA;aACA;oBACO;aACP;aACA;iBACI;kBACC;cACJ;kBACI;wBACM;iBACP;YACL;kBACM;YACN;mBACO;OACZ;WACI;UACD;oBACU;YACR;UACF;cACI;WACH;UACD;aACG;aACA;cACC;oBACM;UACV;SACD;UACC;YACE;YACA;UACF;cACI;WACH;SACF;UACC;;;;;;;AD9iDR;AAGA;AAWA;;AAAsF,iBEbtE,GFasE,CAAA,CAAA,EAAA,UAAA,MAAA,GEb5C,SFa4C,CAAA,GAAA,CAAA,CAAA,CAAA,IAAA,EEbtB,CFasB,EAAA,KAAA,EEbZ,CFaY,CAAA,EEbR,UFaQ,CEbG,CFaH,EEbM,CFaN,CAAA;;;;AAatF;;;AAA2F,cEhB9E,IFgB8E,EAAA,OEhB1E,GFgB0E;;;;;AC9BrC;AAMvC;AAOL,cCSG,MDTU,EAAA,OCSJ,GDRP;AA6HK,iBCnHD,QAAA,CDmHuB,KAAI,EAAA;EAYjC,QAAA,CAAA,EC/HmC,OD+HrB;CAIP,CAAA,ECnIwC,ODmIxC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
//#region src/jsx-runtime.ts
|
|
2
|
+
/**
|
|
3
|
+
* creates a JSX element
|
|
4
|
+
* @param type element tag name or component function
|
|
5
|
+
* @param props element properties including children
|
|
6
|
+
* @returns JSX element
|
|
7
|
+
*/
|
|
8
|
+
function jsx(type, props) {
|
|
9
|
+
return {
|
|
10
|
+
type,
|
|
11
|
+
props
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* creates a JSX element
|
|
16
|
+
* @param type element tag name or component function
|
|
17
|
+
* @param props element properties including children
|
|
18
|
+
* @returns JSX element
|
|
19
|
+
*/
|
|
20
|
+
const jsxs = jsx;
|
|
21
|
+
/**
|
|
22
|
+
* creates a JSX element
|
|
23
|
+
* @param type element tag name or component function
|
|
24
|
+
* @param props element properties including children
|
|
25
|
+
* @returns JSX element
|
|
26
|
+
*/
|
|
27
|
+
const jsxDEV = jsx;
|
|
28
|
+
function Fragment(props) {
|
|
29
|
+
return props.children;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
//#endregion
|
|
33
|
+
export { Fragment, jsx, jsxDEV, jsxs };
|
|
34
|
+
//# sourceMappingURL=jsx-runtime.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-runtime.mjs","names":[],"sources":["../src/jsx-runtime.ts"],"sourcesContent":["import type { Component, JSXElement, JSXNode } from './lib/types.ts';\n\n/**\n * creates a JSX element\n * @param type element tag name or component function\n * @param props element properties including children\n * @returns JSX element\n */\nexport function jsx<P, T extends string | Component<any>>(type: T, props: P): JSXElement<P, T> {\n\treturn { type, props };\n}\n\n/**\n * creates a JSX element\n * @param type element tag name or component function\n * @param props element properties including children\n * @returns JSX element\n */\nexport const jsxs = jsx;\n\n/**\n * creates a JSX element\n * @param type element tag name or component function\n * @param props element properties including children\n * @returns JSX element\n */\nexport const jsxDEV = jsx;\n\nexport function Fragment(props: { children?: JSXNode }): JSXNode {\n\treturn props.children;\n}\n\nexport type { JSX } from './lib/intrinsic-elements.js';\n"],"mappings":";;;;;;;AAQA,SAAgB,IAA0C,MAAS,OAA4B;AAC9F,QAAO;EAAE;EAAM;EAAO;;;;;;;;AASvB,MAAa,OAAO;;;;;;;AAQpB,MAAa,SAAS;AAEtB,SAAgB,SAAS,OAAwC;AAChE,QAAO,MAAM"}
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "module",
|
|
3
|
+
"name": "@oomfware/jsx",
|
|
4
|
+
"version": "0.1.1",
|
|
5
|
+
"description": "server-side JSX renderer",
|
|
6
|
+
"license": "0BSD",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://codeberg.org/oomfware/jsx"
|
|
10
|
+
},
|
|
11
|
+
"exports": {
|
|
12
|
+
".": "./dist/index.mjs",
|
|
13
|
+
"./jsx-runtime": "./dist/jsx-runtime.mjs",
|
|
14
|
+
"./package.json": "./package.json"
|
|
15
|
+
},
|
|
16
|
+
"main": "./dist/index.mjs",
|
|
17
|
+
"module": "./dist/index.mjs",
|
|
18
|
+
"types": "./dist/index.d.mts",
|
|
19
|
+
"publishConfig": {
|
|
20
|
+
"access": "public"
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"dist/",
|
|
24
|
+
"src/",
|
|
25
|
+
"!src/**/*.bench.ts",
|
|
26
|
+
"!src/**/*.test.ts"
|
|
27
|
+
],
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@ianvs/prettier-plugin-sort-imports": "^4.7.0",
|
|
30
|
+
"@prettier/plugin-oxc": "^0.1.3",
|
|
31
|
+
"@types/bun": "^1.3.5",
|
|
32
|
+
"bumpp": "^10.3.2",
|
|
33
|
+
"csstype": "^3.2.3",
|
|
34
|
+
"oxlint": "^1.38.0",
|
|
35
|
+
"prettier": "^3.7.4",
|
|
36
|
+
"tsdown": "^0.18.1",
|
|
37
|
+
"typescript": "^5.9.3"
|
|
38
|
+
},
|
|
39
|
+
"scripts": {
|
|
40
|
+
"build": "tsdown",
|
|
41
|
+
"dev": "tsdown --watch",
|
|
42
|
+
"typecheck": "tsc --noEmit",
|
|
43
|
+
"fmt": "PRETTIER_EXPERIMENTAL_CLI=1 prettier --cache --write .",
|
|
44
|
+
"lint": "oxlint"
|
|
45
|
+
}
|
|
46
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type { Component, FC, JSXElement, JSXNode } from './lib/types.js';
|
|
2
|
+
|
|
3
|
+
export { Fragment, jsx, jsxDEV, jsxs } from './jsx-runtime.js';
|
|
4
|
+
|
|
5
|
+
export { createContext, type Context } from './lib/context.js';
|
|
6
|
+
|
|
7
|
+
export { Suspense, use, type SuspenseProps } from './lib/suspense.js';
|
|
8
|
+
|
|
9
|
+
export { render, renderToStream, renderToString, type RenderOptions } from './lib/render.js';
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { Component, JSXElement, JSXNode } from './lib/types.ts';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* creates a JSX element
|
|
5
|
+
* @param type element tag name or component function
|
|
6
|
+
* @param props element properties including children
|
|
7
|
+
* @returns JSX element
|
|
8
|
+
*/
|
|
9
|
+
export function jsx<P, T extends string | Component<any>>(type: T, props: P): JSXElement<P, T> {
|
|
10
|
+
return { type, props };
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* creates a JSX element
|
|
15
|
+
* @param type element tag name or component function
|
|
16
|
+
* @param props element properties including children
|
|
17
|
+
* @returns JSX element
|
|
18
|
+
*/
|
|
19
|
+
export const jsxs = jsx;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* creates a JSX element
|
|
23
|
+
* @param type element tag name or component function
|
|
24
|
+
* @param props element properties including children
|
|
25
|
+
* @returns JSX element
|
|
26
|
+
*/
|
|
27
|
+
export const jsxDEV = jsx;
|
|
28
|
+
|
|
29
|
+
export function Fragment(props: { children?: JSXNode }): JSXNode {
|
|
30
|
+
return props.children;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export type { JSX } from './lib/intrinsic-elements.js';
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { Fragment, jsx } from '../jsx-runtime.ts';
|
|
2
|
+
|
|
3
|
+
import type { JSXElement, JSXNode } from './types.ts';
|
|
4
|
+
|
|
5
|
+
/** context object returned by createContext() */
|
|
6
|
+
export interface Context<T> {
|
|
7
|
+
defaultValue: T;
|
|
8
|
+
Provider: (props: { value: T; children?: JSXNode }) => JSXElement;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/** internal provider props */
|
|
12
|
+
interface ProviderProps<T> {
|
|
13
|
+
context: Context<T>;
|
|
14
|
+
value: T;
|
|
15
|
+
children?: JSXNode;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** internal provider component */
|
|
19
|
+
function Provider<T>({ context, value, children }: ProviderProps<T>): JSXElement {
|
|
20
|
+
provide(context, value);
|
|
21
|
+
return jsx(Fragment, { children });
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* creates a context with a Provider component
|
|
26
|
+
* @param defaultValue value returned by use() when no Provider is above
|
|
27
|
+
* @example
|
|
28
|
+
* const ThemeContext = createContext('light');
|
|
29
|
+
*
|
|
30
|
+
* <ThemeContext.Provider value="dark">
|
|
31
|
+
* <App />
|
|
32
|
+
* </ThemeContext.Provider>
|
|
33
|
+
*
|
|
34
|
+
* function App() {
|
|
35
|
+
* const theme = use(ThemeContext);
|
|
36
|
+
* return <div>{theme}</div>;
|
|
37
|
+
* }
|
|
38
|
+
*/
|
|
39
|
+
export function createContext<T>(defaultValue: T): Context<T>;
|
|
40
|
+
export function createContext<T>(): Context<T | undefined>;
|
|
41
|
+
export function createContext<T>(defaultValue?: T): Context<T | undefined> {
|
|
42
|
+
const context: Context<T | undefined> = {
|
|
43
|
+
defaultValue,
|
|
44
|
+
Provider: ({ value, children }) => Provider({ context, value, children }),
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
return context;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/** stack of context frames */
|
|
51
|
+
type ContextFrame = Map<Context<unknown>, unknown>;
|
|
52
|
+
const contextStack: ContextFrame[] = [];
|
|
53
|
+
|
|
54
|
+
/** current frame being built (lazily initialized on first provide) */
|
|
55
|
+
export let currentFrame: ContextFrame | null = null;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* provides a value for the context during the current component's render
|
|
59
|
+
* @param context context key from createContext()
|
|
60
|
+
* @param value value to provide
|
|
61
|
+
*/
|
|
62
|
+
export function provide<T>(context: Context<T>, value: T): void {
|
|
63
|
+
if (!currentFrame) {
|
|
64
|
+
// lazily create frame, copying from previous
|
|
65
|
+
const prev = contextStack[contextStack.length - 1];
|
|
66
|
+
currentFrame = prev ? new Map(prev) : new Map();
|
|
67
|
+
}
|
|
68
|
+
currentFrame.set(context as Context<unknown>, value);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* returns current provided value, or the default value
|
|
73
|
+
* @param context context key from createContext()
|
|
74
|
+
*/
|
|
75
|
+
export function inject<T>(context: Context<T>): T {
|
|
76
|
+
// check current frame first, then stack
|
|
77
|
+
const frame = currentFrame ?? contextStack[contextStack.length - 1];
|
|
78
|
+
if (frame?.has(context as Context<unknown>)) {
|
|
79
|
+
return frame.get(context as Context<unknown>) as T;
|
|
80
|
+
}
|
|
81
|
+
return context.defaultValue;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/** push current frame to stack (called before rendering children) */
|
|
85
|
+
export function pushContextFrame(): void {
|
|
86
|
+
if (currentFrame) {
|
|
87
|
+
contextStack.push(currentFrame);
|
|
88
|
+
currentFrame = null;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/** pop context frame (called after rendering children) */
|
|
93
|
+
export function popContextFrame(hadFrame: boolean): void {
|
|
94
|
+
if (hadFrame) {
|
|
95
|
+
contextStack.pop();
|
|
96
|
+
}
|
|
97
|
+
currentFrame = null;
|
|
98
|
+
}
|