diff --git a/packages/mock-addon/package.json b/packages/mock-addon/package.json index dde1e11..8feef9f 100644 --- a/packages/mock-addon/package.json +++ b/packages/mock-addon/package.json @@ -22,7 +22,7 @@ }, "main": "dist/cjs/index.js", "module": "dist/esm/index.js", - "types": "dist/ts/index.d.ts", + "types": "typings.d.ts", "files": [ "dist/**/*", "README.md", diff --git a/packages/mock-addon/src/typings.d.ts b/packages/mock-addon/src/typings.d.ts deleted file mode 100644 index 0f79d45..0000000 --- a/packages/mock-addon/src/typings.d.ts +++ /dev/null @@ -1 +0,0 @@ -declare module "global"; \ No newline at end of file diff --git a/packages/mock-addon/typings.d.ts b/packages/mock-addon/typings.d.ts new file mode 100644 index 0000000..0659a13 --- /dev/null +++ b/packages/mock-addon/typings.d.ts @@ -0,0 +1,41 @@ +type JSONValue = string | number | boolean | JSONObject | JSONArray +type JSONArray = Array +interface JSONObject { + [x: string]: JSONValue +} + +export type Method = 'GET' | 'PUT' | 'POST' | 'DELETE' | 'PATCH' | 'OPTIONS' + +export type Request = { + body: string | null + method: Method + signal: AbortSignal | null + url: string + searchParams?: string +} + +export type ResponseObj = JSONObject | JSONArray +export type ResponseFn = (request: Request) => JSONValue +export type Response = ResponseObj | ResponseFn + +export type StorybookAddonMockData = { + url: string + method: Method + /** @default 0 */ + delay?: number + status: number + response: Response +} + +declare module '@storybook/csf' { + interface Parameters { + mockAddonConfigs?: { + globalMockData?: StorybookAddonMockData[] + ignoreQueryParams?: boolean + refreshStoryOnUpdate?: boolean + disableUsingOriginal?: boolean + disable?: boolean + } + mockData?: StorybookAddonMockData[] + } +}