@typed/navigation 1.0.0-beta.3 → 1.0.0-beta.4

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.
@@ -1,10 +1,10 @@
1
1
  import type * as Effect from "effect/Effect";
2
2
  import type * as Option from "effect/Option";
3
3
  import type * as Scope from "effect/Scope";
4
- import * as ServiceMap from "effect/ServiceMap";
4
+ import * as Context from "effect/Context";
5
5
  import { RefSubject } from "@typed/fx";
6
6
  import type { BeforeNavigationEvent, CancelNavigation, Destination, NavigationError, NavigationEvent, RedirectError, Transition } from "./model.js";
7
- declare const Navigation_base: ServiceMap.ServiceClass<Navigation, "@typed/navigation/Navigation", {
7
+ declare const Navigation_base: Context.ServiceClass<Navigation, "@typed/navigation/Navigation", {
8
8
  readonly origin: string;
9
9
  readonly base: string;
10
10
  readonly currentEntry: RefSubject.Computed<Destination>;
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.d.ts","sourceRoot":"","sources":["../src/Navigation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Navigation.d.ts","sourceRoot":"","sources":["../src/Navigation.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import * as ServiceMap from "effect/ServiceMap";
1
+ import * as Context from "effect/Context";
2
2
  import { RefSubject } from "@typed/fx";
3
- export class Navigation extends ServiceMap.Service()("@typed/navigation/Navigation") {
3
+ export class Navigation extends Context.Service()("@typed/navigation/Navigation") {
4
4
  static origin = Navigation.useSync((n) => n.origin);
5
5
  static base = Navigation.useSync((n) => n.base);
6
6
  static currentEntry = RefSubject.computedFromService(Navigation.useSync((n) => n.currentEntry));
@@ -1 +1 @@
1
- {"version":3,"file":"_core.d.ts","sourceRoot":"","sources":["../src/_core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EACV,qBAAqB,EAErB,WAAW,EACX,eAAe,EAIf,UAAU,EACX,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,uBAAuB,EAAc,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE9F,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;CAChD,CAAC;AAIF,eAAO,MAAM,kBAAkB,+GAKnB,qBAAqB,eAChB,CAAC,WAAW,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAC3D,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAkJnB,MAAM,GAAG,GAAG,YAAY,yBAAyB;;;;;;;;wBAsDhB,OAAO;;;;;;;;;wBAOJ,OAAO;;;;;;;;sBA/B/C,WAAW,CAAC,KAAK,CAAC,YAAY;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;;;;;;;uBAsCxD;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;;;;;;;yBAkBzB,CAAC,UAAU,EAAE,mBAC9B,uBAAuB,CAAC,CAAC,EAAE,EAAE,CAAC,KACtC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;mBAiB7B,CAAC,UAAU,EAAE,mBACxB,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC,KAChC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;kCAiBd;QAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KAAE;;;;;;;sBAoChE,CAAC;AAoBH,eAAO,MAAM,MAAM,GAAI,QAAQ,MAAM,EAAE,WAAW,MAAM,GAAG,GAAG,KAAG,GACO,CAAC"}
1
+ {"version":3,"file":"_core.d.ts","sourceRoot":"","sources":["../src/_core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,EACV,qBAAqB,EAErB,WAAW,EACX,eAAe,EAIf,UAAU,EACX,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,uBAAuB,EAAc,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAE9F,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;CAChD,CAAC;AAIF,eAAO,MAAM,kBAAkB,+GAKnB,qBAAqB,eAChB,CAAC,WAAW,EAAE,WAAW,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAC3D,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA+InB,MAAM,GAAG,GAAG,YAAY,yBAAyB;;;;;;;;wBAsDhB,OAAO;;;;;;;;;wBAOJ,OAAO;;;;;;;;sBA/B/C,WAAW,CAAC,KAAK,CAAC,YAAY;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;;;;;;;uBAsCxD;QAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE;;;;;;;yBAkBzB,CAAC,UAAU,EAAE,mBAC9B,uBAAuB,CAAC,CAAC,EAAE,EAAE,CAAC,KACtC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;mBAiB7B,CAAC,UAAU,EAAE,mBACxB,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC,KAChC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;kCAiBd;QAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;KAAE;;;;;;;sBAoChE,CAAC;AAoBH,eAAO,MAAM,MAAM,GAAI,QAAQ,MAAM,EAAE,WAAW,MAAM,GAAG,GAAG,KAAG,GACO,CAAC"}
package/dist/_core.js CHANGED
@@ -15,11 +15,11 @@ export const makeNavigationCore = Effect.fn(function* (origin, base, state, comm
15
15
  const handlers = yield* beforeHandlers;
16
16
  const matches = [];
17
17
  for (const [handler, ctx] of handlers) {
18
- const exit = yield* handler(event).pipe(Effect.provideServices(ctx), Effect.result);
18
+ const exit = yield* handler(event).pipe(Effect.provideContext(ctx), Effect.result);
19
19
  if (Result.isSuccess(exit)) {
20
20
  const match = exit.success;
21
21
  if (Option.isSome(match)) {
22
- matches.push(Effect.provideServices(match.value, ctx));
22
+ matches.push(Effect.provideContext(match.value, ctx));
23
23
  }
24
24
  }
25
25
  else {
@@ -99,7 +99,7 @@ export const makeNavigationCore = Effect.fn(function* (origin, base, state, comm
99
99
  }
100
100
  const { entries, index } = yield* ref.get;
101
101
  const from = entries[index];
102
- if (error._tag === "CancelNavigation") {
102
+ if (error._tag === "@typed/navigation/CancelNavigation") {
103
103
  yield* ref.set({ entries, index, transition: Option.none() });
104
104
  return from;
105
105
  }
@@ -175,7 +175,7 @@ export const makeNavigationCore = Effect.fn(function* (origin, base, state, comm
175
175
  };
176
176
  return yield* runNavigationEvent(event, ref, 0);
177
177
  }));
178
- const onBeforeNavigation = (handler) => Effect.servicesWith((ctx) => {
178
+ const onBeforeNavigation = (handler) => Effect.contextWith((ctx) => {
179
179
  const entry = [handler, ctx];
180
180
  return Effect.flatMap(RefSubject.update(beforeHandlers, (handlers) => new Set([...handlers, entry])), () => Effect.addFinalizer(() => RefSubject.update(beforeHandlers, (handlers) => {
181
181
  const updated = new Set(handlers);
@@ -183,7 +183,7 @@ export const makeNavigationCore = Effect.fn(function* (origin, base, state, comm
183
183
  return updated;
184
184
  })));
185
185
  });
186
- const onNavigation = (handler) => Effect.servicesWith((ctx) => {
186
+ const onNavigation = (handler) => Effect.contextWith((ctx) => {
187
187
  const entry = [handler, ctx];
188
188
  return Effect.flatMap(RefSubject.update(handlers, (handlers) => new Set([...handlers, entry])), () => Effect.addFinalizer(() => RefSubject.update(handlers, (handlers) => {
189
189
  const updated = new Set(handlers);
package/dist/model.d.ts CHANGED
@@ -65,14 +65,12 @@ export declare const NavigationEvent: Schema.Struct<{
65
65
  readonly info: Schema.Unknown;
66
66
  }>;
67
67
  export type NavigationEvent = typeof NavigationEvent.Type;
68
- declare const NavigationError_base: Schema.ErrorClass<unknown, Schema.Struct<{
69
- readonly _tag: Schema.tag<"NavigationError">;
68
+ declare const NavigationError_base: Schema.Class<NavigationError, Schema.TaggedStruct<"@typed/navigation/NavigationError", {
70
69
  readonly error: Schema.Unknown;
71
70
  }>, import("effect/Cause").YieldableError>;
72
71
  export declare class NavigationError extends NavigationError_base {
73
72
  }
74
- declare const RedirectError_base: Schema.ErrorClass<unknown, Schema.Struct<{
75
- readonly _tag: Schema.tag<"RedirectError">;
73
+ declare const RedirectError_base: Schema.Class<RedirectError, Schema.TaggedStruct<"@typed/navigation/RedirectError", {
76
74
  readonly url: Schema.Union<readonly [Schema.URLFromString, Schema.String]>;
77
75
  readonly options: Schema.optional<Schema.Struct<{
78
76
  readonly state: Schema.optional<Schema.Unknown>;
@@ -81,9 +79,7 @@ declare const RedirectError_base: Schema.ErrorClass<unknown, Schema.Struct<{
81
79
  }>, import("effect/Cause").YieldableError>;
82
80
  export declare class RedirectError extends RedirectError_base {
83
81
  }
84
- declare const CancelNavigation_base: Schema.ErrorClass<unknown, Schema.Struct<{
85
- readonly _tag: Schema.tag<"CancelNavigation">;
86
- }>, import("effect/Cause").YieldableError>;
82
+ declare const CancelNavigation_base: Schema.Class<CancelNavigation, Schema.TaggedStruct<"@typed/navigation/CancelNavigation", {}>, import("effect/Cause").YieldableError>;
87
83
  export declare class CancelNavigation extends CancelNavigation_base {
88
84
  }
89
85
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,eAAO,MAAM,mBAAmB;;;;;EAK9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAC;AAElE,eAAO,MAAM,WAAW;;;;;;EAItB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAElD,eAAO,MAAM,cAAc,kIAKzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;EAKrB,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAC;AAEhD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;EAMhC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAC;AAEtE,eAAO,MAAM,eAAe;;;;;;;;;;EAI1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAC;;;;;AAE1D,qBAAa,eAAgB,SAAQ,oBAGnC;CAAG;;;;;;;;;AAEL,qBAAa,aAAc,SAAQ,kBASjC;CAAG;;;;AAEL,qBAAa,gBAAiB,SAAQ,qBAEpC;CAAG"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,eAAO,MAAM,mBAAmB;;;;;EAK9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,OAAO,mBAAmB,CAAC,IAAI,CAAC;AAElE,eAAO,MAAM,WAAW;;;;;;EAItB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,OAAO,WAAW,CAAC,IAAI,CAAC;AAElD,eAAO,MAAM,cAAc,kIAKzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,OAAO,cAAc,CAAC,IAAI,CAAC;AAExD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;EAKrB,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,OAAO,UAAU,CAAC,IAAI,CAAC;AAEhD,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;EAMhC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,OAAO,qBAAqB,CAAC,IAAI,CAAC;AAEtE,eAAO,MAAM,eAAe;;;;;;;;;;EAI1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,OAAO,eAAe,CAAC,IAAI,CAAC;;;;AAE1D,qBAAa,eAAgB,SAAQ,oBAKpC;CAAG;;;;;;;;AAEJ,qBAAa,aAAc,SAAQ,kBAWlC;CAAG;;AAEJ,qBAAa,gBAAiB,SAAQ,qBAGrC;CAAG"}
package/dist/model.js CHANGED
@@ -34,13 +34,11 @@ export const NavigationEvent = Schema.Struct({
34
34
  destination: Destination,
35
35
  info: Schema.Unknown,
36
36
  });
37
- export class NavigationError extends Schema.ErrorClass(`@typed/navigation/NavigationError`)({
38
- _tag: Schema.tag("NavigationError"),
37
+ export class NavigationError extends Schema.TaggedErrorClass()(`@typed/navigation/NavigationError`, {
39
38
  error: Schema.Unknown,
40
39
  }) {
41
40
  }
42
- export class RedirectError extends Schema.ErrorClass(`@typed/navigation/RedirectError`)({
43
- _tag: Schema.tag("RedirectError"),
41
+ export class RedirectError extends Schema.TaggedErrorClass()(`@typed/navigation/RedirectError`, {
44
42
  url: Schema.Union([Schema.URLFromString, Schema.String]),
45
43
  options: Schema.optional(Schema.Struct({
46
44
  state: Schema.optional(Schema.Unknown),
@@ -48,7 +46,5 @@ export class RedirectError extends Schema.ErrorClass(`@typed/navigation/Redirect
48
46
  })),
49
47
  }) {
50
48
  }
51
- export class CancelNavigation extends Schema.ErrorClass(`@typed/navigation/CancelNavigation`)({
52
- _tag: Schema.tag("CancelNavigation"),
53
- }) {
49
+ export class CancelNavigation extends Schema.TaggedErrorClass()(`@typed/navigation/CancelNavigation`, {}) {
54
50
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@typed/navigation",
3
- "version": "1.0.0-beta.3",
3
+ "version": "1.0.0-beta.4",
4
4
  "files": [
5
5
  "dist",
6
6
  "src"
@@ -19,17 +19,17 @@
19
19
  "publishConfig": {
20
20
  "access": "public"
21
21
  },
22
- "dependencies": {
23
- "effect": "4.0.0-beta.38",
24
- "@typed/id": "1.0.0-beta.3",
25
- "@typed/fx": "2.0.0-beta.3"
26
- },
27
- "devDependencies": {
28
- "typescript": "5.9.3",
29
- "vitest": "4.1.1"
30
- },
31
22
  "scripts": {
32
23
  "build": "[ -d dist ] || rm -f tsconfig.tsbuildinfo; tsc",
33
24
  "test": "vitest run --passWithNoTests"
25
+ },
26
+ "dependencies": {
27
+ "@typed/fx": "workspace:*",
28
+ "@typed/id": "workspace:*",
29
+ "effect": "catalog:"
30
+ },
31
+ "devDependencies": {
32
+ "typescript": "catalog:",
33
+ "vitest": "catalog:"
34
34
  }
35
- }
35
+ }
package/src/Navigation.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import type * as Effect from "effect/Effect";
2
2
  import type * as Option from "effect/Option";
3
3
  import type * as Scope from "effect/Scope";
4
- import * as ServiceMap from "effect/ServiceMap";
4
+ import * as Context from "effect/Context";
5
5
  import { RefSubject } from "@typed/fx";
6
6
  import type {
7
7
  BeforeNavigationEvent,
@@ -13,7 +13,7 @@ import type {
13
13
  Transition,
14
14
  } from "./model.js";
15
15
 
16
- export class Navigation extends ServiceMap.Service<
16
+ export class Navigation extends Context.Service<
17
17
  Navigation,
18
18
  {
19
19
  readonly origin: string;
package/src/_core.ts CHANGED
@@ -2,7 +2,7 @@ import * as Effect from "effect/Effect";
2
2
  import * as Option from "effect/Option";
3
3
  import * as Result from "effect/Result";
4
4
  import type * as Scope from "effect/Scope";
5
- import type * as ServiceMap from "effect/ServiceMap";
5
+ import type * as Context from "effect/Context";
6
6
  import { RefSubject } from "@typed/fx";
7
7
  import type {
8
8
  BeforeNavigationEvent,
@@ -41,14 +41,11 @@ export const makeNavigationCore = Effect.fn(function* (
41
41
 
42
42
  const beforeHandlers = yield* RefSubject.make(
43
43
  Effect.sync(
44
- (): Set<readonly [BeforeNavigationHandler<any, any>, ServiceMap.ServiceMap<any>]> =>
45
- new Set(),
44
+ (): Set<readonly [BeforeNavigationHandler<any, any>, Context.Context<any>]> => new Set(),
46
45
  ),
47
46
  );
48
47
  const handlers = yield* RefSubject.make(
49
- Effect.sync(
50
- (): Set<readonly [NavigationHandler<any, any>, ServiceMap.ServiceMap<any>]> => new Set(),
51
- ),
48
+ Effect.sync((): Set<readonly [NavigationHandler<any, any>, Context.Context<any>]> => new Set()),
52
49
  );
53
50
 
54
51
  const runBeforeHandlers = (event: BeforeNavigationEvent) =>
@@ -57,11 +54,11 @@ export const makeNavigationCore = Effect.fn(function* (
57
54
  const matches: Array<Effect.Effect<unknown, RedirectError | CancelNavigation>> = [];
58
55
 
59
56
  for (const [handler, ctx] of handlers) {
60
- const exit = yield* handler(event).pipe(Effect.provideServices(ctx), Effect.result);
57
+ const exit = yield* handler(event).pipe(Effect.provideContext(ctx), Effect.result);
61
58
  if (Result.isSuccess(exit)) {
62
59
  const match = exit.success;
63
60
  if (Option.isSome(match)) {
64
- matches.push(Effect.provideServices(match.value, ctx));
61
+ matches.push(Effect.provideContext(match.value, ctx));
65
62
  }
66
63
  } else {
67
64
  return Option.some(exit.failure);
@@ -169,7 +166,7 @@ export const makeNavigationCore = Effect.fn(function* (
169
166
  const { entries, index } = yield* ref.get;
170
167
  const from = entries[index];
171
168
 
172
- if (error._tag === "CancelNavigation") {
169
+ if (error._tag === "@typed/navigation/CancelNavigation") {
173
170
  yield* ref.set({ entries, index, transition: Option.none() });
174
171
  return from;
175
172
  } else {
@@ -266,7 +263,7 @@ export const makeNavigationCore = Effect.fn(function* (
266
263
  const onBeforeNavigation = <R = never, R2 = never>(
267
264
  handler: BeforeNavigationHandler<R, R2>,
268
265
  ): Effect.Effect<void, never, R | R2 | Scope.Scope> =>
269
- Effect.servicesWith((ctx) => {
266
+ Effect.contextWith((ctx) => {
270
267
  const entry = [handler, ctx] as const;
271
268
 
272
269
  return Effect.flatMap(
@@ -285,7 +282,7 @@ export const makeNavigationCore = Effect.fn(function* (
285
282
  const onNavigation = <R = never, R2 = never>(
286
283
  handler: NavigationHandler<R, R2>,
287
284
  ): Effect.Effect<void, never, R | R2 | Scope.Scope> =>
288
- Effect.servicesWith((ctx) => {
285
+ Effect.contextWith((ctx) => {
289
286
  const entry = [handler, ctx] as const;
290
287
 
291
288
  return Effect.flatMap(
package/src/model.ts CHANGED
@@ -47,22 +47,27 @@ export const NavigationEvent = Schema.Struct({
47
47
  });
48
48
  export type NavigationEvent = typeof NavigationEvent.Type;
49
49
 
50
- export class NavigationError extends Schema.ErrorClass(`@typed/navigation/NavigationError`)({
51
- _tag: Schema.tag("NavigationError"),
52
- error: Schema.Unknown,
53
- }) {}
50
+ export class NavigationError extends Schema.TaggedErrorClass<NavigationError>()(
51
+ `@typed/navigation/NavigationError`,
52
+ {
53
+ error: Schema.Unknown,
54
+ },
55
+ ) {}
54
56
 
55
- export class RedirectError extends Schema.ErrorClass(`@typed/navigation/RedirectError`)({
56
- _tag: Schema.tag("RedirectError"),
57
- url: Schema.Union([Schema.URLFromString, Schema.String]),
58
- options: Schema.optional(
59
- Schema.Struct({
60
- state: Schema.optional(Schema.Unknown),
61
- info: Schema.optional(Schema.Unknown),
62
- }),
63
- ),
64
- }) {}
57
+ export class RedirectError extends Schema.TaggedErrorClass<RedirectError>()(
58
+ `@typed/navigation/RedirectError`,
59
+ {
60
+ url: Schema.Union([Schema.URLFromString, Schema.String]),
61
+ options: Schema.optional(
62
+ Schema.Struct({
63
+ state: Schema.optional(Schema.Unknown),
64
+ info: Schema.optional(Schema.Unknown),
65
+ }),
66
+ ),
67
+ },
68
+ ) {}
65
69
 
66
- export class CancelNavigation extends Schema.ErrorClass(`@typed/navigation/CancelNavigation`)({
67
- _tag: Schema.tag("CancelNavigation"),
68
- }) {}
70
+ export class CancelNavigation extends Schema.TaggedErrorClass<CancelNavigation>()(
71
+ `@typed/navigation/CancelNavigation`,
72
+ {},
73
+ ) {}