kiru 0.53.0 → 0.54.0-preview.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/dist/components/derive.d.ts +1 -1
- package/dist/components/derive.d.ts.map +1 -1
- package/dist/components/derive.js +3 -2
- package/dist/components/derive.js.map +1 -1
- package/dist/dom.d.ts.map +1 -1
- package/dist/dom.js +6 -2
- package/dist/dom.js.map +1 -1
- package/dist/globals.d.ts +1 -1
- package/dist/globals.d.ts.map +1 -1
- package/dist/globals.js.map +1 -1
- package/dist/hooks/usePromise.d.ts +2 -1
- package/dist/hooks/usePromise.d.ts.map +1 -1
- package/dist/hooks/usePromise.js +31 -62
- package/dist/hooks/usePromise.js.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/router/client/index.d.ts +4 -2
- package/dist/router/client/index.d.ts.map +1 -1
- package/dist/router/client/index.js +59 -13
- package/dist/router/client/index.js.map +1 -1
- package/dist/router/constants.d.ts +2 -0
- package/dist/router/constants.d.ts.map +1 -0
- package/dist/router/constants.js +2 -0
- package/dist/router/constants.js.map +1 -0
- package/dist/router/context.d.ts +2 -0
- package/dist/router/context.d.ts.map +1 -1
- package/dist/router/context.js +5 -1
- package/dist/router/context.js.map +1 -1
- package/dist/router/fileRouterController.d.ts +2 -0
- package/dist/router/fileRouterController.d.ts.map +1 -1
- package/dist/router/fileRouterController.js +195 -107
- package/dist/router/fileRouterController.js.map +1 -1
- package/dist/router/globals.d.ts +3 -0
- package/dist/router/globals.d.ts.map +1 -1
- package/dist/router/globals.js +3 -0
- package/dist/router/globals.js.map +1 -1
- package/dist/router/guard.d.ts +17 -0
- package/dist/router/guard.d.ts.map +1 -0
- package/dist/router/guard.js +45 -0
- package/dist/router/guard.js.map +1 -0
- package/dist/router/head.d.ts.map +1 -1
- package/dist/router/head.js +5 -7
- package/dist/router/head.js.map +1 -1
- package/dist/router/index.d.ts +2 -1
- package/dist/router/index.d.ts.map +1 -1
- package/dist/router/index.js +2 -1
- package/dist/router/index.js.map +1 -1
- package/dist/router/{server → ssg}/index.d.ts +4 -3
- package/dist/router/ssg/index.d.ts.map +1 -0
- package/dist/router/{server → ssg}/index.js +8 -5
- package/dist/router/ssg/index.js.map +1 -0
- package/dist/router/ssr/index.d.ts +20 -0
- package/dist/router/ssr/index.d.ts.map +1 -0
- package/dist/router/ssr/index.js +163 -0
- package/dist/router/ssr/index.js.map +1 -0
- package/dist/router/types.d.ts +42 -16
- package/dist/router/types.d.ts.map +1 -1
- package/dist/router/types.internal.d.ts +4 -0
- package/dist/router/types.internal.d.ts.map +1 -1
- package/dist/router/utils/index.d.ts +8 -3
- package/dist/router/utils/index.d.ts.map +1 -1
- package/dist/router/utils/index.js +38 -6
- package/dist/router/utils/index.js.map +1 -1
- package/dist/scheduler.d.ts +14 -3
- package/dist/scheduler.d.ts.map +1 -1
- package/dist/scheduler.js +3 -4
- package/dist/scheduler.js.map +1 -1
- package/dist/ssr/client.d.ts +1 -1
- package/dist/ssr/client.d.ts.map +1 -1
- package/dist/ssr/server.d.ts +9 -3
- package/dist/ssr/server.d.ts.map +1 -1
- package/dist/ssr/server.js +37 -30
- package/dist/ssr/server.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/format.d.ts +2 -1
- package/dist/utils/format.d.ts.map +1 -1
- package/dist/utils/format.js +4 -1
- package/dist/utils/format.js.map +1 -1
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -1
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/promise.d.ts +2 -0
- package/dist/utils/promise.d.ts.map +1 -1
- package/dist/utils/promise.js +45 -1
- package/dist/utils/promise.js.map +1 -1
- package/dist/utils/runtime.d.ts +1 -1
- package/dist/utils/runtime.js +1 -1
- package/package.json +8 -4
- package/src/components/derive.ts +5 -3
- package/src/dom.ts +5 -1
- package/src/globals.ts +1 -1
- package/src/hooks/usePromise.ts +57 -77
- package/src/index.ts +1 -1
- package/src/router/client/index.ts +114 -16
- package/src/router/constants.ts +1 -0
- package/src/router/context.ts +7 -1
- package/src/router/fileRouterController.ts +304 -132
- package/src/router/globals.ts +4 -0
- package/src/router/guard.ts +72 -0
- package/src/router/head.ts +5 -7
- package/src/router/index.ts +12 -1
- package/src/router/{server → ssg}/index.ts +17 -10
- package/src/router/ssr/index.ts +252 -0
- package/src/router/types.internal.ts +5 -0
- package/src/router/types.ts +53 -16
- package/src/router/utils/index.ts +74 -8
- package/src/scheduler.ts +20 -3
- package/src/ssr/client.ts +1 -1
- package/src/ssr/server.ts +58 -34
- package/src/types.ts +3 -0
- package/src/utils/format.ts +5 -0
- package/src/utils/index.ts +1 -1
- package/src/utils/promise.ts +70 -1
- package/src/utils/runtime.ts +1 -1
- package/dist/router/server/index.d.ts.map +0 -1
- package/dist/router/server/index.js.map +0 -1
|
@@ -1,19 +1,27 @@
|
|
|
1
1
|
import { createElement } from "../../element.js"
|
|
2
2
|
import { __DEV__ } from "../../env.js"
|
|
3
|
+
import { resolveNavguard } from "../guard.js"
|
|
3
4
|
import type {
|
|
5
|
+
DefaultComponentModule,
|
|
4
6
|
FormattedViteImportMap,
|
|
7
|
+
GuardModule,
|
|
5
8
|
RouteMatch,
|
|
6
9
|
ViteImportMap,
|
|
7
10
|
} from "../types.internal"
|
|
11
|
+
import { OnBeforeEnterHook, OnBeforeLeaveHook } from "../types.js"
|
|
8
12
|
|
|
9
13
|
export {
|
|
10
14
|
formatViteImportMap,
|
|
11
15
|
matchRoute,
|
|
12
16
|
match404Route,
|
|
13
|
-
|
|
17
|
+
matchModules,
|
|
14
18
|
normalizePrefixPath,
|
|
15
19
|
parseQuery,
|
|
16
20
|
wrapWithLayouts,
|
|
21
|
+
runBeforeLeaveHooks,
|
|
22
|
+
runBeforeEnterHooks,
|
|
23
|
+
runBeforeEachGuards,
|
|
24
|
+
runAfterEachGuards,
|
|
17
25
|
}
|
|
18
26
|
|
|
19
27
|
function formatViteImportMap(
|
|
@@ -177,20 +185,20 @@ function match404Route(
|
|
|
177
185
|
return null
|
|
178
186
|
}
|
|
179
187
|
|
|
180
|
-
function
|
|
181
|
-
|
|
188
|
+
function matchModules<T = DefaultComponentModule>(
|
|
189
|
+
modules: FormattedViteImportMap<T>,
|
|
182
190
|
routeSegments: string[]
|
|
183
191
|
) {
|
|
184
192
|
return ["/", ...routeSegments].reduce((acc, _, i) => {
|
|
185
|
-
const
|
|
186
|
-
const
|
|
193
|
+
const modulePath = "/" + routeSegments.slice(0, i).join("/")
|
|
194
|
+
const module = modules[modulePath]
|
|
187
195
|
|
|
188
|
-
if (!
|
|
196
|
+
if (!module) {
|
|
189
197
|
return acc
|
|
190
198
|
}
|
|
191
199
|
|
|
192
|
-
return [...acc,
|
|
193
|
-
}, [] as FormattedViteImportMap[string][])
|
|
200
|
+
return [...acc, module]
|
|
201
|
+
}, [] as FormattedViteImportMap<T>[string][])
|
|
194
202
|
}
|
|
195
203
|
|
|
196
204
|
function normalizePrefixPath(path: string) {
|
|
@@ -239,3 +247,61 @@ function wrapWithLayouts(
|
|
|
239
247
|
createElement(page, props)
|
|
240
248
|
)
|
|
241
249
|
}
|
|
250
|
+
|
|
251
|
+
function runBeforeLeaveHooks(
|
|
252
|
+
hooks: OnBeforeLeaveHook[],
|
|
253
|
+
context: Kiru.RequestContext,
|
|
254
|
+
to: string,
|
|
255
|
+
from: string = to
|
|
256
|
+
): false | void {
|
|
257
|
+
for (const hook of hooks) {
|
|
258
|
+
const res = hook(context, to, from)
|
|
259
|
+
if (res === false) {
|
|
260
|
+
return false
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
async function runBeforeEnterHooks(
|
|
266
|
+
hooks: OnBeforeEnterHook[],
|
|
267
|
+
context: Kiru.RequestContext,
|
|
268
|
+
to: string,
|
|
269
|
+
from: string = to
|
|
270
|
+
) {
|
|
271
|
+
for (const hook of hooks) {
|
|
272
|
+
const result = await hook(context, to, from)
|
|
273
|
+
if (typeof result === "string") {
|
|
274
|
+
return result
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
return null
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
async function runBeforeEachGuards(
|
|
282
|
+
guardModules: GuardModule[],
|
|
283
|
+
context: Kiru.RequestContext,
|
|
284
|
+
to: string,
|
|
285
|
+
from: string = to
|
|
286
|
+
): Promise<string | null> {
|
|
287
|
+
const beforeHooks = guardModules
|
|
288
|
+
.map((guardModule) => resolveNavguard(guardModule)?.beforeEach)
|
|
289
|
+
.filter((x) => typeof x === "function")
|
|
290
|
+
|
|
291
|
+
return runBeforeEnterHooks(beforeHooks, context, to, from)
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
async function runAfterEachGuards(
|
|
295
|
+
guardModules: GuardModule[],
|
|
296
|
+
context: Kiru.RequestContext,
|
|
297
|
+
to: string,
|
|
298
|
+
from: string = to
|
|
299
|
+
): Promise<void> {
|
|
300
|
+
const afterHooks = guardModules
|
|
301
|
+
.map((guardModule) => resolveNavguard(guardModule)?.afterEach)
|
|
302
|
+
.filter((x) => typeof x === "function")
|
|
303
|
+
|
|
304
|
+
for (const hook of afterHooks) {
|
|
305
|
+
await hook(context, to, from)
|
|
306
|
+
}
|
|
307
|
+
}
|
package/src/scheduler.ts
CHANGED
|
@@ -52,10 +52,27 @@ let postEffects: Array<Function> = []
|
|
|
52
52
|
let animationFrameHandle = -1
|
|
53
53
|
|
|
54
54
|
/**
|
|
55
|
-
*
|
|
56
|
-
*
|
|
55
|
+
* Defers work until the scheduler becomes idle.
|
|
56
|
+
*
|
|
57
|
+
* This works in two modes:
|
|
58
|
+
* - `await nextIdle()` resolves once idle, allowing async/await usage.
|
|
59
|
+
* - `nextIdle(fn)` schedules a callback to run when idle.
|
|
60
|
+
*
|
|
61
|
+
* Callbacks are executed before promises resolve,
|
|
62
|
+
* and multiple calls queue until the scheduler becomes idle.
|
|
57
63
|
*/
|
|
58
|
-
export function nextIdle(
|
|
64
|
+
export function nextIdle(): Promise<void>
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Schedules `fn` to run once the scheduler becomes idle.
|
|
68
|
+
* If already idle, `fn` executes immediately.
|
|
69
|
+
*/
|
|
70
|
+
export function nextIdle<T extends () => void>(fn: T): void
|
|
71
|
+
|
|
72
|
+
export function nextIdle(fn?: () => void): void | Promise<void> {
|
|
73
|
+
if (!fn) {
|
|
74
|
+
return new Promise<void>(nextIdle)
|
|
75
|
+
}
|
|
59
76
|
if (isRunningOrQueued) {
|
|
60
77
|
nextIdleEffects.push(fn)
|
|
61
78
|
return
|
package/src/ssr/client.ts
CHANGED
package/src/ssr/server.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Readable } from "node:stream"
|
|
2
1
|
import { Fragment } from "../element.js"
|
|
3
2
|
import { renderMode } from "../globals.js"
|
|
4
3
|
import { STREAMED_DATA_EVENT } from "../constants.js"
|
|
@@ -19,54 +18,79 @@ d.querySelectorAll("[k-data]").forEach((p) => {
|
|
|
19
18
|
});
|
|
20
19
|
d.currentScript.remove()
|
|
21
20
|
</script>
|
|
22
|
-
|
|
21
|
+
`.replace(/\s+/g, " ")
|
|
23
22
|
|
|
24
|
-
|
|
23
|
+
interface RenderToReadableStreamConfig {
|
|
24
|
+
/**
|
|
25
|
+
* Include additional data to stream - must be resolved on the client manually.
|
|
26
|
+
*/
|
|
27
|
+
data?: Kiru.StatefulPromise<unknown>[]
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export function renderToReadableStream(
|
|
31
|
+
element: JSX.Element,
|
|
32
|
+
config: RenderToReadableStreamConfig = {}
|
|
33
|
+
): {
|
|
25
34
|
immediate: string
|
|
26
|
-
stream:
|
|
35
|
+
stream: ReadableStream | null
|
|
27
36
|
} {
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
37
|
+
const streamData = createStreamDataHandler()
|
|
38
|
+
if (config.data) {
|
|
39
|
+
streamData.enqueue(config.data)
|
|
40
|
+
}
|
|
32
41
|
|
|
33
42
|
let immediate = ""
|
|
34
|
-
|
|
35
43
|
const ctx: HeadlessRenderContext = {
|
|
36
44
|
write: (chunk) => (immediate += chunk),
|
|
37
|
-
onStreamData
|
|
38
|
-
for (const promise of data) {
|
|
39
|
-
if (streamPromises.has(promise)) continue
|
|
40
|
-
streamPromises.add(promise)
|
|
41
|
-
|
|
42
|
-
const writePromise = promise
|
|
43
|
-
.then(() => ({ data: promise.value }))
|
|
44
|
-
.catch(() => ({ error: promise.error?.message }))
|
|
45
|
-
.then((value) => {
|
|
46
|
-
const content = JSON.stringify(value)
|
|
47
|
-
stream.push(
|
|
48
|
-
`<script id="${promise.id}" k-data type="application/json">${content}</script>`
|
|
49
|
-
)
|
|
50
|
-
})
|
|
51
|
-
|
|
52
|
-
pendingWritePromises.push(writePromise)
|
|
53
|
-
}
|
|
54
|
-
},
|
|
45
|
+
onStreamData: streamData.enqueue,
|
|
55
46
|
}
|
|
56
47
|
|
|
57
48
|
const prev = renderMode.current
|
|
58
49
|
renderMode.current = "stream"
|
|
59
|
-
headlessRender(ctx,
|
|
50
|
+
headlessRender(ctx, Fragment({ children: element }), null, 0)
|
|
60
51
|
renderMode.current = prev
|
|
61
52
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
53
|
+
let stream: ReadableStream | null = null
|
|
54
|
+
if (streamData.chunks.length > 0) {
|
|
55
|
+
stream = new ReadableStream({
|
|
56
|
+
async pull(controller) {
|
|
57
|
+
for await (const chunk of streamData.chunks) {
|
|
58
|
+
controller.enqueue(chunk)
|
|
59
|
+
}
|
|
60
|
+
controller.enqueue(STREAMED_DATA_SETUP)
|
|
61
|
+
controller.close()
|
|
62
|
+
},
|
|
66
63
|
})
|
|
67
|
-
} else {
|
|
68
|
-
stream.push(null)
|
|
69
64
|
}
|
|
70
65
|
|
|
71
66
|
return { immediate, stream }
|
|
72
67
|
}
|
|
68
|
+
|
|
69
|
+
interface StreamDataHandler {
|
|
70
|
+
enqueue: NonNullable<HeadlessRenderContext["onStreamData"]>
|
|
71
|
+
chunks: Promise<string>[]
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
function createStreamDataHandler(): StreamDataHandler {
|
|
75
|
+
const seen = new Set<Kiru.StatefulPromise<unknown>>()
|
|
76
|
+
const chunks: Promise<string>[] = []
|
|
77
|
+
|
|
78
|
+
return {
|
|
79
|
+
chunks,
|
|
80
|
+
enqueue: (items) => {
|
|
81
|
+
for (const item of items) {
|
|
82
|
+
if (seen.has(item)) continue
|
|
83
|
+
seen.add(item)
|
|
84
|
+
|
|
85
|
+
const chunk = item
|
|
86
|
+
.then(() => ({ data: item.value }))
|
|
87
|
+
.catch(() => ({ error: item.error?.message }))
|
|
88
|
+
.then(
|
|
89
|
+
(value, content = JSON.stringify(value)) =>
|
|
90
|
+
`<script id="${item.id}" k-data type="application/json">${content}</script>`
|
|
91
|
+
)
|
|
92
|
+
chunks.push(chunk)
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
}
|
|
96
|
+
}
|
package/src/types.ts
CHANGED
|
@@ -117,6 +117,8 @@ declare global {
|
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
namespace Kiru {
|
|
120
|
+
interface RequestContext {}
|
|
121
|
+
|
|
120
122
|
interface CustomEvents {}
|
|
121
123
|
|
|
122
124
|
interface ProviderProps<T> {
|
|
@@ -173,6 +175,7 @@ declare global {
|
|
|
173
175
|
|
|
174
176
|
interface StatefulPromise<T> extends Promise<T>, PromiseState<T> {}
|
|
175
177
|
|
|
178
|
+
type HydrationMode = "static" | "dynamic"
|
|
176
179
|
type RenderMode = "dom" | "hydrate" | "string" | "stream"
|
|
177
180
|
|
|
178
181
|
type StateSetter<T> = T | ((prev: T) => T)
|
package/src/utils/format.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { unwrap } from "../signals/utils.js"
|
|
|
2
2
|
import { booleanAttributes, snakeCaseAttributes } from "../constants.js"
|
|
3
3
|
|
|
4
4
|
export {
|
|
5
|
+
toArray,
|
|
5
6
|
className,
|
|
6
7
|
encodeHtmlEntities,
|
|
7
8
|
propFilters,
|
|
@@ -20,6 +21,10 @@ const REGEX_DBLQT = /"/g
|
|
|
20
21
|
const REGEX_SLASH = /\//g
|
|
21
22
|
const REGEX_ALPHA_UPPER = /[A-Z]/g
|
|
22
23
|
|
|
24
|
+
function toArray<T>(value: T | T[]): T[] {
|
|
25
|
+
return Array.isArray(value) ? value : [value]
|
|
26
|
+
}
|
|
27
|
+
|
|
23
28
|
function className(...classes: (string | false | null | undefined)[]): string {
|
|
24
29
|
return classes.filter(Boolean).join(" ")
|
|
25
30
|
}
|
package/src/utils/index.ts
CHANGED
package/src/utils/promise.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { $STREAM_DATA } from "../constants.js"
|
|
1
|
+
import { $STREAM_DATA, STREAMED_DATA_EVENT } from "../constants.js"
|
|
2
2
|
|
|
3
3
|
export interface StreamDataThrowValue {
|
|
4
4
|
[$STREAM_DATA]: {
|
|
@@ -24,3 +24,72 @@ export function isStatefulPromise(
|
|
|
24
24
|
): thing is Kiru.StatefulPromise<unknown> {
|
|
25
25
|
return thing instanceof Promise && "id" in thing && "state" in thing
|
|
26
26
|
}
|
|
27
|
+
|
|
28
|
+
export function createStatefulPromise<T, U extends Record<string, unknown>>(
|
|
29
|
+
id: string,
|
|
30
|
+
promise: Promise<T>,
|
|
31
|
+
extra: U = {} as U,
|
|
32
|
+
_finally: null | (() => void) = null
|
|
33
|
+
): Kiru.StatefulPromise<T> & U {
|
|
34
|
+
const state: Kiru.PromiseState<T> = { id, state: "pending" }
|
|
35
|
+
const p = Object.assign(promise, state, extra)
|
|
36
|
+
p.then(
|
|
37
|
+
(value) => {
|
|
38
|
+
p.state = "fulfilled"
|
|
39
|
+
p.value = value
|
|
40
|
+
},
|
|
41
|
+
(error) => {
|
|
42
|
+
p.state = "rejected"
|
|
43
|
+
p.error = error instanceof Error ? error : new Error(String(error))
|
|
44
|
+
}
|
|
45
|
+
).finally(_finally)
|
|
46
|
+
|
|
47
|
+
return p
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
interface StreamedPromiseEventDetail<T> {
|
|
51
|
+
id: string
|
|
52
|
+
data?: T
|
|
53
|
+
error?: string
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export async function resolveStreamedPromise<T>(
|
|
57
|
+
id: string,
|
|
58
|
+
signal?: AbortSignal
|
|
59
|
+
): Promise<T> {
|
|
60
|
+
const deferralCache: Map<string, { data?: T; error?: string }> = // @ts-ignore
|
|
61
|
+
(window[STREAMED_DATA_EVENT] ??= new Map())
|
|
62
|
+
|
|
63
|
+
const existing = deferralCache.get(id)
|
|
64
|
+
if (existing) {
|
|
65
|
+
deferralCache.delete(id)
|
|
66
|
+
|
|
67
|
+
const { data, error } = existing
|
|
68
|
+
if (error) {
|
|
69
|
+
return Promise.reject(error)
|
|
70
|
+
}
|
|
71
|
+
return Promise.resolve(data!)
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return new Promise<T>((resolve, reject) => {
|
|
75
|
+
const onDataEvent = (event: Event) => {
|
|
76
|
+
const { detail } = event as CustomEvent<StreamedPromiseEventDetail<T>>
|
|
77
|
+
if (detail.id === id) {
|
|
78
|
+
deferralCache.delete(id)
|
|
79
|
+
window.removeEventListener(STREAMED_DATA_EVENT, onDataEvent)
|
|
80
|
+
|
|
81
|
+
const { data, error } = detail
|
|
82
|
+
if (error) {
|
|
83
|
+
return reject(error)
|
|
84
|
+
}
|
|
85
|
+
resolve(data!)
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
window.addEventListener(STREAMED_DATA_EVENT, onDataEvent)
|
|
90
|
+
signal?.addEventListener("abort", () => {
|
|
91
|
+
window.removeEventListener(STREAMED_DATA_EVENT, onDataEvent)
|
|
92
|
+
reject("aborted")
|
|
93
|
+
})
|
|
94
|
+
})
|
|
95
|
+
}
|
package/src/utils/runtime.ts
CHANGED
|
@@ -46,7 +46,7 @@ function setRef<T>(ref: Kiru.Ref<T>, value: T): void {
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
/**
|
|
49
|
-
* Returns
|
|
49
|
+
* Returns true if called during 'dom' or 'hydrate' mode.
|
|
50
50
|
*/
|
|
51
51
|
function sideEffectsEnabled(): boolean {
|
|
52
52
|
return renderMode.current === "dom" || renderMode.current === "hydrate"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/router/server/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,sBAAsB,EAAc,MAAM,sBAAsB,CAAA;AAKzE,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,sBAAsB,CAAA;IAC7B,OAAO,EAAE,sBAAsB,CAAA;IAC/B,QAAQ,EAAE,IAAI,CAAC,EAAE,CAAA;IACjB,cAAc,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,0BAA0B,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;CACrE;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;CACb;AAED,wBAAsB,MAAM,CAC1B,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,aAAa,EAClB,MAAM,CAAC,EAAE,YAAY,GACpB,OAAO,CAAC,YAAY,CAAC,CAuJvB;AAED,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,mCAmCtE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/router/server/index.ts"],"names":[],"mappings":"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"}
|