@jhqn/utils-msw 0.0.1-beta.27 → 0.0.2-beta.0

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.
package/dist/index.cjs CHANGED
@@ -9,30 +9,31 @@ const getMockData = (data, code = 200, message = "success") => {
9
9
  const getMockDataList = (data, total, code = 200, message = "success") => {
10
10
  return { data: { records: data, total }, code, message };
11
11
  };
12
- const commonSuccessDelayedRes = msw.createResponseComposition({}, [
13
- msw.context.status(200),
14
- msw.context.delay(utilsFaker.fakeIntRange(100, 1e3))
15
- ]);
12
+ const randomDelay = () => msw.delay(utilsFaker.fakeIntRange(100, 1e3));
16
13
  const fnRes = (fn) => fn instanceof Function ? fn() : fn;
17
- const commonRes = (fn, ...args) => commonSuccessDelayedRes(args[2].json(getMockData(fnRes(fn))));
18
- const commonArrRes = (fn, range, ...args) => commonSuccessDelayedRes(
19
- args[2].json(getMockData(Array.from({ length: utilsFaker.fakeIntRange(range[0], range[1]) }, () => fnRes(fn))))
20
- );
21
- const commonPageRes = (fn, ...args) => {
22
- const total = 45;
23
- const page = Number(args[0].url.searchParams.get("page"));
24
- const count = Number(args[0].url.searchParams.get("count"));
14
+ const commonRes = async (fn) => {
15
+ await randomDelay();
16
+ return msw.HttpResponse.json(getMockData(fnRes(fn)));
17
+ };
18
+ const commonArrRes = async (fn, range) => {
19
+ await randomDelay();
20
+ return msw.HttpResponse.json(getMockData(Array.from({ length: utilsFaker.fakeIntRange(range[0], range[1]) }, () => fnRes(fn))));
21
+ };
22
+ const commonPageRes = async (fn, resolver, total = 42) => {
23
+ await randomDelay();
24
+ const url = new URL(resolver.request.url);
25
+ const page = Number(url.searchParams.get("page"));
26
+ const count = Number(url.searchParams.get("count"));
25
27
  let len = count;
26
28
  if (page * count > total) {
27
29
  len = total - (page - 1) * count;
28
30
  }
29
31
  const data = Array.from({ length: len }, () => fnRes(fn));
30
- return commonSuccessDelayedRes(args[2].json(getMockDataList(data, total)));
32
+ return msw.HttpResponse.json(getMockDataList(data, total));
31
33
  };
32
34
 
33
35
  exports.commonArrRes = commonArrRes;
34
36
  exports.commonPageRes = commonPageRes;
35
37
  exports.commonRes = commonRes;
36
- exports.commonSuccessDelayedRes = commonSuccessDelayedRes;
37
38
  exports.getMockData = getMockData;
38
39
  exports.getMockDataList = getMockDataList;
package/dist/index.d.cts CHANGED
@@ -1,23 +1,12 @@
1
- import { ResponseFunction, rest, MockedResponse } from 'msw';
1
+ import { StrictResponse, http } from 'msw';
2
+ import { Res, PageRes } from '@jhqn/utils-core';
2
3
 
3
4
  type MaybeFn<T> = T | (() => T);
4
5
 
5
- declare const getMockData: <T>(data: T, code?: number, message?: string) => {
6
- data: T;
7
- code: number;
8
- message: string;
9
- };
10
- declare const getMockDataList: <T>(data: T[], total: number, code?: number, message?: string) => {
11
- data: {
12
- records: T[];
13
- total: number;
14
- };
15
- code: number;
16
- message: string;
17
- };
18
- declare const commonSuccessDelayedRes: ResponseFunction;
19
- declare const commonRes: <T>(fn: MaybeFn<T>, ...args: Parameters<Parameters<typeof rest.get | typeof rest.post | typeof rest.put | typeof rest.delete>[1]>) => Promise<MockedResponse<any>> | MockedResponse<any>;
20
- declare const commonArrRes: <T>(fn: MaybeFn<T>, range: [min: number, max: number], ...args: Parameters<Parameters<typeof rest.get | typeof rest.post | typeof rest.put | typeof rest.delete>[1]>) => Promise<MockedResponse<any>> | MockedResponse<any>;
21
- declare const commonPageRes: <T>(fn: MaybeFn<T>, ...args: Parameters<Parameters<typeof rest.get>[1]>) => Promise<MockedResponse<any>> | MockedResponse<any>;
6
+ declare const getMockData: <T>(data: T, code?: number, message?: string) => Res<T>;
7
+ declare const getMockDataList: <T>(data: T[], total: number, code?: number, message?: string) => PageRes<T>;
8
+ declare const commonRes: <T>(fn: MaybeFn<T>) => Promise<StrictResponse<Res<T>>>;
9
+ declare const commonArrRes: <T>(fn: MaybeFn<T>, range: [min: number, max: number]) => Promise<StrictResponse<Res<T[]>>>;
10
+ declare const commonPageRes: <T>(fn: MaybeFn<T>, resolver: Parameters<Parameters<typeof http.get>[1]>[0], total?: number) => Promise<StrictResponse<PageRes<T>>>;
22
11
 
23
- export { type MaybeFn, commonArrRes, commonPageRes, commonRes, commonSuccessDelayedRes, getMockData, getMockDataList };
12
+ export { type MaybeFn, commonArrRes, commonPageRes, commonRes, getMockData, getMockDataList };
package/dist/index.d.mts CHANGED
@@ -1,23 +1,12 @@
1
- import { ResponseFunction, rest, MockedResponse } from 'msw';
1
+ import { StrictResponse, http } from 'msw';
2
+ import { Res, PageRes } from '@jhqn/utils-core';
2
3
 
3
4
  type MaybeFn<T> = T | (() => T);
4
5
 
5
- declare const getMockData: <T>(data: T, code?: number, message?: string) => {
6
- data: T;
7
- code: number;
8
- message: string;
9
- };
10
- declare const getMockDataList: <T>(data: T[], total: number, code?: number, message?: string) => {
11
- data: {
12
- records: T[];
13
- total: number;
14
- };
15
- code: number;
16
- message: string;
17
- };
18
- declare const commonSuccessDelayedRes: ResponseFunction;
19
- declare const commonRes: <T>(fn: MaybeFn<T>, ...args: Parameters<Parameters<typeof rest.get | typeof rest.post | typeof rest.put | typeof rest.delete>[1]>) => Promise<MockedResponse<any>> | MockedResponse<any>;
20
- declare const commonArrRes: <T>(fn: MaybeFn<T>, range: [min: number, max: number], ...args: Parameters<Parameters<typeof rest.get | typeof rest.post | typeof rest.put | typeof rest.delete>[1]>) => Promise<MockedResponse<any>> | MockedResponse<any>;
21
- declare const commonPageRes: <T>(fn: MaybeFn<T>, ...args: Parameters<Parameters<typeof rest.get>[1]>) => Promise<MockedResponse<any>> | MockedResponse<any>;
6
+ declare const getMockData: <T>(data: T, code?: number, message?: string) => Res<T>;
7
+ declare const getMockDataList: <T>(data: T[], total: number, code?: number, message?: string) => PageRes<T>;
8
+ declare const commonRes: <T>(fn: MaybeFn<T>) => Promise<StrictResponse<Res<T>>>;
9
+ declare const commonArrRes: <T>(fn: MaybeFn<T>, range: [min: number, max: number]) => Promise<StrictResponse<Res<T[]>>>;
10
+ declare const commonPageRes: <T>(fn: MaybeFn<T>, resolver: Parameters<Parameters<typeof http.get>[1]>[0], total?: number) => Promise<StrictResponse<PageRes<T>>>;
22
11
 
23
- export { type MaybeFn, commonArrRes, commonPageRes, commonRes, commonSuccessDelayedRes, getMockData, getMockDataList };
12
+ export { type MaybeFn, commonArrRes, commonPageRes, commonRes, getMockData, getMockDataList };
package/dist/index.d.ts CHANGED
@@ -1,23 +1,12 @@
1
- import { ResponseFunction, rest, MockedResponse } from 'msw';
1
+ import { StrictResponse, http } from 'msw';
2
+ import { Res, PageRes } from '@jhqn/utils-core';
2
3
 
3
4
  type MaybeFn<T> = T | (() => T);
4
5
 
5
- declare const getMockData: <T>(data: T, code?: number, message?: string) => {
6
- data: T;
7
- code: number;
8
- message: string;
9
- };
10
- declare const getMockDataList: <T>(data: T[], total: number, code?: number, message?: string) => {
11
- data: {
12
- records: T[];
13
- total: number;
14
- };
15
- code: number;
16
- message: string;
17
- };
18
- declare const commonSuccessDelayedRes: ResponseFunction;
19
- declare const commonRes: <T>(fn: MaybeFn<T>, ...args: Parameters<Parameters<typeof rest.get | typeof rest.post | typeof rest.put | typeof rest.delete>[1]>) => Promise<MockedResponse<any>> | MockedResponse<any>;
20
- declare const commonArrRes: <T>(fn: MaybeFn<T>, range: [min: number, max: number], ...args: Parameters<Parameters<typeof rest.get | typeof rest.post | typeof rest.put | typeof rest.delete>[1]>) => Promise<MockedResponse<any>> | MockedResponse<any>;
21
- declare const commonPageRes: <T>(fn: MaybeFn<T>, ...args: Parameters<Parameters<typeof rest.get>[1]>) => Promise<MockedResponse<any>> | MockedResponse<any>;
6
+ declare const getMockData: <T>(data: T, code?: number, message?: string) => Res<T>;
7
+ declare const getMockDataList: <T>(data: T[], total: number, code?: number, message?: string) => PageRes<T>;
8
+ declare const commonRes: <T>(fn: MaybeFn<T>) => Promise<StrictResponse<Res<T>>>;
9
+ declare const commonArrRes: <T>(fn: MaybeFn<T>, range: [min: number, max: number]) => Promise<StrictResponse<Res<T[]>>>;
10
+ declare const commonPageRes: <T>(fn: MaybeFn<T>, resolver: Parameters<Parameters<typeof http.get>[1]>[0], total?: number) => Promise<StrictResponse<PageRes<T>>>;
22
11
 
23
- export { type MaybeFn, commonArrRes, commonPageRes, commonRes, commonSuccessDelayedRes, getMockData, getMockDataList };
12
+ export { type MaybeFn, commonArrRes, commonPageRes, commonRes, getMockData, getMockDataList };
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { createResponseComposition, context } from 'msw';
1
+ import { HttpResponse, delay } from 'msw';
2
2
  import { fakeIntRange } from '@jhqn/utils-faker';
3
3
 
4
4
  const getMockData = (data, code = 200, message = "success") => {
@@ -7,25 +7,27 @@ const getMockData = (data, code = 200, message = "success") => {
7
7
  const getMockDataList = (data, total, code = 200, message = "success") => {
8
8
  return { data: { records: data, total }, code, message };
9
9
  };
10
- const commonSuccessDelayedRes = createResponseComposition({}, [
11
- context.status(200),
12
- context.delay(fakeIntRange(100, 1e3))
13
- ]);
10
+ const randomDelay = () => delay(fakeIntRange(100, 1e3));
14
11
  const fnRes = (fn) => fn instanceof Function ? fn() : fn;
15
- const commonRes = (fn, ...args) => commonSuccessDelayedRes(args[2].json(getMockData(fnRes(fn))));
16
- const commonArrRes = (fn, range, ...args) => commonSuccessDelayedRes(
17
- args[2].json(getMockData(Array.from({ length: fakeIntRange(range[0], range[1]) }, () => fnRes(fn))))
18
- );
19
- const commonPageRes = (fn, ...args) => {
20
- const total = 45;
21
- const page = Number(args[0].url.searchParams.get("page"));
22
- const count = Number(args[0].url.searchParams.get("count"));
12
+ const commonRes = async (fn) => {
13
+ await randomDelay();
14
+ return HttpResponse.json(getMockData(fnRes(fn)));
15
+ };
16
+ const commonArrRes = async (fn, range) => {
17
+ await randomDelay();
18
+ return HttpResponse.json(getMockData(Array.from({ length: fakeIntRange(range[0], range[1]) }, () => fnRes(fn))));
19
+ };
20
+ const commonPageRes = async (fn, resolver, total = 42) => {
21
+ await randomDelay();
22
+ const url = new URL(resolver.request.url);
23
+ const page = Number(url.searchParams.get("page"));
24
+ const count = Number(url.searchParams.get("count"));
23
25
  let len = count;
24
26
  if (page * count > total) {
25
27
  len = total - (page - 1) * count;
26
28
  }
27
29
  const data = Array.from({ length: len }, () => fnRes(fn));
28
- return commonSuccessDelayedRes(args[2].json(getMockDataList(data, total)));
30
+ return HttpResponse.json(getMockDataList(data, total));
29
31
  };
30
32
 
31
- export { commonArrRes, commonPageRes, commonRes, commonSuccessDelayedRes, getMockData, getMockDataList };
33
+ export { commonArrRes, commonPageRes, commonRes, getMockData, getMockDataList };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@jhqn/utils-msw",
3
3
  "type": "module",
4
- "version": "0.0.1-beta.27",
4
+ "version": "0.0.2-beta.0",
5
5
  "author": "jade-gjz <jiangang.zhang@jaderd.com>",
6
6
  "license": "MIT",
7
7
  "homepage": "https://github.com/jaderd-jh/utils/tree/main/packages/msw#readme",
@@ -37,7 +37,7 @@
37
37
  "dist"
38
38
  ],
39
39
  "peerDependencies": {
40
- "msw": "^1.2.2"
40
+ "msw": "^2.0.0"
41
41
  },
42
42
  "peerDependenciesMeta": {
43
43
  "msw": {
@@ -45,10 +45,11 @@
45
45
  }
46
46
  },
47
47
  "dependencies": {
48
- "@jhqn/utils-faker": "0.0.1-beta.27"
48
+ "@jhqn/utils-core": "0.0.2-beta.0",
49
+ "@jhqn/utils-faker": "0.0.2-beta.0"
49
50
  },
50
51
  "devDependencies": {
51
- "msw": "^1.3.2"
52
+ "msw": "^2.0.0"
52
53
  },
53
54
  "scripts": {
54
55
  "test": "vitest",