@darajs/core 1.21.0 → 1.21.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/dist/api/core.d.ts +8 -1
- package/dist/api/core.d.ts.map +1 -1
- package/dist/api/core.js +4 -1
- package/dist/api/core.js.map +1 -1
- package/dist/components/link.d.ts +1 -1
- package/dist/components/link.d.ts.map +1 -1
- package/dist/components/link.js +49 -5
- package/dist/components/link.js.map +1 -1
- package/dist/{dara_core-1.21.0-py3-none-any.whl → dara_core-1.21.1-py3-none-any.whl} +0 -0
- package/dist/router/cache.d.ts +19 -0
- package/dist/router/cache.d.ts.map +1 -0
- package/dist/router/cache.js +56 -0
- package/dist/router/cache.js.map +1 -0
- package/dist/router/context.d.ts +17 -0
- package/dist/router/context.d.ts.map +1 -0
- package/dist/router/context.js +21 -0
- package/dist/router/context.js.map +1 -0
- package/dist/router/create-router.d.ts +22 -0
- package/dist/router/create-router.d.ts.map +1 -0
- package/dist/{shared/router.js → router/create-router.js} +24 -13
- package/dist/router/create-router.js.map +1 -0
- package/dist/router/fetching.d.ts +115 -0
- package/dist/router/fetching.d.ts.map +1 -0
- package/dist/router/fetching.js +280 -0
- package/dist/router/fetching.js.map +1 -0
- package/dist/router/index.d.ts +7 -0
- package/dist/router/index.d.ts.map +1 -0
- package/dist/router/index.js +7 -0
- package/dist/router/index.js.map +1 -0
- package/dist/router/route-content.d.ts +16 -0
- package/dist/router/route-content.d.ts.map +1 -0
- package/dist/router/route-content.js +112 -0
- package/dist/router/route-content.js.map +1 -0
- package/dist/router/router-root.d.ts +7 -0
- package/dist/router/router-root.d.ts.map +1 -0
- package/dist/router/router-root.js +15 -0
- package/dist/router/router-root.js.map +1 -0
- package/dist/run.d.ts +12 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +9 -16
- package/dist/run.js.map +1 -1
- package/dist/shared/interactivity/derived-variable.d.ts +62 -17
- package/dist/shared/interactivity/derived-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/derived-variable.js +162 -96
- package/dist/shared/interactivity/derived-variable.js.map +1 -1
- package/dist/shared/interactivity/persistence.js +2 -2
- package/dist/shared/interactivity/persistence.js.map +1 -1
- package/dist/shared/interactivity/plain-variable.js +2 -2
- package/dist/shared/interactivity/plain-variable.js.map +1 -1
- package/dist/shared/interactivity/store.d.ts +0 -1
- package/dist/shared/interactivity/store.d.ts.map +1 -1
- package/dist/shared/interactivity/store.js.map +1 -1
- package/dist/shared/interactivity/tabular-variable.d.ts.map +1 -1
- package/dist/shared/interactivity/tabular-variable.js +5 -2
- package/dist/shared/interactivity/tabular-variable.js.map +1 -1
- package/dist/shared/interactivity/triggers.d.ts +7 -2
- package/dist/shared/interactivity/triggers.d.ts.map +1 -1
- package/dist/shared/interactivity/triggers.js +15 -2
- package/dist/shared/interactivity/triggers.js.map +1 -1
- package/dist/shared/interactivity/use-server-component.d.ts +4 -1
- package/dist/shared/interactivity/use-server-component.d.ts.map +1 -1
- package/dist/shared/interactivity/use-server-component.js +107 -38
- package/dist/shared/interactivity/use-server-component.js.map +1 -1
- package/dist/shared/interactivity/use-variable.js +1 -1
- package/dist/shared/interactivity/use-variable.js.map +1 -1
- package/dist/shared/root/authenticated-root.js +1 -1
- package/dist/shared/root/authenticated-root.js.map +1 -1
- package/dist/shared/utils/deferred.d.ts +10 -0
- package/dist/shared/utils/deferred.d.ts.map +1 -0
- package/dist/shared/utils/deferred.js +13 -0
- package/dist/shared/utils/deferred.js.map +1 -0
- package/dist/shared/utils/index.d.ts +1 -0
- package/dist/shared/utils/index.d.ts.map +1 -1
- package/dist/shared/utils/index.js +1 -0
- package/dist/shared/utils/index.js.map +1 -1
- package/dist/types/core.d.ts +18 -11
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js +5 -0
- package/dist/types/core.js.map +1 -1
- package/dist/types/utils.d.ts +2 -2
- package/dist/types/utils.d.ts.map +1 -1
- package/dist/types/utils.js.map +1 -1
- package/dist/umd/dara.core.umd.cjs +61046 -57648
- package/package.json +11 -10
- package/dist/shared/root/route-content.d.ts +0 -21
- package/dist/shared/root/route-content.d.ts.map +0 -1
- package/dist/shared/root/route-content.js +0 -164
- package/dist/shared/root/route-content.js.map +0 -1
- package/dist/shared/router.d.ts +0 -14
- package/dist/shared/router.d.ts.map +0 -1
- package/dist/shared/router.js.map +0 -1
package/dist/api/core.d.ts
CHANGED
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
import { type RequestExtras } from './http';
|
|
2
|
+
type TaskResult<T> = {
|
|
3
|
+
status: 'not_found';
|
|
4
|
+
} | {
|
|
5
|
+
status: 'ok';
|
|
6
|
+
result: T;
|
|
7
|
+
};
|
|
2
8
|
/**
|
|
3
9
|
* Fetch the result of a task from the backend by it's id
|
|
4
10
|
*
|
|
5
11
|
* @param taskId the id of the task to fetch
|
|
6
12
|
* @param token the session token to use
|
|
7
13
|
*/
|
|
8
|
-
export declare function fetchTaskResult<T>(taskId: string, extras: RequestExtras): Promise<T
|
|
14
|
+
export declare function fetchTaskResult<T>(taskId: string, extras: RequestExtras): Promise<TaskResult<T>>;
|
|
9
15
|
/**
|
|
10
16
|
* Cancel a task by it's id
|
|
11
17
|
*
|
|
@@ -13,4 +19,5 @@ export declare function fetchTaskResult<T>(taskId: string, extras: RequestExtras
|
|
|
13
19
|
* @param token the session token to use
|
|
14
20
|
*/
|
|
15
21
|
export declare function cancelTask(taskId: string, extras: RequestExtras): Promise<boolean>;
|
|
22
|
+
export {};
|
|
16
23
|
//# sourceMappingURL=core.d.ts.map
|
package/dist/api/core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../js/api/core.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAW,MAAM,QAAQ,CAAC;AAErD;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../js/api/core.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,aAAa,EAAW,MAAM,QAAQ,CAAC;AAErD,KAAK,UAAU,CAAC,CAAC,IAAI;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,CAAC;AAE3E;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAiBtG;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAKxF"}
|
package/dist/api/core.js
CHANGED
|
@@ -20,12 +20,15 @@ export function fetchTaskResult(taskId, extras) {
|
|
|
20
20
|
return __awaiter(this, void 0, void 0, function* () {
|
|
21
21
|
const res = yield request(`/api/core/tasks/${taskId}`, { method: HTTP_METHOD.GET }, extras);
|
|
22
22
|
yield handleAuthErrors(res, true);
|
|
23
|
+
if (res.status === 404) {
|
|
24
|
+
return { status: 'not_found' };
|
|
25
|
+
}
|
|
23
26
|
yield validateResponse(res, `Failed to fetch the result of task with id: ${taskId}`);
|
|
24
27
|
const resJson = yield res.json();
|
|
25
28
|
if (typeof resJson === 'object' && 'error' in resJson) {
|
|
26
29
|
throw new Error(resJson.error);
|
|
27
30
|
}
|
|
28
|
-
return resJson;
|
|
31
|
+
return { status: 'ok', result: resJson };
|
|
29
32
|
});
|
|
30
33
|
}
|
|
31
34
|
/**
|
package/dist/api/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../js/api/core.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAsB,OAAO,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../js/api/core.tsx"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAsB,OAAO,EAAE,MAAM,QAAQ,CAAC;AAIrD;;;;;GAKG;AACH,MAAM,UAAgB,eAAe,CAAI,MAAc,EAAE,MAAqB;;QAC1E,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,mBAAmB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;QAC5F,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAElC,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACrB,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,gBAAgB,CAAC,GAAG,EAAE,+CAA+C,MAAM,EAAE,CAAC,CAAC;QAErF,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAEjC,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7C,CAAC;CAAA;AAED;;;;;GAKG;AACH,MAAM,UAAgB,UAAU,CAAC,MAAc,EAAE,MAAqB;;QAClE,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,mBAAmB,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;QAC/F,MAAM,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,MAAM,gBAAgB,CAAC,GAAG,EAAE,kCAAkC,MAAM,EAAE,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC;IAChB,CAAC;CAAA"}
|
|
@@ -5,7 +5,7 @@ export interface LinkProps extends StyledComponentProps {
|
|
|
5
5
|
className?: string;
|
|
6
6
|
case_sensitive: boolean;
|
|
7
7
|
children: Array<ComponentInstance>;
|
|
8
|
-
prefetch
|
|
8
|
+
prefetch?: boolean;
|
|
9
9
|
relative: NavLinkProps['relative'];
|
|
10
10
|
replace: NavLinkProps['replace'];
|
|
11
11
|
to: NavLinkProps['to'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../js/components/link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../js/components/link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,cAAc,CAAC;AAO1D,OAAO,KAAK,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEvE,MAAM,WAAW,SAAU,SAAQ,oBAAoB;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,YAAY,CAAC,UAAU,CAAC,CAAC;IACnC,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,EAAE,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAGvB,UAAU,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAE7C,YAAY,CAAC,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC/C,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;CAC5B;AAyCD,iBAAS,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,SAAS,CAwF/C;AAED,eAAe,IAAI,CAAC"}
|
package/dist/components/link.js
CHANGED
|
@@ -13,11 +13,12 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
13
13
|
import * as React from 'react';
|
|
14
14
|
import { NavLink } from 'react-router';
|
|
15
15
|
import styled from 'styled-components';
|
|
16
|
+
import { usePreloadRoute } from '../router/fetching';
|
|
16
17
|
import { DisplayCtx } from '../shared/context';
|
|
17
18
|
import DynamicComponent from '../shared/dynamic-component/dynamic-component';
|
|
18
19
|
import useComponentStyles from '../shared/utils/use-component-styles';
|
|
19
20
|
const NavLinkWrapper = React.forwardRef((props, ref) => {
|
|
20
|
-
const { to, className, style, activeStyle, inactiveStyle } = props, rest = __rest(props, ["to", "className", "style", "activeStyle", "inactiveStyle"]);
|
|
21
|
+
const { to, className, style, activeStyle, inactiveStyle, prefetch } = props, rest = __rest(props, ["to", "className", "style", "activeStyle", "inactiveStyle", "prefetch"]);
|
|
21
22
|
return (_jsx(NavLink, Object.assign({ ref: ref, to: to, className: className, style: ({ isActive }) => {
|
|
22
23
|
return Object.assign(Object.assign({}, style), (isActive ? activeStyle : inactiveStyle));
|
|
23
24
|
} }, rest, { children: props.children })));
|
|
@@ -36,10 +37,53 @@ function Link(props) {
|
|
|
36
37
|
const [style, css] = useComponentStyles(props);
|
|
37
38
|
const [activeStyle, activeCss] = useComponentStyles(props, true, 'active_css');
|
|
38
39
|
const [inactiveStyle, inactiveCss] = useComponentStyles(props, false, 'inactive_css');
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
40
|
+
// Prefetching approach inspired by SolidJS's router:
|
|
41
|
+
// https://github.com/solidjs/solid-router/blob/30f08665e87829736a9333d55863d27905f4a92d/src/data/events.ts#L7
|
|
42
|
+
const preloadRoute = usePreloadRoute();
|
|
43
|
+
const preloadTimeoutRef = React.useRef(null);
|
|
44
|
+
// Clear any existing timeout
|
|
45
|
+
const clearPreloadTimeout = React.useCallback(() => {
|
|
46
|
+
if (preloadTimeoutRef.current !== null) {
|
|
47
|
+
clearTimeout(preloadTimeoutRef.current);
|
|
48
|
+
preloadTimeoutRef.current = null;
|
|
49
|
+
}
|
|
50
|
+
}, []);
|
|
51
|
+
// Immediate preload (for focus/touch events)
|
|
52
|
+
const handleImmediatePreload = React.useCallback(() => {
|
|
53
|
+
if (!props.prefetch) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
preloadRoute(props.to);
|
|
57
|
+
}, [props.prefetch, preloadRoute, props.to]);
|
|
58
|
+
// Delayed preload (for mouse move events)
|
|
59
|
+
const handleDelayedPreload = React.useCallback(() => {
|
|
60
|
+
if (!props.prefetch) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
// Clear any existing timeout
|
|
64
|
+
clearPreloadTimeout();
|
|
65
|
+
// Set timeout for delayed preload (20ms)
|
|
66
|
+
preloadTimeoutRef.current = window.setTimeout(() => {
|
|
67
|
+
preloadRoute(props.to);
|
|
68
|
+
}, 20);
|
|
69
|
+
}, [props.prefetch, props.to, clearPreloadTimeout, preloadRoute]);
|
|
70
|
+
// Event handlers
|
|
71
|
+
const handleMouseMove = React.useCallback(() => {
|
|
72
|
+
handleDelayedPreload();
|
|
73
|
+
}, [handleDelayedPreload]);
|
|
74
|
+
const handleFocus = React.useCallback(() => {
|
|
75
|
+
handleImmediatePreload();
|
|
76
|
+
}, [handleImmediatePreload]);
|
|
77
|
+
const handleTouchStart = React.useCallback(() => {
|
|
78
|
+
handleImmediatePreload();
|
|
79
|
+
}, [handleImmediatePreload]);
|
|
80
|
+
// Cleanup timeout on unmount
|
|
81
|
+
React.useEffect(() => {
|
|
82
|
+
return () => {
|
|
83
|
+
clearPreloadTimeout();
|
|
84
|
+
};
|
|
85
|
+
}, [clearPreloadTimeout]);
|
|
86
|
+
return (_jsx(DisplayCtx.Provider, { value: { component: 'anchor', direction: displayCtx.direction }, children: _jsx(StyledNavLink, { id: props.id_, className: props.className, to: props.to, end: props.end, caseSensitive: props.case_sensitive, replace: props.replace, relative: props.relative, "$activeCss": css + activeCss, "$inactiveCss": css + inactiveCss, style: style, activeStyle: activeStyle, inactiveStyle: inactiveStyle, onMouseMove: props.prefetch ? handleMouseMove : undefined, onFocus: props.prefetch ? handleFocus : undefined, onTouchStart: props.prefetch ? handleTouchStart : undefined, children: props.children.map((child, idx) => (_jsx(DynamicComponent, { component: child }, idx))) }) }));
|
|
43
87
|
}
|
|
44
88
|
export default Link;
|
|
45
89
|
//# sourceMappingURL=link.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../js/components/link.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAqB,MAAM,cAAc,CAAC;AAC1D,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,gBAAgB,MAAM,8CAA8C,CAAC;AAC5E,OAAO,kBAAkB,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"link.js","sourceRoot":"","sources":["../../js/components/link.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAqB,MAAM,cAAc,CAAC;AAC1D,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,gBAAgB,MAAM,8CAA8C,CAAC;AAC5E,OAAO,kBAAkB,MAAM,qCAAqC,CAAC;AAmBrE,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CACnC,CACI,KAIC,EACD,GAAiC,EACnC,EAAE;IACA,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,KAAc,KAAK,EAAd,IAAI,UAAK,KAAK,EAA/E,wEAAuE,CAAQ,CAAC;IACtF,OAAO,CACH,KAAC,OAAO,kBACJ,GAAG,EAAE,GAAG,EACR,EAAE,EAAE,EAAE,EACN,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;YACpB,uCACO,KAAK,GACL,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,EAC7C;QACN,CAAC,IACG,IAAI,cAEP,KAAK,CAAC,QAAQ,IACT,CACb,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,MAAM,aAAa,GAAG,MAAM,CAAC,cAAc,CAAC,CAA8C;;UAEhF,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU;;;;UAI3B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY;;CAEtC,CAAC;AAEF,SAAS,IAAI,CAAC,KAAgB;IAC1B,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAChD,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IAC/E,MAAM,CAAC,aAAa,EAAE,WAAW,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IAEtF,qDAAqD;IACrD,8GAA8G;IAC9G,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,MAAM,iBAAiB,GAAG,KAAK,CAAC,MAAM,CAAgB,IAAI,CAAC,CAAC;IAE5D,6BAA6B;IAC7B,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC/C,IAAI,iBAAiB,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACrC,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YACxC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC;QACrC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,6CAA6C;IAC7C,MAAM,sBAAsB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAClD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QAED,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAE7C,0CAA0C;IAC1C,MAAM,oBAAoB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAChD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO;QACX,CAAC;QAED,6BAA6B;QAC7B,mBAAmB,EAAE,CAAC;QAEtB,yCAAyC;QACzC,iBAAiB,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE;YAC/C,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC,EAAE,EAAE,CAAC,CAAC;IACX,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE,mBAAmB,EAAE,YAAY,CAAC,CAAC,CAAC;IAElE,iBAAiB;IACjB,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC3C,oBAAoB,EAAE,CAAC;IAC3B,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACvC,sBAAsB,EAAE,CAAC;IAC7B,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAE7B,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC5C,sBAAsB,EAAE,CAAC;IAC7B,CAAC,EAAE,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAE7B,6BAA6B;IAC7B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACjB,OAAO,GAAG,EAAE;YACR,mBAAmB,EAAE,CAAC;QAC1B,CAAC,CAAC;IACN,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAE1B,OAAO,CACH,KAAC,UAAU,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,CAAC,SAAS,EAAE,YAChF,KAAC,aAAa,IACV,EAAE,EAAE,KAAK,CAAC,GAAG,EACb,SAAS,EAAE,KAAK,CAAC,SAAS,EAC1B,EAAE,EAAE,KAAK,CAAC,EAAE,EACZ,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,aAAa,EAAE,KAAK,CAAC,cAAc,EACnC,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ,gBACZ,GAAG,GAAG,SAAS,kBACb,GAAG,GAAG,WAAW,EAC/B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,EACzD,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,EACjD,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,YAE1D,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAChC,KAAC,gBAAgB,IAAC,SAAS,EAAE,KAAK,IAAO,GAAG,CAAI,CACnD,CAAC,GACU,GACE,CACzB,CAAC;AACN,CAAC;AAED,eAAe,IAAI,CAAC"}
|
|
Binary file
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface CacheOptions {
|
|
2
|
+
defaultTimeout?: number;
|
|
3
|
+
}
|
|
4
|
+
export declare class SingleUseCache<T> {
|
|
5
|
+
private cache;
|
|
6
|
+
private readonly defaultTimeout;
|
|
7
|
+
constructor(options?: CacheOptions);
|
|
8
|
+
private isEntryStale;
|
|
9
|
+
has(key: string, timeout?: number): boolean;
|
|
10
|
+
get(key: string, timeout?: number): Promise<T> | undefined;
|
|
11
|
+
set(key: string, value: Promise<T>): void;
|
|
12
|
+
delete(key: string): boolean;
|
|
13
|
+
clear(): void;
|
|
14
|
+
setIfMissing(key: string, computeFn: () => Promise<T>, timeout?: number): void;
|
|
15
|
+
size(): number;
|
|
16
|
+
keys(): IterableIterator<string>;
|
|
17
|
+
entries(): Array<[string, T | Promise<T>]>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../js/router/cache.tsx"],"names":[],"mappings":"AAKA,MAAM,WAAW,YAAY;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,cAAc,CAAC,CAAC;IACzB,OAAO,CAAC,KAAK,CAAoC;IAEjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;gBAE5B,OAAO,GAAE,YAAiB;IAItC,OAAO,CAAC,YAAY;IAKpB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO;IAK3C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,SAAS;IAU1D,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;IAOzC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI5B,KAAK,IAAI,IAAI;IAIb,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI;IAY9E,IAAI,IAAI,MAAM;IAId,IAAI,IAAI,gBAAgB,CAAC,MAAM,CAAC;IAIhC,OAAO,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;CAG7C"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export class SingleUseCache {
|
|
2
|
+
constructor(options = {}) {
|
|
3
|
+
var _a;
|
|
4
|
+
this.cache = new Map();
|
|
5
|
+
this.defaultTimeout = (_a = options.defaultTimeout) !== null && _a !== void 0 ? _a : 5000;
|
|
6
|
+
}
|
|
7
|
+
isEntryStale(entry, timeout) {
|
|
8
|
+
const timeoutMs = timeout !== null && timeout !== void 0 ? timeout : this.defaultTimeout;
|
|
9
|
+
return Date.now() - entry.timestamp > timeoutMs;
|
|
10
|
+
}
|
|
11
|
+
has(key, timeout) {
|
|
12
|
+
const entry = this.cache.get(key);
|
|
13
|
+
return entry ? !this.isEntryStale(entry, timeout) : false;
|
|
14
|
+
}
|
|
15
|
+
get(key, timeout) {
|
|
16
|
+
const entry = this.cache.get(key);
|
|
17
|
+
if (!entry || this.isEntryStale(entry, timeout)) {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
// Single use
|
|
21
|
+
this.delete(key);
|
|
22
|
+
return entry.data;
|
|
23
|
+
}
|
|
24
|
+
set(key, value) {
|
|
25
|
+
this.cache.set(key, {
|
|
26
|
+
data: value,
|
|
27
|
+
timestamp: Date.now(),
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
delete(key) {
|
|
31
|
+
return this.cache.delete(key);
|
|
32
|
+
}
|
|
33
|
+
clear() {
|
|
34
|
+
this.cache.clear();
|
|
35
|
+
}
|
|
36
|
+
setIfMissing(key, computeFn, timeout) {
|
|
37
|
+
// Check cache first WITHOUT consuming it - just check if valid entry exists
|
|
38
|
+
const entry = this.cache.get(key);
|
|
39
|
+
if (entry && !this.isEntryStale(entry, timeout)) {
|
|
40
|
+
return; // Already cached and valid, nothing to do
|
|
41
|
+
}
|
|
42
|
+
// Create new computation and store it
|
|
43
|
+
const promise = computeFn();
|
|
44
|
+
this.set(key, promise);
|
|
45
|
+
}
|
|
46
|
+
size() {
|
|
47
|
+
return this.cache.size;
|
|
48
|
+
}
|
|
49
|
+
keys() {
|
|
50
|
+
return this.cache.keys();
|
|
51
|
+
}
|
|
52
|
+
entries() {
|
|
53
|
+
return Array.from(this.cache.entries()).map(([key, entry]) => [key, entry.data]);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../js/router/cache.tsx"],"names":[],"mappings":"AASA,MAAM,OAAO,cAAc;IAKvB,YAAY,UAAwB,EAAE;;QAJ9B,UAAK,GAAG,IAAI,GAAG,EAAyB,CAAC;QAK7C,IAAI,CAAC,cAAc,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,IAAI,CAAC;IACzD,CAAC;IAEO,YAAY,CAAC,KAAoB,EAAE,OAAgB;QACvD,MAAM,SAAS,GAAG,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,IAAI,CAAC,cAAc,CAAC;QACjD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,OAAgB;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC9D,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,OAAgB;QAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAC9C,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,aAAa;QACb,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjB,OAAO,KAAK,CAAC,IAAI,CAAC;IACtB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAiB;QAC9B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;YAChB,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACxB,CAAC,CAAC;IACP,CAAC;IAED,MAAM,CAAC,GAAW;QACd,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,YAAY,CAAC,GAAW,EAAE,SAA2B,EAAE,OAAgB;QACnE,4EAA4E;QAC5E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC;YAC9C,OAAO,CAAC,0CAA0C;QACtD,CAAC;QAED,sCAAsC;QACtC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;IAC3B,CAAC;IAED,IAAI;QACA,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,OAAO;QACH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF,CAAC;CACJ"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type RouteObject } from 'react-router';
|
|
3
|
+
import { type RouteDefinition } from '../types';
|
|
4
|
+
interface RouterContextValue {
|
|
5
|
+
routeDefinitions: RouteDefinition[];
|
|
6
|
+
routeObjects: RouteObject[];
|
|
7
|
+
routeDefMap: Map<string, RouteDefinition>;
|
|
8
|
+
}
|
|
9
|
+
export declare function RouterContextProvider({ children, routeDefinitions, routeObjects, routeDefMap, }: {
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
routeDefinitions: RouteDefinition[];
|
|
12
|
+
routeObjects: RouteObject[];
|
|
13
|
+
routeDefMap: Map<string, RouteDefinition>;
|
|
14
|
+
}): React.ReactElement;
|
|
15
|
+
export declare function useRouterContext(): RouterContextValue;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../js/router/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,UAAU,kBAAkB;IACxB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AAID,wBAAgB,qBAAqB,CAAC,EAClC,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,WAAW,GACd,EAAE;IACC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C,GAAG,KAAK,CAAC,YAAY,CAWrB;AAED,wBAAgB,gBAAgB,IAAI,kBAAkB,CAMrD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import {} from 'react-router';
|
|
4
|
+
import {} from '../types';
|
|
5
|
+
const RouterContext = React.createContext(null);
|
|
6
|
+
export function RouterContextProvider({ children, routeDefinitions, routeObjects, routeDefMap, }) {
|
|
7
|
+
const value = React.useMemo(() => ({
|
|
8
|
+
routeDefinitions,
|
|
9
|
+
routeObjects,
|
|
10
|
+
routeDefMap,
|
|
11
|
+
}), [routeDefinitions, routeObjects, routeDefMap]);
|
|
12
|
+
return _jsx(RouterContext.Provider, { value: value, children: children });
|
|
13
|
+
}
|
|
14
|
+
export function useRouterContext() {
|
|
15
|
+
const context = React.useContext(RouterContext);
|
|
16
|
+
if (!context) {
|
|
17
|
+
throw new Error('useRouterContext must be used within a RouterContextProvider');
|
|
18
|
+
}
|
|
19
|
+
return context;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../js/router/context.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAoB,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAwB,MAAM,SAAS,CAAC;AAQ/C,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAA4B,IAAI,CAAC,CAAC;AAE3E,MAAM,UAAU,qBAAqB,CAAC,EAClC,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,WAAW,GAMd;IACG,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CACvB,GAAG,EAAE,CAAC,CAAC;QACH,gBAAgB;QAChB,YAAY;QACZ,WAAW;KACd,CAAC,EACF,CAAC,gBAAgB,EAAE,YAAY,EAAE,WAAW,CAAC,CAChD,CAAC;IAEF,OAAO,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YAAG,QAAQ,GAA0B,CAAC;AACrF,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,CAAC;QACX,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACpF,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type RouteObject, createBrowserRouter } from 'react-router';
|
|
3
|
+
import type { Snapshot } from 'recoil';
|
|
4
|
+
import { type DaraData, type RouteDefinition } from '../types/core';
|
|
5
|
+
export declare function createRoute(route: RouteDefinition, snapshotRef: React.MutableRefObject<Snapshot>, routeDefMap: Map<string, RouteDefinition>): RouteObject;
|
|
6
|
+
/**
|
|
7
|
+
* Find the first navigatable path in the given routes.
|
|
8
|
+
* Walks the routes in a BFS and returns the first route with a path.
|
|
9
|
+
*/
|
|
10
|
+
export declare function findFirstPath(routes: RouteDefinition[]): string;
|
|
11
|
+
interface RouterWithRoutes {
|
|
12
|
+
router: ReturnType<typeof createBrowserRouter>;
|
|
13
|
+
routeDefinitions: RouteDefinition[];
|
|
14
|
+
routeObjects: RouteObject[];
|
|
15
|
+
routeDefMap: Map<string, RouteDefinition>;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Create the router for the application
|
|
19
|
+
*/
|
|
20
|
+
export declare function createRouter(config: DaraData, snapshotRef: React.MutableRefObject<Snapshot>): RouterWithRoutes;
|
|
21
|
+
export {};
|
|
22
|
+
//# sourceMappingURL=create-router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-router.d.ts","sourceRoot":"","sources":["../../js/router/create-router.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAY,KAAK,WAAW,EAAE,mBAAmB,EAAY,MAAM,cAAc,CAAC;AACzF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAMvC,OAAO,EACH,KAAK,QAAQ,EAKb,KAAK,eAAe,EACvB,MAAM,cAAc,CAAC;AAmCtB,wBAAgB,WAAW,CACvB,KAAK,EAAE,eAAe,EACtB,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAC7C,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GAC1C,WAAW,CA2Cb;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,CA4C/D;AASD,UAAU,gBAAgB;IACtB,MAAM,EAAE,UAAU,CAAC,OAAO,mBAAmB,CAAC,CAAC;IAC/C,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,gBAAgB,CA2F9G"}
|
|
@@ -19,16 +19,17 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
19
19
|
return t;
|
|
20
20
|
};
|
|
21
21
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
22
|
+
import * as React from 'react';
|
|
22
23
|
import { Navigate, createBrowserRouter, redirect } from 'react-router';
|
|
23
24
|
import { getSessionToken, resolveReferrer, verifySessionToken } from '../auth';
|
|
24
25
|
import { DefaultFallbackStatic } from '../components/fallback/default';
|
|
25
26
|
import ErrorStatusCodePage from '../pages/error-status-code-page';
|
|
26
27
|
import RouteErrorBoundary from '../pages/route-error-boundary';
|
|
27
28
|
import {} from '../types/core';
|
|
28
|
-
import DynamicAuthComponent from '
|
|
29
|
-
import AuthenticatedRoot from '
|
|
30
|
-
import
|
|
31
|
-
import
|
|
29
|
+
import DynamicAuthComponent from '../shared/dynamic-component/dynamic-auth-component';
|
|
30
|
+
import AuthenticatedRoot from '../shared/root/authenticated-root';
|
|
31
|
+
import UnauthenticatedRoot from '../shared/root/unauthenticated-root';
|
|
32
|
+
import RouteContent, { createRouteLoader } from './route-content';
|
|
32
33
|
/**
|
|
33
34
|
* Clean a single path segment by removing leading/trailing slashes
|
|
34
35
|
*/
|
|
@@ -54,7 +55,9 @@ function joinPaths(parentPath, childPath) {
|
|
|
54
55
|
}
|
|
55
56
|
return `/${cleanParent}/${cleanChild}`;
|
|
56
57
|
}
|
|
57
|
-
function createRoute(route,
|
|
58
|
+
export function createRoute(route, snapshotRef, routeDefMap) {
|
|
59
|
+
// Add to route definition map for quick lookup
|
|
60
|
+
routeDefMap.set(route.id, route);
|
|
58
61
|
const sharedProps = {
|
|
59
62
|
id: route.id,
|
|
60
63
|
caseSensitive: route.case_sensitive,
|
|
@@ -63,13 +66,13 @@ function createRoute(route, queryClient, snapshotRef) {
|
|
|
63
66
|
};
|
|
64
67
|
switch (route.__typename) {
|
|
65
68
|
case 'IndexRoute':
|
|
66
|
-
return Object.assign(Object.assign({}, sharedProps), { index: true, element: _jsx(RouteContent, { route: route }, route.id), loader: createRouteLoader(route,
|
|
69
|
+
return Object.assign(Object.assign({}, sharedProps), { index: true, element: _jsx(RouteContent, { route: route }, route.id), loader: createRouteLoader(route, snapshotRef) });
|
|
67
70
|
case 'PageRoute':
|
|
68
|
-
return Object.assign(Object.assign({}, sharedProps), { path: cleanPath(route.path), element: _jsx(RouteContent, { route: route }, route.id), loader: createRouteLoader(route,
|
|
71
|
+
return Object.assign(Object.assign({}, sharedProps), { path: cleanPath(route.path), element: _jsx(RouteContent, { route: route }, route.id), loader: createRouteLoader(route, snapshotRef), children: route.children.map((r) => createRoute(r, snapshotRef, routeDefMap)) });
|
|
69
72
|
case 'LayoutRoute':
|
|
70
|
-
return Object.assign(Object.assign({}, sharedProps), { element: _jsx(RouteContent, { route: route }, route.id), loader: createRouteLoader(route,
|
|
73
|
+
return Object.assign(Object.assign({}, sharedProps), { element: _jsx(RouteContent, { route: route }, route.id), loader: createRouteLoader(route, snapshotRef), children: route.children.map((r) => createRoute(r, snapshotRef, routeDefMap)) });
|
|
71
74
|
case 'PrefixRoute':
|
|
72
|
-
return Object.assign(Object.assign({}, sharedProps), { path: cleanPath(route.path), children: route.children.map((r) => createRoute(r,
|
|
75
|
+
return Object.assign(Object.assign({}, sharedProps), { path: cleanPath(route.path), children: route.children.map((r) => createRoute(r, snapshotRef, routeDefMap)) });
|
|
73
76
|
default:
|
|
74
77
|
throw new Error(`Unknown route type ${JSON.stringify(route)}`);
|
|
75
78
|
}
|
|
@@ -122,16 +125,18 @@ let verifiedToken = false;
|
|
|
122
125
|
/**
|
|
123
126
|
* Create the router for the application
|
|
124
127
|
*/
|
|
125
|
-
export function createRouter(config,
|
|
128
|
+
export function createRouter(config, snapshotRef) {
|
|
126
129
|
let basename = '';
|
|
127
130
|
// The base_url is set in the html template by the backend when returning it
|
|
128
131
|
if (window.dara.base_url !== '') {
|
|
129
132
|
basename = new URL(window.dara.base_url, window.origin).pathname;
|
|
130
133
|
}
|
|
131
134
|
const _a = config.auth_components, { login, logout } = _a, extraRoutes = __rest(_a, ["login", "logout"]);
|
|
132
|
-
|
|
135
|
+
// Create map to collect route definitions during route creation
|
|
136
|
+
const routeDefMap = new Map();
|
|
137
|
+
const userRoutes = config.router.children.map((r) => createRoute(r, snapshotRef, routeDefMap));
|
|
133
138
|
const defaultPath = findFirstPath(config.router.children) || '/';
|
|
134
|
-
|
|
139
|
+
const router = createBrowserRouter([
|
|
135
140
|
{
|
|
136
141
|
// wrapper around all the router content
|
|
137
142
|
element: _jsx(UnauthenticatedRoot, {}),
|
|
@@ -195,5 +200,11 @@ export function createRouter(config, queryClient, snapshotRef) {
|
|
|
195
200
|
],
|
|
196
201
|
},
|
|
197
202
|
], { basename });
|
|
203
|
+
return {
|
|
204
|
+
router,
|
|
205
|
+
routeDefinitions: config.router.children,
|
|
206
|
+
routeObjects: userRoutes,
|
|
207
|
+
routeDefMap,
|
|
208
|
+
};
|
|
198
209
|
}
|
|
199
|
-
//# sourceMappingURL=router.js.map
|
|
210
|
+
//# sourceMappingURL=create-router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-router.js","sourceRoot":"","sources":["../../js/router/create-router.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { type Params } from 'react-router';
|
|
2
|
+
import { type Snapshot } from 'recoil';
|
|
3
|
+
import * as z from 'zod/v4';
|
|
4
|
+
import { type Deferred, type DerivedResult } from '../shared';
|
|
5
|
+
import { ActionImpl, type ComponentInstance, type DerivedVariable, type NormalizedPayload, type PyComponentInstance, type RouteDefinition } from '../types';
|
|
6
|
+
export declare const TemplateChunk: z.ZodObject<{
|
|
7
|
+
type: z.ZodLiteral<"template">;
|
|
8
|
+
template: z.ZodObject<{
|
|
9
|
+
data: z.ZodAny;
|
|
10
|
+
lookup: z.ZodRecord<z.ZodString, z.ZodAny>;
|
|
11
|
+
}, z.core.$strip>;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
export type TemplateChunk = z.infer<typeof TemplateChunk>;
|
|
14
|
+
export declare const ActionChunk: z.ZodObject<{
|
|
15
|
+
type: z.ZodLiteral<"actions">;
|
|
16
|
+
actions: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
|
|
17
|
+
name: z.ZodString;
|
|
18
|
+
__typename: z.ZodLiteral<"ActionImpl">;
|
|
19
|
+
}, z.core.$loose>>>;
|
|
20
|
+
}, z.core.$strip>;
|
|
21
|
+
export type ActionChunk = z.infer<typeof ActionChunk>;
|
|
22
|
+
export declare const DerivedVariableChunk: z.ZodObject<{
|
|
23
|
+
type: z.ZodLiteral<"derived_variable">;
|
|
24
|
+
uid: z.ZodString;
|
|
25
|
+
result: z.ZodObject<{
|
|
26
|
+
ok: z.ZodBoolean;
|
|
27
|
+
value: z.ZodAny;
|
|
28
|
+
}, z.core.$strip>;
|
|
29
|
+
}, z.core.$strip>;
|
|
30
|
+
export type DerivedVariableChunk = z.infer<typeof DerivedVariableChunk>;
|
|
31
|
+
export declare const PyComponentChunk: z.ZodObject<{
|
|
32
|
+
type: z.ZodLiteral<"py_component">;
|
|
33
|
+
uid: z.ZodString;
|
|
34
|
+
result: z.ZodObject<{
|
|
35
|
+
ok: z.ZodBoolean;
|
|
36
|
+
value: z.ZodAny;
|
|
37
|
+
}, z.core.$strip>;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
export type PyComponentChunk = z.infer<typeof PyComponentChunk>;
|
|
40
|
+
export declare const ResponseChunk: z.ZodUnion<readonly [z.ZodObject<{
|
|
41
|
+
type: z.ZodLiteral<"template">;
|
|
42
|
+
template: z.ZodObject<{
|
|
43
|
+
data: z.ZodAny;
|
|
44
|
+
lookup: z.ZodRecord<z.ZodString, z.ZodAny>;
|
|
45
|
+
}, z.core.$strip>;
|
|
46
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
47
|
+
type: z.ZodLiteral<"actions">;
|
|
48
|
+
actions: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodObject<{
|
|
49
|
+
name: z.ZodString;
|
|
50
|
+
__typename: z.ZodLiteral<"ActionImpl">;
|
|
51
|
+
}, z.core.$loose>>>;
|
|
52
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
53
|
+
type: z.ZodLiteral<"derived_variable">;
|
|
54
|
+
uid: z.ZodString;
|
|
55
|
+
result: z.ZodObject<{
|
|
56
|
+
ok: z.ZodBoolean;
|
|
57
|
+
value: z.ZodAny;
|
|
58
|
+
}, z.core.$strip>;
|
|
59
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
60
|
+
type: z.ZodLiteral<"py_component">;
|
|
61
|
+
uid: z.ZodString;
|
|
62
|
+
result: z.ZodObject<{
|
|
63
|
+
ok: z.ZodBoolean;
|
|
64
|
+
value: z.ZodAny;
|
|
65
|
+
}, z.core.$strip>;
|
|
66
|
+
}, z.core.$strip>]>;
|
|
67
|
+
export type ResponseChunk = z.infer<typeof ResponseChunk>;
|
|
68
|
+
interface DerivedVariablePayload {
|
|
69
|
+
uid: string;
|
|
70
|
+
values: NormalizedPayload<any[]>;
|
|
71
|
+
}
|
|
72
|
+
interface PyComponentPayload {
|
|
73
|
+
uid: string;
|
|
74
|
+
name: string;
|
|
75
|
+
values: NormalizedPayload<Record<string, any>>;
|
|
76
|
+
}
|
|
77
|
+
interface DerivedVariableHandle {
|
|
78
|
+
dv: DerivedVariable;
|
|
79
|
+
result: DerivedResult;
|
|
80
|
+
handle: Deferred<any>;
|
|
81
|
+
payload: DerivedVariablePayload;
|
|
82
|
+
}
|
|
83
|
+
interface PyComponentHandle {
|
|
84
|
+
py: PyComponentInstance;
|
|
85
|
+
result: DerivedResult;
|
|
86
|
+
handle: Deferred<any>;
|
|
87
|
+
payload: PyComponentPayload;
|
|
88
|
+
}
|
|
89
|
+
export interface LoaderData {
|
|
90
|
+
template: ComponentInstance;
|
|
91
|
+
on_load: ActionImpl[];
|
|
92
|
+
route_definition: RouteDefinition;
|
|
93
|
+
derived_variables: DerivedVariableHandle[];
|
|
94
|
+
py_components: PyComponentHandle[];
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Fetch route data from the server.
|
|
98
|
+
*
|
|
99
|
+
* Collects payloads for `on_load` actions as wel as `derived_variable`s and `py_component`s on the page and sends them in the same request.
|
|
100
|
+
*/
|
|
101
|
+
export declare function fetchRouteData(route: RouteDefinition, params: Params<string>, snapshot: Snapshot, signal?: AbortSignal): Promise<LoaderData>;
|
|
102
|
+
/**
|
|
103
|
+
* Retrieve route data from the preload cache.
|
|
104
|
+
*
|
|
105
|
+
* @param routeId route ID
|
|
106
|
+
* @param params current route params
|
|
107
|
+
*/
|
|
108
|
+
export declare function getFromPreloadCache(routeId: string, params: Params<string>): LoaderData | Promise<LoaderData> | undefined;
|
|
109
|
+
/**
|
|
110
|
+
* Provides a function to preload data for all routes matching a given URL.
|
|
111
|
+
* Checks the preload cache first, and if not found, fetches the data from the server.
|
|
112
|
+
*/
|
|
113
|
+
export declare function usePreloadRoute(): (url: Partial<Location> | string) => void;
|
|
114
|
+
export {};
|
|
115
|
+
//# sourceMappingURL=fetching.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetching.d.ts","sourceRoot":"","sources":["../../js/router/fetching.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAe,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,KAAK,QAAQ,EAAqB,MAAM,QAAQ,CAAC;AAC1D,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAM5B,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAA4D,MAAM,UAAU,CAAC;AACvH,OAAO,EAEH,UAAU,EACV,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAGpB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EAEvB,MAAM,SAAS,CAAC;AA0BjB,eAAO,MAAM,aAAa;;;;;;iBAGxB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,eAAO,MAAM,WAAW;;;;;;iBAGtB,CAAC;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD,eAAO,MAAM,oBAAoB;;;;;;;iBAI/B,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAExE,eAAO,MAAM,gBAAgB;;;;;;;iBAI3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAgF,CAAC;AAC3G,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,UAAU,sBAAsB;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC;CACpC;AAED,UAAU,kBAAkB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;CAClD;AAED,UAAU,qBAAqB;IAC3B,EAAE,EAAE,eAAe,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,EAAE,sBAAsB,CAAC;CACnC;AAED,UAAU,iBAAiB;IACvB,EAAE,EAAE,mBAAmB,CAAC;IACxB,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACtB,OAAO,EAAE,kBAAkB,CAAC;CAC/B;AAED,MAAM,WAAW,UAAU;IACvB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,gBAAgB,EAAE,eAAe,CAAC;IAClC,iBAAiB,EAAE,qBAAqB,EAAE,CAAC;IAC3C,aAAa,EAAE,iBAAiB,EAAE,CAAC;CACtC;AAkDD;;;;GAIG;AACH,wBAAsB,cAAc,CAChC,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EACtB,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,UAAU,CAAC,CAwJrB;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GACvB,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,SAAS,CAE9C;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,MAAM,KAAK,IAAI,CA0B3E"}
|