diff --git a/eleventy-fetch.d.ts b/eleventy-fetch.d.ts new file mode 100644 index 0000000..6f2d560 --- /dev/null +++ b/eleventy-fetch.d.ts @@ -0,0 +1,26 @@ +/// +import { Buffer } from 'buffer'; + +export type FetchType = + | "json" + | "buffer" + | "text"; + +export type EleventyFetchOptions = { + type?: TType; + directory?: string; + concurrency?: number; + fetchOptions?: RequestInit; + dryRun?: boolean; + removeUrlQueryParams?: boolean; + verbose?: boolean; + hashLength?: number; + duration?: string; + formatUrlForDisplay?: (url: string) => string; +} + +export function EleventyFetch(url: string, options?: EleventyFetchOptions<"buffer">): Buffer; +export function EleventyFetch(url: string, options: EleventyFetchOptions<"json">): T; +export function EleventyFetch(url: string, options: EleventyFetchOptions<"text">): string; + +export default EleventyFetch; diff --git a/package.json b/package.json index 3cfcc8a..1727672 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "url": "git+https://github.com/11ty/eleventy-fetch.git" }, "main": "eleventy-fetch.js", + "types": "eleventy-fetch.d.ts", "scripts": { "test": "ava", "sample": "node sample", @@ -41,6 +42,7 @@ }, "homepage": "https://github.com/11ty/eleventy-fetch#readme", "devDependencies": { + "@types/node": "^20.14.6", "ava": "^5.2.0", "prettier": "^3.2.5" },