gemi 0.4.41 → 0.4.43
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/app/App.d.ts +1 -0
- package/dist/app/App.d.ts.map +1 -1
- package/dist/app/createFlatApiRoutes.d.ts +6 -4
- package/dist/app/createFlatApiRoutes.d.ts.map +1 -1
- package/dist/app/createFlatViewRoutes.d.ts +6 -4
- package/dist/app/createFlatViewRoutes.d.ts.map +1 -1
- package/dist/app/index.js +65 -65
- package/dist/chunk-00935722c776a294.js +2 -0
- package/dist/chunk-00e9dad0734d9761.js +2 -0
- package/dist/chunk-01052ff9d1c07ef8.js +1 -1
- package/dist/chunk-030b4fb955329860.js +16 -0
- package/dist/chunk-03c8e645c994d40a.js +1 -1
- package/dist/chunk-08539d08fa7362f7.js +2 -0
- package/dist/chunk-09dd89e1046786a5.js +2 -0
- package/dist/chunk-1900e90c372bb1d6.js +1 -1
- package/dist/chunk-29c46abebbc0f09b.js +2 -0
- package/dist/chunk-2b3eabd01b2ae3f8.js +2 -0
- package/dist/chunk-2ecc077efab285b4.js +2 -0
- package/dist/chunk-2f6867d08b95f2d2.js +2 -0
- package/dist/chunk-3567e8e424a60c99.js +18 -0
- package/dist/chunk-3a3092db69408490.js +2 -0
- package/dist/chunk-3aecba8553e036bf.js +6 -0
- package/dist/chunk-40c21fe243675250.js +2 -0
- package/dist/chunk-487b7c0cb388d533.js +6 -0
- package/dist/chunk-488b4db0c522d44a.js +1 -0
- package/dist/chunk-4960e27e19bbe42a.js +2 -0
- package/dist/chunk-4cb19a9e82653084.js +1 -1
- package/dist/chunk-51bad63147c3be4e.js +6 -0
- package/dist/chunk-584e33c96b1a78e4.js +2 -0
- package/dist/chunk-5fd67245740e3908.js +9 -0
- package/dist/chunk-61abf77c3eee8698.js +2 -0
- package/dist/chunk-68af0a6f6be163ce.js +2 -0
- package/dist/chunk-6a28d299b5726bba.js +2 -0
- package/dist/chunk-6e415d0e12fc9539.js +1 -0
- package/dist/chunk-76a525af0575486d.js +5 -0
- package/dist/chunk-798f550643937b6d.js +2 -0
- package/dist/chunk-7ce930fe69575c87.js +2 -0
- package/dist/chunk-7e9d5eea3aa359ad.js +2 -0
- package/dist/chunk-7ffe2ce59a054e35.js +2 -0
- package/dist/chunk-8133ed564834cff3.js +2 -0
- package/dist/chunk-81ce9b491b290639.js +1 -0
- package/dist/chunk-8a993922ea970923.js +2 -0
- package/dist/chunk-901e700a2c2d43f3.js +18 -0
- package/dist/chunk-9113f22a5215c639.js +3 -0
- package/dist/chunk-9326224d1e4c1a64.js +2 -0
- package/dist/chunk-9501e589e3e86a96.js +2 -0
- package/dist/chunk-a0003b7feea6fae6.js +2 -0
- package/dist/chunk-a2fcc46e344ae7ae.js +2 -0
- package/dist/chunk-a3f85d0d3261ae44.js +9 -0
- package/dist/chunk-a693f8ec2e8af8ca.js +2 -0
- package/dist/chunk-ae373c8ae2d526ae.js +18 -0
- package/dist/chunk-b05e4833f4bb2f8f.js +9 -0
- package/dist/chunk-b0cc82fa84d5362d.js +2 -0
- package/dist/chunk-b3bfe533d66f6a17.js +2 -0
- package/dist/chunk-b5d6eb761760b2a7.js +6 -0
- package/dist/chunk-b7b365f7e6038104.js +2 -0
- package/dist/chunk-be095501304df604.js +9 -0
- package/dist/chunk-bf92f3127474b56a.js +3 -0
- package/dist/chunk-bfccfb070c1630e9.js +2 -0
- package/dist/chunk-c041f058dc3d571b.js +1 -0
- package/dist/chunk-c0bd8e19395d722b.js +2 -0
- package/dist/chunk-c124bf801cec12d9.js +2 -0
- package/dist/chunk-c153b192112b0d44.js +2 -0
- package/dist/chunk-c1813278ccdc04b8.js +2 -0
- package/dist/chunk-c3eaa877d3aab9db.js +18 -0
- package/dist/chunk-c609d06153ed09ce.js +1 -1
- package/dist/chunk-c72bfaa252a03f6f.js +2 -0
- package/dist/chunk-c85fc7168a708cb6.js +3 -0
- package/dist/chunk-d0806df6defd9dce.js +2 -0
- package/dist/chunk-d26ffb7722e6df54.js +1 -0
- package/dist/chunk-d2e057b6f3f9d500.js +2 -0
- package/dist/chunk-d33a0e61ccf1bab5.js +2 -0
- package/dist/chunk-d5ddfacbfc84a47d.js +6 -0
- package/dist/chunk-da1c673d9685624e.js +2 -0
- package/dist/chunk-dc7b0cf226ba3afa.js +1 -1
- package/dist/chunk-dcc432bd72fb7e46.js +3 -0
- package/dist/chunk-dfc390f0bbdf5a81.js +1 -0
- package/dist/chunk-e1a08bb52ee7ea09.js +2 -0
- package/dist/chunk-e53fdd0a1888c5e8.js +2 -0
- package/dist/chunk-e9695f3cdafee20b.js +2 -0
- package/dist/chunk-edeefd833c30a5ed.js +2 -0
- package/dist/chunk-f08ca4bd263b132b.js +2 -0
- package/dist/chunk-f5a4295176f9b1c1.js +2 -0
- package/dist/chunk-f5e313cc7d724fbe.js +2 -0
- package/dist/chunk-f9e6a0a946ebb032.js +2 -0
- package/dist/chunk-ffe161a589b4c44b.js +1 -0
- package/dist/client/ClientRouter.d.ts.map +1 -1
- package/dist/client/ClientRouterContext.d.ts +1 -0
- package/dist/client/ClientRouterContext.d.ts.map +1 -1
- package/dist/client/Mutation.d.ts +9 -13
- package/dist/client/Mutation.d.ts.map +1 -1
- package/dist/client/ServerDataProvider.d.ts +2 -0
- package/dist/client/ServerDataProvider.d.ts.map +1 -1
- package/dist/client/auth/useForgotPassword.d.ts.map +1 -1
- package/dist/client/auth/useResetPassword.d.ts.map +1 -1
- package/dist/client/auth/useSignIn.d.ts.map +1 -1
- package/dist/client/auth/useSignOut.d.ts.map +1 -1
- package/dist/client/auth/useUser.d.ts.map +1 -1
- package/dist/client/i18n/I18nContext.d.ts +18 -0
- package/dist/client/i18n/I18nContext.d.ts.map +1 -0
- package/dist/client/i18n/useLocale.d.ts +2 -0
- package/dist/client/i18n/useLocale.d.ts.map +1 -0
- package/dist/client/i18n/useScopedTranslator.d.ts +8 -0
- package/dist/client/i18n/useScopedTranslator.d.ts.map +1 -0
- package/dist/client/i18n/useTranslator.d.ts +2 -0
- package/dist/client/i18n/useTranslator.d.ts.map +1 -0
- package/dist/client/index.d.ts +3 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +221 -68
- package/dist/client/rpc.d.ts +6 -5
- package/dist/client/rpc.d.ts.map +1 -1
- package/dist/client/types.d.ts +1 -0
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client/useRouter.d.ts.map +1 -1
- package/dist/client/useSearchParams.d.ts +20 -1
- package/dist/client/useSearchParams.d.ts.map +1 -1
- package/dist/email/index.js +1 -1
- package/dist/facades/I18n.d.ts +5 -0
- package/dist/facades/I18n.d.ts.map +1 -0
- package/dist/facades/index.d.ts +1 -0
- package/dist/facades/index.d.ts.map +1 -1
- package/dist/facades/index.js +1 -1
- package/dist/http/ApiRouter.d.ts +4 -5
- package/dist/http/ApiRouter.d.ts.map +1 -1
- package/dist/http/HttpRequest.d.ts +2 -0
- package/dist/http/HttpRequest.d.ts.map +1 -1
- package/dist/http/I18nServiceContainer.d.ts +31 -0
- package/dist/http/I18nServiceContainer.d.ts.map +1 -0
- package/dist/http/I18nServiceProvider.d.ts +10 -0
- package/dist/http/I18nServiceProvider.d.ts.map +1 -0
- package/dist/http/index.d.ts +1 -0
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +1 -1
- package/dist/http/requestContext.d.ts +2 -0
- package/dist/http/requestContext.d.ts.map +1 -1
- package/dist/kernel/Kernel.d.ts +5 -0
- package/dist/kernel/Kernel.d.ts.map +1 -1
- package/dist/kernel/context.d.ts +6 -2
- package/dist/kernel/context.d.ts.map +1 -1
- package/dist/kernel/index.js +2 -2
- package/dist/server/index.js +1 -1
- package/dist/storage/index.js +1 -10
- package/dist/utils/type.d.ts +1 -0
- package/dist/utils/type.d.ts.map +1 -1
- package/dist/vite/index.js +1 -1
- package/package.json +1 -1
package/dist/client/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@ export { useRouter } from "./useRouter";
|
|
|
7
7
|
export { Link } from "./Link";
|
|
8
8
|
export { init } from "./init";
|
|
9
9
|
export { createRoot } from "./createRoot";
|
|
10
|
-
export type { RPC, ViewRPC } from "./rpc";
|
|
10
|
+
export type { RPC, ViewRPC, I18nDictionary } from "./rpc";
|
|
11
11
|
export { type ViewProps, type LayoutProps } from "./types";
|
|
12
12
|
export { Image } from "./Image";
|
|
13
13
|
export { useForgotPassword } from "./auth/useForgotPassword";
|
|
@@ -16,4 +16,6 @@ export { useSignUp } from "./auth/useSignUp";
|
|
|
16
16
|
export { useSignOut } from "./auth/useSignOut";
|
|
17
17
|
export { useResetPassword } from "./auth/useResetPassword";
|
|
18
18
|
export { useUser } from "./auth/useUser";
|
|
19
|
+
export { useScopedTranslator } from "./i18n/useScopedTranslator";
|
|
20
|
+
export { useLocale } from "./i18n/useLocale";
|
|
19
21
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,IAAI,EACJ,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../client/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,IAAI,EACJ,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/client/index.js
CHANGED
|
@@ -33,7 +33,7 @@ class Subject {
|
|
|
33
33
|
return this.value;
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
|
-
function applyParams$
|
|
36
|
+
function applyParams$2(url, params) {
|
|
37
37
|
return url.replace(/:([^/]+)/g, (_2, key) => {
|
|
38
38
|
const isOptional = key.endsWith("?");
|
|
39
39
|
const paramName = isOptional ? key.slice(0, -1) : key;
|
|
@@ -93,7 +93,7 @@ class Resource {
|
|
|
93
93
|
const { query, params } = options;
|
|
94
94
|
const url = key.split("GET:")[1];
|
|
95
95
|
const searchParams = new URLSearchParams(query);
|
|
96
|
-
const finalUrl = [applyParams$
|
|
96
|
+
const finalUrl = [applyParams$2(url, params), searchParams.toString()].filter((s) => s.length > 0).join("?");
|
|
97
97
|
const { data, error } = this.state.getValue();
|
|
98
98
|
this.state.next({
|
|
99
99
|
data,
|
|
@@ -187,7 +187,7 @@ function useQuery(url, ...args) {
|
|
|
187
187
|
mutate: resource.mutate.bind(resource)
|
|
188
188
|
};
|
|
189
189
|
}
|
|
190
|
-
function applyParams(url, params = {}) {
|
|
190
|
+
function applyParams$1(url, params = {}) {
|
|
191
191
|
let out = url;
|
|
192
192
|
for (const [key, value] of Object.entries(params)) {
|
|
193
193
|
out = out.replace(`:${key}?`, value).replace(`:${key}`, value);
|
|
@@ -222,7 +222,7 @@ function useMutation(url, ...args) {
|
|
|
222
222
|
const params = "params" in inputs ? inputs.params : {};
|
|
223
223
|
const [method] = String(url).split(":");
|
|
224
224
|
const finalUrl = [
|
|
225
|
-
applyParams(String(url).replace(`${method}:`, ""), params),
|
|
225
|
+
applyParams$1(String(url).replace(`${method}:`, ""), params),
|
|
226
226
|
new URLSearchParams(query).toString()
|
|
227
227
|
].join("?");
|
|
228
228
|
let body = null;
|
|
@@ -1347,24 +1347,35 @@ const ClientRouterProvider = (props) => {
|
|
|
1347
1347
|
window.scrollY
|
|
1348
1348
|
);
|
|
1349
1349
|
};
|
|
1350
|
-
const
|
|
1351
|
-
|
|
1352
|
-
|
|
1350
|
+
const findMatchingRouteFromParams = (pathname2) => {
|
|
1351
|
+
const candidates = [];
|
|
1352
|
+
for (const route2 of Object.keys(routeManifest)) {
|
|
1353
|
+
const urlPattern = new me({ pathname: route2 });
|
|
1353
1354
|
if (urlPattern.test({ pathname: pathname2 })) {
|
|
1354
|
-
|
|
1355
|
+
candidates.push(route2);
|
|
1355
1356
|
}
|
|
1356
1357
|
}
|
|
1357
|
-
|
|
1358
|
+
const sortedCandidates = candidates.sort((a, b2) => {
|
|
1359
|
+
const x2 = a.split("/").length + a.split(":").length;
|
|
1360
|
+
const y2 = b2.split("/").length + b2.split(":").length;
|
|
1361
|
+
return x2 - y2;
|
|
1362
|
+
});
|
|
1363
|
+
const [route] = sortedCandidates ?? [];
|
|
1364
|
+
return route;
|
|
1365
|
+
};
|
|
1366
|
+
const getViewPathsFromPathname = (pathname2) => {
|
|
1367
|
+
const route = findMatchingRouteFromParams(pathname2);
|
|
1368
|
+
return routeManifest[route] ?? [];
|
|
1369
|
+
};
|
|
1370
|
+
const getRoutePathnameFromHref = (href) => {
|
|
1371
|
+
const route = findMatchingRouteFromParams(href);
|
|
1372
|
+
return route;
|
|
1358
1373
|
};
|
|
1359
1374
|
const getParams = (pathname2) => {
|
|
1360
1375
|
var _a2;
|
|
1361
|
-
|
|
1362
|
-
|
|
1363
|
-
|
|
1364
|
-
return (_a2 = urlPattern.exec({ pathname: pathname2 })) == null ? void 0 : _a2.pathname.groups;
|
|
1365
|
-
}
|
|
1366
|
-
}
|
|
1367
|
-
return {};
|
|
1376
|
+
const route = findMatchingRouteFromParams(pathname2);
|
|
1377
|
+
const urlPattern = new me({ pathname: route });
|
|
1378
|
+
return (_a2 = urlPattern.exec({ pathname: pathname2 })) == null ? void 0 : _a2.pathname.groups;
|
|
1368
1379
|
};
|
|
1369
1380
|
useEffect(() => {
|
|
1370
1381
|
history == null ? void 0 : history.listen(({ location }) => {
|
|
@@ -1409,7 +1420,8 @@ const ClientRouterProvider = (props) => {
|
|
|
1409
1420
|
},
|
|
1410
1421
|
viewEntriesSubject: viewEntriesSubject.current,
|
|
1411
1422
|
updatePageData,
|
|
1412
|
-
getPageData
|
|
1423
|
+
getPageData,
|
|
1424
|
+
getRoutePathnameFromHref
|
|
1413
1425
|
},
|
|
1414
1426
|
children
|
|
1415
1427
|
}
|
|
@@ -1435,8 +1447,92 @@ function useParams() {
|
|
|
1435
1447
|
const { params } = useContext(ClientRouterContext);
|
|
1436
1448
|
return params;
|
|
1437
1449
|
}
|
|
1450
|
+
const ServerDataContext = createContext({});
|
|
1451
|
+
const ServerDataProvider = (props) => {
|
|
1452
|
+
let _value = props.value;
|
|
1453
|
+
if (props.value) {
|
|
1454
|
+
_value = props.value;
|
|
1455
|
+
} else {
|
|
1456
|
+
_value = window.__GEMI_DATA__;
|
|
1457
|
+
}
|
|
1458
|
+
return /* @__PURE__ */ jsx(ServerDataContext.Provider, { value: _value, children: props.children });
|
|
1459
|
+
};
|
|
1460
|
+
const I18nContext = createContext({});
|
|
1461
|
+
const I18nProvider = (props) => {
|
|
1462
|
+
const { i18n } = useContext(ServerDataContext);
|
|
1463
|
+
const locale = Object.keys(i18n)[0];
|
|
1464
|
+
const [currentLocale, setCurrentLocale] = useState(locale);
|
|
1465
|
+
const [dictionary] = useState(() => {
|
|
1466
|
+
const dictionary2 = /* @__PURE__ */ new Map();
|
|
1467
|
+
for (const [locale2, value] of Object.entries(i18n)) {
|
|
1468
|
+
const scopes = /* @__PURE__ */ new Map();
|
|
1469
|
+
for (const [scope, translations] of Object.entries(value)) {
|
|
1470
|
+
scopes.set(scope, translations);
|
|
1471
|
+
}
|
|
1472
|
+
dictionary2.set(locale2, scopes);
|
|
1473
|
+
}
|
|
1474
|
+
return dictionary2;
|
|
1475
|
+
});
|
|
1476
|
+
const [currentTranslations, setCurrentTranslations] = useState(() => {
|
|
1477
|
+
if (!dictionary.has(currentLocale)) {
|
|
1478
|
+
return {};
|
|
1479
|
+
}
|
|
1480
|
+
return Object.fromEntries(dictionary.get(currentLocale).entries());
|
|
1481
|
+
});
|
|
1482
|
+
function updateDictionary(translations) {
|
|
1483
|
+
for (const [locale2, value] of Object.entries(translations)) {
|
|
1484
|
+
if (!dictionary.has(locale2)) {
|
|
1485
|
+
dictionary.set(locale2, /* @__PURE__ */ new Map());
|
|
1486
|
+
}
|
|
1487
|
+
const scopes = dictionary.get(locale2);
|
|
1488
|
+
for (const [scope, translations2] of Object.entries(value)) {
|
|
1489
|
+
if (!scopes.has(scope)) {
|
|
1490
|
+
scopes.set(scope, {});
|
|
1491
|
+
}
|
|
1492
|
+
scopes.set(scope, translations2);
|
|
1493
|
+
}
|
|
1494
|
+
}
|
|
1495
|
+
setCurrentTranslations(
|
|
1496
|
+
Object.fromEntries(dictionary.get(currentLocale).entries())
|
|
1497
|
+
);
|
|
1498
|
+
}
|
|
1499
|
+
const changeLocale = (locale2) => {
|
|
1500
|
+
if (dictionary.has(locale2)) {
|
|
1501
|
+
setCurrentLocale(locale2);
|
|
1502
|
+
setCurrentTranslations(
|
|
1503
|
+
Object.fromEntries(dictionary.get(locale2).entries())
|
|
1504
|
+
);
|
|
1505
|
+
}
|
|
1506
|
+
};
|
|
1507
|
+
const fetchTranslations = async (pathname, locale2) => {
|
|
1508
|
+
const response = await fetch(
|
|
1509
|
+
`/api/__gemi__/services/i18n/translations?scope=${pathname}&locale=${locale2 || currentLocale}`
|
|
1510
|
+
);
|
|
1511
|
+
const translations = await response.json();
|
|
1512
|
+
updateDictionary(translations);
|
|
1513
|
+
};
|
|
1514
|
+
return /* @__PURE__ */ jsx(
|
|
1515
|
+
I18nContext.Provider,
|
|
1516
|
+
{
|
|
1517
|
+
value: {
|
|
1518
|
+
locale: currentLocale,
|
|
1519
|
+
translations: currentTranslations,
|
|
1520
|
+
changeLocale,
|
|
1521
|
+
updateDictionary,
|
|
1522
|
+
fetchTranslations
|
|
1523
|
+
},
|
|
1524
|
+
children: props.children
|
|
1525
|
+
}
|
|
1526
|
+
);
|
|
1527
|
+
};
|
|
1438
1528
|
function useRouter() {
|
|
1439
|
-
const {
|
|
1529
|
+
const {
|
|
1530
|
+
updatePageData,
|
|
1531
|
+
history,
|
|
1532
|
+
getViewPathsFromPathname,
|
|
1533
|
+
getRoutePathnameFromHref
|
|
1534
|
+
} = useContext(ClientRouterContext);
|
|
1535
|
+
const { fetchTranslations } = useContext(I18nContext);
|
|
1440
1536
|
function action(pushOrReplace) {
|
|
1441
1537
|
return async (path, ...args) => {
|
|
1442
1538
|
const [options = {}] = args;
|
|
@@ -1450,9 +1546,9 @@ function useRouter() {
|
|
|
1450
1546
|
...options
|
|
1451
1547
|
};
|
|
1452
1548
|
const urlSearchParams = new URLSearchParams(search);
|
|
1453
|
-
const basePath = applyParams$
|
|
1549
|
+
const basePath = applyParams$2(path, params);
|
|
1454
1550
|
const navigationPath = [
|
|
1455
|
-
applyParams$
|
|
1551
|
+
applyParams$2(path, params),
|
|
1456
1552
|
urlSearchParams.toString()
|
|
1457
1553
|
].join("?");
|
|
1458
1554
|
const components = getViewPathsFromPathname(path);
|
|
@@ -1464,8 +1560,10 @@ function useRouter() {
|
|
|
1464
1560
|
history == null ? void 0 : history[pushOrReplace](navigationPath);
|
|
1465
1561
|
return;
|
|
1466
1562
|
}
|
|
1563
|
+
const routePathname = getRoutePathnameFromHref(path);
|
|
1467
1564
|
const [res] = await Promise.all([
|
|
1468
1565
|
fetch(fetchPath),
|
|
1566
|
+
fetchTranslations(routePathname),
|
|
1469
1567
|
...components.map((component) => window.loaders[component]())
|
|
1470
1568
|
]);
|
|
1471
1569
|
if (res.ok) {
|
|
@@ -1481,23 +1579,67 @@ function useRouter() {
|
|
|
1481
1579
|
replace: action("replace")
|
|
1482
1580
|
};
|
|
1483
1581
|
}
|
|
1582
|
+
class SearchParams {
|
|
1583
|
+
constructor(searchParams, callback) {
|
|
1584
|
+
this.searchParams = searchParams;
|
|
1585
|
+
this.callback = callback;
|
|
1586
|
+
}
|
|
1587
|
+
get(key) {
|
|
1588
|
+
return this.searchParams.get(key);
|
|
1589
|
+
}
|
|
1590
|
+
set(key, value) {
|
|
1591
|
+
let entries = {};
|
|
1592
|
+
if (typeof key === "string") {
|
|
1593
|
+
entries[key] = value;
|
|
1594
|
+
} else {
|
|
1595
|
+
entries = key ?? {};
|
|
1596
|
+
}
|
|
1597
|
+
for (const [key2, value2] of Object.entries(entries)) {
|
|
1598
|
+
this.searchParams.set(key2, value2);
|
|
1599
|
+
}
|
|
1600
|
+
return this;
|
|
1601
|
+
}
|
|
1602
|
+
append(key, value) {
|
|
1603
|
+
this.searchParams.append(key, value);
|
|
1604
|
+
return this;
|
|
1605
|
+
}
|
|
1606
|
+
sort() {
|
|
1607
|
+
this.searchParams.sort();
|
|
1608
|
+
return this;
|
|
1609
|
+
}
|
|
1610
|
+
clear() {
|
|
1611
|
+
this.searchParams = new URLSearchParams();
|
|
1612
|
+
return this;
|
|
1613
|
+
}
|
|
1614
|
+
delete(key) {
|
|
1615
|
+
const keys = Array.isArray(key) ? key : [key];
|
|
1616
|
+
for (const key2 of keys) {
|
|
1617
|
+
this.searchParams.delete(key2);
|
|
1618
|
+
}
|
|
1619
|
+
return this;
|
|
1620
|
+
}
|
|
1621
|
+
toJSON() {
|
|
1622
|
+
return Object.fromEntries(this.searchParams.entries());
|
|
1623
|
+
}
|
|
1624
|
+
toString() {
|
|
1625
|
+
return this.searchParams.toString();
|
|
1626
|
+
}
|
|
1627
|
+
push(mode = "hard") {
|
|
1628
|
+
this.callback(this.toJSON(), mode === "soft");
|
|
1629
|
+
}
|
|
1630
|
+
}
|
|
1484
1631
|
function useSearchParams() {
|
|
1485
1632
|
const { push } = useRouter();
|
|
1486
1633
|
const location = useLocation();
|
|
1487
|
-
const
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
|
|
1493
|
-
|
|
1494
|
-
|
|
1495
|
-
|
|
1496
|
-
),
|
|
1497
|
-
shallow
|
|
1498
|
-
});
|
|
1499
|
-
};
|
|
1500
|
-
return [searchParams, setSearchParams];
|
|
1634
|
+
const callback = (search, shallow) => push(location.pathname, {
|
|
1635
|
+
search,
|
|
1636
|
+
shallow
|
|
1637
|
+
});
|
|
1638
|
+
const searchParams = new SearchParams(
|
|
1639
|
+
new URLSearchParams(location.search),
|
|
1640
|
+
callback
|
|
1641
|
+
);
|
|
1642
|
+
return searchParams;
|
|
1501
1643
|
}
|
|
1502
1644
|
const Link = (props) => {
|
|
1503
1645
|
const {
|
|
@@ -1510,7 +1652,7 @@ const Link = (props) => {
|
|
|
1510
1652
|
} = { params: {}, ...props };
|
|
1511
1653
|
const { push } = useRouter();
|
|
1512
1654
|
const { pathname } = useLocation();
|
|
1513
|
-
const path = applyParams$
|
|
1655
|
+
const path = applyParams$2(href, params);
|
|
1514
1656
|
return /* @__PURE__ */ jsx(
|
|
1515
1657
|
"a",
|
|
1516
1658
|
{
|
|
@@ -30160,16 +30302,6 @@ if (process.env.NODE_ENV === "production") {
|
|
|
30160
30302
|
client.exports = requireReactDomClient_development();
|
|
30161
30303
|
}
|
|
30162
30304
|
var clientExports = client.exports;
|
|
30163
|
-
const ServerDataContext = createContext({});
|
|
30164
|
-
const ServerDataProvider = (props) => {
|
|
30165
|
-
let _value = props.value;
|
|
30166
|
-
if (props.value) {
|
|
30167
|
-
_value = props.value;
|
|
30168
|
-
} else {
|
|
30169
|
-
_value = window.__GEMI_DATA__;
|
|
30170
|
-
}
|
|
30171
|
-
return /* @__PURE__ */ jsx(ServerDataContext.Provider, { value: _value, children: props.children });
|
|
30172
|
-
};
|
|
30173
30305
|
function flattenComponentTree(componentTree) {
|
|
30174
30306
|
let out = [];
|
|
30175
30307
|
for (const [root, branches] of componentTree) {
|
|
@@ -30234,7 +30366,7 @@ const Routes = (props) => {
|
|
|
30234
30366
|
const ClientRouter = (props) => {
|
|
30235
30367
|
const { RootLayout } = props;
|
|
30236
30368
|
const { routeManifest, router, componentTree, pageData, auth } = useContext(ServerDataContext);
|
|
30237
|
-
return /* @__PURE__ */ jsx(QueryManagerProvider, { children: /* @__PURE__ */ jsx(ComponentsProvider, { viewImportMap: props.viewImportMap, children: /* @__PURE__ */ jsx(
|
|
30369
|
+
return /* @__PURE__ */ jsx(I18nProvider, { children: /* @__PURE__ */ jsx(QueryManagerProvider, { children: /* @__PURE__ */ jsx(ComponentsProvider, { viewImportMap: props.viewImportMap, children: /* @__PURE__ */ jsx(
|
|
30238
30370
|
ClientRouterProvider,
|
|
30239
30371
|
{
|
|
30240
30372
|
searchParams: router.searchParams,
|
|
@@ -30246,7 +30378,7 @@ const ClientRouter = (props) => {
|
|
|
30246
30378
|
routeManifest,
|
|
30247
30379
|
children: /* @__PURE__ */ jsx(StrictMode, { children: /* @__PURE__ */ jsx(RootLayout, { children: /* @__PURE__ */ jsx(Routes, { componentTree }) }) })
|
|
30248
30380
|
}
|
|
30249
|
-
) }) });
|
|
30381
|
+
) }) }) });
|
|
30250
30382
|
};
|
|
30251
30383
|
function init(RootLayout) {
|
|
30252
30384
|
clientExports.hydrateRoot(
|
|
@@ -30322,10 +30454,9 @@ const defaultArgs$3 = {
|
|
|
30322
30454
|
};
|
|
30323
30455
|
function useForgotPassword(args = defaultArgs$3) {
|
|
30324
30456
|
return useMutation(
|
|
30325
|
-
"POST:/forgot-password",
|
|
30457
|
+
"POST:/auth/forgot-password",
|
|
30326
30458
|
{},
|
|
30327
30459
|
{
|
|
30328
|
-
pathPrefix: "/auth",
|
|
30329
30460
|
onSuccess: () => {
|
|
30330
30461
|
args.onSuccess();
|
|
30331
30462
|
}
|
|
@@ -30337,16 +30468,11 @@ const defaultArgs$2 = {
|
|
|
30337
30468
|
}
|
|
30338
30469
|
};
|
|
30339
30470
|
function useSignIn(args = defaultArgs$2) {
|
|
30340
|
-
const { mutate } = useQuery(
|
|
30341
|
-
"GET:/me",
|
|
30342
|
-
{ params: {}, query: {} },
|
|
30343
|
-
{ pathPrefix: "/auth" }
|
|
30344
|
-
);
|
|
30471
|
+
const { mutate } = useQuery("GET:/auth/me", { params: {}, query: {} });
|
|
30345
30472
|
return useMutation(
|
|
30346
|
-
"POST:/sign-in",
|
|
30473
|
+
"POST:/auth/sign-in",
|
|
30347
30474
|
{},
|
|
30348
30475
|
{
|
|
30349
|
-
pathPrefix: "/auth",
|
|
30350
30476
|
onSuccess: ({ user }) => {
|
|
30351
30477
|
args.onSuccess(user);
|
|
30352
30478
|
mutate(user);
|
|
@@ -30355,23 +30481,18 @@ function useSignIn(args = defaultArgs$2) {
|
|
|
30355
30481
|
);
|
|
30356
30482
|
}
|
|
30357
30483
|
function useSignUp() {
|
|
30358
|
-
return useMutation("POST:/sign-up", {}
|
|
30484
|
+
return useMutation("POST:/auth/sign-up", {});
|
|
30359
30485
|
}
|
|
30360
30486
|
const defaultArgs$1 = {
|
|
30361
30487
|
onSuccess: () => {
|
|
30362
30488
|
}
|
|
30363
30489
|
};
|
|
30364
30490
|
function useSignOut(args = defaultArgs$1) {
|
|
30365
|
-
const { mutate } = useQuery(
|
|
30366
|
-
"GET:/me",
|
|
30367
|
-
{ params: {}, query: {} },
|
|
30368
|
-
{ pathPrefix: "/auth" }
|
|
30369
|
-
);
|
|
30491
|
+
const { mutate } = useQuery("GET:/auth/me", { params: {}, query: {} });
|
|
30370
30492
|
return useMutation(
|
|
30371
|
-
"POST:/sign-out",
|
|
30493
|
+
"POST:/auth/sign-out",
|
|
30372
30494
|
{},
|
|
30373
30495
|
{
|
|
30374
|
-
pathPrefix: "/auth",
|
|
30375
30496
|
onSuccess: () => {
|
|
30376
30497
|
args.onSuccess();
|
|
30377
30498
|
mutate(null);
|
|
@@ -30385,10 +30506,9 @@ const defaultArgs = {
|
|
|
30385
30506
|
};
|
|
30386
30507
|
function useResetPassword(args = defaultArgs) {
|
|
30387
30508
|
return useMutation(
|
|
30388
|
-
"POST:/reset-password",
|
|
30509
|
+
"POST:/auth/reset-password",
|
|
30389
30510
|
{},
|
|
30390
30511
|
{
|
|
30391
|
-
pathPrefix: "/auth",
|
|
30392
30512
|
onSuccess: () => {
|
|
30393
30513
|
args.onSuccess();
|
|
30394
30514
|
}
|
|
@@ -30398,10 +30518,9 @@ function useResetPassword(args = defaultArgs) {
|
|
|
30398
30518
|
function useUser() {
|
|
30399
30519
|
const { auth } = useContext(ServerDataContext);
|
|
30400
30520
|
const { data, loading, error } = useQuery(
|
|
30401
|
-
"GET:/me",
|
|
30521
|
+
"GET:/auth/me",
|
|
30402
30522
|
{ params: {}, query: {} },
|
|
30403
30523
|
{
|
|
30404
|
-
pathPrefix: "/auth",
|
|
30405
30524
|
fallbackData: auth.user ? { user: auth == null ? void 0 : auth.user } : null
|
|
30406
30525
|
}
|
|
30407
30526
|
);
|
|
@@ -30410,6 +30529,38 @@ function useUser() {
|
|
|
30410
30529
|
}
|
|
30411
30530
|
return { user: data == null ? void 0 : data.user, loading, error };
|
|
30412
30531
|
}
|
|
30532
|
+
function useScopedTranslator(scope) {
|
|
30533
|
+
const { translations } = useContext(I18nContext);
|
|
30534
|
+
return (key, ...args) => {
|
|
30535
|
+
const [params = {}] = args;
|
|
30536
|
+
const _scope = translations[scope];
|
|
30537
|
+
const translation = _scope == null ? void 0 : _scope[key];
|
|
30538
|
+
if (!translation) {
|
|
30539
|
+
return key;
|
|
30540
|
+
}
|
|
30541
|
+
return applyParams(translation, params);
|
|
30542
|
+
};
|
|
30543
|
+
}
|
|
30544
|
+
function applyParams(str, params) {
|
|
30545
|
+
return str.replace(/{([^}]+)}/g, (_2, key) => {
|
|
30546
|
+
const value = params[key];
|
|
30547
|
+
if (value === void 0) {
|
|
30548
|
+
throw new Error(`Missing parameter: ${key}`);
|
|
30549
|
+
}
|
|
30550
|
+
return value;
|
|
30551
|
+
});
|
|
30552
|
+
}
|
|
30553
|
+
function useLocale() {
|
|
30554
|
+
const { changeLocale, locale, fetchTranslations } = useContext(I18nContext);
|
|
30555
|
+
const { getRoutePathnameFromHref } = useContext(ClientRouterContext);
|
|
30556
|
+
const { pathname } = useLocation();
|
|
30557
|
+
const setLocale = async (locale2) => {
|
|
30558
|
+
const x2 = getRoutePathnameFromHref(pathname);
|
|
30559
|
+
await fetchTranslations(x2, locale2);
|
|
30560
|
+
changeLocale(locale2);
|
|
30561
|
+
};
|
|
30562
|
+
return [locale, setLocale];
|
|
30563
|
+
}
|
|
30413
30564
|
export {
|
|
30414
30565
|
Form,
|
|
30415
30566
|
FormError,
|
|
@@ -30420,6 +30571,7 @@ export {
|
|
|
30420
30571
|
createRoot,
|
|
30421
30572
|
init,
|
|
30422
30573
|
useForgotPassword,
|
|
30574
|
+
useLocale,
|
|
30423
30575
|
useLocation,
|
|
30424
30576
|
useMutation,
|
|
30425
30577
|
useMutationStatus,
|
|
@@ -30427,6 +30579,7 @@ export {
|
|
|
30427
30579
|
useQuery,
|
|
30428
30580
|
useResetPassword,
|
|
30429
30581
|
useRouter,
|
|
30582
|
+
useScopedTranslator,
|
|
30430
30583
|
useSearchParams,
|
|
30431
30584
|
useSignIn,
|
|
30432
30585
|
useSignOut,
|
package/dist/client/rpc.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { type AuthApiRouter } from "../auth/AuthenticationServiceProvider";
|
|
2
|
-
import { type ViewHandler } from "../http/ViewRouter";
|
|
1
|
+
import { type AuthApiRouter, type AuthViewRouter } from "../auth/AuthenticationServiceProvider";
|
|
3
2
|
import type { CreateRPC } from "../http/ApiRouter";
|
|
4
|
-
|
|
3
|
+
import type { CreateViewRPC } from "../http/ViewRouter";
|
|
4
|
+
export interface RPC extends CreateRPC<AuthApiRouter, "/auth"> {
|
|
5
5
|
}
|
|
6
|
-
export interface ViewRPC {
|
|
6
|
+
export interface ViewRPC extends CreateViewRPC<AuthViewRouter, "/auth"> {
|
|
7
|
+
}
|
|
8
|
+
export interface I18nDictionary {
|
|
7
9
|
}
|
|
8
|
-
export type ViewProps<T extends keyof ViewRPC> = ViewRPC[T] extends ViewHandler<infer I, infer O, infer P> ? O : never;
|
|
9
10
|
//# sourceMappingURL=rpc.d.ts.map
|
package/dist/client/rpc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../client/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"rpc.d.ts","sourceRoot":"","sources":["../../client/rpc.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,WAAW,GAAI,SAAQ,SAAS,CAAC,aAAa,EAAE,OAAO,CAAC;CAAG;AAEjE,MAAM,WAAW,OAAQ,SAAQ,aAAa,CAAC,cAAc,EAAE,OAAO,CAAC;CAAG;AAE1E,MAAM,WAAW,cAAc;CAAG"}
|
package/dist/client/types.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import type { ViewRPC } from "./rpc";
|
|
|
5
5
|
type ComponentBranch = [string, ComponentBranch[]];
|
|
6
6
|
export type ComponentTree = ComponentBranch[];
|
|
7
7
|
export type ViewPaths = ViewKeys<keyof ViewRPC>;
|
|
8
|
+
export type ViewRoute = keyof ViewRPC;
|
|
8
9
|
type ViewKeys<T> = T extends keyof ViewRPC ? T extends `view:${infer K}` ? K : never : never;
|
|
9
10
|
type LayoutKeys<T> = T extends keyof ViewRPC ? T extends `layout:${infer K}` ? K : never : never;
|
|
10
11
|
export type ViewProps<T extends ViewKeys<keyof ViewRPC>> = ViewRPC[`view:${T}`] extends ViewHandler<any, infer O, any> ? UnwrapPromise<O> : never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../client/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAErC,KAAK,eAAe,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;AACnD,MAAM,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;AAE9C,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../client/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAErC,KAAK,eAAe,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAAC;AACnD,MAAM,MAAM,aAAa,GAAG,eAAe,EAAE,CAAC;AAE9C,MAAM,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,OAAO,CAAC,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC;AAEtC,KAAK,QAAQ,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,OAAO,GACtC,CAAC,SAAS,QAAQ,MAAM,CAAC,EAAE,GACzB,CAAC,GACD,KAAK,GACP,KAAK,CAAC;AAEV,KAAK,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,OAAO,GACxC,CAAC,SAAS,UAAU,MAAM,CAAC,EAAE,GAC3B,CAAC,GACD,KAAK,GACP,KAAK,CAAC;AAEV,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,QAAQ,CAAC,MAAM,OAAO,CAAC,IACrD,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,SAAS,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GACvD,aAAa,CAAC,CAAC,CAAC,GAChB,KAAK,CAAC;AAEZ,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,UAAU,CAAC,MAAM,OAAO,CAAC,IACzD,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GACzD,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GACnC,KAAK,CAAC;AAEZ,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,SAAS,CAAC,GACtD,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACtB,CAAC,SAAS,GAAG,MAAM,MAAM,KAAK,MAAM,KAAK,KAAK,MAAM,IAAI,EAAE,GACxD;KAAG,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,MAAM;CAAE,GAAG,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,GACjD,CAAC,SAAS,GAAG,MAAM,MAAM,KAAK,MAAM,KAAK,IAAI,MAAM,IAAI,EAAE,GACvD;KAAG,CAAC,IAAI,KAAK,GAAG,MAAM;CAAE,GAAG,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC,GAChD,CAAC,SAAS,GAAG,MAAM,MAAM,KAAK,MAAM,KAAK,EAAE,GACzC;KAAG,CAAC,IAAI,KAAK,GAAG,MAAM;CAAE,GACxB,KAAK,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRouter.d.ts","sourceRoot":"","sources":["../../client/useRouter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"useRouter.d.ts","sourceRoot":"","sources":["../../client/useRouter.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAIpD,KAAK,OAAO,CAAC,CAAC,SAAS,SAAS,IAC9B,SAAS,CAAC,CAAC,CAAC,SAAS,KAAK,GACtB;IACE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;IACtE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,GACD;IACE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC;IACtE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAER,wBAAgB,SAAS;WAWP,CAAC,SAAS,SAAS,QACzB,CAAC,WACE,SAAS,CAAC,CAAC,CAAC,SAAS,KAAK,GAC/B,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GACtB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;cAJb,CAAC,SAAS,SAAS,QACzB,CAAC,WACE,SAAS,CAAC,CAAC,CAAC,SAAS,KAAK,GAC/B,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GACtB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;EAwD9B"}
|
|
@@ -1,2 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
type SearchParamsCallback = (search: Record<string, any>, shallow: boolean) => void;
|
|
2
|
+
declare class SearchParams {
|
|
3
|
+
private searchParams;
|
|
4
|
+
private callback;
|
|
5
|
+
constructor(searchParams: URLSearchParams, callback: SearchParamsCallback);
|
|
6
|
+
get(key: string): string;
|
|
7
|
+
set(key: Record<string, string>): SearchParams;
|
|
8
|
+
set(key: string, value: string): SearchParams;
|
|
9
|
+
append(key: string, value: string): this;
|
|
10
|
+
sort(): this;
|
|
11
|
+
clear(): this;
|
|
12
|
+
delete(key: string | string[]): this;
|
|
13
|
+
toJSON(): {
|
|
14
|
+
[k: string]: string;
|
|
15
|
+
};
|
|
16
|
+
toString(): string;
|
|
17
|
+
push(mode?: "soft" | "hard"): void;
|
|
18
|
+
}
|
|
19
|
+
export declare function useSearchParams(): SearchParams;
|
|
20
|
+
export {};
|
|
2
21
|
//# sourceMappingURL=useSearchParams.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSearchParams.d.ts","sourceRoot":"","sources":["../../client/useSearchParams.ts"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"useSearchParams.d.ts","sourceRoot":"","sources":["../../client/useSearchParams.ts"],"names":[],"mappings":"AAGA,KAAK,oBAAoB,GAAG,CAC1B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC3B,OAAO,EAAE,OAAO,KACb,IAAI,CAAC;AAEV,cAAM,YAAY;IAEd,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,QAAQ;gBADR,YAAY,EAAE,eAAe,EAC7B,QAAQ,EAAE,oBAAoB;IAGxC,GAAG,CAAC,GAAG,EAAE,MAAM;IAIf,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,YAAY;IAC9C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,YAAY;IAc7C,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAKjC,IAAI;IAKJ,KAAK;IAKL,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;IAQ7B,MAAM;;;IAIN,QAAQ;IAIR,IAAI,CAAC,IAAI,GAAE,MAAM,GAAG,MAAe;CAGpC;AAED,wBAAgB,eAAe,iBAe9B"}
|
package/dist/email/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import"../http/index.js";import"../facades/index.js";import{
|
|
2
|
+
import"../http/index.js";import"../facades/index.js";import{r as w,s as c} from"../kernel/index.js";import"../chunk-7ce930fe69575c87.js";import{renderToStaticMarkup as u} from"react-dom/server";var x=(t)=>{return`<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">${u(t)}`};class s{static async send(t,r){const e=new t,{to:a=e.to,from:l=e.from,subject:m=e.subject,cc:p=e.cc,bcc:T=e.bcc,attachments:d=e.attachments,data:E}=r,n=x(e.render(E));if(process.env.EMAIL_DEBUG){const o=`${process.env.ROOT_DIR}/.debug/emails/${(new Date()).toISOString()}${m}.html`;await Bun.write(o,n),Bun.spawnSync(["open",o]);return}await c.getContext().emailServiceProvider.send({bcc:T,cc:p,from:l,subject:m,to:a,attachments:d,html:n})}}import{createElement as f,Fragment as g} from"react";class i{from="doe@gemijs.dev";to=["hi@gemijs.dev"];subject="Welcome";cc=[];bcc=[];attachments=[];render(t){return console.log("EmailTemplate"),f(g,null,"EmailTemplate")}}export{i as EmailTemplate,w as EmailServiceProvider,s as Email};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"I18n.d.ts","sourceRoot":"","sources":["../../facades/I18n.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE7C,qBAAa,IAAI;IACf,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC;CAG/C"}
|
package/dist/facades/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../facades/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../facades/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC"}
|
package/dist/facades/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{f as
|
|
2
|
+
import{f as R,g as d,k as m,m as o} from"../http/index.js";import"../chunk-7ce930fe69575c87.js";class p{static async user(){const a=d.getStore(),c=a.req.cookies.get("access_token");let r=a.user;if(!r)r=(await m.getStore().authenticationServiceProvider.adapter.findSession({token:c,userAgent:a.req.headers.get("User-Agent")}))?.user,a.setUser(r);if(r)return r;return null}static async guard(a){const c=await p.user();if(!c)throw new o;try{if(!await a(c))throw new o}catch(r){throw new o}}static async guardSafe(a){const c=await p.user();if(!c)return!1;try{return await a(c)}catch(r){return!1}}}class i extends R{constructor(a){super("Redirect error");this.name="RedirectError",this.payload={api:{status:302,data:{error:"Redirect error"}},view:{status:302,headers:{"Cache-Control":"private, no-cache, no-store, max-age=0, must-revalidate",Location:a}}}}}class w{static to(a){throw new i(a)}}class l{static scope(a){return a}}export{w as Redirect,l as I18n,p as Auth};export{p as q};
|
package/dist/http/ApiRouter.d.ts
CHANGED
|
@@ -369,10 +369,9 @@ type RouteHandlerParser<T, Prefix extends string = ""> = T extends RouteHandler<
|
|
|
369
369
|
type RouteHandlersParser<T, Prefix extends string = ""> = T extends RouteHandlers ? {
|
|
370
370
|
[K in keyof T]: T[K] extends RouteHandler<infer Method, infer Input, infer Output, infer Params> ? KeyAndValue<`${Method & string}:${Prefix & string}`, ApiRouterHandler<Input, Output, Params>> : never;
|
|
371
371
|
}[keyof T] : never;
|
|
372
|
-
type RouterInstanceParser<T extends new () => ApiRouter, Prefix extends string> = T extends new () => ApiRouter ? RouteParser<InstanceType<T
|
|
373
|
-
type
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
export type CreateRPC<T extends ApiRouter, Prefix extends PropertyKey = ""> = KeyAndValueToObject<RouteParser<T, Prefix>>;
|
|
372
|
+
type RouterInstanceParser<T extends new () => ApiRouter, Prefix extends string> = T extends new () => ApiRouter ? RouteParser<InstanceType<T>["routes"], `${Prefix & string}`> : never;
|
|
373
|
+
type ParsePrefixAndKey<P extends PropertyKey, K extends PropertyKey, U = `${P & string}${K & string}`> = U extends "//" ? "/" : U extends `${infer T1}//${infer T2}` ? `${T1}/${T2}` : U extends `${infer T1}/${infer T2}/` ? `${T1}/${T2}` : U;
|
|
374
|
+
type RouteParser<T extends ApiRoutes, Prefix extends PropertyKey = "", K extends keyof T = keyof T> = K extends any ? T[K] extends RouteHandler<any, any, any, any> ? RouteHandlerParser<T[K], ParsePrefixAndKey<Prefix, K>> : T[K] extends new () => ApiRouter ? RouterInstanceParser<T[K], ParsePrefixAndKey<Prefix, K>> : T[K] extends RouteHandlers ? RouteHandlersParser<T[K], `${Prefix & string}${K extends "/" ? "" : K & string}`> : never : never;
|
|
375
|
+
export type CreateRPC<T extends ApiRouter, Prefix extends PropertyKey = ""> = KeyAndValueToObject<RouteParser<T["routes"], Prefix>>;
|
|
377
376
|
export {};
|
|
378
377
|
//# sourceMappingURL=ApiRouter.d.ts.map
|