@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
|
@@ -1,436 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.fromWindow = void 0;
|
|
7
|
-
var Equivalence = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@effect/schema/Equivalence"));
|
|
8
|
-
var Context = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@typed/context"));
|
|
9
|
-
var _Window = /*#__PURE__*/require("@typed/dom/Window");
|
|
10
|
-
var RefSubject = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@typed/fx/RefSubject"));
|
|
11
|
-
var _id = /*#__PURE__*/require("@typed/id");
|
|
12
|
-
var Effect = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Effect"));
|
|
13
|
-
var Option = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Option"));
|
|
14
|
-
var Runtime = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Runtime"));
|
|
15
|
-
var Scope = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Scope"));
|
|
16
|
-
var Schema = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@effect/schema/Schema"));
|
|
17
|
-
var Exit = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Exit"));
|
|
18
|
-
var _Navigation = /*#__PURE__*/require("../Navigation.js");
|
|
19
|
-
var _shared = /*#__PURE__*/require("./shared.js");
|
|
20
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
21
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
22
|
-
const fromWindow = exports.fromWindow = /*#__PURE__*/_Navigation.Navigation.scoped(/*#__PURE__*/_Window.Window.withEffect(window => {
|
|
23
|
-
const getRandomValues = length => Effect.sync(() => window.crypto.getRandomValues(new Uint8Array(length)));
|
|
24
|
-
return Effect.gen(function* () {
|
|
25
|
-
const {
|
|
26
|
-
run,
|
|
27
|
-
runPromise
|
|
28
|
-
} = yield* scopedRuntime();
|
|
29
|
-
const hasNativeNavigation = !!window.navigation;
|
|
30
|
-
const modelAndIntent = yield* hasNativeNavigation ? setupWithNavigation(window.navigation, runPromise) : setupWithHistory(window, event => run(handleHistoryEvent(event)));
|
|
31
|
-
const navigation = (0, _shared.setupFromModelAndIntent)(modelAndIntent, window.location.origin, getBaseHref(window), getRandomValues, hasNativeNavigation ? () => getNavigationState(window.navigation) : undefined);
|
|
32
|
-
return navigation;
|
|
33
|
-
function handleHistoryEvent(event) {
|
|
34
|
-
return Effect.gen(function* () {
|
|
35
|
-
if (event._tag === "PushState") {
|
|
36
|
-
return yield* navigation.navigate(event.url, {}, event.skipCommit);
|
|
37
|
-
} else if (event._tag === "ReplaceState") {
|
|
38
|
-
if (Option.isSome(event.url)) {
|
|
39
|
-
return yield* navigation.navigate(event.url.value, {
|
|
40
|
-
history: "replace",
|
|
41
|
-
state: event.state
|
|
42
|
-
}, event.skipCommit);
|
|
43
|
-
} else {
|
|
44
|
-
return yield* navigation.updateCurrentEntry(event);
|
|
45
|
-
}
|
|
46
|
-
} else if (event._tag === "Traverse") {
|
|
47
|
-
const {
|
|
48
|
-
entries,
|
|
49
|
-
index
|
|
50
|
-
} = yield* modelAndIntent.state;
|
|
51
|
-
const toIndex = Math.min(Math.max(0, index + event.delta), entries.length - 1);
|
|
52
|
-
const to = entries[toIndex];
|
|
53
|
-
const result = yield* navigation.traverseTo(to.key, {}, event.skipCommit);
|
|
54
|
-
return result;
|
|
55
|
-
} else {
|
|
56
|
-
yield* navigation.traverseTo(event.key, {}, event.skipCommit);
|
|
57
|
-
return yield* navigation.updateCurrentEntry({
|
|
58
|
-
state: event.state
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
}).pipe(_id.GetRandomValues.provide(getRandomValues));
|
|
64
|
-
}));
|
|
65
|
-
function getBaseHref(window) {
|
|
66
|
-
const base = window.document.querySelector("base");
|
|
67
|
-
return base ? base.href : "/";
|
|
68
|
-
}
|
|
69
|
-
const getNavigationState = navigation => {
|
|
70
|
-
const entries = navigation.entries().map(nativeEntryToDestination);
|
|
71
|
-
const {
|
|
72
|
-
index
|
|
73
|
-
} = navigation.currentEntry;
|
|
74
|
-
return {
|
|
75
|
-
entries,
|
|
76
|
-
index,
|
|
77
|
-
transition: Option.none()
|
|
78
|
-
};
|
|
79
|
-
};
|
|
80
|
-
function setupWithNavigation(navigation, runPromise) {
|
|
81
|
-
return Effect.gen(function* () {
|
|
82
|
-
const state = yield* RefSubject.fromEffect(Effect.sync(() => getNavigationState(navigation)), {
|
|
83
|
-
eq: Equivalence.make(Schema.typeSchema(Schema.typeSchema(_shared.NavigationState)))
|
|
84
|
-
});
|
|
85
|
-
const canGoBack = RefSubject.map(state, s => s.index > 0);
|
|
86
|
-
const canGoForward = RefSubject.map(state, s => s.index < s.entries.length - 1);
|
|
87
|
-
const {
|
|
88
|
-
beforeHandlers,
|
|
89
|
-
formDataHandlers,
|
|
90
|
-
handlers
|
|
91
|
-
} = yield* (0, _shared.makeHandlersState)();
|
|
92
|
-
const commit = (to, event) => Effect.gen(function* (_) {
|
|
93
|
-
const {
|
|
94
|
-
key,
|
|
95
|
-
state,
|
|
96
|
-
url
|
|
97
|
-
} = to;
|
|
98
|
-
const {
|
|
99
|
-
info,
|
|
100
|
-
type
|
|
101
|
-
} = event;
|
|
102
|
-
if (type === "push" || type === "replace") {
|
|
103
|
-
yield* _(Effect.promise(() => navigation.navigate(url.toString(), {
|
|
104
|
-
history: type,
|
|
105
|
-
state,
|
|
106
|
-
info
|
|
107
|
-
}).committed), Effect.catchAllDefect(error => Effect.fail(new _Navigation.NavigationError({
|
|
108
|
-
error
|
|
109
|
-
}))));
|
|
110
|
-
} else if (event.type === "reload") {
|
|
111
|
-
yield* _(Effect.promise(() => navigation.reload({
|
|
112
|
-
state,
|
|
113
|
-
info
|
|
114
|
-
}).committed), Effect.catchAllDefect(error => Effect.fail(new _Navigation.NavigationError({
|
|
115
|
-
error
|
|
116
|
-
}))));
|
|
117
|
-
} else {
|
|
118
|
-
yield* _(Effect.promise(() => navigation.traverseTo(key, {
|
|
119
|
-
info
|
|
120
|
-
}).committed), Effect.catchAllDefect(error => Effect.fail(new _Navigation.NavigationError({
|
|
121
|
-
error
|
|
122
|
-
}))));
|
|
123
|
-
}
|
|
124
|
-
});
|
|
125
|
-
const runHandlers = native => Effect.gen(function* () {
|
|
126
|
-
const eventHandlers = yield* handlers;
|
|
127
|
-
const matches = [];
|
|
128
|
-
const event = {
|
|
129
|
-
type: native.navigationType,
|
|
130
|
-
destination: nativeEntryToDestination(navigation.currentEntry),
|
|
131
|
-
info: native.info
|
|
132
|
-
};
|
|
133
|
-
for (const [handler, ctx] of eventHandlers) {
|
|
134
|
-
const match = yield* Effect.provide(handler(event), ctx);
|
|
135
|
-
if (Option.isSome(match)) {
|
|
136
|
-
matches.push(Effect.provide(match.value, ctx));
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
if (matches.length > 0) {
|
|
140
|
-
yield* Effect.all(matches);
|
|
141
|
-
}
|
|
142
|
-
});
|
|
143
|
-
navigation.addEventListener("navigate", ev => {
|
|
144
|
-
if (shouldNotIntercept(ev)) return;
|
|
145
|
-
ev.intercept({
|
|
146
|
-
handler: () => runPromise(runHandlers(ev))
|
|
147
|
-
});
|
|
148
|
-
});
|
|
149
|
-
return {
|
|
150
|
-
state,
|
|
151
|
-
canGoBack,
|
|
152
|
-
canGoForward,
|
|
153
|
-
beforeHandlers,
|
|
154
|
-
handlers,
|
|
155
|
-
formDataHandlers,
|
|
156
|
-
commit
|
|
157
|
-
};
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
function nativeEntryToDestination(entry) {
|
|
161
|
-
return {
|
|
162
|
-
id: (0, _id.Uuid)(entry.id),
|
|
163
|
-
key: (0, _id.Uuid)(entry.key),
|
|
164
|
-
url: new URL(entry.url),
|
|
165
|
-
state: entry.getState(),
|
|
166
|
-
sameDocument: entry.sameDocument
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
function shouldNotIntercept(navigationEvent) {
|
|
170
|
-
return !navigationEvent.canIntercept ||
|
|
171
|
-
// If this is just a hashChange,
|
|
172
|
-
// just let the browser handle scrolling to the content.
|
|
173
|
-
navigationEvent.hashChange ||
|
|
174
|
-
// If this is a download,
|
|
175
|
-
// let the browser perform the download.
|
|
176
|
-
!!navigationEvent.downloadRequest ||
|
|
177
|
-
// If this is a form submission,
|
|
178
|
-
// let that go to the server.
|
|
179
|
-
!!navigationEvent.formData;
|
|
180
|
-
}
|
|
181
|
-
function setupWithHistory(window, onEvent) {
|
|
182
|
-
return Effect.gen(function* () {
|
|
183
|
-
const {
|
|
184
|
-
location
|
|
185
|
-
} = window;
|
|
186
|
-
const {
|
|
187
|
-
getHistoryState,
|
|
188
|
-
original: history,
|
|
189
|
-
unpatch
|
|
190
|
-
} = patchHistory(window, onEvent);
|
|
191
|
-
yield* Effect.addFinalizer(() => unpatch);
|
|
192
|
-
const state = yield* RefSubject.fromEffect(Effect.suspend(() => Effect.map((0, _shared.makeDestination)(new URL(location.href), getHistoryState(), location.origin), destination => ({
|
|
193
|
-
entries: [destination],
|
|
194
|
-
index: 0,
|
|
195
|
-
transition: Option.none()
|
|
196
|
-
}))), {
|
|
197
|
-
eq: Equivalence.make(Schema.typeSchema(_shared.NavigationState))
|
|
198
|
-
});
|
|
199
|
-
const canGoBack = RefSubject.map(state, s => s.index > 0);
|
|
200
|
-
const canGoForward = RefSubject.map(state, s => s.index < s.entries.length - 1);
|
|
201
|
-
const {
|
|
202
|
-
beforeHandlers,
|
|
203
|
-
formDataHandlers,
|
|
204
|
-
handlers
|
|
205
|
-
} = yield* (0, _shared.makeHandlersState)();
|
|
206
|
-
const commit = ({
|
|
207
|
-
id,
|
|
208
|
-
key,
|
|
209
|
-
state,
|
|
210
|
-
url
|
|
211
|
-
}, event) => Effect.sync(() => {
|
|
212
|
-
const {
|
|
213
|
-
type
|
|
214
|
-
} = event;
|
|
215
|
-
if (type === "push") {
|
|
216
|
-
history.pushState({
|
|
217
|
-
__typed__navigation__id__: id,
|
|
218
|
-
__typed__navigation__key__: key,
|
|
219
|
-
__typed__navigation__state__: state
|
|
220
|
-
}, "", url);
|
|
221
|
-
} else if (type === "replace") {
|
|
222
|
-
history.replaceState({
|
|
223
|
-
__typed__navigation__id__: id,
|
|
224
|
-
__typed__navigation__key__: key,
|
|
225
|
-
__typed__navigation__state__: state
|
|
226
|
-
}, "", url);
|
|
227
|
-
} else if (event.type === "reload") {
|
|
228
|
-
location.reload();
|
|
229
|
-
} else {
|
|
230
|
-
history.go(event.delta);
|
|
231
|
-
history.replaceState({
|
|
232
|
-
__typed__navigation__id__: id,
|
|
233
|
-
__typed__navigation__key__: key,
|
|
234
|
-
__typed__navigation__state__: state
|
|
235
|
-
}, "", window.location.href);
|
|
236
|
-
}
|
|
237
|
-
});
|
|
238
|
-
return {
|
|
239
|
-
state,
|
|
240
|
-
canGoBack,
|
|
241
|
-
canGoForward,
|
|
242
|
-
beforeHandlers,
|
|
243
|
-
handlers,
|
|
244
|
-
formDataHandlers,
|
|
245
|
-
commit
|
|
246
|
-
};
|
|
247
|
-
});
|
|
248
|
-
}
|
|
249
|
-
function patchHistory(window, onEvent) {
|
|
250
|
-
const {
|
|
251
|
-
history,
|
|
252
|
-
location
|
|
253
|
-
} = window;
|
|
254
|
-
const stateDescriptor = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(history), "state") || Object.getOwnPropertyDescriptor(history, "state");
|
|
255
|
-
const methods = {
|
|
256
|
-
pushState: history.pushState.bind(history),
|
|
257
|
-
replaceState: history.replaceState.bind(history),
|
|
258
|
-
go: history.go.bind(history),
|
|
259
|
-
back: history.back.bind(history),
|
|
260
|
-
forward: history.forward.bind(history)
|
|
261
|
-
};
|
|
262
|
-
const getStateDescriptor = stateDescriptor?.get?.bind(history);
|
|
263
|
-
const getHistoryState = () => getStateDescriptor?.();
|
|
264
|
-
const original = {
|
|
265
|
-
get length() {
|
|
266
|
-
return history.length;
|
|
267
|
-
},
|
|
268
|
-
get scrollRestoration() {
|
|
269
|
-
return history.scrollRestoration;
|
|
270
|
-
},
|
|
271
|
-
set scrollRestoration(mode) {
|
|
272
|
-
history.scrollRestoration = mode;
|
|
273
|
-
},
|
|
274
|
-
get state() {
|
|
275
|
-
return getHistoryState();
|
|
276
|
-
},
|
|
277
|
-
...methods,
|
|
278
|
-
pushState(data, _, url) {
|
|
279
|
-
return methods.pushState(data, _, url?.toString());
|
|
280
|
-
},
|
|
281
|
-
replaceState(data, _, url) {
|
|
282
|
-
return methods.replaceState(data, _, url?.toString());
|
|
283
|
-
}
|
|
284
|
-
};
|
|
285
|
-
history.pushState = (state, _, url) => {
|
|
286
|
-
if (url) {
|
|
287
|
-
onEvent({
|
|
288
|
-
_tag: "PushState",
|
|
289
|
-
state,
|
|
290
|
-
url: (0, _shared.getUrl)(location.origin, url),
|
|
291
|
-
skipCommit: false
|
|
292
|
-
});
|
|
293
|
-
} else {
|
|
294
|
-
onEvent({
|
|
295
|
-
_tag: "ReplaceState",
|
|
296
|
-
state,
|
|
297
|
-
url: Option.none(),
|
|
298
|
-
skipCommit: false
|
|
299
|
-
});
|
|
300
|
-
}
|
|
301
|
-
};
|
|
302
|
-
history.replaceState = (state, _, url) => {
|
|
303
|
-
onEvent({
|
|
304
|
-
_tag: "ReplaceState",
|
|
305
|
-
state,
|
|
306
|
-
url: url ? Option.some((0, _shared.getUrl)(location.origin, url)) : Option.none(),
|
|
307
|
-
skipCommit: false
|
|
308
|
-
});
|
|
309
|
-
};
|
|
310
|
-
history.go = delta => {
|
|
311
|
-
if (delta && delta !== 0) {
|
|
312
|
-
onEvent({
|
|
313
|
-
_tag: "Traverse",
|
|
314
|
-
delta,
|
|
315
|
-
skipCommit: false
|
|
316
|
-
});
|
|
317
|
-
}
|
|
318
|
-
};
|
|
319
|
-
history.back = () => {
|
|
320
|
-
onEvent({
|
|
321
|
-
_tag: "Traverse",
|
|
322
|
-
delta: -1,
|
|
323
|
-
skipCommit: false
|
|
324
|
-
});
|
|
325
|
-
};
|
|
326
|
-
history.forward = () => {
|
|
327
|
-
onEvent({
|
|
328
|
-
_tag: "Traverse",
|
|
329
|
-
delta: 1,
|
|
330
|
-
skipCommit: false
|
|
331
|
-
});
|
|
332
|
-
};
|
|
333
|
-
const onHashChange = ev => {
|
|
334
|
-
onEvent({
|
|
335
|
-
_tag: "ReplaceState",
|
|
336
|
-
state: history.state,
|
|
337
|
-
url: Option.some(new URL(ev.newURL)),
|
|
338
|
-
skipCommit: false
|
|
339
|
-
});
|
|
340
|
-
};
|
|
341
|
-
window.addEventListener("hashchange", onHashChange, {
|
|
342
|
-
capture: true
|
|
343
|
-
});
|
|
344
|
-
const onPopState = ev => {
|
|
345
|
-
if ((0, _shared.isPatchedState)(ev.state)) {
|
|
346
|
-
onEvent({
|
|
347
|
-
_tag: "TraverseTo",
|
|
348
|
-
key: ev.state.__typed__navigation__key__,
|
|
349
|
-
state: ev.state.__typed__navigation__state__,
|
|
350
|
-
skipCommit: true
|
|
351
|
-
});
|
|
352
|
-
} else {
|
|
353
|
-
onEvent({
|
|
354
|
-
_tag: "ReplaceState",
|
|
355
|
-
state: ev.state,
|
|
356
|
-
url: Option.some(new URL(location.href)),
|
|
357
|
-
skipCommit: true
|
|
358
|
-
});
|
|
359
|
-
}
|
|
360
|
-
};
|
|
361
|
-
window.addEventListener("popstate", onPopState, {
|
|
362
|
-
capture: true
|
|
363
|
-
});
|
|
364
|
-
const unpatch = Effect.sync(() => {
|
|
365
|
-
history.pushState = original.pushState;
|
|
366
|
-
history.replaceState = original.replaceState;
|
|
367
|
-
history.go = original.go;
|
|
368
|
-
history.back = original.back;
|
|
369
|
-
history.forward = original.forward;
|
|
370
|
-
if (stateDescriptor) {
|
|
371
|
-
try {
|
|
372
|
-
Object.defineProperty(history, "state", stateDescriptor);
|
|
373
|
-
} catch {
|
|
374
|
-
// We tried, but it didn't work
|
|
375
|
-
}
|
|
376
|
-
}
|
|
377
|
-
window.removeEventListener("hashchange", onHashChange);
|
|
378
|
-
window.removeEventListener("popstate", onPopState);
|
|
379
|
-
});
|
|
380
|
-
Object.defineProperty(history, "state", {
|
|
381
|
-
get() {
|
|
382
|
-
console.log("here");
|
|
383
|
-
return (0, _shared.getOriginalState)(getStateDescriptor?.() ?? history.state);
|
|
384
|
-
},
|
|
385
|
-
set(value) {
|
|
386
|
-
const {
|
|
387
|
-
__typed__navigation__id__,
|
|
388
|
-
__typed__navigation__key__
|
|
389
|
-
} = getStateDescriptor?.() ?? original.state;
|
|
390
|
-
if ((0, _shared.isPatchedState)(value)) {
|
|
391
|
-
// The setter is not actually modifying the history.state
|
|
392
|
-
// We need to call the original replaceState to update the actual state
|
|
393
|
-
original.replaceState.call(history, value, "", location.href);
|
|
394
|
-
} else {
|
|
395
|
-
// The setter is not actually modifying the history.state
|
|
396
|
-
// We need to call the original replaceState to update the actual state
|
|
397
|
-
original.replaceState.call(history, {
|
|
398
|
-
__typed__navigation__id__,
|
|
399
|
-
__typed__navigation__key__,
|
|
400
|
-
__typed__navigation__state__: value
|
|
401
|
-
}, "", location.href);
|
|
402
|
-
}
|
|
403
|
-
return value;
|
|
404
|
-
}
|
|
405
|
-
});
|
|
406
|
-
return {
|
|
407
|
-
getHistoryState,
|
|
408
|
-
original,
|
|
409
|
-
patched: history,
|
|
410
|
-
unpatch
|
|
411
|
-
};
|
|
412
|
-
}
|
|
413
|
-
function scopedRuntime() {
|
|
414
|
-
return Effect.map(Effect.runtime(), runtime => {
|
|
415
|
-
const scope = Context.get(runtime.context, Scope.Scope);
|
|
416
|
-
const runFork = Runtime.runFork(runtime);
|
|
417
|
-
const runPromise = effect => new Promise((resolve, reject) => {
|
|
418
|
-
const fiber = runFork(effect, {
|
|
419
|
-
scope
|
|
420
|
-
});
|
|
421
|
-
fiber.addObserver(Exit.match({
|
|
422
|
-
onFailure: cause => reject(Runtime.makeFiberFailure(cause)),
|
|
423
|
-
onSuccess: resolve
|
|
424
|
-
}));
|
|
425
|
-
});
|
|
426
|
-
return {
|
|
427
|
-
runtime,
|
|
428
|
-
scope: Context.unsafeGet(runtime.context, Scope.Scope),
|
|
429
|
-
run: eff => runFork(eff, {
|
|
430
|
-
scope
|
|
431
|
-
}),
|
|
432
|
-
runPromise
|
|
433
|
-
};
|
|
434
|
-
});
|
|
435
|
-
}
|
|
436
|
-
//# sourceMappingURL=fromWindow.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fromWindow.js","names":["Equivalence","_interopRequireWildcard","require","Context","_Window","RefSubject","_id","Effect","Option","Runtime","Scope","Schema","Exit","_Navigation","_shared","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","fromWindow","exports","Navigation","scoped","Window","withEffect","window","getRandomValues","length","sync","crypto","Uint8Array","gen","run","runPromise","scopedRuntime","hasNativeNavigation","navigation","modelAndIntent","setupWithNavigation","setupWithHistory","event","handleHistoryEvent","setupFromModelAndIntent","location","origin","getBaseHref","getNavigationState","undefined","_tag","navigate","url","skipCommit","isSome","value","history","state","updateCurrentEntry","entries","index","toIndex","Math","min","max","delta","to","result","traverseTo","key","pipe","GetRandomValues","provide","base","document","querySelector","href","map","nativeEntryToDestination","currentEntry","transition","none","fromEffect","eq","make","typeSchema","NavigationState","canGoBack","s","canGoForward","beforeHandlers","formDataHandlers","handlers","makeHandlersState","commit","_","info","type","promise","toString","committed","catchAllDefect","error","fail","NavigationError","reload","runHandlers","native","eventHandlers","matches","navigationType","destination","handler","ctx","match","push","all","addEventListener","ev","shouldNotIntercept","intercept","entry","id","Uuid","URL","getState","sameDocument","navigationEvent","canIntercept","hashChange","downloadRequest","formData","onEvent","getHistoryState","original","unpatch","patchHistory","addFinalizer","suspend","makeDestination","pushState","__typed__navigation__id__","__typed__navigation__key__","__typed__navigation__state__","replaceState","go","stateDescriptor","getPrototypeOf","methods","bind","back","forward","getStateDescriptor","scrollRestoration","mode","data","getUrl","some","onHashChange","newURL","capture","onPopState","isPatchedState","removeEventListener","console","log","getOriginalState","patched","runtime","scope","context","runFork","effect","Promise","resolve","reject","fiber","addObserver","onFailure","cause","makeFiberFailure","onSuccess","unsafeGet","eff"],"sources":["../../../src/internal/fromWindow.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,WAAA,gBAAAC,uBAAA,cAAAC,OAAA;AACA,IAAAC,OAAA,gBAAAF,uBAAA,cAAAC,OAAA;AACA,IAAAE,OAAA,gBAAAF,OAAA;AACA,IAAAG,UAAA,gBAAAJ,uBAAA,cAAAC,OAAA;AACA,IAAAI,GAAA,gBAAAJ,OAAA;AAEA,IAAAK,MAAA,gBAAAN,uBAAA,cAAAC,OAAA;AAEA,IAAAM,MAAA,gBAAAP,uBAAA,cAAAC,OAAA;AACA,IAAAO,OAAA,gBAAAR,uBAAA,cAAAC,OAAA;AACA,IAAAQ,KAAA,gBAAAT,uBAAA,cAAAC,OAAA;AAEA,IAAAS,MAAA,gBAAAV,uBAAA,cAAAC,OAAA;AACA,IAAAU,IAAA,gBAAAX,uBAAA,cAAAC,OAAA;AAIA,IAAAW,WAAA,gBAAAX,OAAA;AAEA,IAAAY,OAAA,gBAAAZ,OAAA;AAQoB,SAAAa,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAf,wBAAAe,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAcb,MAAMW,UAAU,GAAAC,OAAA,CAAAD,UAAA,gBAA2CE,sBAAU,CAACC,MAAM,cACjFC,cAAM,CAACC,UAAU,CAAEC,MAAM,IAAI;EAC3B,MAAMC,eAAe,GAAIC,MAAc,IAAKpC,MAAM,CAACqC,IAAI,CAAC,MAAMH,MAAM,CAACI,MAAM,CAACH,eAAe,CAAC,IAAII,UAAU,CAACH,MAAM,CAAC,CAAC,CAAC;EACpH,OAAOpC,MAAM,CAACwC,GAAG,CAAC,aAAS;IACzB,MAAM;MAAEC,GAAG;MAAEC;IAAU,CAAE,GAAG,OAAOC,aAAa,EAAS;IACzD,MAAMC,mBAAmB,GAAG,CAAC,CAACV,MAAM,CAACW,UAAU;IAC/C,MAAMC,cAAc,GAAG,OAAOF,mBAAmB,GAC7CG,mBAAmB,CAACb,MAAM,CAACW,UAAW,EAAEH,UAAU,CAAC,GACnDM,gBAAgB,CAACd,MAAM,EAAGe,KAAK,IAAKR,GAAG,CAACS,kBAAkB,CAACD,KAAK,CAAC,CAAC,CAAC;IAEvE,MAAMJ,UAAU,GAAG,IAAAM,+BAAuB,EACxCL,cAAc,EACdZ,MAAM,CAACkB,QAAQ,CAACC,MAAM,EACtBC,WAAW,CAACpB,MAAM,CAAC,EACnBC,eAAe,EACfS,mBAAmB,GACf,MAAMW,kBAAkB,CAACrB,MAAM,CAACW,UAAW,CAAC,GAC5CW,SAAS,CACd;IAED,OAAOX,UAAU;IAEjB,SAASK,kBAAkBA,CAACD,KAAmB;MAC7C,OAAOjD,MAAM,CAACwC,GAAG,CAAC,aAAS;QACzB,IAAIS,KAAK,CAACQ,IAAI,KAAK,WAAW,EAAE;UAC9B,OAAO,OAAOZ,UAAU,CAACa,QAAQ,CAC/BT,KAAK,CAACU,GAAG,EACT,EAAE,EACFV,KAAK,CAACW,UAAU,CACjB;QACH,CAAC,MAAM,IAAIX,KAAK,CAACQ,IAAI,KAAK,cAAc,EAAE;UACxC,IAAIxD,MAAM,CAAC4D,MAAM,CAACZ,KAAK,CAACU,GAAG,CAAC,EAAE;YAC5B,OAAO,OAAOd,UAAU,CAACa,QAAQ,CAC/BT,KAAK,CAACU,GAAG,CAACG,KAAK,EACf;cAAEC,OAAO,EAAE,SAAS;cAAEC,KAAK,EAAEf,KAAK,CAACe;YAAK,CAAE,EAC1Cf,KAAK,CAACW,UAAU,CACjB;UACH,CAAC,MAAM;YACL,OAAO,OAAOf,UAAU,CAACoB,kBAAkB,CAAChB,KAAK,CAAC;UACpD;QACF,CAAC,MAAM,IAAIA,KAAK,CAACQ,IAAI,KAAK,UAAU,EAAE;UACpC,MAAM;YAAES,OAAO;YAAEC;UAAK,CAAE,GAAG,OAAOrB,cAAc,CAACkB,KAAK;UACtD,MAAMI,OAAO,GAAGC,IAAI,CAACC,GAAG,CACtBD,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEJ,KAAK,GAAGlB,KAAK,CAACuB,KAAK,CAAC,EAChCN,OAAO,CAAC9B,MAAM,GAAG,CAAC,CACnB;UACD,MAAMqC,EAAE,GAAGP,OAAO,CAACE,OAAO,CAAC;UAE3B,MAAMM,MAAM,GAAG,OAAO7B,UAAU,CAAC8B,UAAU,CACzCF,EAAE,CAACG,GAAG,EACN,EAAE,EACF3B,KAAK,CAACW,UAAU,CACjB;UAED,OAAOc,MAAM;QACf,CAAC,MAAM;UACL,OAAO7B,UAAU,CAAC8B,UAAU,CAAC1B,KAAK,CAAC2B,GAAG,EAAE,EAAE,EAAE3B,KAAK,CAACW,UAAU,CAAC;UAC7D,OAAO,OAAOf,UAAU,CAACoB,kBAAkB,CAAC;YAC1CD,KAAK,EAAEf,KAAK,CAACe;WACd,CAAC;QACJ;MACF,CAAC,CAAC;IACJ;EACF,CAAC,CAAC,CAACa,IAAI,CAACC,mBAAe,CAACC,OAAO,CAAC5C,eAAe,CAAC,CAAC;AACnD,CAAC,CAAC,CACH;AAED,SAASmB,WAAWA,CAACpB,MAAc;EACjC,MAAM8C,IAAI,GAAG9C,MAAM,CAAC+C,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAC;EAClD,OAAOF,IAAI,GAAGA,IAAI,CAACG,IAAI,GAAG,GAAG;AAC/B;AAEA,MAAM5B,kBAAkB,GAAIV,UAA4B,IAAqB;EAC3E,MAAMqB,OAAO,GAAGrB,UAAU,CAACqB,OAAO,EAAE,CAACkB,GAAG,CAACC,wBAAwB,CAAC;EAClE,MAAM;IAAElB;EAAK,CAAE,GAAGtB,UAAU,CAACyC,YAAY;EAEzC,OAAO;IACLpB,OAAO;IACPC,KAAK;IACLoB,UAAU,EAAEtF,MAAM,CAACuF,IAAI;GACxB;AACH,CAAC;AAED,SAASzC,mBAAmBA,CAC1BF,UAA4B,EAC5BH,UAA0E;EAE1E,OAAO1C,MAAM,CAACwC,GAAG,CAAC,aAAS;IACzB,MAAMwB,KAAK,GAAG,OAAOlE,UAAU,CAAC2F,UAAU,CACxCzF,MAAM,CAACqC,IAAI,CAAC,MAAuBkB,kBAAkB,CAACV,UAAU,CAAC,CAAC,EAClE;MACE6C,EAAE,EAAEjG,WAAW,CAACkG,IAAI,CAClBvF,MAAM,CAACwF,UAAU,CAACxF,MAAM,CAACwF,UAAU,CAACC,uBAAe,CAAC,CAAC;KAExD,CACF;IACD,MAAMC,SAAS,GAAGhG,UAAU,CAACsF,GAAG,CAACpB,KAAK,EAAG+B,CAAC,IAAKA,CAAC,CAAC5B,KAAK,GAAG,CAAC,CAAC;IAC3D,MAAM6B,YAAY,GAAGlG,UAAU,CAACsF,GAAG,CACjCpB,KAAK,EACJ+B,CAAC,IAAKA,CAAC,CAAC5B,KAAK,GAAG4B,CAAC,CAAC7B,OAAO,CAAC9B,MAAM,GAAG,CAAC,CACtC;IACD,MAAM;MAAE6D,cAAc;MAAEC,gBAAgB;MAAEC;IAAQ,CAAE,GAAG,OAAO,IAAAC,yBAAiB,GAAE;IACjF,MAAMC,MAAM,GAAWA,CAAC5B,EAAe,EAAExB,KAA4B,KACnEjD,MAAM,CAACwC,GAAG,CAAC,WAAU8D,CAAC;MACpB,MAAM;QAAE1B,GAAG;QAAEZ,KAAK;QAAEL;MAAG,CAAE,GAAGc,EAAE;MAC9B,MAAM;QAAE8B,IAAI;QAAEC;MAAI,CAAE,GAAGvD,KAAK;MAE5B,IAAIuD,IAAI,KAAK,MAAM,IAAIA,IAAI,KAAK,SAAS,EAAE;QACzC,OAAOF,CAAC,CACNtG,MAAM,CAACyG,OAAO,CACZ,MACE5D,UAAU,CAACa,QAAQ,CAACC,GAAG,CAAC+C,QAAQ,EAAE,EAAE;UAClC3C,OAAO,EAAEyC,IAAI;UACbxC,KAAK;UACLuC;SACD,CAAC,CAACI,SAAS,CACf,EACD3G,MAAM,CAAC4G,cAAc,CAAEC,KAAK,IAAK7G,MAAM,CAAC8G,IAAI,CAAC,IAAIC,2BAAe,CAAC;UAAEF;QAAK,CAAE,CAAC,CAAC,CAAC,CAC9E;MACH,CAAC,MAAM,IAAI5D,KAAK,CAACuD,IAAI,KAAK,QAAQ,EAAE;QAClC,OAAOF,CAAC,CACNtG,MAAM,CAACyG,OAAO,CAAC,MAAM5D,UAAU,CAACmE,MAAM,CAAC;UAAEhD,KAAK;UAAEuC;QAAI,CAAE,CAAC,CAACI,SAAS,CAAC,EAClE3G,MAAM,CAAC4G,cAAc,CAAEC,KAAK,IAAK7G,MAAM,CAAC8G,IAAI,CAAC,IAAIC,2BAAe,CAAC;UAAEF;QAAK,CAAE,CAAC,CAAC,CAAC,CAC9E;MACH,CAAC,MAAM;QACL,OAAOP,CAAC,CACNtG,MAAM,CAACyG,OAAO,CACZ,MAAM5D,UAAU,CAAC8B,UAAU,CAACC,GAAG,EAAE;UAAE2B;QAAI,CAAE,CAAC,CAACI,SAAS,CACrD,EACD3G,MAAM,CAAC4G,cAAc,CAAEC,KAAK,IAAK7G,MAAM,CAAC8G,IAAI,CAAC,IAAIC,2BAAe,CAAC;UAAEF;QAAK,CAAE,CAAC,CAAC,CAAC,CAC9E;MACH;IACF,CAAC,CAAC;IAEJ,MAAMI,WAAW,GAAIC,MAAmB,IACtClH,MAAM,CAACwC,GAAG,CAAC,aAAS;MAClB,MAAM2E,aAAa,GAAG,OAAOhB,QAAQ;MACrC,MAAMiB,OAAO,GAAkC,EAAE;MAEjD,MAAMnE,KAAK,GAAoB;QAC7BuD,IAAI,EAAEU,MAAM,CAACG,cAAc;QAC3BC,WAAW,EAAEjC,wBAAwB,CAACxC,UAAU,CAACyC,YAAY,CAAC;QAC9DiB,IAAI,EAAEW,MAAM,CAACX;OACd;MAED,KAAK,MAAM,CAACgB,OAAO,EAAEC,GAAG,CAAC,IAAIL,aAAa,EAAE;QAC1C,MAAMM,KAAK,GAAG,OAAOzH,MAAM,CAAC+E,OAAO,CAACwC,OAAO,CAACtE,KAAK,CAAC,EAAEuE,GAAG,CAAC;QACxD,IAAIvH,MAAM,CAAC4D,MAAM,CAAC4D,KAAK,CAAC,EAAE;UACxBL,OAAO,CAACM,IAAI,CAAC1H,MAAM,CAAC+E,OAAO,CAAC0C,KAAK,CAAC3D,KAAK,EAAE0D,GAAG,CAAC,CAAC;QAChD;MACF;MAEA,IAAIJ,OAAO,CAAChF,MAAM,GAAG,CAAC,EAAE;QACtB,OAAOpC,MAAM,CAAC2H,GAAG,CAACP,OAAO,CAAC;MAC5B;IACF,CAAC,CAAC;IAEJvE,UAAU,CAAC+E,gBAAgB,CAAC,UAAU,EAAGC,EAAE,IAAI;MAC7C,IAAIC,kBAAkB,CAACD,EAAE,CAAC,EAAE;MAE5BA,EAAE,CAACE,SAAS,CAAC;QACXR,OAAO,EAAEA,CAAA,KAAM7E,UAAU,CAACuE,WAAW,CAACY,EAAE,CAAC;OAC1C,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;MACL7D,KAAK;MACL8B,SAAS;MACTE,YAAY;MACZC,cAAc;MACdE,QAAQ;MACRD,gBAAgB;MAChBG;KACQ;EACZ,CAAC,CAAC;AACJ;AAEA,SAAShB,wBAAwBA,CAC/B2C,KAA4E;EAE5E,OAAO;IACLC,EAAE,EAAE,IAAAC,QAAI,EAACF,KAAK,CAACC,EAAE,CAAC;IAClBrD,GAAG,EAAE,IAAAsD,QAAI,EAACF,KAAK,CAACpD,GAAG,CAAC;IACpBjB,GAAG,EAAE,IAAIwE,GAAG,CAACH,KAAK,CAACrE,GAAI,CAAC;IACxBK,KAAK,EAAEgE,KAAK,CAACI,QAAQ,EAAE;IACvBC,YAAY,EAAEL,KAAK,CAACK;GACrB;AACH;AAEA,SAASP,kBAAkBA,CAACQ,eAA4B;EACtD,OACE,CAACA,eAAe,CAACC,YAAY;EAC7B;EACA;EACAD,eAAe,CAACE,UAAU;EAC1B;EACA;EACA,CAAC,CAACF,eAAe,CAACG,eAAe;EACjC;EACA;EACA,CAAC,CAACH,eAAe,CAACI,QAAQ;AAE9B;AAEA,SAAS1F,gBAAgBA,CACvBd,MAAc,EACdyG,OAAsC;EAEtC,OAAO3I,MAAM,CAACwC,GAAG,CAAC,aAAS;IACzB,MAAM;MAAEY;IAAQ,CAAE,GAAGlB,MAAM;IAC3B,MAAM;MACJ0G,eAAe;MACfC,QAAQ,EAAE9E,OAAO;MACjB+E;IAAO,CACR,GAAGC,YAAY,CAAC7G,MAAM,EAAEyG,OAAO,CAAC;IAEjC,OAAO3I,MAAM,CAACgJ,YAAY,CAAC,MAAMF,OAAO,CAAC;IAEzC,MAAM9E,KAAK,GAAG,OAAOlE,UAAU,CAAC2F,UAAU,CACxCzF,MAAM,CAACiJ,OAAO,CAAC,MACbjJ,MAAM,CAACoF,GAAG,CACR,IAAA8D,uBAAe,EACb,IAAIf,GAAG,CAAC/E,QAAQ,CAAC+B,IAAI,CAAC,EACtByD,eAAe,EAAE,EACjBxF,QAAQ,CAACC,MAAM,CAChB,EACAiE,WAAW,KAAuB;MACjCpD,OAAO,EAAE,CAACoD,WAAW,CAAC;MACtBnD,KAAK,EAAE,CAAC;MACRoB,UAAU,EAAEtF,MAAM,CAACuF,IAAI;KACxB,CAAC,CACH,CACF,EACD;MAAEE,EAAE,EAAEjG,WAAW,CAACkG,IAAI,CAACvF,MAAM,CAACwF,UAAU,CAACC,uBAAe,CAAC;IAAC,CAAE,CAC7D;IACD,MAAMC,SAAS,GAAGhG,UAAU,CAACsF,GAAG,CAACpB,KAAK,EAAG+B,CAAC,IAAKA,CAAC,CAAC5B,KAAK,GAAG,CAAC,CAAC;IAC3D,MAAM6B,YAAY,GAAGlG,UAAU,CAACsF,GAAG,CACjCpB,KAAK,EACJ+B,CAAC,IAAKA,CAAC,CAAC5B,KAAK,GAAG4B,CAAC,CAAC7B,OAAO,CAAC9B,MAAM,GAAG,CAAC,CACtC;IACD,MAAM;MAAE6D,cAAc;MAAEC,gBAAgB;MAAEC;IAAQ,CAAE,GAAG,OAAO,IAAAC,yBAAiB,GAAE;IACjF,MAAMC,MAAM,GAAWA,CACrB;MAAE4B,EAAE;MAAErD,GAAG;MAAEZ,KAAK;MAAEL;IAAG,CAAe,EACpCV,KAA4B,KAE5BjD,MAAM,CAACqC,IAAI,CAAC,MAAK;MACf,MAAM;QAAEmE;MAAI,CAAE,GAAGvD,KAAK;MAEtB,IAAIuD,IAAI,KAAK,MAAM,EAAE;QACnBzC,OAAO,CAACoF,SAAS,CACf;UACEC,yBAAyB,EAAEnB,EAAE;UAC7BoB,0BAA0B,EAAEzE,GAAG;UAC/B0E,4BAA4B,EAAEtF;SAC/B,EACD,EAAE,EACFL,GAAG,CACJ;MACH,CAAC,MAAM,IAAI6C,IAAI,KAAK,SAAS,EAAE;QAC7BzC,OAAO,CAACwF,YAAY,CAClB;UACEH,yBAAyB,EAAEnB,EAAE;UAC7BoB,0BAA0B,EAAEzE,GAAG;UAC/B0E,4BAA4B,EAAEtF;SAC/B,EACD,EAAE,EACFL,GAAG,CACJ;MACH,CAAC,MAAM,IAAIV,KAAK,CAACuD,IAAI,KAAK,QAAQ,EAAE;QAClCpD,QAAQ,CAAC4D,MAAM,EAAE;MACnB,CAAC,MAAM;QACLjD,OAAO,CAACyF,EAAE,CAACvG,KAAK,CAACuB,KAAK,CAAC;QAEvBT,OAAO,CAACwF,YAAY,CAClB;UACEH,yBAAyB,EAAEnB,EAAE;UAC7BoB,0BAA0B,EAAEzE,GAAG;UAC/B0E,4BAA4B,EAAEtF;SAC/B,EACD,EAAE,EACF9B,MAAM,CAACkB,QAAQ,CAAC+B,IAAI,CACrB;MACH;IACF,CAAC,CAAC;IAEJ,OAAO;MACLnB,KAAK;MACL8B,SAAS;MACTE,YAAY;MACZC,cAAc;MACdE,QAAQ;MACRD,gBAAgB;MAChBG;KACwB;EAC5B,CAAC,CAAC;AACJ;AA4BA,SAAS0C,YAAYA,CAAC7G,MAAc,EAAEyG,OAAsC;EAC1E,MAAM;IAAE5E,OAAO;IAAEX;EAAQ,CAAE,GAAGlB,MAAM;EACpC,MAAMuH,eAAe,GAAGrI,MAAM,CAACE,wBAAwB,CAACF,MAAM,CAACsI,cAAc,CAAC3F,OAAO,CAAC,EAAE,OAAO,CAAC,IAC9F3C,MAAM,CAACE,wBAAwB,CAACyC,OAAO,EAAE,OAAO,CAAC;EAEnD,MAAM4F,OAAO,GAAG;IACdR,SAAS,EAAEpF,OAAO,CAACoF,SAAS,CAACS,IAAI,CAAC7F,OAAO,CAAC;IAC1CwF,YAAY,EAAExF,OAAO,CAACwF,YAAY,CAACK,IAAI,CAAC7F,OAAO,CAAC;IAChDyF,EAAE,EAAEzF,OAAO,CAACyF,EAAE,CAACI,IAAI,CAAC7F,OAAO,CAAC;IAC5B8F,IAAI,EAAE9F,OAAO,CAAC8F,IAAI,CAACD,IAAI,CAAC7F,OAAO,CAAC;IAChC+F,OAAO,EAAE/F,OAAO,CAAC+F,OAAO,CAACF,IAAI,CAAC7F,OAAO;GACtC;EACD,MAAMgG,kBAAkB,GAAGN,eAAe,EAAEzI,GAAG,EAAE4I,IAAI,CAAC7F,OAAO,CAAC;EAE9D,MAAM6E,eAAe,GAAGA,CAAA,KAAMmB,kBAAkB,GAAE,CAAE;EAEpD,MAAMlB,QAAQ,GAAY;IACxB,IAAIzG,MAAMA,CAAA;MACR,OAAO2B,OAAO,CAAC3B,MAAM;IACvB,CAAC;IACD,IAAI4H,iBAAiBA,CAAA;MACnB,OAAOjG,OAAO,CAACiG,iBAAiB;IAClC,CAAC;IACD,IAAIA,iBAAiBA,CAACC,IAAI;MACxBlG,OAAO,CAACiG,iBAAiB,GAAGC,IAAI;IAClC,CAAC;IACD,IAAIjG,KAAKA,CAAA;MACP,OAAO4E,eAAe,EAAE;IAC1B,CAAC;IACD,GAAGe,OAAO;IACVR,SAASA,CAACe,IAAI,EAAE5D,CAAC,EAAE3C,GAAG;MACpB,OAAOgG,OAAO,CAACR,SAAS,CAACe,IAAI,EAAE5D,CAAC,EAAE3C,GAAG,EAAE+C,QAAQ,EAAE,CAAC;IACpD,CAAC;IACD6C,YAAYA,CAACW,IAAI,EAAE5D,CAAC,EAAE3C,GAAG;MACvB,OAAOgG,OAAO,CAACJ,YAAY,CAACW,IAAI,EAAE5D,CAAC,EAAE3C,GAAG,EAAE+C,QAAQ,EAAE,CAAC;IACvD;GACD;EAED3C,OAAO,CAACoF,SAAS,GAAG,CAACnF,KAAK,EAAEsC,CAAC,EAAE3C,GAAG,KAAI;IACpC,IAAIA,GAAG,EAAE;MACPgF,OAAO,CAAC;QACNlF,IAAI,EAAE,WAAW;QACjBO,KAAK;QACLL,GAAG,EAAE,IAAAwG,cAAM,EAAC/G,QAAQ,CAACC,MAAM,EAAEM,GAAG,CAAC;QACjCC,UAAU,EAAE;OACb,CAAC;IACJ,CAAC,MAAM;MACL+E,OAAO,CAAC;QACNlF,IAAI,EAAE,cAAc;QACpBO,KAAK;QACLL,GAAG,EAAE1D,MAAM,CAACuF,IAAI,EAAE;QAClB5B,UAAU,EAAE;OACb,CAAC;IACJ;EACF,CAAC;EACDG,OAAO,CAACwF,YAAY,GAAG,CAACvF,KAAK,EAAEsC,CAAC,EAAE3C,GAAG,KAAI;IACvCgF,OAAO,CAAC;MACNlF,IAAI,EAAE,cAAc;MACpBO,KAAK;MACLL,GAAG,EAAEA,GAAG,GAAG1D,MAAM,CAACmK,IAAI,CAAC,IAAAD,cAAM,EAAC/G,QAAQ,CAACC,MAAM,EAAEM,GAAG,CAAC,CAAC,GAAG1D,MAAM,CAACuF,IAAI,EAAE;MACpE5B,UAAU,EAAE;KACb,CAAC;EACJ,CAAC;EACDG,OAAO,CAACyF,EAAE,GAAIhF,KAAK,IAAI;IACrB,IAAIA,KAAK,IAAIA,KAAK,KAAK,CAAC,EAAE;MACxBmE,OAAO,CAAC;QAAElF,IAAI,EAAE,UAAU;QAAEe,KAAK;QAAEZ,UAAU,EAAE;MAAK,CAAE,CAAC;IACzD;EACF,CAAC;EACDG,OAAO,CAAC8F,IAAI,GAAG,MAAK;IAClBlB,OAAO,CAAC;MAAElF,IAAI,EAAE,UAAU;MAAEe,KAAK,EAAE,CAAC,CAAC;MAAEZ,UAAU,EAAE;IAAK,CAAE,CAAC;EAC7D,CAAC;EACDG,OAAO,CAAC+F,OAAO,GAAG,MAAK;IACrBnB,OAAO,CAAC;MAAElF,IAAI,EAAE,UAAU;MAAEe,KAAK,EAAE,CAAC;MAAEZ,UAAU,EAAE;IAAK,CAAE,CAAC;EAC5D,CAAC;EAED,MAAMyG,YAAY,GAAIxC,EAAmB,IAAI;IAC3Cc,OAAO,CAAC;MACNlF,IAAI,EAAE,cAAc;MACpBO,KAAK,EAAED,OAAO,CAACC,KAAK;MACpBL,GAAG,EAAE1D,MAAM,CAACmK,IAAI,CAAC,IAAIjC,GAAG,CAACN,EAAE,CAACyC,MAAM,CAAC,CAAC;MACpC1G,UAAU,EAAE;KACb,CAAC;EACJ,CAAC;EAED1B,MAAM,CAAC0F,gBAAgB,CAAC,YAAY,EAAEyC,YAAY,EAAE;IAAEE,OAAO,EAAE;EAAI,CAAE,CAAC;EAEtE,MAAMC,UAAU,GAAI3C,EAAiB,IAAI;IACvC,IAAI,IAAA4C,sBAAc,EAAC5C,EAAE,CAAC7D,KAAK,CAAC,EAAE;MAC5B2E,OAAO,CAAC;QACNlF,IAAI,EAAE,YAAY;QAClBmB,GAAG,EAAEiD,EAAE,CAAC7D,KAAK,CAACqF,0BAA0B;QACxCrF,KAAK,EAAE6D,EAAE,CAAC7D,KAAK,CAACsF,4BAA4B;QAC5C1F,UAAU,EAAE;OACb,CAAC;IACJ,CAAC,MAAM;MACL+E,OAAO,CAAC;QACNlF,IAAI,EAAE,cAAc;QACpBO,KAAK,EAAE6D,EAAE,CAAC7D,KAAK;QACfL,GAAG,EAAE1D,MAAM,CAACmK,IAAI,CAAC,IAAIjC,GAAG,CAAC/E,QAAQ,CAAC+B,IAAI,CAAC,CAAC;QACxCvB,UAAU,EAAE;OACb,CAAC;IACJ;EACF,CAAC;EAED1B,MAAM,CAAC0F,gBAAgB,CAAC,UAAU,EAAE4C,UAAU,EAAE;IAAED,OAAO,EAAE;EAAI,CAAE,CAAC;EAElE,MAAMzB,OAAO,GAAG9I,MAAM,CAACqC,IAAI,CAAC,MAAK;IAC/B0B,OAAO,CAACoF,SAAS,GAAGN,QAAQ,CAACM,SAAS;IACtCpF,OAAO,CAACwF,YAAY,GAAGV,QAAQ,CAACU,YAAY;IAC5CxF,OAAO,CAACyF,EAAE,GAAGX,QAAQ,CAACW,EAAE;IACxBzF,OAAO,CAAC8F,IAAI,GAAGhB,QAAQ,CAACgB,IAAI;IAC5B9F,OAAO,CAAC+F,OAAO,GAAGjB,QAAQ,CAACiB,OAAO;IAElC,IAAIL,eAAe,EAAE;MACnB,IAAI;QACFrI,MAAM,CAACC,cAAc,CAAC0C,OAAO,EAAE,OAAO,EAAE0F,eAAe,CAAC;MAC1D,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;IAEAvH,MAAM,CAACwI,mBAAmB,CAAC,YAAY,EAAEL,YAAY,CAAC;IACtDnI,MAAM,CAACwI,mBAAmB,CAAC,UAAU,EAAEF,UAAU,CAAC;EACpD,CAAC,CAAC;EAEFpJ,MAAM,CAACC,cAAc,CAAC0C,OAAO,EAAE,OAAO,EAAE;IACtC/C,GAAGA,CAAA;MACD2J,OAAO,CAACC,GAAG,CAAC,MAAM,CAAC;MACnB,OAAO,IAAAC,wBAAgB,EAACd,kBAAkB,GAAE,CAAE,IAAIhG,OAAO,CAACC,KAAK,CAAC;IAClE,CAAC;IACDrC,GAAGA,CAACmC,KAAK;MACP,MAAM;QAAEsF,yBAAyB;QAAEC;MAA0B,CAAE,GAAGU,kBAAkB,GAAE,CAAE,IAAIlB,QAAQ,CAAC7E,KAAK;MAE1G,IAAI,IAAAyG,sBAAc,EAAC3G,KAAK,CAAC,EAAE;QACzB;QACA;QACA+E,QAAQ,CAACU,YAAY,CAAC9H,IAAI,CAACsC,OAAO,EAAED,KAAK,EAAE,EAAE,EAAEV,QAAQ,CAAC+B,IAAI,CAAC;MAC/D,CAAC,MAAM;QACL;QACA;QACA0D,QAAQ,CAACU,YAAY,CAAC9H,IAAI,CACxBsC,OAAO,EACP;UACEqF,yBAAyB;UACzBC,0BAA0B;UAC1BC,4BAA4B,EAAExF;SACR,EACxB,EAAE,EACFV,QAAQ,CAAC+B,IAAI,CACd;MACH;MAEA,OAAOrB,KAAK;IACd;GACD,CAAC;EAEF,OAAO;IACL8E,eAAe;IACfC,QAAQ;IACRiC,OAAO,EAAE/G,OAAO;IAChB+E;GACQ;AACZ;AAaA,SAASnG,aAAaA,CAAA;EAKpB,OAAO3C,MAAM,CAACoF,GAAG,CAACpF,MAAM,CAAC+K,OAAO,EAAmB,EAAGA,OAAO,IAAI;IAC/D,MAAMC,KAAK,GAAGpL,OAAO,CAACoB,GAAG,CAAC+J,OAAO,CAACE,OAAO,EAAE9K,KAAK,CAACA,KAAK,CAAC;IACvD,MAAM+K,OAAO,GAAGhL,OAAO,CAACgL,OAAO,CAACH,OAAO,CAAC;IACxC,MAAMrI,UAAU,GACdyI,MAA4C,IAE5C,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAI;MAC9B,MAAMC,KAAK,GAAGL,OAAO,CAACC,MAAM,EAAE;QAAEH;MAAK,CAAE,CAAC;MACxCO,KAAK,CAACC,WAAW,CACfnL,IAAI,CAACoH,KAAK,CAAC;QACTgE,SAAS,EAAGC,KAAK,IAAKJ,MAAM,CAACpL,OAAO,CAACyL,gBAAgB,CAACD,KAAK,CAAC,CAAC;QAC7DE,SAAS,EAAEP;OACZ,CAAC,CACH;IACH,CAAC,CAAC;IAEJ,OAAO;MACLN,OAAO;MACPC,KAAK,EAAEpL,OAAO,CAACiM,SAAS,CAACd,OAAO,CAACE,OAAO,EAAE9K,KAAK,CAACA,KAAK,CAAC;MACtDsC,GAAG,EAAGqJ,GAAG,IAAKZ,OAAO,CAACY,GAAG,EAAE;QAAEd;MAAK,CAAE,CAAC;MACrCtI;KACQ;EACZ,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.initialMemory = initialMemory;
|
|
7
|
-
exports.memory = void 0;
|
|
8
|
-
var _schema = /*#__PURE__*/require("@effect/schema");
|
|
9
|
-
var Equivalence = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@effect/schema/Equivalence"));
|
|
10
|
-
var RefSubject = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("@typed/fx/RefSubject"));
|
|
11
|
-
var _id = /*#__PURE__*/require("@typed/id");
|
|
12
|
-
var Effect = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Effect"));
|
|
13
|
-
var Option = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Option"));
|
|
14
|
-
var _Navigation = /*#__PURE__*/require("../Navigation.js");
|
|
15
|
-
var _shared = /*#__PURE__*/require("./shared.js");
|
|
16
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
17
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
|
-
const memory = options => _Navigation.Navigation.scoped(Effect.gen(function* () {
|
|
19
|
-
const getRandomValues = yield* _id.GetRandomValues;
|
|
20
|
-
const modelAndIntent = yield* setupMemory(options);
|
|
21
|
-
const current = options.entries[options.currentIndex ?? 0];
|
|
22
|
-
const origin = options.origin ?? (0, _shared.getOriginFromUrl)(current.url);
|
|
23
|
-
const base = options.base ?? "/";
|
|
24
|
-
return (0, _shared.setupFromModelAndIntent)(modelAndIntent, origin, base, getRandomValues);
|
|
25
|
-
}).pipe(Effect.provide(_id.getRandomValues)));
|
|
26
|
-
exports.memory = memory;
|
|
27
|
-
function initialMemory(options) {
|
|
28
|
-
return _Navigation.Navigation.scoped(Effect.gen(function* () {
|
|
29
|
-
const getRandomValues = yield* _id.GetRandomValues;
|
|
30
|
-
const origin = options.origin ?? (0, _shared.getOriginFromUrl)(options.url);
|
|
31
|
-
const base = options.base ?? "/";
|
|
32
|
-
const destination = yield* (0, _shared.makeDestination)((0, _shared.getUrl)(origin, options.url), options.state, origin);
|
|
33
|
-
const memoryOptions = {
|
|
34
|
-
entries: [destination],
|
|
35
|
-
origin,
|
|
36
|
-
base,
|
|
37
|
-
currentIndex: 0,
|
|
38
|
-
maxEntries: options.maxEntries
|
|
39
|
-
};
|
|
40
|
-
const modelAndIntent = yield* setupMemory(memoryOptions);
|
|
41
|
-
return (0, _shared.setupFromModelAndIntent)(modelAndIntent, origin, base, getRandomValues);
|
|
42
|
-
}).pipe(Effect.provide(_id.getRandomValues)));
|
|
43
|
-
}
|
|
44
|
-
function setupMemory(options) {
|
|
45
|
-
return Effect.gen(function* () {
|
|
46
|
-
const state = yield* RefSubject.of({
|
|
47
|
-
entries: options.entries,
|
|
48
|
-
index: options.currentIndex ?? options.entries.length - 1,
|
|
49
|
-
transition: Option.none()
|
|
50
|
-
}, {
|
|
51
|
-
eq: Equivalence.make(_schema.Schema.typeSchema(_shared.NavigationState))
|
|
52
|
-
});
|
|
53
|
-
const canGoBack = RefSubject.map(state, s => s.index > 0);
|
|
54
|
-
const canGoForward = RefSubject.map(state, s => s.index < s.entries.length - 1);
|
|
55
|
-
const {
|
|
56
|
-
beforeHandlers,
|
|
57
|
-
formDataHandlers,
|
|
58
|
-
handlers
|
|
59
|
-
} = yield* (0, _shared.makeHandlersState)();
|
|
60
|
-
const commit = options.commit ?? (() => Effect.void);
|
|
61
|
-
return {
|
|
62
|
-
state,
|
|
63
|
-
canGoBack,
|
|
64
|
-
canGoForward,
|
|
65
|
-
beforeHandlers,
|
|
66
|
-
handlers,
|
|
67
|
-
formDataHandlers,
|
|
68
|
-
commit
|
|
69
|
-
};
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=memory.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","names":["_schema","require","Equivalence","_interopRequireWildcard","RefSubject","_id","Effect","Option","_Navigation","_shared","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","memory","options","Navigation","scoped","gen","getRandomValues","GetRandomValues","modelAndIntent","setupMemory","current","entries","currentIndex","origin","getOriginFromUrl","url","base","setupFromModelAndIntent","pipe","provide","exports","initialMemory","destination","makeDestination","getUrl","state","memoryOptions","maxEntries","of","index","length","transition","none","eq","make","Schema","typeSchema","NavigationState","canGoBack","map","s","canGoForward","beforeHandlers","formDataHandlers","handlers","makeHandlersState","commit","void"],"sources":["../../../src/internal/memory.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|