vue-api-kit 1.10.0 → 1.10.2

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.
@@ -134,6 +134,7 @@ export interface ApiClientOptions<Q extends Record<string, NestedStructure<ApiQu
134
134
  status?: number;
135
135
  code?: string;
136
136
  data?: any;
137
+ url?: string;
137
138
  }) => void;
138
139
  onZodError?: (issues: Omit<$ZodIssue, "input">[]) => void;
139
140
  }
package/dist/index.js CHANGED
@@ -11,7 +11,7 @@ function V(e) {
11
11
  return e && typeof e == "object" && e !== null && typeof e.path == "string" && typeof e.method == "string";
12
12
  }
13
13
  function K(e) {
14
- const h = N.create({
14
+ const y = N.create({
15
15
  baseURL: e.baseURL,
16
16
  headers: {
17
17
  "Content-Type": "application/json",
@@ -21,8 +21,8 @@ function K(e) {
21
21
  withCredentials: e.withCredentials ?? !1,
22
22
  withXSRFToken: e.withXSRFToken ?? !1
23
23
  });
24
- let P = !1, b = null;
25
- e.onBeforeRequest && h.interceptors.request.use(
24
+ let M = !1, b = null;
25
+ e.onBeforeRequest && y.interceptors.request.use(
26
26
  async (r) => {
27
27
  try {
28
28
  return await e.onBeforeRequest(r) || r;
@@ -31,7 +31,7 @@ function K(e) {
31
31
  }
32
32
  },
33
33
  (r) => Promise.reject(r)
34
- ), e.onStartRequest && h.interceptors.request.use(
34
+ ), e.onStartRequest && y.interceptors.request.use(
35
35
  async (r) => {
36
36
  try {
37
37
  return await e.onStartRequest(), r;
@@ -40,10 +40,10 @@ function K(e) {
40
40
  }
41
41
  },
42
42
  (r) => Promise.reject(r)
43
- ), e.onFinishRequest && h.interceptors.response.use(
43
+ ), e.onFinishRequest && y.interceptors.response.use(
44
44
  (r) => (e.onFinishRequest(), r),
45
45
  (r) => (e.onFinishRequest(), Promise.reject(r))
46
- ), h.interceptors.request.use((r) => {
46
+ ), y.interceptors.request.use((r) => {
47
47
  if (!r.url) return r;
48
48
  const i = (m) => {
49
49
  if (m)
@@ -56,7 +56,7 @@ function K(e) {
56
56
  }
57
57
  };
58
58
  return r.method !== "get" && r.data?.params && i(r.data.params), i(r.params), r;
59
- }), e.csrfRefreshEndpoint && h.interceptors.response.use(
59
+ }), e.csrfRefreshEndpoint && y.interceptors.response.use(
60
60
  (r) => r,
61
61
  async (r) => {
62
62
  const i = r.config;
@@ -65,16 +65,16 @@ function K(e) {
65
65
  if (r.response && (r.response.status === 403 || r.response.status === 419) && !i?._retry) {
66
66
  i._retry = !0;
67
67
  try {
68
- return P && b ? await b : (P = !0, b = h.get(e.csrfRefreshEndpoint).then(() => {
69
- P = !1, b = null;
70
- }), await b), h.request(i);
68
+ return M && b ? await b : (M = !0, b = y.get(e.csrfRefreshEndpoint).then(() => {
69
+ M = !1, b = null;
70
+ }), await b), y.request(i);
71
71
  } catch (m) {
72
- return P = !1, b = null, Promise.reject(m);
72
+ return M = !1, b = null, Promise.reject(m);
73
73
  }
74
74
  }
75
75
  return Promise.reject(r);
76
76
  }
77
- ), h.interceptors.response.use(
77
+ ), y.interceptors.response.use(
78
78
  (r) => r,
79
79
  (r) => ($(() => {
80
80
  r.code;
@@ -90,7 +90,7 @@ function K(e) {
90
90
  i[m] = (n) => {
91
91
  let s;
92
92
  n && typeof n == "object" && ("loadOnMount" in n || "debounce" in n || "onResult" in n || "onError" in n || "onZodError" in n || "onBeforeRequest" in n || "data" in n ? s = n : s = { params: n });
93
- const C = R(), g = R(), v = R(), j = R(!1), A = R(!1), B = R(!0);
93
+ const C = R(), g = R(), q = R(), j = R(!1), A = R(!1), B = R(!0);
94
94
  let w = new AbortController();
95
95
  const u = () => {
96
96
  w?.abort(), w = new AbortController();
@@ -114,20 +114,20 @@ function K(e) {
114
114
  const f = await s.onBeforeRequest(c);
115
115
  f !== void 0 && Object.assign(c, f);
116
116
  }
117
- const q = await h.request(c), o = t.response ? t.response.parse(q.data) : q.data;
117
+ const h = await y.request(c), o = t.response ? t.response.parse(h.data) : h.data;
118
118
  C.value = o, s?.onResult?.(o);
119
119
  } catch (a) {
120
120
  if (a instanceof F) {
121
121
  if (a.code !== "ERR_CANCELED") {
122
- const c = a.response?.data?.message || a.message || "An error occurred", q = a.response?.status, o = a.code, f = a.response?.data;
123
- g.value = c, s?.onError?.(a), e.onErrorRequest?.({ message: c, status: q, code: o, data: f });
122
+ const c = a.config?.url, h = a.response?.data?.message || a.message || "An error occurred", o = a.response?.status, f = a.code, v = a.response?.data;
123
+ g.value = h, s?.onError?.(a), e.onErrorRequest?.({ message: h, status: o, code: f, data: v, url: c });
124
124
  }
125
125
  } else if (a instanceof S) {
126
- v.value = a.issues || [];
127
- const q = `Validation error: ${v.value.map(
126
+ q.value = a.issues || [];
127
+ const h = `Validation error: ${q.value.map(
128
128
  (o) => `${o.path.join(".")}: ${o.message}`
129
129
  ).join(", ")}`;
130
- g.value = q, s?.onError?.(a), s?.onZodError?.(v.value), e.onErrorRequest?.({ message: q, code: "VALIDATION_ERROR" }), e.onZodError && e.onZodError(v.value);
130
+ g.value = h, s?.onError?.(a), s?.onZodError?.(q.value), e.onErrorRequest?.({ message: h, code: "VALIDATION_ERROR" }), e.onZodError && e.onZodError(q.value);
131
131
  } else {
132
132
  const c = a.message || "An error occurred";
133
133
  g.value = c, s?.onError?.(c), e.onErrorRequest?.({ message: c });
@@ -135,19 +135,19 @@ function K(e) {
135
135
  } finally {
136
136
  j.value = !1, A.value = !0;
137
137
  }
138
- }, y = s?.debounce ? Q(l, s.debounce) : l;
138
+ }, E = s?.debounce ? Q(l, s.debounce) : l;
139
139
  let p = null;
140
140
  return (s?.params || s?.data) && (U(() => {
141
141
  p && p(), p = _(
142
142
  () => JSON.stringify({ params: s.params, data: s.data }),
143
143
  () => {
144
- y();
144
+ E();
145
145
  },
146
- { immediate: !1 }
146
+ { immediate: s?.loadOnMount !== !1 }
147
147
  );
148
148
  }), I(() => {
149
149
  p && p(), w?.abort();
150
- })), (s?.loadOnMount === void 0 || s.loadOnMount) && !A.value && (B.value ? (B.value = !1, l()) : y()), { result: C, errorMessage: g, zodErrors: v, isLoading: j, isDone: A, refetch: l };
150
+ })), (s?.loadOnMount === void 0 || s.loadOnMount) && !A.value && (B.value ? (B.value = !1, l()) : E()), { result: C, errorMessage: g, zodErrors: q, isLoading: j, isDone: A, refetch: l };
151
151
  };
152
152
  } else typeof d == "object" && (i[m] = D(d));
153
153
  }
@@ -162,26 +162,26 @@ function K(e) {
162
162
  if (V(d)) {
163
163
  const t = d;
164
164
  i[m] = (n) => {
165
- const s = R(), C = R(), g = R(), v = R(!1), j = R(!1), A = R(0);
166
- return { result: s, errorMessage: C, zodErrors: g, isLoading: v, isDone: j, uploadProgress: A, mutate: async (w) => {
167
- if (!v.value) {
168
- v.value = !0, C.value = void 0, A.value = 0;
165
+ const s = R(), C = R(), g = R(), q = R(!1), j = R(!1), A = R(0);
166
+ return { result: s, errorMessage: C, zodErrors: g, isLoading: q, isDone: j, uploadProgress: A, mutate: async (w) => {
167
+ if (!q.value) {
168
+ q.value = !0, C.value = void 0, A.value = 0;
169
169
  try {
170
170
  const { data: u = {}, params: l } = w ?? {};
171
- let y = u ?? {}, p = {};
171
+ let E = u ?? {}, p = {};
172
172
  if (t.isMultipart) {
173
173
  const o = new FormData();
174
- for (const [f, E] of Object.entries(u))
175
- E instanceof File || E instanceof Blob ? o.append(f, E) : Array.isArray(E) ? E.forEach((M) => {
176
- M instanceof File || M instanceof Blob ? o.append(f, M) : o.append(f, JSON.stringify(M));
177
- }) : typeof E == "object" && E !== null ? o.append(f, JSON.stringify(E)) : o.append(f, String(E));
178
- y = o, p["Content-Type"] = "multipart/form-data";
174
+ for (const [f, v] of Object.entries(u))
175
+ v instanceof File || v instanceof Blob ? o.append(f, v) : Array.isArray(v) ? v.forEach((P) => {
176
+ P instanceof File || P instanceof Blob ? o.append(f, P) : o.append(f, JSON.stringify(P));
177
+ }) : typeof v == "object" && v !== null ? o.append(f, JSON.stringify(v)) : o.append(f, String(v));
178
+ E = o, p["Content-Type"] = "multipart/form-data";
179
179
  } else t.data && t.data.parse(u);
180
180
  t.params && l && t.params.parse(l);
181
181
  const a = {
182
182
  method: t.method,
183
183
  url: t.path,
184
- data: y,
184
+ data: E,
185
185
  params: l,
186
186
  headers: p,
187
187
  onUploadProgress: (o) => {
@@ -199,24 +199,24 @@ function K(e) {
199
199
  const o = await n.onBeforeRequest(a);
200
200
  o !== void 0 && Object.assign(a, o);
201
201
  }
202
- const c = await h.request(a), q = t.response ? t.response.parse(c.data) : c.data;
203
- s.value = q, n?.onResult?.(q);
202
+ const c = await y.request(a), h = t.response ? t.response.parse(c.data) : c.data;
203
+ s.value = h, n?.onResult?.(h);
204
204
  } catch (u) {
205
205
  if (u instanceof F) {
206
- const l = u.response?.data?.message || u.message || "An error occurred", y = u.response?.status, p = u.code;
207
- C.value = l, n?.onError?.(u), e.onErrorRequest?.({ message: l, status: y, code: p });
206
+ const l = u.response?.data?.message || u.message || "An error occurred", E = u.response?.status, p = u.code;
207
+ C.value = l, n?.onError?.(u), e.onErrorRequest?.({ message: l, status: E, code: p });
208
208
  } else if (u instanceof S) {
209
209
  g.value = u.issues || [];
210
- const y = `Validation error: ${g.value.map(
210
+ const E = `Validation error: ${g.value.map(
211
211
  (p) => `${p.path.join(".")}: ${p.message}`
212
212
  ).join(", ")}`;
213
- C.value = y, n?.onError?.(u), n?.onZodError?.(g.value), e.onErrorRequest?.({ message: y, code: "VALIDATION_ERROR" }), e.onZodError && e.onZodError(g.value);
213
+ C.value = E, n?.onError?.(u), n?.onZodError?.(g.value), e.onErrorRequest?.({ message: E, code: "VALIDATION_ERROR" }), e.onZodError && e.onZodError(g.value);
214
214
  } else {
215
215
  const l = u.message || "An error occurred";
216
216
  C.value = l, n?.onError?.(u), e.onErrorRequest?.({ message: l });
217
217
  }
218
218
  } finally {
219
- v.value = !1, j.value = !0;
219
+ q.value = !1, j.value = !0;
220
220
  }
221
221
  }
222
222
  } };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "vue-api-kit",
3
3
  "type": "module",
4
- "version": "1.10.0",
4
+ "version": "1.10.2",
5
5
  "description": "A powerful and flexible API client for Vue 3 applications, built with TypeScript and Zod for type-safe API interactions.",
6
6
  "keywords": [
7
7
  "vue3",