@typed/router 1.0.0-beta.1 → 1.0.0-beta.3

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 (29) hide show
  1. package/dist/Matcher.d.ts +18 -13
  2. package/dist/Matcher.d.ts.map +1 -1
  3. package/dist/Matcher.js +102 -97
  4. package/dist/MatcherV2.d.ts +3 -0
  5. package/dist/MatcherV2.d.ts.map +1 -0
  6. package/dist/MatcherV2.js +1 -0
  7. package/dist/Route.d.ts +5 -0
  8. package/dist/Route.d.ts.map +1 -1
  9. package/dist/test-utils/matcherBrowserHarness.d.ts +10 -0
  10. package/dist/test-utils/matcherBrowserHarness.d.ts.map +1 -0
  11. package/dist/test-utils/matcherBrowserHarness.js +13 -0
  12. package/package.json +21 -18
  13. package/src/Matcher.browser.test.ts +771 -0
  14. package/src/Matcher.test.ts +344 -67
  15. package/src/Matcher.ts +165 -132
  16. package/src/Route.ts +6 -0
  17. package/src/__screenshots__/Matcher.browser.test.ts/typed-router-Matcher--browser--back---restores-previous-match-1.png +0 -0
  18. package/src/__screenshots__/Matcher.browser.test.ts/typed-router-Matcher--browser--catchTag-RouteNotFound-can-navigate-and-re-match--browser-history--1.png +0 -0
  19. package/src/__screenshots__/Matcher.browser.test.ts/typed-router-Matcher--browser--decodes-query-params-from-pathname-search-1.png +0 -0
  20. package/src/__screenshots__/Matcher.browser.test.ts/typed-router-Matcher--browser--function-Matcher-catch--and-composition--browser--instance-catchTag-does-not-catch-RouteGuardError-from-guards-1.png +0 -0
  21. package/src/__screenshots__/Matcher.browser.test.ts/typed-router-Matcher--browser--history-back-restores-previous-match--popstate-sync--1.png +0 -0
  22. package/src/__screenshots__/Matcher.browser.test.ts/typed-router-Matcher--browser--path-and-query-params-both-decode--distinct-names--1.png +0 -0
  23. package/src/__screenshots__/Matcher.browser.test.ts/typed-router-Matcher--browser--prefix-scopes-routes-under-a-path-segment-1.png +0 -0
  24. package/src/__screenshots__/Matcher.browser.test.ts/typed-router-Matcher--browser--provideService-supplies-a-service-to-handlers-1.png +0 -0
  25. package/src/__screenshots__/Matcher.browser.test.ts/typed-router-Matcher--browser--query-param-wins-over-path-param-when-names-collide-1.png +0 -0
  26. package/src/__screenshots__/Matcher.browser.test.ts/typed-router-Matcher--browser--redirectTo-navigates-away-from-unmatched-path--side-effect--1.png +0 -0
  27. package/src/__screenshots__/Matcher.browser.test.ts/typed-router-Matcher--browser--redirectTo-navigates-then-matches-target-route-1.png +0 -0
  28. package/src/__screenshots__/Matcher.browser.test.ts/typed-router-Matcher--browser--reuses-shared-layers-and-layouts-across-route-changes-1.png +0 -0
  29. package/src/test-utils/matcherBrowserHarness.ts +22 -0
package/dist/Matcher.d.ts CHANGED
@@ -12,7 +12,6 @@ import type { ExcludeTag, ExtractTag, NoInfer, Tags } from "effect/Types";
12
12
  import type * as Fx from "@typed/fx/Fx/Fx";
13
13
  import { RefSubject } from "@typed/fx/RefSubject";
14
14
  import type { MatchAst } from "./AST.js";
15
- import { CurrentRoute } from "./CurrentRoute.js";
16
15
  import { type Route } from "./Route.js";
17
16
  import type { Router } from "./Router.js";
18
17
  export type Layout<Params, A, E, R, B, E2, R2> = (params: LayoutParams<Params, A, E, R>) => Fx.Fx<B, E2, R2>;
