@typed/navigation 0.18.0 → 0.18.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/.nvmrc +1 -0
- package/biome.json +39 -0
- package/dist/Blocking.d.ts +23 -0
- package/dist/Blocking.js +41 -0
- package/dist/Blocking.js.map +1 -0
- package/dist/Destination.d.ts +11 -0
- package/dist/Destination.js +10 -0
- package/dist/Destination.js.map +1 -0
- package/dist/Error.d.ts +33 -0
- package/dist/Error.js +22 -0
- package/dist/Error.js.map +1 -0
- package/dist/Event.d.ts +45 -0
- package/dist/Event.js +17 -0
- package/dist/Event.js.map +1 -0
- package/dist/Forms.d.ts +79 -0
- package/dist/Forms.js +111 -0
- package/dist/Forms.js.map +1 -0
- package/dist/Handler.d.ts +6 -0
- package/dist/Handler.js +2 -0
- package/dist/Handler.js.map +1 -0
- package/dist/{dts/Layer.d.ts → Layer.d.ts} +11 -8
- package/dist/{esm/Layer.js → Layer.js} +2 -2
- package/dist/Layer.js.map +1 -0
- package/dist/NavigateOptions.d.ts +7 -0
- package/dist/NavigateOptions.js +7 -0
- package/dist/NavigateOptions.js.map +1 -0
- package/dist/Navigation.d.ts +79 -0
- package/dist/Navigation.js +49 -0
- package/dist/Navigation.js.map +1 -0
- package/dist/NavigationType.d.ts +3 -0
- package/dist/NavigationType.js +3 -0
- package/dist/NavigationType.js.map +1 -0
- package/dist/ProposedDestination.d.ts +13 -0
- package/dist/ProposedDestination.js +4 -0
- package/dist/ProposedDestination.js.map +1 -0
- package/dist/Url.d.ts +13 -0
- package/dist/Url.js +72 -0
- package/dist/Url.js.map +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +13 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/fromWindow.d.ts +4 -0
- package/dist/{esm/internal → internal}/fromWindow.js +125 -136
- package/dist/internal/fromWindow.js.map +1 -0
- package/dist/internal/memory.d.ts +6 -0
- package/dist/internal/memory.js +59 -0
- package/dist/internal/memory.js.map +1 -0
- package/dist/{dts/internal → internal}/shared.d.ts +44 -46
- package/dist/{esm/internal → internal}/shared.js +121 -168
- package/dist/internal/shared.js.map +1 -0
- package/package.json +35 -53
- package/readme.md +243 -0
- package/src/Blocking.ts +65 -65
- package/src/Destination.ts +14 -0
- package/src/Error.ts +28 -0
- package/src/Event.ts +26 -0
- package/src/Forms.ts +216 -0
- package/src/Handler.ts +16 -0
- package/src/Layer.ts +20 -9
- package/src/NavigateOptions.ts +9 -0
- package/src/Navigation.test.ts +697 -0
- package/src/Navigation.ts +135 -472
- package/src/NavigationType.ts +5 -0
- package/src/ProposedDestination.ts +8 -0
- package/src/Url.ts +106 -0
- package/src/index.ts +12 -17
- package/src/internal/fromWindow.ts +163 -234
- package/src/internal/memory.ts +62 -49
- package/src/internal/shared.ts +218 -377
- package/tsconfig.json +30 -0
- package/Blocking/package.json +0 -6
- package/LICENSE +0 -21
- package/Layer/package.json +0 -6
- package/Navigation/package.json +0 -6
- package/README.md +0 -5
- package/dist/cjs/Blocking.js +0 -58
- package/dist/cjs/Blocking.js.map +0 -1
- package/dist/cjs/Layer.js +0 -27
- package/dist/cjs/Layer.js.map +0 -1
- package/dist/cjs/Navigation.js +0 -278
- package/dist/cjs/Navigation.js.map +0 -1
- package/dist/cjs/index.js +0 -39
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/internal/fromWindow.js +0 -436
- package/dist/cjs/internal/fromWindow.js.map +0 -1
- package/dist/cjs/internal/memory.js +0 -72
- package/dist/cjs/internal/memory.js.map +0 -1
- package/dist/cjs/internal/shared.js +0 -525
- package/dist/cjs/internal/shared.js.map +0 -1
- package/dist/dts/Blocking.d.ts +0 -34
- package/dist/dts/Blocking.d.ts.map +0 -1
- package/dist/dts/Layer.d.ts.map +0 -1
- package/dist/dts/Navigation.d.ts +0 -451
- package/dist/dts/Navigation.d.ts.map +0 -1
- package/dist/dts/index.d.ts +0 -17
- package/dist/dts/index.d.ts.map +0 -1
- package/dist/dts/internal/fromWindow.d.ts +0 -12
- package/dist/dts/internal/fromWindow.d.ts.map +0 -1
- package/dist/dts/internal/memory.d.ts +0 -6
- package/dist/dts/internal/memory.d.ts.map +0 -1
- package/dist/dts/internal/shared.d.ts.map +0 -1
- package/dist/esm/Blocking.js +0 -46
- package/dist/esm/Blocking.js.map +0 -1
- package/dist/esm/Layer.js.map +0 -1
- package/dist/esm/Navigation.js +0 -238
- package/dist/esm/Navigation.js.map +0 -1
- package/dist/esm/index.js +0 -17
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/internal/fromWindow.js.map +0 -1
- package/dist/esm/internal/memory.js +0 -56
- package/dist/esm/internal/memory.js.map +0 -1
- package/dist/esm/internal/shared.js.map +0 -1
- package/dist/esm/package.json +0 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/internal/shared.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,61 +1,43 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typed/navigation",
|
|
3
|
-
"version": "0.18.
|
|
4
|
-
"description": "",
|
|
3
|
+
"version": "0.18.1",
|
|
4
|
+
"description": "History/Navigation API for Effect",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"keywords": [
|
|
9
|
+
"history",
|
|
10
|
+
"navigation",
|
|
11
|
+
"effect",
|
|
12
|
+
"typescript"
|
|
13
|
+
],
|
|
14
|
+
"author": "Tylor Steinberger <tlsteinberger167@gmail.com>",
|
|
5
15
|
"license": "MIT",
|
|
6
|
-
"repository": {
|
|
7
|
-
"type": "git",
|
|
8
|
-
"url": "https://github.com/tylors/typed.git"
|
|
9
|
-
},
|
|
10
|
-
"sideEffects": [],
|
|
11
|
-
"author": "Typed contributors",
|
|
12
|
-
"homepage": "https://github.com/tylors/typed",
|
|
13
16
|
"dependencies": {
|
|
14
|
-
"@effect/platform": "^0.
|
|
15
|
-
"@
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"
|
|
17
|
+
"@effect/platform": "^0.72.0",
|
|
18
|
+
"@typed/id": "^0.17.1",
|
|
19
|
+
"@typed/lazy-ref": "^0.3.3",
|
|
20
|
+
"effect": "^3.11.9"
|
|
21
|
+
},
|
|
22
|
+
"peerDependencies": {
|
|
23
|
+
"effect": "^3.11.9"
|
|
21
24
|
},
|
|
22
|
-
"
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
"
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
},
|
|
32
|
-
"./Blocking": {
|
|
33
|
-
"types": "./dist/dts/Blocking.d.ts",
|
|
34
|
-
"import": "./dist/esm/Blocking.js",
|
|
35
|
-
"default": "./dist/cjs/Blocking.js"
|
|
36
|
-
},
|
|
37
|
-
"./Layer": {
|
|
38
|
-
"types": "./dist/dts/Layer.d.ts",
|
|
39
|
-
"import": "./dist/esm/Layer.js",
|
|
40
|
-
"default": "./dist/cjs/Layer.js"
|
|
41
|
-
},
|
|
42
|
-
"./Navigation": {
|
|
43
|
-
"types": "./dist/dts/Navigation.d.ts",
|
|
44
|
-
"import": "./dist/esm/Navigation.js",
|
|
45
|
-
"default": "./dist/cjs/Navigation.js"
|
|
46
|
-
}
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@biomejs/biome": "^1.9.4",
|
|
27
|
+
"@effect/vitest": "^0.16.0",
|
|
28
|
+
"@types/dom-navigation": "^1.0.4",
|
|
29
|
+
"@types/node": "^22.10.2",
|
|
30
|
+
"@virtualstate/navigation": "1.0.1-alpha.206",
|
|
31
|
+
"happy-dom": "^16.0.1",
|
|
32
|
+
"typescript": "^5.4.2",
|
|
33
|
+
"vitest": "^2.1.8"
|
|
47
34
|
},
|
|
48
|
-
"
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
],
|
|
56
|
-
"Navigation": [
|
|
57
|
-
"./dist/dts/Navigation.d.ts"
|
|
58
|
-
]
|
|
59
|
-
}
|
|
35
|
+
"scripts": {
|
|
36
|
+
"build": "tsc",
|
|
37
|
+
"dev": "tsc --watch",
|
|
38
|
+
"lint": "biome lint --write",
|
|
39
|
+
"test:watch": "vitest --typecheck",
|
|
40
|
+
"test": "vitest run --typecheck",
|
|
41
|
+
"typecheck": "tsc --noEmit"
|
|
60
42
|
}
|
|
61
43
|
}
|
package/readme.md
ADDED
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
# @typed/navigation
|
|
2
|
+
|
|
3
|
+
A Effect-based library for managing browser navigation. Built on top of the [Navigation API](https://developer.mozilla.org/en-US/docs/Web/API/Navigation_API) where supported, falling back to the History API, it provides a type-safe and composable way to handle routing, history management, and navigation events in your web applications.
|
|
4
|
+
|
|
5
|
+
Key benefits:
|
|
6
|
+
- Type-safe navigation with full TypeScript support
|
|
7
|
+
- Seamless integration with Effect for powerful error handling and composability
|
|
8
|
+
- Graceful fallback to History API in unsupported browsers
|
|
9
|
+
- First-class support for testing and SSR through memory-based navigation
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
- 🎯 **Type-Safe**: Full TypeScript support with strict typing
|
|
14
|
+
- 🔄 **Effect Integration**: Built on top of the Effect ecosystem
|
|
15
|
+
- 🧠 **Memory Navigation**: In-memory navigation support for testing and SSR
|
|
16
|
+
- 🌐 **Browser Support**: Seamless integration with the browser's Navigation API
|
|
17
|
+
- 🎭 **State Management**: Built-in state management for navigation entries
|
|
18
|
+
- 🔄 **Navigation Events**: Comprehensive event system for navigation lifecycle
|
|
19
|
+
- 🛡️ **Error Handling**: Type-safe error handling with Effect
|
|
20
|
+
|
|
21
|
+
## Installation
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install @typed/navigation
|
|
25
|
+
# or
|
|
26
|
+
pnpm add @typed/navigation
|
|
27
|
+
# or
|
|
28
|
+
yarn add @typed/navigation
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Basic Usage
|
|
32
|
+
|
|
33
|
+
```typescript
|
|
34
|
+
import * as Navigation from '@typed/navigation'
|
|
35
|
+
import { Effect } from 'effect'
|
|
36
|
+
|
|
37
|
+
// Create a navigation instance
|
|
38
|
+
const program = Effect.gen(function* (_) {
|
|
39
|
+
// Basic navigation operations
|
|
40
|
+
const destination = yield* Navigation.navigate('/new-path')
|
|
41
|
+
yield* Navigation.back()
|
|
42
|
+
yield* Navigation.forward()
|
|
43
|
+
|
|
44
|
+
// Navigate with state and options
|
|
45
|
+
yield* Navigation.navigate('/dashboard', {
|
|
46
|
+
state: { userId: 123 },
|
|
47
|
+
history: 'replace', // 'push' | 'replace' | 'auto'
|
|
48
|
+
info: { source: 'user-action' }
|
|
49
|
+
})
|
|
50
|
+
|
|
51
|
+
// Access current navigation state
|
|
52
|
+
const current = yield* Navigation.CurrentEntry
|
|
53
|
+
console.log(current.url.pathname) // '/dashboard'
|
|
54
|
+
console.log(current.state) // { userId: 123 }
|
|
55
|
+
|
|
56
|
+
// Check navigation capabilities
|
|
57
|
+
const canGoBack = yield* Navigation.CanGoBack
|
|
58
|
+
const canGoForward = yield* Navigation.CanGoForward
|
|
59
|
+
|
|
60
|
+
// Access navigation history
|
|
61
|
+
const entries = yield* Navigation.Entries
|
|
62
|
+
const specificEntry = entries[0]
|
|
63
|
+
yield* Navigation.traverseTo(specificEntry.key)
|
|
64
|
+
|
|
65
|
+
// Update current entry's state
|
|
66
|
+
yield* Navigation.updateCurrentEntry({
|
|
67
|
+
state: { userId: 123, lastUpdated: Date.now() }
|
|
68
|
+
})
|
|
69
|
+
|
|
70
|
+
// Reload current entry
|
|
71
|
+
yield* Navigation.reload({
|
|
72
|
+
state: { refreshed: true },
|
|
73
|
+
info: { source: 'refresh-button' }
|
|
74
|
+
})
|
|
75
|
+
|
|
76
|
+
// Listen to navigation events
|
|
77
|
+
yield* Navigation.onNavigation((event) =>
|
|
78
|
+
Effect.log(`Navigated to ${event.destination.url.pathname}`)
|
|
79
|
+
)
|
|
80
|
+
|
|
81
|
+
// Intercept navigation events
|
|
82
|
+
yield* Navigation.beforeNavigation((event) =>
|
|
83
|
+
Effect.gen(function* (_) {
|
|
84
|
+
console.log(`Navigating from ${event.from.url.pathname} to ${event.to.url.pathname}`)
|
|
85
|
+
|
|
86
|
+
// Can cancel
|
|
87
|
+
yield* Navigation.cancelNavigation
|
|
88
|
+
|
|
89
|
+
// Can redirect
|
|
90
|
+
yield* Navigation.redirect(...)
|
|
91
|
+
})
|
|
92
|
+
)
|
|
93
|
+
|
|
94
|
+
// Track ongoing transitions
|
|
95
|
+
const transition = yield* Navigation.transition
|
|
96
|
+
if (Option.isSome(transition)) {
|
|
97
|
+
const { from, to, type } = transition.value
|
|
98
|
+
console.log(`Transition in progress: ${type} from ${from.url.pathname} to ${to.url.pathname}`)
|
|
99
|
+
}
|
|
100
|
+
})
|
|
101
|
+
|
|
102
|
+
program.pipe(
|
|
103
|
+
Effect.provide(Navigation.fromWindow(window))
|
|
104
|
+
// Effect.provide(Navigation.initialMemory({ url: '/' }))
|
|
105
|
+
)
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
## Core Features
|
|
109
|
+
|
|
110
|
+
### Navigation Operations
|
|
111
|
+
|
|
112
|
+
- `navigate(url, options?)`: Navigate to a new URL
|
|
113
|
+
- `back(options?)`: Go back in history
|
|
114
|
+
- `forward(options?)`: Go forward in history
|
|
115
|
+
- `traverseTo(key, options?)`: Navigate to a specific history entry
|
|
116
|
+
- `updateCurrentEntry(options)`: Update the state of the current entry
|
|
117
|
+
- `reload(options?)`: Reload the current entry
|
|
118
|
+
|
|
119
|
+
### State Management
|
|
120
|
+
|
|
121
|
+
- `currentEntry`: Get the current navigation entry
|
|
122
|
+
- `entries`: Access all navigation entries
|
|
123
|
+
- `canGoBack`: Check if backward navigation is possible
|
|
124
|
+
- `canGoForward`: Check if forward navigation is possible
|
|
125
|
+
|
|
126
|
+
### Event Handling
|
|
127
|
+
|
|
128
|
+
- `beforeNavigation`: Register handlers to run before navigation
|
|
129
|
+
- `onNavigation`: Register handlers to run after navigation
|
|
130
|
+
- `transition`: Track ongoing navigation transitions
|
|
131
|
+
|
|
132
|
+
## Advanced Usage
|
|
133
|
+
|
|
134
|
+
### Memory Navigation
|
|
135
|
+
|
|
136
|
+
For testing or SSR environments:
|
|
137
|
+
|
|
138
|
+
```typescript
|
|
139
|
+
import { Navigation } from '@typed/navigation'
|
|
140
|
+
import { Effect } from 'effect'
|
|
141
|
+
|
|
142
|
+
const program = Effect.gen(function* (_) {
|
|
143
|
+
const nav = yield* Navigation.Navigation
|
|
144
|
+
|
|
145
|
+
// Use in-memory navigation
|
|
146
|
+
}).pipe(
|
|
147
|
+
Effect.provide(Navigation.initialMemory({
|
|
148
|
+
url: 'https://example.com',
|
|
149
|
+
state: { /* initial state */ }
|
|
150
|
+
}))
|
|
151
|
+
)
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### Browser Navigation
|
|
155
|
+
|
|
156
|
+
For browser environments:
|
|
157
|
+
|
|
158
|
+
```typescript
|
|
159
|
+
import { Navigation } from '@typed/navigation'
|
|
160
|
+
import { Effect } from 'effect'
|
|
161
|
+
|
|
162
|
+
const program = Effect.gen(function* (_) {
|
|
163
|
+
const nav = yield* Navigation.Navigation
|
|
164
|
+
|
|
165
|
+
// Use browser's Navigation API
|
|
166
|
+
}).pipe(
|
|
167
|
+
// Has support for:
|
|
168
|
+
// - <base href="...">
|
|
169
|
+
// - intercepting history.*
|
|
170
|
+
// - utilizing native Navigation API (currently Chrome only)
|
|
171
|
+
Effect.provide(Navigation.fromWindow(window))
|
|
172
|
+
)
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
### Blocking Navigation
|
|
176
|
+
|
|
177
|
+
The library provides powerful capabilities to intercept and control navigation attempts through the `useBlockNavigation` API. This is useful for scenarios like:
|
|
178
|
+
- Preventing navigation when there are unsaved changes
|
|
179
|
+
- Showing confirmation dialogs before navigation
|
|
180
|
+
- Redirecting users to different paths based on conditions
|
|
181
|
+
|
|
182
|
+
```typescript
|
|
183
|
+
import { Navigation } from '@typed/navigation'
|
|
184
|
+
import { Effect } from 'effect'
|
|
185
|
+
|
|
186
|
+
const program = Effect.gen(function* (_) {
|
|
187
|
+
// Create a blocking navigation instance
|
|
188
|
+
const blockNavigation = yield* Navigation.useBlockNavigation({
|
|
189
|
+
// Optional: Specify when to block navigation
|
|
190
|
+
shouldBlock: (event) => Effect.succeed(true)
|
|
191
|
+
})
|
|
192
|
+
|
|
193
|
+
// Listen to blocking events and handle them
|
|
194
|
+
yield* Effect.forkScoped(blockNavigation.whenBlocked(
|
|
195
|
+
(blocking) =>
|
|
196
|
+
Effect.gen(function* (_) {
|
|
197
|
+
// You can:
|
|
198
|
+
// 1. Confirm the navigation
|
|
199
|
+
yield* blocking.confirm
|
|
200
|
+
|
|
201
|
+
// 2. Cancel the navigation
|
|
202
|
+
yield* blocking.cancel
|
|
203
|
+
|
|
204
|
+
// 3. Redirect to a different path
|
|
205
|
+
yield* blocking.redirect('/different-path', {
|
|
206
|
+
state: { /* optional state */ },
|
|
207
|
+
info: { /* optional info */ }
|
|
208
|
+
})
|
|
209
|
+
})
|
|
210
|
+
))
|
|
211
|
+
})
|
|
212
|
+
|
|
213
|
+
// Provide the navigation layer
|
|
214
|
+
program.pipe(
|
|
215
|
+
Effect.provide(Navigation.fromWindow(window))
|
|
216
|
+
)
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
You can also use `beforeNavigation` for simpler blocking scenarios:
|
|
220
|
+
|
|
221
|
+
```typescript
|
|
222
|
+
yield* Navigation.beforeNavigation((event) =>
|
|
223
|
+
Effect.gen(function* (_) {
|
|
224
|
+
if (shouldBlock(event)) {
|
|
225
|
+
// Cancel the navigation
|
|
226
|
+
return yield* Navigation.cancelNavigation
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
if (shouldRedirect(event)) {
|
|
230
|
+
// Redirect to a different path
|
|
231
|
+
return yield* Navigation.redirectToPath('/new-path')
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
// Allow the navigation to proceed
|
|
235
|
+
return Effect.none()
|
|
236
|
+
})
|
|
237
|
+
)
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
## License
|
|
241
|
+
|
|
242
|
+
MIT
|
|
243
|
+
|
package/src/Blocking.ts
CHANGED
|
@@ -1,81 +1,70 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
import * as
|
|
6
|
-
|
|
7
|
-
import * as
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
|
|
12
|
-
import
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
import { cancelNavigation, Navigation, redirectToPath } from "./Navigation.js"
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* @since 1.0.0
|
|
24
|
-
*/
|
|
25
|
-
export interface BlockNavigation extends RefSubject.Computed<Option.Option<Blocking>> {
|
|
26
|
-
readonly isBlocking: RefSubject.Computed<boolean>
|
|
1
|
+
import * as LazyRef from '@typed/lazy-ref'
|
|
2
|
+
import { Stream } from 'effect'
|
|
3
|
+
import * as Data from 'effect/Data'
|
|
4
|
+
import * as Deferred from 'effect/Deferred'
|
|
5
|
+
import * as Effect from 'effect/Effect'
|
|
6
|
+
import * as Option from 'effect/Option'
|
|
7
|
+
import type * as Scope from 'effect/Scope'
|
|
8
|
+
import type { Destination } from './Destination.js'
|
|
9
|
+
import { CancelNavigation, type RedirectError } from './Error.js'
|
|
10
|
+
import type { TransitionEvent } from './Event.js'
|
|
11
|
+
import type { NavigateOptions } from './NavigateOptions.js'
|
|
12
|
+
import { Navigation, redirectToPath } from './Navigation.js'
|
|
13
|
+
|
|
14
|
+
export interface BlockNavigation extends LazyRef.Computed<Option.Option<Blocking>> {
|
|
15
|
+
readonly isBlocking: LazyRef.Computed<boolean>
|
|
16
|
+
readonly whenBlocked: <A, E, R>(
|
|
17
|
+
handler: (blocking: Blocking) => Effect.Effect<A, E, R>,
|
|
18
|
+
options?: Parameters<typeof Stream.flatMap>[2],
|
|
19
|
+
) => Effect.Effect<void, E, R>
|
|
27
20
|
}
|
|
28
21
|
|
|
29
|
-
|
|
30
|
-
* @since 1.0.0
|
|
31
|
-
*/
|
|
32
|
-
export interface Blocking extends BeforeNavigationEvent {
|
|
22
|
+
export interface Blocking extends TransitionEvent {
|
|
33
23
|
readonly cancel: Effect.Effect<Destination>
|
|
34
24
|
readonly confirm: Effect.Effect<Destination>
|
|
35
|
-
readonly redirect: (
|
|
25
|
+
readonly redirect: (
|
|
26
|
+
urlOrPath: string | URL,
|
|
27
|
+
options?: NavigateOptions,
|
|
28
|
+
) => Effect.Effect<Destination>
|
|
36
29
|
}
|
|
37
30
|
|
|
38
31
|
type InternalBlockState = Unblocked | Blocked
|
|
39
32
|
|
|
40
33
|
type Unblocked = {
|
|
41
|
-
readonly _tag:
|
|
34
|
+
readonly _tag: 'Unblocked'
|
|
42
35
|
}
|
|
43
|
-
const Unblocked: Unblocked = Data.struct({ _tag:
|
|
36
|
+
const Unblocked: Unblocked = Data.struct({ _tag: 'Unblocked' })
|
|
44
37
|
|
|
45
38
|
type Blocked = {
|
|
46
|
-
readonly _tag:
|
|
47
|
-
readonly event:
|
|
39
|
+
readonly _tag: 'Blocked'
|
|
40
|
+
readonly event: TransitionEvent
|
|
48
41
|
readonly deferred: Deferred.Deferred<void, RedirectError | CancelNavigation>
|
|
49
42
|
}
|
|
50
43
|
|
|
51
|
-
const Blocked = (event:
|
|
44
|
+
const Blocked = (event: TransitionEvent) =>
|
|
52
45
|
Effect.map(
|
|
53
46
|
Deferred.make<void, RedirectError | CancelNavigation>(),
|
|
54
|
-
(deferred): Blocked => Data.struct({ _tag:
|
|
47
|
+
(deferred): Blocked => Data.struct({ _tag: 'Blocked', deferred, event }),
|
|
55
48
|
)
|
|
56
49
|
|
|
57
|
-
/**
|
|
58
|
-
* @since 1.0.0
|
|
59
|
-
*/
|
|
60
50
|
export interface UseBlockNavigationParams<R = never> {
|
|
61
|
-
readonly shouldBlock?: (
|
|
51
|
+
readonly shouldBlock?: (
|
|
52
|
+
event: TransitionEvent,
|
|
53
|
+
) => Effect.Effect<boolean, RedirectError | CancelNavigation, R>
|
|
62
54
|
}
|
|
63
55
|
|
|
64
|
-
/**
|
|
65
|
-
* @since 1.0.0
|
|
66
|
-
*/
|
|
67
56
|
export const useBlockNavigation = <R = never>(
|
|
68
|
-
params: UseBlockNavigationParams<R> = {}
|
|
57
|
+
params: UseBlockNavigationParams<R> = {},
|
|
69
58
|
): Effect.Effect<BlockNavigation, never, Navigation | R | Scope.Scope> =>
|
|
70
|
-
Effect.gen(function*() {
|
|
59
|
+
Effect.gen(function* () {
|
|
71
60
|
const navigation = yield* Navigation
|
|
72
|
-
const blockState = yield*
|
|
61
|
+
const blockState = yield* LazyRef.of<InternalBlockState>(Unblocked)
|
|
73
62
|
|
|
74
63
|
yield* navigation.beforeNavigation<R, never>((event) =>
|
|
75
|
-
|
|
76
|
-
Effect.gen(function*() {
|
|
64
|
+
LazyRef.modifyEffect(blockState, (state) =>
|
|
65
|
+
Effect.gen(function* () {
|
|
77
66
|
// Can't block twice
|
|
78
|
-
if (state._tag ===
|
|
67
|
+
if (state._tag === 'Blocked') return [Option.none(), state] as const
|
|
79
68
|
|
|
80
69
|
if (params.shouldBlock && !(yield* params.shouldBlock(event))) {
|
|
81
70
|
return [Option.none(), state] as const
|
|
@@ -83,21 +72,26 @@ export const useBlockNavigation = <R = never>(
|
|
|
83
72
|
|
|
84
73
|
const updated = yield* Blocked(event)
|
|
85
74
|
|
|
86
|
-
return [
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
] as const
|
|
90
|
-
}))
|
|
75
|
+
return [Option.some(Deferred.await(updated.deferred)), updated] as const
|
|
76
|
+
}),
|
|
77
|
+
),
|
|
91
78
|
)
|
|
92
79
|
|
|
93
|
-
const
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
80
|
+
const computed = LazyRef.map(blockState, (s) => {
|
|
81
|
+
return s._tag === 'Blocked' ? Option.some(blockedToBlocking(navigation, s)) : Option.none()
|
|
82
|
+
})
|
|
83
|
+
|
|
84
|
+
const blockNavigation: BlockNavigation = Object.assign(computed, {
|
|
85
|
+
isBlocking: LazyRef.map(blockState, (s) => s._tag === 'Blocked'),
|
|
86
|
+
whenBlocked: <A, E, R>(
|
|
87
|
+
handler: (blocking: Blocking) => Effect.Effect<A, E, R>,
|
|
88
|
+
options?: Parameters<typeof Stream.flatMap>[2],
|
|
89
|
+
) =>
|
|
90
|
+
Stream.filterMap(computed.changes, (blocking) => blocking).pipe(
|
|
91
|
+
Stream.flatMap(handler, options),
|
|
92
|
+
Stream.runDrain,
|
|
93
|
+
),
|
|
94
|
+
})
|
|
101
95
|
|
|
102
96
|
return blockNavigation
|
|
103
97
|
})
|
|
@@ -105,9 +99,15 @@ export const useBlockNavigation = <R = never>(
|
|
|
105
99
|
function blockedToBlocking(navigation: Navigation, state: Blocked): Blocking {
|
|
106
100
|
return {
|
|
107
101
|
...state.event,
|
|
108
|
-
cancel: Effect.zipRight(
|
|
102
|
+
cancel: Effect.zipRight(
|
|
103
|
+
Deferred.failSync(state.deferred, () => new CancelNavigation()),
|
|
104
|
+
navigation.currentEntry,
|
|
105
|
+
),
|
|
109
106
|
confirm: Effect.zipRight(Deferred.succeed(state.deferred, undefined), navigation.currentEntry),
|
|
110
107
|
redirect: (url, options) =>
|
|
111
|
-
Effect.zipRight(
|
|
108
|
+
Effect.zipRight(
|
|
109
|
+
Deferred.fail(state.deferred, redirectToPath(url, options)),
|
|
110
|
+
navigation.currentEntry,
|
|
111
|
+
),
|
|
112
112
|
}
|
|
113
113
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema'
|
|
2
|
+
import { Url } from './Url.js'
|
|
3
|
+
|
|
4
|
+
export const Destination = Schema.Struct({
|
|
5
|
+
id: Schema.UUID,
|
|
6
|
+
key: Schema.UUID,
|
|
7
|
+
url: Url,
|
|
8
|
+
state: Schema.Unknown,
|
|
9
|
+
sameDocument: Schema.Boolean,
|
|
10
|
+
})
|
|
11
|
+
|
|
12
|
+
export type DestinationEncoded = Schema.Schema.Encoded<typeof Destination>
|
|
13
|
+
|
|
14
|
+
export interface Destination extends Schema.Schema.Type<typeof Destination> {}
|
package/src/Error.ts
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema'
|
|
2
|
+
import { Url } from './Url.js'
|
|
3
|
+
|
|
4
|
+
export class NavigationError extends Schema.TaggedError<NavigationError>()('NavigationError', {
|
|
5
|
+
cause: Schema.Unknown,
|
|
6
|
+
}) {
|
|
7
|
+
static is = Schema.is(NavigationError)
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export class RedirectError extends Schema.TaggedError<RedirectError>()('RedirectError', {
|
|
11
|
+
path: Schema.Union(Schema.String, Url),
|
|
12
|
+
options: Schema.optional(Schema.Record({ key: Schema.String, value: Schema.Unknown })),
|
|
13
|
+
}) {
|
|
14
|
+
static is = Schema.is(RedirectError)
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export class CancelNavigation extends Schema.TaggedError<CancelNavigation>()(
|
|
18
|
+
'CancelNavigation',
|
|
19
|
+
{},
|
|
20
|
+
) {
|
|
21
|
+
static is = Schema.is(CancelNavigation)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export class FormSubmitError extends Schema.TaggedError<FormSubmitError>()('FormSubmitError', {
|
|
25
|
+
cause: Schema.Unknown,
|
|
26
|
+
}) {
|
|
27
|
+
static is = Schema.is(FormSubmitError)
|
|
28
|
+
}
|
package/src/Event.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as Schema from 'effect/Schema'
|
|
2
|
+
import { Destination } from './Destination.js'
|
|
3
|
+
import { NavigationType } from './NavigationType.js'
|
|
4
|
+
import { ProposedDestination } from './ProposedDestination.js'
|
|
5
|
+
|
|
6
|
+
export const TransitionEvent = Schema.Struct({
|
|
7
|
+
type: NavigationType,
|
|
8
|
+
from: Destination,
|
|
9
|
+
delta: Schema.Number,
|
|
10
|
+
to: Schema.Union(ProposedDestination, Destination),
|
|
11
|
+
info: Schema.Unknown,
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
export type TransitionEventEncoded = Schema.Schema.Encoded<typeof TransitionEvent>
|
|
15
|
+
|
|
16
|
+
export interface TransitionEvent extends Schema.Schema.Type<typeof TransitionEvent> {}
|
|
17
|
+
|
|
18
|
+
export const NavigationEvent = Schema.Struct({
|
|
19
|
+
type: NavigationType,
|
|
20
|
+
destination: Destination,
|
|
21
|
+
info: Schema.Unknown,
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
export type NavigationEventEncoded = Schema.Schema.Encoded<typeof NavigationEvent>
|
|
25
|
+
|
|
26
|
+
export interface NavigationEvent extends Schema.Schema.Type<typeof NavigationEvent> {}
|