{"version":3,"file":"requestOptions.mjs","sources":["../../../../../packages/request/request-core/requestOptions.ts"],"sourcesContent":["export interface RequestOptions {\n  //请求地址\n  url?: string;\n  baseUrl?: string;\n  params?: Record<string, any>;\n  data?: Record<string, any>;\n  headers?: Record<string, string>;\n  useCache?: boolean;\n  cache?: CacheOptions;\n  retry?: number;\n  retryInterval?: number;\n}\n\nexport interface CacheOptions {\n  //是否持久化存储\n  isPersist?: boolean;\n  // 缓存时间\n  duration?: number;\n\n  // 缓存的key\n  key?(config: RequestOptions): string;\n\n  // 自定义缓存是否有效，提供该配置后，duration配置失效\n  // key表示缓存键， config表示此次请求配置\n  // 返回true表示缓存有效，返回false缓存无效。\n  isValid?(key: string, config: RequestOptions): boolean;\n}\n\nexport type RequestOptionsType = (options: RequestOptions) => Promise<any>;\n\nexport const defaultRequestOptions: RequestOptions = {\n  cache: getDefaultCacheOptions(),\n};\n\nexport function getDefaultCacheOptions(): CacheOptions {\n  return {\n    duration: 60 * 1000,\n    key: (config: RequestOptions): string => {\n      return defaultCacheKey(config);\n    },\n    isPersist: false,\n  };\n}\n\nfunction defaultCacheKey(options: RequestOptions): string {\n  // 请求缓存\n  const cacheKey = `${options.url}_${JSON.stringify(\n    options.params || {}\n  )}_${JSON.stringify(options.data || {})}`;\n  return cacheKey;\n}\n"],"names":[],"mappings":"AAAY,MAAC,qBAAqB,GAAG;AACrC,EAAE,KAAK,EAAE,sBAAsB,EAAE;AACjC,EAAE;AACK,SAAS,sBAAsB,GAAG;AACzC,EAAE,OAAO;AACT,IAAI,QAAQ,EAAE,EAAE,GAAG,GAAG;AACtB,IAAI,GAAG,EAAE,CAAC,MAAM,KAAK;AACrB,MAAM,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACrC,KAAK;AACL,IAAI,SAAS,EAAE,KAAK;AACpB,GAAG,CAAC;AACJ,CAAC;AACD,SAAS,eAAe,CAAC,OAAO,EAAE;AAClC,EAAE,MAAM,QAAQ,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS;AACnD,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE;AACxB,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAC5C,EAAE,OAAO,QAAQ,CAAC;AAClB;;;;"}