@alloy-js/core 0.3.0 → 0.5.0
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/CHANGELOG.md +20 -0
- package/dist/src/binder.d.ts +43 -18
- package/dist/src/binder.d.ts.map +1 -1
- package/dist/src/binder.js +120 -16
- package/dist/src/binder.js.map +1 -1
- package/dist/src/components/Declaration.d.ts +2 -2
- package/dist/src/components/Declaration.d.ts.map +1 -1
- package/dist/src/components/Declaration.js.map +1 -1
- package/dist/src/components/Indent.d.ts +2 -2
- package/dist/src/components/Indent.d.ts.map +1 -1
- package/dist/src/components/Indent.js.map +1 -1
- package/dist/src/components/MemberDeclaration.d.ts +2 -2
- package/dist/src/components/MemberDeclaration.d.ts.map +1 -1
- package/dist/src/components/MemberDeclaration.js.map +1 -1
- package/dist/src/components/MemberName.d.ts +1 -1
- package/dist/src/components/MemberName.d.ts.map +1 -1
- package/dist/src/components/MemberScope.d.ts +2 -2
- package/dist/src/components/MemberScope.d.ts.map +1 -1
- package/dist/src/components/Name.d.ts +1 -1
- package/dist/src/components/Name.d.ts.map +1 -1
- package/dist/src/components/Output.d.ts +2 -2
- package/dist/src/components/Output.d.ts.map +1 -1
- package/dist/src/components/Output.js +6 -2
- package/dist/src/components/Output.js.map +1 -1
- package/dist/src/components/Scope.d.ts +2 -2
- package/dist/src/components/Scope.d.ts.map +1 -1
- package/dist/src/components/Scope.js.map +1 -1
- package/dist/src/components/SourceDirectory.d.ts +3 -3
- package/dist/src/components/SourceDirectory.d.ts.map +1 -1
- package/dist/src/components/SourceDirectory.js +1 -1
- package/dist/src/components/SourceDirectory.js.map +1 -1
- package/dist/src/components/SourceFile.d.ts +3 -3
- package/dist/src/components/SourceFile.d.ts.map +1 -1
- package/dist/src/components/SourceFile.js +1 -1
- package/dist/src/components/SourceFile.js.map +1 -1
- package/dist/src/components/stc/index.d.ts +18 -18
- package/dist/src/context/assignment.d.ts.map +1 -1
- package/dist/src/context/assignment.js +2 -2
- package/dist/src/context/assignment.js.map +1 -1
- package/dist/src/context/binder.d.ts.map +1 -1
- package/dist/src/context/binder.js +2 -2
- package/dist/src/context/binder.js.map +1 -1
- package/dist/src/context/declaration.d.ts.map +1 -1
- package/dist/src/context/declaration.js +2 -2
- package/dist/src/context/declaration.js.map +1 -1
- package/dist/src/context/indent.d.ts.map +1 -1
- package/dist/src/context/indent.js +2 -2
- package/dist/src/context/indent.js.map +1 -1
- package/dist/src/context/member-declaration.d.ts +1 -0
- package/dist/src/context/member-declaration.d.ts.map +1 -1
- package/dist/src/context/member-declaration.js +5 -2
- package/dist/src/context/member-declaration.js.map +1 -1
- package/dist/src/context/member-scope.d.ts.map +1 -1
- package/dist/src/context/member-scope.js +2 -2
- package/dist/src/context/member-scope.js.map +1 -1
- package/dist/src/context/name-policy.d.ts.map +1 -1
- package/dist/src/context/name-policy.js +2 -2
- package/dist/src/context/name-policy.js.map +1 -1
- package/dist/src/context/scope.d.ts.map +1 -1
- package/dist/src/context/scope.js +2 -2
- package/dist/src/context/scope.js.map +1 -1
- package/dist/src/context/source-directory.d.ts.map +1 -1
- package/dist/src/context/source-directory.js +2 -2
- package/dist/src/context/source-directory.js.map +1 -1
- package/dist/src/context/source-file.d.ts.map +1 -1
- package/dist/src/context/source-file.js +2 -2
- package/dist/src/context/source-file.js.map +1 -1
- package/dist/src/context.d.ts +5 -2
- package/dist/src/context.d.ts.map +1 -1
- package/dist/src/context.js +11 -4
- package/dist/src/context.js.map +1 -1
- package/dist/src/debug.d.ts +14 -0
- package/dist/src/debug.d.ts.map +1 -0
- package/dist/src/debug.js +163 -0
- package/dist/src/debug.js.map +1 -0
- package/dist/src/index.d.ts +3 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +3 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/jsx-runtime.d.ts +27 -4
- package/dist/src/jsx-runtime.d.ts.map +1 -1
- package/dist/src/jsx-runtime.js +20 -7
- package/dist/src/jsx-runtime.js.map +1 -1
- package/dist/src/render.d.ts +1 -1
- package/dist/src/render.d.ts.map +1 -1
- package/dist/src/render.js +15 -13
- package/dist/src/render.js.map +1 -1
- package/dist/src/slot.d.ts +15 -0
- package/dist/src/slot.d.ts.map +1 -0
- package/dist/src/slot.js +51 -0
- package/dist/src/slot.js.map +1 -0
- package/dist/src/tap.d.ts +19 -0
- package/dist/src/tap.d.ts.map +1 -0
- package/dist/src/tap.js +39 -0
- package/dist/src/tap.js.map +1 -0
- package/dist/src/utils.d.ts +1 -6
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +1 -34
- package/dist/src/utils.js.map +1 -1
- package/dist/src/write-output.browser.d.ts +2 -0
- package/dist/src/write-output.browser.d.ts.map +1 -0
- package/dist/src/write-output.browser.js +4 -0
- package/dist/src/write-output.browser.js.map +1 -0
- package/dist/src/write-output.d.ts +7 -0
- package/dist/src/write-output.d.ts.map +1 -0
- package/dist/src/write-output.js +34 -0
- package/dist/src/write-output.js.map +1 -0
- package/dist/test/components/slot.test.d.ts +2 -0
- package/dist/test/components/slot.test.d.ts.map +1 -0
- package/dist/testing/render.d.ts +1 -1
- package/dist/testing/render.d.ts.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +10 -6
- package/src/binder.ts +214 -50
- package/src/components/Declaration.tsx +1 -1
- package/src/components/Indent.tsx +1 -1
- package/src/components/MemberDeclaration.tsx +1 -1
- package/src/components/MemberScope.tsx +1 -1
- package/src/components/Output.tsx +4 -2
- package/src/components/Scope.tsx +1 -1
- package/src/components/SourceDirectory.tsx +2 -2
- package/src/components/SourceFile.tsx +2 -6
- package/src/context/assignment.ts +6 -2
- package/src/context/binder.ts +7 -2
- package/src/context/declaration.ts +2 -2
- package/src/context/indent.ts +13 -6
- package/src/context/member-declaration.ts +10 -2
- package/src/context/member-scope.ts +6 -2
- package/src/context/name-policy.ts +6 -2
- package/src/context/scope.ts +7 -2
- package/src/context/source-directory.ts +2 -2
- package/src/context/source-file.ts +2 -2
- package/src/context.ts +15 -4
- package/src/debug.ts +209 -0
- package/src/index.ts +3 -1
- package/src/jsx-runtime.ts +46 -11
- package/src/render.ts +21 -19
- package/src/slot.ts +90 -0
- package/src/tap.ts +69 -0
- package/src/utils.ts +2 -34
- package/src/write-output.browser.ts +3 -0
- package/src/write-output.ts +33 -0
- package/temp/api.json +1848 -203
- package/test/components/slot.test.tsx +172 -0
- package/test/rendering/basic.test.tsx +1 -1
- package/test/symbols.test.ts +161 -3
- package/testing/render.ts +1 -1
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { isReactive } from "@vue/reactivity";
|
|
2
|
+
import { Chalk } from "chalk";
|
|
3
|
+
import Table from "cli-table3";
|
|
4
|
+
import { contextsByKey } from "./context.js";
|
|
5
|
+
import { getContext } from "./jsx-runtime.js";
|
|
6
|
+
const debug = {
|
|
7
|
+
component: {
|
|
8
|
+
stack: debugStack,
|
|
9
|
+
tree() {
|
|
10
|
+
console.log("tree");
|
|
11
|
+
},
|
|
12
|
+
watch() {
|
|
13
|
+
console.log("watch");
|
|
14
|
+
},
|
|
15
|
+
render() {
|
|
16
|
+
console.log("render");
|
|
17
|
+
},
|
|
18
|
+
context: debugContext
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
function debugStack() {
|
|
22
|
+
let currentContext = getContext();
|
|
23
|
+
let foundContexts = [];
|
|
24
|
+
while (currentContext !== null) {
|
|
25
|
+
if (currentContext.context && Object.getOwnPropertySymbols(currentContext.context)[0]) {
|
|
26
|
+
foundContexts.push(currentContext);
|
|
27
|
+
}
|
|
28
|
+
if (currentContext.componentOwner && currentContext.componentOwner.component.name !== "Provider") {
|
|
29
|
+
process.stdout.write(style.component.name(currentContext.componentOwner.component.name) + "\n");
|
|
30
|
+
const table = kvTable();
|
|
31
|
+
const props = currentContext.componentOwner.props;
|
|
32
|
+
table.push([{
|
|
33
|
+
hAlign: "right",
|
|
34
|
+
content: "props"
|
|
35
|
+
}, props && Object.keys(props).length > 0 ? dumpValue(props) : chalk.gray("(none)")]);
|
|
36
|
+
table.push([{
|
|
37
|
+
hAlign: "right",
|
|
38
|
+
content: "contexts"
|
|
39
|
+
}, foundContexts.length > 0 ? foundContexts.map(c => printContext(c, true)).join("\n") : chalk.gray("(none)")]);
|
|
40
|
+
process.stdout.write(table.toString() + "\n\n");
|
|
41
|
+
foundContexts = [];
|
|
42
|
+
}
|
|
43
|
+
currentContext = currentContext.owner;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function debugContext() {
|
|
47
|
+
let currentContext = getContext();
|
|
48
|
+
while (currentContext !== null) {
|
|
49
|
+
console.log(printContext(currentContext));
|
|
50
|
+
currentContext = currentContext.owner;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function printContext(context, omitOwner = false) {
|
|
54
|
+
if (!context.context) return "";
|
|
55
|
+
const key = Object.getOwnPropertySymbols(context.context)[0];
|
|
56
|
+
if (!key) return "";
|
|
57
|
+
const contextDefinition = contextsByKey.get(key);
|
|
58
|
+
const contextName = contextDefinition?.name ?? "unknown context";
|
|
59
|
+
const value = context.context[key];
|
|
60
|
+
let output = style.context.name(contextName);
|
|
61
|
+
if (!omitOwner) {
|
|
62
|
+
const owner = findContextOwner(context);
|
|
63
|
+
output += " provided by " + style.component.name(owner);
|
|
64
|
+
}
|
|
65
|
+
output += "\n" + dumpValue(value) + "\n";
|
|
66
|
+
return output;
|
|
67
|
+
}
|
|
68
|
+
function findContextOwner(context) {
|
|
69
|
+
let currentContext = context;
|
|
70
|
+
while (currentContext && (currentContext.componentOwner === undefined || currentContext.componentOwner.component.name === "Provider")) {
|
|
71
|
+
currentContext = currentContext.owner;
|
|
72
|
+
}
|
|
73
|
+
return currentContext?.componentOwner?.component.name ?? "unknown";
|
|
74
|
+
}
|
|
75
|
+
globalThis.debug = debug;
|
|
76
|
+
const chalk = new Chalk();
|
|
77
|
+
const style = {
|
|
78
|
+
value: {
|
|
79
|
+
primitive(value) {
|
|
80
|
+
switch (typeof value) {
|
|
81
|
+
case "string":
|
|
82
|
+
return chalk.blue(`"${value}"`);
|
|
83
|
+
case "object":
|
|
84
|
+
case "undefined":
|
|
85
|
+
return chalk.gray(String(value));
|
|
86
|
+
default:
|
|
87
|
+
return chalk.blue(String(value));
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
symbol(value) {
|
|
91
|
+
return chalk.gray(String(value));
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
context: {
|
|
95
|
+
name(name) {
|
|
96
|
+
return chalk.bgGray(` ${chalk.white(name)} `);
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
component: {
|
|
100
|
+
name(name) {
|
|
101
|
+
return chalk.bgBlue(` <${chalk.white(name)}> `);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
};
|
|
105
|
+
function reactiveTag(value) {
|
|
106
|
+
if (isReactive(value)) {
|
|
107
|
+
return " " + chalk.greenBright(`reactive`) + " ";
|
|
108
|
+
}
|
|
109
|
+
return "";
|
|
110
|
+
}
|
|
111
|
+
function dumpValue(value, level = 0) {
|
|
112
|
+
switch (typeof value) {
|
|
113
|
+
case "boolean":
|
|
114
|
+
case "string":
|
|
115
|
+
case "number":
|
|
116
|
+
return style.value.primitive(value) + reactiveTag(value);
|
|
117
|
+
case "symbol":
|
|
118
|
+
return style.value.symbol(value) + reactiveTag(value);
|
|
119
|
+
case "object":
|
|
120
|
+
if (value === null) {
|
|
121
|
+
return style.value.primitive(null) + reactiveTag(value);
|
|
122
|
+
} else {
|
|
123
|
+
if (level > 0) return chalk.gray(`{ ... }` + reactiveTag(value));
|
|
124
|
+
const table = kvTable(" ");
|
|
125
|
+
for (const [key, propValue] of Object.entries(value)) {
|
|
126
|
+
table.push([{
|
|
127
|
+
content: key
|
|
128
|
+
}, dumpValue(propValue, level + 1)]);
|
|
129
|
+
}
|
|
130
|
+
return table.toString();
|
|
131
|
+
}
|
|
132
|
+
case "function":
|
|
133
|
+
return chalk.gray("ƒ ()");
|
|
134
|
+
case "undefined":
|
|
135
|
+
return style.value.primitive(undefined);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
function kvTable(sep = " ") {
|
|
139
|
+
return new Table({
|
|
140
|
+
chars: {
|
|
141
|
+
top: "",
|
|
142
|
+
"top-mid": "",
|
|
143
|
+
"top-left": "",
|
|
144
|
+
"top-right": "",
|
|
145
|
+
bottom: "",
|
|
146
|
+
"bottom-mid": "",
|
|
147
|
+
"bottom-left": "",
|
|
148
|
+
"bottom-right": "",
|
|
149
|
+
left: "",
|
|
150
|
+
"left-mid": "",
|
|
151
|
+
mid: "",
|
|
152
|
+
"mid-mid": "",
|
|
153
|
+
right: "",
|
|
154
|
+
"right-mid": "",
|
|
155
|
+
middle: sep
|
|
156
|
+
},
|
|
157
|
+
style: {
|
|
158
|
+
"padding-left": 0,
|
|
159
|
+
"padding-right": 0
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
//# sourceMappingURL=debug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.js","names":["isReactive","Chalk","Table","contextsByKey","getContext","debug","component","stack","debugStack","tree","console","log","watch","render","context","debugContext","currentContext","foundContexts","Object","getOwnPropertySymbols","push","componentOwner","name","process","stdout","write","style","table","kvTable","props","hAlign","content","keys","length","dumpValue","chalk","gray","map","c","printContext","join","toString","owner","omitOwner","key","contextDefinition","get","contextName","value","output","findContextOwner","undefined","globalThis","primitive","blue","String","symbol","bgGray","white","bgBlue","reactiveTag","greenBright","level","propValue","entries","sep","chars","top","bottom","left","mid","right","middle"],"sources":["../../src/debug.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export * from "@alloy-js/core/jsx-runtime";
|
|
2
1
|
export { computed, isProxy, reactive, ref, shallowReactive, shallowRef, toRaw, type Ref, } from "@vue/reactivity";
|
|
3
2
|
export * from "./binder.js";
|
|
4
3
|
export * from "./code.js";
|
|
@@ -9,5 +8,8 @@ export * from "./jsx-runtime.js";
|
|
|
9
8
|
export * from "./name-policy.js";
|
|
10
9
|
export * from "./refkey.js";
|
|
11
10
|
export * from "./render.js";
|
|
11
|
+
export * from "./tap.js";
|
|
12
12
|
export * from "./utils.js";
|
|
13
|
+
export * from "./write-output.js";
|
|
14
|
+
import "./debug.js";
|
|
13
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,GAAG,EACH,eAAe,EACf,UAAU,EACV,KAAK,EACL,KAAK,GAAG,GACT,MAAM,iBAAiB,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,mBAAmB,CAAC;AAClC,OAAO,YAAY,CAAC"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
export * from "@alloy-js/core/jsx-runtime";
|
|
2
1
|
export { computed, isProxy, reactive, ref, shallowReactive, shallowRef, toRaw } from "@vue/reactivity";
|
|
3
2
|
export * from "./binder.js";
|
|
4
3
|
export * from "./code.js";
|
|
@@ -9,5 +8,8 @@ export * from "./jsx-runtime.js";
|
|
|
9
8
|
export * from "./name-policy.js";
|
|
10
9
|
export * from "./refkey.js";
|
|
11
10
|
export * from "./render.js";
|
|
11
|
+
export * from "./tap.js";
|
|
12
12
|
export * from "./utils.js";
|
|
13
|
+
export * from "./write-output.js";
|
|
14
|
+
import "./debug.js";
|
|
13
15
|
//# sourceMappingURL=index.js.map
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["computed","isProxy","reactive","ref","shallowReactive","shallowRef","toRaw"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","names":["computed","isProxy","reactive","ref","shallowReactive","shallowRef","toRaw"],"sources":["../../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,SACEA,QAAQ,EACRC,OAAO,EACPC,QAAQ,EACRC,GAAG,EACHC,eAAe,EACfC,UAAU,EACVC,KAAK,QAEA,iBAAiB;AACxB,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,uBAAuB;AACrC,cAAc,cAAc;AAC5B,cAAc,oBAAoB;AAClC,cAAc,kBAAkB;AAChC,cAAc,kBAAkB;AAChC,cAAc,aAAa;AAC3B,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,YAAY;AAC1B,cAAc,mBAAmB;AACjC,OAAO,YAAY","ignoreList":[]}
|
|
@@ -8,15 +8,21 @@ export interface Context {
|
|
|
8
8
|
owner: Context | null;
|
|
9
9
|
context?: Record<symbol, unknown>;
|
|
10
10
|
meta?: Record<string, any>;
|
|
11
|
+
/**
|
|
12
|
+
* When this context was created by a component, this will
|
|
13
|
+
* be the component that created it.
|
|
14
|
+
*/
|
|
15
|
+
componentOwner?: ComponentCreator<unknown>;
|
|
11
16
|
}
|
|
12
17
|
export declare function getContext(): Context | null;
|
|
13
|
-
export declare function root<T>(fn: (d: Disposable) => T,
|
|
18
|
+
export declare function root<T>(fn: (d: Disposable) => T, componentOwner?: ComponentCreator<any>): T;
|
|
14
19
|
export declare function untrack<T>(fn: () => T): T;
|
|
15
20
|
export declare function memo<T>(fn: () => T, equal?: boolean): () => T;
|
|
16
21
|
export declare function effect<T>(fn: (prev?: T) => T, current?: T): void;
|
|
17
|
-
export
|
|
22
|
+
export declare function cleanup(fn: Disposable): void;
|
|
23
|
+
export type Child = string | boolean | number | undefined | null | void | (() => Children) | Child[] | Ref | Refkey;
|
|
18
24
|
export type Children = Child | Child[];
|
|
19
|
-
export type Props = Record<string,
|
|
25
|
+
export type Props = Record<string, any>;
|
|
20
26
|
export interface ComponentDefinition<TProps = Props> {
|
|
21
27
|
(props: TProps): Child | Children;
|
|
22
28
|
}
|
|
@@ -30,11 +36,28 @@ export interface ComponentCreator<TProps = Props> {
|
|
|
30
36
|
props: Props;
|
|
31
37
|
tag?: symbol;
|
|
32
38
|
}
|
|
33
|
-
export declare const shouldDebug: boolean;
|
|
34
39
|
export declare function pushStack(component: Component<any>, props: Props): void;
|
|
35
40
|
export declare function popStack(): void;
|
|
36
41
|
export declare function printRenderStack(): void;
|
|
37
42
|
export declare function isComponentCreator(item: unknown): item is ComponentCreator;
|
|
43
|
+
/**
|
|
44
|
+
* This namespace is predominantly for interop with React tooling in VSCode
|
|
45
|
+
* and controls the type of JSX elements, components, and the like.
|
|
46
|
+
*/
|
|
47
|
+
export declare namespace JSX {
|
|
48
|
+
interface IntrinsicElements {
|
|
49
|
+
}
|
|
50
|
+
type ElementType = ComponentDefinition<any>;
|
|
51
|
+
type Element = Children;
|
|
52
|
+
interface ElementChildrenAttribute {
|
|
53
|
+
children: {};
|
|
54
|
+
}
|
|
55
|
+
interface ElementAttributesProperty {
|
|
56
|
+
props: {};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export declare function jsx(type: Component<any>, props: Record<string, unknown>): ComponentCreator<Record<string, unknown>>;
|
|
60
|
+
export declare const jsxs: typeof jsx;
|
|
38
61
|
export declare function createComponent<TProps extends Props = Props>(C: Component<TProps>, props: TProps): ComponentCreator<TProps>;
|
|
39
62
|
export declare function taggedComponent<TProps = Props>(tag: symbol, component: Component<TProps>): Component<TProps>;
|
|
40
63
|
export declare function mergeProps<T, U>(source: T, source1: U): T & U;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../../src/jsx-runtime.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,GAAG,EAKJ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AASrC,MAAM,WAAW,UAAU;IACzB,IAAI,IAAI,CAAC;CACV;AAED,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAGtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGlC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../../src/jsx-runtime.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,GAAG,EAKJ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AASrC,MAAM,WAAW,UAAU;IACzB,IAAI,IAAI,CAAC;CACV;AAED,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAGtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAGlC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;CAC5C;AAGD,wBAAgB,UAAU,mBAEzB;AAED,wBAAgB,IAAI,CAAC,CAAC,EACpB,EAAE,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,CAAC,EACxB,cAAc,CAAC,EAAE,gBAAgB,CAAC,GAAG,CAAC,GACrC,CAAC,CAqBH;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAKzC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,CAS7D;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC,QA4BzD;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,UAAU,QAIrC;AAED,MAAM,MAAM,KAAK,GACb,MAAM,GACN,OAAO,GACP,MAAM,GACN,SAAS,GACT,IAAI,GACJ,IAAI,GACJ,CAAC,MAAM,QAAQ,CAAC,GAChB,KAAK,EAAE,GACP,GAAG,GACH,MAAM,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC;AACvC,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAExC,MAAM,WAAW,mBAAmB,CAAC,MAAM,GAAG,KAAK;IACjD,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;CACnC;AACD,MAAM,WAAW,SAAS,CAAC,MAAM,GAAG,KAAK;IACvC,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AACD,MAAM,WAAW,gBAAgB,CAAC,MAAM,GAAG,KAAK;IAC9C,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC7B,IAAI,KAAK,GAAG,QAAQ,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAQD,wBAAgB,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,QAGhE;AAED,wBAAgB,QAAQ,SAGvB;AAED,wBAAgB,gBAAgB,SAU/B;AA+BD,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,gBAAgB,CAE1E;AAED;;;GAGG;AAEH,yBAAiB,GAAG,CAAC;IACnB,UAAiB,iBAAiB;KAAG;IACrC,KAAY,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IACnD,KAAY,OAAO,GAAG,QAAQ,CAAC;IAC/B,UAAiB,wBAAwB;QACvC,QAAQ,EAAE,EAAE,CAAC;KACd;IACD,UAAiB,yBAAyB;QACxC,KAAK,EAAE,EAAE,CAAC;KACX;CACF;AAED,wBAAgB,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,6CAEvE;AAED,eAAO,MAAM,IAAI,YAAM,CAAC;AAExB,wBAAgB,eAAe,CAAC,MAAM,SAAS,KAAK,GAAG,KAAK,EAC1D,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,EACpB,KAAK,EAAE,MAAM,GACZ,gBAAgB,CAAC,MAAM,CAAC,CAS1B;AAED,wBAAgB,eAAe,CAAC,MAAM,GAAG,KAAK,EAC5C,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,GAC3B,SAAS,CAAC,MAAM,CAAC,CAGnB;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAC/D,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAChC,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,CAAC,EACV,OAAO,EAAE,CAAC,GACT,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACb,wBAAgB,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACnC,MAAM,EAAE,CAAC,EACT,OAAO,EAAE,CAAC,EACV,OAAO,EAAE,CAAC,EACV,OAAO,EAAE,CAAC,GACT,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC"}
|
package/dist/src/jsx-runtime.js
CHANGED
|
@@ -9,9 +9,9 @@ let globalContext = null;
|
|
|
9
9
|
export function getContext() {
|
|
10
10
|
return globalContext;
|
|
11
11
|
}
|
|
12
|
-
export function root(fn,
|
|
12
|
+
export function root(fn, componentOwner) {
|
|
13
13
|
globalContext = {
|
|
14
|
-
|
|
14
|
+
componentOwner,
|
|
15
15
|
disposables: [],
|
|
16
16
|
owner: globalContext,
|
|
17
17
|
context: {}
|
|
@@ -70,27 +70,26 @@ export function effect(fn, current) {
|
|
|
70
70
|
});
|
|
71
71
|
cleanup(() => cleanupFn(true));
|
|
72
72
|
}
|
|
73
|
-
function cleanup(fn) {
|
|
73
|
+
export function cleanup(fn) {
|
|
74
74
|
if (globalContext != null) {
|
|
75
75
|
globalContext.disposables.push(fn);
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
// debugging utilities
|
|
79
79
|
const renderStack = [];
|
|
80
|
-
export const shouldDebug = !!process.env.ALLOY_DEBUG;
|
|
81
80
|
export function pushStack(component, props) {
|
|
82
|
-
if (!shouldDebug) return;
|
|
81
|
+
if (!shouldDebug()) return;
|
|
83
82
|
renderStack.push({
|
|
84
83
|
component,
|
|
85
84
|
props
|
|
86
85
|
});
|
|
87
86
|
}
|
|
88
87
|
export function popStack() {
|
|
89
|
-
if (!shouldDebug) return;
|
|
88
|
+
if (!shouldDebug()) return;
|
|
90
89
|
renderStack.pop();
|
|
91
90
|
}
|
|
92
91
|
export function printRenderStack() {
|
|
93
|
-
if (!shouldDebug) return;
|
|
92
|
+
if (!shouldDebug()) return;
|
|
94
93
|
|
|
95
94
|
// eslint-disable-next-line no-console
|
|
96
95
|
console.error("Error rendering:");
|
|
@@ -131,6 +130,17 @@ function inspectProps(props) {
|
|
|
131
130
|
export function isComponentCreator(item) {
|
|
132
131
|
return typeof item === "function" && item.component;
|
|
133
132
|
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* This namespace is predominantly for interop with React tooling in VSCode
|
|
136
|
+
* and controls the type of JSX elements, components, and the like.
|
|
137
|
+
*/
|
|
138
|
+
// eslint-disable-next-line @typescript-eslint/no-namespace
|
|
139
|
+
export let JSX;
|
|
140
|
+
export function jsx(type, props) {
|
|
141
|
+
return createComponent(type, props);
|
|
142
|
+
}
|
|
143
|
+
export const jsxs = jsx;
|
|
134
144
|
export function createComponent(C, props) {
|
|
135
145
|
const creator = () => /* */C(props);
|
|
136
146
|
creator.props = props;
|
|
@@ -169,4 +179,7 @@ export function mergeProps(...sources) {
|
|
|
169
179
|
}
|
|
170
180
|
return target;
|
|
171
181
|
}
|
|
182
|
+
function shouldDebug() {
|
|
183
|
+
return typeof process !== "undefined" && !!process.env?.ALLOY_DEBUG;
|
|
184
|
+
}
|
|
172
185
|
//# sourceMappingURL=jsx-runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-runtime.js","names":["pauseTracking","resetTracking","shallowRef","stop","effect","vueEffect","globalThis","ALLOY","Error","globalContext","getContext","root","fn","
|
|
1
|
+
{"version":3,"file":"jsx-runtime.js","names":["pauseTracking","resetTracking","shallowRef","stop","effect","vueEffect","globalThis","ALLOY","Error","globalContext","getContext","root","fn","componentOwner","disposables","owner","context","ret","untrack","d","v","memo","equal","o","prev","res","value","current","src","cleanupFn","final","k","len","length","c","oldContext","cleanup","push","renderStack","pushStack","component","props","shouldDebug","popStack","pop","printRenderStack","console","error","i","name","inspectProps","JSON","stringify","Object","fromEntries","entries","map","key","safeValue","isComponentCreator","item","JSX","jsx","type","createComponent","jsxs","C","creator","tag","taggedComponent","mergeProps","sources","target","source","descriptors","getOwnPropertyDescriptors","defineProperty","enumerable","get","s","undefined","process","env","ALLOY_DEBUG"],"sources":["../../src/jsx-runtime.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/dist/src/render.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Children, Context } from "
|
|
1
|
+
import { Children, Context } from "./jsx-runtime.js";
|
|
2
2
|
/**
|
|
3
3
|
* The component tree is constructed as the result of transforming JSX with
|
|
4
4
|
* `@alloy-js/babel-preset`. Elements in the component tree (represented by the type
|
package/dist/src/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/render.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../src/render.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,QAAQ,EACR,OAAO,EASR,MAAM,kBAAkB,CAAC;AAG1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgIG;AAGH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CAAC,eAAe,GAAG,UAAU,CAAC,EAAE,CAAC;CAC5C;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,cAAc,uBAE3D;AACD,MAAM,MAAM,eAAe,GAAG,EAAE,CAAC;AAEjC,MAAM,MAAM,cAAc,GAAG,CAAC,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC;AAOzD,wBAAgB,MAAM,CAAC,QAAQ,EAAE,QAAQ,GAAG,eAAe,CAgE1D;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,kBAe5C"}
|
package/dist/src/render.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { effect, getContext, isComponentCreator, popStack, printRenderStack, pushStack, root, untrack } from "@alloy-js/core/jsx-runtime";
|
|
2
1
|
import { isRef } from "@vue/reactivity";
|
|
3
2
|
import { Indent } from "./components/Indent.js";
|
|
4
3
|
import { useContext } from "./context.js";
|
|
5
4
|
import { IndentContext } from "./context/indent.js";
|
|
6
5
|
import { SourceFileContext } from "./context/source-file.js";
|
|
6
|
+
import { effect, getContext, isComponentCreator, popStack, printRenderStack, pushStack, root, untrack } from "./jsx-runtime.js";
|
|
7
7
|
import { isRefkey } from "./refkey.js";
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -204,7 +204,7 @@ export function renderTree(children) {
|
|
|
204
204
|
try {
|
|
205
205
|
root(() => {
|
|
206
206
|
renderWorker(rootElem, children, state);
|
|
207
|
-
}
|
|
207
|
+
});
|
|
208
208
|
} catch (e) {
|
|
209
209
|
printRenderStack();
|
|
210
210
|
throw e;
|
|
@@ -212,7 +212,7 @@ export function renderTree(children) {
|
|
|
212
212
|
return rootElem;
|
|
213
213
|
}
|
|
214
214
|
function renderWorker(node, children, state) {
|
|
215
|
-
traceRender("render", dumpChildren(children));
|
|
215
|
+
traceRender("render", () => dumpChildren(children));
|
|
216
216
|
if (Array.isArray(node)) {
|
|
217
217
|
nodesToContext.set(node, getContext());
|
|
218
218
|
}
|
|
@@ -226,7 +226,7 @@ function renderWorker(node, children, state) {
|
|
|
226
226
|
}
|
|
227
227
|
}
|
|
228
228
|
function appendChild(node, rawChild, indentState, state) {
|
|
229
|
-
traceRender("appendChild", printChild(rawChild));
|
|
229
|
+
traceRender("appendChild", () => printChild(rawChild));
|
|
230
230
|
const child = normalizeChild(rawChild);
|
|
231
231
|
if (typeof child === "string") {
|
|
232
232
|
if (child.match(/\n\s*$/)) {
|
|
@@ -235,11 +235,11 @@ function appendChild(node, rawChild, indentState, state) {
|
|
|
235
235
|
state.newline = false;
|
|
236
236
|
}
|
|
237
237
|
const reindented = reindent(child, indentState.indentString);
|
|
238
|
-
traceRender("appendChild:string", JSON.stringify(reindented));
|
|
238
|
+
traceRender("appendChild:string", () => JSON.stringify(reindented));
|
|
239
239
|
node.push(reindented);
|
|
240
240
|
} else if (isComponentCreator(child)) {
|
|
241
241
|
root(() => {
|
|
242
|
-
traceRender("appendChild:component", printChild(child));
|
|
242
|
+
traceRender("appendChild:component", () => printChild(child));
|
|
243
243
|
if (child.component === Indent && state.newline) {
|
|
244
244
|
node.push(indentState.indent);
|
|
245
245
|
}
|
|
@@ -248,13 +248,13 @@ function appendChild(node, rawChild, indentState, state) {
|
|
|
248
248
|
renderWorker(componentRoot, untrack(child), state);
|
|
249
249
|
popStack();
|
|
250
250
|
node.push(componentRoot);
|
|
251
|
-
traceRender("appendChild:component-done", printChild(child));
|
|
252
|
-
}, child
|
|
251
|
+
traceRender("appendChild:component-done", () => printChild(child));
|
|
252
|
+
}, child);
|
|
253
253
|
} else if (typeof child === "function") {
|
|
254
|
-
traceRender("appendChild:memo", child.toString());
|
|
254
|
+
traceRender("appendChild:memo", () => child.toString());
|
|
255
255
|
const index = node.length;
|
|
256
256
|
effect(prev => {
|
|
257
|
-
traceRender("memoEffect:run", "");
|
|
257
|
+
traceRender("memoEffect:run", () => "");
|
|
258
258
|
let res = child();
|
|
259
259
|
while (typeof res === "function" && !isComponentCreator(res)) {
|
|
260
260
|
res = res();
|
|
@@ -265,11 +265,11 @@ function appendChild(node, rawChild, indentState, state) {
|
|
|
265
265
|
node[index] = newNodes;
|
|
266
266
|
return newNodes;
|
|
267
267
|
});
|
|
268
|
-
traceRender("appendChild:memo-done", "");
|
|
268
|
+
traceRender("appendChild:memo-done", () => "");
|
|
269
269
|
} else {
|
|
270
|
-
traceRender("appendChild:array", dumpChildren(child));
|
|
270
|
+
traceRender("appendChild:array", () => dumpChildren(child));
|
|
271
271
|
renderWorker(node, child, state);
|
|
272
|
-
traceRender("appendChild:array-done", dumpChildren(child));
|
|
272
|
+
traceRender("appendChild:array-done", () => dumpChildren(child));
|
|
273
273
|
}
|
|
274
274
|
}
|
|
275
275
|
function reindent(str, indent) {
|
|
@@ -310,6 +310,8 @@ function printChild(child) {
|
|
|
310
310
|
return "<" + child.component.name + ">";
|
|
311
311
|
} else if (typeof child === "function") {
|
|
312
312
|
return "$memo";
|
|
313
|
+
} else if (isRef(child)) {
|
|
314
|
+
return "$ref";
|
|
313
315
|
} else {
|
|
314
316
|
return JSON.stringify(child);
|
|
315
317
|
}
|
package/dist/src/render.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.js","names":["
|
|
1
|
+
{"version":3,"file":"render.js","names":["isRef","Indent","useContext","IndentContext","SourceFileContext","effect","getContext","isComponentCreator","popStack","printRenderStack","pushStack","root","untrack","isRefkey","nodesToContext","WeakMap","getContextForRenderNode","node","get","traceRender","phase","message","render","children","tree","renderTree","rootDirectory","undefined","collectSourceFiles","Error","currentDirectory","Array","isArray","context","recurse","meta","directory","kind","path","contents","push","sourceFile","filetype","flat","Infinity","join","cwd","child","rootElem","state","newline","renderWorker","e","dumpChildren","set","indent","appendChild","rawChild","indentState","printChild","normalizeChild","match","reindented","reindent","indentString","JSON","stringify","component","componentRoot","props","toString","index","length","prev","res","newNodes","str","lines","split","slice","map","line","value","sfContext","reference","refkey","String","name"],"sources":["../../src/render.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,KAAK,QAAQ,iBAAiB;AACvC,SAASC,MAAM,QAAqB,wBAAwB;AAC5D,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,aAAa,QAAQ,qBAAqB;AACnD,SAASC,iBAAiB,QAAQ,0BAA0B;AAC5D,SAIEC,MAAM,EACNC,UAAU,EACVC,kBAAkB,EAClBC,QAAQ,EACRC,gBAAgB,EAChBC,SAAS,EACTC,IAAI,EACJC,OAAO,QACF,kBAAkB;AACzB,SAASC,QAAQ,QAAQ,aAAa;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAcA,MAAMC,cAAc,GAAG,IAAIC,OAAO,CAA0B,CAAC;AAE7D,OAAO,SAASC,uBAAuBA,CAACC,IAAoB,EAAE;EAC5D,OAAOH,cAAc,CAACI,GAAG,CAACD,IAAI,CAAC;AACjC;AAKA,SAASE,WAAWA,CAACC,KAAa,EAAEC,OAAqB,EAAE;EACzD,OAAO,KAAK;EACZ;AACF;AAEA,OAAO,SAASC,MAAMA,CAACC,QAAkB,EAAmB;EAC1D,MAAMC,IAAI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","ignoreList":[]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Ref } from "@vue/reactivity";
|
|
2
|
+
import { OutputSymbol } from "./binder.js";
|
|
3
|
+
import { Children, Component, ComponentDefinition } from "./jsx-runtime.js";
|
|
4
|
+
export interface SlotInstance extends ComponentDefinition {
|
|
5
|
+
}
|
|
6
|
+
export interface SlotDefinition<TSlotProps> {
|
|
7
|
+
find: (...args: any[]) => () => Ref<unknown>;
|
|
8
|
+
create(key: unknown, props: TSlotProps, defaultContent?: Children): ComponentDefinition;
|
|
9
|
+
}
|
|
10
|
+
export type SlotKey = Ref<unknown>;
|
|
11
|
+
export declare function defineSlot<TSlotProps, TFinder extends (...args: any[]) => Ref<unknown> | unknown = (...args: any[]) => Ref<unknown> | unknown>(finder: TFinder): SlotDefinition<TSlotProps>;
|
|
12
|
+
export declare const extensionEffects: (() => void)[];
|
|
13
|
+
export declare function replace<T>(slotKeyFn: () => SlotKey, replacement: Component<T>): void;
|
|
14
|
+
export declare function rename(slotKeyFn: () => Ref<OutputSymbol | undefined>, newName: string): void;
|
|
15
|
+
//# sourceMappingURL=slot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slot.d.ts","sourceRoot":"","sources":["../../src/slot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,QAAQ,EACR,SAAS,EACT,mBAAmB,EAGpB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,YAAa,SAAQ,mBAAmB;CAAG;AAE5D,MAAM,WAAW,cAAc,CAAC,UAAU;IACxC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,CACJ,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,UAAU,EACjB,cAAc,CAAC,EAAE,QAAQ,GACxB,mBAAmB,CAAC;CACxB;AAED,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;AAInC,wBAAgB,UAAU,CACxB,UAAU,EACV,OAAO,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,CAC3D,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO,EAC3B,MAAM,EAAE,OAAO,GAAG,cAAc,CAAC,UAAU,CAAC,CAsB7C;AAED,eAAO,MAAM,gBAAgB,EAAE,CAAC,MAAM,IAAI,CAAC,EAAO,CAAC;AAEnD,wBAAgB,OAAO,CAAC,CAAC,EACvB,SAAS,EAAE,MAAM,OAAO,EACxB,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC,QAkB1B;AAED,wBAAgB,MAAM,CACpB,SAAS,EAAE,MAAM,GAAG,CAAC,YAAY,GAAG,SAAS,CAAC,EAC9C,OAAO,EAAE,MAAM,QAShB"}
|
package/dist/src/slot.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ref } from "@vue/reactivity";
|
|
2
|
+
import { effect, memo } from "./jsx-runtime.js";
|
|
3
|
+
const slotMappers = new Map();
|
|
4
|
+
export function defineSlot(finder) {
|
|
5
|
+
return {
|
|
6
|
+
find: (...args) => () => ref(finder(...args)),
|
|
7
|
+
create(key, props, defaultContent) {
|
|
8
|
+
return function () {
|
|
9
|
+
return memo(() => {
|
|
10
|
+
if (key === undefined) {
|
|
11
|
+
return defaultContent;
|
|
12
|
+
}
|
|
13
|
+
const component = slotMappers.get(key);
|
|
14
|
+
if (!component) {
|
|
15
|
+
return defaultContent;
|
|
16
|
+
}
|
|
17
|
+
return component({
|
|
18
|
+
...props,
|
|
19
|
+
original: defaultContent
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export const extensionEffects = [];
|
|
27
|
+
export function replace(slotKeyFn, replacement) {
|
|
28
|
+
extensionEffects.push(() => {
|
|
29
|
+
effect(prev => {
|
|
30
|
+
if (prev) {
|
|
31
|
+
slotMappers.delete(prev.value);
|
|
32
|
+
}
|
|
33
|
+
const slotKey = slotKeyFn();
|
|
34
|
+
if (slotKey.value === undefined) {
|
|
35
|
+
return slotKey;
|
|
36
|
+
}
|
|
37
|
+
slotMappers.set(slotKey.value, replacement);
|
|
38
|
+
return slotKey;
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
export function rename(slotKeyFn, newName) {
|
|
43
|
+
extensionEffects.push(() => {
|
|
44
|
+
effect(() => {
|
|
45
|
+
const sym = slotKeyFn().value;
|
|
46
|
+
if (!sym) return;
|
|
47
|
+
sym.name = newName;
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=slot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slot.js","names":["ref","effect","memo","slotMappers","Map","defineSlot","finder","find","args","create","key","props","defaultContent","undefined","component","get","original","extensionEffects","replace","slotKeyFn","replacement","push","prev","delete","value","slotKey","set","rename","newName","sym","name"],"sources":["../../src/slot.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,GAAG,QAAa,iBAAiB;AAE1C,SAIEC,MAAM,EACNC,IAAI,QACC,kBAAkB;AAezB,MAAMC,WAAW,GAAG,IAAIC,GAAG,CAAoC,CAAC;AAEhE,OAAO,SAASC,UAAUA,CAKxBC,MAAe,EAA8B;EAC7C,OAAO;IACLC,IAAI,EAAGA,CAAC,GAAGC,IAAW,KACpB,MACER,GAAG,CAACM,MAAM,CAAC,GAAGE,IAAI,CAAC,CAAS;IAChCC,MAAMA,CAACC,GAAG,EAAEC,KAAK,EAAEC,cAAc,EAAE;MACjC,OAAO,YAAY;QACjB,OAAOV,IAAI,CAAC,MAAM;UAChB,IAAIQ,GAAG,KAAKG,SAAS,EAAE;YACrB,OAAOD,cAAc;UACvB;UAEA,MAAME,SAAS,GAAGX,WAAW,CAACY,GAAG,CAACL,GAAG,CAAC;UACtC,IAAI,CAACI,SAAS,EAAE;YACd,OAAOF,cAAc;UACvB;UAEA,OAAOE,SAAS,CAAC;YAAE,GAAGH,KAAK;YAAEK,QAAQ,EAAEJ;UAAe,CAAC,CAAC;QAC1D,CAAC,CAAC;MACJ,CAAC;IACH;EACF,CAAC;AACH;AAEA,OAAO,MAAMK,gBAAgC,GAAG,EAAE;AAElD,OAAO,SAASC,OAAOA,CACrBC,SAAwB,EACxBC,WAAyB,EACzB;EACAH,gBAAgB,CAACI,IAAI,CAAC,MAAM;IAC1BpB,MAAM,CAAEqB,IAAyB,IAAK;MACpC,IAAIA,IAAI,EAAE;QACRnB,WAAW,CAACoB,MAAM,CAACD,IAAI,CAACE,KAAK,CAAC;MAChC;MAEA,MAAMC,OAAO,GAAGN,SAAS,CAAC,CAAC;MAC3B,IAAIM,OAAO,CAACD,KAAK,KAAKX,SAAS,EAAE;QAC/B,OAAOY,OAAO;MAChB;MAEAtB,WAAW,CAACuB,GAAG,CAACD,OAAO,CAACD,KAAK,EAAEJ,WAAW,CAAC;MAE3C,OAAOK,OAAO;IAChB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEA,OAAO,SAASE,MAAMA,CACpBR,SAA8C,EAC9CS,OAAe,EACf;EACAX,gBAAgB,CAACI,IAAI,CAAC,MAAM;IAC1BpB,MAAM,CAAC,MAAM;MACX,MAAM4B,GAAG,GAAGV,SAAS,CAAC,CAAC,CAACK,KAAK;MAC7B,IAAI,CAACK,GAAG,EAAE;MACVA,GAAG,CAACC,IAAI,GAAGF,OAAO;IACpB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ","ignoreList":[]}
|