@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,421 +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
|
-
return yield* navigation.traverseTo(to.key, {}, event.skipCommit);
|
|
54
|
-
} else {
|
|
55
|
-
yield* navigation.traverseTo(event.key, {}, event.skipCommit);
|
|
56
|
-
return yield* navigation.updateCurrentEntry({
|
|
57
|
-
state: event.state
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
}).pipe(_id.GetRandomValues.provide(getRandomValues));
|
|
63
|
-
}));
|
|
64
|
-
function getBaseHref(window) {
|
|
65
|
-
const base = window.document.querySelector("base");
|
|
66
|
-
return base ? base.href : "/";
|
|
67
|
-
}
|
|
68
|
-
const getNavigationState = navigation => {
|
|
69
|
-
const entries = navigation.entries().map(nativeEntryToDestination);
|
|
70
|
-
const {
|
|
71
|
-
index
|
|
72
|
-
} = navigation.currentEntry;
|
|
73
|
-
return {
|
|
74
|
-
entries,
|
|
75
|
-
index,
|
|
76
|
-
transition: Option.none()
|
|
77
|
-
};
|
|
78
|
-
};
|
|
79
|
-
function setupWithNavigation(navigation, runPromise) {
|
|
80
|
-
return Effect.gen(function* () {
|
|
81
|
-
const state = yield* RefSubject.fromEffect(Effect.sync(() => getNavigationState(navigation)), {
|
|
82
|
-
eq: Equivalence.make(Schema.typeSchema(Schema.typeSchema(_shared.NavigationState)))
|
|
83
|
-
});
|
|
84
|
-
const canGoBack = RefSubject.map(state, s => s.index > 0);
|
|
85
|
-
const canGoForward = RefSubject.map(state, s => s.index < s.entries.length - 1);
|
|
86
|
-
const {
|
|
87
|
-
beforeHandlers,
|
|
88
|
-
formDataHandlers,
|
|
89
|
-
handlers
|
|
90
|
-
} = yield* (0, _shared.makeHandlersState)();
|
|
91
|
-
const commit = (to, event) => Effect.gen(function* (_) {
|
|
92
|
-
const {
|
|
93
|
-
key,
|
|
94
|
-
state,
|
|
95
|
-
url
|
|
96
|
-
} = to;
|
|
97
|
-
const {
|
|
98
|
-
info,
|
|
99
|
-
type
|
|
100
|
-
} = event;
|
|
101
|
-
if (type === "push" || type === "replace") {
|
|
102
|
-
yield* _(Effect.promise(() => navigation.navigate(url.toString(), {
|
|
103
|
-
history: type,
|
|
104
|
-
state,
|
|
105
|
-
info
|
|
106
|
-
}).committed), Effect.catchAllDefect(error => Effect.fail(new _Navigation.NavigationError({
|
|
107
|
-
error
|
|
108
|
-
}))));
|
|
109
|
-
} else if (event.type === "reload") {
|
|
110
|
-
yield* _(Effect.promise(() => navigation.reload({
|
|
111
|
-
state,
|
|
112
|
-
info
|
|
113
|
-
}).committed), Effect.catchAllDefect(error => Effect.fail(new _Navigation.NavigationError({
|
|
114
|
-
error
|
|
115
|
-
}))));
|
|
116
|
-
} else {
|
|
117
|
-
yield* _(Effect.promise(() => navigation.traverseTo(key, {
|
|
118
|
-
info
|
|
119
|
-
}).committed), Effect.catchAllDefect(error => Effect.fail(new _Navigation.NavigationError({
|
|
120
|
-
error
|
|
121
|
-
}))));
|
|
122
|
-
}
|
|
123
|
-
});
|
|
124
|
-
const runHandlers = native => Effect.gen(function* () {
|
|
125
|
-
const eventHandlers = yield* handlers;
|
|
126
|
-
const matches = [];
|
|
127
|
-
const event = {
|
|
128
|
-
type: native.navigationType,
|
|
129
|
-
destination: nativeEntryToDestination(navigation.currentEntry),
|
|
130
|
-
info: native.info
|
|
131
|
-
};
|
|
132
|
-
for (const [handler, ctx] of eventHandlers) {
|
|
133
|
-
const match = yield* Effect.provide(handler(event), ctx);
|
|
134
|
-
if (Option.isSome(match)) {
|
|
135
|
-
matches.push(Effect.provide(match.value, ctx));
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
if (matches.length > 0) {
|
|
139
|
-
yield* Effect.all(matches);
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
navigation.addEventListener("navigate", ev => {
|
|
143
|
-
if (shouldNotIntercept(ev)) return;
|
|
144
|
-
ev.intercept({
|
|
145
|
-
handler: () => runPromise(runHandlers(ev))
|
|
146
|
-
});
|
|
147
|
-
});
|
|
148
|
-
return {
|
|
149
|
-
state,
|
|
150
|
-
canGoBack,
|
|
151
|
-
canGoForward,
|
|
152
|
-
beforeHandlers,
|
|
153
|
-
handlers,
|
|
154
|
-
formDataHandlers,
|
|
155
|
-
commit
|
|
156
|
-
};
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
function nativeEntryToDestination(entry) {
|
|
160
|
-
return {
|
|
161
|
-
id: (0, _id.Uuid)(entry.id),
|
|
162
|
-
key: (0, _id.Uuid)(entry.key),
|
|
163
|
-
url: new URL(entry.url),
|
|
164
|
-
state: entry.getState(),
|
|
165
|
-
sameDocument: entry.sameDocument
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
function shouldNotIntercept(navigationEvent) {
|
|
169
|
-
return !navigationEvent.canIntercept ||
|
|
170
|
-
// If this is just a hashChange,
|
|
171
|
-
// just let the browser handle scrolling to the content.
|
|
172
|
-
navigationEvent.hashChange ||
|
|
173
|
-
// If this is a download,
|
|
174
|
-
// let the browser perform the download.
|
|
175
|
-
!!navigationEvent.downloadRequest ||
|
|
176
|
-
// If this is a form submission,
|
|
177
|
-
// let that go to the server.
|
|
178
|
-
!!navigationEvent.formData;
|
|
179
|
-
}
|
|
180
|
-
function setupWithHistory(window, onEvent) {
|
|
181
|
-
return Effect.gen(function* () {
|
|
182
|
-
const {
|
|
183
|
-
location
|
|
184
|
-
} = window;
|
|
185
|
-
const {
|
|
186
|
-
original: history,
|
|
187
|
-
unpatch
|
|
188
|
-
} = patchHistory(window, onEvent);
|
|
189
|
-
yield* Effect.addFinalizer(() => unpatch);
|
|
190
|
-
const state = yield* RefSubject.fromEffect(Effect.suspend(() => Effect.map((0, _shared.makeDestination)(new URL(location.href), history.state, location.origin), destination => ({
|
|
191
|
-
entries: [destination],
|
|
192
|
-
index: 0,
|
|
193
|
-
transition: Option.none()
|
|
194
|
-
}))), {
|
|
195
|
-
eq: Equivalence.make(Schema.typeSchema(_shared.NavigationState))
|
|
196
|
-
});
|
|
197
|
-
const canGoBack = RefSubject.map(state, s => s.index > 0);
|
|
198
|
-
const canGoForward = RefSubject.map(state, s => s.index < s.entries.length - 1);
|
|
199
|
-
const {
|
|
200
|
-
beforeHandlers,
|
|
201
|
-
formDataHandlers,
|
|
202
|
-
handlers
|
|
203
|
-
} = yield* (0, _shared.makeHandlersState)();
|
|
204
|
-
const commit = ({
|
|
205
|
-
id,
|
|
206
|
-
key,
|
|
207
|
-
state,
|
|
208
|
-
url
|
|
209
|
-
}, event) => Effect.sync(() => {
|
|
210
|
-
const {
|
|
211
|
-
type
|
|
212
|
-
} = event;
|
|
213
|
-
if (type === "push") {
|
|
214
|
-
history.pushState({
|
|
215
|
-
id,
|
|
216
|
-
key,
|
|
217
|
-
originalHistoryState: state
|
|
218
|
-
}, "", url);
|
|
219
|
-
} else if (type === "replace") {
|
|
220
|
-
history.replaceState({
|
|
221
|
-
id,
|
|
222
|
-
key,
|
|
223
|
-
originalHistoryState: state
|
|
224
|
-
}, "", url);
|
|
225
|
-
} else if (event.type === "reload") {
|
|
226
|
-
location.reload();
|
|
227
|
-
} else {
|
|
228
|
-
history.go(event.delta);
|
|
229
|
-
}
|
|
230
|
-
});
|
|
231
|
-
return {
|
|
232
|
-
state,
|
|
233
|
-
canGoBack,
|
|
234
|
-
canGoForward,
|
|
235
|
-
beforeHandlers,
|
|
236
|
-
handlers,
|
|
237
|
-
formDataHandlers,
|
|
238
|
-
commit
|
|
239
|
-
};
|
|
240
|
-
});
|
|
241
|
-
}
|
|
242
|
-
function patchHistory(window, onEvent) {
|
|
243
|
-
const {
|
|
244
|
-
history,
|
|
245
|
-
location
|
|
246
|
-
} = window;
|
|
247
|
-
const stateDescriptor = Object.getOwnPropertyDescriptor(Object.getPrototypeOf(history), "state");
|
|
248
|
-
const methods = {
|
|
249
|
-
pushState: history.pushState.bind(history),
|
|
250
|
-
replaceState: history.replaceState.bind(history),
|
|
251
|
-
go: history.go.bind(history),
|
|
252
|
-
back: history.back.bind(history),
|
|
253
|
-
forward: history.forward.bind(history)
|
|
254
|
-
};
|
|
255
|
-
const getState = stateDescriptor?.get?.bind(history);
|
|
256
|
-
const original = {
|
|
257
|
-
get length() {
|
|
258
|
-
return history.length;
|
|
259
|
-
},
|
|
260
|
-
get scrollRestoration() {
|
|
261
|
-
return history.scrollRestoration;
|
|
262
|
-
},
|
|
263
|
-
set scrollRestoration(mode) {
|
|
264
|
-
history.scrollRestoration = mode;
|
|
265
|
-
},
|
|
266
|
-
get state() {
|
|
267
|
-
return getState?.() ?? history.state;
|
|
268
|
-
},
|
|
269
|
-
...methods,
|
|
270
|
-
pushState(data, _, url) {
|
|
271
|
-
if (!stateDescriptor) {
|
|
272
|
-
;
|
|
273
|
-
history.state = data;
|
|
274
|
-
}
|
|
275
|
-
return methods.pushState(data, _, url);
|
|
276
|
-
},
|
|
277
|
-
replaceState(data, _, url) {
|
|
278
|
-
if (!stateDescriptor) {
|
|
279
|
-
;
|
|
280
|
-
history.state = data;
|
|
281
|
-
}
|
|
282
|
-
return methods.replaceState(data, _, url);
|
|
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
|
-
// In a proper browser this will allow patching to hide the id/key's associated with the state
|
|
334
|
-
if (stateDescriptor) {
|
|
335
|
-
try {
|
|
336
|
-
Object.defineProperty(history, "state", {
|
|
337
|
-
get() {
|
|
338
|
-
return (0, _shared.getOriginalState)(stateDescriptor.get.call(history));
|
|
339
|
-
}
|
|
340
|
-
});
|
|
341
|
-
} catch {
|
|
342
|
-
// We tried, but it didn't work
|
|
343
|
-
}
|
|
344
|
-
}
|
|
345
|
-
const onHashChange = ev => {
|
|
346
|
-
onEvent({
|
|
347
|
-
_tag: "ReplaceState",
|
|
348
|
-
state: history.state,
|
|
349
|
-
url: Option.some(new URL(ev.newURL)),
|
|
350
|
-
skipCommit: false
|
|
351
|
-
});
|
|
352
|
-
};
|
|
353
|
-
window.addEventListener("hashchange", onHashChange, {
|
|
354
|
-
capture: true
|
|
355
|
-
});
|
|
356
|
-
const onPopState = ev => {
|
|
357
|
-
if ((0, _shared.isPatchedState)(ev.state)) {
|
|
358
|
-
onEvent({
|
|
359
|
-
_tag: "TraverseTo",
|
|
360
|
-
key: ev.state.key,
|
|
361
|
-
state: ev.state.originalHistoryState,
|
|
362
|
-
skipCommit: true
|
|
363
|
-
});
|
|
364
|
-
} else {
|
|
365
|
-
onEvent({
|
|
366
|
-
_tag: "ReplaceState",
|
|
367
|
-
state: ev.state,
|
|
368
|
-
url: Option.some(new URL(location.href)),
|
|
369
|
-
skipCommit: true
|
|
370
|
-
});
|
|
371
|
-
}
|
|
372
|
-
};
|
|
373
|
-
window.addEventListener("popstate", onPopState, {
|
|
374
|
-
capture: true
|
|
375
|
-
});
|
|
376
|
-
const unpatch = Effect.sync(() => {
|
|
377
|
-
history.pushState = original.pushState;
|
|
378
|
-
history.replaceState = original.replaceState;
|
|
379
|
-
history.go = original.go;
|
|
380
|
-
history.back = original.back;
|
|
381
|
-
history.forward = original.forward;
|
|
382
|
-
if (stateDescriptor) {
|
|
383
|
-
try {
|
|
384
|
-
Object.defineProperty(history, "state", stateDescriptor);
|
|
385
|
-
} catch {
|
|
386
|
-
// We tried, but it didn't work
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
window.removeEventListener("hashchange", onHashChange);
|
|
390
|
-
window.removeEventListener("popstate", onPopState);
|
|
391
|
-
});
|
|
392
|
-
return {
|
|
393
|
-
original,
|
|
394
|
-
patched: history,
|
|
395
|
-
unpatch
|
|
396
|
-
};
|
|
397
|
-
}
|
|
398
|
-
function scopedRuntime() {
|
|
399
|
-
return Effect.map(Effect.runtime(), runtime => {
|
|
400
|
-
const scope = Context.get(runtime.context, Scope.Scope);
|
|
401
|
-
const runFork = Runtime.runFork(runtime);
|
|
402
|
-
const runPromise = effect => new Promise((resolve, reject) => {
|
|
403
|
-
const fiber = runFork(effect, {
|
|
404
|
-
scope
|
|
405
|
-
});
|
|
406
|
-
fiber.addObserver(Exit.match({
|
|
407
|
-
onFailure: cause => reject(Runtime.makeFiberFailure(cause)),
|
|
408
|
-
onSuccess: resolve
|
|
409
|
-
}));
|
|
410
|
-
});
|
|
411
|
-
return {
|
|
412
|
-
runtime,
|
|
413
|
-
scope: Context.unsafeGet(runtime.context, Scope.Scope),
|
|
414
|
-
run: eff => runFork(eff, {
|
|
415
|
-
scope
|
|
416
|
-
}),
|
|
417
|
-
runPromise
|
|
418
|
-
};
|
|
419
|
-
});
|
|
420
|
-
}
|
|
421
|
-
//# 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","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","original","unpatch","patchHistory","addFinalizer","suspend","makeDestination","pushState","originalHistoryState","replaceState","go","stateDescriptor","getPrototypeOf","methods","bind","back","forward","scrollRestoration","mode","data","getUrl","some","getOriginalState","onHashChange","newURL","capture","onPopState","isPatchedState","removeEventListener","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,eAAAC,OAAA;AACA,IAAAC,OAAA,gBAAAF,uBAAA,eAAAC,OAAA;AACA,IAAAE,OAAA,gBAAAF,OAAA;AACA,IAAAG,UAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AACA,IAAAI,GAAA,gBAAAJ,OAAA;AAEA,IAAAK,MAAA,gBAAAN,uBAAA,eAAAC,OAAA;AAEA,IAAAM,MAAA,gBAAAP,uBAAA,eAAAC,OAAA;AACA,IAAAO,OAAA,gBAAAR,uBAAA,eAAAC,OAAA;AACA,IAAAQ,KAAA,gBAAAT,uBAAA,eAAAC,OAAA;AAEA,IAAAS,MAAA,gBAAAV,uBAAA,eAAAC,OAAA;AACA,IAAAU,IAAA,gBAAAX,uBAAA,eAAAC,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,eACjFC,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,GAAG,MAAMW,kBAAkB,CAACrB,MAAM,CAACW,UAAW,CAAC,GAAGW,SAAS,CAC/E;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,CAACT,KAAK,CAACU,GAAG,EAAE,EAAE,EAAEV,KAAK,CAACW,UAAU,CAAC;QACpE,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,CAACD,IAAI,CAACE,GAAG,CAAC,CAAC,EAAEJ,KAAK,GAAGlB,KAAK,CAACuB,KAAK,CAAC,EAAEN,OAAO,CAAC9B,MAAM,GAAG,CAAC,CAAC;UAC9E,MAAMqC,EAAE,GAAGP,OAAO,CAACE,OAAO,CAAC;UAE3B,OAAO,OAAOvB,UAAU,CAAC6B,UAAU,CAACD,EAAE,CAACE,GAAG,EAAE,EAAE,EAAE1B,KAAK,CAACW,UAAU,CAAC;QACnE,CAAC,MAAM;UACL,OAAOf,UAAU,CAAC6B,UAAU,CAACzB,KAAK,CAAC0B,GAAG,EAAE,EAAE,EAAE1B,KAAK,CAACW,UAAU,CAAC;UAC7D,OAAO,OAAOf,UAAU,CAACoB,kBAAkB,CAAC;YAAED,KAAK,EAAEf,KAAK,CAACe;UAAK,CAAE,CAAC;QACrE;MACF,CAAC,CAAC;IACJ;EACF,CAAC,CAAC,CAACY,IAAI,CACLC,mBAAe,CAACC,OAAO,CAAC3C,eAAe,CAAC,CACzC;AACH,CAAC,CAAC,CACH;AAED,SAASmB,WAAWA,CAACpB,MAAc;EACjC,MAAM6C,IAAI,GAAG7C,MAAM,CAAC8C,QAAQ,CAACC,aAAa,CAAC,MAAM,CAAC;EAClD,OAAOF,IAAI,GAAGA,IAAI,CAACG,IAAI,GAAG,GAAG;AAC/B;AAEA,MAAM3B,kBAAkB,GAAIV,UAA4B,IAAqB;EAC3E,MAAMqB,OAAO,GAAGrB,UAAU,CAACqB,OAAO,EAAE,CAACiB,GAAG,CAACC,wBAAwB,CAAC;EAClE,MAAM;IAAEjB;EAAK,CAAE,GAAGtB,UAAU,CAACwC,YAAY;EAEzC,OAAO;IACLnB,OAAO;IACPC,KAAK;IACLmB,UAAU,EAAErF,MAAM,CAACsF,IAAI;GACxB;AACH,CAAC;AAED,SAASxC,mBAAmBA,CAC1BF,UAA4B,EAC5BH,UAA0E;EAE1E,OAAO1C,MAAM,CAACwC,GAAG,CAAC,aAAS;IACzB,MAAMwB,KAAK,GAAG,OAAOlE,UAAU,CAAC0F,UAAU,CACxCxF,MAAM,CAACqC,IAAI,CAAC,MAAuBkB,kBAAkB,CAACV,UAAU,CAAC,CAAC,EAClE;MAAE4C,EAAE,EAAEhG,WAAW,CAACiG,IAAI,CAACtF,MAAM,CAACuF,UAAU,CAACvF,MAAM,CAACuF,UAAU,CAACC,uBAAe,CAAC,CAAC;IAAC,CAAE,CAChF;IACD,MAAMC,SAAS,GAAG/F,UAAU,CAACqF,GAAG,CAACnB,KAAK,EAAG8B,CAAC,IAAKA,CAAC,CAAC3B,KAAK,GAAG,CAAC,CAAC;IAC3D,MAAM4B,YAAY,GAAGjG,UAAU,CAACqF,GAAG,CAACnB,KAAK,EAAG8B,CAAC,IAAKA,CAAC,CAAC3B,KAAK,GAAG2B,CAAC,CAAC5B,OAAO,CAAC9B,MAAM,GAAG,CAAC,CAAC;IACjF,MAAM;MAAE4D,cAAc;MAAEC,gBAAgB;MAAEC;IAAQ,CAAE,GAAG,OAAO,IAAAC,yBAAiB,GAAE;IACjF,MAAMC,MAAM,GAAWA,CAAC3B,EAAe,EAAExB,KAA4B,KACnEjD,MAAM,CAACwC,GAAG,CAAC,WAAU6D,CAAC;MACpB,MAAM;QAAE1B,GAAG;QAAEX,KAAK;QAAEL;MAAG,CAAE,GAAGc,EAAE;MAC9B,MAAM;QAAE6B,IAAI;QAAEC;MAAI,CAAE,GAAGtD,KAAK;MAE5B,IAAIsD,IAAI,KAAK,MAAM,IAAIA,IAAI,KAAK,SAAS,EAAE;QACzC,OAAOF,CAAC,CACNrG,MAAM,CAACwG,OAAO,CAAC,MAAM3D,UAAU,CAACa,QAAQ,CAACC,GAAG,CAAC8C,QAAQ,EAAE,EAAE;UAAE1C,OAAO,EAAEwC,IAAI;UAAEvC,KAAK;UAAEsC;QAAI,CAAE,CAAC,CAACI,SAAS,CAAC,EACnG1G,MAAM,CAAC2G,cAAc,CAAEC,KAAK,IAAK5G,MAAM,CAAC6G,IAAI,CAAC,IAAIC,2BAAe,CAAC;UAAEF;QAAK,CAAE,CAAC,CAAC,CAAC,CAC9E;MACH,CAAC,MAAM,IAAI3D,KAAK,CAACsD,IAAI,KAAK,QAAQ,EAAE;QAClC,OAAOF,CAAC,CACNrG,MAAM,CAACwG,OAAO,CAAC,MAAM3D,UAAU,CAACkE,MAAM,CAAC;UAAE/C,KAAK;UAAEsC;QAAI,CAAE,CAAC,CAACI,SAAS,CAAC,EAClE1G,MAAM,CAAC2G,cAAc,CAAEC,KAAK,IAAK5G,MAAM,CAAC6G,IAAI,CAAC,IAAIC,2BAAe,CAAC;UAAEF;QAAK,CAAE,CAAC,CAAC,CAAC,CAC9E;MACH,CAAC,MAAM;QACL,OAAOP,CAAC,CACNrG,MAAM,CAACwG,OAAO,CAAC,MAAM3D,UAAU,CAAC6B,UAAU,CAACC,GAAG,EAAE;UAAE2B;QAAI,CAAE,CAAC,CAACI,SAAS,CAAC,EACpE1G,MAAM,CAAC2G,cAAc,CAAEC,KAAK,IAAK5G,MAAM,CAAC6G,IAAI,CAAC,IAAIC,2BAAe,CAAC;UAAEF;QAAK,CAAE,CAAC,CAAC,CAAC,CAC9E;MACH;IACF,CAAC,CAAC;IAEJ,MAAMI,WAAW,GAAIC,MAAmB,IACtCjH,MAAM,CAACwC,GAAG,CAAC,aAAS;MAClB,MAAM0E,aAAa,GAAG,OAAOhB,QAAQ;MACrC,MAAMiB,OAAO,GAAkC,EAAE;MAEjD,MAAMlE,KAAK,GAAoB;QAC7BsD,IAAI,EAAEU,MAAM,CAACG,cAAc;QAC3BC,WAAW,EAAEjC,wBAAwB,CAACvC,UAAU,CAACwC,YAAY,CAAC;QAC9DiB,IAAI,EAAEW,MAAM,CAACX;OACd;MAED,KAAK,MAAM,CAACgB,OAAO,EAAEC,GAAG,CAAC,IAAIL,aAAa,EAAE;QAC1C,MAAMM,KAAK,GAAG,OAAOxH,MAAM,CAAC8E,OAAO,CAACwC,OAAO,CAACrE,KAAK,CAAC,EAAEsE,GAAG,CAAC;QACxD,IAAItH,MAAM,CAAC4D,MAAM,CAAC2D,KAAK,CAAC,EAAE;UACxBL,OAAO,CAACM,IAAI,CAACzH,MAAM,CAAC8E,OAAO,CAAC0C,KAAK,CAAC1D,KAAK,EAAEyD,GAAG,CAAC,CAAC;QAChD;MACF;MAEA,IAAIJ,OAAO,CAAC/E,MAAM,GAAG,CAAC,EAAE;QACtB,OAAOpC,MAAM,CAAC0H,GAAG,CAACP,OAAO,CAAC;MAC5B;IACF,CAAC,CAAC;IAEJtE,UAAU,CAAC8E,gBAAgB,CAAC,UAAU,EAAGC,EAAE,IAAI;MAC7C,IAAIC,kBAAkB,CAACD,EAAE,CAAC,EAAE;MAE5BA,EAAE,CAACE,SAAS,CAAC;QACXR,OAAO,EAAEA,CAAA,KAAM5E,UAAU,CAACsE,WAAW,CAACY,EAAE,CAAC;OAC1C,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO;MACL5D,KAAK;MACL6B,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;IACpBhB,GAAG,EAAE,IAAIuE,GAAG,CAACH,KAAK,CAACpE,GAAI,CAAC;IACxBK,KAAK,EAAE+D,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,SAASzF,gBAAgBA,CACvBd,MAAc,EACdwG,OAAsC;EAEtC,OAAO1I,MAAM,CAACwC,GAAG,CAAC,aAAS;IACzB,MAAM;MAAEY;IAAQ,CAAE,GAAGlB,MAAM;IAC3B,MAAM;MAAEyG,QAAQ,EAAE5E,OAAO;MAAE6E;IAAO,CAAE,GAAGC,YAAY,CAAC3G,MAAM,EAAEwG,OAAO,CAAC;IAEpE,OAAO1I,MAAM,CAAC8I,YAAY,CAAC,MAAMF,OAAO,CAAC;IAEzC,MAAM5E,KAAK,GAAG,OAAOlE,UAAU,CAAC0F,UAAU,CACxCxF,MAAM,CAAC+I,OAAO,CAAC,MACb/I,MAAM,CAACmF,GAAG,CACR,IAAA6D,uBAAe,EACb,IAAId,GAAG,CAAC9E,QAAQ,CAAC8B,IAAI,CAAC,EACtBnB,OAAO,CAACC,KAAK,EACbZ,QAAQ,CAACC,MAAM,CAChB,EACAgE,WAAW,KAAuB;MAAEnD,OAAO,EAAE,CAACmD,WAAW,CAAC;MAAElD,KAAK,EAAE,CAAC;MAAEmB,UAAU,EAAErF,MAAM,CAACsF,IAAI;IAAE,CAAE,CAAC,CACpG,CACF,EACD;MAAEE,EAAE,EAAEhG,WAAW,CAACiG,IAAI,CAACtF,MAAM,CAACuF,UAAU,CAACC,uBAAe,CAAC;IAAC,CAAE,CAC7D;IACD,MAAMC,SAAS,GAAG/F,UAAU,CAACqF,GAAG,CAACnB,KAAK,EAAG8B,CAAC,IAAKA,CAAC,CAAC3B,KAAK,GAAG,CAAC,CAAC;IAC3D,MAAM4B,YAAY,GAAGjG,UAAU,CAACqF,GAAG,CAACnB,KAAK,EAAG8B,CAAC,IAAKA,CAAC,CAAC3B,KAAK,GAAG2B,CAAC,CAAC5B,OAAO,CAAC9B,MAAM,GAAG,CAAC,CAAC;IACjF,MAAM;MAAE4D,cAAc;MAAEC,gBAAgB;MAAEC;IAAQ,CAAE,GAAG,OAAO,IAAAC,yBAAiB,GAAE;IACjF,MAAMC,MAAM,GAAWA,CAAC;MAAE4B,EAAE;MAAErD,GAAG;MAAEX,KAAK;MAAEL;IAAG,CAAe,EAAEV,KAA4B,KACxFjD,MAAM,CAACqC,IAAI,CAAC,MAAK;MACf,MAAM;QAAEkE;MAAI,CAAE,GAAGtD,KAAK;MAEtB,IAAIsD,IAAI,KAAK,MAAM,EAAE;QACnBxC,OAAO,CAACkF,SAAS,CAAC;UAAEjB,EAAE;UAAErD,GAAG;UAAEuE,oBAAoB,EAAElF;QAAK,CAAE,EAAE,EAAE,EAAEL,GAAG,CAAC;MACtE,CAAC,MAAM,IAAI4C,IAAI,KAAK,SAAS,EAAE;QAC7BxC,OAAO,CAACoF,YAAY,CAAC;UAAEnB,EAAE;UAAErD,GAAG;UAAEuE,oBAAoB,EAAElF;QAAK,CAAE,EAAE,EAAE,EAAEL,GAAG,CAAC;MACzE,CAAC,MAAM,IAAIV,KAAK,CAACsD,IAAI,KAAK,QAAQ,EAAE;QAClCnD,QAAQ,CAAC2D,MAAM,EAAE;MACnB,CAAC,MAAM;QACLhD,OAAO,CAACqF,EAAE,CAACnG,KAAK,CAACuB,KAAK,CAAC;MACzB;IACF,CAAC,CAAC;IAEJ,OAAO;MACLR,KAAK;MACL6B,SAAS;MACTE,YAAY;MACZC,cAAc;MACdE,QAAQ;MACRD,gBAAgB;MAChBG;KACwB;EAC5B,CAAC,CAAC;AACJ;AASA,SAASyC,YAAYA,CAAC3G,MAAc,EAAEwG,OAAsC;EAC1E,MAAM;IAAE3E,OAAO;IAAEX;EAAQ,CAAE,GAAGlB,MAAM;EACpC,MAAMmH,eAAe,GAAGjI,MAAM,CAACE,wBAAwB,CAACF,MAAM,CAACkI,cAAc,CAACvF,OAAO,CAAC,EAAE,OAAO,CAAC;EAEhG,MAAMwF,OAAO,GAAG;IACdN,SAAS,EAAElF,OAAO,CAACkF,SAAS,CAACO,IAAI,CAACzF,OAAO,CAAC;IAC1CoF,YAAY,EAAEpF,OAAO,CAACoF,YAAY,CAACK,IAAI,CAACzF,OAAO,CAAC;IAChDqF,EAAE,EAAErF,OAAO,CAACqF,EAAE,CAACI,IAAI,CAACzF,OAAO,CAAC;IAC5B0F,IAAI,EAAE1F,OAAO,CAAC0F,IAAI,CAACD,IAAI,CAACzF,OAAO,CAAC;IAChC2F,OAAO,EAAE3F,OAAO,CAAC2F,OAAO,CAACF,IAAI,CAACzF,OAAO;GACtC;EACD,MAAMoE,QAAQ,GAAGkB,eAAe,EAAErI,GAAG,EAAEwI,IAAI,CAACzF,OAAO,CAAC;EAEpD,MAAM4E,QAAQ,GAAY;IACxB,IAAIvG,MAAMA,CAAA;MACR,OAAO2B,OAAO,CAAC3B,MAAM;IACvB,CAAC;IACD,IAAIuH,iBAAiBA,CAAA;MACnB,OAAO5F,OAAO,CAAC4F,iBAAiB;IAClC,CAAC;IACD,IAAIA,iBAAiBA,CAACC,IAAI;MACxB7F,OAAO,CAAC4F,iBAAiB,GAAGC,IAAI;IAClC,CAAC;IACD,IAAI5F,KAAKA,CAAA;MACP,OAAOmE,QAAQ,GAAE,CAAE,IAAIpE,OAAO,CAACC,KAAK;IACtC,CAAC;IACD,GAAGuF,OAAO;IACVN,SAASA,CAACY,IAAI,EAAExD,CAAC,EAAE1C,GAAG;MACpB,IAAI,CAAC0F,eAAe,EAAE;QACpB;QAAEtF,OAAe,CAACC,KAAK,GAAG6F,IAAI;MAChC;MAEA,OAAON,OAAO,CAACN,SAAS,CAACY,IAAI,EAAExD,CAAC,EAAE1C,GAAG,CAAC;IACxC,CAAC;IACDwF,YAAYA,CAACU,IAAI,EAAExD,CAAC,EAAE1C,GAAG;MACvB,IAAI,CAAC0F,eAAe,EAAE;QACpB;QAAEtF,OAAe,CAACC,KAAK,GAAG6F,IAAI;MAChC;MAEA,OAAON,OAAO,CAACJ,YAAY,CAACU,IAAI,EAAExD,CAAC,EAAE1C,GAAG,CAAC;IAC3C;GACD;EAEDI,OAAO,CAACkF,SAAS,GAAG,CAACjF,KAAK,EAAEqC,CAAC,EAAE1C,GAAG,KAAI;IACpC,IAAIA,GAAG,EAAE;MACP+E,OAAO,CAAC;QAAEjF,IAAI,EAAE,WAAW;QAAEO,KAAK;QAAEL,GAAG,EAAE,IAAAmG,cAAM,EAAC1G,QAAQ,CAACC,MAAM,EAAEM,GAAG,CAAC;QAAEC,UAAU,EAAE;MAAK,CAAE,CAAC;IAC7F,CAAC,MAAM;MACL8E,OAAO,CAAC;QAAEjF,IAAI,EAAE,cAAc;QAAEO,KAAK;QAAEL,GAAG,EAAE1D,MAAM,CAACsF,IAAI,EAAE;QAAE3B,UAAU,EAAE;MAAK,CAAE,CAAC;IACjF;EACF,CAAC;EACDG,OAAO,CAACoF,YAAY,GAAG,CAACnF,KAAK,EAAEqC,CAAC,EAAE1C,GAAG,KAAI;IACvC+E,OAAO,CAAC;MACNjF,IAAI,EAAE,cAAc;MACpBO,KAAK;MACLL,GAAG,EAAEA,GAAG,GAAG1D,MAAM,CAAC8J,IAAI,CAAC,IAAAD,cAAM,EAAC1G,QAAQ,CAACC,MAAM,EAAEM,GAAG,CAAC,CAAC,GAAG1D,MAAM,CAACsF,IAAI,EAAE;MACpE3B,UAAU,EAAE;KACb,CAAC;EACJ,CAAC;EACDG,OAAO,CAACqF,EAAE,GAAI5E,KAAK,IAAI;IACrB,IAAIA,KAAK,IAAIA,KAAK,KAAK,CAAC,EAAE;MACxBkE,OAAO,CAAC;QAAEjF,IAAI,EAAE,UAAU;QAAEe,KAAK;QAAEZ,UAAU,EAAE;MAAK,CAAE,CAAC;IACzD;EACF,CAAC;EACDG,OAAO,CAAC0F,IAAI,GAAG,MAAK;IAClBf,OAAO,CAAC;MAAEjF,IAAI,EAAE,UAAU;MAAEe,KAAK,EAAE,CAAC,CAAC;MAAEZ,UAAU,EAAE;IAAK,CAAE,CAAC;EAC7D,CAAC;EACDG,OAAO,CAAC2F,OAAO,GAAG,MAAK;IACrBhB,OAAO,CAAC;MAAEjF,IAAI,EAAE,UAAU;MAAEe,KAAK,EAAE,CAAC;MAAEZ,UAAU,EAAE;IAAK,CAAE,CAAC;EAC5D,CAAC;EAED;EACA,IAAIyF,eAAe,EAAE;IACnB,IAAI;MACFjI,MAAM,CAACC,cAAc,CAAC0C,OAAO,EAAE,OAAO,EAAE;QACtC/C,GAAGA,CAAA;UACD,OAAO,IAAAgJ,wBAAgB,EAACX,eAAe,CAACrI,GAAI,CAACS,IAAI,CAACsC,OAAO,CAAC,CAAC;QAC7D;OACD,CAAC;IACJ,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEA,MAAMkG,YAAY,GAAIrC,EAAmB,IAAI;IAC3Cc,OAAO,CAAC;MAAEjF,IAAI,EAAE,cAAc;MAAEO,KAAK,EAAED,OAAO,CAACC,KAAK;MAAEL,GAAG,EAAE1D,MAAM,CAAC8J,IAAI,CAAC,IAAI7B,GAAG,CAACN,EAAE,CAACsC,MAAM,CAAC,CAAC;MAAEtG,UAAU,EAAE;IAAK,CAAE,CAAC;EAClH,CAAC;EAED1B,MAAM,CAACyF,gBAAgB,CAAC,YAAY,EAAEsC,YAAY,EAAE;IAAEE,OAAO,EAAE;EAAI,CAAE,CAAC;EAEtE,MAAMC,UAAU,GAAIxC,EAAiB,IAAI;IACvC,IAAI,IAAAyC,sBAAc,EAACzC,EAAE,CAAC5D,KAAK,CAAC,EAAE;MAC5B0E,OAAO,CAAC;QAAEjF,IAAI,EAAE,YAAY;QAAEkB,GAAG,EAAEiD,EAAE,CAAC5D,KAAK,CAACW,GAAG;QAAEX,KAAK,EAAE4D,EAAE,CAAC5D,KAAK,CAACkF,oBAAoB;QAAEtF,UAAU,EAAE;MAAI,CAAE,CAAC;IAC5G,CAAC,MAAM;MACL8E,OAAO,CAAC;QAAEjF,IAAI,EAAE,cAAc;QAAEO,KAAK,EAAE4D,EAAE,CAAC5D,KAAK;QAAEL,GAAG,EAAE1D,MAAM,CAAC8J,IAAI,CAAC,IAAI7B,GAAG,CAAC9E,QAAQ,CAAC8B,IAAI,CAAC,CAAC;QAAEtB,UAAU,EAAE;MAAI,CAAE,CAAC;IAChH;EACF,CAAC;EAED1B,MAAM,CAACyF,gBAAgB,CAAC,UAAU,EAAEyC,UAAU,EAAE;IAAED,OAAO,EAAE;EAAI,CAAE,CAAC;EAElE,MAAMvB,OAAO,GAAG5I,MAAM,CAACqC,IAAI,CAAC,MAAK;IAC/B0B,OAAO,CAACkF,SAAS,GAAGN,QAAQ,CAACM,SAAS;IACtClF,OAAO,CAACoF,YAAY,GAAGR,QAAQ,CAACQ,YAAY;IAC5CpF,OAAO,CAACqF,EAAE,GAAGT,QAAQ,CAACS,EAAE;IACxBrF,OAAO,CAAC0F,IAAI,GAAGd,QAAQ,CAACc,IAAI;IAC5B1F,OAAO,CAAC2F,OAAO,GAAGf,QAAQ,CAACe,OAAO;IAElC,IAAIL,eAAe,EAAE;MACnB,IAAI;QACFjI,MAAM,CAACC,cAAc,CAAC0C,OAAO,EAAE,OAAO,EAAEsF,eAAe,CAAC;MAC1D,CAAC,CAAC,MAAM;QACN;MAAA;IAEJ;IAEAnH,MAAM,CAACoI,mBAAmB,CAAC,YAAY,EAAEL,YAAY,CAAC;IACtD/H,MAAM,CAACoI,mBAAmB,CAAC,UAAU,EAAEF,UAAU,CAAC;EACpD,CAAC,CAAC;EAEF,OAAO;IACLzB,QAAQ;IACR4B,OAAO,EAAExG,OAAO;IAChB6E;GACQ;AACZ;AASA,SAASjG,aAAaA,CAAA;EACpB,OAAO3C,MAAM,CAACmF,GAAG,CAACnF,MAAM,CAACwK,OAAO,EAAmB,EAAGA,OAAO,IAAI;IAC/D,MAAMC,KAAK,GAAG7K,OAAO,CAACoB,GAAG,CAACwJ,OAAO,CAACE,OAAO,EAAEvK,KAAK,CAACA,KAAK,CAAC;IACvD,MAAMwK,OAAO,GAAGzK,OAAO,CAACyK,OAAO,CAACH,OAAO,CAAC;IACxC,MAAM9H,UAAU,GAAUkI,MAA4C,IACpE,IAAIC,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAI;MAC9B,MAAMC,KAAK,GAAGL,OAAO,CAACC,MAAM,EAAE;QAAEH;MAAK,CAAE,CAAC;MACxCO,KAAK,CAACC,WAAW,CAAC5K,IAAI,CAACmH,KAAK,CAAC;QAC3B0D,SAAS,EAAGC,KAAK,IAAKJ,MAAM,CAAC7K,OAAO,CAACkL,gBAAgB,CAACD,KAAK,CAAC,CAAC;QAC7DE,SAAS,EAAEP;OACZ,CAAC,CAAC;IACL,CAAC,CAAC;IAEJ,OAAO;MACLN,OAAO;MACPC,KAAK,EAAE7K,OAAO,CAAC0L,SAAS,CAACd,OAAO,CAACE,OAAO,EAAEvK,KAAK,CAACA,KAAK,CAAC;MACtDsC,GAAG,EAAG8I,GAAG,IAAKZ,OAAO,CAACY,GAAG,EAAE;QAAEd;MAAK,CAAE,CAAC;MACrC/H;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":[]}
|