vue-api-kit 1.10.0 → 1.10.1

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",
@@ -22,7 +22,7 @@ function K(e) {
22
22
  withXSRFToken: e.withXSRFToken ?? !1
23
23
  });
24
24
  let P = !1, b = null;
25
- e.onBeforeRequest && h.interceptors.request.use(
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(() => {
68
+ return P && b ? await b : (P = !0, b = y.get(e.csrfRefreshEndpoint).then(() => {
69
69
  P = !1, b = null;
70
- }), await b), h.request(i);
70
+ }), await b), y.request(i);
71
71
  } catch (m) {
72
72
  return P = !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;
@@ -88,66 +88,66 @@ function K(e) {
88
88
  if (z(d)) {
89
89
  const t = d;
90
90
  i[m] = (n) => {
91
- let s;
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);
91
+ let a;
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 ? a = n : a = { params: n });
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();
97
97
  }, l = async () => {
98
98
  j.value && u(), j.value = !0, g.value = void 0;
99
99
  try {
100
- t.params && s?.params && t.params.parse(s.params);
101
- let a = s?.data;
102
- t.data && a && t.data.parse(a);
100
+ t.params && a?.params && t.params.parse(a.params);
101
+ let s = a?.data;
102
+ t.data && s && t.data.parse(s);
103
103
  const c = {
104
104
  method: t.method ?? "GET",
105
105
  url: t.path,
106
- params: s?.params,
106
+ params: a?.params,
107
107
  signal: w.signal
108
108
  };
109
- if (t.method === "POST" && a && (c.data = a), t.onBeforeRequest) {
109
+ if (t.method === "POST" && s && (c.data = s), t.onBeforeRequest) {
110
110
  const f = await t.onBeforeRequest(c);
111
111
  f !== void 0 && Object.assign(c, f);
112
112
  }
113
- if (s?.onBeforeRequest) {
114
- const f = await s.onBeforeRequest(c);
113
+ if (a?.onBeforeRequest) {
114
+ const f = await a.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;
118
- C.value = o, s?.onResult?.(o);
119
- } catch (a) {
120
- if (a instanceof F) {
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 });
117
+ const h = await y.request(c), o = t.response ? t.response.parse(h.data) : h.data;
118
+ C.value = o, a?.onResult?.(o);
119
+ } catch (s) {
120
+ if (s instanceof F) {
121
+ if (s.code !== "ERR_CANCELED") {
122
+ const c = s.config?.url, h = s.response?.data?.message || s.message || "An error occurred", o = s.response?.status, f = s.code, v = s.response?.data;
123
+ g.value = h, a?.onError?.(s), e.onErrorRequest?.({ message: h, status: o, code: f, data: v, url: c });
124
124
  }
125
- } else if (a instanceof S) {
126
- v.value = a.issues || [];
127
- const q = `Validation error: ${v.value.map(
125
+ } else if (s instanceof S) {
126
+ q.value = s.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, a?.onError?.(s), a?.onZodError?.(q.value), e.onErrorRequest?.({ message: h, code: "VALIDATION_ERROR" }), e.onZodError && e.onZodError(q.value);
131
131
  } else {
132
- const c = a.message || "An error occurred";
133
- g.value = c, s?.onError?.(c), e.onErrorRequest?.({ message: c });
132
+ const c = s.message || "An error occurred";
133
+ g.value = c, a?.onError?.(c), e.onErrorRequest?.({ message: c });
134
134
  }
135
135
  } finally {
136
136
  j.value = !1, A.value = !0;
137
137
  }
138
- }, y = s?.debounce ? Q(l, s.debounce) : l;
138
+ }, E = a?.debounce ? Q(l, a.debounce) : l;
139
139
  let p = null;
140
- return (s?.params || s?.data) && (U(() => {
140
+ return (a?.params || a?.data) && (U(() => {
141
141
  p && p(), p = _(
142
- () => JSON.stringify({ params: s.params, data: s.data }),
142
+ () => JSON.stringify({ params: a.params, data: a.data }),
143
143
  () => {
144
- y();
144
+ E();
145
145
  },
146
146
  { immediate: !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
+ })), (a?.loadOnMount === void 0 || a.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 a = R(), C = R(), g = R(), q = R(!1), j = R(!1), A = R(0);
166
+ return { result: a, 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) => {
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((M) => {
176
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";
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
- const a = {
181
+ const s = {
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) => {
@@ -192,31 +192,31 @@ function K(e) {
192
192
  }
193
193
  };
194
194
  if (t.onBeforeRequest) {
195
- const o = await t.onBeforeRequest(a);
196
- o !== void 0 && Object.assign(a, o);
195
+ const o = await t.onBeforeRequest(s);
196
+ o !== void 0 && Object.assign(s, o);
197
197
  }
198
198
  if (n?.onBeforeRequest) {
199
- const o = await n.onBeforeRequest(a);
200
- o !== void 0 && Object.assign(a, o);
199
+ const o = await n.onBeforeRequest(s);
200
+ o !== void 0 && Object.assign(s, 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(s), h = t.response ? t.response.parse(c.data) : c.data;
203
+ a.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.1",
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",