effect-start 0.29.0 → 0.30.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.
Files changed (229) hide show
  1. package/README.md +1 -1
  2. package/dist/{_Development.d.ts → Development.d.ts} +2 -1
  3. package/dist/Development.d.ts.map +1 -0
  4. package/dist/{_Development.js → Development.js} +2 -1
  5. package/dist/Development.js.map +1 -0
  6. package/dist/Fetch.d.ts +0 -8
  7. package/dist/Fetch.d.ts.map +1 -1
  8. package/dist/Fetch.js +6 -22
  9. package/dist/Fetch.js.map +1 -1
  10. package/dist/FileRouter.d.ts.map +1 -1
  11. package/dist/FileRouter.js +2 -1
  12. package/dist/FileRouter.js.map +1 -1
  13. package/dist/GlobalLayer.d.ts.map +1 -1
  14. package/dist/GlobalLayer.js +1 -1
  15. package/dist/GlobalLayer.js.map +1 -1
  16. package/dist/Html.d.ts +32 -0
  17. package/dist/Html.d.ts.map +1 -0
  18. package/dist/{hyper/HyperHtml.js → Html.js} +45 -26
  19. package/dist/Html.js.map +1 -0
  20. package/dist/Route.d.ts +20 -7
  21. package/dist/Route.d.ts.map +1 -1
  22. package/dist/Route.js +24 -3
  23. package/dist/Route.js.map +1 -1
  24. package/dist/RouteBody.d.ts +13 -6
  25. package/dist/RouteBody.d.ts.map +1 -1
  26. package/dist/RouteBody.js +38 -27
  27. package/dist/RouteBody.js.map +1 -1
  28. package/dist/RouteHttp.d.ts.map +1 -1
  29. package/dist/RouteHttp.js +18 -1
  30. package/dist/RouteHttp.js.map +1 -1
  31. package/dist/RouteMount.js +1 -1
  32. package/dist/RouteMount.js.map +1 -1
  33. package/dist/System.d.ts +1 -1
  34. package/dist/System.d.ts.map +1 -1
  35. package/dist/System.js.map +1 -1
  36. package/dist/_ChildProcess.d.ts +1 -1
  37. package/dist/_ChildProcess.d.ts.map +1 -1
  38. package/dist/_ChildProcess.js.map +1 -1
  39. package/dist/bun/BunRoute.d.ts +1 -1
  40. package/dist/bun/BunRoute.d.ts.map +1 -1
  41. package/dist/bun/BunRoute.js +102 -33
  42. package/dist/bun/BunRoute.js.map +1 -1
  43. package/dist/bun/BunServer.d.ts.map +1 -1
  44. package/dist/bun/BunServer.js.map +1 -1
  45. package/dist/cloudflare/CloudflareTunnel.d.ts +12 -0
  46. package/dist/cloudflare/CloudflareTunnel.d.ts.map +1 -0
  47. package/dist/{x/cloudflare → cloudflare}/CloudflareTunnel.js +1 -1
  48. package/dist/cloudflare/CloudflareTunnel.js.map +1 -0
  49. package/dist/cloudflare/index.d.ts.map +1 -0
  50. package/dist/cloudflare/index.js.map +1 -0
  51. package/dist/index.d.ts +3 -1
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +3 -1
  54. package/dist/index.js.map +1 -1
  55. package/dist/jsx-runtime.d.ts +8 -0
  56. package/dist/jsx-runtime.d.ts.map +1 -0
  57. package/dist/{hyper/jsx-runtime.js → jsx-runtime.js} +2 -2
  58. package/dist/jsx-runtime.js.map +1 -0
  59. package/dist/studio/routes/errors/route.d.ts.map +1 -1
  60. package/dist/studio/routes/errors/route.js +3 -4
  61. package/dist/studio/routes/errors/route.js.map +1 -1
  62. package/dist/studio/routes/fiberDetail.d.ts.map +1 -1
  63. package/dist/studio/routes/fiberDetail.js +1 -2
  64. package/dist/studio/routes/fiberDetail.js.map +1 -1
  65. package/dist/studio/routes/fibers/route.d.ts.map +1 -1
  66. package/dist/studio/routes/fibers/route.js +3 -4
  67. package/dist/studio/routes/fibers/route.js.map +1 -1
  68. package/dist/studio/routes/logs/route.d.ts.map +1 -1
  69. package/dist/studio/routes/logs/route.js +3 -4
  70. package/dist/studio/routes/logs/route.js.map +1 -1
  71. package/dist/studio/routes/metrics/route.d.ts.map +1 -1
  72. package/dist/studio/routes/metrics/route.js +3 -4
  73. package/dist/studio/routes/metrics/route.js.map +1 -1
  74. package/dist/studio/routes/route.d.ts +1 -1
  75. package/dist/studio/routes/routes/route.d.ts.map +1 -1
  76. package/dist/studio/routes/routes/route.js +1 -2
  77. package/dist/studio/routes/routes/route.js.map +1 -1
  78. package/dist/studio/routes/services/route.d.ts.map +1 -1
  79. package/dist/studio/routes/services/route.js +1 -2
  80. package/dist/studio/routes/services/route.js.map +1 -1
  81. package/dist/studio/routes/system/route.d.ts.map +1 -1
  82. package/dist/studio/routes/system/route.js +3 -4
  83. package/dist/studio/routes/system/route.js.map +1 -1
  84. package/dist/studio/routes/traceDetail.d.ts.map +1 -1
  85. package/dist/studio/routes/traceDetail.js +1 -2
  86. package/dist/studio/routes/traceDetail.js.map +1 -1
  87. package/dist/studio/routes/traces/route.d.ts.map +1 -1
  88. package/dist/studio/routes/traces/route.js +3 -4
  89. package/dist/studio/routes/traces/route.js.map +1 -1
  90. package/dist/studio/routes/tree.d.ts +1 -1
  91. package/dist/studio/ui/Errors.d.ts +1 -1
  92. package/dist/studio/ui/Errors.d.ts.map +1 -1
  93. package/dist/studio/ui/Fibers.d.ts +2 -2
  94. package/dist/studio/ui/Fibers.d.ts.map +1 -1
  95. package/dist/studio/ui/Logs.d.ts +1 -1
  96. package/dist/studio/ui/Logs.d.ts.map +1 -1
  97. package/dist/studio/ui/Metrics.d.ts +1 -1
  98. package/dist/studio/ui/Metrics.d.ts.map +1 -1
  99. package/dist/studio/ui/Routes.d.ts +1 -1
  100. package/dist/studio/ui/Routes.d.ts.map +1 -1
  101. package/dist/studio/ui/Services.d.ts +1 -1
  102. package/dist/studio/ui/Services.d.ts.map +1 -1
  103. package/dist/studio/ui/Shell.d.ts +2 -2
  104. package/dist/studio/ui/Shell.d.ts.map +1 -1
  105. package/dist/studio/ui/System.d.ts +1 -1
  106. package/dist/studio/ui/System.d.ts.map +1 -1
  107. package/dist/studio/ui/Traces.d.ts +3 -3
  108. package/dist/studio/ui/Traces.d.ts.map +1 -1
  109. package/dist/tailscale/TailscaleTunnel.d.ts +16 -0
  110. package/dist/tailscale/TailscaleTunnel.d.ts.map +1 -0
  111. package/dist/{x/tailscale → tailscale}/TailscaleTunnel.js +2 -2
  112. package/dist/tailscale/TailscaleTunnel.js.map +1 -0
  113. package/dist/tailscale/index.d.ts.map +1 -0
  114. package/dist/tailscale/index.js.map +1 -0
  115. package/dist/tailwind/TailwindPlugin.d.ts.map +1 -0
  116. package/dist/tailwind/TailwindPlugin.js.map +1 -0
  117. package/dist/tailwind/compile.d.ts.map +1 -0
  118. package/dist/{x/tailwind → tailwind}/compile.js +1 -1
  119. package/dist/tailwind/compile.js.map +1 -0
  120. package/dist/tailwind/index.d.ts +3 -0
  121. package/dist/tailwind/index.d.ts.map +1 -0
  122. package/dist/tailwind/index.js +3 -0
  123. package/dist/tailwind/index.js.map +1 -0
  124. package/dist/tailwind/plugin.d.ts.map +1 -0
  125. package/dist/{x/tailwind → tailwind}/plugin.js +1 -1
  126. package/dist/tailwind/plugin.js.map +1 -0
  127. package/package.json +37 -37
  128. package/src/{_Development.ts → Development.ts} +5 -0
  129. package/src/Fetch.ts +10 -37
  130. package/src/FileRouter.ts +2 -1
  131. package/src/GlobalLayer.ts +3 -1
  132. package/src/{hyper/HyperHtml.ts → Html.ts} +90 -30
  133. package/src/Route.ts +67 -11
  134. package/src/RouteBody.ts +87 -62
  135. package/src/RouteHttp.ts +19 -1
  136. package/src/RouteMount.ts +1 -1
  137. package/src/System.ts +1 -1
  138. package/src/_ChildProcess.ts +1 -1
  139. package/src/bun/BunRoute.ts +125 -37
  140. package/src/bun/BunServer.ts +1 -0
  141. package/src/{x/cloudflare → cloudflare}/CloudflareTunnel.ts +1 -1
  142. package/src/index.ts +3 -1
  143. package/src/jsx-runtime.ts +15 -0
  144. package/src/{hyper/jsx.d.ts → jsx.d.ts} +3 -3
  145. package/src/studio/routes/errors/route.tsx +3 -4
  146. package/src/studio/routes/fiberDetail.tsx +1 -2
  147. package/src/studio/routes/fibers/route.tsx +3 -4
  148. package/src/studio/routes/logs/route.tsx +3 -4
  149. package/src/studio/routes/metrics/route.tsx +3 -4
  150. package/src/studio/routes/routes/route.tsx +1 -2
  151. package/src/studio/routes/services/route.tsx +1 -2
  152. package/src/studio/routes/system/route.tsx +3 -4
  153. package/src/studio/routes/traceDetail.tsx +1 -2
  154. package/src/studio/routes/traces/route.tsx +3 -4
  155. package/src/{x/tailscale → tailscale}/TailscaleTunnel.ts +2 -2
  156. package/src/{x/tailwind → tailwind}/compile.ts +1 -1
  157. package/src/tailwind/index.ts +2 -0
  158. package/src/{x/tailwind → tailwind}/plugin.ts +1 -1
  159. package/dist/_Development.d.ts.map +0 -1
  160. package/dist/_Development.js.map +0 -1
  161. package/dist/hyper/Hyper.d.ts +0 -26
  162. package/dist/hyper/Hyper.d.ts.map +0 -1
  163. package/dist/hyper/Hyper.js +0 -24
  164. package/dist/hyper/Hyper.js.map +0 -1
  165. package/dist/hyper/HyperHtml.d.ts +0 -24
  166. package/dist/hyper/HyperHtml.d.ts.map +0 -1
  167. package/dist/hyper/HyperHtml.js.map +0 -1
  168. package/dist/hyper/HyperHtml.test.d.ts +0 -2
  169. package/dist/hyper/HyperHtml.test.d.ts.map +0 -1
  170. package/dist/hyper/HyperHtml.test.js +0 -283
  171. package/dist/hyper/HyperHtml.test.js.map +0 -1
  172. package/dist/hyper/HyperNode.d.ts +0 -14
  173. package/dist/hyper/HyperNode.d.ts.map +0 -1
  174. package/dist/hyper/HyperNode.js +0 -12
  175. package/dist/hyper/HyperNode.js.map +0 -1
  176. package/dist/hyper/HyperRoute.d.ts +0 -9
  177. package/dist/hyper/HyperRoute.d.ts.map +0 -1
  178. package/dist/hyper/HyperRoute.js +0 -33
  179. package/dist/hyper/HyperRoute.js.map +0 -1
  180. package/dist/hyper/HyperRoute.test.d.ts +0 -2
  181. package/dist/hyper/HyperRoute.test.d.ts.map +0 -1
  182. package/dist/hyper/HyperRoute.test.js +0 -84
  183. package/dist/hyper/HyperRoute.test.js.map +0 -1
  184. package/dist/hyper/html.d.ts +0 -12
  185. package/dist/hyper/html.d.ts.map +0 -1
  186. package/dist/hyper/html.js +0 -31
  187. package/dist/hyper/html.js.map +0 -1
  188. package/dist/hyper/index.d.ts +0 -7
  189. package/dist/hyper/index.d.ts.map +0 -1
  190. package/dist/hyper/index.js +0 -6
  191. package/dist/hyper/index.js.map +0 -1
  192. package/dist/hyper/jsx-runtime.d.ts +0 -8
  193. package/dist/hyper/jsx-runtime.d.ts.map +0 -1
  194. package/dist/hyper/jsx-runtime.js.map +0 -1
  195. package/dist/x/cloudflare/CloudflareTunnel.d.ts +0 -12
  196. package/dist/x/cloudflare/CloudflareTunnel.d.ts.map +0 -1
  197. package/dist/x/cloudflare/CloudflareTunnel.js.map +0 -1
  198. package/dist/x/cloudflare/index.d.ts.map +0 -1
  199. package/dist/x/cloudflare/index.js.map +0 -1
  200. package/dist/x/tailscale/TailscaleTunnel.d.ts +0 -16
  201. package/dist/x/tailscale/TailscaleTunnel.d.ts.map +0 -1
  202. package/dist/x/tailscale/TailscaleTunnel.js.map +0 -1
  203. package/dist/x/tailscale/index.d.ts.map +0 -1
  204. package/dist/x/tailscale/index.js.map +0 -1
  205. package/dist/x/tailwind/TailwindPlugin.d.ts.map +0 -1
  206. package/dist/x/tailwind/TailwindPlugin.js.map +0 -1
  207. package/dist/x/tailwind/compile.d.ts.map +0 -1
  208. package/dist/x/tailwind/compile.js.map +0 -1
  209. package/dist/x/tailwind/plugin.d.ts.map +0 -1
  210. package/dist/x/tailwind/plugin.js.map +0 -1
  211. package/src/hyper/Hyper.ts +0 -55
  212. package/src/hyper/HyperHtml.test.tsx +0 -395
  213. package/src/hyper/HyperNode.ts +0 -33
  214. package/src/hyper/HyperRoute.test.tsx +0 -166
  215. package/src/hyper/HyperRoute.ts +0 -59
  216. package/src/hyper/html.ts +0 -47
  217. package/src/hyper/index.ts +0 -6
  218. package/src/hyper/jsx-runtime.ts +0 -15
  219. /package/dist/{x/cloudflare → cloudflare}/index.d.ts +0 -0
  220. /package/dist/{x/cloudflare → cloudflare}/index.js +0 -0
  221. /package/dist/{x/tailscale → tailscale}/index.d.ts +0 -0
  222. /package/dist/{x/tailscale → tailscale}/index.js +0 -0
  223. /package/dist/{x/tailwind → tailwind}/TailwindPlugin.d.ts +0 -0
  224. /package/dist/{x/tailwind → tailwind}/TailwindPlugin.js +0 -0
  225. /package/dist/{x/tailwind → tailwind}/compile.d.ts +0 -0
  226. /package/dist/{x/tailwind → tailwind}/plugin.d.ts +0 -0
  227. /package/src/{x/cloudflare → cloudflare}/index.ts +0 -0
  228. /package/src/{x/tailscale → tailscale}/index.ts +0 -0
  229. /package/src/{x/tailwind → tailwind}/TailwindPlugin.ts +0 -0
