@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 CHANGED
@@ -1,2 +1,3 @@
1
1
  # utils
2
+
2
3
  A collection of tool functions🧷
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 as e,getMockDataList as t,isNumber as n}from"@jhqn/utils-core";import{fakeIntRange as r}from"@jhqn/utils-faker";import{HttpResponse as i,delay as a}from"msw";const o=()=>a(r(100,1e3)),s=e=>e instanceof Function?e():e,c=async t=>(await o(),i.json(e(s(t)))),l=async(t,a)=>(await o(),i.json(e(Array.from({length:n(a)?a:r(a[0],a[1])},()=>s(t))))),u=async(e,n,r=42)=>{await o();let a=new URL(n.request.url),c=Number(a.searchParams.get(`page`)),l=Number(a.searchParams.get(`count`)),u=l;c*l>r&&(u=r-(c-1)*l);let d=Array.from({length:u},()=>s(e)),f=l===0?0:Math.ceil(r/l);return i.json(t(d,r,200,`success`,{current:c,pages:f,size:l,searchCount:!1}))};export{l as commonArrRes,u as commonPageRes,c as commonRes};
2
- //# sourceMappingURL=index.js.map
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
- "type": "module",
4
- "version": "0.3.4",
5
- "author": "jade-gjz <jiangang.zhang@jaderd.com>",
6
- "license": "MIT",
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
- "bugs": {
14
- "url": "https://github.com/jaderd-jh/utils/issues"
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
- "main": "dist/index.js",
30
- "module": "dist/index.js",
31
- "types": "dist/index.d.ts",
32
- "files": [
33
- "dist"
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",
@@ -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"}