@@ -22,15 +21,15 @@ export type LayoutParams<Params, A, E, R> = {
22
21
  };
23
22
  export type CatchHandler<E, A, E2, R2> = (cause: RefSubject.RefSubject<Cause.Cause<E>>) => Fx.Fx<A, E2, R2>;
24
23
  export type AnyLayer = Layer.Layer<any, any, any> | Layer.Layer<never, any, any> | Layer.Layer<any, never, any> | Layer.Layer<any, any, never> | Layer.Layer<never, never, never> | Layer.Layer<any, never, never> | Layer.Layer<never, any, never> | Layer.Layer<never, never, any>;
25
- type AnyServiceMap = ServiceMap.ServiceMap<any> | ServiceMap.ServiceMap<never>;
26
- type AnyDependency = AnyLayer | AnyServiceMap;
24
+ export type AnyServiceMap = ServiceMap.ServiceMap<any> | ServiceMap.ServiceMap<never>;
25
+ export type AnyDependency = AnyLayer | AnyServiceMap;
27
26
  type AnyLayout = Layout<any, any, any, any, any, any, any>;
28
27
  type AnyCatch = CatchHandler<any, any, any, any>;
29
28
  type AnyGuard = GuardType<any, any, any, any>;
30
29
  type AnyMatchHandler = (params: RefSubject.RefSubject<any>) => Fx.Fx<any, any, any>;
31
- type DependencyProvided<D> = D extends Layer.Layer<infer Provided, any, any> ? Provided : D extends ServiceMap.ServiceMap<infer Provided> ? Provided : never;
32
- type DependencyError<D> = D extends Layer.Layer<any, infer E, any> ? E : never;
33
- type DependencyRequirements<D> = D extends Layer.Layer<any, any, infer R> ? R : never;
30
+ export type DependencyProvided<D> = D extends Layer.Layer<infer Provided, any, any> ? Provided : D extends ServiceMap.ServiceMap<infer Provided> ? Provided : never;
31
+ export type DependencyError<D> = D extends Layer.Layer<any, infer E, any> ? E : never;
32
+ export type DependencyRequirements<D> = D extends Layer.Layer<any, any, infer R> ? R : never;
34
33
  type LayerSuccess<L> = L extends Layer.Layer<infer Provided, any, any> ? Provided : never;
35
34
  type LayerError<L> = L extends Layer.Layer<any, infer E, any> ? E : never;
36
35
  type LayerServices<L> = L extends Layer.Layer<any, any, infer R> ? R : never;
@@ -39,9 +38,9 @@ export interface AsGuard<I, O, E = never, R = never> {
39
38
  readonly asGuard: () => GuardType<I, O, E, R>;
40
39
  }
41
40
  export type GuardInput<I, O, E = never, R = never> = GuardType<I, O, E, R> | AsGuard<I, O, E, R>;
