@owlmeans/client 0.1.0
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/LICENSE +21 -0
- package/README.md +688 -0
- package/build/app.d.ts +4 -0
- package/build/app.d.ts.map +1 -0
- package/build/app.js +10 -0
- package/build/app.js.map +1 -0
- package/build/components/index.d.ts +4 -0
- package/build/components/index.d.ts.map +1 -0
- package/build/components/index.js +3 -0
- package/build/components/index.js.map +1 -0
- package/build/components/modal.d.ts +7 -0
- package/build/components/modal.d.ts.map +1 -0
- package/build/components/modal.js +66 -0
- package/build/components/modal.js.map +1 -0
- package/build/components/toggle.d.ts +3 -0
- package/build/components/toggle.d.ts.map +1 -0
- package/build/components/toggle.js +20 -0
- package/build/components/toggle.js.map +1 -0
- package/build/components/types.d.ts +50 -0
- package/build/components/types.d.ts.map +1 -0
- package/build/components/types.js +2 -0
- package/build/components/types.js.map +1 -0
- package/build/consts.d.ts +5 -0
- package/build/consts.d.ts.map +1 -0
- package/build/consts.js +5 -0
- package/build/consts.js.map +1 -0
- package/build/context.d.ts +8 -0
- package/build/context.d.ts.map +1 -0
- package/build/context.js +47 -0
- package/build/context.js.map +1 -0
- package/build/debug.d.ts +4 -0
- package/build/debug.d.ts.map +1 -0
- package/build/debug.js +12 -0
- package/build/debug.js.map +1 -0
- package/build/errors.d.ts +18 -0
- package/build/errors.d.ts.map +1 -0
- package/build/errors.js +34 -0
- package/build/errors.js.map +1 -0
- package/build/helper.d.ts +4 -0
- package/build/helper.d.ts.map +1 -0
- package/build/helper.js +30 -0
- package/build/helper.js.map +1 -0
- package/build/index.d.ts +15 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +15 -0
- package/build/index.js.map +1 -0
- package/build/module.d.ts +3 -0
- package/build/module.d.ts.map +1 -0
- package/build/module.js +4 -0
- package/build/module.js.map +1 -0
- package/build/navigate.d.ts +3 -0
- package/build/navigate.d.ts.map +1 -0
- package/build/navigate.js +39 -0
- package/build/navigate.js.map +1 -0
- package/build/router.d.ts +5 -0
- package/build/router.d.ts.map +1 -0
- package/build/router.js +53 -0
- package/build/router.js.map +1 -0
- package/build/services/debug.d.ts +6 -0
- package/build/services/debug.d.ts.map +1 -0
- package/build/services/debug.js +83 -0
- package/build/services/debug.js.map +1 -0
- package/build/services/index.d.ts +2 -0
- package/build/services/index.d.ts.map +1 -0
- package/build/services/index.js +2 -0
- package/build/services/index.js.map +1 -0
- package/build/store.d.ts +4 -0
- package/build/store.d.ts.map +1 -0
- package/build/store.js +49 -0
- package/build/store.js.map +1 -0
- package/build/types.d.ts +57 -0
- package/build/types.d.ts.map +1 -0
- package/build/types.js +2 -0
- package/build/types.js.map +1 -0
- package/build/utils/index.d.ts +4 -0
- package/build/utils/index.d.ts.map +1 -0
- package/build/utils/index.js +4 -0
- package/build/utils/index.js.map +1 -0
- package/build/utils/module.d.ts +3 -0
- package/build/utils/module.d.ts.map +1 -0
- package/build/utils/module.js +8 -0
- package/build/utils/module.js.map +1 -0
- package/build/utils/route.d.ts +16 -0
- package/build/utils/route.d.ts.map +1 -0
- package/build/utils/route.js +65 -0
- package/build/utils/route.js.map +1 -0
- package/build/utils/router.d.ts +16 -0
- package/build/utils/router.d.ts.map +1 -0
- package/build/utils/router.js +36 -0
- package/build/utils/router.js.map +1 -0
- package/build/value.d.ts +4 -0
- package/build/value.d.ts.map +1 -0
- package/build/value.js +48 -0
- package/build/value.js.map +1 -0
- package/package.json +66 -0
- package/src/app.tsx +17 -0
- package/src/components/index.ts +4 -0
- package/src/components/modal.ts +89 -0
- package/src/components/toggle.ts +22 -0
- package/src/components/types.ts +57 -0
- package/src/consts.ts +7 -0
- package/src/context.ts +61 -0
- package/src/debug.ts +14 -0
- package/src/errors.ts +44 -0
- package/src/helper.tsx +51 -0
- package/src/index.ts +15 -0
- package/src/module.ts +6 -0
- package/src/navigate.ts +51 -0
- package/src/router.ts +78 -0
- package/src/services/debug.ts +102 -0
- package/src/services/index.ts +2 -0
- package/src/store.ts +57 -0
- package/src/types.ts +72 -0
- package/src/utils/index.ts +4 -0
- package/src/utils/module.ts +14 -0
- package/src/utils/route.tsx +82 -0
- package/src/utils/router.ts +60 -0
- package/src/value.ts +60 -0
- package/tsconfig.json +15 -0
- package/tsconfig.tsbuildinfo +1 -0
package/build/app.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import { Context } from './context.js';
|
|
4
|
+
import { Router } from './router.js';
|
|
5
|
+
export const App = ({ context, provide, children }) => {
|
|
6
|
+
const [render, rerender] = useState(0);
|
|
7
|
+
useEffect(() => context.registerRerenderer(() => rerender(render + 1)), []);
|
|
8
|
+
return _jsxs(Context, { value: context, children: [children, provide != null ? _jsx(Router, { provide: provide }) : undefined] });
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=app.js.map
|
package/build/app.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,CAAC,MAAM,GAAG,GAAiB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE;IAClE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAEtC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IAE3E,OAAO,MAAC,OAAO,IAAC,KAAK,EAAE,OAAO,aAC3B,QAAQ,EACR,OAAO,IAAI,IAAI,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,GAAI,CAAC,CAAC,CAAC,SAAS,IACnD,CAAA;AACZ,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AACA,mBAAmB,YAAY,CAAA;AAC/B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAEA,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ModalService, ModalServiceAppend } from './types.js';
|
|
2
|
+
import type { ClientConfig } from '@owlmeans/client-context';
|
|
3
|
+
import type { ClientContext } from '../types.js';
|
|
4
|
+
export declare const createModalService: (alias?: string) => ModalService;
|
|
5
|
+
export declare const appendModalService: <C extends ClientConfig, T extends ClientContext<C>>(ctx: T, alias?: string) => T & ModalServiceAppend;
|
|
6
|
+
export declare const useSetupModalNavigator: () => void;
|
|
7
|
+
//# sourceMappingURL=modal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal.d.ts","sourceRoot":"","sources":["../../src/components/modal.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAmB,MAAM,YAAY,CAAA;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAKhD,eAAO,MAAM,kBAAkB,WAAW,MAAM,KAAqB,YAwDpE,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,OAC9E,CAAC,UAAS,MAAM,KACpB,CAAC,GAAG,kBAUN,CAAA;AAED,eAAO,MAAM,sBAAsB,YAOlC,CAAA"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { createService } from '@owlmeans/context';
|
|
2
|
+
import { DEF_MODAL_ALIAS } from '../consts.js';
|
|
3
|
+
import { useContext } from '../context.js';
|
|
4
|
+
import { useNavigate } from '../navigate.js';
|
|
5
|
+
import { useEffect } from 'react';
|
|
6
|
+
export const createModalService = (alias = DEF_MODAL_ALIAS) => {
|
|
7
|
+
const close = () => {
|
|
8
|
+
service.stack.pop();
|
|
9
|
+
service.toggle.close();
|
|
10
|
+
if (service.stack.length > 0) {
|
|
11
|
+
// @TODO Figure out how to remove this hack
|
|
12
|
+
setTimeout(() => service.toggle.open(), 500);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
const service = createService(alias, {
|
|
16
|
+
stack: [],
|
|
17
|
+
link: toggle => service.toggle = toggle,
|
|
18
|
+
layer: () => {
|
|
19
|
+
if (service.stack.length === 0) {
|
|
20
|
+
return undefined;
|
|
21
|
+
}
|
|
22
|
+
return service.stack[service.stack.length - 1];
|
|
23
|
+
},
|
|
24
|
+
request: async (Com) => {
|
|
25
|
+
const layer = { Com };
|
|
26
|
+
const defer = new Promise((resolve, reject) => {
|
|
27
|
+
layer.resolve = resolve;
|
|
28
|
+
layer.reject = reject;
|
|
29
|
+
});
|
|
30
|
+
service.stack.push(layer);
|
|
31
|
+
service.toggle.open();
|
|
32
|
+
const result = await defer;
|
|
33
|
+
service.stack.pop();
|
|
34
|
+
return result;
|
|
35
|
+
},
|
|
36
|
+
error: error => {
|
|
37
|
+
service.layer()?.reject?.(error);
|
|
38
|
+
close();
|
|
39
|
+
},
|
|
40
|
+
response: result => {
|
|
41
|
+
service.layer()?.resolve?.(result);
|
|
42
|
+
close();
|
|
43
|
+
},
|
|
44
|
+
cancel: () => {
|
|
45
|
+
service.layer()?.resolve?.(null);
|
|
46
|
+
close();
|
|
47
|
+
}
|
|
48
|
+
}, service => async () => { service.initialized = true; });
|
|
49
|
+
return service;
|
|
50
|
+
};
|
|
51
|
+
export const appendModalService = (ctx, alias = DEF_MODAL_ALIAS) => {
|
|
52
|
+
const service = createModalService(alias);
|
|
53
|
+
const _ctx = ctx;
|
|
54
|
+
_ctx.registerService(service);
|
|
55
|
+
_ctx.modal = () => _ctx.service(alias);
|
|
56
|
+
return _ctx;
|
|
57
|
+
};
|
|
58
|
+
export const useSetupModalNavigator = () => {
|
|
59
|
+
const context = useContext();
|
|
60
|
+
const navigator = useNavigate();
|
|
61
|
+
useEffect(() => {
|
|
62
|
+
const modal = context.modal();
|
|
63
|
+
modal.navigator = navigator;
|
|
64
|
+
}, []);
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modal.js","sourceRoot":"","sources":["../../src/components/modal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle.d.ts","sourceRoot":"","sources":["../../src/components/toggle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAE5C,eAAO,MAAM,SAAS,YAAa,OAAO,KAAG,UAkB5C,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useMemo, useState } from 'react';
|
|
2
|
+
export const useToggle = (opened) => {
|
|
3
|
+
if (opened === undefined) {
|
|
4
|
+
opened = false;
|
|
5
|
+
}
|
|
6
|
+
const [_opened, setOpened] = useState(opened);
|
|
7
|
+
return useMemo(() => {
|
|
8
|
+
const _handler = {
|
|
9
|
+
opened: _opened === undefined ? false : _opened,
|
|
10
|
+
set: opened => {
|
|
11
|
+
setOpened(_handler.opened = opened);
|
|
12
|
+
},
|
|
13
|
+
open: () => { _handler.set(true); },
|
|
14
|
+
close: () => { _handler.set(false); },
|
|
15
|
+
toggle: () => { _handler.set(!_handler.opened); }
|
|
16
|
+
};
|
|
17
|
+
return _handler;
|
|
18
|
+
}, []);
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=toggle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toggle.js","sourceRoot":"","sources":["../../src/components/toggle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAGzC,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,MAAgB,EAAc,EAAE;IACxD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,GAAG,KAAK,CAAA;IAChB,CAAC;IACD,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAU,MAAM,CAAC,CAAA;IACtD,OAAO,OAAO,CAAa,GAAG,EAAE;QAC9B,MAAM,QAAQ,GAAe;YAC3B,MAAM,EAAE,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO;YAC/C,GAAG,EAAE,MAAM,CAAC,EAAE;gBACZ,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,CAAA;YACrC,CAAC;YACD,IAAI,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC;YAClC,KAAK,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAC,CAAC;YACpC,MAAM,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA,CAAC,CAAC;SACjD,CAAA;QAED,OAAO,QAAQ,CAAA;IACjB,CAAC,EAAE,EAAE,CAAC,CAAA;AACR,CAAC,CAAA"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { InitializedService, LazyService } from '@owlmeans/context';
|
|
2
|
+
import type { FC } from 'react';
|
|
3
|
+
import type { ClientContext, Navigator } from '../types.js';
|
|
4
|
+
export interface Toggleable {
|
|
5
|
+
opened: boolean;
|
|
6
|
+
open: () => void;
|
|
7
|
+
close: () => void;
|
|
8
|
+
set: (opened: boolean) => void;
|
|
9
|
+
toggle: () => void;
|
|
10
|
+
}
|
|
11
|
+
export interface ModalService extends InitializedService {
|
|
12
|
+
toggle: Toggleable;
|
|
13
|
+
stack: ModalStackLayer[];
|
|
14
|
+
navigator?: Navigator;
|
|
15
|
+
layer: () => ModalStackLayer | undefined;
|
|
16
|
+
link: (toggle: Toggleable) => void;
|
|
17
|
+
request: <T>(Com: FC<ModalBodyProps>) => Promise<T | null>;
|
|
18
|
+
error: (error: Error) => void;
|
|
19
|
+
response: <T>(value: T) => void;
|
|
20
|
+
cancel: () => void;
|
|
21
|
+
}
|
|
22
|
+
export interface ModalStackLayer {
|
|
23
|
+
Com: FC<ModalBodyProps>;
|
|
24
|
+
resolve?: (v: unknown | null) => void;
|
|
25
|
+
reject?: (e: Error) => void;
|
|
26
|
+
}
|
|
27
|
+
export interface ModalBodyProps {
|
|
28
|
+
modal?: ModalService;
|
|
29
|
+
}
|
|
30
|
+
export interface ModalServiceAppend {
|
|
31
|
+
modal: () => ModalService;
|
|
32
|
+
}
|
|
33
|
+
export interface DebugService extends LazyService {
|
|
34
|
+
Debug: FC<ModalBodyProps>;
|
|
35
|
+
items: DebugMenuItem[];
|
|
36
|
+
addItem: (item: DebugMenuItem) => void;
|
|
37
|
+
erase: (states: string[]) => Promise<void>;
|
|
38
|
+
select: (alias: string) => void;
|
|
39
|
+
open: () => void;
|
|
40
|
+
}
|
|
41
|
+
export interface DebugMenuItem {
|
|
42
|
+
alias: string;
|
|
43
|
+
title: string;
|
|
44
|
+
Com?: FC<ModalBodyProps>;
|
|
45
|
+
action?: (modal: ModalService, context: ClientContext) => Promise<void | string>;
|
|
46
|
+
}
|
|
47
|
+
export interface DebugServiceAppend {
|
|
48
|
+
debug: () => DebugService | undefined;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/components/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAE3D,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,MAAM,IAAI,CAAA;IAChB,KAAK,EAAE,MAAM,IAAI,CAAA;IACjB,GAAG,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;IAC9B,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB;AAED,MAAM,WAAW,YAAa,SAAQ,kBAAkB;IACtD,MAAM,EAAE,UAAU,CAAA;IAClB,KAAK,EAAE,eAAe,EAAE,CAAA;IACxB,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,KAAK,EAAE,MAAM,eAAe,GAAG,SAAS,CAAA;IACxC,IAAI,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAA;IAClC,OAAO,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAA;IAC1D,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAC7B,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;IAC/B,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,CAAA;IACvB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;IACtC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,YAAY,CAAA;CAC1B;AAED,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,KAAK,EAAE,EAAE,CAAC,cAAc,CAAC,CAAA;IACzB,KAAK,EAAE,aAAa,EAAE,CAAA;IACtB,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAA;IACtC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1C,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,IAAI,EAAE,MAAM,IAAI,CAAA;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAA;IACxB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,aAAa,KAAK,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC,CAAA;CACjF;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,YAAY,GAAG,SAAS,CAAA;CACtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/components/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,eAAe,UAAU,CAAA;AACtC,eAAO,MAAM,eAAe,UAAU,CAAA;AAEtC,eAAO,MAAM,aAAa,aAAa,CAAA;AACvC,eAAO,MAAM,gBAAgB,aAAa,CAAA"}
|
package/build/consts.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"","sources":["../src/consts.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAA;AACtC,MAAM,CAAC,MAAM,eAAe,GAAG,OAAO,CAAA;AAEtC,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAAA;AACvC,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAA"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Context as ReactContext } from 'react';
|
|
2
|
+
import type { ClientConfig } from '@owlmeans/client-context';
|
|
3
|
+
import type { ClientContext } from './types.js';
|
|
4
|
+
export declare const makeClientContext: <C extends ClientConfig, T extends ClientContext<C> = ClientContext<C>>(cfg: C) => T;
|
|
5
|
+
export declare const ClientContextContainer: ReactContext<ClientContext<ClientConfig>>;
|
|
6
|
+
export declare const Context: import("react").Provider<ClientContext<ClientConfig>>;
|
|
7
|
+
export declare const useContext: <C extends ClientConfig, T extends ClientContext<C>>() => T;
|
|
8
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,OAAO,CAAA;AAEpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAkB/C,eAAO,MAAM,iBAAiB,GAAI,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,0BAA0B,CAAC,KAAG,CA4BjH,CAAA;AAED,eAAO,MAAM,sBAAsB,2CAA+C,CAAA;AAElF,eAAO,MAAM,OAAO,uDAAkC,CAAA;AAEtD,eAAO,MAAM,UAAU,GAAI,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,QAE5E,CAAA"}
|
package/build/context.js
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { createContext, useContext as useCtx } from 'react';
|
|
2
|
+
import { makeClientContext as makeBasicContext, PLUGINS } from '@owlmeans/client-context';
|
|
3
|
+
import { AppType, CONFIG_RECORD, Layer } from '@owlmeans/context';
|
|
4
|
+
import { appendStateResource } from '@owlmeans/state';
|
|
5
|
+
import { appendModalService } from './components/modal.js';
|
|
6
|
+
import { appendDebugService } from './services/debug.js';
|
|
7
|
+
import { appendConfigResource, PLUGIN_RECORD } from '@owlmeans/config';
|
|
8
|
+
const defaultCfg = {
|
|
9
|
+
services: {},
|
|
10
|
+
brand: {},
|
|
11
|
+
layer: Layer.Service,
|
|
12
|
+
trusted: [],
|
|
13
|
+
[CONFIG_RECORD]: [],
|
|
14
|
+
ready: false,
|
|
15
|
+
service: '',
|
|
16
|
+
debug: {},
|
|
17
|
+
type: AppType.Frontend,
|
|
18
|
+
};
|
|
19
|
+
export const makeClientContext = (cfg) => {
|
|
20
|
+
const context = makeBasicContext(cfg);
|
|
21
|
+
appendStateResource(context);
|
|
22
|
+
appendModalService(context);
|
|
23
|
+
appendConfigResource(context);
|
|
24
|
+
appendConfigResource(context, PLUGINS, PLUGIN_RECORD);
|
|
25
|
+
appendDebugService(context);
|
|
26
|
+
if (context.registerRerenderer == null) {
|
|
27
|
+
const rerenderers = [];
|
|
28
|
+
context.registerRerenderer = listener => {
|
|
29
|
+
rerenderers.push(listener);
|
|
30
|
+
return () => {
|
|
31
|
+
const index = rerenderers.indexOf(listener);
|
|
32
|
+
if (index >= 0) {
|
|
33
|
+
rerenderers.splice(index, 1);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
context.rerender = () => {
|
|
38
|
+
rerenderers.forEach(callback => callback());
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
context.makeContext = makeClientContext;
|
|
42
|
+
return context;
|
|
43
|
+
};
|
|
44
|
+
export const ClientContextContainer = createContext(makeClientContext(defaultCfg));
|
|
45
|
+
export const Context = ClientContextContainer.Provider;
|
|
46
|
+
export const useContext = () => useCtx(ClientContextContainer);
|
|
47
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,IAAI,MAAM,EAAE,MAAM,OAAO,CAAA;AAE3D,OAAO,EAAE,iBAAiB,IAAI,gBAAgB,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AAEzF,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAEtE,MAAM,UAAU,GAAiB;IAC/B,QAAQ,EAAE,EAAE;IACZ,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,KAAK,CAAC,OAAO;IACpB,OAAO,EAAE,EAAE;IACX,CAAC,aAAa,CAAC,EAAE,EAAE;IACnB,KAAK,EAAE,KAAK;IACZ,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;IACT,IAAI,EAAE,OAAO,CAAC,QAAQ;CACvB,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAwE,GAAM,EAAK,EAAE;IACpH,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,CAAM,CAAA;IAC1C,mBAAmB,CAAO,OAAO,CAAC,CAAA;IAClC,kBAAkB,CAAO,OAAO,CAAC,CAAA;IACjC,oBAAoB,CAAO,OAAO,CAAC,CAAA;IACnC,oBAAoB,CAAO,OAAO,EAAE,OAAO,EAAE,aAAa,CAAC,CAAA;IAC3D,kBAAkB,CAAO,OAAO,CAAC,CAAA;IAEjC,IAAI,OAAO,CAAC,kBAAkB,IAAI,IAAI,EAAE,CAAC;QACvC,MAAM,WAAW,GAAuB,EAAE,CAAA;QAE1C,OAAO,CAAC,kBAAkB,GAAG,QAAQ,CAAC,EAAE;YACtC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC1B,OAAO,GAAG,EAAE;gBACV,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAC3C,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBACf,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;gBAC9B,CAAC;YACH,CAAC,CAAA;QACH,CAAC,CAAA;QACD,OAAO,CAAC,QAAQ,GAAG,GAAG,EAAE;YACtB,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC7C,CAAC,CAAA;IACH,CAAC;IAED,OAAO,CAAC,WAAW,GAAG,iBAA+C,CAAA;IAErE,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,aAAa,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAA;AAElF,MAAM,CAAC,MAAM,OAAO,GAAG,sBAAsB,CAAC,QAAQ,CAAA;AAEtD,MAAM,CAAC,MAAM,UAAU,GAAG,GAAuD,EAAE,CAAC,MAAM,CACxF,sBAAoD,CACrD,CAAA"}
|
package/build/debug.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ClientConfig } from '@owlmeans/client-context';
|
|
2
|
+
import type { ClientContext } from './types.js';
|
|
3
|
+
export declare const appendStateDebug: <C extends ClientConfig, T extends ClientContext<C>>(ctx: T, state: string) => void;
|
|
4
|
+
//# sourceMappingURL=debug.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,YAAY,CAAA;AAElE,eAAO,MAAM,gBAAgB,GAAI,CAAC,SAAS,YAAY,EAAE,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,MAAM,SASzG,CAAA"}
|
package/build/debug.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DEBUG_CONFIG_KEY } from './consts.js';
|
|
2
|
+
export const appendStateDebug = (ctx, state) => {
|
|
3
|
+
let debugRecord = ctx.cfg.records
|
|
4
|
+
.find(record => record.id === DEBUG_CONFIG_KEY);
|
|
5
|
+
if (debugRecord == null) {
|
|
6
|
+
debugRecord = { id: DEBUG_CONFIG_KEY };
|
|
7
|
+
ctx.cfg.records.push(debugRecord);
|
|
8
|
+
}
|
|
9
|
+
debugRecord.states = debugRecord.states ?? [];
|
|
10
|
+
debugRecord.states.push(state);
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=debug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAG9C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAqD,GAAM,EAAE,KAAa,EAAE,EAAE;IAC5G,IAAI,WAAW,GAAG,GAAG,CAAC,GAAG,CAAC,OAAO;SAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,gBAAgB,CAAsB,CAAA;IACtE,IAAI,WAAW,IAAI,IAAI,EAAE,CAAC;QACxB,WAAW,GAAG,EAAE,EAAE,EAAE,gBAAgB,EAAE,CAAA;QACtC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IACnC,CAAC;IACD,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,IAAI,EAAE,CAAA;IAC7C,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAChC,CAAC,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ResilientError } from '@owlmeans/error';
|
|
2
|
+
export declare class ClientError extends ResilientError {
|
|
3
|
+
static typeName: string;
|
|
4
|
+
constructor(message?: string);
|
|
5
|
+
}
|
|
6
|
+
export declare class ComponentError extends ClientError {
|
|
7
|
+
static typeName: string;
|
|
8
|
+
constructor(message?: string);
|
|
9
|
+
}
|
|
10
|
+
export declare class ComponentPropError extends ComponentError {
|
|
11
|
+
static typeName: string;
|
|
12
|
+
constructor(message?: string);
|
|
13
|
+
}
|
|
14
|
+
export declare class ComponentPropUndefined extends ComponentPropError {
|
|
15
|
+
static typeName: string;
|
|
16
|
+
constructor(message?: string);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,qBAAa,WAAY,SAAQ,cAAc;IAC7C,OAAuB,QAAQ,EAAE,MAAM,CAAgB;gBAE3C,OAAO,GAAE,MAAgB;CAGtC;AAED,qBAAa,cAAe,SAAQ,WAAW;IAC7C,OAAuB,QAAQ,EAAE,MAAM,CAAqC;gBAEhE,OAAO,GAAE,MAAgB;CAItC;AAED,qBAAa,kBAAmB,SAAQ,cAAc;IACpD,OAAuB,QAAQ,EAAE,MAAM,CAAmC;gBAE9D,OAAO,GAAE,MAAgB;CAItC;AAED,qBAAa,sBAAuB,SAAQ,kBAAkB;IAC5D,OAAuB,QAAQ,EAAE,MAAM,CAA4C;gBAEvE,OAAO,GAAE,MAAgB;CAItC"}
|
package/build/errors.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { ResilientError } from '@owlmeans/error';
|
|
2
|
+
export class ClientError extends ResilientError {
|
|
3
|
+
static typeName = 'ClientError';
|
|
4
|
+
constructor(message = 'error') {
|
|
5
|
+
super(ClientError.typeName, `client:${message}`);
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export class ComponentError extends ClientError {
|
|
9
|
+
static typeName = `${ClientError.typeName}Component`;
|
|
10
|
+
constructor(message = 'error') {
|
|
11
|
+
super(`component:${message}`);
|
|
12
|
+
this.type = ComponentError.typeName;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export class ComponentPropError extends ComponentError {
|
|
16
|
+
static typeName = `${ComponentError.typeName}Prop`;
|
|
17
|
+
constructor(message = 'error') {
|
|
18
|
+
super(`prop:${message}`);
|
|
19
|
+
this.type = ComponentPropError.typeName;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
export class ComponentPropUndefined extends ComponentPropError {
|
|
23
|
+
static typeName = `${ComponentPropError.typeName}Undefined`;
|
|
24
|
+
constructor(message = 'error') {
|
|
25
|
+
super(`undefined:${message}`);
|
|
26
|
+
this.type = ComponentPropUndefined.typeName;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
ResilientError.registerErrorClass(ClientError);
|
|
30
|
+
ResilientError.registerErrorClass(ComponentError);
|
|
31
|
+
ResilientError.registerErrorClass(ComponentPropError);
|
|
32
|
+
ResilientError.registerErrorClass(ComponentPropUndefined);
|
|
33
|
+
ResilientError.registerErrorClass(ComponentPropUndefined);
|
|
34
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,MAAM,OAAO,WAAY,SAAQ,cAAc;IACtC,MAAM,CAAU,QAAQ,GAAW,aAAa,CAAA;IAEvD,YAAY,UAAkB,OAAO;QACnC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,OAAO,EAAE,CAAC,CAAA;IAClD,CAAC;;AAGH,MAAM,OAAO,cAAe,SAAQ,WAAW;IACtC,MAAM,CAAU,QAAQ,GAAW,GAAG,WAAW,CAAC,QAAQ,WAAW,CAAA;IAE5E,YAAY,UAAkB,OAAO;QACnC,KAAK,CAAC,aAAa,OAAO,EAAE,CAAC,CAAA;QAC7B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAA;IACrC,CAAC;;AAGH,MAAM,OAAO,kBAAmB,SAAQ,cAAc;IAC7C,MAAM,CAAU,QAAQ,GAAW,GAAG,cAAc,CAAC,QAAQ,MAAM,CAAA;IAE1E,YAAY,UAAkB,OAAO;QACnC,KAAK,CAAC,QAAQ,OAAO,EAAE,CAAC,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC,QAAQ,CAAA;IACzC,CAAC;;AAGH,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IACrD,MAAM,CAAU,QAAQ,GAAW,GAAG,kBAAkB,CAAC,QAAQ,WAAW,CAAA;IAEnF,YAAY,UAAkB,OAAO;QACnC,KAAK,CAAC,aAAa,OAAO,EAAE,CAAC,CAAA;QAC7B,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC,QAAQ,CAAA;IAC7C,CAAC;;AAIH,cAAc,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAA;AAC9C,cAAc,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA;AACjD,cAAc,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAA;AACrD,cAAc,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAA;AACzD,cAAc,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { RefedModuleHandler } from '@owlmeans/client-module';
|
|
2
|
+
import { HandledRenderer } from './utils/route.js';
|
|
3
|
+
export declare const handler: <T extends {}>(Component: HandledRenderer<T>, preprender?: boolean) => RefedModuleHandler<T>;
|
|
4
|
+
//# sourceMappingURL=helper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper.d.ts","sourceRoot":"","sources":["../src/helper.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAUlD,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,EAAE,aACvB,eAAe,CAAC,CAAC,CAAC,eAAe,OAAO,KAClD,kBAAkB,CAAC,CAAC,CAiCtB,CAAA"}
|
package/build/helper.js
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { isValidElement } from 'react';
|
|
3
|
+
import { ModuleContext } from './utils/module.js';
|
|
4
|
+
import { assertContext } from '@owlmeans/context';
|
|
5
|
+
export const handler = (Component, preprender) => ref => (req, res) => {
|
|
6
|
+
const location = `client-handler:${ref.ref?.getAlias() ?? 'unknown'}`;
|
|
7
|
+
if (ref.ref == null) {
|
|
8
|
+
throw new SyntaxError('Module reference is not provided');
|
|
9
|
+
}
|
|
10
|
+
const ctx = assertContext(ref.ref.ctx, location);
|
|
11
|
+
if (ctx == null) {
|
|
12
|
+
throw new SyntaxError('Module context is not provided');
|
|
13
|
+
}
|
|
14
|
+
if (isValidElement(Component)) {
|
|
15
|
+
res.resolve(Component);
|
|
16
|
+
return Component;
|
|
17
|
+
}
|
|
18
|
+
if (preprender === true) {
|
|
19
|
+
const Renderer = Component;
|
|
20
|
+
const element = _jsx(Renderer, { ...req, context: ctx });
|
|
21
|
+
res.resolve(element);
|
|
22
|
+
return element;
|
|
23
|
+
}
|
|
24
|
+
const Renderer = ({ children, ...props }) => {
|
|
25
|
+
const Renderer = Component;
|
|
26
|
+
return _jsx(ModuleContext.Provider, { value: props, children: _jsx(Renderer, { ...props, children: children }) });
|
|
27
|
+
};
|
|
28
|
+
return Renderer;
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../src/helper.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAKjD,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,SAA6B,EAAE,UAAoB,EAC5B,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAGjC,GAAM,EAAE,GAAM,EAAO,EAAE;IACvB,MAAM,QAAQ,GAAG,kBAAkB,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,SAAS,EAAE,CAAA;IACrE,IAAI,GAAG,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACpB,MAAM,IAAI,WAAW,CAAC,kCAAkC,CAAC,CAAA;IAC3D,CAAC;IACD,MAAM,GAAG,GAAG,aAAa,CAAkB,GAAG,CAAC,GAAG,CAAC,GAAc,EAAE,QAAQ,CAAC,CAAA;IAC5E,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QAChB,MAAM,IAAI,WAAW,CAAC,gCAAgC,CAAC,CAAA;IACzD,CAAC;IACD,IAAI,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9B,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;QACtB,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,SAAyB,CAAA;QAC1C,MAAM,OAAO,GAAG,KAAC,QAAQ,OAAK,GAAG,EAAE,OAAO,EAAE,GAAG,GAAI,CAAA;QACnD,GAAG,CAAC,OAAO,CAAC,OAA6B,CAAC,CAAA;QAE1C,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,MAAM,QAAQ,GAAoB,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE;QAC3D,MAAM,QAAQ,GAAG,SAAyB,CAAA;QAC1C,OAAO,KAAC,aAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK,YACzC,KAAC,QAAQ,OAAK,KAAK,YAAG,QAAQ,GAAY,GACnB,CAAA;IAC3B,CAAC,CAAA;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
|
package/build/index.d.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from './context.js';
|
|
2
|
+
export * from './components/index.js';
|
|
3
|
+
export * from './services/index.js';
|
|
4
|
+
export * from './helper.js';
|
|
5
|
+
export * from './navigate.js';
|
|
6
|
+
export * from './module.js';
|
|
7
|
+
export * from './router.js';
|
|
8
|
+
export * from './types.js';
|
|
9
|
+
export * from './store.js';
|
|
10
|
+
export * from './value.js';
|
|
11
|
+
export * from './consts.js';
|
|
12
|
+
export * from './debug.js';
|
|
13
|
+
export * from './app.js';
|
|
14
|
+
export * from './errors.js';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA"}
|
package/build/index.js
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from './context.js';
|
|
2
|
+
export * from './components/index.js';
|
|
3
|
+
export * from './services/index.js';
|
|
4
|
+
export * from './helper.js';
|
|
5
|
+
export * from './navigate.js';
|
|
6
|
+
export * from './module.js';
|
|
7
|
+
export * from './router.js';
|
|
8
|
+
export * from './types.js';
|
|
9
|
+
export * from './store.js';
|
|
10
|
+
export * from './value.js';
|
|
11
|
+
export * from './consts.js';
|
|
12
|
+
export * from './debug.js';
|
|
13
|
+
export * from './app.js';
|
|
14
|
+
export * from './errors.js';
|
|
15
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,cAAc,cAAc,CAAA;AAC5B,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAErD,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,EAAE,YAAyC,mBAAmB,CAAC,CAAC,CAAC,CAAA"}
|
package/build/module.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGhD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAsB,EAAE,CAAC,UAAU,CAAC,aAAa,CAA2B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigate.d.ts","sourceRoot":"","sources":["../src/navigate.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAK3C,eAAO,MAAM,WAAW,QAAO,SA2C9B,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
import { useLocation, useNavigate as useNav } from 'react-router';
|
|
3
|
+
import { ModuleOutcome } from '@owlmeans/module';
|
|
4
|
+
import { useContext } from './context.js';
|
|
5
|
+
export const useNavigate = () => {
|
|
6
|
+
const context = useContext();
|
|
7
|
+
const navigate = useNav();
|
|
8
|
+
const location = useLocation();
|
|
9
|
+
const navigator = useMemo(() => {
|
|
10
|
+
const navigator = {
|
|
11
|
+
_navigate: navigate,
|
|
12
|
+
navigate: async (module, request) => {
|
|
13
|
+
const [url, ok] = await module.call(request);
|
|
14
|
+
if (ok === ModuleOutcome.Ok) {
|
|
15
|
+
navigate(url, {
|
|
16
|
+
state: {
|
|
17
|
+
...module.route.route, silent: request?.silent
|
|
18
|
+
},
|
|
19
|
+
replace: request?.replace ?? false
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
go: async (alias, request) => navigator.navigate(context.module(alias), request),
|
|
24
|
+
press: (alias, request) => () => {
|
|
25
|
+
void navigator.go(alias, request);
|
|
26
|
+
},
|
|
27
|
+
back: async () => {
|
|
28
|
+
navigate(-1);
|
|
29
|
+
},
|
|
30
|
+
pressBack: () => () => {
|
|
31
|
+
void navigator.back();
|
|
32
|
+
},
|
|
33
|
+
location: () => location
|
|
34
|
+
};
|
|
35
|
+
return navigator;
|
|
36
|
+
}, [navigate]);
|
|
37
|
+
return navigator;
|
|
38
|
+
};
|
|
39
|
+
//# sourceMappingURL=navigate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"navigate.js","sourceRoot":"","sources":["../src/navigate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,WAAW,EAAE,WAAW,IAAI,MAAM,EAAE,MAAM,cAAc,CAAA;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAGzC,MAAM,CAAC,MAAM,WAAW,GAAG,GAAc,EAAE;IACzC,MAAM,OAAO,GAAG,UAAU,EAAE,CAAA;IAC5B,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAA;IACzB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAC9B,MAAM,SAAS,GAAc,OAAO,CAAC,GAAG,EAAE;QACxC,MAAM,SAAS,GAAc;YAC3B,SAAS,EAAE,QAAQ;YAEnB,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE;gBAClC,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBAE5C,IAAI,EAAE,KAAK,aAAa,CAAC,EAAE,EAAE,CAAC;oBAC5B,QAAQ,CAAC,GAAG,EAAE;wBACZ,KAAK,EAAE;4BACL,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;yBAC/C;wBACD,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,KAAK;qBACnC,CAAC,CAAA;gBACJ,CAAC;YACH,CAAC;YAED,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAC3B,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAuB,KAAK,CAAC,EAAE,OAAO,CAAC;YAE1E,KAAK,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,EAAE;gBAC9B,KAAK,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;YACnC,CAAC;YAED,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;YACd,CAAC;YAED,SAAS,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;gBACpB,KAAK,SAAS,CAAC,IAAI,EAAE,CAAA;YACvB,CAAC;YAED,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ;SACzB,CAAA;QAED,OAAO,SAAS,CAAA;IAClB,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEd,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAgB1D,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,WAAW,CA0BlC,CAAA;AAED,eAAO,MAAM,eAAe,QAAO,WAgClC,CAAA"}
|