@ninebone/util 1.0.23 → 1.0.25

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/nine-util.js CHANGED
@@ -197,18 +197,22 @@ const _Fetch = class _Fetch {
197
197
  };
198
198
  _request = new WeakMap();
199
199
  __publicField(_Fetch, "BASE_URL", window.__API_BASE_URL__ || "");
200
- __privateAdd(_Fetch, _request, (method, url, data = {}, showLoading = true) => {
200
+ __privateAdd(_Fetch, _request, (method, url, data = {}, headers = {}, showLoading = true) => {
201
201
  const finalUrl = url.startsWith("http") ? url : `${_Fetch.BASE_URL}${url}`;
202
202
  if (showLoading) {
203
203
  Loading.show();
204
204
  }
205
- const headers = {};
205
+ const finalHeaders = { ...headers };
206
+ const token = localStorage.getItem("accessToken");
207
+ if (token && !finalHeaders["Authorization"] && !finalHeaders["authorization"]) {
208
+ finalHeaders["Authorization"] = `Bearer ${token}`;
209
+ }
206
210
  if (!(data instanceof FormData)) {
207
- headers["Content-Type"] = "application/json";
211
+ finalHeaders["Content-Type"] = "application/json";
208
212
  }
209
213
  const options = {
210
214
  method,
211
- headers
215
+ headers: finalHeaders
212
216
  };
213
217
  let targetUrl = finalUrl;
214
218
  if (method === "GET") {
@@ -232,15 +236,15 @@ __privateAdd(_Fetch, _request, (method, url, data = {}, showLoading = true) => {
232
236
  });
233
237
  });
234
238
  // 기존 post/get 메서드도 인자를 넘겨주도록 수정
235
- __publicField(_Fetch, "get", (url, data = {}, showLoading = true) => {
239
+ __publicField(_Fetch, "get", (url, data = {}, header = {}, showLoading = true) => {
236
240
  var _a2;
237
- return __privateGet(_a2 = _Fetch, _request).call(_a2, "GET", url, data, showLoading);
241
+ return __privateGet(_a2 = _Fetch, _request).call(_a2, "GET", url, data, header, showLoading);
238
242
  });
239
- __publicField(_Fetch, "post", (url, data = {}, showLoading = true) => {
243
+ __publicField(_Fetch, "post", (url, data = {}, header = {}, showLoading = true) => {
240
244
  var _a2;
241
- return __privateGet(_a2 = _Fetch, _request).call(_a2, "POST", url, data, showLoading);
245
+ return __privateGet(_a2 = _Fetch, _request).call(_a2, "POST", url, data, header, showLoading);
242
246
  });
243
- /**
247
+ /**header
244
248
  * 🚀 범용 청크 전송 (파라미터 이름까지 동적 설정)
245
249
  * @param {string} url - API 주소
246
250
  * @param {Array} rows - 데이터 배열
@@ -297,19 +301,24 @@ __publicField(_Fetch, "postMultipart", async (url, rows = [], options = {}) => {
297
301
  __publicField(_Fetch, "postOneMultipart", async (url, row = {}, options = {}) => {
298
302
  const {
299
303
  fileKey = "fileContents",
300
- // row 내 파일 객체가 담긴 키
301
304
  jsonPartName = "dataList"
302
- // 서버에서 JSON 데이터를 받을 키
303
305
  } = options;
304
306
  Loading.show();
305
307
  try {
306
308
  const formData = new FormData();
307
309
  const { [fileKey]: fileData, ...rest } = row;
310
+ const appendFiles = (key, value) => {
311
+ if (Array.isArray(value)) {
312
+ value.forEach((item) => appendFiles(key, item));
313
+ } else if (value instanceof File) {
314
+ formData.append(key, value);
315
+ } else if (value && typeof value === "object") {
316
+ Object.entries(value).forEach(([k, v]) => appendFiles(k, v));
317
+ }
318
+ };
308
319
  if (fileData && typeof fileData === "object") {
309
- Object.entries(fileData).forEach(([key, fileObj]) => {
310
- if (fileObj instanceof File) {
311
- formData.append(key, fileObj);
312
- }
320
+ Object.entries(fileData).forEach(([key, value]) => {
321
+ appendFiles(key, value);
313
322
  });
314
323
  }
315
324
  const jsonBlob = new Blob([JSON.stringify(rest)], { type: "application/json" });
@@ -1292,7 +1301,7 @@ class UxSplitter extends HTMLElement {
1292
1301
  const htmlTmpl = document.createElement("template");
1293
1302
  htmlTmpl.innerHTML = `
1294
1303
  <style>
1295
- @import "https://cdn.jsdelivr.net/npm/@ninebone/util@${"1.0.23"}/dist/css/nine-util.css";
1304
+ @import "https://cdn.jsdelivr.net/npm/@ninebone/util@${"1.0.25"}/dist/css/nine-util.css";
1296
1305
  ${customImport}
1297
1306
  </style>
1298
1307
  ${gripTmpl}