@@ -1,7 +1,6 @@
1
1
  import * as Stream from "effect/Stream"
2
2
  import * as Route from "../../../Route.ts"
3
- import * as HyperHtml from "../../../hyper/HyperHtml.ts"
4
- import * as HyperRoute from "../../../hyper/HyperRoute.ts"
3
+ import * as Html from "../../../Html.ts"
5
4
  import * as StudioStore from "../../StudioStore.ts"
6
5
  import * as Logs from "../../ui/Logs.tsx"
7
6
  import * as Shell from "../../ui/Shell.tsx"
@@ -9,7 +8,7 @@ import * as Shell from "../../ui/Shell.tsx"
9
8
  const prefix = StudioStore.store.prefix
10
9
 
11
10
  export default Route.get(
12
- HyperRoute.html(function* (ctx) {
11
+ Route.html(function* (ctx) {
13
12
  const url = new URL(ctx.request.url)
14
13
  const level = url.searchParams.get("logLevel") || ""
15
14
  const search = url.searchParams.get("logSearch") || ""
@@ -62,7 +61,7 @@ export default Route.get(
62
61
  Stream.fromPubSub(StudioStore.store.events).pipe(
63
62
  Stream.filter((e) => e._tag === "Log"),
64
63
  Stream.map((e) => {
65
- const html = HyperHtml.renderToString(<Logs.LogLine log={e.log} />).replace(/\n/g, "")
64
+ const html = Html.renderToString(<Logs.LogLine log={e.log} />).replace(/\n/g, "")
66
65
  return {
67
66
  event: "datastar-patch-elements",
68
67
  data: `selector #logs-container\nmode prepend\nelements ${html}`,
@@ -1,13 +1,12 @@
1
1
  import * as Stream from "effect/Stream"
2
2
  import * as Route from "../../../Route.ts"
3
- import * as HyperHtml from "../../../hyper/HyperHtml.ts"
4
- import * as HyperRoute from "../../../hyper/HyperRoute.ts"
3
+ import * as Html from "../../../Html.ts"
5
4
  import * as StudioStore from "../../StudioStore.ts"
6
5
  import * as Metrics from "../../ui/Metrics.tsx"
7
6
  import * as Shell from "../../ui/Shell.tsx"
8
7
 
9
8
  export default Route.get(
10
- HyperRoute.html(function* () {
9
+ Route.html(function* () {
11
10
  return (
12
11
  <Shell.Shell prefix={StudioStore.store.prefix} active="metrics">
13
12
  <div class="tab-header">Metrics</div>
@@ -22,7 +21,7 @@ export default Route.get(
22
21
  Stream.fromPubSub(StudioStore.store.events).pipe(
23
22
  Stream.filter((e) => e._tag === "MetricsSnapshot"),
24
23
  Stream.map((e) => {
25
- const html = HyperHtml.renderToString(<Metrics.MetricsGrid metrics={e.metrics} />).replace(
24
+ const html = Html.renderToString(<Metrics.MetricsGrid metrics={e.metrics} />).replace(
26
25
  /\n/g,
27
26
  "",
28
27
  )
@@ -1,12 +1,11 @@
1
1
  import * as Route from "../../../Route.ts"
2
2
  import * as RouteTree from "../../../RouteTree.ts"
3
- import * as HyperRoute from "../../../hyper/HyperRoute.ts"
4
3
  import * as StudioStore from "../../StudioStore.ts"
5
4
  import * as Routes from "../../ui/Routes.tsx"
6
5
  import * as Shell from "../../ui/Shell.tsx"
7
6
 
8
7
  export default Route.get(
9
- HyperRoute.html(function* () {
8
+ Route.html(function* () {
10
9
  const tree = yield* Route.Routes
11
10
  const routes: Array<Routes.RouteInfo> = []
12
11
  for (const route of RouteTree.walk(tree)) {
@@ -1,12 +1,11 @@
1
1
  import * as Effect from "effect/Effect"
2
2
  import * as Route from "../../../Route.ts"
3
- import * as HyperRoute from "../../../hyper/HyperRoute.ts"
4
3
  import * as StudioStore from "../../StudioStore.ts"
5
4
  import * as Services from "../../ui/Services.tsx"
6
5
  import * as Shell from "../../ui/Shell.tsx"
7
6
 
8
7
  export default Route.get(
9
- HyperRoute.html(function* () {
8
+ Route.html(function* () {
10
9
  const ctx = yield* Effect.context<never>()
11
10
  const services = Services.collectServices(ctx.unsafeMap)
12
11
  return (
@@ -1,13 +1,12 @@
1
1
  import * as Stream from "effect/Stream"
2
2
  import * as Route from "../../../Route.ts"
3
- import * as HyperHtml from "../../../hyper/HyperHtml.ts"
4
- import * as HyperRoute from "../../../hyper/HyperRoute.ts"
3
+ import * as Html from "../../../Html.ts"
5
4
  import * as StudioStore from "../../StudioStore.ts"
6
5
  import * as System from "../../ui/System.tsx"
7
6
  import * as Shell from "../../ui/Shell.tsx"
8
7
 
9
8
  export default Route.get(
10
- HyperRoute.html(function* () {
9
+ Route.html(function* () {
11
10
  const stats = StudioStore.store.process
12
11
  return (
13
12
  <Shell.Shell prefix={StudioStore.store.prefix} active="system">
@@ -29,7 +28,7 @@ export default Route.get(
29
28
  Stream.fromPubSub(StudioStore.store.events).pipe(
30
29
  Stream.filter((e) => e._tag === "ProcessSnapshot"),
31
30
  Stream.map((e) => {
32
- const html = HyperHtml.renderToString(<System.SystemStatsView stats={e.stats} />).replace(
31
+ const html = Html.renderToString(<System.SystemStatsView stats={e.stats} />).replace(
33
32
  /\n/g,
34
33
  "",
35
34
  )
@@ -1,14 +1,13 @@
1
1
  import * as Schema from "effect/Schema"
2
2
  import * as Route from "../../Route.ts"
3
3
  import * as RouteSchema from "../../RouteSchema.ts"
4
- import * as HyperRoute from "../../hyper/HyperRoute.ts"
5
4
  import * as StudioStore from "../StudioStore.ts"
6
5
  import * as Shell from "../ui/Shell.tsx"
7
6
  import * as Traces from "../ui/Traces.tsx"
8
7
 
9
8
  export default Route.get(
10
9
  RouteSchema.schemaPathParams(Schema.Struct({ id: Schema.String })),
11
- HyperRoute.html(function* (ctx) {
10
+ Route.html(function* (ctx) {
12
11
  let traceId: bigint
13
12
  try {
14
13
  traceId = BigInt(ctx.pathParams.id)
@@ -1,8 +1,7 @@
1
1
  import * as Effect from "effect/Effect"
2
2
  import * as Stream from "effect/Stream"
3
3
  import * as Route from "../../../Route.ts"
4
- import * as HyperHtml from "../../../hyper/HyperHtml.ts"
5
- import * as HyperRoute from "../../../hyper/HyperRoute.ts"
4
+ import * as Html from "../../../Html.ts"
6
5
  import * as StudioStore from "../../StudioStore.ts"
7
6
  import * as Shell from "../../ui/Shell.tsx"
8
7
  import * as Traces from "../../ui/Traces.tsx"
@@ -10,7 +9,7 @@ import * as Traces from "../../ui/Traces.tsx"
10
9
  const prefix = StudioStore.store.prefix
11
10
 
12
11
  export default Route.get(
13
- HyperRoute.html(function* (ctx) {
12
+ Route.html(function* (ctx) {
14
13
  const url = new URL(ctx.request.url)
15
14
  const search = url.searchParams.get("traceSearch") || ""
16
15
  const allSpans = yield* StudioStore.allSpans(StudioStore.store.sql)
@@ -57,7 +56,7 @@ export default Route.get(
57
56
  Stream.mapEffect(() =>
58
57
  Effect.gen(function* () {
59
58
  const spans = yield* StudioStore.allSpans(StudioStore.store.sql)
60
- const html = HyperHtml.renderToString(<Traces.TraceGroups spans={spans} />).replace(
59
+ const html = Html.renderToString(<Traces.TraceGroups spans={spans} />).replace(
61
60
  /\n/g,
62
61
  "",
63
62
  )
@@ -1,5 +1,5 @@
1
- import * as StartApp from "../../_StartApp.ts"
2
- import * as System from "../../System.ts"
1
+ import * as StartApp from "../_StartApp.ts"
2
+ import * as System from "../System.ts"
3
3
  import * as Deferred from "effect/Deferred"
4
4
  import * as Effect from "effect/Effect"
5
5
  import * as Layer from "effect/Layer"
@@ -2,7 +2,7 @@ import fsPromises from "node:fs/promises"
2
2
  import path from "node:path"
3
3
  import { pathToFileURL } from "node:url"
4
4
  import { compile as _compile, compileAst as _compileAst, Features, Polyfills } from "tailwindcss"
5
- import * as BunEnhancedResolve from "../../bun/_BunEnhancedResolve"
5
+ import * as BunEnhancedResolve from "../bun/_BunEnhancedResolve"
6
6
 
7
7
  type AstNode = Parameters<typeof _compileAst>[0][number]
8
8
 
@@ -0,0 +1,2 @@
1
+ export { default } from "./plugin.ts"
2
+ export * as TailwindPlugin from "./TailwindPlugin.ts"
@@ -1,5 +1,5 @@
1
1
  import * as NPath from "node:path"
2
- import * as NodeUtils from "../../node/NodeUtils.ts"
2
+ import * as NodeUtils from "../node/NodeUtils.ts"
3
3
  import * as TailwindPlugin from "./TailwindPlugin.ts"
4
4
 
5
5
  // Append `?dir=` to module identifier to pass custom directory to scan
@@ -1 +0,0 @@
1
- {"version":3,"file":"_Development.d.ts","sourceRoot":"","sources":["../src/_Development.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,MAAM,MAAM,gBAAgB,GACxB,UAAU,CAAC,UAAU,GACrB;IACE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAA;CACxB,CAAA;AAOL,gBAAgB;AAChB,eAAO,MAAM,gBAAgB,YAG5B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAA;CACxC,CAAA;;AAED,qBAAa,WAAY,SAAQ,gBAG9B;CAAG;AA6DN,eAAO,MAAM,KAAK,GAAI,OAAO;IAC3B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,KAAK,OAAO,CAAA;CACnD,2DAA2C,CAAA;AAE5C,eAAO,MAAM,MAAM,gEAAoC,CAAA;AAEvD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAUlD,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"_Development.js","sourceRoot":"","sources":["../src/_Development.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- import * as Context from "effect/Context";
2
- import type { JSX } from "./jsx.d.ts";
3
- type Elements = JSX.IntrinsicElements;
4
- type Children = JSX.Children;
5
- export type { Children, Elements, JSX };
6
- declare const Hyper_base: Context.TagClass<Hyper, "Hyper", {}>;
7
- export declare class Hyper extends Hyper_base {
8
- }
9
- type Primitive = string | number | boolean | null | undefined;
10
- export type HyperType = string | HyperComponent;
11
- export type HyperProps = {
12
- [key: string]: Primitive | ReadonlyArray<Primitive> | HyperNode | HyperNode[] | null | undefined;
13
- };
14
- export type HyperComponent = (props: HyperProps) => HyperNode | Primitive;
15
- export interface HyperNode {
16
- type: HyperType;
17
- props: HyperProps;
18
- }
19
- export declare function h(type: HyperType, props: HyperProps): HyperNode;
20
- export declare function unsafeUse<Value>(tag: Context.Tag<any, Value>): Value;
21
- export type GenericJsxObject = {
22
- type: any;
23
- props: any;
24
- };
25
- export declare function isGenericJsxObject(value: unknown): value is GenericJsxObject;
26
- //# sourceMappingURL=Hyper.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Hyper.d.ts","sourceRoot":"","sources":["../../src/hyper/Hyper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAGzC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAErC,KAAK,QAAQ,GAAG,GAAG,CAAC,iBAAiB,CAAA;AAErC,KAAK,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAA;AAE5B,YAAY,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAA;;AAEvC,qBAAa,KAAM,SAAQ,UAAiC;CAAG;AAI/D,KAAK,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;AAE7D,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,cAAc,CAAA;AAE/C,MAAM,MAAM,UAAU,GAAG;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,SAAS,GAAG,SAAS,EAAE,GAAG,IAAI,GAAG,SAAS,CAAA;CACjG,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,UAAU,KAAK,SAAS,GAAG,SAAS,CAAA;AAEzE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,EAAE,UAAU,CAAA;CAClB;AAED,wBAAgB,CAAC,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,GAAG,SAAS,CAQ/D;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,SAK5D;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,GAAG,CAAA;IACT,KAAK,EAAE,GAAG,CAAA;CACX,CAAA;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAE5E"}
@@ -1,24 +0,0 @@
1
- import * as Context from "effect/Context";
2
- import * as Fiber from "effect/Fiber";
3
- import * as Option from "effect/Option";
4
- export class Hyper extends Context.Tag("Hyper")() {
5
- }
6
- const NoChildren = Object.freeze([]);
7
- export function h(type, props) {
8
- return {
9
- type,
10
- props: {
11
- ...props,
12
- children: props.children ?? NoChildren,
13
- },
14
- };
15
- }
16
- export function unsafeUse(tag) {
17
- const currentFiber = Option.getOrThrow(Fiber.getCurrentFiber());
18
- const context = currentFiber.currentContext;
19
- return Context.unsafeGet(context, tag);
20
- }
21
- export function isGenericJsxObject(value) {
22
- return typeof value === "object" && value !== null && "type" in value && "props" in value;
23
- }
24
- //# sourceMappingURL=Hyper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Hyper.js","sourceRoot":"","sources":["../../src/hyper/Hyper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AASvC,MAAM,OAAO,KAAM,SAAQ,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAa;CAAG;AAE/D,MAAM,UAAU,GAAyB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;AAiB1D,MAAM,UAAU,CAAC,CAAC,IAAe,EAAE,KAAiB;IAClD,OAAO;QACL,IAAI;QACJ,KAAK,EAAE;YACL,GAAG,KAAK;YACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,UAAU;SACvC;KACF,CAAA;AACH,CAAC;AAED,MAAM,UAAU,SAAS,CAAQ,GAA4B;IAC3D,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC,CAAA;IAC/D,MAAM,OAAO,GAAG,YAAY,CAAC,cAAc,CAAA;IAE3C,OAAO,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;AACxC,CAAC;AAOD,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK,IAAI,OAAO,IAAI,KAAK,CAAA;AAC3F,CAAC"}
@@ -1,24 +0,0 @@
1
- /**
2
- * Renders Hyper JSX nodes to HTML.
3
- *
4
- * Effect Start comes with {@link Hyper} and {@link JsxRuntime} to enable
5
- * JSX support. The advantage of using JSX over HTML strings or templates
6
- * is type safety and better editor support.
7
- *
8
- * JSX nodes are compatible with React's and Solid's.
9
-
10
- * You can enable JSX support by updating `tsconfig.json`:
11
- *
12
- * {
13
- * compilerOptions: {
14
- * jsx: "react-jsx",
15
- * jsxImportSource: "effect-start" | "react" | "praect" // etc.
16
- * }
17
- * }
18
- */
19
- import type * as HyperNode from "./HyperNode.ts";
20
- import type { JSX } from "./jsx.d.ts";
21
- export declare function renderToString(node: JSX.Children, hooks?: {
22
- onNode?: (node: HyperNode.HyperNode) => void;
23
- }): string;
24
- //# sourceMappingURL=HyperHtml.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HyperHtml.d.ts","sourceRoot":"","sources":["../../src/hyper/HyperHtml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAA;AAoCrC,wBAAgB,cAAc,CAC5B,IAAI,EAAE,GAAG,CAAC,QAAQ,EAClB,KAAK,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,SAAS,KAAK,IAAI,CAAA;CAAE,GACvD,MAAM,CAgHR"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"HyperHtml.js","sourceRoot":"","sources":["../../src/hyper/HyperHtml.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=HyperHtml.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HyperHtml.test.d.ts","sourceRoot":"","sources":["../../src/hyper/HyperHtml.test.tsx"],"names":[],"mappings":""}
@@ -1,283 +0,0 @@
1
- import { jsx as _jsx } from "effect-start/jsx-runtime";
2
- /** @jsxImportSource effect-start */
3
- import * as test from "bun:test";
4
- import * as HyperHtml from "./HyperHtml.js";
5
- import * as HyperNode from "./HyperNode.js";
6
- test.it("boolean true attributes render without value (React-like)", () => {
7
- const node = HyperNode.make("div", {
8
- hidden: true,
9
- disabled: true,
10
- "data-active": true,
11
- });
12
- const html = HyperHtml.renderToString(node);
13
- test.expect(html).toBe("<div hidden disabled data-active></div>");
14
- });
15
- test.it("boolean false attributes are omitted", () => {
16
- const node = HyperNode.make("div", {
17
- hidden: false,
18
- disabled: false,
19
- "data-active": false,
20
- });
21
- const html = HyperHtml.renderToString(node);
22
- test.expect(html).toBe("<div></div>");
23
- });
24
- test.it("string attributes render with values", () => {
25
- const node = HyperNode.make("div", {
26
- id: "test",
27
- class: "my-class",
28
- "data-value": "hello",
29
- });
30
- const html = HyperHtml.renderToString(node);
31
- test.expect(html).toBe('<div id="test" class="my-class" data-value="hello"></div>');
32
- });
33
- test.it("number attributes render with values", () => {
34
- const node = HyperNode.make("input", {
35
- type: "number",
36
- min: 0,
37
- max: 100,
38
- value: 50,
39
- });
40
- const html = HyperHtml.renderToString(node);
41
- test.expect(html).toBe('<input type="number" min="0" max="100" value="50">');
42
- });
43
- test.it("null and undefined attributes are omitted", () => {
44
- const node = HyperNode.make("div", {
45
- id: null,
46
- class: undefined,
47
- "data-test": "value",
48
- });
49
- const html = HyperHtml.renderToString(node);
50
- test.expect(html).toBe('<div data-test="value"></div>');
51
- });
52
- test.it("mixed boolean and string attributes", () => {
53
- const node = HyperNode.make("input", {
54
- type: "checkbox",
55
- checked: true,
56
- disabled: false,
57
- name: "test",
58
- value: "on",
59
- });
60
- const html = HyperHtml.renderToString(node);
61
- test.expect(html).toBe('<input type="checkbox" checked name="test" value="on">');
62
- });
63
- test.it("data-* attributes with object values use single-quoted JSON", () => {
64
- const node = HyperNode.make("div", {
65
- "data-signals": {
66
- draft: "",
67
- pendingDraft: "",
68
- username: "User123",
69
- },
70
- });
71
- const html = HyperHtml.renderToString(node);
72
- test
73
- .expect(html)
74
- .toBe(`<div data-signals='{"draft":"","pendingDraft":"","username":"User123"}'></div>`);
75
- });
76
- test.it("data-* attributes with array values use single-quoted JSON", () => {
77
- const node = HyperNode.make("div", {
78
- "data-items": [1, 2, 3],
79
- });
80
- const html = HyperHtml.renderToString(node);
81
- test.expect(html).toBe("<div data-items='[1,2,3]'></div>");
82
- });
83
- test.it("data-* attributes with nested object values use single-quoted JSON", () => {
84
- const node = HyperNode.make("div", {
85
- "data-config": {
86
- user: { name: "John", active: true },
87
- settings: { theme: "dark" },
88
- },
89
- });
90
- const html = HyperHtml.renderToString(node);
91
- test
92
- .expect(html)
93
- .toBe(`<div data-config='{"user":{"name":"John","active":true},"settings":{"theme":"dark"}}'></div>`);
94
- });
95
- test.it("data-* object values with single quotes in values are escaped", () => {
96
- const node = HyperNode.make("div", {
97
- "data-signals": {
98
- message: "it's a test",
99
- name: "O'Brien",
100
- },
101
- });
102
- const html = HyperHtml.renderToString(node);
103
- test
104
- .expect(html)
105
- .toBe(`<div data-signals='{"message":"it&#39;s a test","name":"O&#39;Brien"}'></div>`);
106
- });
107
- test.it("data-* string values are not JSON stringified", () => {
108
- const node = HyperNode.make("div", {
109
- "data-value": "hello world",
110
- });
111
- const html = HyperHtml.renderToString(node);
112
- test.expect(html).toBe('<div data-value="hello world"></div>');
113
- });
114
- test.it("non-data attributes with object values are not JSON stringified", () => {
115
- const node = HyperNode.make("div", {
116
- style: "color: red",
117
- });
118
- const html = HyperHtml.renderToString(node);
119
- test.expect(html).toBe('<div style="color: red"></div>');
120
- });
121
- test.it("script with function child renders as IIFE", () => {
122
- const handler = (window) => {
123
- console.log("Hello from", window.document.title);
124
- };
125
- const node = HyperNode.make("script", {
126
- children: handler,
127
- });
128
- const html = HyperHtml.renderToString(node);
129
- test.expect(html).toBe(`<script>(${handler.toString()})(window)</script>`);
130
- });
131
- test.describe("raw text escaping", () => {
132
- test.it("script children escapes closing tag", () => {
133
- const html = HyperHtml.renderToString(_jsx("script", { children: 'console.log("</script>")' }));
134
- test.expect(html).toBe('<script>console.log("<\\/script>")</script>');
135
- test.expect(html).not.toContain("</script><");
136
- });
137
- test.it("style children escapes closing tag", () => {
138
- const html = HyperHtml.renderToString(_jsx("style", { children: 'div::after { content: "</style>" }' }));
139
- test.expect(html).toBe('<style>div::after { content: "<\\/style>" }</style>');
140
- test.expect(html).not.toContain("</style><");
141
- });
142
- test.it("script dangerouslySetInnerHTML escapes closing tag", () => {
143
- const node = HyperNode.make("script", {
144
- dangerouslySetInnerHTML: { __html: 'console.log("</script>")' },
145
- });
146
- const html = HyperHtml.renderToString(node);
147
- test.expect(html).toBe('<script>console.log("<\\/script>")</script>');
148
- });
149
- test.it("case-insensitive closing tags are escaped", () => {
150
- const html = HyperHtml.renderToString(_jsx("script", { children: 'x = "</Script></SCRIPT></sCrIpT>"' }));
151
- test.expect(html).toBe('<script>x = "<\\/Script><\\/SCRIPT><\\/sCrIpT>"</script>');
152
- });
153
- test.it("closing tag with whitespace is escaped", () => {
154
- const html = HyperHtml.renderToString(_jsx("script", { children: 'x = "</script >"' }));
155
- test.expect(html).toBe('<script>x = "<\\/script >"</script>');
156
- });
157
- test.it("XSS via script injection in script children", () => {
158
- const userInput = '</script><script>alert("xss")</script>';
159
- const html = HyperHtml.renderToString(_jsx("script", { children: `var data = "${userInput}"` }));
160
- test.expect(html).not.toMatch(/<\/script.*<script/i);
161
- });
162
- test.it("XSS via script injection in style children", () => {
163
- const userInput = '</style><script>alert("xss")</script>';
164
- const html = HyperHtml.renderToString(_jsx("style", { children: `div::after { content: "${userInput}" }` }));
165
- test.expect(html).not.toMatch(/<\/style.*<script/i);
166
- });
167
- test.it("XSS via script injection in dangerouslySetInnerHTML", () => {
168
- const userInput = '</script><script>alert("xss")</script>';
169
- const node = HyperNode.make("script", {
170
- dangerouslySetInnerHTML: { __html: `var data = "${userInput}"` },
171
- });
172
- const html = HyperHtml.renderToString(node);
173
- test.expect(html).not.toMatch(/<\/script.*<script/i);
174
- });
175
- test.it("XSS via dangerouslySetInnerHTML", () => {
176
- const userInput = '</script><script>alert("xss")</script>';
177
- const node = HyperNode.make("script", {
178
- dangerouslySetInnerHTML: { __html: `var data = "${userInput}"` },
179
- });
180
- const html = HyperHtml.renderToString(node);
181
- test.expect(html).not.toMatch(/<\/script.*<script/i);
182
- });
183
- test.it("function child with closing tag in string literal", () => {
184
- const html = HyperHtml.renderToString(_jsx("script", { children: (window) => {
185
- const x = "</script><script>alert(1)</script>";
186
- window.document.title = x;
187
- } }));
188
- test.expect(html).not.toMatch(/<\/script.*<script/i);
189
- });
190
- test.it("multiple closing tags in one string", () => {
191
- const html = HyperHtml.renderToString(_jsx("script", { children: 'a = "</script>"; b = "</script>"' }));
192
- test.expect(html).toBe('<script>a = "<\\/script>"; b = "<\\/script>"</script>');
193
- });
194
- test.it("partial closing tag sequences are escaped", () => {
195
- const html = HyperHtml.renderToString(_jsx("script", { children: 'x = "</" + "script>"' }));
196
- test.expect(html).toBe('<script>x = "<\\/" + "script>"</script>');
197
- });
198
- test.it("style dangerouslySetInnerHTML escapes closing tag", () => {
199
- const node = HyperNode.make("style", {
200
- dangerouslySetInnerHTML: { __html: 'div::after { content: "</style>" }' },
201
- });
202
- const html = HyperHtml.renderToString(node);
203
- test.expect(html).not.toMatch(/<\/style.*</);
204
- });
205
- test.it("escaped output is still valid JS", () => {
206
- const html = HyperHtml.renderToString(_jsx("script", { children: 'var x = "</script>"' }));
207
- const content = html.replace("<script>", "").replace("</script>", "");
208
- const fn = new Function(content);
209
- fn();
210
- });
211
- });
212
- test.it("script with arrow function child renders as IIFE", () => {
213
- const node = HyperNode.make("script", {
214
- children: (window) => {
215
- window.alert("test");
216
- },
217
- });
218
- const html = HyperHtml.renderToString(node);
219
- test.expect(html).toContain("<script>(");
220
- test.expect(html).toContain(")(window)</script>");
221
- test.expect(html).toContain("window.alert");
222
- });
223
- test.it("script with string child renders without escaping", () => {
224
- const node = HyperNode.make("script", {
225
- children: "console.log('hello')",
226
- });
227
- const html = HyperHtml.renderToString(node);
228
- test.expect(html).toBe("<script>console.log('hello')</script>");
229
- });
230
- test.it("script with string child preserves ampersands and quotes", () => {
231
- const node = HyperNode.make("script", {
232
- children: 'if (a && b) { console.log("yes") }',
233
- });
234
- const html = HyperHtml.renderToString(node);
235
- test.expect(html).toBe('<script>if (a && b) { console.log("yes") }</script>');
236
- });
237
- test.it("style tag content is not escaped", () => {
238
- const node = HyperNode.make("style", {
239
- children: ".foo > .bar { content: '&'; }",
240
- });
241
- const html = HyperHtml.renderToString(node);
242
- test.expect(html).toBe("<style>.foo > .bar { content: '&'; }</style>");
243
- });
244
- test.it("script with attributes and no children", () => {
245
- const node = HyperNode.make("script", {
246
- type: "module",
247
- src: "https://example.com/app.js",
248
- });
249
- const html = HyperHtml.renderToString(node);
250
- test.expect(html).toBe('<script type="module" src="https://example.com/app.js"></script>');
251
- });
252
- test.it("normal tag string content is escaped", () => {
253
- const node = HyperNode.make("div", {
254
- children: "a && b",
255
- });
256
- const html = HyperHtml.renderToString(node);
257
- test.expect(html).toBe("<div>a &amp;&amp; b</div>");
258
- });
259
- test.it("data-* function values are serialized with toString", () => {
260
- const node = HyperNode.make("div", {
261
- "data-on-click": () => console.log("clicked"),
262
- });
263
- const html = HyperHtml.renderToString(node);
264
- test.expect(html).toContain("data-on-click=");
265
- test.expect(html).toContain("console.log");
266
- });
267
- test.it("data-* object values don't render as [object Object]", () => {
268
- const html = HyperHtml.renderToString(_jsx("div", { "data-signals": { isOpen: false, count: 42 }, children: "content" }));
269
- test.expect(html).toBe(`<div data-signals='{"isOpen":false,"count":42}'>content</div>`);
270
- test.expect(html).not.toContain("[object Object]");
271
- });
272
- test.it("dangerouslySetInnerHTML injects html without escaping", () => {
273
- const html = HyperHtml.renderToString(_jsx("div", { dangerouslySetInnerHTML: { __html: '<span class="bold">hello & world</span>' } }));
274
- test.expect(html).toBe('<div><span class="bold">hello & world</span></div>');
275
- });
276
- test.it("JSX component with data-* object values", () => {
277
- function TestComponent() {
278
- return (_jsx("div", { "data-signals": { isOpen: false }, children: _jsx("span", { children: "nested" }) }));
279
- }
280
- const html = HyperHtml.renderToString(_jsx(TestComponent, {}));
281
- test.expect(html).toBe(`<div data-signals='{"isOpen":false}'><span>nested</span></div>`);
282
- });
283
- //# sourceMappingURL=HyperHtml.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HyperHtml.test.js","sourceRoot":"","sources":["../../src/hyper/HyperHtml.test.tsx"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- export declare const TypeId: "~effect-start/HyperNode";
2
- type Primitive = string | number | boolean | null | undefined;
3
- export type Type = string | HyperComponent;
4
- export type Props = {
5
- [key: string]: Primitive | HyperNode | Iterable<Primitive | HyperNode> | Record<string, unknown> | ((window: Window) => void);
6
- };
7
- export type HyperComponent = (props: Props) => HyperNode | Primitive;
8
- export interface HyperNode {
9
- type: Type;
10
- props: Props;
11
- }
12
- export declare function make(type: Type, props: Props): HyperNode;
13
- export {};
14
- //# sourceMappingURL=HyperNode.d.ts.map