@typed/navigation 0.17.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/internal/fromWindow.js +358 -0
- 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/internal/shared.d.ts +109 -0
- package/dist/{esm/internal → internal}/shared.js +134 -165
- package/dist/internal/shared.js.map +1 -0
- package/package.json +35 -52
- 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 +133 -468
- 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 +250 -180
- package/src/internal/memory.ts +62 -49
- package/src/internal/shared.ts +238 -305
- 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 -275
- 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 -421
- 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 -522
- 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 -462
- 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 +0 -114
- 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 -237
- 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 +0 -310
- 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
|
@@ -1,25 +1,54 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import * as
|
|
7
|
-
import * as
|
|
8
|
-
import
|
|
1
|
+
import * as Headers from '@effect/platform/Headers';
|
|
2
|
+
import * as HttpClient from '@effect/platform/HttpClient';
|
|
3
|
+
import { GetRandomValues, makeUuid4 } from '@typed/id';
|
|
4
|
+
import * as LazyRef from '@typed/lazy-ref';
|
|
5
|
+
import { Cause, Schema } from 'effect';
|
|
6
|
+
import * as Effect from 'effect/Effect';
|
|
7
|
+
import * as Either from 'effect/Either';
|
|
8
|
+
import * as Option from 'effect/Option';
|
|
9
|
+
import { Destination } from '../Destination.js';
|
|
10
|
+
import { FormSubmitError, } from '../Error.js';
|
|
11
|
+
import { TransitionEvent } from '../Event.js';
|
|
9
12
|
export const NavigationState = Schema.Struct({
|
|
10
13
|
entries: Schema.Array(Destination),
|
|
11
14
|
index: Schema.Number,
|
|
12
|
-
transition: Schema.OptionFromNullishOr(
|
|
15
|
+
transition: Schema.OptionFromNullishOr(TransitionEvent, null),
|
|
13
16
|
});
|
|
14
|
-
export
|
|
15
|
-
|
|
16
|
-
|
|
17
|
+
export function getUrl(origin, urlOrPath, base) {
|
|
18
|
+
if (typeof urlOrPath === 'string') {
|
|
19
|
+
const url = new URL(urlOrPath, origin);
|
|
20
|
+
// If the URL is relative, join it with the base
|
|
21
|
+
if (isRelativeUrl(urlOrPath)) {
|
|
22
|
+
url.pathname = joinPath(base, url.pathname);
|
|
23
|
+
}
|
|
24
|
+
return url;
|
|
25
|
+
}
|
|
26
|
+
return urlOrPath;
|
|
27
|
+
}
|
|
28
|
+
function isRelativeUrl(url) {
|
|
29
|
+
if (url.includes('://'))
|
|
30
|
+
return false;
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
function joinPath(a, b) {
|
|
34
|
+
const aEndsWithSlash = a[a.length - 1] === '/';
|
|
35
|
+
const bStartsWithSlash = b[0] === '/';
|
|
36
|
+
if (aEndsWithSlash && bStartsWithSlash) {
|
|
37
|
+
return a + b.slice(1);
|
|
38
|
+
}
|
|
39
|
+
if (!aEndsWithSlash && !bStartsWithSlash) {
|
|
40
|
+
return `${a}/${b}`;
|
|
41
|
+
}
|
|
42
|
+
return a + b;
|
|
43
|
+
}
|
|
17
44
|
const REDIRECT_STATUS_CODES = new Set([301, 302, 303, 307, 308]);
|
|
18
45
|
export function setupFromModelAndIntent(modelAndIntent, origin, base, getRandomValues, newNavigationState) {
|
|
19
|
-
const { beforeHandlers,
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
46
|
+
const { beforeHandlers, commit, handlers, state } = modelAndIntent;
|
|
47
|
+
const canGoBack = LazyRef.map(state, (s) => s.index > 0);
|
|
48
|
+
const canGoForward = LazyRef.map(state, (s) => s.index < s.entries.length - 1);
|
|
49
|
+
const entries = LazyRef.map(state, (s) => s.entries);
|
|
50
|
+
const currentEntry = LazyRef.map(state, (s) => s.entries[s.index]);
|
|
51
|
+
const transition = LazyRef.map(state, (s) => s.transition);
|
|
23
52
|
const runBeforeHandlers = (event) => Effect.gen(function* () {
|
|
24
53
|
const handlers = yield* beforeHandlers;
|
|
25
54
|
const matches = [];
|
|
@@ -27,7 +56,7 @@ export function setupFromModelAndIntent(modelAndIntent, origin, base, getRandomV
|
|
|
27
56
|
const exit = yield* handler(event).pipe(Effect.provide(ctx), Effect.either);
|
|
28
57
|
if (Either.isRight(exit)) {
|
|
29
58
|
const match = exit.right;
|
|
30
|
-
if (Option.isSome(match)) {
|
|
59
|
+
if (match !== undefined && Option.isSome(match)) {
|
|
31
60
|
matches.push(Effect.provide(match.value, ctx));
|
|
32
61
|
}
|
|
33
62
|
}
|
|
@@ -50,7 +79,7 @@ export function setupFromModelAndIntent(modelAndIntent, origin, base, getRandomV
|
|
|
50
79
|
const matches = [];
|
|
51
80
|
for (const [handler, ctx] of eventHandlers) {
|
|
52
81
|
const match = yield* Effect.provide(handler(event), ctx);
|
|
53
|
-
if (Option.isSome(match)) {
|
|
82
|
+
if (match !== undefined && Option.isSome(match)) {
|
|
54
83
|
matches.push(Effect.provide(match.value, ctx));
|
|
55
84
|
}
|
|
56
85
|
}
|
|
@@ -58,53 +87,24 @@ export function setupFromModelAndIntent(modelAndIntent, origin, base, getRandomV
|
|
|
58
87
|
yield* Effect.all(matches, { discard: true });
|
|
59
88
|
}
|
|
60
89
|
});
|
|
61
|
-
const runFormDataHandlers = (event) => Effect.gen(function* () {
|
|
62
|
-
const handlers = yield* formDataHandlers;
|
|
63
|
-
const matches = [];
|
|
64
|
-
for (const [handler, ctx] of handlers) {
|
|
65
|
-
const exit = yield* handler(event).pipe(Effect.provide(ctx), Effect.either);
|
|
66
|
-
if (Either.isRight(exit)) {
|
|
67
|
-
const match = exit.right;
|
|
68
|
-
if (Option.isSome(match)) {
|
|
69
|
-
matches.push(Effect.provide(match.value, ctx));
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
return Either.left(exit.left);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
if (matches.length > 0) {
|
|
77
|
-
for (const match of matches) {
|
|
78
|
-
const exit = yield* Effect.either(match);
|
|
79
|
-
if (Either.isLeft(exit)) {
|
|
80
|
-
return Either.left(exit.left);
|
|
81
|
-
}
|
|
82
|
-
else if (Option.isSome(exit.right)) {
|
|
83
|
-
return Either.right(exit.right);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
else {
|
|
88
|
-
// Only if there are 0 matches, we'll make a request to the server ourselves
|
|
89
|
-
const response = yield* makeFormDataRequest(event, Option.getOrElse(event.action, () => event.from.url.href));
|
|
90
|
-
return Either.right(Option.some(response));
|
|
91
|
-
}
|
|
92
|
-
return Either.right(Option.none());
|
|
93
|
-
});
|
|
94
90
|
const runNavigationEvent = (beforeEvent, get, set, depth, skipCommit = false) => Effect.gen(function* () {
|
|
95
|
-
|
|
96
|
-
|
|
91
|
+
const current = yield* set({
|
|
92
|
+
...(yield* get),
|
|
93
|
+
transition: Option.some(beforeEvent),
|
|
94
|
+
});
|
|
97
95
|
if (!skipCommit) {
|
|
98
96
|
const beforeError = yield* runBeforeHandlers(beforeEvent);
|
|
99
97
|
if (Option.isSome(beforeError)) {
|
|
100
98
|
return yield* handleError(beforeError.value, get, set, depth);
|
|
101
99
|
}
|
|
102
100
|
}
|
|
103
|
-
const to = isDestination(beforeEvent.to)
|
|
101
|
+
const to = isDestination(beforeEvent.to)
|
|
102
|
+
? beforeEvent.to
|
|
103
|
+
: yield* upgradeProposedDestination(beforeEvent.to);
|
|
104
104
|
if (!skipCommit) {
|
|
105
105
|
yield* commit(to, beforeEvent);
|
|
106
106
|
}
|
|
107
|
-
if (newNavigationState) {
|
|
107
|
+
if (newNavigationState !== undefined) {
|
|
108
108
|
const { entries, index } = yield* set(newNavigationState());
|
|
109
109
|
return entries[index];
|
|
110
110
|
}
|
|
@@ -112,59 +112,63 @@ export function setupFromModelAndIntent(modelAndIntent, origin, base, getRandomV
|
|
|
112
112
|
const event = {
|
|
113
113
|
type: beforeEvent.type,
|
|
114
114
|
info: beforeEvent.info,
|
|
115
|
-
destination: to
|
|
115
|
+
destination: to,
|
|
116
116
|
};
|
|
117
|
-
if (beforeEvent.type ===
|
|
117
|
+
if (beforeEvent.type === 'push') {
|
|
118
118
|
const index = current.index + 1;
|
|
119
119
|
const entries = current.entries.slice(0, index).concat([to]);
|
|
120
120
|
yield* set({ entries, index, transition: Option.none() });
|
|
121
121
|
}
|
|
122
|
-
else if (beforeEvent.type ===
|
|
122
|
+
else if (beforeEvent.type === 'replace') {
|
|
123
123
|
const index = current.index;
|
|
124
124
|
const before = current.entries.slice(0, index);
|
|
125
125
|
const after = current.entries.slice(index + 1);
|
|
126
126
|
const entries = [...before, to, ...after];
|
|
127
127
|
yield* set({ entries, index, transition: Option.none() });
|
|
128
128
|
}
|
|
129
|
-
else if (beforeEvent.type ===
|
|
129
|
+
else if (beforeEvent.type === 'reload') {
|
|
130
130
|
yield* set({ ...current, transition: Option.none() });
|
|
131
131
|
}
|
|
132
132
|
else {
|
|
133
133
|
const { delta } = beforeEvent;
|
|
134
134
|
const nextIndex = current.index + delta;
|
|
135
|
-
yield* set({
|
|
135
|
+
yield* set({
|
|
136
|
+
...current,
|
|
137
|
+
index: nextIndex,
|
|
138
|
+
transition: Option.none(),
|
|
139
|
+
});
|
|
136
140
|
}
|
|
137
141
|
yield* runHandlers(event);
|
|
138
142
|
}
|
|
139
143
|
return to;
|
|
140
|
-
}).pipe(
|
|
144
|
+
}).pipe(Effect.provideService(GetRandomValues, getRandomValues));
|
|
141
145
|
const handleError = (error, get, set, depth) => Effect.gen(function* () {
|
|
142
146
|
if (depth >= 25) {
|
|
143
|
-
return yield* Effect.dieMessage(
|
|
147
|
+
return yield* Effect.dieMessage('Redirect loop detected.');
|
|
144
148
|
}
|
|
145
149
|
const { entries, index } = yield* get;
|
|
146
150
|
const from = entries[index];
|
|
147
|
-
if (error._tag ===
|
|
151
|
+
if (error._tag === 'CancelNavigation') {
|
|
148
152
|
yield* set({ entries, index, transition: Option.none() });
|
|
149
153
|
return from;
|
|
150
154
|
}
|
|
151
155
|
else {
|
|
152
|
-
const event = yield* makeRedirectEvent(origin, error, from);
|
|
156
|
+
const event = yield* makeRedirectEvent(origin, error, from, base);
|
|
153
157
|
return yield* runNavigationEvent(event, get, set, depth + 1);
|
|
154
158
|
}
|
|
155
|
-
}).pipe(
|
|
159
|
+
}).pipe(Effect.provideService(GetRandomValues, getRandomValues));
|
|
156
160
|
const navigate = (pathOrUrl, options, skipCommit = false) => state.runUpdates(({ get, set }) => Effect.gen(function* () {
|
|
157
161
|
const state = yield* get;
|
|
158
162
|
const from = state.entries[state.index];
|
|
159
|
-
const history = options?.history ??
|
|
160
|
-
const to = yield* makeOrUpdateDestination(state, getUrl(origin, pathOrUrl), options?.state, origin).pipe(
|
|
161
|
-
const type = history ===
|
|
163
|
+
const history = options?.history ?? 'auto';
|
|
164
|
+
const to = yield* makeOrUpdateDestination(state, getUrl(origin, pathOrUrl, base), options?.state, origin).pipe(Effect.provideService(GetRandomValues, getRandomValues));
|
|
165
|
+
const type = history === 'auto' ? (from.key === to.key ? 'replace' : 'push') : history;
|
|
162
166
|
const event = {
|
|
163
167
|
type,
|
|
164
168
|
from,
|
|
165
169
|
to,
|
|
166
|
-
delta: type ===
|
|
167
|
-
info: options?.info
|
|
170
|
+
delta: type === 'replace' ? 0 : 1,
|
|
171
|
+
info: options?.info,
|
|
168
172
|
};
|
|
169
173
|
return yield* runNavigationEvent(event, get, set, 0, skipCommit);
|
|
170
174
|
}));
|
|
@@ -175,15 +179,15 @@ export function setupFromModelAndIntent(modelAndIntent, origin, base, getRandomV
|
|
|
175
179
|
const nextIndex = entries.findIndex((e) => e.key === key);
|
|
176
180
|
if (nextIndex === -1)
|
|
177
181
|
return from;
|
|
178
|
-
const id = yield*
|
|
182
|
+
const id = yield* makeUuid4.pipe(Effect.provideService(GetRandomValues, getRandomValues));
|
|
179
183
|
const to = { ...entries[nextIndex], id };
|
|
180
184
|
const delta = nextIndex - index;
|
|
181
185
|
const event = {
|
|
182
|
-
type:
|
|
186
|
+
type: 'traverse',
|
|
183
187
|
from,
|
|
184
188
|
to,
|
|
185
189
|
delta,
|
|
186
|
-
info: options?.info
|
|
190
|
+
info: options?.info,
|
|
187
191
|
};
|
|
188
192
|
return yield* runNavigationEvent(event, get, set, 0, skipCommit);
|
|
189
193
|
}));
|
|
@@ -205,82 +209,61 @@ export function setupFromModelAndIntent(modelAndIntent, origin, base, getRandomV
|
|
|
205
209
|
const { entries, index } = yield* state;
|
|
206
210
|
const current = entries[index];
|
|
207
211
|
const event = {
|
|
208
|
-
type:
|
|
212
|
+
type: 'reload',
|
|
209
213
|
from: current,
|
|
210
214
|
to: current,
|
|
211
215
|
delta: 0,
|
|
212
|
-
info: options?.info
|
|
216
|
+
info: options?.info,
|
|
213
217
|
};
|
|
214
218
|
return yield* runNavigationEvent(event, get, set, 0, skipCommit);
|
|
215
219
|
}));
|
|
216
220
|
const beforeNavigation = (handler) => Effect.contextWithEffect((ctx) => {
|
|
217
221
|
const entry = [handler, ctx];
|
|
218
|
-
|
|
222
|
+
const acquire = LazyRef.update(beforeHandlers, (handlers) => new Set([...handlers, entry]));
|
|
223
|
+
const release = Effect.ignoreLogged(LazyRef.update(beforeHandlers, (handlers) => {
|
|
219
224
|
const updated = new Set(handlers);
|
|
220
225
|
updated.delete(entry);
|
|
221
226
|
return updated;
|
|
222
|
-
}))
|
|
227
|
+
}));
|
|
228
|
+
return Effect.acquireRelease(acquire, () => release);
|
|
223
229
|
});
|
|
224
230
|
const onNavigation = (handler) => Effect.contextWithEffect((ctx) => {
|
|
225
231
|
const entry = [handler, ctx];
|
|
226
|
-
|
|
232
|
+
const acquire = LazyRef.update(handlers, (handlers) => new Set([...handlers, entry]));
|
|
233
|
+
const release = Effect.ignoreLogged(LazyRef.update(handlers, (handlers) => {
|
|
227
234
|
const updated = new Set(handlers);
|
|
228
235
|
updated.delete(entry);
|
|
229
236
|
return updated;
|
|
230
|
-
}))
|
|
237
|
+
}));
|
|
238
|
+
return Effect.acquireRelease(acquire, () => release);
|
|
231
239
|
});
|
|
232
240
|
const updateCurrentEntry = (options) => state.runUpdates(({ get, set }) => Effect.gen(function* () {
|
|
233
241
|
const { entries, index } = yield* get;
|
|
234
242
|
const current = entries[index];
|
|
235
243
|
const event = {
|
|
236
|
-
type:
|
|
244
|
+
type: 'replace',
|
|
237
245
|
from: current,
|
|
238
246
|
to: { ...current, state: options.state },
|
|
239
247
|
delta: 0,
|
|
240
|
-
info: null
|
|
248
|
+
info: null,
|
|
241
249
|
};
|
|
242
250
|
return yield* runNavigationEvent(event, get, set, 0);
|
|
243
251
|
}));
|
|
244
|
-
const submit = (
|
|
245
|
-
const
|
|
246
|
-
|
|
247
|
-
const
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
if (Either.isLeft(either)) {
|
|
257
|
-
yield* handleError(either.left, get, set, 0);
|
|
258
|
-
return Option.none();
|
|
259
|
-
}
|
|
260
|
-
else {
|
|
261
|
-
if (Option.isNone(either.right)) {
|
|
262
|
-
return either.right;
|
|
252
|
+
const submit = (form) => Effect.gen(function* () {
|
|
253
|
+
const current = yield* currentEntry;
|
|
254
|
+
// Utilize the action URL if provided, otherwise use the current URL
|
|
255
|
+
const url = form.action ? getUrl(origin, form.action, base) : current.url;
|
|
256
|
+
// Submit the HTTP request
|
|
257
|
+
const response = yield* HttpClient[form.method](url, form).pipe(Effect.mapErrorCause((cause) => Cause.fail(new FormSubmitError({ cause }))));
|
|
258
|
+
// If the response is a redirect, navigate to the new URL
|
|
259
|
+
if (REDIRECT_STATUS_CODES.has(response.status)) {
|
|
260
|
+
// Get the location header
|
|
261
|
+
const location = Headers.get(response.headers, 'location');
|
|
262
|
+
if (Option.isSome(location)) {
|
|
263
|
+
return [yield* navigate(getUrl(origin, location.value, base), form), response];
|
|
263
264
|
}
|
|
264
|
-
const response = either.right.value;
|
|
265
|
-
// If it is a redirect
|
|
266
|
-
if (REDIRECT_STATUS_CODES.has(response.status)) {
|
|
267
|
-
const location = HttpClient.headers.get(response.headers, "location");
|
|
268
|
-
// And we have a location header
|
|
269
|
-
if (Option.isSome(location)) {
|
|
270
|
-
// Then we navigate to that location
|
|
271
|
-
yield* navigate(location.value, { history: "replace" });
|
|
272
|
-
}
|
|
273
|
-
}
|
|
274
|
-
return Option.some(response);
|
|
275
265
|
}
|
|
276
|
-
|
|
277
|
-
const onFormData = (handler) => Effect.contextWithEffect((ctx) => {
|
|
278
|
-
const entry = [handler, ctx];
|
|
279
|
-
return Effect.zipRight(RefSubject.update(formDataHandlers, (handlers) => new Set([...handlers, entry])), Effect.addFinalizer(() => RefSubject.update(formDataHandlers, (handlers) => {
|
|
280
|
-
const updated = new Set(handlers);
|
|
281
|
-
updated.delete(entry);
|
|
282
|
-
return updated;
|
|
283
|
-
})));
|
|
266
|
+
return [current, response];
|
|
284
267
|
});
|
|
285
268
|
const navigation = {
|
|
286
269
|
back,
|
|
@@ -299,20 +282,19 @@ export function setupFromModelAndIntent(modelAndIntent, origin, base, getRandomV
|
|
|
299
282
|
traverseTo,
|
|
300
283
|
updateCurrentEntry,
|
|
301
284
|
submit,
|
|
302
|
-
onFormData
|
|
303
285
|
};
|
|
304
286
|
return navigation;
|
|
305
287
|
}
|
|
306
|
-
|
|
288
|
+
function makeRedirectEvent(origin, redirect, from, base) {
|
|
307
289
|
return Effect.gen(function* () {
|
|
308
|
-
const url = getUrl(origin, redirect.path);
|
|
290
|
+
const url = getUrl(origin, redirect.path, base);
|
|
309
291
|
const to = yield* makeDestination(url, redirect.options?.state, origin);
|
|
310
292
|
const event = {
|
|
311
|
-
type:
|
|
293
|
+
type: 'replace',
|
|
312
294
|
from,
|
|
313
295
|
to,
|
|
314
296
|
delta: 0,
|
|
315
|
-
info: redirect.options?.info
|
|
297
|
+
info: redirect.options?.info,
|
|
316
298
|
};
|
|
317
299
|
return event;
|
|
318
300
|
});
|
|
@@ -322,13 +304,13 @@ export function makeOrUpdateDestination(navigationState, url, state, origin) {
|
|
|
322
304
|
const current = navigationState.entries[navigationState.index];
|
|
323
305
|
const isSameOriginAndPath = url.origin === current.url.origin && url.pathname === current.url.pathname;
|
|
324
306
|
if (isSameOriginAndPath) {
|
|
325
|
-
const id = yield*
|
|
307
|
+
const id = yield* makeUuid4;
|
|
326
308
|
const destination = {
|
|
327
309
|
id,
|
|
328
310
|
key: current.key,
|
|
329
311
|
url,
|
|
330
312
|
state: getOriginalState(state),
|
|
331
|
-
sameDocument: url.origin === origin
|
|
313
|
+
sameDocument: url.origin === origin,
|
|
332
314
|
};
|
|
333
315
|
return destination;
|
|
334
316
|
}
|
|
@@ -341,55 +323,57 @@ export function makeDestination(url, state, origin) {
|
|
|
341
323
|
return Effect.gen(function* () {
|
|
342
324
|
if (isPatchedState(state)) {
|
|
343
325
|
const destination = {
|
|
344
|
-
id: state.
|
|
345
|
-
key: state.
|
|
326
|
+
id: state.__typed__navigation__id__,
|
|
327
|
+
key: state.__typed__navigation__key__,
|
|
346
328
|
url,
|
|
347
|
-
state: state.
|
|
348
|
-
sameDocument: url.origin === origin
|
|
329
|
+
state: state.__typed__navigation__state__,
|
|
330
|
+
sameDocument: url.origin === origin,
|
|
349
331
|
};
|
|
350
332
|
return destination;
|
|
351
333
|
}
|
|
352
|
-
const id = yield*
|
|
353
|
-
const key = yield*
|
|
334
|
+
const id = yield* makeUuid4;
|
|
335
|
+
const key = yield* makeUuid4;
|
|
354
336
|
const destination = {
|
|
355
337
|
id,
|
|
356
338
|
key,
|
|
357
339
|
url,
|
|
358
340
|
state,
|
|
359
|
-
sameDocument: url.origin === origin
|
|
341
|
+
sameDocument: url.origin === origin,
|
|
360
342
|
};
|
|
361
343
|
return destination;
|
|
362
344
|
});
|
|
363
345
|
}
|
|
364
346
|
export function upgradeProposedDestination(proposed) {
|
|
365
347
|
return Effect.gen(function* () {
|
|
366
|
-
const id = yield*
|
|
367
|
-
const key = yield*
|
|
348
|
+
const id = yield* makeUuid4;
|
|
349
|
+
const key = yield* makeUuid4;
|
|
368
350
|
const destination = {
|
|
369
351
|
id,
|
|
370
352
|
key,
|
|
371
353
|
url: proposed.url,
|
|
372
354
|
state: proposed.state,
|
|
373
|
-
sameDocument: proposed.sameDocument
|
|
355
|
+
sameDocument: proposed.sameDocument,
|
|
374
356
|
};
|
|
375
357
|
return destination;
|
|
376
358
|
});
|
|
377
359
|
}
|
|
378
360
|
export function isPatchedState(state) {
|
|
379
|
-
if (state === null || !(typeof state ===
|
|
361
|
+
if (state === null || !(typeof state === 'object') || Array.isArray(state)) {
|
|
380
362
|
return false;
|
|
381
|
-
|
|
363
|
+
}
|
|
364
|
+
if ('__typed__navigation__id__' in state && '__typed__navigation__key__' in state) {
|
|
382
365
|
return true;
|
|
366
|
+
}
|
|
383
367
|
return false;
|
|
384
368
|
}
|
|
385
369
|
export function getOriginalState(state) {
|
|
386
370
|
if (isPatchedState(state))
|
|
387
|
-
return state.
|
|
371
|
+
return state.__typed__navigation__state__;
|
|
388
372
|
return state;
|
|
389
373
|
}
|
|
390
374
|
export function getOriginFromUrl(url) {
|
|
391
375
|
try {
|
|
392
|
-
if (typeof url ===
|
|
376
|
+
if (typeof url === 'string') {
|
|
393
377
|
return new URL(url).origin;
|
|
394
378
|
}
|
|
395
379
|
else {
|
|
@@ -397,34 +381,19 @@ export function getOriginFromUrl(url) {
|
|
|
397
381
|
}
|
|
398
382
|
}
|
|
399
383
|
catch {
|
|
400
|
-
return
|
|
384
|
+
return 'http://localhost';
|
|
401
385
|
}
|
|
402
386
|
}
|
|
403
387
|
export function isDestination(proposed) {
|
|
404
|
-
return
|
|
388
|
+
return 'id' in proposed && 'key' in proposed;
|
|
405
389
|
}
|
|
406
390
|
const strictEqual = (a, b) => a === b;
|
|
407
|
-
export
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
formDataHandlers
|
|
416
|
-
};
|
|
417
|
-
});
|
|
418
|
-
}
|
|
419
|
-
function makeFormDataRequest(event, url) {
|
|
420
|
-
const headers = new Headers();
|
|
421
|
-
if (Option.isSome(event.encoding)) {
|
|
422
|
-
headers.set("Content-Type", event.encoding.value);
|
|
423
|
-
}
|
|
424
|
-
const method = Option.getOrElse(event.method, () => "POST");
|
|
425
|
-
return Effect.flatMap(HttpClient.client.Client, (client) => client(HttpClient.request.make(method)(url, {
|
|
426
|
-
headers: HttpClient.headers.fromInput(headers),
|
|
427
|
-
body: HttpClient.body.formData(event.data)
|
|
428
|
-
})));
|
|
429
|
-
}
|
|
391
|
+
export const makeHandlersState = Effect.gen(function* () {
|
|
392
|
+
const beforeHandlers = yield* LazyRef.fromEffect(Effect.sync(() => new Set()), { eq: strictEqual });
|
|
393
|
+
const handlers = yield* LazyRef.fromEffect(Effect.sync(() => new Set()), { eq: strictEqual });
|
|
394
|
+
return {
|
|
395
|
+
beforeHandlers,
|
|
396
|
+
handlers,
|
|
397
|
+
};
|
|
398
|
+
});
|
|
430
399
|
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/internal/shared.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,0BAA0B,CAAA;AACnD,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAc,MAAM,WAAW,CAAA;AAClE,OAAO,KAAK,OAAO,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAEtC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EACL,eAAe,GAIhB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,eAAe,EAAwB,MAAM,aAAa,CAAA;AAcnE,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC;IAC3C,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM;IACpB,UAAU,EAAE,MAAM,CAAC,mBAAmB,CAAC,eAAe,EAAE,IAAI,CAAC;CAC9D,CAAC,CAAA;AAEF,MAAM,UAAU,MAAM,CAAC,MAAc,EAAE,SAAuB,EAAE,IAAY;IAC1E,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;QAEtC,gDAAgD;QAChD,IAAI,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;QAC7C,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACrC,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,CAAS,EAAE,CAAS;IACpC,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAA;IAC9C,MAAM,gBAAgB,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA;IAErC,IAAI,cAAc,IAAI,gBAAgB,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACvB,CAAC;IAED,IAAI,CAAC,cAAc,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACzC,OAAO,GAAG,CAAC,IAAI,CAAC,EAAE,CAAA;IACpB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,CAAA;AACd,CAAC;AAgBD,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;AAEhE,MAAM,UAAU,uBAAuB,CACrC,cAA8B,EAC9B,MAAc,EACd,IAAY,EACZ,eAA4D,EAC5D,kBAA0C;IAE1C,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,cAAc,CAAA;IAClE,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;IACxD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC9E,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IACpD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;IAClE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IAE1D,MAAM,iBAAiB,GAAG,CAAC,KAAsB,EAAE,EAAE,CACnD,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,cAAc,CAAA;QACtC,MAAM,OAAO,GAAoE,EAAE,CAAA;QAEnF,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,QAAQ,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;YAC3E,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;gBACxB,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;gBAChD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAC/B,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACxC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;oBACxB,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBAC/B,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,EAAoC,CAAA;IACxD,CAAC,CAAC,CAAA;IAEJ,MAAM,WAAW,GAAG,CAAC,KAAsB,EAAE,EAAE,CAC7C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,QAAQ,CAAA;QACrC,MAAM,OAAO,GAAkC,EAAE,CAAA;QAEjD,KAAK,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAA;YACxD,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;YAChD,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC,CAAC,CAAA;IAEJ,MAAM,kBAAkB,GAAG,CACzB,WAA4B,EAC5B,GAAmC,EACnC,GAA2D,EAC3D,KAAa,EACb,UAAU,GAAG,KAAK,EAC2B,EAAE,CAC/C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC;YACzB,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;YACf,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;SACrC,CAAC,CAAA;QAEF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;YAEzD,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,OAAO,KAAK,CAAC,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAA;YAC/D,CAAC;QACH,CAAC;QAED,MAAM,EAAE,GAAG,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;YACtC,CAAC,CAAC,WAAW,CAAC,EAAE;YAChB,CAAC,CAAC,KAAK,CAAC,CAAC,0BAA0B,CAAC,WAAW,CAAC,EAAE,CAAC,CAAA;QAErD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,CAAC,CAAA;QAChC,CAAC;QAED,IAAI,kBAAkB,KAAK,SAAS,EAAE,CAAC;YACrC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,CAAA;YAE3D,OAAO,OAAO,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAoB;gBAC7B,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,WAAW,EAAE,EAAE;aAChB,CAAA;YAED,IAAI,WAAW,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAA;gBAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;gBAE5D,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAC3D,CAAC;iBAAM,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC1C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAA;gBAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;gBAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;gBAC9C,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,CAAA;gBAEzC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAC3D,CAAC;iBAAM,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACzC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACvD,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAA;gBAC7B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;gBAEvC,KAAK,CAAC,CAAC,GAAG,CAAC;oBACT,GAAG,OAAO;oBACV,KAAK,EAAE,SAAS;oBAChB,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE;iBAC1B,CAAC,CAAA;YACJ,CAAC;YAED,KAAK,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QAC3B,CAAC;QAED,OAAO,EAAE,CAAA;IACX,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAA;IAElE,MAAM,WAAW,GAAG,CAClB,KAAuC,EACvC,GAAmC,EACnC,GAA2D,EAC3D,KAAa,EACgC,EAAE,CAC/C,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAA;QAC5D,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAA;QACrC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAE3B,IAAI,KAAK,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YACtC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YAEzD,OAAO,IAAI,CAAA;QACb,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;YAEjE,OAAO,KAAK,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC,CAAA;QAC9D,CAAC;IACH,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAA;IAElE,MAAM,QAAQ,GAAG,CAAC,SAAuB,EAAE,OAAyB,EAAE,UAAU,GAAG,KAAK,EAAE,EAAE,CAC1F,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAChC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,CAAA;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACvC,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,MAAM,CAAA;QAC1C,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,uBAAuB,CACvC,KAAK,EACL,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,CAAC,EAC/B,OAAO,EAAE,KAAK,EACd,MAAM,CACP,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAA;QAE/D,MAAM,IAAI,GAAG,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;QACtF,MAAM,KAAK,GAAoB;YAC7B,IAAI;YACJ,IAAI;YACJ,EAAE;YACF,KAAK,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,EAAE,OAAO,EAAE,IAAI;SACpB,CAAA;QAED,OAAO,KAAK,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;IAClE,CAAC,CAAC,CACH,CAAA;IAEH,MAAM,UAAU,GAAG,CACjB,GAAuB,EACvB,OAAqC,EACrC,UAAU,GAAG,KAAK,EAClB,EAAE,CACF,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAChC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,GAAG,CAAA;QACxB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAA;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;QAEzD,IAAI,SAAS,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAA;QAEjC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,CAAA;QACzF,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAA;QACxC,MAAM,KAAK,GAAG,SAAS,GAAG,KAAK,CAAA;QAC/B,MAAM,KAAK,GAAoB;YAC7B,IAAI,EAAE,UAAU;YAChB,IAAI;YACJ,EAAE;YACF,KAAK;YACL,IAAI,EAAE,OAAO,EAAE,IAAI;SACpB,CAAA;QAED,OAAO,KAAK,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;IAClE,CAAC,CAAC,CACH,CAAA;IAEH,MAAM,IAAI,GAAG,CAAC,OAAqC,EAAE,UAAU,GAAG,KAAK,EAAE,EAAE,CACzE,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,KAAK,CAAA;QACvC,IAAI,KAAK,KAAK,CAAC;YAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAA;QACtC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QAElC,OAAO,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IAEJ,MAAM,OAAO,GAAG,CAAC,OAAqC,EAAE,UAAU,GAAG,KAAK,EAAE,EAAE,CAC5E,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,KAAK,CAAA;QACvC,IAAI,KAAK,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAA;QACvD,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QAElC,OAAO,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;IAEJ,MAAM,MAAM,GAAG,CAAC,OAAqC,EAAE,UAAU,GAAG,KAAK,EAAE,EAAE,CAC3E,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAChC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,KAAK,CAAA;QACvC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAE9B,MAAM,KAAK,GAAoB;YAC7B,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,OAAO;YACX,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,OAAO,EAAE,IAAI;SACpB,CAAA;QAED,OAAO,KAAK,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,CAAC,CAAA;IAClE,CAAC,CAAC,CACH,CAAA;IAEH,MAAM,gBAAgB,GAAG,CACvB,OAAuC,EACW,EAAE,CACpD,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,GAAG,CAAU,CAAA;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;QAC3F,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CACjC,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;YACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACrB,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC,CACH,CAAA;QAED,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;IAEJ,MAAM,YAAY,GAAG,CACnB,OAAiC,EACiB,EAAE,CACpD,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,EAAE,EAAE;QAC/B,MAAM,KAAK,GAAG,CAAC,OAAO,EAAE,GAAG,CAAU,CAAA;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAA;QACrF,MAAM,OAAO,GAAG,MAAM,CAAC,YAAY,CACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE;YACpC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAA;YACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACrB,OAAO,OAAO,CAAA;QAChB,CAAC,CAAC,CACH,CAAA;QAED,OAAO,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAA;IACtD,CAAC,CAAC,CAAA;IAEJ,MAAM,kBAAkB,GAAG,CAAC,OAAoC,EAAE,EAAE,CAClE,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,CAChC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,CAAA;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAA;QAC9B,MAAM,KAAK,GAAoB;YAC7B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,OAAO;YACb,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE;YACxC,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,IAAI;SACX,CAAA;QAED,OAAO,KAAK,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAA;IACtD,CAAC,CAAC,CACH,CAAA;IAEH,MAAM,MAAM,GAAG,CAAC,IAAgB,EAAE,EAAE,CAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QAClB,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,YAAY,CAAA;QACnC,oEAAoE;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAA;QACzE,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAC7D,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAC5E,CAAA;QAED,yDAAyD;QACzD,IAAI,qBAAqB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/C,0BAA0B;YAC1B,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;YAC1D,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAU,CAAA;YACzF,CAAC;QACH,CAAC;QAED,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAU,CAAA;IACrC,CAAC,CAAC,CAAA;IAEJ,MAAM,UAAU,GAAG;QACjB,IAAI;QACJ,IAAI;QACJ,gBAAgB;QAChB,SAAS;QACT,YAAY;QACZ,YAAY;QACZ,OAAO;QACP,OAAO;QACP,QAAQ;QACR,YAAY;QACZ,MAAM;QACN,MAAM;QACN,UAAU;QACV,UAAU;QACV,kBAAkB;QAClB,MAAM;KACc,CAAA;IAEtB,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAc,EACd,QAAuB,EACvB,IAAiB,EACjB,IAAY;IAEZ,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC/C,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QACvE,MAAM,KAAK,GAAoB;YAC7B,IAAI,EAAE,SAAS;YACf,IAAI;YACJ,EAAE;YACF,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,QAAQ,CAAC,OAAO,EAAE,IAAI;SAC7B,CAAA;QAED,OAAO,KAAK,CAAA;IACd,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,eAAgC,EAChC,GAAQ,EACR,KAAc,EACd,MAAc;IAEd,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAA;QAC9D,MAAM,mBAAmB,GACvB,GAAG,CAAC,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAA;QAC5E,IAAI,mBAAmB,EAAE,CAAC;YACxB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;YAC3B,MAAM,WAAW,GAAgB;gBAC/B,EAAE;gBACF,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,GAAG;gBACH,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC;gBAC9B,YAAY,EAAE,GAAG,CAAC,MAAM,KAAK,MAAM;aACpC,CAAA;YAED,OAAO,WAAW,CAAA;QACpB,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAC,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;QACnD,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,GAAQ,EAAE,KAAc,EAAE,MAAc;IACtE,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAgB;gBAC/B,EAAE,EAAE,KAAK,CAAC,yBAAyB;gBACnC,GAAG,EAAE,KAAK,CAAC,0BAA0B;gBACrC,GAAG;gBACH,KAAK,EAAE,KAAK,CAAC,4BAA4B;gBACzC,YAAY,EAAE,GAAG,CAAC,MAAM,KAAK,MAAM;aACpC,CAAA;YAED,OAAO,WAAW,CAAA;QACpB,CAAC;QAED,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;QAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;QAE5B,MAAM,WAAW,GAAgB;YAC/B,EAAE;YACF,GAAG;YACH,GAAG;YACH,KAAK;YACL,YAAY,EAAE,GAAG,CAAC,MAAM,KAAK,MAAM;SACpC,CAAA;QAED,OAAO,WAAW,CAAA;IACpB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,QAA6B;IACtE,OAAO,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;QACzB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;QAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,SAAS,CAAA;QAE5B,MAAM,WAAW,GAAgB;YAC/B,EAAE;YACF,GAAG;YACH,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,YAAY,EAAE,QAAQ,CAAC,YAAY;SACpC,CAAA;QAED,OAAO,WAAW,CAAA;IACpB,CAAC,CAAC,CAAA;AACJ,CAAC;AAQD,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3E,OAAO,KAAK,CAAA;IACd,CAAC;IACD,IAAI,2BAA2B,IAAI,KAAK,IAAI,4BAA4B,IAAI,KAAK,EAAE,CAAC;QAClF,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC7C,IAAI,cAAc,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,4BAA4B,CAAA;IACpE,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAiB;IAChD,IAAI,CAAC;QACH,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,CAAC,MAAM,CAAA;QACnB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,kBAAkB,CAAA;IAC3B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,QAA6B;IACzD,OAAO,IAAI,IAAI,QAAQ,IAAI,KAAK,IAAI,QAAQ,CAAA;AAC9C,CAAC;AAED,MAAM,WAAW,GAAG,CAAI,CAAI,EAAE,CAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAA;AAE9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;IACnD,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CAC9C,MAAM,CAAC,IAAI,CACT,GAAG,EAAE,CAAC,IAAI,GAAG,EAAsE,CACpF,EACD,EAAE,EAAE,EAAE,WAAW,EAAE,CACpB,CAAA;IACD,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,UAAU,CACxC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,GAAG,EAAgE,CAAC,EAC1F,EAAE,EAAE,EAAE,WAAW,EAAE,CACpB,CAAA;IAED,OAAO;QACL,cAAc;QACd,QAAQ;KACT,CAAA;AACH,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,60 +1,43 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@typed/navigation",
|
|
3
|
-
"version": "0.
|
|
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
16
|
"dependencies": {
|
|
13
|
-
"@effect/platform": "^0.
|
|
14
|
-
"@
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
"
|
|
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"
|
|
20
24
|
},
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
},
|
|
31
|
-
"./Blocking": {
|
|
32
|
-
"types": "./dist/dts/Blocking.d.ts",
|
|
33
|
-
"import": "./dist/esm/Blocking.js",
|
|
34
|
-
"default": "./dist/cjs/Blocking.js"
|
|
35
|
-
},
|
|
36
|
-
"./Layer": {
|
|
37
|
-
"types": "./dist/dts/Layer.d.ts",
|
|
38
|
-
"import": "./dist/esm/Layer.js",
|
|
39
|
-
"default": "./dist/cjs/Layer.js"
|
|
40
|
-
},
|
|
41
|
-
"./Navigation": {
|
|
42
|
-
"types": "./dist/dts/Navigation.d.ts",
|
|
43
|
-
"import": "./dist/esm/Navigation.js",
|
|
44
|
-
"default": "./dist/cjs/Navigation.js"
|
|
45
|
-
}
|
|
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"
|
|
46
34
|
},
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
],
|
|
55
|
-
"Navigation": [
|
|
56
|
-
"./dist/dts/Navigation.d.ts"
|
|
57
|
-
]
|
|
58
|
-
}
|
|
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"
|
|
59
42
|
}
|
|
60
43
|
}
|