{"version":3,"file":"mapper-helper.mjs","sources":["../../../../../packages/utils/request/mapper-helper.ts"],"sourcesContent":["import { EmptyResponseData, ResponseData, RequestAxios } from './request'\n\n// 是否自动过滤 get 请求中的空参数值\nlet isFilterEmptyParams = true\nlet axiosRequestSingle = null\n\nconst setMapperHelper = ({\n  enableFilterEmptyUrl,\n  axiosRequest,\n}: {\n  enableFilterEmptyUrl?: boolean\n  axiosRequest: RequestAxios\n}) => {\n  isFilterEmptyParams = enableFilterEmptyUrl ?? true\n  axiosRequestSingle = axiosRequest\n}\n\n// 过滤 get 请求中的空参数\nconst filterUrlParams = (url: string) => {\n  if (!isFilterEmptyParams) return url\n  const splitArr = url.split('?')\n  if (splitArr.length) {\n    const apiUrl = splitArr[0]\n    const paramsObj = new URLSearchParams(splitArr[1])\n    const deleteArr = []\n    for (const p of paramsObj) {\n      if (p[1] === 'undefined' || p[1] === '') {\n        deleteArr.push(p[0])\n      }\n    }\n    deleteArr.forEach(paramName => {\n      paramsObj.delete(paramName)\n    })\n    return `${apiUrl}?${paramsObj.toString()}`\n  } else {\n    return url\n  }\n}\n\nconst getRequestData = <T extends ResponseData | EmptyResponseData>(\n  url: string,\n  mapperApiId: string,\n  data2mock = false,\n  headers: any = {},\n): Promise<T> => {\n  const mockUrl = `http://172.15.34.231:7001/api/mapper_api/api/getApiJson/${mapperApiId}/2`\n  return new Promise((resolve, reject) => {\n    const apiUrl = data2mock ? mockUrl : filterUrlParams(url)\n    return axiosRequestSingle\n      .get(apiUrl, headers)\n      .then(resp => resolve(resp as T))\n      .catch(err => {\n        reject(err)\n      })\n  })\n}\nconst postRequestData = <T extends ResponseData | EmptyResponseData>(\n  url: string,\n  mapperApiId: string,\n  data2mock = true,\n  data?: { [x: string]: any; },\n  headers: any = {},\n): Promise<T> => {\n  const mockUrl = `http://172.15.34.231:7001/api/mapper_api/api/getApiJson/${mapperApiId}/2`\n  if (data2mock) {\n    return getRequestData(url, mapperApiId, true)\n  }\n  return new Promise((resolve, reject) => {\n    const apiUrl = data2mock ? mockUrl : filterUrlParams(url)\n    return axiosRequestSingle\n      .post(apiUrl, data, headers)\n      .then(resp => resolve(resp as T))\n      .catch(err => {\n        reject(err)\n      })\n  })\n}\nconst putRequestData = <T extends ResponseData | EmptyResponseData>(\n  url: string,\n  mapperApiId: string,\n  data2mock = true,\n  data?: { [x: string]: any; },\n  headers: any = {},\n): Promise<T> => {\n  const mockUrl = `http://172.15.34.231:7001/api/mapper_api/api/getApiJson/${mapperApiId}/2`\n  if (data2mock) {\n    return getRequestData(url, mapperApiId, true)\n  }\n  return new Promise((resolve, reject) => {\n    const apiUrl = data2mock ? mockUrl : filterUrlParams(url)\n    return axiosRequestSingle\n      .put(apiUrl, data, headers)\n      .then(resp => resolve(resp as T))\n      .catch(err => {\n        reject(err)\n      })\n  })\n}\nconst deleteRequestData = <T extends ResponseData | EmptyResponseData>(\n  url: string,\n  mapperApiId: string,\n  data2mock = false,\n  headers: any = {},\n): Promise<T> => {\n  const mockUrl = `http://172.15.34.231:7001/api/mapper_api/api/getApiJson/${mapperApiId}/2`\n  if (data2mock) {\n    return getRequestData(url, mapperApiId, true)\n  }\n  return new Promise((resolve, reject) => {\n    const apiUrl = data2mock ? mockUrl : filterUrlParams(url)\n    return axiosRequestSingle\n      .delete(apiUrl, headers)\n      .then(resp => resolve(resp as T))\n      .catch(err => {\n        reject(err)\n      })\n  })\n}\n/**\n *\n * @param params 请求参数中发现字段值处理\n */\nconst queryPramsDeal = (params: any) =>\n  new Proxy(params, {\n    get(target, prop) {\n      if (prop in target) {\n        return target[prop]\n      }\n      return ''\n    },\n  })\n\nconst setDeepObj = (options: any, key: string, value: any) => {\n  const keys = key.split('.')\n  // eslint-disable-next-line no-return-assign\n  keys.reduce(\n    (acc, cur, i) => (acc[cur] = i === keys.length - 1 ? value : acc[cur] || []),\n    options,\n  )\n}\n\nexport const requestHelper = {\n  getRequestData,\n  postRequestData,\n  putRequestData,\n  deleteRequestData,\n  queryPramsDeal,\n  setDeepObj,\n  setMapperHelper,\n}\n"],"names":[],"mappings":"AAGA,IAAI,mBAAsB,GAAA,IAAA,CAAA;AAC1B,IAAI,kBAAqB,GAAA,IAAA,CAAA;AAEzB,MAAM,kBAAkB,CAAC;AAAA,EACvB,oBAAA;AAAA,EACA,YAAA;AAAA,CAII,KAAA;AACJ,EAAA,mBAAA,GAAsB,oBAAwB,IAAA,IAAA,GAAA,oBAAA,GAAA,IAAA,CAAA;AAC9C,EAAqB,kBAAA,GAAA,YAAA,CAAA;AAAA,CAAA,CAAA;AAIvB,MAAM,eAAA,GAAkB,CAAC,GAAgB,KAAA;AACvC,EAAA,IAAI,CAAC,mBAAA;AAAqB,IAAO,OAAA,GAAA,CAAA;AACjC,EAAM,MAAA,QAAA,GAAW,IAAI,KAAM,CAAA,GAAA,CAAA,CAAA;AAC3B,EAAA,IAAI,SAAS,MAAQ,EAAA;AACnB,IAAA,MAAM,SAAS,QAAS,CAAA,CAAA,CAAA,CAAA;AACxB,IAAM,MAAA,SAAA,GAAY,IAAI,eAAA,CAAgB,QAAS,CAAA,CAAA,CAAA,CAAA,CAAA;AAC/C,IAAA,MAAM,SAAY,GAAA,EAAA,CAAA;AAClB,IAAA,KAAA,MAAW,KAAK,SAAW,EAAA;AACzB,MAAA,IAAI,CAAE,CAAA,CAAA,CAAA,KAAO,WAAe,IAAA,CAAA,CAAE,OAAO,EAAI,EAAA;AACvC,QAAA,SAAA,CAAU,KAAK,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,OAAA;AAAA,KAAA;AAGrB,IAAA,SAAA,CAAU,QAAQ,CAAa,SAAA,KAAA;AAC7B,MAAA,SAAA,CAAU,MAAO,CAAA,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAEnB,IAAO,OAAA,CAAA,EAAG,UAAU,SAAU,CAAA,QAAA,EAAA,CAAA,CAAA,CAAA;AAAA,GACzB,MAAA;AACL,IAAO,OAAA,GAAA,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA;AAIX,MAAM,iBAAiB,CACrB,GAAA,EACA,aACA,SAAY,GAAA,KAAA,EACZ,UAAe,EACA,KAAA;AACf,EAAA,MAAM,UAAU,CAA2D,wDAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA;AAC3E,EAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAW,KAAA;AACtC,IAAM,MAAA,MAAA,GAAS,SAAY,GAAA,OAAA,GAAU,eAAgB,CAAA,GAAA,CAAA,CAAA;AACrD,IAAO,OAAA,kBAAA,CACJ,IAAI,MAAQ,EAAA,OAAA,CAAA,CACZ,KAAK,CAAQ,IAAA,KAAA,OAAA,CAAQ,IACrB,CAAA,CAAA,CAAA,KAAA,CAAM,CAAO,GAAA,KAAA;AACZ,MAAO,MAAA,CAAA,GAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAIf,MAAM,eAAA,GAAkB,CACtB,GACA,EAAA,WAAA,EACA,YAAY,IACZ,EAAA,IAAA,EACA,UAAe,EACA,KAAA;AACf,EAAA,MAAM,UAAU,CAA2D,wDAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA;AAC3E,EAAA,IAAI,SAAW,EAAA;AACb,IAAO,OAAA,cAAA,CAAe,KAAK,WAAa,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA;AAE1C,EAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAW,KAAA;AACtC,IAAM,MAAA,MAAA,GAAS,SAAY,GAAA,OAAA,GAAU,eAAgB,CAAA,GAAA,CAAA,CAAA;AACrD,IAAO,OAAA,kBAAA,CACJ,IAAK,CAAA,MAAA,EAAQ,IAAM,EAAA,OAAA,CAAA,CACnB,KAAK,CAAQ,IAAA,KAAA,OAAA,CAAQ,IACrB,CAAA,CAAA,CAAA,KAAA,CAAM,CAAO,GAAA,KAAA;AACZ,MAAO,MAAA,CAAA,GAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAIf,MAAM,cAAA,GAAiB,CACrB,GACA,EAAA,WAAA,EACA,YAAY,IACZ,EAAA,IAAA,EACA,UAAe,EACA,KAAA;AACf,EAAA,MAAM,UAAU,CAA2D,wDAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA;AAC3E,EAAA,IAAI,SAAW,EAAA;AACb,IAAO,OAAA,cAAA,CAAe,KAAK,WAAa,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA;AAE1C,EAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAW,KAAA;AACtC,IAAM,MAAA,MAAA,GAAS,SAAY,GAAA,OAAA,GAAU,eAAgB,CAAA,GAAA,CAAA,CAAA;AACrD,IAAO,OAAA,kBAAA,CACJ,GAAI,CAAA,MAAA,EAAQ,IAAM,EAAA,OAAA,CAAA,CAClB,KAAK,CAAQ,IAAA,KAAA,OAAA,CAAQ,IACrB,CAAA,CAAA,CAAA,KAAA,CAAM,CAAO,GAAA,KAAA;AACZ,MAAO,MAAA,CAAA,GAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAIf,MAAM,oBAAoB,CACxB,GAAA,EACA,aACA,SAAY,GAAA,KAAA,EACZ,UAAe,EACA,KAAA;AACf,EAAA,MAAM,UAAU,CAA2D,wDAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAAA;AAC3E,EAAA,IAAI,SAAW,EAAA;AACb,IAAO,OAAA,cAAA,CAAe,KAAK,WAAa,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA;AAE1C,EAAA,OAAO,IAAI,OAAA,CAAQ,CAAC,OAAA,EAAS,MAAW,KAAA;AACtC,IAAM,MAAA,MAAA,GAAS,SAAY,GAAA,OAAA,GAAU,eAAgB,CAAA,GAAA,CAAA,CAAA;AACrD,IAAO,OAAA,kBAAA,CACJ,OAAO,MAAQ,EAAA,OAAA,CAAA,CACf,KAAK,CAAQ,IAAA,KAAA,OAAA,CAAQ,IACrB,CAAA,CAAA,CAAA,KAAA,CAAM,CAAO,GAAA,KAAA;AACZ,MAAO,MAAA,CAAA,GAAA,CAAA,CAAA;AAAA,KAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAQf,MAAM,cAAiB,GAAA,CAAC,MACtB,KAAA,IAAI,MAAM,MAAQ,EAAA;AAAA,EAChB,GAAA,CAAI,QAAQ,IAAM,EAAA;AAChB,IAAA,IAAI,QAAQ,MAAQ,EAAA;AAClB,MAAA,OAAO,MAAO,CAAA,IAAA,CAAA,CAAA;AAAA,KAAA;AAEhB,IAAO,OAAA,EAAA,CAAA;AAAA,GAAA;AAAA,CAAA,CAAA,CAAA;AAIb,MAAM,UAAa,GAAA,CAAC,OAAc,EAAA,GAAA,EAAa,KAAe,KAAA;AAC5D,EAAM,MAAA,IAAA,GAAO,IAAI,KAAM,CAAA,GAAA,CAAA,CAAA;AAEvB,EAAA,IAAA,CAAK,MACH,CAAA,CAAC,GAAK,EAAA,GAAA,EAAK,MAAO,GAAI,CAAA,GAAA,CAAA,GAAO,CAAM,KAAA,IAAA,CAAK,MAAS,GAAA,CAAA,GAAI,KAAQ,GAAA,GAAA,CAAI,QAAQ,EACzE,EAAA,OAAA,CAAA,CAAA;AAAA,CAAA,CAAA;AAIG,MAAM,aAAgB,GAAA;AAAA,EAC3B,cAAA;AAAA,EACA,eAAA;AAAA,EACA,cAAA;AAAA,EACA,iBAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AAAA,EACA,eAAA;AAAA;;;;"}