@jhqn/utils-msw 0.3.4 → 0.4.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/README.md +1 -0
- package/dist/index.d.ts +1 -2
- package/dist/index.js +34 -2
- package/package.json +23 -23
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
package/README.md
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -9,5 +9,4 @@ declare const commonRes: <T>(fn: MaybeFn<T>) => Promise<HttpResponse<Res<T>>>;
|
|
|
9
9
|
declare const commonArrRes: <T>(fn: MaybeFn<T>, range: [min: number, max: number] | number) => Promise<HttpResponse<Res<T[]>>>;
|
|
10
10
|
declare const commonPageRes: <T>(fn: MaybeFn<T>, resolver: Parameters<Parameters<typeof http.get>[1]>[0], total?: number) => Promise<HttpResponse<PageRes<T>>>;
|
|
11
11
|
//#endregion
|
|
12
|
-
export { type MaybeFn, commonArrRes, commonPageRes, commonRes };
|
|
13
|
-
//# sourceMappingURL=index.d.ts.map
|
|
12
|
+
export { type MaybeFn, commonArrRes, commonPageRes, commonRes };
|
package/dist/index.js
CHANGED
|
@@ -1,2 +1,34 @@
|
|
|
1
|
-
import{getMockData
|
|
2
|
-
|
|
1
|
+
import { getMockData, getMockDataList, isNumber } from "@jhqn/utils-core";
|
|
2
|
+
import { fakeIntRange } from "@jhqn/utils-faker";
|
|
3
|
+
import { HttpResponse, delay } from "msw";
|
|
4
|
+
|
|
5
|
+
//#region src/msw.ts
|
|
6
|
+
const randomDelay = () => delay(fakeIntRange(100, 1e3));
|
|
7
|
+
const fnRes = (fn) => fn instanceof Function ? fn() : fn;
|
|
8
|
+
const commonRes = async (fn) => {
|
|
9
|
+
await randomDelay();
|
|
10
|
+
return HttpResponse.json(getMockData(fnRes(fn)));
|
|
11
|
+
};
|
|
12
|
+
const commonArrRes = async (fn, range) => {
|
|
13
|
+
await randomDelay();
|
|
14
|
+
return HttpResponse.json(getMockData(Array.from({ length: isNumber(range) ? range : fakeIntRange(range[0], range[1]) }, () => fnRes(fn))));
|
|
15
|
+
};
|
|
16
|
+
const commonPageRes = async (fn, resolver, total = 42) => {
|
|
17
|
+
await randomDelay();
|
|
18
|
+
const url = new URL(resolver.request.url);
|
|
19
|
+
const page = Number(url.searchParams.get("page"));
|
|
20
|
+
const count = Number(url.searchParams.get("count"));
|
|
21
|
+
let len = count;
|
|
22
|
+
if (page * count > total) len = total - (page - 1) * count;
|
|
23
|
+
const data = Array.from({ length: len }, () => fnRes(fn));
|
|
24
|
+
const pages = count === 0 ? 0 : Math.ceil(total / count);
|
|
25
|
+
return HttpResponse.json(getMockDataList(data, total, 200, "success", {
|
|
26
|
+
current: page,
|
|
27
|
+
pages,
|
|
28
|
+
size: count,
|
|
29
|
+
searchCount: false
|
|
30
|
+
}));
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
//#endregion
|
|
34
|
+
export { commonArrRes, commonPageRes, commonRes };
|
package/package.json
CHANGED
|
@@ -1,23 +1,29 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jhqn/utils-msw",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
"version": "0.4.0",
|
|
4
|
+
"keywords": [
|
|
5
|
+
"jade",
|
|
6
|
+
"utils"
|
|
7
|
+
],
|
|
7
8
|
"homepage": "https://github.com/jaderd-jh/utils/tree/main/packages/msw#readme",
|
|
9
|
+
"bugs": {
|
|
10
|
+
"url": "https://github.com/jaderd-jh/utils/issues"
|
|
11
|
+
},
|
|
12
|
+
"license": "MIT",
|
|
13
|
+
"author": "jade-gjz <jiangang.zhang@jaderd.com>",
|
|
8
14
|
"repository": {
|
|
9
15
|
"type": "git",
|
|
10
16
|
"url": "https://github.com/jaderd-jh/utils",
|
|
11
17
|
"directory": "packages/msw"
|
|
12
18
|
},
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
},
|
|
16
|
-
"keywords": [
|
|
17
|
-
"jade",
|
|
18
|
-
"utils"
|
|
19
|
+
"files": [
|
|
20
|
+
"dist"
|
|
19
21
|
],
|
|
22
|
+
"type": "module",
|
|
20
23
|
"sideEffects": false,
|
|
24
|
+
"main": "dist/index.js",
|
|
25
|
+
"module": "dist/index.js",
|
|
26
|
+
"types": "dist/index.d.ts",
|
|
21
27
|
"exports": {
|
|
22
28
|
".": {
|
|
23
29
|
"import": {
|
|
@@ -26,12 +32,13 @@
|
|
|
26
32
|
}
|
|
27
33
|
}
|
|
28
34
|
},
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
"dependencies": {
|
|
36
|
+
"@jhqn/utils-faker": "0.4.0",
|
|
37
|
+
"@jhqn/utils-core": "0.4.0"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"msw": "^2.12.7"
|
|
41
|
+
},
|
|
35
42
|
"peerDependencies": {
|
|
36
43
|
"msw": "^2.7.5"
|
|
37
44
|
},
|
|
@@ -40,13 +47,6 @@
|
|
|
40
47
|
"optional": false
|
|
41
48
|
}
|
|
42
49
|
},
|
|
43
|
-
"dependencies": {
|
|
44
|
-
"@jhqn/utils-core": "0.3.4",
|
|
45
|
-
"@jhqn/utils-faker": "0.3.4"
|
|
46
|
-
},
|
|
47
|
-
"devDependencies": {
|
|
48
|
-
"msw": "^2.12.3"
|
|
49
|
-
},
|
|
50
50
|
"scripts": {
|
|
51
51
|
"test": "vitest",
|
|
52
52
|
"build": "tsdown",
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../types/index.ts","../src/msw.ts"],"sourcesContent":[],"mappings":";;;;KAAY,aAAa,WAAW;;;AAAxB,cCWC,SDXuB,EAAC,CAAA,CAAA,CAAA,CAAA,EAAA,ECWL,ODXK,CCWG,CDXH,CAAA,EAAA,GCWU,ODXV,CCWkB,YDXlB,CCW+B,GDX/B,CCWmC,CDXnC,CAAA,CAAA,CAAA;cCgBxB,sBACP,QAAQ,mDAET,QAAQ,aAAa,IAAI;cAOjB,uBACP,QAAQ,cACF,WAAW,kBAAkB,IAAA,CAAK,gCAEzC,QAAQ,aAAa,QAAQ"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["commonRes: <T>(fn: MaybeFn<T>) => Promise<HttpResponse<Res<T>>>","commonArrRes: <T>(\n fn: MaybeFn<T>,\n range: [min: number, max: number] | number\n) => Promise<HttpResponse<Res<T[]>>>","commonPageRes: <T>(\n fn: MaybeFn<T>,\n resolver: Parameters<Parameters<typeof http.get>[1]>[0],\n total?: number\n) => Promise<HttpResponse<PageRes<T>>>"],"sources":["../src/msw.ts"],"sourcesContent":["import type { PageRes, Res } from '@jhqn/utils-core'\nimport type { http } from 'msw'\nimport type { MaybeFn } from '../types'\nimport { getMockData, getMockDataList, isNumber } from '@jhqn/utils-core'\nimport { fakeIntRange } from '@jhqn/utils-faker'\nimport { delay, HttpResponse } from 'msw'\n\nconst randomDelay = () => delay(fakeIntRange(100, 1000))\n\nconst fnRes = <T>(fn: MaybeFn<T>) => (fn instanceof Function ? fn() : fn)\n\nexport const commonRes: <T>(fn: MaybeFn<T>) => Promise<HttpResponse<Res<T>>> = /* #__PURE__ */ async fn => {\n await randomDelay()\n return HttpResponse.json(getMockData(fnRes(fn)))\n}\n\nexport const commonArrRes: <T>(\n fn: MaybeFn<T>,\n range: [min: number, max: number] | number\n) => Promise<HttpResponse<Res<T[]>>> = /* #__PURE__ */ async (fn, range) => {\n await randomDelay()\n return HttpResponse.json(\n getMockData(Array.from({ length: isNumber(range) ? range : fakeIntRange(range[0], range[1]) }, () => fnRes(fn)))\n )\n}\n\nexport const commonPageRes: <T>(\n fn: MaybeFn<T>,\n resolver: Parameters<Parameters<typeof http.get>[1]>[0],\n total?: number\n) => Promise<HttpResponse<PageRes<T>>> = /* #__PURE__ */ async (fn, resolver, total = 42) => {\n await randomDelay()\n const url = new URL(resolver.request.url)\n const page = Number(url.searchParams.get('page'))\n const count = Number(url.searchParams.get('count'))\n let len = count\n if (page * count > total) {\n len = total - (page - 1) * count\n }\n const data = Array.from({ length: len }, () => fnRes(fn))\n const pages = count === 0 ? 0 : Math.ceil(total / count)\n return HttpResponse.json(\n getMockDataList(data, total, 200, 'success', { current: page, pages, size: count, searchCount: false })\n )\n}\n"],"mappings":"iLAOA,MAAM,MAAoB,EAAM,EAAa,IAAK,IAAK,CAAC,CAElD,EAAY,GAAoB,aAAc,SAAW,GAAI,CAAG,EAEzDA,EAAkF,KAAM,KACnG,MAAM,GAAa,CACZ,EAAa,KAAK,EAAY,EAAM,EAAG,CAAC,CAAC,EAGrCC,EAG0C,MAAO,EAAI,KAChE,MAAM,GAAa,CACZ,EAAa,KAClB,EAAY,MAAM,KAAK,CAAE,OAAQ,EAAS,EAAM,CAAG,EAAQ,EAAa,EAAM,GAAI,EAAM,GAAG,CAAE,KAAQ,EAAM,EAAG,CAAC,CAAC,CACjH,EAGUC,EAI4C,MAAO,EAAI,EAAU,EAAQ,KAAO,CAC3F,MAAM,GAAa,CACnB,IAAM,EAAM,IAAI,IAAI,EAAS,QAAQ,IAAI,CACnC,EAAO,OAAO,EAAI,aAAa,IAAI,OAAO,CAAC,CAC3C,EAAQ,OAAO,EAAI,aAAa,IAAI,QAAQ,CAAC,CAC/C,EAAM,EACN,EAAO,EAAQ,IACjB,EAAM,GAAS,EAAO,GAAK,GAE7B,IAAM,EAAO,MAAM,KAAK,CAAE,OAAQ,EAAK,KAAQ,EAAM,EAAG,CAAC,CACnD,EAAQ,IAAU,EAAI,EAAI,KAAK,KAAK,EAAQ,EAAM,CACxD,OAAO,EAAa,KAClB,EAAgB,EAAM,EAAO,IAAK,UAAW,CAAE,QAAS,EAAM,QAAO,KAAM,EAAO,YAAa,GAAO,CAAC,CACxG"}
|