gemi 0.4.59 → 0.4.60

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.
Files changed (82) hide show
  1. package/dist/chunk-0557700bf68e85d4.js +18 -0
  2. package/dist/chunk-061d95b15c00e38b.js +9 -0
  3. package/dist/chunk-06b83143607ebdc8.js +6 -0
  4. package/dist/chunk-088b47e135832170.js +1 -0
  5. package/dist/chunk-1062b3156a49fabc.js +2 -0
  6. package/dist/chunk-11d1336f6de61f45.js +16 -0
  7. package/dist/chunk-13e45ce3460f6375.js +2 -0
  8. package/dist/chunk-1838696dc4e7a115.js +2 -0
  9. package/dist/chunk-197fca66ec324ed9.js +1 -1
  10. package/dist/chunk-1b0afbf1baeeaa37.js +2 -0
  11. package/dist/chunk-1b71d04a15bfa432.js +2 -0
  12. package/dist/chunk-1b8acf308a3dc9ec.js +1 -0
  13. package/dist/chunk-22ec1973752a5488.js +2 -0
  14. package/dist/chunk-24e01cba9fc81ed1.js +2 -0
  15. package/dist/chunk-27484e5ca3244aea.js +6 -0
  16. package/dist/chunk-29a0dbe3c8eb87d4.js +6 -0
  17. package/dist/chunk-29c46abebbc0f09b.js +1 -1
  18. package/dist/chunk-2b3eabd01b2ae3f8.js +1 -1
  19. package/dist/chunk-30622b4547786346.js +2 -0
  20. package/dist/chunk-345f66382cf35683.js +2 -0
  21. package/dist/chunk-378a050132886d17.js +2 -0
  22. package/dist/chunk-3b235fc8816ff5e6.js +2 -0
  23. package/dist/chunk-4272071146eb5eb2.js +1 -0
  24. package/dist/chunk-4548da0edd8c39ed.js +2 -0
  25. package/dist/chunk-45badde289996d82.js +9 -0
  26. package/dist/chunk-489125d86cd75e69.js +9 -0
  27. package/dist/chunk-4cb5f3feff1a81c5.js +2 -0
  28. package/dist/chunk-4d46e390f99b97e0.js +2 -0
  29. package/dist/chunk-521750cca5e03c65.js +2 -0
  30. package/dist/chunk-581e0d46235dbf7c.js +2 -0
  31. package/dist/chunk-5852c4da08af607f.js +2 -0
  32. package/dist/chunk-59fe590e19085858.js +18 -0
  33. package/dist/chunk-5a2d89fce13094a9.js +2 -0
  34. package/dist/chunk-5fbde192153a2a50.js +2 -0
  35. package/dist/chunk-6ac91c66919b5ddd.js +2 -0
  36. package/dist/chunk-72add10919c9d7ae.js +2 -0
  37. package/dist/chunk-731f30522682483a.js +2 -0
  38. package/dist/chunk-7aa7f7e219919c4d.js +2 -0
  39. package/dist/chunk-817aad76d1e8eecc.js +6 -0
  40. package/dist/chunk-81a00ae1b3ea4824.js +2 -0
  41. package/dist/chunk-8450a38607a86896.js +2 -0
  42. package/dist/chunk-88103b9d011960db.js +5 -0
  43. package/dist/chunk-8d8666b73758171e.js +2 -0
  44. package/dist/chunk-93b6f53456c1251b.js +2 -0
  45. package/dist/chunk-ab7b6ceb26aca9b1.js +3 -0
  46. package/dist/chunk-b7b365f7e6038104.js +1 -1
  47. package/dist/chunk-be095501304df604.js +1 -1
  48. package/dist/chunk-c2d1f66cf8468e71.js +1 -0
  49. package/dist/chunk-c45e1427f48008f0.js +2 -0
  50. package/dist/chunk-cca1f3ae7ec0dee1.js +2 -0
  51. package/dist/chunk-ceb94e70091088e5.js +2 -0
  52. package/dist/chunk-df55f07f8adf212f.js +2 -0
  53. package/dist/chunk-e19064e9f1d5faed.js +2 -0
  54. package/dist/chunk-e1e84c38542d78ec.js +2 -0
  55. package/dist/chunk-e3acd3561fe1342c.js +18 -0
  56. package/dist/chunk-f1e28c4c1a227c27.js +2 -0
  57. package/dist/chunk-f5910f2c8a3f6974.js +2 -0
  58. package/dist/chunk-fa6bdfb32d2f97fb.js +2 -0
  59. package/dist/client/Link.d.ts +9 -7
  60. package/dist/client/Link.d.ts.map +1 -1
  61. package/dist/client/Mutation.d.ts +25 -6
  62. package/dist/client/Mutation.d.ts.map +1 -1
  63. package/dist/client/QueryManager.d.ts.map +1 -1
  64. package/dist/client/QueryManagerContext.d.ts +2 -2
  65. package/dist/client/QueryManagerContext.d.ts.map +1 -1
  66. package/dist/client/QueryResource.d.ts +18 -0
  67. package/dist/client/QueryResource.d.ts.map +1 -0
  68. package/dist/client/index.js +196 -155
  69. package/dist/client/init.d.ts.map +1 -1
  70. package/dist/client/types.d.ts +6 -1
  71. package/dist/client/types.d.ts.map +1 -1
  72. package/dist/client/useNavigate.d.ts +2 -2
  73. package/dist/client/useNavigate.d.ts.map +1 -1
  74. package/dist/client/useQuery.d.ts +12 -8
  75. package/dist/client/useQuery.d.ts.map +1 -1
  76. package/dist/client/useSearchParams.d.ts +2 -2
  77. package/dist/client/useSearchParams.d.ts.map +1 -1
  78. package/dist/http/I18nServiceContainer.d.ts.map +1 -1
  79. package/dist/kernel/index.js +1 -1
  80. package/dist/server/index.js +1 -1
  81. package/dist/storage/index.js +1 -10
  82. package/package.json +1 -1