42
- type GuardOutput<G> = G extends GuardType<any, infer O, any, any> ? O : G extends AsGuard<any, infer O, any, any> ? O : never;
43
- type GuardError<G> = G extends GuardType<any, any, infer E, any> ? E : G extends AsGuard<any, any, infer E, any> ? E : never;
44
- type GuardServices<G> = G extends GuardType<any, any, any, infer R> ? R : G extends AsGuard<any, any, any, infer R> ? R : never;
41
+ export type GuardOutput<G> = G extends GuardType<any, infer O, any, any> ? O : G extends AsGuard<any, infer O, any, any> ? O : never;
42
+ export type GuardError<G> = G extends GuardType<any, any, infer E, any> ? E : G extends AsGuard<any, any, infer E, any> ? E : never;
43
+ export type GuardServices<G> = G extends GuardType<any, any, any, infer R> ? R : G extends AsGuard<any, any, any, infer R> ? R : never;
45
44
  type MatchOptions<Rt extends Route.Any, B, E2, R2, D, LB, LE2, LR2, C> = {
46
45
  readonly route: Rt;
47
46
  readonly handler: MatchHandlerReturnValue<B, E2, R2> | ((params: RefSubject.RefSubject<Route.Type<Rt>>) => MatchHandlerReturnValue<B, E2, R2>);
@@ -49,7 +48,7 @@ type MatchOptions<Rt extends Route.Any, B, E2, R2, D, LB, LE2, LR2, C> = {
49
48
  readonly layout?: Layout<Route.Type<Rt>, B, E2, R2, LB, LE2, LR2>;
50
49
  readonly catch?: C;
51
50
  };
52
- type MatchHandlerReturnValue<A, E, R> = Fx.Fx<A, E, R> | Stream.Stream<A, E, R> | Effect.Effect<A, E, R> | A;
51
+ export type MatchHandlerReturnValue<A, E, R> = Fx.Fx<A, E, R> | Stream.Stream<A, E, R> | Effect.Effect<A, E, R> | A;
53
52
  type MatchHandlerOptions<Params, B, E2, R2, D, LB, LE2, LR2, C> = {
54
53
  readonly handler: MatchHandlerReturnValue<B, E2, R2> | ((params: RefSubject.RefSubject<Params>) => MatchHandlerReturnValue<B, E2, R2>);
55
54
  readonly dependencies?: D;
@@ -73,7 +72,7 @@ type ApplyCatch<A, E, R, C> = C extends CatchHandler<any, infer CA, infer CE, in
73
72
  readonly r: R;
74
73
  };
75
74
  type ComputeMatchResult<E2, R2, D, LB, LE2, LR2, C, GE, GR> = ApplyCatch<LB, ApplyDependencies<E2 | GE | LE2, R2 | GR | LR2, D>["e"], ApplyDependencies<E2 | GE | LE2, R2 | GR | LR2, D>["r"], C>;
76
- export interface Matcher<A, E = never, R = never> extends Pipeable {
75
+ export interface Matcher<A, E = never, R = never> extends Fx.Fx<A, E | RouteNotFound | RouteDecodeError | RouteGuardError, R | Router | Scope.Scope>, Pipeable {
77
76
  readonly cases: ReadonlyArray<MatchAst>;
78
77
  match<Rt extends Route.Any, B, E2 = never, R2 = never>(route: Rt, handler: (params: RefSubject.RefSubject<Route.Type<Rt>>) => MatchHandlerReturnValue<B, E2, R2>): Matcher<A | B, E | E2, R | R2 | Scope.Scope>;
79
78
  match<Rt extends Route.Any, B, E2 = never, R2 = never>(route: Rt, handler: Fx.Fx<B, E2, R2> | Effect.Effect<B, E2, R2> | Stream.Stream<B, E2, R2>): Matcher<A | B, E | E2, R | R2 | Scope.Scope>;
@@ -157,7 +156,6 @@ export type CompiledEntry = {
157
156
  readonly catches: ReadonlyArray<AnyCatch>;
158
157
  readonly decode: (input: unknown) => Effect.Effect<any, Schema.SchemaError, any>;
159
158
  };
160
- export declare function run<M extends Matcher.Any>(matcher: M): Fx.Fx<Matcher.Success<M>, Matcher.Error<M> | RouteNotFound | RouteDecodeError | RouteGuardError, Matcher.Services<M> | Router | CurrentRoute | Scope.Scope>;
161
159
  type InputSucces<T> = [Matcher.Success<T> | Fx.Fx.Success<T>] extends [infer A] ? A : never;
162
160
  type InputError<T> = [Matcher.Error<T> | Fx.Fx.Error<T>] extends [infer E] ? E : never;
163
161
  type InputServices<T> = [Matcher.Services<T> | Fx.Fx.Services<T>] extends [infer R] ? R : never;
@@ -167,6 +165,7 @@ export declare const catchCause: {
167
165
  };
168
166
  export declare const catch_: {
169
167
  <I extends Fx.Fx.Any | Matcher.Any, B, E2, R2>(f: (e: InputError<I>) => Fx.Fx<B, E2, R2>): (input: I) => Fx.Fx<InputSucces<I> | B, E2, InputServices<I> | R2 | Router | Scope.Scope>;
168
+ <I extends Fx.Fx.Any | Matcher.Any, B, E2, R2>(input: I, f: (e: InputError<I>) => Fx.Fx<B, E2, R2>): Fx.Fx<InputSucces<I> | B, E2, InputServices<I> | R2 | Router | Scope.Scope>;
170
169
  };
171
170
  export { catch_ as catch };
172
171
  export declare const catchTag: {
@@ -174,11 +173,17 @@ export declare const catchTag: {
174
173
  <I extends Fx.Fx.Any | Matcher.Any, const K extends Tags<InputError<I>> | Arr.NonEmptyReadonlyArray<Tags<InputError<I>>>, B, E2, R2>(input: I, k: K, f: (e: ExtractTag<InputError<I>, K extends Arr.NonEmptyReadonlyArray<string> ? K[number] : K>) => Fx.Fx<B, E2, R2>): Fx.Fx<InputSucces<I> | B, E2 | ExcludeTag<InputError<I>, K extends Arr.NonEmptyReadonlyArray<string> ? K[number] : K>, InputServices<I> | R2 | Router | Scope.Scope>;
175
174
  };
176
175
  export declare const redirectTo: (path: string) => <I extends Fx.Fx.Any | Matcher.Any>(input: I) => Fx.Fx<InputSucces<I>, never, Router | Scope.Scope | InputServices<I>>;
176
+ type NormalizeLayer<T extends AnyDependency> = T extends Layer.Layer<infer A, infer E, infer R> ? Layer.Layer<A, E, R> : T extends ServiceMap.ServiceMap<infer R> ? Layer.Layer<R> : never;
177
+ type NormalizeLayers<T extends ReadonlyArray<AnyDependency>> = {
178
+ [K in keyof T]: NormalizeLayer<T[K]>;
179
+ };
180
+ type ToLayer<T> = T extends ReadonlyArray<AnyLayer> ? Layer.Layer<Layer.Success<T[number]>, Layer.Error<T[number]>, Layer.Services<T[number]>> : never;
181
+ type NormalizeDeps<T extends AnyDependency | ReadonlyArray<AnyDependency>> = T extends AnyDependency ? NormalizeLayer<T> : T extends ReadonlyArray<AnyDependency> ? ToLayer<NormalizeLayers<T>> : never;
177
182
  /**
178
183
  * Normalize dependency input (ServiceMap | Layer | Array of either) into a single Layer.
179
184
  * Use with `.provide(normalizeDependencyInput(deps))`.
180
185
  */
181
- export declare function normalizeDependencyInput(input: AnyDependency | ReadonlyArray<AnyDependency>): AnyLayer;
186
+ export declare function normalizeDependencyInput<Deps extends AnyDependency | ReadonlyArray<AnyDependency>>(input: Deps): NormalizeDeps<Deps>;
182
187
  /**
183
188
  * @internal
184
189
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Matcher.d.ts","sourceRoot":"","sources":["../src/Matcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Matcher.d.ts","sourceRoot":"","sources":["../src/Matcher.ts"],"names":[],"mappings":"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"}
package/dist/Matcher.js CHANGED
@@ -2,7 +2,7 @@ import * as findMyWay from "find-my-way-ts";
2
2
  import * as Cause from "effect/Cause";
3
3
  import * as Effect from "effect/Effect";
4
4
  import * as Exit from "effect/Exit";
5
- import { interrupt, isSuccess } from "effect/Exit";
5
+ import { interrupt } from "effect/Exit";
6
6
  import { dual, identity } from "effect/Function";
7
7
  import * as Result from "effect/Result";
8
8
  import * as Layer from "effect/Layer";
@@ -22,7 +22,7 @@ import { unwrap } from "@typed/fx/Fx/combinators/unwrap";
22
22
  import { fromEffect, never } from "@typed/fx/Fx/constructors/fromEffect";
23
23
  import { succeed } from "@typed/fx/Fx/constructors/succeed";
24
24
  import { fromStream } from "@typed/fx/Fx/stream";
25
- import { isFx } from "@typed/fx/Fx/TypeId";
25
+ import { FxTypeId, isFx } from "@typed/fx/Fx/TypeId";
26
26
  import { RefSubject } from "@typed/fx/RefSubject";
27
27
  import { CurrentPath, Navigation } from "@typed/navigation/Navigation";
28
28
  import * as AST from "./AST.js";
@@ -96,6 +96,11 @@ function parseMatchArgs(args) {
96
96
  };
97
97
  }
98
98
  class MatcherImpl {
99
+ [FxTypeId] = {
100
+ _A: identity,
101
+ _E: identity,
102
+ _R: identity,
103
+ };
99
104
  cases;
100
105
  constructor(cases) {
101
106
  this.cases = cases;
@@ -177,6 +182,99 @@ class MatcherImpl {
177
182
  pipe() {
178
183
  return pipeArguments(this, arguments);
179
184
  }
185
+ run(sink) {
186
+ return Effect.gen({ self: this }, function* () {
187
+ const fiberId = yield* Effect.fiberId;
188
+ const rootScope = yield* Effect.scope;
189
+ const current = yield* CurrentRoute;
190
+ const prefixed = this.prefix(current.route);
191
+ const entries = compile(prefixed.cases);
192
+ const router = findMyWay.make({
193
+ ignoreTrailingSlash: true,
194
+ caseSensitive: false,
195
+ });
196
+ const handlersByPath = new Map();
197
+ const memoMap = yield* Layer.makeMemoMap;
198
+ const layerManager = makeLayerManager(memoMap, rootScope, fiberId);
199
+ const layoutManager = makeLayoutManager(rootScope, fiberId);
200
+ const catchManager = makeCatchManager(rootScope, fiberId);
201
+ for (const entry of entries) {
202
+ const path = entry.route.path;
203
+ const existing = handlersByPath.get(path);
204
+ if (existing !== undefined) {
205
+ existing.push(entry);
206
+ }
207
+ else {
208
+ const list = [entry];
209
+ handlersByPath.set(path, list);
210
+ router.all(path, list);
211
+ }
212
+ }
213
+ let currentState = null;
214
+ const stream = CurrentPath.pipe(mapEffect(Effect.fn(function* (path) {
215
+ const result = router.find("GET", path);
216
+ if (result === undefined)
217
+ return yield* new RouteNotFound({ path });
218
+ const input = { ...result.params, ...result.searchParams };
219
+ const entries = result.handler;
220
+ const guardCauses = [];
221
+ let matchedEntry = undefined;
222
+ let matchedParams = undefined;
223
+ let matchedPrepared = undefined;
224
+ for (const entry of entries) {
225
+ const params = yield* Effect.mapErrorEager(entry.decode(input), (cause) => new RouteDecodeError({ path, cause: makeFormatterDefault()(cause.issue) }));
226
+ const prepared = yield* layerManager.prepare(entry.layers);
227
+ const guardExit = yield* entry
228
+ .guard(params)
229
+ .pipe(Effect.provideServices(prepared.services), Effect.exit);
230
+ if (Exit.isFailure(guardExit)) {
231
+ guardCauses.push(guardExit.cause);
232
+ yield* prepared.rollback;
233
+ continue;
234
+ }
235
+ if (Option.isNone(guardExit.value)) {
236
+ yield* prepared.rollback;
237
+ continue;
238
+ }
239
+ matchedEntry = entry;
240
+ matchedParams = guardExit.value.value;
241
+ matchedPrepared = prepared;
242
+ break;
243
+ }
244
+ if (matchedEntry === undefined || matchedPrepared === undefined) {
245
+ return yield* new RouteGuardError({ path, causes: guardCauses });
246
+ }
247
+ yield* matchedPrepared.commit;
248
+ if (currentState !== null && currentState.entry === matchedEntry) {
249
+ yield* RefSubject.set(currentState.params, matchedParams);
250
+ yield* layoutManager.updateParams(matchedEntry.layouts, matchedParams);
251
+ return currentState.fx;
252
+ }
253
+ if (currentState !== null) {
254
+ yield* Scope.close(currentState.scope, interrupt(fiberId));
255
+ currentState = null;
256
+ }
257
+ const scope = yield* Scope.fork(rootScope);
258
+ const paramsRef = yield* RefSubject.make(matchedParams).pipe(Scope.provide(scope));
259
+ const preparedServices = matchedPrepared.services;
260
+ const handlerServices = ServiceMap.merge(preparedServices, ServiceMap.make(Scope.Scope, scope));
261
+ const handlerFx = matchedEntry
262
+ .handler(paramsRef)
263
+ .pipe(provideServices(handlerServices));
264
+ const withLayouts = yield* layoutManager.apply(matchedEntry.layouts, matchedParams, handlerFx, preparedServices);
265
+ const withCatches = yield* catchManager.apply(matchedEntry.catches, withLayouts, preparedServices);
266
+ const fx = withCatches;
267
+ currentState = {
268
+ entry: matchedEntry,
269
+ params: paramsRef,
270
+ scope,
271
+ fx,
272
+ };
273
+ return currentState.fx;
274
+ })), skipRepeats, switchMap(identity));
275
+ return yield* stream.run(sink);
276
+ });
277
+ }
180
278
  }
181
279
  function normalizeHandler(handler) {
182
280
  if (isMatchHandlerFn(handler))
@@ -226,105 +324,12 @@ export class RouteDecodeError extends Schema.ErrorClass("@typed/router/RouteDeco
226
324
  cause: Schema.String,
227
325
  }) {
228
326
  }
229
- export function run(matcher) {
230
- return unwrap(Effect.gen(function* () {
231
- const fiberId = yield* Effect.fiberId;
232
- const rootScope = yield* Effect.scope;
233
- const current = yield* CurrentRoute;
234
- const prefixed = matcher.prefix(current.route);
235
- const entries = compile(prefixed.cases);
236
- const router = findMyWay.make({
237
- ignoreTrailingSlash: true,
238
- caseSensitive: false,
239
- });
240
- const handlersByPath = new Map();
241
- const memoMap = yield* Layer.makeMemoMap;
242
- const layerManager = makeLayerManager(memoMap, rootScope, fiberId);
243
- const layoutManager = makeLayoutManager(rootScope, fiberId);
244
- const catchManager = makeCatchManager(rootScope, fiberId);
245
- for (const entry of entries) {
246
- const path = entry.route.path;
247
- const existing = handlersByPath.get(path);
248
- if (existing !== undefined) {
249
- existing.push(entry);
250
- }
251
- else {
252
- const list = [entry];
253
- handlersByPath.set(path, list);
254
- router.all(path, list);
255
- }
256
- }
257
- let currentState = null;
258
- return CurrentPath.pipe(mapEffect(Effect.fn(function* (path) {
259
- const result = router.find("GET", path);
260
- if (result === undefined)
261
- return yield* new RouteNotFound({ path });
262
- const input = { ...result.params, ...result.searchParams };
263
- const entries = result.handler;
264
- const guardCauses = [];
265
- let matchedEntry = undefined;
266
- let matchedParams = undefined;
267
- let matchedPrepared = undefined;
268
- for (const entry of entries) {
269
- const params = yield* Effect.mapErrorEager(entry.decode(input), (cause) => new RouteDecodeError({ path, cause: makeFormatterDefault()(cause.issue) }));
270
- const prepared = yield* layerManager.prepare(entry.layers);
271
- const guardExit = yield* entry
272
- .guard(params)
273
- .pipe(Effect.provideServices(prepared.services), Effect.exit);
274
- if (Exit.isFailure(guardExit)) {
275
- guardCauses.push(guardExit.cause);
276
- yield* prepared.rollback;
277
- continue;
278
- }
279
- if (Option.isNone(guardExit.value)) {
280
- yield* prepared.rollback;
281
- continue;
282
- }
283
- matchedEntry = entry;
284
- matchedParams = guardExit.value.value;
285
- matchedPrepared = prepared;
286
- break;
287
- }
288
- if (matchedEntry === undefined || matchedPrepared === undefined) {
289
- return yield* new RouteGuardError({ path, causes: guardCauses });
290
- }
291
- yield* matchedPrepared.commit;
292
- if (currentState !== null && currentState.entry === matchedEntry) {
293
- yield* RefSubject.set(currentState.params, matchedParams);
294
- yield* layoutManager.updateParams(matchedEntry.layouts, matchedParams);
295
- return currentState.fx;
296
- }
297
- if (currentState !== null) {
298
- yield* Scope.close(currentState.scope, interrupt(fiberId));
299
- currentState = null;
300
- }
301
- const scope = yield* Scope.fork(rootScope);
302
- const paramsRef = yield* RefSubject.make(matchedParams).pipe(Scope.provide(scope));
303
- const preparedServices = matchedPrepared.services;
304
- const handlerServices = ServiceMap.merge(preparedServices, ServiceMap.make(Scope.Scope, scope));
305
- const handlerFx = matchedEntry
306
- .handler(paramsRef)
307
- .pipe(provideServices(handlerServices));
308
- const withLayouts = yield* layoutManager.apply(matchedEntry.layouts, matchedParams, handlerFx, preparedServices);
309
- const withCatches = yield* catchManager.apply(matchedEntry.catches, withLayouts, preparedServices);
310
- const fx = withCatches;
311
- currentState = {
312
- entry: matchedEntry,
313
- params: paramsRef,
314
- scope,
315
- fx,
316
- };
317
- return currentState.fx;
318
- })), skipRepeats, switchMap(identity));
319
- }));
320
- }
321
327
  export const catchCause = dual(2, (input, f) => {
322
328
  const eff = Effect.gen(function* () {
323
329
  const fiberId = yield* Effect.fiberId;
324
330
  const rootScope = yield* Effect.scope;
325
- const fx = isFx(input) ? input : run(input);
326
331
  const manager = makeCatchManager(rootScope, fiberId);
327
- const result = yield* manager.apply([f], fx, ServiceMap.empty());
332
+ const result = yield* manager.apply([f], input, ServiceMap.empty());
328
333
  return result;
329
334
  });
330
335
  return unwrap(eff);
@@ -612,7 +617,7 @@ export function makeCatchManager(rootScope, fiberId) {
612
617
  }).pipe(Scope.provide(scope));
613
618
  const fallback = catcher(causes).pipe(provideServices(ServiceMap.merge(services, ServiceMap.make(Scope.Scope, scope))));
614
619
  const fx = content.pipe(switchMap(identity), exit, mapEffect(Effect.fn(function* (e) {
615
- if (isSuccess(e))
620
+ if (Exit.isSuccess(e))
616
621
  return succeed(e.value);
617
622
  yield* RefSubject.set(causes, e.cause);
618
623
  return fallback;
@@ -0,0 +1,3 @@
1
+ export interface Matcher<A, E, R> {
2
+ }
3
+ //# sourceMappingURL=MatcherV2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MatcherV2.d.ts","sourceRoot":"","sources":["../src/MatcherV2.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;CAE/B"}
@@ -0,0 +1 @@
1
+ export {};
package/dist/Route.d.ts CHANGED
@@ -21,6 +21,11 @@ export declare namespace Route {
21
21
  type PathType<T extends Any> = T["pathSchema"]["Type"];
22
22
  type QueryType<T extends Any> = T["querySchema"]["Type"];
23
23
  }
24
+ export type Any = Route.Any;
25
+ export type Params<T> = Route.Params<T>;
26
+ export type Type<T> = Route.Type<T>;
27
+ export type PathType<T extends Any> = Route.PathType<T>;
28
+ export type QueryType<T extends Any> = Route.QueryType<T>;
24
29
  export declare function make<const P extends string, S extends Schema.Codec<any, Path.Params<P>, any, any> = Schema.Codec<Path.Params<P>>>(ast: AST.RouteAst): Route<P, S>;
25
30
  export declare const Parse: <const P extends string>(path: P) => Route<Path.Join<Path.ParseAsts<P>>>;
26
31
  export declare const Slash: Route<"/", Schema.Codec<{}, {}, never, never>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../src/Route.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Route.d.ts","sourceRoot":"","sources":["../src/Route.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import * as Effect from "effect/Effect";
2
+ /**
3
+ * Build an absolute URL for the Vitest browser page origin (same pattern as in-memory tests using http://localhost/...).
4
+ */
5
+ export declare const absoluteUrl: (path: string, win?: Window & typeof globalThis) => string;
6
+ /**
7
+ * Run an effect with {@link BrowserRouter} scoped over the real (or test) `window`.
8
+ */
9
+ export declare const runWithBrowserRouter: <A, E, R>(effect: Effect.Effect<A, E, R>, win?: Window & typeof globalThis) => Promise<A>;
10
+ //# sourceMappingURL=matcherBrowserHarness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"matcherBrowserHarness.d.ts","sourceRoot":"","sources":["../../src/test-utils/matcherBrowserHarness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,MAAM,EAAE,MAAK,MAAM,GAAG,OAAO,UAA8B,KAAG,MAG/F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC1C,QAAQ,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC9B,MAAK,MAAM,GAAG,OAAO,UAA8B,KAClD,OAAO,CAAC,CAAC,CACuE,CAAC"}
@@ -0,0 +1,13 @@
1
+ import * as Effect from "effect/Effect";
2
+ import { BrowserRouter } from "../Router.js";
3
+ /**
4
+ * Build an absolute URL for the Vitest browser page origin (same pattern as in-memory tests using http://localhost/...).
5
+ */
6
+ export const absoluteUrl = (path, win = globalThis.window) => {
7
+ const normalized = path.startsWith("/") ? path : `/${path}`;
8
+ return new URL(normalized, win.location.origin).href;
9
+ };
10
+ /**
11
+ * Run an effect with {@link BrowserRouter} scoped over the real (or test) `window`.
12
+ */
13
+ export const runWithBrowserRouter = (effect, win = globalThis.window) => effect.pipe(Effect.provide(BrowserRouter(win)), Effect.scoped, Effect.runPromise);
package/package.json CHANGED
@@ -1,6 +1,10 @@
1
1
  {
2
2
  "name": "@typed/router",
3
- "version": "1.0.0-beta.1",
3
+ "version": "1.0.0-beta.3",
4
+ "files": [
5
+ "dist",
6
+ "src"
7
+ ],
4
8
  "type": "module",
5
9
  "exports": {
6
10
  ".": {
@@ -15,25 +19,24 @@
15
19
  "publishConfig": {
16
20
  "access": "public"
17
21
  },
18
- "scripts": {
19
- "build": "[ -d dist ] || rm -f tsconfig.tsbuildinfo; tsc",
20
- "test": "vitest run --passWithNoTests"
21
- },
22
22
  "dependencies": {
23
- "@typed/fx": "workspace:*",
24
- "@typed/guard": "workspace:*",
25
- "@typed/id": "workspace:*",
26
- "@typed/navigation": "workspace:*",
27
- "effect": "catalog:",
23
+ "effect": "4.0.0-beta.38",
28
24
  "find-my-way-ts": "0.1.6",
29
- "hkt-core": "1.3.4"
25
+ "hkt-core": "1.3.5",
26
+ "@typed/fx": "2.0.0-beta.3",
27
+ "@typed/navigation": "1.0.0-beta.3",
28
+ "@typed/id": "1.0.0-beta.3",
29
+ "@typed/guard": "1.0.0-beta.3"
30
30
  },
31
31
  "devDependencies": {
32
- "typescript": "catalog:",
33
- "vitest": "catalog:"
32
+ "@vitest/browser-playwright": "4.1.1",
33
+ "playwright": "^1.58.2",
34
+ "typescript": "5.9.3",
35
+ "vitest": "4.1.1"
34
36
  },
35
- "files": [
36
- "dist",
37
- "src"
38
- ]
39
- }
37
+ "scripts": {
38
+ "build": "[ -d dist ] || rm -f tsconfig.tsbuildinfo; tsc",
39
+ "test": "vitest run --passWithNoTests --config vitest.config.ts",
40
+ "test:browser": "vitest run --config vitest.browser.config.ts"
41
+ }
42
+ }