@ureq/impl-fetch 0.0.1 → 0.0.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.
@@ -0,0 +1,22 @@
1
+ import { Requestor, RequestOptions, Response } from '@ureq/core';
2
+
3
+ interface FetchRequestorOptions {
4
+ baseURL?: string;
5
+ defaultHeaders?: Record<string, string>;
6
+ }
7
+ declare class FetchRequestor implements Requestor {
8
+ private baseURL;
9
+ private defaultHeaders;
10
+ constructor(options?: FetchRequestorOptions);
11
+ private getFullURL;
12
+ private convertResponse;
13
+ private handleError;
14
+ private createRequestInit;
15
+ get<T>(url: string, options?: RequestOptions): Promise<Response<T>>;
16
+ post<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>>;
17
+ put<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>>;
18
+ delete<T>(url: string, options?: RequestOptions): Promise<Response<T>>;
19
+ patch<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>>;
20
+ }
21
+
22
+ export { FetchRequestor, type FetchRequestorOptions };
@@ -0,0 +1,22 @@
1
+ import { Requestor, RequestOptions, Response } from '@ureq/core';
2
+
3
+ interface FetchRequestorOptions {
4
+ baseURL?: string;
5
+ defaultHeaders?: Record<string, string>;
6
+ }
7
+ declare class FetchRequestor implements Requestor {
8
+ private baseURL;
9
+ private defaultHeaders;
10
+ constructor(options?: FetchRequestorOptions);
11
+ private getFullURL;
12
+ private convertResponse;
13
+ private handleError;
14
+ private createRequestInit;
15
+ get<T>(url: string, options?: RequestOptions): Promise<Response<T>>;
16
+ post<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>>;
17
+ put<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>>;
18
+ delete<T>(url: string, options?: RequestOptions): Promise<Response<T>>;
19
+ patch<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>>;
20
+ }
21
+
22
+ export { FetchRequestor, type FetchRequestorOptions };
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ 'use strict';var core=require('@ureq/core');var i=class{constructor(e){this.baseURL=e?.baseURL||"",this.defaultHeaders=e?.defaultHeaders||{};}getFullURL(e){return this.baseURL?new URL(e,this.baseURL).toString():e}async convertResponse(e){let r;try{r=await e.json();}catch{r=await e.text();}return {data:r,status:e.status,statusText:e.statusText,headers:Object.fromEntries(e.headers.entries())}}handleError(e,r,t){throw core.createRequestError(e,{method:r,url:t})}createRequestInit(e,r,t){return {method:e,headers:{"Content-Type":"application/json",...this.defaultHeaders,...t?.headers},body:r?JSON.stringify(r):void 0,signal:t?.signal,credentials:"same-origin",...t}}async get(e,r){try{let t=this.getFullURL(e),s=await fetch(t,this.createRequestInit("GET",void 0,r));if(!s.ok)throw s;return this.convertResponse(s)}catch(t){this.handleError(t,"GET",e);}}async post(e,r,t){try{let s=this.getFullURL(e),n=await fetch(s,this.createRequestInit("POST",r,t));if(!n.ok)throw n;return this.convertResponse(n)}catch(s){this.handleError(s,"POST",e);}}async put(e,r,t){try{let s=this.getFullURL(e),n=await fetch(s,this.createRequestInit("PUT",r,t));if(!n.ok)throw n;return this.convertResponse(n)}catch(s){this.handleError(s,"PUT",e);}}async delete(e,r){try{let t=this.getFullURL(e),s=await fetch(t,this.createRequestInit("DELETE",void 0,r));if(!s.ok)throw s;return this.convertResponse(s)}catch(t){this.handleError(t,"DELETE",e);}}async patch(e,r,t){try{let s=this.getFullURL(e),n=await fetch(s,this.createRequestInit("PATCH",r,t));if(!n.ok)throw n;return this.convertResponse(n)}catch(s){this.handleError(s,"PATCH",e);}}};exports.FetchRequestor=i;//# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"names":["FetchRequestor","options","url","response","data","error","method","createRequestError","fullUrl"],"mappings":"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","file":"index.js","sourcesContent":["import { Requestor, RequestOptions, Response, RequestError, createRequestError } from '@ureq/core';\n\nexport interface FetchRequestorOptions {\n baseURL?: string;\n defaultHeaders?: Record<string, string>;\n}\n\nexport class FetchRequestor implements Requestor {\n private baseURL: string;\n private defaultHeaders: Record<string, string>;\n\n constructor(options?: FetchRequestorOptions) {\n this.baseURL = options?.baseURL || '';\n this.defaultHeaders = options?.defaultHeaders || {};\n }\n\n private getFullURL(url: string): string {\n return this.baseURL ? new URL(url, this.baseURL).toString() : url;\n }\n\n private async convertResponse<T>(response: globalThis.Response): Promise<Response<T>> {\n let data: T;\n \n try {\n data = await response.json();\n } catch {\n data = await response.text() as any;\n }\n\n return {\n data,\n status: response.status,\n statusText: response.statusText,\n headers: Object.fromEntries(response.headers.entries()),\n };\n }\n\n private handleError(error: any, method?: string, url?: string): never {\n throw createRequestError(error, { method, url });\n }\n\n private createRequestInit(\n method: string,\n data?: any,\n options?: RequestOptions\n ): RequestInit {\n return {\n method,\n headers: {\n 'Content-Type': 'application/json',\n ...this.defaultHeaders,\n ...options?.headers,\n },\n body: data ? JSON.stringify(data) : undefined,\n signal: options?.signal,\n credentials: 'same-origin',\n ...options,\n };\n }\n\n async get<T>(url: string, options?: RequestOptions): Promise<Response<T>> {\n try {\n const fullUrl = this.getFullURL(url);\n const response = await fetch(\n fullUrl,\n this.createRequestInit('GET', undefined, options)\n );\n\n if (!response.ok) {\n throw response;\n }\n\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'GET', url);\n }\n }\n\n async post<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const fullUrl = this.getFullURL(url);\n const response = await fetch(\n fullUrl,\n this.createRequestInit('POST', data, options)\n );\n\n if (!response.ok) {\n throw response;\n }\n\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'POST', url);\n }\n }\n\n async put<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const fullUrl = this.getFullURL(url);\n const response = await fetch(\n fullUrl,\n this.createRequestInit('PUT', data, options)\n );\n\n if (!response.ok) {\n throw response;\n }\n\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'PUT', url);\n }\n }\n\n async delete<T>(url: string, options?: RequestOptions): Promise<Response<T>> {\n try {\n const fullUrl = this.getFullURL(url);\n const response = await fetch(\n fullUrl,\n this.createRequestInit('DELETE', undefined, options)\n );\n\n if (!response.ok) {\n throw response;\n }\n\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'DELETE', url);\n }\n }\n\n async patch<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const fullUrl = this.getFullURL(url);\n const response = await fetch(\n fullUrl,\n this.createRequestInit('PATCH', data, options)\n );\n\n if (!response.ok) {\n throw response;\n }\n\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'PATCH', url);\n }\n }\n\n // 实现其他方法...\n} "]}
package/dist/index.mjs ADDED
@@ -0,0 +1,2 @@
1
+ import {createRequestError}from'@ureq/core';var i=class{constructor(e){this.baseURL=e?.baseURL||"",this.defaultHeaders=e?.defaultHeaders||{};}getFullURL(e){return this.baseURL?new URL(e,this.baseURL).toString():e}async convertResponse(e){let r;try{r=await e.json();}catch{r=await e.text();}return {data:r,status:e.status,statusText:e.statusText,headers:Object.fromEntries(e.headers.entries())}}handleError(e,r,t){throw createRequestError(e,{method:r,url:t})}createRequestInit(e,r,t){return {method:e,headers:{"Content-Type":"application/json",...this.defaultHeaders,...t?.headers},body:r?JSON.stringify(r):void 0,signal:t?.signal,credentials:"same-origin",...t}}async get(e,r){try{let t=this.getFullURL(e),s=await fetch(t,this.createRequestInit("GET",void 0,r));if(!s.ok)throw s;return this.convertResponse(s)}catch(t){this.handleError(t,"GET",e);}}async post(e,r,t){try{let s=this.getFullURL(e),n=await fetch(s,this.createRequestInit("POST",r,t));if(!n.ok)throw n;return this.convertResponse(n)}catch(s){this.handleError(s,"POST",e);}}async put(e,r,t){try{let s=this.getFullURL(e),n=await fetch(s,this.createRequestInit("PUT",r,t));if(!n.ok)throw n;return this.convertResponse(n)}catch(s){this.handleError(s,"PUT",e);}}async delete(e,r){try{let t=this.getFullURL(e),s=await fetch(t,this.createRequestInit("DELETE",void 0,r));if(!s.ok)throw s;return this.convertResponse(s)}catch(t){this.handleError(t,"DELETE",e);}}async patch(e,r,t){try{let s=this.getFullURL(e),n=await fetch(s,this.createRequestInit("PATCH",r,t));if(!n.ok)throw n;return this.convertResponse(n)}catch(s){this.handleError(s,"PATCH",e);}}};export{i as FetchRequestor};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts"],"names":["FetchRequestor","options","url","response","data","error","method","createRequestError","fullUrl"],"mappings":"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","file":"index.mjs","sourcesContent":["import { Requestor, RequestOptions, Response, RequestError, createRequestError } from '@ureq/core';\n\nexport interface FetchRequestorOptions {\n baseURL?: string;\n defaultHeaders?: Record<string, string>;\n}\n\nexport class FetchRequestor implements Requestor {\n private baseURL: string;\n private defaultHeaders: Record<string, string>;\n\n constructor(options?: FetchRequestorOptions) {\n this.baseURL = options?.baseURL || '';\n this.defaultHeaders = options?.defaultHeaders || {};\n }\n\n private getFullURL(url: string): string {\n return this.baseURL ? new URL(url, this.baseURL).toString() : url;\n }\n\n private async convertResponse<T>(response: globalThis.Response): Promise<Response<T>> {\n let data: T;\n \n try {\n data = await response.json();\n } catch {\n data = await response.text() as any;\n }\n\n return {\n data,\n status: response.status,\n statusText: response.statusText,\n headers: Object.fromEntries(response.headers.entries()),\n };\n }\n\n private handleError(error: any, method?: string, url?: string): never {\n throw createRequestError(error, { method, url });\n }\n\n private createRequestInit(\n method: string,\n data?: any,\n options?: RequestOptions\n ): RequestInit {\n return {\n method,\n headers: {\n 'Content-Type': 'application/json',\n ...this.defaultHeaders,\n ...options?.headers,\n },\n body: data ? JSON.stringify(data) : undefined,\n signal: options?.signal,\n credentials: 'same-origin',\n ...options,\n };\n }\n\n async get<T>(url: string, options?: RequestOptions): Promise<Response<T>> {\n try {\n const fullUrl = this.getFullURL(url);\n const response = await fetch(\n fullUrl,\n this.createRequestInit('GET', undefined, options)\n );\n\n if (!response.ok) {\n throw response;\n }\n\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'GET', url);\n }\n }\n\n async post<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const fullUrl = this.getFullURL(url);\n const response = await fetch(\n fullUrl,\n this.createRequestInit('POST', data, options)\n );\n\n if (!response.ok) {\n throw response;\n }\n\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'POST', url);\n }\n }\n\n async put<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const fullUrl = this.getFullURL(url);\n const response = await fetch(\n fullUrl,\n this.createRequestInit('PUT', data, options)\n );\n\n if (!response.ok) {\n throw response;\n }\n\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'PUT', url);\n }\n }\n\n async delete<T>(url: string, options?: RequestOptions): Promise<Response<T>> {\n try {\n const fullUrl = this.getFullURL(url);\n const response = await fetch(\n fullUrl,\n this.createRequestInit('DELETE', undefined, options)\n );\n\n if (!response.ok) {\n throw response;\n }\n\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'DELETE', url);\n }\n }\n\n async patch<T>(url: string, data?: any, options?: RequestOptions): Promise<Response<T>> {\n try {\n const fullUrl = this.getFullURL(url);\n const response = await fetch(\n fullUrl,\n this.createRequestInit('PATCH', data, options)\n );\n\n if (!response.ok) {\n throw response;\n }\n\n return this.convertResponse(response);\n } catch (error) {\n this.handleError(error, 'PATCH', url);\n }\n }\n\n // 实现其他方法...\n} "]}
package/package.json CHANGED
@@ -1,22 +1,33 @@
1
1
  {
2
2
  "name": "@ureq/impl-fetch",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
+ "description": "Fetch implementation for universal request library",
4
5
  "main": "./dist/index.js",
5
6
  "module": "./dist/index.mjs",
6
7
  "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.mjs",
12
+ "require": "./dist/index.js"
13
+ }
14
+ },
7
15
  "files": [
8
16
  "dist"
9
17
  ],
10
- "scripts": {
11
- "build": "tsup --config tsup.config.ts",
12
- "dev": "tsup --watch",
13
- "test": "vitest"
18
+ "publishConfig": {
19
+ "access": "public"
14
20
  },
15
21
  "dependencies": {
16
- "@ureq/core": "workspace:*"
22
+ "@ureq/core": "0.0.2"
17
23
  },
18
24
  "devDependencies": {
19
25
  "tsup": "^8.3.6",
20
26
  "typescript": "^5.7.3"
27
+ },
28
+ "scripts": {
29
+ "build": "tsup --config tsup.config.ts",
30
+ "dev": "tsup --watch",
31
+ "test": "vitest"
21
32
  }
22
33
  }