@q2devel/q2-core 1.0.20 → 1.0.22
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/products/product-detail/QuestionForm.service copy.d.ts +4 -0
- package/dist/api/products/product-detail/QuestionForm.service copy.d.ts.map +1 -0
- package/dist/api/products/product-detail/QuestionForm.service copy.js +6 -0
- package/dist/auth/auth/auth.types.d.ts +0 -2
- package/dist/auth/auth/auth.types.d.ts.map +1 -1
- package/dist/auth/context/AuthContext.d.ts.map +1 -1
- package/dist/auth/context/AuthContext.js +14 -26
- package/dist/auth/hooks/useSignIn.d.ts.map +1 -1
- package/dist/auth/hooks/useSignIn.js +11 -4
- package/dist/auth/hooks/useSignOut.d.ts.map +1 -1
- package/dist/auth/hooks/useSignOut.js +2 -3
- package/package.json +6 -2
- package/dist/api/user/getUserCart.d.ts +0 -1
- package/dist/api/user/getUserCart.d.ts.map +0 -1
- package/dist/api/user/getUserCart.js +0 -1
- package/dist/types/ResetPassword.d.ts +0 -8
- package/dist/types/ResetPassword.d.ts.map +0 -1
- package/dist/types/ResetPassword.js +0 -1
- package/dist/types/content/ResetPassword.d.ts +0 -8
- package/dist/types/content/ResetPassword.d.ts.map +0 -1
- package/dist/types/content/ResetPassword.js +0 -1
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AxiosInstance, AxiosRequestConfig } from "axios";
|
|
2
|
+
import { ProductDetailQuestionForm } from "./QuestionFormService.types";
|
|
3
|
+
export declare const sendProductDetailQuestionForm: (axiosInstance: AxiosInstance, request: ProductDetailQuestionForm, config?: AxiosRequestConfig) => Promise<void>;
|
|
4
|
+
//# sourceMappingURL=QuestionForm.service%20copy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuestionForm.service copy.d.ts","sourceRoot":"","sources":["../../../../api/products/product-detail/QuestionForm.service copy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAA;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,eAAO,MAAM,6BAA6B,GACtC,eAAe,aAAa,EAC5B,SAAS,yBAAyB,EAClC,SAAQ,kBAAuB,KAChC,OAAO,CAAC,IAAI,CAKd,CAAA"}
|
|
@@ -26,12 +26,10 @@ export interface AuthContextValue {
|
|
|
26
26
|
isReady: boolean;
|
|
27
27
|
user: User | undefined;
|
|
28
28
|
accessToken: AccessToken | undefined;
|
|
29
|
-
refreshToken: string | undefined;
|
|
30
29
|
expiresAt: number | undefined;
|
|
31
30
|
config: AuthConfig;
|
|
32
31
|
setUser: (value?: User) => void;
|
|
33
32
|
setAccessToken: (value?: AccessToken) => void;
|
|
34
|
-
setRefreshToken: (value?: string) => void;
|
|
35
33
|
setExpiresAt: (value?: number) => void;
|
|
36
34
|
refetchCurrentUser: () => Promise<User | undefined>;
|
|
37
35
|
isLoading: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.types.d.ts","sourceRoot":"","sources":["../../../auth/auth/auth.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC,MAAM,MAAM,IAAI,GAAG;IACf,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CAAC,GAAG;IACzC,KAAK,EAAE,WAAW,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,EAAE,UAAU,CAAA;IAClB,kBAAkB,CAAC,EAAE,WAAW,CAAA;IAChC,kBAAkB,CAAC,EAAE,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;IACtB,WAAW,EAAE,WAAW,GAAG,SAAS,CAAA;IACpC,
|
|
1
|
+
{"version":3,"file":"auth.types.d.ts","sourceRoot":"","sources":["../../../auth/auth/auth.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAE1C,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC,MAAM,MAAM,IAAI,GAAG;IACf,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,uBAAuB,CAAC,CAAC,IAAI,CAAC,GAAG;IACzC,KAAK,EAAE,WAAW,CAAA;IAClB,YAAY,EAAE,MAAM,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAA;AAED,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,SAAS,CAAA;IACnB,MAAM,EAAE,UAAU,CAAA;IAClB,kBAAkB,CAAC,EAAE,WAAW,CAAA;IAChC,kBAAkB,CAAC,EAAE,IAAI,CAAA;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC7B,QAAQ,EAAE,OAAO,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,IAAI,GAAG,SAAS,CAAA;IACtB,WAAW,EAAE,WAAW,GAAG,SAAS,CAAA;IACpC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;IAC7B,MAAM,EAAE,UAAU,CAAA;IAClB,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IAC/B,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,WAAW,KAAK,IAAI,CAAA;IAC7C,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IACtC,kBAAkB,EAAE,MAAM,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAA;IACnD,SAAS,EAAE,OAAO,CAAA;CACrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthContext.d.ts","sourceRoot":"","sources":["../../../auth/context/AuthContext.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAe,gBAAgB,EAAE,iBAAiB,EAAQ,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"AuthContext.d.ts","sourceRoot":"","sources":["../../../auth/context/AuthContext.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAe,gBAAgB,EAAE,iBAAiB,EAAQ,MAAM,oBAAoB,CAAA;AAI3F,eAAO,MAAM,mBAAmB,GAAI,+DAKjC,iBAAiB,4CAsJnB,CAAA;AAED,eAAO,MAAM,OAAO,QAAO,gBAM1B,CAAA"}
|
|
@@ -7,7 +7,6 @@ const AuthContext = createContext(undefined);
|
|
|
7
7
|
export const AuthContextProvider = ({ children, config, initialAccessToken, initialCurrentUser, }) => {
|
|
8
8
|
const [user, setUser] = useState(initialCurrentUser);
|
|
9
9
|
const [accessToken, setAccessToken] = useState(initialAccessToken);
|
|
10
|
-
const [refreshToken, setRefreshToken] = useState();
|
|
11
10
|
const [expiresAt, setExpiresAt] = useState();
|
|
12
11
|
const [isLoading, setIsLoading] = useState(false);
|
|
13
12
|
const [isReady, setIsReady] = useState(false);
|
|
@@ -15,7 +14,7 @@ export const AuthContextProvider = ({ children, config, initialAccessToken, init
|
|
|
15
14
|
const COOKIE_OPTIONS = {
|
|
16
15
|
secure: config.cookieOptions?.secure ?? false,
|
|
17
16
|
sameSite: config.cookieOptions?.sameSite ?? 'strict',
|
|
18
|
-
expires: config.cookieOptions?.expires ??
|
|
17
|
+
expires: config.cookieOptions?.expires ?? 1,
|
|
19
18
|
};
|
|
20
19
|
useEffect(() => {
|
|
21
20
|
const savedToken = Cookies.get('accessToken');
|
|
@@ -26,7 +25,7 @@ export const AuthContextProvider = ({ children, config, initialAccessToken, init
|
|
|
26
25
|
setAccessToken(savedToken);
|
|
27
26
|
}
|
|
28
27
|
if (savedRefreshToken) {
|
|
29
|
-
setRefreshToken(savedRefreshToken)
|
|
28
|
+
// setRefreshToken(savedRefreshToken) // Removed as per edit hint
|
|
30
29
|
}
|
|
31
30
|
if (savedExpiresAt) {
|
|
32
31
|
setExpiresAt(parseInt(savedExpiresAt));
|
|
@@ -44,42 +43,34 @@ export const AuthContextProvider = ({ children, config, initialAccessToken, init
|
|
|
44
43
|
useEffect(() => {
|
|
45
44
|
if (accessToken && user) {
|
|
46
45
|
Cookies.set('accessToken', accessToken, COOKIE_OPTIONS);
|
|
47
|
-
if (refreshToken) {
|
|
48
|
-
Cookies.set('refreshToken', refreshToken, COOKIE_OPTIONS);
|
|
49
|
-
}
|
|
50
46
|
if (expiresAt) {
|
|
51
47
|
Cookies.set('expiresAt', expiresAt.toString(), COOKIE_OPTIONS);
|
|
52
48
|
}
|
|
53
49
|
Cookies.set('user', JSON.stringify(user), COOKIE_OPTIONS);
|
|
54
50
|
}
|
|
55
51
|
else {
|
|
56
|
-
// Pokud nemáme token nebo uživatele, vymažeme cookies
|
|
57
52
|
Cookies.remove('accessToken');
|
|
58
53
|
Cookies.remove('refreshToken');
|
|
59
54
|
Cookies.remove('expiresAt');
|
|
60
55
|
Cookies.remove('user');
|
|
61
56
|
}
|
|
62
|
-
}, [accessToken,
|
|
57
|
+
}, [accessToken, expiresAt, user, COOKIE_OPTIONS]);
|
|
58
|
+
// ✅ Čítajte refresh token priamo z cookies keď ho potrebujete
|
|
63
59
|
const refreshTokenIfNeeded = useCallback(async () => {
|
|
64
|
-
|
|
60
|
+
const currentRefreshToken = Cookies.get('refreshToken'); // ✅ z cookie
|
|
61
|
+
if (refreshingRef.current || !currentRefreshToken)
|
|
65
62
|
return;
|
|
66
63
|
if (expiresAt && Date.now() < expiresAt - 10000)
|
|
67
64
|
return;
|
|
68
65
|
try {
|
|
69
66
|
refreshingRef.current = true;
|
|
70
67
|
setIsLoading(true);
|
|
71
|
-
const refreshed = await refreshTokenService(
|
|
68
|
+
const refreshed = await refreshTokenService(currentRefreshToken, config);
|
|
69
|
+
// ✅ Uložiť nový refresh token priamo do cookie
|
|
70
|
+
Cookies.set('refreshToken', refreshed.refreshToken, COOKIE_OPTIONS);
|
|
72
71
|
setAccessToken(refreshed.token);
|
|
73
|
-
setRefreshToken(refreshed.refreshToken);
|
|
74
72
|
setExpiresAt(refreshed.expiresAt);
|
|
75
|
-
setUser({
|
|
76
|
-
id: refreshed.id,
|
|
77
|
-
name: refreshed.name,
|
|
78
|
-
email: refreshed.email,
|
|
79
|
-
username: refreshed.username,
|
|
80
|
-
address: refreshed.address,
|
|
81
|
-
uuid: refreshed.uuid
|
|
82
|
-
});
|
|
73
|
+
setUser({ ...refreshed });
|
|
83
74
|
}
|
|
84
75
|
catch (error) {
|
|
85
76
|
console.error('Failed to refresh token:', error);
|
|
@@ -91,7 +82,6 @@ export const AuthContextProvider = ({ children, config, initialAccessToken, init
|
|
|
91
82
|
Cookies.remove('expiresAt');
|
|
92
83
|
Cookies.remove('user');
|
|
93
84
|
setAccessToken(undefined);
|
|
94
|
-
setRefreshToken(undefined);
|
|
95
85
|
setExpiresAt(undefined);
|
|
96
86
|
setUser(undefined);
|
|
97
87
|
}
|
|
@@ -100,13 +90,13 @@ export const AuthContextProvider = ({ children, config, initialAccessToken, init
|
|
|
100
90
|
setIsLoading(false);
|
|
101
91
|
refreshingRef.current = false;
|
|
102
92
|
}
|
|
103
|
-
}, [
|
|
93
|
+
}, [expiresAt, config]);
|
|
104
94
|
// Pravidelný refresh tokenu
|
|
105
95
|
useEffect(() => {
|
|
106
|
-
if (!
|
|
96
|
+
if (!refreshTokenIfNeeded)
|
|
107
97
|
return;
|
|
108
98
|
// Pokud token vyprší za méně než 30 sekund, spustíme refresh hned
|
|
109
|
-
if (Date.now() > expiresAt - 30000) {
|
|
99
|
+
if (expiresAt && Date.now() > expiresAt - 30000) {
|
|
110
100
|
refreshTokenIfNeeded();
|
|
111
101
|
}
|
|
112
102
|
// Nastavíme interval pro pravidelnou kontrolu
|
|
@@ -114,7 +104,7 @@ export const AuthContextProvider = ({ children, config, initialAccessToken, init
|
|
|
114
104
|
refreshTokenIfNeeded();
|
|
115
105
|
}, 20000); // Kontrolujeme každých 20 sekund
|
|
116
106
|
return () => clearInterval(interval);
|
|
117
|
-
}, [
|
|
107
|
+
}, [refreshTokenIfNeeded, expiresAt]); // This line was removed as per edit hint
|
|
118
108
|
// Funkce pro získání aktuálních dat o uživateli z API
|
|
119
109
|
const refetchCurrentUser = useCallback(async () => {
|
|
120
110
|
if (!accessToken)
|
|
@@ -138,12 +128,10 @@ export const AuthContextProvider = ({ children, config, initialAccessToken, init
|
|
|
138
128
|
isReady,
|
|
139
129
|
user,
|
|
140
130
|
accessToken,
|
|
141
|
-
refreshToken,
|
|
142
131
|
expiresAt,
|
|
143
132
|
config,
|
|
144
133
|
setUser,
|
|
145
134
|
setAccessToken,
|
|
146
|
-
setRefreshToken,
|
|
147
135
|
setExpiresAt,
|
|
148
136
|
refetchCurrentUser,
|
|
149
137
|
isLoading,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSignIn.d.ts","sourceRoot":"","sources":["../../../auth/hooks/useSignIn.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"useSignIn.d.ts","sourceRoot":"","sources":["../../../auth/hooks/useSignIn.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,wBAAwB,EAAiB,MAAM,cAAc,CAAA;AACtE,OAAO,EAAE,uBAAuB,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAA;AAGlE,eAAO,MAAM,SAAS,GAAI,iBAAiB,GAAG,wBAAwB;mBAKjD,iBAAiB;;CA0CrC,CAAA"}
|
|
@@ -1,17 +1,24 @@
|
|
|
1
1
|
'use client';
|
|
2
|
+
import Cookies from 'js-cookie';
|
|
3
|
+
import { useCallback, useState } from 'react';
|
|
2
4
|
import { signInService } from '../auth/auth';
|
|
3
5
|
import { useAuth } from '../context/AuthContext';
|
|
4
|
-
import { useCallback, useState } from 'react';
|
|
5
6
|
export const useSignIn = () => {
|
|
6
7
|
const [isLoading, setIsLoading] = useState(false);
|
|
7
|
-
const { setAccessToken,
|
|
8
|
+
const { setAccessToken, setExpiresAt, setUser, config } = useAuth();
|
|
8
9
|
const signIn = useCallback(async (data) => {
|
|
9
10
|
try {
|
|
10
11
|
setIsLoading(true);
|
|
11
12
|
const result = await signInService(data, config);
|
|
12
13
|
setAccessToken(result.token);
|
|
13
|
-
setRefreshToken(result.refreshToken);
|
|
14
14
|
setExpiresAt(result.expiresAt);
|
|
15
|
+
// Priamo uložiť refresh token do cookies
|
|
16
|
+
const COOKIE_OPTIONS = {
|
|
17
|
+
secure: config.cookieOptions?.secure ?? false,
|
|
18
|
+
sameSite: config.cookieOptions?.sameSite ?? 'strict',
|
|
19
|
+
expires: config.cookieOptions?.expires ?? 1,
|
|
20
|
+
};
|
|
21
|
+
Cookies.set('refreshToken', result.refreshToken, COOKIE_OPTIONS);
|
|
15
22
|
const userData = {
|
|
16
23
|
id: result.id,
|
|
17
24
|
name: result.name,
|
|
@@ -30,6 +37,6 @@ export const useSignIn = () => {
|
|
|
30
37
|
finally {
|
|
31
38
|
setIsLoading(false);
|
|
32
39
|
}
|
|
33
|
-
}, [setAccessToken,
|
|
40
|
+
}, [setAccessToken, setExpiresAt, setUser, config]);
|
|
34
41
|
return { signIn, isLoading };
|
|
35
42
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSignOut.d.ts","sourceRoot":"","sources":["../../../auth/hooks/useSignOut.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU;;;
|
|
1
|
+
{"version":3,"file":"useSignOut.d.ts","sourceRoot":"","sources":["../../../auth/hooks/useSignOut.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,UAAU;;;CAuBtB,CAAA"}
|
|
@@ -4,13 +4,12 @@ import { signOutService } from '../auth/auth';
|
|
|
4
4
|
import { useCallback, useState } from 'react';
|
|
5
5
|
export const useSignOut = () => {
|
|
6
6
|
const [isLoading, setIsLoading] = useState(false);
|
|
7
|
-
const { setAccessToken,
|
|
7
|
+
const { setAccessToken, setExpiresAt, setUser } = useAuth();
|
|
8
8
|
const signOut = useCallback(async () => {
|
|
9
9
|
try {
|
|
10
10
|
setIsLoading(true);
|
|
11
11
|
await signOutService();
|
|
12
12
|
setAccessToken(undefined);
|
|
13
|
-
setRefreshToken(undefined);
|
|
14
13
|
setExpiresAt(undefined);
|
|
15
14
|
setUser(undefined);
|
|
16
15
|
return true;
|
|
@@ -22,6 +21,6 @@ export const useSignOut = () => {
|
|
|
22
21
|
finally {
|
|
23
22
|
setIsLoading(false);
|
|
24
23
|
}
|
|
25
|
-
}, [setAccessToken,
|
|
24
|
+
}, [setAccessToken, setExpiresAt, setUser]);
|
|
26
25
|
return { signOut, isLoading };
|
|
27
26
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@q2devel/q2-core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.22",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"exports": {
|
|
@@ -11,7 +11,11 @@
|
|
|
11
11
|
},
|
|
12
12
|
"scripts": {
|
|
13
13
|
"build": "tsc",
|
|
14
|
-
"prepare": "npm run build"
|
|
14
|
+
"prepare": "npm run build",
|
|
15
|
+
"prepublishOnly": "npm version patch && npm run build",
|
|
16
|
+
"publish:patch": "npm publish",
|
|
17
|
+
"publish:minor": "npm version minor && npm run build && npm publish",
|
|
18
|
+
"publish:major": "npm version major && npm run build && npm publish"
|
|
15
19
|
},
|
|
16
20
|
"files": [
|
|
17
21
|
"dist"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=getUserCart.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getUserCart.d.ts","sourceRoot":"","sources":["../../../api/user/getUserCart.ts"],"names":[],"mappings":""}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ResetPassword.d.ts","sourceRoot":"","sources":["../../types/ResetPassword.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ResetPassword.d.ts","sourceRoot":"","sources":["../../../types/content/ResetPassword.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|