@base-stone/hooks 1.2.3 → 1.2.4

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.
@@ -33,7 +33,7 @@ declare interface GlobalTableConfig {
33
33
  pageSize: number;
34
34
  }
35
35
 
36
- declare type MapData<T extends string | number = string | number> = Map<T, string | number | undefined>;
36
+ declare type MapData<K extends string | number = string | number> = Map<K, string | number | undefined>;
37
37
 
38
38
  declare interface ModalConfig<T = Record<string, any>> {
39
39
  width: number;
@@ -72,11 +72,11 @@ declare type PickFunction<T extends noop> = (this: ThisParameterType<T>, ...args
72
72
 
73
73
  declare type Placement = 'top' | 'bottom' | 'left' | 'right';
74
74
 
75
- declare interface QueryOptions<K extends string = string, T = Record<string, any>> {
75
+ declare interface QueryOptions<T = Record<string, any>> {
76
76
  queryFn: (data: QueryParamsData_2) => Promise<QueryResponse_2<T>>;
77
77
  params?: Record<string, any> | undefined;
78
78
  dataType: DataType;
79
- dataKey: K;
79
+ dataKey: string;
80
80
  transform?: (result: Record<string, any>) => Record<string, any>[];
81
81
  initialValue?: Record<string, any> | Record<string, any>[];
82
82
  }
@@ -101,11 +101,11 @@ declare interface QueryResponse_2<T> {
101
101
  data: T;
102
102
  }
103
103
 
104
- declare type QueryResult<K extends string = string, T = Record<string, any>> = {
104
+ declare type QueryResult<T = Record<string, any>> = {
105
105
  loading: boolean;
106
106
  refresh: (params?: Record<string, any> | undefined) => void;
107
107
  } & {
108
- [P in K]?: T;
108
+ [P in string]?: T;
109
109
  };
110
110
 
111
111
  declare interface RequestFn {
@@ -115,31 +115,31 @@ declare interface RequestFn {
115
115
  }>;
116
116
  }
117
117
 
118
- declare interface SelectConfig<K extends string> {
118
+ declare interface SelectConfig {
119
119
  queryFn: (data: Record<string, any>) => Promise<QueryResponse>;
120
120
  params?: Record<string, any>;
121
- dataKey: K;
121
+ dataKey: string;
122
122
  transform?: (result: Record<string, any>) => Record<string, any>[];
123
- fieldNames?: {
123
+ fieldNames: {
124
124
  label: string;
125
125
  value: string;
126
126
  };
127
127
  }
128
128
 
129
- declare type SelectOption<T extends string | number = string | number> = {
129
+ declare type SelectOption<K extends string | number = string | number> = {
130
130
  label: string;
131
- value: T;
131
+ value: K;
132
132
  data?: Record<string, unknown>;
133
133
  [key: string]: any;
134
134
  };
135
135
 
136
- declare type SelectOptionsResult<K extends string, T extends string | number> = Readonly<{
136
+ declare type SelectOptionsResult<K extends string | number> = Readonly<{
137
137
  loading: boolean;
138
138
  refresh: () => void;
139
139
  } & {
140
- [P in `${K}Options`]: (SelectOption<T> & Record<string, any>)[];
140
+ [P in `${K}Options`]: (SelectOption<K> & Record<string, any>)[];
141
141
  } & {
142
- [P in `${K}Map`]?: MapData<T>;
142
+ [P in `${K}Map`]?: MapData<K>;
143
143
  }>;
144
144
 
145
145
  declare interface SuccessFn {
@@ -200,9 +200,9 @@ export declare function useFormSubmit(requestFn: RequestFn, successFn: SuccessFn
200
200
 
201
201
  export declare function useMemoizedFn<T extends noop>(fn: T): PickFunction<T>;
202
202
 
203
- export declare function useRequestQuery<K extends string = string, T = Record<string, any> | Record<string, any>[] | undefined>({ queryFn, params, dataType, dataKey, initialValue, transform }: QueryOptions<K, T>): QueryResult<K, T>;
203
+ export declare function useRequestQuery<T = Record<string, any> | Record<string, any>[] | undefined>({ queryFn, params, dataType, dataKey, initialValue, transform }: QueryOptions<T>): QueryResult<T>;
204
204
 
205
- export declare function useSelectOptions<T extends string | number = string | number, K extends string = string>({ queryFn, params, dataKey, fieldNames, transform }: SelectConfig<K>): SelectOptionsResult<K, T>;
205
+ export declare function useSelectOptions<K extends string | number = string | number>({ queryFn, params, dataKey, fieldNames, transform }: SelectConfig): SelectOptionsResult<K>;
206
206
 
207
207
  export declare function useTableList<T extends Record<string, any> = Record<string, any>>({ queryFn, params: initParams, transform, rowSelection }: TableOptions<T>): TableResult<T>;
208
208
 
@@ -1,88 +1,88 @@
1
- import { useRef as N, useMemo as H, useState as v, useEffectEvent as _, useEffect as w, useId as W, useCallback as X } from "react";
2
- import { Empty as L, App as K } from "antd";
1
+ import { useRef as _, useMemo as I, useState as v, useEffectEvent as j, useEffect as T, useId as W, useCallback as X } from "react";
2
+ import { Empty as q, App as K } from "antd";
3
3
  import { create as ee } from "zustand";
4
- var F = { exports: {} }, R = {};
5
- var q;
4
+ var F = { exports: {} }, C = {};
5
+ var J;
6
6
  function te() {
7
- if (q) return R;
8
- q = 1;
9
- var n = /* @__PURE__ */ Symbol.for("react.transitional.element"), a = /* @__PURE__ */ Symbol.for("react.fragment");
10
- function o(e, s, r) {
11
- var u = null;
12
- if (r !== void 0 && (u = "" + r), s.key !== void 0 && (u = "" + s.key), "key" in s) {
13
- r = {};
14
- for (var c in s)
15
- c !== "key" && (r[c] = s[c]);
16
- } else r = s;
17
- return s = r.ref, {
18
- $$typeof: n,
19
- type: e,
20
- key: u,
21
- ref: s !== void 0 ? s : null,
22
- props: r
7
+ if (J) return C;
8
+ J = 1;
9
+ var r = /* @__PURE__ */ Symbol.for("react.transitional.element"), o = /* @__PURE__ */ Symbol.for("react.fragment");
10
+ function s(t, a, n) {
11
+ var p = null;
12
+ if (n !== void 0 && (p = "" + n), a.key !== void 0 && (p = "" + a.key), "key" in a) {
13
+ n = {};
14
+ for (var c in a)
15
+ c !== "key" && (n[c] = a[c]);
16
+ } else n = a;
17
+ return a = n.ref, {
18
+ $$typeof: r,
19
+ type: t,
20
+ key: p,
21
+ ref: a !== void 0 ? a : null,
22
+ props: n
23
23
  };
24
24
  }
25
- return R.Fragment = a, R.jsx = o, R.jsxs = o, R;
25
+ return C.Fragment = o, C.jsx = s, C.jsxs = s, C;
26
26
  }
27
- var J;
27
+ var H;
28
28
  function ae() {
29
- return J || (J = 1, F.exports = te()), F.exports;
29
+ return H || (H = 1, F.exports = te()), F.exports;
30
30
  }
31
31
  var oe = ae();
32
- function y(n) {
33
- const a = N(n);
34
- a.current = H(() => n, [n]);
35
- const o = N(void 0);
36
- return o.current || (o.current = function(...e) {
37
- return a.current.apply(this, e);
38
- }), o.current;
32
+ function E(r) {
33
+ const o = _(r);
34
+ o.current = I(() => r, [r]);
35
+ const s = _(void 0);
36
+ return s.current || (s.current = function(...t) {
37
+ return o.current.apply(this, t);
38
+ }), s.current;
39
39
  }
40
- const $ = {
40
+ const w = {
41
41
  sortField: ["orderType", "orderField"],
42
42
  sortOrder: ["ASC", "DESC"],
43
43
  pageSize: 10
44
44
  };
45
- function ce(n) {
46
- Object.keys(n).forEach((a) => {
47
- $[a] = n[a];
45
+ function ie(r) {
46
+ Object.keys(r).forEach((o) => {
47
+ w[o] = r[o];
48
48
  });
49
49
  }
50
- function le({
51
- queryFn: n,
52
- params: a,
53
- transform: o,
54
- rowSelection: e
50
+ function ce({
51
+ queryFn: r,
52
+ params: o,
53
+ transform: s,
54
+ rowSelection: t
55
55
  }) {
56
- const s = $.pageSize, [r, u] = v({
56
+ const a = w.pageSize, [n, p] = v({
57
57
  pagination: {
58
58
  showSizeChanger: !0,
59
59
  showQuickJumper: !0,
60
60
  total: 0,
61
- pageSize: s,
61
+ pageSize: a,
62
62
  current: 1
63
63
  },
64
64
  list: [],
65
65
  queryParams: {
66
66
  pageNo: 1,
67
- pageSize: s,
68
- ...a
67
+ pageSize: a,
68
+ ...o
69
69
  }
70
- }), { pagination: c, list: f, queryParams: t } = r, { pageNo: l, pageSize: p } = t, [i, m] = v(!0), [g, E] = v([]), b = H(() => {
71
- if (e)
70
+ }), { pagination: c, list: f, queryParams: e } = n, { pageNo: l, pageSize: u } = e, [i, m] = v(!0), [g, y] = v([]), b = I(() => {
71
+ if (t)
72
72
  return {
73
73
  selectedRowKeys: g,
74
- onChange: (d) => E(d)
74
+ onChange: (d) => y(d)
75
75
  };
76
- }, [e, g]), C = y(
77
- (d) => `共 ${d} 条记录 第 ${l}/${Math.ceil(d / p)} 页 `
76
+ }, [t, g]), R = E(
77
+ (d) => `共 ${d} 条记录 第 ${l}/${Math.ceil(d / u)} 页 `
78
78
  ), S = async (d) => {
79
79
  const { pageNo: A } = d;
80
80
  m(!0);
81
- const M = { ...a, pageSize: p, ...d };
82
- d.pageNo === void 0 && (M.pageNo = 1), d.pageSize === void 0 && (M.pageSize = p);
83
- const { data: D } = await n(M), P = o ? o(D) : D, { list: k = [], totalCount: O = 0 } = P || {};
84
- e && E([]), u({
85
- list: k,
81
+ const M = { ...o, pageSize: u, ...d };
82
+ d.pageNo === void 0 && (M.pageNo = 1), d.pageSize === void 0 && (M.pageSize = u);
83
+ const { data: D } = await r(M), k = s ? s(D) : D, { list: N = [], totalCount: O = 0 } = k || {};
84
+ t && y([]), p({
85
+ list: N,
86
86
  queryParams: M,
87
87
  pagination: {
88
88
  ...c,
@@ -91,34 +91,34 @@ function le({
91
91
  total: O
92
92
  }
93
93
  }), m(!1);
94
- }, x = _(() => {
95
- S({ ...t, pageNo: 1 });
96
- }), T = (d) => {
97
- S({ ...t, ...d, pageNo: 1 });
94
+ }, x = j(() => {
95
+ S({ ...e, pageNo: 1 });
96
+ }), P = (d) => {
97
+ S({ ...e, ...d, pageNo: 1 });
98
98
  }, h = (d) => {
99
- S({ ...t, ...d });
100
- }, I = (d) => {
101
- S({ ...d, pageSize: p, pageNo: 1 });
102
- }, G = (d, A, M, D) => {
103
- const { action: P } = D;
104
- if (["paginate", "sort"].includes(P)) {
105
- const { current: k, pageSize: O } = d, { field: V, order: j } = M, [Q, Y] = $.sortField, [Z, B] = $.sortOrder, U = {
106
- ...t,
107
- [Q]: j ? j === "ascend" ? Z : B : void 0,
108
- [Y]: V,
109
- pageNo: k,
99
+ S({ ...e, ...d });
100
+ }, z = (d) => {
101
+ S({ ...d, pageSize: u, pageNo: 1 });
102
+ }, V = (d, A, M, D) => {
103
+ const { action: k } = D;
104
+ if (["paginate", "sort"].includes(k)) {
105
+ const { current: N, pageSize: O } = d, { field: G, order: L } = M, [Q, Y] = w.sortField, [Z, B] = w.sortOrder, U = {
106
+ ...e,
107
+ [Q]: L ? L === "ascend" ? Z : B : void 0,
108
+ [Y]: G,
109
+ pageNo: N,
110
110
  pageSize: O
111
111
  };
112
112
  S(U);
113
113
  }
114
114
  };
115
- return w(() => {
115
+ return T(() => {
116
116
  x();
117
117
  }, []), {
118
- queryParams: t,
119
- search: y(T),
120
- refresh: y(h),
121
- reset: y(I),
118
+ queryParams: e,
119
+ search: E(P),
120
+ refresh: E(h),
121
+ reset: E(z),
122
122
  selectedRowKeys: g,
123
123
  tableProps: {
124
124
  bordered: !0,
@@ -127,165 +127,162 @@ function le({
127
127
  rowSelection: b,
128
128
  loading: i,
129
129
  dataSource: f,
130
- pagination: { ...c, showTotal: C },
131
- onChange: y(G),
130
+ pagination: { ...c, showTotal: R },
131
+ onChange: E(V),
132
132
  locale: {
133
- emptyText: i ? "" : /* @__PURE__ */ oe.jsx(L, { image: L.PRESENTED_IMAGE_SIMPLE })
133
+ emptyText: i ? "" : /* @__PURE__ */ oe.jsx(q, { image: q.PRESENTED_IMAGE_SIMPLE })
134
134
  }
135
135
  }
136
136
  };
137
137
  }
138
- const z = ee((n) => ({
138
+ const $ = ee((r) => ({
139
139
  modals: {},
140
- toggleModal: (a, o) => n((e) => {
141
- const r = e.modals[a]?.visible || !1;
140
+ toggleModal: (o, s) => r((t) => {
141
+ const n = t.modals[o]?.visible || !1;
142
142
  return {
143
143
  modals: {
144
- ...e.modals,
145
- [a]: {
146
- visible: !r,
147
- data: r ? {} : o || {}
144
+ ...t.modals,
145
+ [o]: {
146
+ visible: !n,
147
+ data: n ? {} : s || {}
148
148
  }
149
149
  }
150
150
  };
151
151
  }),
152
- setModal: (a, o, e) => n((s) => ({
152
+ setModal: (o, s, t) => r((a) => ({
153
153
  modals: {
154
- ...s.modals,
155
- [a]: {
156
- visible: o,
157
- data: o ? e || {} : {}
154
+ ...a.modals,
155
+ [o]: {
156
+ visible: s,
157
+ data: s ? t || {} : {}
158
158
  }
159
159
  }
160
160
  })),
161
- clearModals: (a) => n((o) => {
162
- const e = { ...o.modals };
163
- return a.forEach((s) => {
164
- delete e[s];
165
- }), { modals: e };
161
+ clearModals: (o) => r((s) => {
162
+ const t = { ...s.modals };
163
+ return o.forEach((a) => {
164
+ delete t[a];
165
+ }), { modals: t };
166
166
  })
167
167
  }));
168
- function de(n) {
169
- const a = z((t) => t.modals), o = z((t) => t.toggleModal), e = z((t) => t.setModal), s = z((t) => t.clearModals), r = W(), u = N([]), c = Object.keys(n);
170
- w(() => (u.current = c.map(
171
- (t) => `${r}-${t}`
168
+ function le(r) {
169
+ const o = $((e) => e.modals), s = $((e) => e.toggleModal), t = $((e) => e.setModal), a = $((e) => e.clearModals), n = W(), p = _([]), c = Object.keys(r);
170
+ T(() => (p.current = c.map(
171
+ (e) => `${n}-${e}`
172
172
  ), () => {
173
- s(u.current);
173
+ a(p.current);
174
174
  }), []);
175
175
  const f = {};
176
- return c.forEach((t) => {
177
- const l = `${r}-${t}`, p = a[l] ?? { visible: !1, data: {} }, i = n[t], m = typeof i.title == "function" ? i.title(p.data) : i.title;
178
- f[`${t}Modal`] = {
179
- visible: p.visible,
180
- data: p.data,
176
+ return c.forEach((e) => {
177
+ const l = `${n}-${e}`, u = o[l] ?? { visible: !1, data: {} }, i = r[e], m = typeof i.title == "function" ? i.title(u.data) : i.title;
178
+ f[`${e}Modal`] = {
179
+ visible: u.visible,
180
+ data: u.data,
181
181
  modalProps: {
182
182
  width: i.width,
183
183
  title: m,
184
- open: p.visible,
184
+ open: u.visible,
185
185
  maskClosable: i.maskClosable ?? !1,
186
186
  centered: i.centered ?? !0,
187
187
  destroyOnHidden: i.destroyOnHidden ?? !0,
188
- onCancel: i.onCancel ?? (() => e(l, !1))
188
+ onCancel: i.onCancel ?? (() => t(l, !1))
189
189
  },
190
190
  drawerProps: {
191
191
  size: i.width,
192
192
  title: m,
193
- open: p.visible,
193
+ open: u.visible,
194
194
  maskClosable: i.maskClosable ?? !0,
195
195
  destroyOnHidden: i.destroyOnHidden ?? !0,
196
196
  placement: i.placement ?? "right",
197
- onClose: i.onClose ?? (() => e(l, !1))
197
+ onClose: i.onClose ?? (() => t(l, !1))
198
198
  },
199
- toggle: (g) => o(l, g),
200
- open: (g) => e(l, !0, g),
201
- close: () => e(l, !1)
199
+ toggle: (g) => s(l, g),
200
+ open: (g) => t(l, !0, g),
201
+ close: () => t(l, !1)
202
202
  };
203
- }), f.toggle = (t, l) => {
204
- o(`${r}-${t}`, l);
205
- }, f.open = (t, l) => {
206
- e(`${r}-${t}`, !0, l);
207
- }, f.close = (t) => {
208
- e(`${r}-${t}`, !1);
203
+ }), f.toggle = (e, l) => {
204
+ s(`${n}-${e}`, l);
205
+ }, f.open = (e, l) => {
206
+ t(`${n}-${e}`, !0, l);
207
+ }, f.close = (e) => {
208
+ t(`${n}-${e}`, !1);
209
209
  }, f;
210
210
  }
211
- const se = (n, a = "value", o = "label") => new Map(n.map((e) => [e[a], e[o]]));
212
- function ue({ queryFn: n, params: a, dataKey: o, fieldNames: e, transform: s }) {
213
- const [r, u] = v({
211
+ function de({ queryFn: r, params: o, dataKey: s, fieldNames: t, transform: a }) {
212
+ const [n, p] = v({
214
213
  list: [],
215
214
  mapData: /* @__PURE__ */ new Map()
216
- }), [c, f] = v(!0), t = async () => {
215
+ }), [c, f] = v(!0), e = async () => {
217
216
  f(!0);
218
- const { data: g } = await n(a), b = (s ? s(g) : g) || [];
219
- if (e) {
220
- const { label: C, value: S } = e, x = b.map((h) => ({
221
- data: h,
222
- label: h[C],
223
- value: h[S]
224
- })), T = se(x);
225
- u((h) => ({ ...h, list: x, mapData: T }));
226
- } else
227
- u((C) => ({ ...C, list: b }));
228
- f(!1);
229
- }, l = _(t), p = y(() => {
230
- t();
217
+ const { data: g } = await r(o), b = (a ? a(g) : g) || [], { label: R, value: S } = t, x = /* @__PURE__ */ new Map([]), P = b.map((h) => {
218
+ const z = h[S];
219
+ return x.set(z, R), {
220
+ label: h[R],
221
+ value: z,
222
+ data: h
223
+ };
224
+ });
225
+ p((h) => ({ ...h, list: P, mapData: x })), f(!1);
226
+ }, l = j(e), u = E(() => {
227
+ e();
231
228
  });
232
- w(() => {
229
+ T(() => {
233
230
  l();
234
231
  }, []);
235
- const { list: i, mapData: m } = r;
232
+ const { list: i, mapData: m } = n;
236
233
  return {
237
234
  loading: c,
238
- refresh: p,
239
- [`${o}Options`]: i,
240
- [`${o}Map`]: m
235
+ refresh: u,
236
+ [`${s}Options`]: i,
237
+ [`${s}Map`]: m
241
238
  };
242
239
  }
243
- function pe(n, a) {
244
- const [o, e] = v(!1), { message: s } = K.useApp(), r = X(async (u) => {
240
+ function ue(r, o) {
241
+ const [s, t] = v(!1), { message: a } = K.useApp(), n = X(async (p) => {
245
242
  try {
246
- e(!0);
247
- const c = await n(u), { status: f, info: t } = c;
248
- f == "success" && (a(c), s.success(t));
243
+ t(!0);
244
+ const c = await r(p), { status: f, info: e } = c;
245
+ f == "success" && (o(c), a.success(e));
249
246
  } catch {
250
247
  }
251
- e(!1);
252
- }, [n, a, s]);
248
+ t(!1);
249
+ }, [r, o, a]);
253
250
  return {
254
- loading: o,
255
- submit: r
251
+ loading: s,
252
+ submit: n
256
253
  };
257
254
  }
258
- function fe({
259
- queryFn: n,
260
- params: a,
261
- dataType: o,
262
- dataKey: e,
263
- initialValue: s,
264
- transform: r
255
+ function pe({
256
+ queryFn: r,
257
+ params: o,
258
+ dataType: s,
259
+ dataKey: t,
260
+ initialValue: a,
261
+ transform: n
265
262
  }) {
266
- const u = s || (o === "Array" ? [] : /* @__PURE__ */ Object.create({})), [c, f] = v(u), [t, l] = v(!1), p = async (g) => {
263
+ const p = a || (s === "Array" ? [] : /* @__PURE__ */ Object.create({})), [c, f] = v(p), [e, l] = v(!1), u = async (g) => {
267
264
  l(!0);
268
- const { data: E } = await n(g ?? a), b = r ? r(E) : E;
265
+ const { data: y } = await r(g ?? o), b = n ? n(y) : y;
269
266
  f(b), l(!1);
270
- }, i = _(p);
271
- w(() => {
267
+ }, i = j(u);
268
+ T(() => {
272
269
  i();
273
270
  }, []);
274
- const m = y((g) => {
275
- p(g);
271
+ const m = E((g) => {
272
+ u(g);
276
273
  });
277
274
  return {
278
- [e]: c,
279
- loading: t,
275
+ [t]: c,
276
+ loading: e,
280
277
  refresh: m
281
278
  };
282
279
  }
283
280
  export {
284
- ce as configureTableOption,
285
- de as useCreateModal,
286
- pe as useFormSubmit,
287
- y as useMemoizedFn,
288
- fe as useRequestQuery,
289
- ue as useSelectOptions,
290
- le as useTableList
281
+ ie as configureTableOption,
282
+ le as useCreateModal,
283
+ ue as useFormSubmit,
284
+ E as useMemoizedFn,
285
+ pe as useRequestQuery,
286
+ de as useSelectOptions,
287
+ ce as useTableList
291
288
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@base-stone/hooks",
3
3
  "license": "MIT",
4
- "version": "1.2.3",
4
+ "version": "1.2.4",
5
5
  "author": {
6
6
  "name": "leafront",
7
7
  "email": "leafront@126.com"
@@ -37,23 +37,23 @@
37
37
  },
38
38
  "devDependencies": {
39
39
  "@eslint/js": "^9.39.2",
40
- "@types/node": "^25.0.6",
40
+ "@types/node": "^25.0.9",
41
41
  "@types/react": "^19.2.8",
42
42
  "@vitejs/plugin-react-swc": "^4.2.2",
43
43
  "classnames": "^2.5.1",
44
44
  "eslint": "^9.39.2",
45
- "eslint-plugin-prettier": "^5.5.4",
45
+ "eslint-plugin-prettier": "^5.5.5",
46
46
  "eslint-plugin-react-hooks": "^7.0.1",
47
47
  "eslint-plugin-react-refresh": "^0.4.26",
48
- "prettier": "^3.7.4",
48
+ "prettier": "^3.8.0",
49
49
  "rollup-plugin-shell": "^1.0.9",
50
50
  "typescript": "^5.9.3",
51
- "typescript-eslint": "^8.52.0",
51
+ "typescript-eslint": "^8.53.0",
52
52
  "vite": "^7.3.1",
53
53
  "vite-plugin-dts": "^4.5.4"
54
54
  },
55
55
  "dependencies": {
56
- "antd": "^6.1.4",
56
+ "antd": "^6.2.0",
57
57
  "react": "^19.2.3",
58
58
  "zustand": "^5.0.10"
59
59
  }