@@ -10,7 +10,7 @@ var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot
10
10
  var __privateSet = (obj, member, value, setter) => (__accessCheck(obj, member, "write to private field"), setter ? setter.call(obj, value) : member.set(obj, value), value);
11
11
  var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
12
12
  var _i, _n, _t, _e, _s, _l, _o, _d, _p, _g, _H_instances, r_fn, R_fn, b_fn, u_fn, m_fn, a_fn, P_fn, E_fn, S_fn, O_fn, k_fn, x_fn, h_fn, f_fn, T_fn, A_fn, y_fn, w_fn, c_fn, C_fn, _a, _i2, _n2, _t2, _e2, _s2, _l2, _b;
13
- import require$$1, { createContext, useState, useEffect, useContext, useSyncExternalStore, useRef, lazy, StrictMode, Suspense } from "react";
13
+ import require$$1, { createContext, useRef, useContext, useState, useEffect, useSyncExternalStore, lazy, StrictMode, Suspense } from "react";
14
14
  import { jsx, Fragment, jsxs } from "react/jsx-runtime";
15
15
  import require$$2 from "react-dom";
16
16
  class Subject {
@@ -33,6 +33,125 @@ class Subject {
33
33
  return this.value;
34
34
  }
35
35
  }
36
+ class QueryResource {
37
+ constructor(key, initialState = {}) {
38
+ __publicField(this, "store");
39
+ __publicField(this, "staleVariants", /* @__PURE__ */ new Set());
40
+ __publicField(this, "lastFetchRecord", /* @__PURE__ */ new Map());
41
+ __publicField(this, "key");
42
+ this.key = key;
43
+ const store = /* @__PURE__ */ new Map();
44
+ const now = Date.now();
45
+ for (const [variantKey, data] of Object.entries(initialState)) {
46
+ if (data) {
47
+ store.set(variantKey, { loading: false, data, error: null });
48
+ this.lastFetchRecord.set(variantKey, now);
49
+ }
50
+ }
51
+ this.store = new Subject(store);
52
+ }
53
+ getVariant(variantKey) {
54
+ const store = this.store.getValue();
55
+ if (!store.has(variantKey)) {
56
+ console.log("no entry");
57
+ this.resolveVariant(variantKey);
58
+ } else {
59
+ const variant = store.get(variantKey);
60
+ if (!variant.loading && !variant.data) {
61
+ console.log("initial");
62
+ this.resolveVariant(variantKey);
63
+ }
64
+ if (!variant.loading) {
65
+ if (variant.data) {
66
+ const stale = this.staleVariants.has(variantKey);
67
+ const now = Date.now();
68
+ const old = now - (this.lastFetchRecord.get(variantKey) ?? now) > 5e3;
69
+ if (stale || old) {
70
+ this.lastFetchRecord.set(variantKey, now);
71
+ this.resolveVariant(variantKey, true);
72
+ }
73
+ }
74
+ }
75
+ }
76
+ return store.get(variantKey);
77
+ }
78
+ mutate(variantKey, fn) {
79
+ const store = this.store.getValue();
80
+ const state = store.get(variantKey);
81
+ const data = fn(state.data);
82
+ this.staleVariants.add(variantKey);
83
+ this.store.next(
84
+ store.set(variantKey, { loading: false, data, error: null })
85
+ );
86
+ this.resolveVariant(variantKey);
87
+ }
88
+ async resolveVariant(variantKey, silent = false) {
89
+ if (typeof window === "undefined") {
90
+ return;
91
+ }
92
+ const store = this.store.getValue();
93
+ const previousState = store.get(variantKey);
94
+ if (!silent) {
95
+ store.set(variantKey, {
96
+ loading: true,
97
+ data: previousState == null ? void 0 : previousState.data,
98
+ error: previousState == null ? void 0 : previousState.error
99
+ });
100
+ }
101
+ const fullUrl = [this.key, variantKey].filter((s) => s.length).join("?");
102
+ const response = await fetch(`/api${fullUrl}`);
103
+ let data = null;
104
+ try {
105
+ data = await response.json();
106
+ } catch (error) {
107
+ this.store.next(
108
+ store.set(variantKey, {
109
+ loading: false,
110
+ data: previousState == null ? void 0 : previousState.data,
111
+ error
112
+ })
113
+ );
114
+ }
115
+ if (response.ok) {
116
+ this.store.next(
117
+ store.set(variantKey, { loading: false, data, error: null })
118
+ );
119
+ this.staleVariants.delete(variantKey);
120
+ this.lastFetchRecord.set(variantKey, Date.now());
121
+ } else {
122
+ this.lastFetchRecord.set(variantKey, 0);
123
+ this.store.next(
124
+ store.set(variantKey, {
125
+ loading: false,
126
+ data: previousState == null ? void 0 : previousState.data,
127
+ error: data
128
+ })
129
+ );
130
+ }
131
+ }
132
+ }
133
+ const QueryManagerContext = createContext({
134
+ getResource: (key, initialState = {}) => {
135
+ return new QueryResource(key, initialState);
136
+ }
137
+ });
138
+ const QueryManagerProvider = ({ children }) => {
139
+ const resourcesRef = useRef(/* @__PURE__ */ new Map());
140
+ return /* @__PURE__ */ jsx(
141
+ QueryManagerContext.Provider,
142
+ {
143
+ value: {
144
+ getResource: (key, initialState = {}) => {
145
+ if (!resourcesRef.current.has(key)) {
146
+ resourcesRef.current.set(key, new QueryResource(key, initialState));
147
+ }
148
+ return resourcesRef.current.get(key);
149
+ }
150
+ },
151
+ children
152
+ }
153
+ );
154
+ };
36
155
  function applyParams$1(url, params) {
37
156
  return url.replace(/:([^/]+)/g, (_2, key) => {
38
157
  const isOptional = key.endsWith("?");
@@ -47,145 +166,43 @@ function applyParams$1(url, params) {
47
166
  return value;
48
167
  }).replace(/\/\//g, "/");
49
168
  }
50
- class Resource {
51
- constructor(key, fallbackData = null) {
52
- __publicField(this, "key");
53
- __publicField(this, "state");
54
- __publicField(this, "lastFetchedAt");
55
- __publicField(this, "stale", false);
56
- this.key = key;
57
- this.state = new Subject({
58
- data: fallbackData,
59
- error: null,
60
- loading: false
61
- });
62
- this.lastFetchedAt = fallbackData ? Date.now() : 0;
63
- }
64
- mutate(fn) {
65
- const data = fn(this.state.getValue().data);
66
- this.state.next({
67
- data,
68
- error: null,
69
- loading: false
70
- });
71
- this.stale = true;
72
- this.fetch();
73
- }
74
- fetch() {
75
- const { loading, data, error } = this.state.getValue();
76
- const expired = Date.now() - this.lastFetchedAt > 1e3 * 10;
77
- if (loading) {
78
- return this.state;
79
- }
80
- if (!data) {
81
- this.state.next({
82
- data,
83
- error,
84
- loading: true
85
- });
86
- this.resolve();
87
- } else {
88
- if (this.stale || expired) {
89
- this.resolve();
90
- }
91
- }
92
- return this.state;
93
- }
94
- resolve() {
95
- const { key, options } = JSON.parse(this.key);
96
- const { query, params } = options;
97
- const url = key.split("GET:")[1];
98
- const searchParams = new URLSearchParams(query);
99
- const finalUrl = [applyParams$1(url, params), searchParams.toString()].filter((s) => s.length > 0).join("?");
100
- const { data, error } = this.state.getValue();
101
- this.state.next({
102
- data,
103
- error,
104
- loading: true
105
- });
106
- fetch(`/api${finalUrl}`, {
107
- method: "GET",
108
- headers: {
109
- "Content-Type": "application/json"
110
- }
111
- }).then((res) => {
112
- if (res.ok) {
113
- return res.json();
114
- } else {
115
- throw new Error("Failed to fetch");
116
- }
117
- }).then((data2) => {
118
- this.state.next({
119
- data: data2,
120
- error: null,
121
- loading: false
122
- });
123
- this.lastFetchedAt = Date.now();
124
- this.stale = false;
125
- }).catch((err) => {
126
- this.state.next({
127
- data: null,
128
- error: err,
129
- loading: false
130
- });
131
- });
132
- }
133
- }
134
- class QueryManager {
135
- constructor() {
136
- __publicField(this, "resources", /* @__PURE__ */ new Map());
137
- }
138
- createResourceKey(key, options = {}) {
139
- return JSON.stringify({ key, options });
140
- }
141
- fetch(key, options = {}, config = {}) {
142
- const resourceKey = this.createResourceKey(key, options);
143
- if (!this.resources.has(resourceKey)) {
144
- this.resources.set(
145
- resourceKey,
146
- new Resource(resourceKey, config.fallbackData)
147
- );
148
- }
149
- const resource = this.resources.get(resourceKey);
150
- resource.fetch.call(resource);
151
- return resource;
152
- }
153
- }
154
- const QueryManagerContext = createContext(
155
- {}
156
- );
157
- const QueryManagerProvider = ({ children }) => {
158
- const [manager] = useState(() => new QueryManager());
159
- useEffect(() => {
160
- if (typeof window !== void 0) {
161
- window.qm = manager;
162
- }
163
- }, [manager]);
164
- return /* @__PURE__ */ jsx(QueryManagerContext.Provider, { value: { manager }, children });
165
- };
166
169
  const defaultConfig = {
167
- pathPrefix: "",
168
- fallbackData: null
170
+ fallbackData: null,
171
+ keepPreviousData: false
172
+ };
173
+ const defaultOptions$1 = {
174
+ params: {},
175
+ search: {}
169
176
  };
170
177
  function useQuery(url, ...args) {
171
- const defaultOptions2 = {
172
- params: {},
173
- query: {}
174
- };
175
- const [options = defaultOptions2, config = defaultConfig] = args;
176
- const { manager } = useContext(QueryManagerContext);
178
+ const [options = defaultOptions$1, config = defaultConfig] = args;
179
+ const { getResource } = useContext(QueryManagerContext);
177
180
  const [, path] = url.split("GET:");
178
- const fullUrl = ["GET:", config.pathPrefix, path].join("");
181
+ const normalPath = applyParams$1(path, options.params);
182
+ const searchParams = new URLSearchParams(options.search);
183
+ searchParams.sort();
184
+ const variantKey = searchParams.toString();
179
185
  const [resource] = useState(
180
- () => manager.fetch(fullUrl, options, { fallbackData: config.fallbackData })
181
- );
182
- const state = useSyncExternalStore(
183
- resource.state.subscribe.bind(resource.state),
184
- resource.state.getValue.bind(resource.state),
185
- resource.state.getValue.bind(resource.state)
186
+ () => getResource(normalPath, { [variantKey]: config.fallbackData })
186
187
  );
188
+ const [state, setState] = useState(() => resource.getVariant(variantKey));
189
+ useEffect(() => {
190
+ const state2 = resource.getVariant(variantKey);
191
+ if (config.keepPreviousData) {
192
+ if (state2.loading) {
193
+ setState((s) => ({ ...s, loading: true }));
194
+ } else {
195
+ setState(state2);
196
+ }
197
+ } else {
198
+ setState(state2);
199
+ }
200
+ return resource.store.subscribe.call(resource.store, () => {
201
+ setState(resource.getVariant(variantKey));
202
+ });
203
+ }, [variantKey, config.keepPreviousData]);
187
204
  function mutate(fn, value) {
188
- return resource.mutate.call(resource, (data) => {
205
+ return resource.mutate.call(resource, variantKey, (data) => {
189
206
  try {
190
207
  if (typeof fn === "function") {
191
208
  return fn(data);
@@ -306,17 +323,20 @@ const MutationContext = createContext({
306
323
  });
307
324
  function Form(props) {
308
325
  const {
326
+ method,
309
327
  action,
310
328
  pathPrefix = "",
311
- onSuccess,
312
- onError,
329
+ onSuccess = () => {
330
+ },
331
+ onError = () => {
332
+ },
313
333
  params,
314
334
  className,
315
335
  ...formProps
316
336
  } = "params" in props ? props : { ...props, params: {} };
317
337
  const formRef = useRef(null);
318
338
  const { trigger, data, error, loading } = useMutation(
319
- action,
339
+ `${method}:${String(action)}`,
320
340
  {
321
341
  params
322
342
  },
@@ -1760,12 +1780,20 @@ class SearchParams {
1760
1780
  set(key, value) {
1761
1781
  let entries = {};
1762
1782
  if (typeof key === "string") {
1763
- entries[key] = value;
1783
+ let _value = value;
1784
+ if (typeof value === "function") {
1785
+ _value = value(this.get(key) ?? "");
1786
+ }
1787
+ entries[key] = _value;
1764
1788
  } else {
1765
1789
  entries = key ?? {};
1766
1790
  }
1767
1791
  for (const [key2, value2] of Object.entries(entries)) {
1768
- this.searchParams.set(key2, value2);
1792
+ let _value = value2;
1793
+ if (typeof value2 === "function") {
1794
+ _value = value2(this.get(key2) ?? "");
1795
+ }
1796
+ this.searchParams.set(key2, _value);
1769
1797
  }
1770
1798
  return this;
1771
1799
  }
@@ -1794,17 +1822,19 @@ class SearchParams {
1794
1822
  toString() {
1795
1823
  return this.searchParams.toString();
1796
1824
  }
1797
- push(mode = "hard") {
1825
+ push(mode = "soft") {
1798
1826
  this.callback(this.toJSON(), mode === "soft");
1799
1827
  }
1800
1828
  }
1801
1829
  function useSearchParams() {
1802
1830
  const { push } = useNavigate();
1803
1831
  const location = useLocation();
1804
- const callback = (search, shallow) => push(location.pathname, {
1805
- search,
1806
- shallow
1807
- });
1832
+ const callback = (search, shallow) => {
1833
+ push(location.pathname, {
1834
+ search,
1835
+ shallow
1836
+ });
1837
+ };
1808
1838
  const searchParams = new SearchParams(
1809
1839
  new URLSearchParams(location.search),
1810
1840
  callback
@@ -1844,7 +1874,7 @@ function useNavigationProgress() {
1844
1874
  }
1845
1875
  function normalizeSearch(search) {
1846
1876
  return Object.fromEntries(
1847
- Object.entries(search).filter(([k2, v2]) => v2 === void 0 || v2 === null).map(([k2, v2]) => [k2, String(v2)])
1877
+ Object.entries(search).filter(([_k, v2]) => v2 !== void 0 && v2 !== null).map(([k2, v2]) => [k2, String(v2)])
1848
1878
  );
1849
1879
  }
1850
1880
  const Link = (props) => {
@@ -1855,27 +1885,33 @@ const Link = (props) => {
1855
1885
  params = {},
1856
1886
  search = {},
1857
1887
  ...rest
1858
- } = { params: {}, ...props };
1888
+ } = { params: {}, search: {}, ...props };
1859
1889
  const { push } = useNavigate();
1860
- const { pathname } = useLocation();
1890
+ const location = useLocation();
1861
1891
  const searchParams = new URLSearchParams(normalizeSearch(search));
1862
1892
  const path = applyParams$1(href, params);
1863
- const _href = [path, searchParams.toString()].filter((s) => s.length > 0).join("?");
1893
+ const targetHref = [path, searchParams.toString()].filter((s) => s.length > 0).join("?");
1894
+ const currentHref = [location.pathname, location.search].filter((item) => !!item).join("");
1864
1895
  return /* @__PURE__ */ jsx(
1865
1896
  "a",
1866
1897
  {
1867
- "data-active": active || pathname === path,
1868
- href: _href,
1898
+ "data-active": active || currentHref === targetHref,
1899
+ "data-current": currentHref,
1900
+ href: targetHref,
1869
1901
  onClick: (e) => {
1870
1902
  if (typeof window !== "undefined") {
1871
- if (`${window.location.pathname}${window.location.search}` === _href) {
1903
+ if (currentHref === targetHref) {
1872
1904
  e.preventDefault();
1873
1905
  return;
1874
1906
  }
1875
1907
  }
1876
1908
  e.preventDefault();
1877
1909
  onClick == null ? void 0 : onClick(e);
1878
- push(href, { search, params });
1910
+ push(href, {
1911
+ search,
1912
+ params,
1913
+ shallow: path === window.location.pathname
1914
+ });
1879
1915
  },
1880
1916
  ...rest
1881
1917
  }
@@ -30600,7 +30636,12 @@ function init(RootLayout) {
30600
30636
  /* @__PURE__ */ jsxs(Fragment, { children: [
30601
30637
  /* @__PURE__ */ jsx(Fragment, {}),
30602
30638
  /* @__PURE__ */ jsx(ServerDataProvider, { children: /* @__PURE__ */ jsx(ClientRouter, { RootLayout }) })
30603
- ] })
30639
+ ] }),
30640
+ {
30641
+ onRecoverableError: (error, errorInfo) => {
30642
+ console.log({ error, errorInfo });
30643
+ }
30644
+ }
30604
30645
  );
30605
30646
  }
30606
30647
  function createRoot(RootLayout) {
@@ -30682,7 +30723,7 @@ const defaultArgs$2 = {
30682
30723
  }
30683
30724
  };
30684
30725
  function useSignIn(args = defaultArgs$2) {
30685
- const { mutate } = useQuery("GET:/auth/me", { params: {}, query: {} });
30726
+ const { mutate } = useQuery("GET:/auth/me", { params: {}, search: {} });
30686
30727
  return useMutation(
30687
30728
  "POST:/auth/sign-in",
30688
30729
  {},
@@ -30702,7 +30743,7 @@ const defaultArgs$1 = {
30702
30743
  }
30703
30744
  };
30704
30745
  function useSignOut(args = defaultArgs$1) {
30705
- const { mutate } = useQuery("GET:/auth/me", { params: {}, query: {} });
30746
+ const { mutate } = useQuery("GET:/auth/me", { params: {}, search: {} });
30706
30747
  return useMutation(
30707
30748
  "POST:/auth/sign-out",
30708
30749
  {},
@@ -30733,7 +30774,7 @@ function useUser() {
30733
30774
  const { auth } = useContext(ServerDataContext);
30734
30775
  const { data, loading, error } = useQuery(
30735
30776
  "GET:/auth/me",
30736
- { params: {}, query: {} },
30777
+ { params: {}, search: {} },
30737
30778
  {
30738
30779
  fallbackData: auth.user ? { user: auth == null ? void 0 : auth.user } : null
30739
30780
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../client/init.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAK3C,wBAAgB,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,QAUlD"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../client/init.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAK3C,wBAAgB,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,CAAC,QAelD"}
@@ -5,6 +5,11 @@ 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 ViewResult<T extends keyof ViewRPC> = ViewRPC[T] extends ViewHandler<infer I, infer O, infer P> ? {
9
+ input: I;
10
+ output: O;
11
+ params: P;
12
+ } : never;
8
13
  export type ViewRoute = keyof ViewRPC;
9
14
  type ViewKeys<T> = T extends keyof ViewRPC ? T extends `view:${infer K}` ? K : never : never;
10
15
  type LayoutKeys<T> = T extends keyof ViewRPC ? T extends `layout:${infer K}` ? K : never : never;
@@ -16,6 +21,6 @@ export type UrlParser<T extends string> = string extends T ? Record<string, stri
16
21
  [K in Param]: string;
17
22
  } & UrlParser<`/${Rest}`> : T extends `${infer _Start}/:${infer Param}` ? {
18
23
  [K in Param]: string;
19
- } : never;
24
+ } : Record<string, never>;
20
25
  export {};
21
26
  //# sourceMappingURL=types.d.ts.map
@@ -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;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
+ {"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;AAEhD,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS,MAAM,OAAO,IAC5C,OAAO,CAAC,CAAC,CAAC,SAAS,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,GACrD;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,CAAC,CAAC;IAAC,MAAM,EAAE,CAAC,CAAA;CAAE,GAClC,KAAK,CAAC;AAEZ,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,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC"}
@@ -8,8 +8,8 @@ type Options<T extends ViewPaths> = UrlParser<T> extends never ? {
8
8
  shallow?: boolean;
9
9
  };
10
10
  export declare function useNavigate(): {
11
- push: <T extends ViewPaths>(path: T, ...args: UrlParser<T> extends never ? [options?: Options<T>] : [options: Options<T>]) => Promise<void>;
12
- replace: <T extends ViewPaths>(path: T, ...args: UrlParser<T> extends never ? [options?: Options<T>] : [options: Options<T>]) => Promise<void>;
11
+ push: <T extends ViewPaths>(path: T, ...args: UrlParser<T> extends Record<string, never> ? [options?: Options<T>] : [options: Options<T>]) => Promise<void>;
12
+ replace: <T extends ViewPaths>(path: T, ...args: UrlParser<T> extends Record<string, never> ? [options?: Options<T>] : [options: Options<T>]) => Promise<void>;
13
13
  };
14
14
  export {};
15
15
  //# sourceMappingURL=useNavigate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigate.d.ts","sourceRoot":"","sources":["../../client/useNavigate.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,WAAW;WAYT,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;EA6E9B"}
1
+ {"version":3,"file":"useNavigate.d.ts","sourceRoot":"","sources":["../../client/useNavigate.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,WAAW;WAYT,CAAC,SAAS,SAAS,QACzB,CAAC,WACE,SAAS,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAC/C,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,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAC/C,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,GACtB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;EA6E9B"}
@@ -2,20 +2,24 @@ import type { RPC } from "./rpc";
2
2
  import type { JSONLike, Prettify } from "../utils/type";
3
3
  import type { ApiRouterHandler } from "../http/ApiRouter";
4
4
  import type { UnwrapPromise } from "../utils/type";
5
- interface Options<Params> {
6
- params: Params;
7
- query?: Record<string, any>;
8
- }
9
5
  interface Config<T> {
10
- pathPrefix?: string;
11
6
  fallbackData?: T;
7
+ keepPreviousData?: boolean;
12
8
  }
9
+ type WithOptionalValues<T> = {
10
+ [K in keyof T]: T[K] | null;
11
+ };
13
12
  type Data<T> = T extends ApiRouterHandler<any, infer Data, any> ? UnwrapPromise<Data> : never;
14
- type QueryOptions<T> = T extends ApiRouterHandler<any, any, infer Params> ? Params extends Record<string, any> ? Options<Params> : never : never;
13
+ type QueryOptions<T> = T extends ApiRouterHandler<infer Input, any, infer Params> ? Params extends Record<string, never> ? {
14
+ search: Partial<WithOptionalValues<Input>>;
15
+ } : {
16
+ params: Params;
17
+ search: Partial<WithOptionalValues<Input>>;
18
+ } : never;
15
19
  type Error = {};
16
- type CombileKeys<T extends PropertyKey, K extends PropertyKey> = `${T & string}.${K & string}`;
20
+ type CombineKeys<T extends PropertyKey, K extends PropertyKey> = `${T & string}.${K & string}`;
17
21
  type NestedKeyof<T> = T extends JSONLike ? {
18
- [K in keyof T]: K extends string ? K | CombileKeys<K, NestedKeyof<T[K]>> : never;
22
+ [K in keyof T]: K extends string ? K | CombineKeys<K, NestedKeyof<T[K]>> : never;
19
23
  }[keyof T] : never;
20
24
  type ValueAtPath<T, Path extends string> = T extends JSONLike ? Path extends keyof T ? T[Path] : Path extends `${infer K}.${infer R}` ? K extends keyof T ? ValueAtPath<T[K], R> : never : never : never;
21
25
  export declare function useQuery<T extends keyof RPC>(url: T extends `GET:${string}` ? T : never, ...args: QueryOptions<RPC[T]> extends never ? [
@@ -1 +1 @@
1
- {"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../client/useQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useQuery.d.ts","sourceRoot":"","sources":["../../client/useQuery.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,8 @@ declare class SearchParams {
4
4
  private callback;
5
5
  constructor(searchParams: URLSearchParams, callback: SearchParamsCallback);
6
6
  get(key: string): string;
7
- set(key: Record<string, string>): SearchParams;
8
- set(key: string, value: string): SearchParams;
7
+ set(key: Record<string, string | ((state: string) => string)>): SearchParams;
8
+ set(key: string, value: string | ((state: string) => string)): SearchParams;
9
9
  append(key: string, value: string): this;
10
10
  sort(): this;
11
11
  clear(): this;
@@ -1 +1 @@
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"}
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,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,GAAG,YAAY;IAC5E,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,YAAY;IAsB3E,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,iBAgB9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"I18nServiceContainer.d.ts","sourceRoot":"","sources":["../../http/I18nServiceContainer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,cAAM,MAAO,SAAQ,SAAS;IAC5B,MAAM;;mBAE+B,MAAM;qBAAW,MAAM;;;;;;MA6B1D;CACH;AAED,qBAAa,oBAAoB;IACnB,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,mBAAmB;IAEhD,SAAS,UAAS;IAClB,YAAY,gBAAa;IACzB,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAChC,OAAO;;MAEL;IAEF,IAAI;IA6BJ,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;IA0BvC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;;;CAsBlD"}
1
+ {"version":3,"file":"I18nServiceContainer.d.ts","sourceRoot":"","sources":["../../http/I18nServiceContainer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,cAAM,MAAO,SAAQ,SAAS;IAC5B,MAAM;;mBAE+B,MAAM;qBAAW,MAAM;;;;;;MA6B1D;CACH;AAED,qBAAa,oBAAoB;IACnB,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,mBAAmB;IAEhD,SAAS,UAAS;IAClB,YAAY,gBAAa;IACzB,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAChC,OAAO;;MAEL;IAEF,IAAI;IA6BJ,YAAY,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;IA0BvC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;;;CAyBlD"}