@book000/pixivts 0.55.0 → 0.56.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 +115 -19
- package/dist/index.cjs +1317 -0
- package/dist/index.d.cts +1659 -0
- package/dist/index.d.ts +1659 -45
- package/dist/index.js +1304 -65
- package/package.json +35 -72
- package/dist/checks.d.ts +0 -19
- package/dist/checks.d.ts.map +0 -1
- package/dist/checks.js +0 -85
- package/dist/checks.js.map +0 -1
- package/dist/checks.test.d.ts +0 -2
- package/dist/checks.test.d.ts.map +0 -1
- package/dist/checks.test.js +0 -306
- package/dist/checks.test.js.map +0 -1
- package/dist/http-client.d.ts +0 -66
- package/dist/http-client.d.ts.map +0 -1
- package/dist/http-client.js +0 -138
- package/dist/http-client.js.map +0 -1
- package/dist/http-client.test.d.ts +0 -2
- package/dist/http-client.test.d.ts.map +0 -1
- package/dist/http-client.test.js +0 -149
- package/dist/http-client.test.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/options.d.ts +0 -317
- package/dist/options.d.ts.map +0 -1
- package/dist/options.js +0 -222
- package/dist/options.js.map +0 -1
- package/dist/options.test.d.ts +0 -2
- package/dist/options.test.d.ts.map +0 -1
- package/dist/options.test.js +0 -117
- package/dist/options.test.js.map +0 -1
- package/dist/pixiv.d.ts +0 -317
- package/dist/pixiv.d.ts.map +0 -1
- package/dist/pixiv.js +0 -810
- package/dist/pixiv.js.map +0 -1
- package/dist/pixiv.test.d.ts +0 -2
- package/dist/pixiv.test.d.ts.map +0 -1
- package/dist/pixiv.test.js +0 -883
- package/dist/pixiv.test.js.map +0 -1
- package/dist/saving-responses/index.d.ts +0 -130
- package/dist/saving-responses/index.d.ts.map +0 -1
- package/dist/saving-responses/index.js +0 -263
- package/dist/saving-responses/index.js.map +0 -1
- package/dist/saving-responses/index.test.d.ts +0 -2
- package/dist/saving-responses/index.test.d.ts.map +0 -1
- package/dist/saving-responses/index.test.js +0 -468
- package/dist/saving-responses/index.test.js.map +0 -1
- package/dist/saving-responses/response-entity.d.ts +0 -16
- package/dist/saving-responses/response-entity.d.ts.map +0 -1
- package/dist/saving-responses/response-entity.js +0 -101
- package/dist/saving-responses/response-entity.js.map +0 -1
- package/dist/types/endpoints/v1/illust/bookmark/delete.d.ts +0 -14
- package/dist/types/endpoints/v1/illust/bookmark/delete.d.ts.map +0 -1
- package/dist/types/endpoints/v1/illust/bookmark/delete.js +0 -3
- package/dist/types/endpoints/v1/illust/bookmark/delete.js.map +0 -1
- package/dist/types/endpoints/v1/illust/detail.d.ts +0 -25
- package/dist/types/endpoints/v1/illust/detail.d.ts.map +0 -1
- package/dist/types/endpoints/v1/illust/detail.js +0 -20
- package/dist/types/endpoints/v1/illust/detail.js.map +0 -1
- package/dist/types/endpoints/v1/illust/ranking.d.ts +0 -51
- package/dist/types/endpoints/v1/illust/ranking.d.ts.map +0 -1
- package/dist/types/endpoints/v1/illust/ranking.js +0 -40
- package/dist/types/endpoints/v1/illust/ranking.js.map +0 -1
- package/dist/types/endpoints/v1/illust/recommended.d.ts +0 -104
- package/dist/types/endpoints/v1/illust/recommended.d.ts.map +0 -1
- package/dist/types/endpoints/v1/illust/recommended.js +0 -44
- package/dist/types/endpoints/v1/illust/recommended.js.map +0 -1
- package/dist/types/endpoints/v1/illust/series.d.ts +0 -45
- package/dist/types/endpoints/v1/illust/series.d.ts.map +0 -1
- package/dist/types/endpoints/v1/illust/series.js +0 -31
- package/dist/types/endpoints/v1/illust/series.js.map +0 -1
- package/dist/types/endpoints/v1/illust/ugoira/metadata.d.ts +0 -25
- package/dist/types/endpoints/v1/illust/ugoira/metadata.d.ts.map +0 -1
- package/dist/types/endpoints/v1/illust/ugoira/metadata.js +0 -20
- package/dist/types/endpoints/v1/illust/ugoira/metadata.js.map +0 -1
- package/dist/types/endpoints/v1/manga/recommended.d.ts +0 -72
- package/dist/types/endpoints/v1/manga/recommended.d.ts.map +0 -1
- package/dist/types/endpoints/v1/manga/recommended.js +0 -33
- package/dist/types/endpoints/v1/manga/recommended.js.map +0 -1
- package/dist/types/endpoints/v1/novel/bookmark/delete.d.ts +0 -14
- package/dist/types/endpoints/v1/novel/bookmark/delete.d.ts.map +0 -1
- package/dist/types/endpoints/v1/novel/bookmark/delete.js +0 -3
- package/dist/types/endpoints/v1/novel/bookmark/delete.js.map +0 -1
- package/dist/types/endpoints/v1/novel/ranking.d.ts +0 -47
- package/dist/types/endpoints/v1/novel/ranking.d.ts.map +0 -1
- package/dist/types/endpoints/v1/novel/ranking.js +0 -39
- package/dist/types/endpoints/v1/novel/ranking.js.map +0 -1
- package/dist/types/endpoints/v1/novel/recommended.d.ts +0 -72
- package/dist/types/endpoints/v1/novel/recommended.d.ts.map +0 -1
- package/dist/types/endpoints/v1/novel/recommended.js +0 -32
- package/dist/types/endpoints/v1/novel/recommended.js.map +0 -1
- package/dist/types/endpoints/v1/novel/related.d.ts +0 -37
- package/dist/types/endpoints/v1/novel/related.d.ts.map +0 -1
- package/dist/types/endpoints/v1/novel/related.js +0 -24
- package/dist/types/endpoints/v1/novel/related.js.map +0 -1
- package/dist/types/endpoints/v1/search/illust.d.ts +0 -109
- package/dist/types/endpoints/v1/search/illust.d.ts.map +0 -1
- package/dist/types/endpoints/v1/search/illust.js +0 -40
- package/dist/types/endpoints/v1/search/illust.js.map +0 -1
- package/dist/types/endpoints/v1/search/novel.d.ts +0 -103
- package/dist/types/endpoints/v1/search/novel.d.ts.map +0 -1
- package/dist/types/endpoints/v1/search/novel.js +0 -38
- package/dist/types/endpoints/v1/search/novel.js.map +0 -1
- package/dist/types/endpoints/v1/user/bookmarks/illust.d.ts +0 -48
- package/dist/types/endpoints/v1/user/bookmarks/illust.d.ts.map +0 -1
- package/dist/types/endpoints/v1/user/bookmarks/illust.js +0 -31
- package/dist/types/endpoints/v1/user/bookmarks/illust.js.map +0 -1
- package/dist/types/endpoints/v1/user/bookmarks/novel.d.ts +0 -44
- package/dist/types/endpoints/v1/user/bookmarks/novel.d.ts.map +0 -1
- package/dist/types/endpoints/v1/user/bookmarks/novel.js +0 -28
- package/dist/types/endpoints/v1/user/bookmarks/novel.js.map +0 -1
- package/dist/types/endpoints/v1/user/detail.d.ts +0 -44
- package/dist/types/endpoints/v1/user/detail.d.ts.map +0 -1
- package/dist/types/endpoints/v1/user/detail.js +0 -26
- package/dist/types/endpoints/v1/user/detail.js.map +0 -1
- package/dist/types/endpoints/v1/user/follow/add.d.ts +0 -24
- package/dist/types/endpoints/v1/user/follow/add.d.ts.map +0 -1
- package/dist/types/endpoints/v1/user/follow/add.js +0 -3
- package/dist/types/endpoints/v1/user/follow/add.js.map +0 -1
- package/dist/types/endpoints/v1/user/follow/delete.d.ts +0 -14
- package/dist/types/endpoints/v1/user/follow/delete.d.ts.map +0 -1
- package/dist/types/endpoints/v1/user/follow/delete.js +0 -3
- package/dist/types/endpoints/v1/user/follow/delete.js.map +0 -1
- package/dist/types/endpoints/v1/user/following.d.ts +0 -38
- package/dist/types/endpoints/v1/user/following.d.ts.map +0 -1
- package/dist/types/endpoints/v1/user/following.js +0 -26
- package/dist/types/endpoints/v1/user/following.js.map +0 -1
- package/dist/types/endpoints/v1/user/illusts.d.ts +0 -51
- package/dist/types/endpoints/v1/user/illusts.d.ts.map +0 -1
- package/dist/types/endpoints/v1/user/illusts.js +0 -31
- package/dist/types/endpoints/v1/user/illusts.js.map +0 -1
- package/dist/types/endpoints/v1/user/novels.d.ts +0 -43
- package/dist/types/endpoints/v1/user/novels.d.ts.map +0 -1
- package/dist/types/endpoints/v1/user/novels.js +0 -29
- package/dist/types/endpoints/v1/user/novels.js.map +0 -1
- package/dist/types/endpoints/v2/illust/bookmark/add.d.ts +0 -28
- package/dist/types/endpoints/v2/illust/bookmark/add.d.ts.map +0 -1
- package/dist/types/endpoints/v2/illust/bookmark/add.js +0 -3
- package/dist/types/endpoints/v2/illust/bookmark/add.js.map +0 -1
- package/dist/types/endpoints/v2/illust/related.d.ts +0 -48
- package/dist/types/endpoints/v2/illust/related.d.ts.map +0 -1
- package/dist/types/endpoints/v2/illust/related.js +0 -32
- package/dist/types/endpoints/v2/illust/related.js.map +0 -1
- package/dist/types/endpoints/v2/novel/bookmark/add.d.ts +0 -27
- package/dist/types/endpoints/v2/novel/bookmark/add.d.ts.map +0 -1
- package/dist/types/endpoints/v2/novel/bookmark/add.js +0 -3
- package/dist/types/endpoints/v2/novel/bookmark/add.js.map +0 -1
- package/dist/types/endpoints/v2/novel/detail.d.ts +0 -25
- package/dist/types/endpoints/v2/novel/detail.d.ts.map +0 -1
- package/dist/types/endpoints/v2/novel/detail.js +0 -20
- package/dist/types/endpoints/v2/novel/detail.js.map +0 -1
- package/dist/types/endpoints/v2/novel/series.d.ts +0 -49
- package/dist/types/endpoints/v2/novel/series.d.ts.map +0 -1
- package/dist/types/endpoints/v2/novel/series.js +0 -31
- package/dist/types/endpoints/v2/novel/series.js.map +0 -1
- package/dist/types/endpoints/webview/v2/novel.d.ts +0 -21
- package/dist/types/endpoints/webview/v2/novel.d.ts.map +0 -1
- package/dist/types/endpoints/webview/v2/novel.js +0 -18
- package/dist/types/endpoints/webview/v2/novel.js.map +0 -1
- package/dist/types/error-response.d.ts +0 -31
- package/dist/types/error-response.d.ts.map +0 -1
- package/dist/types/error-response.js +0 -3
- package/dist/types/error-response.js.map +0 -1
- package/dist/types/errors.d.ts +0 -7
- package/dist/types/errors.d.ts.map +0 -1
- package/dist/types/errors.js +0 -14
- package/dist/types/errors.js.map +0 -1
- package/dist/types/pixiv-common.d.ts +0 -103
- package/dist/types/pixiv-common.d.ts.map +0 -1
- package/dist/types/pixiv-common.js +0 -68
- package/dist/types/pixiv-common.js.map +0 -1
- package/dist/types/pixiv-illust-series.d.ts +0 -56
- package/dist/types/pixiv-illust-series.d.ts.map +0 -1
- package/dist/types/pixiv-illust-series.js +0 -26
- package/dist/types/pixiv-illust-series.js.map +0 -1
- package/dist/types/pixiv-illust.d.ts +0 -180
- package/dist/types/pixiv-illust.d.ts.map +0 -1
- package/dist/types/pixiv-illust.js +0 -56
- package/dist/types/pixiv-illust.js.map +0 -1
- package/dist/types/pixiv-novel-series.d.ts +0 -84
- package/dist/types/pixiv-novel-series.d.ts.map +0 -1
- package/dist/types/pixiv-novel-series.js +0 -43
- package/dist/types/pixiv-novel-series.js.map +0 -1
- package/dist/types/pixiv-novel.d.ts +0 -131
- package/dist/types/pixiv-novel.d.ts.map +0 -1
- package/dist/types/pixiv-novel.js +0 -44
- package/dist/types/pixiv-novel.js.map +0 -1
- package/dist/types/pixiv-ugoira.d.ts +0 -50
- package/dist/types/pixiv-ugoira.d.ts.map +0 -1
- package/dist/types/pixiv-ugoira.js +0 -34
- package/dist/types/pixiv-ugoira.js.map +0 -1
- package/dist/types/pixiv-user.d.ts +0 -212
- package/dist/types/pixiv-user.d.ts.map +0 -1
- package/dist/types/pixiv-user.js +0 -118
- package/dist/types/pixiv-user.js.map +0 -1
- package/dist/utils.d.ts +0 -3
- package/dist/utils.d.ts.map +0 -1
- package/dist/utils.js +0 -15
- package/dist/utils.js.map +0 -1
- package/dist/utils.test.d.ts +0 -2
- package/dist/utils.test.d.ts.map +0 -1
- package/dist/utils.test.js +0 -15
- package/dist/utils.test.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@book000/pixivts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.56.0",
|
|
4
4
|
"description": "pixiv Unofficial API Library for TypeScript",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"pixiv",
|
|
@@ -15,84 +15,47 @@
|
|
|
15
15
|
},
|
|
16
16
|
"license": "MIT",
|
|
17
17
|
"author": "Tomachi <tomachi@tomacheese.com>",
|
|
18
|
-
"files": [
|
|
19
|
-
"dist"
|
|
20
|
-
],
|
|
21
|
-
"main": "dist/index.js",
|
|
22
|
-
"types": "dist/index.d.ts",
|
|
23
18
|
"repository": {
|
|
24
19
|
"type": "git",
|
|
25
|
-
"url": "git
|
|
20
|
+
"url": "git+https://github.com/book000/pixivts.git",
|
|
21
|
+
"directory": "packages/core"
|
|
26
22
|
},
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
23
|
+
"type": "module",
|
|
24
|
+
"files": [
|
|
25
|
+
"dist"
|
|
26
|
+
],
|
|
27
|
+
"main": "./dist/index.cjs",
|
|
28
|
+
"module": "./dist/index.js",
|
|
29
|
+
"types": "./dist/index.d.ts",
|
|
30
|
+
"exports": {
|
|
31
|
+
".": {
|
|
32
|
+
"import": {
|
|
33
|
+
"types": "./dist/index.d.ts",
|
|
34
|
+
"default": "./dist/index.js"
|
|
35
|
+
},
|
|
36
|
+
"require": {
|
|
37
|
+
"types": "./dist/index.d.cts",
|
|
38
|
+
"default": "./dist/index.cjs"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
34
41
|
},
|
|
35
42
|
"devDependencies": {
|
|
36
|
-
"@book000/eslint-config": "1.15.1",
|
|
37
|
-
"@types/jest": "30.0.0",
|
|
38
43
|
"@types/node": "24.13.2",
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"prettier": "3.8.4",
|
|
47
|
-
"rimraf": "6.1.3",
|
|
48
|
-
"run-z": "2.1.0",
|
|
49
|
-
"ts-jest": "29.4.11",
|
|
50
|
-
"typedoc": "0.28.19",
|
|
51
|
-
"typescript": "6.0.3"
|
|
52
|
-
},
|
|
53
|
-
"jest": {
|
|
54
|
-
"moduleFileExtensions": [
|
|
55
|
-
"ts",
|
|
56
|
-
"js"
|
|
57
|
-
],
|
|
58
|
-
"transform": {
|
|
59
|
-
".+\\.ts$": [
|
|
60
|
-
"ts-jest",
|
|
61
|
-
{
|
|
62
|
-
"tsconfig": "tsconfig.json"
|
|
63
|
-
}
|
|
64
|
-
]
|
|
65
|
-
},
|
|
66
|
-
"testMatch": [
|
|
67
|
-
"**/*.test.ts"
|
|
68
|
-
],
|
|
69
|
-
"collectCoverage": true,
|
|
70
|
-
"coverageDirectory": "coverage",
|
|
71
|
-
"coverageReporters": [
|
|
72
|
-
"text",
|
|
73
|
-
"lcov",
|
|
74
|
-
"html"
|
|
75
|
-
],
|
|
76
|
-
"collectCoverageFrom": [
|
|
77
|
-
"src/**/*.ts",
|
|
78
|
-
"!src/index.ts",
|
|
79
|
-
"!src/**/*.test.ts",
|
|
80
|
-
"!src/types/**"
|
|
81
|
-
]
|
|
44
|
+
"@vitest/coverage-v8": "3.2.4",
|
|
45
|
+
"msw": "2.7.4",
|
|
46
|
+
"tsup": "8.5.0",
|
|
47
|
+
"typedoc": "^0.28.19",
|
|
48
|
+
"typescript": "6.0.3",
|
|
49
|
+
"vitest": "3.2.4",
|
|
50
|
+
"zod": "3.24.1"
|
|
82
51
|
},
|
|
83
52
|
"scripts": {
|
|
84
|
-
"build": "
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"fix": "
|
|
90
|
-
"
|
|
91
|
-
"fix:prettier": "prettier --write src",
|
|
92
|
-
"test": "jest --coverage",
|
|
93
|
-
"lint": "run-z lint:prettier,lint:eslint,lint:tsc",
|
|
94
|
-
"lint:eslint": "eslint . -c eslint.config.mjs",
|
|
95
|
-
"lint:prettier": "prettier --check src",
|
|
96
|
-
"lint:tsc": "tsc"
|
|
53
|
+
"build": "tsup",
|
|
54
|
+
"build:dts-guard": "node ../../scripts/check-dts-no-zod.mjs",
|
|
55
|
+
"clean": "rimraf dist",
|
|
56
|
+
"generate-docs": "typedoc",
|
|
57
|
+
"lint": "tsc --noEmit",
|
|
58
|
+
"fix": "echo 'no fix needed'",
|
|
59
|
+
"test:e2e": "vitest run --config vitest.e2e.config.ts"
|
|
97
60
|
}
|
|
98
61
|
}
|
package/dist/checks.d.ts
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export type CheckFunction<T> = (data: T) => boolean;
|
|
2
|
-
export type CheckFunctions<T> = Record<string, CheckFunction<T>>;
|
|
3
|
-
export declare abstract class BaseSimpleCheck<T> {
|
|
4
|
-
abstract checks(): CheckFunctions<T>;
|
|
5
|
-
getFailedChecks(data: T, reThrow?: boolean): string[];
|
|
6
|
-
is(data: T): data is T;
|
|
7
|
-
throwIfFailed(data: T): boolean;
|
|
8
|
-
}
|
|
9
|
-
export declare abstract class BaseMultipleCheck<T, U> {
|
|
10
|
-
abstract requestChecks(): CheckFunctions<T>;
|
|
11
|
-
abstract responseChecks(): CheckFunctions<U>;
|
|
12
|
-
getFailureRequestChecks(data: T, reThrow?: boolean): string[];
|
|
13
|
-
isRequest(data: T): data is T;
|
|
14
|
-
throwIfRequestFailed(data: T): boolean;
|
|
15
|
-
getFailedResponseChecks(data: U, reThrow?: boolean): string[];
|
|
16
|
-
isResponse(data: U): data is U;
|
|
17
|
-
throwIfResponseFailed(data: U): boolean;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=checks.d.ts.map
|
package/dist/checks.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checks.d.ts","sourceRoot":"","sources":["../src/checks.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAA;AACnD,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;AAEhE,8BAAsB,eAAe,CAAC,CAAC;IACrC,QAAQ,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;IAEpC,eAAe,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,UAAQ,GAAG,MAAM,EAAE;IAenD,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC;IAItB,aAAa,CAAC,IAAI,EAAE,CAAC;CAOtB;AAED,8BAAsB,iBAAiB,CAAC,CAAC,EAAE,CAAC;IAC1C,QAAQ,CAAC,aAAa,IAAI,cAAc,CAAC,CAAC,CAAC;IAE3C,QAAQ,CAAC,cAAc,IAAI,cAAc,CAAC,CAAC,CAAC;IAE5C,uBAAuB,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,UAAQ,GAAG,MAAM,EAAE;IAe3D,SAAS,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC;IAI7B,oBAAoB,CAAC,IAAI,EAAE,CAAC;IAQ5B,uBAAuB,CAAC,IAAI,EAAE,CAAC,EAAE,OAAO,UAAQ,GAAG,MAAM,EAAE;IAe3D,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC;IAI9B,qBAAqB,CAAC,IAAI,EAAE,CAAC;CAO9B"}
|
package/dist/checks.js
DELETED
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.BaseMultipleCheck = exports.BaseSimpleCheck = void 0;
|
|
4
|
-
class BaseSimpleCheck {
|
|
5
|
-
getFailedChecks(data, reThrow = false) {
|
|
6
|
-
const checks = this.checks();
|
|
7
|
-
return Object.keys(checks).filter((key) => {
|
|
8
|
-
// Returns true if it failed
|
|
9
|
-
try {
|
|
10
|
-
return !checks[key](data); // Success if it returns true without throwing (returns false)
|
|
11
|
-
}
|
|
12
|
-
catch (error) {
|
|
13
|
-
if (reThrow) {
|
|
14
|
-
throw error;
|
|
15
|
-
}
|
|
16
|
-
return true; // An exception means failure (true)
|
|
17
|
-
}
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
is(data) {
|
|
21
|
-
return this.getFailedChecks(data).length === 0;
|
|
22
|
-
}
|
|
23
|
-
throwIfFailed(data) {
|
|
24
|
-
const failedChecks = this.getFailedChecks(data, true);
|
|
25
|
-
if (failedChecks.length > 0) {
|
|
26
|
-
throw new Error(`Failed checks: ${failedChecks.join(', ')}`);
|
|
27
|
-
}
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
exports.BaseSimpleCheck = BaseSimpleCheck;
|
|
32
|
-
class BaseMultipleCheck {
|
|
33
|
-
getFailureRequestChecks(data, reThrow = false) {
|
|
34
|
-
const checks = this.requestChecks();
|
|
35
|
-
return Object.keys(checks).filter((key) => {
|
|
36
|
-
// Returns true if it failed
|
|
37
|
-
try {
|
|
38
|
-
return !checks[key](data); // Success if it returns true without throwing (returns false)
|
|
39
|
-
}
|
|
40
|
-
catch (error) {
|
|
41
|
-
if (reThrow) {
|
|
42
|
-
throw error;
|
|
43
|
-
}
|
|
44
|
-
return true; // An exception means failure (true)
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
isRequest(data) {
|
|
49
|
-
return this.getFailureRequestChecks(data).length === 0;
|
|
50
|
-
}
|
|
51
|
-
throwIfRequestFailed(data) {
|
|
52
|
-
const failedChecks = this.getFailureRequestChecks(data, true);
|
|
53
|
-
if (failedChecks.length > 0) {
|
|
54
|
-
throw new Error(`Failed checks: ${failedChecks.join(', ')}`);
|
|
55
|
-
}
|
|
56
|
-
return true;
|
|
57
|
-
}
|
|
58
|
-
getFailedResponseChecks(data, reThrow = false) {
|
|
59
|
-
const checks = this.responseChecks();
|
|
60
|
-
return Object.keys(checks).filter((key) => {
|
|
61
|
-
// Returns true if it failed
|
|
62
|
-
try {
|
|
63
|
-
return !checks[key](data); // Success if it returns true without throwing (returns false)
|
|
64
|
-
}
|
|
65
|
-
catch (error) {
|
|
66
|
-
if (reThrow) {
|
|
67
|
-
throw error;
|
|
68
|
-
}
|
|
69
|
-
return true; // An exception means failure (true)
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
isResponse(data) {
|
|
74
|
-
return this.getFailedResponseChecks(data).length === 0;
|
|
75
|
-
}
|
|
76
|
-
throwIfResponseFailed(data) {
|
|
77
|
-
const failedChecks = this.getFailedResponseChecks(data, true);
|
|
78
|
-
if (failedChecks.length > 0) {
|
|
79
|
-
throw new Error(`Failed checks: ${failedChecks.join(', ')}`);
|
|
80
|
-
}
|
|
81
|
-
return true;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
exports.BaseMultipleCheck = BaseMultipleCheck;
|
|
85
|
-
//# sourceMappingURL=checks.js.map
|
package/dist/checks.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checks.js","sourceRoot":"","sources":["../src/checks.ts"],"names":[],"mappings":";;;AAGA,MAAsB,eAAe;IAGnC,eAAe,CAAC,IAAO,EAAE,OAAO,GAAG,KAAK;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAA;QAC5B,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACxC,4BAA4B;YAC5B,IAAI,CAAC;gBACH,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA,CAAC,8DAA8D;YAC1F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,KAAK,CAAA;gBACb,CAAC;gBACD,OAAO,IAAI,CAAA,CAAC,oCAAoC;YAClD,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,EAAE,CAAC,IAAO;QACR,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;IAChD,CAAC;IAED,aAAa,CAAC,IAAO;QACnB,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QACrD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,kBAAkB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC9D,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AA7BD,0CA6BC;AAED,MAAsB,iBAAiB;IAKrC,uBAAuB,CAAC,IAAO,EAAE,OAAO,GAAG,KAAK;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACnC,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACxC,4BAA4B;YAC5B,IAAI,CAAC;gBACH,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA,CAAC,8DAA8D;YAC1F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,KAAK,CAAA;gBACb,CAAC;gBACD,OAAO,IAAI,CAAA,CAAC,oCAAoC;YAClD,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,SAAS,CAAC,IAAO;QACf,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;IACxD,CAAC;IAED,oBAAoB,CAAC,IAAO;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC7D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,kBAAkB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC9D,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,uBAAuB,CAAC,IAAO,EAAE,OAAO,GAAG,KAAK;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAA;QACpC,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE;YACxC,4BAA4B;YAC5B,IAAI,CAAC;gBACH,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAA,CAAC,8DAA8D;YAC1F,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO,EAAE,CAAC;oBACZ,MAAM,KAAK,CAAA;gBACb,CAAC;gBACD,OAAO,IAAI,CAAA,CAAC,oCAAoC;YAClD,CAAC;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,UAAU,CAAC,IAAO;QAChB,OAAO,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;IACxD,CAAC;IAED,qBAAqB,CAAC,IAAO;QAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC7D,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,kBAAkB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC9D,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AA1DD,8CA0DC"}
|
package/dist/checks.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checks.test.d.ts","sourceRoot":"","sources":["../src/checks.test.ts"],"names":[],"mappings":""}
|
package/dist/checks.test.js
DELETED
|
@@ -1,306 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const checks_1 = require("./checks");
|
|
4
|
-
class SimpleCheckTest extends checks_1.BaseSimpleCheck {
|
|
5
|
-
checks() {
|
|
6
|
-
return {
|
|
7
|
-
isObject: (data) => typeof data === 'object',
|
|
8
|
-
hasName: (data) => 'name' in data && typeof data.name === 'string',
|
|
9
|
-
nameNotEmpty: (data) => {
|
|
10
|
-
return ('name' in data &&
|
|
11
|
-
typeof data.name === 'string' &&
|
|
12
|
-
data.name.length > 0);
|
|
13
|
-
},
|
|
14
|
-
hasValidAge: (data) => {
|
|
15
|
-
return 'age' in data && typeof data.age === 'number' && data.age >= 0;
|
|
16
|
-
},
|
|
17
|
-
throwingCheck: () => {
|
|
18
|
-
throw new Error('Test error');
|
|
19
|
-
},
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
class MultipleCheckTest extends checks_1.BaseMultipleCheck {
|
|
24
|
-
requestChecks() {
|
|
25
|
-
return {
|
|
26
|
-
isObject: (data) => typeof data === 'object',
|
|
27
|
-
hasId: (data) => 'id' in data && typeof data.id === 'number',
|
|
28
|
-
idPositive: (data) => {
|
|
29
|
-
return 'id' in data && typeof data.id === 'number' && data.id > 0;
|
|
30
|
-
},
|
|
31
|
-
throwingCheck: () => {
|
|
32
|
-
throw new Error('Test error in request');
|
|
33
|
-
},
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
responseChecks() {
|
|
37
|
-
return {
|
|
38
|
-
isObject: (data) => typeof data === 'object',
|
|
39
|
-
hasData: (data) => 'data' in data,
|
|
40
|
-
dataIsArray: (data) => {
|
|
41
|
-
return 'data' in data && Array.isArray(data.data);
|
|
42
|
-
},
|
|
43
|
-
throwingCheck: () => {
|
|
44
|
-
throw new Error('Test error in response');
|
|
45
|
-
},
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
describe('BaseSimpleCheck', () => {
|
|
50
|
-
let simpleCheck;
|
|
51
|
-
beforeEach(() => {
|
|
52
|
-
simpleCheck = new SimpleCheckTest();
|
|
53
|
-
});
|
|
54
|
-
describe('getFailedChecks', () => {
|
|
55
|
-
it('should return appropriate failures for valid data', () => {
|
|
56
|
-
const data = { name: 'Test', age: 20 };
|
|
57
|
-
const failedChecks = simpleCheck.getFailedChecks(data);
|
|
58
|
-
// throwingCheck always fails, so check that the other checks pass
|
|
59
|
-
expect(failedChecks).toEqual(['throwingCheck']);
|
|
60
|
-
});
|
|
61
|
-
it('should return all failed check names for invalid data', () => {
|
|
62
|
-
const data = { name: '', age: -5 };
|
|
63
|
-
const failedChecks = simpleCheck.getFailedChecks(data);
|
|
64
|
-
// Check that other validations fail in addition to throwingCheck
|
|
65
|
-
expect(failedChecks).toContain('nameNotEmpty');
|
|
66
|
-
expect(failedChecks).toContain('hasValidAge');
|
|
67
|
-
expect(failedChecks).toContain('throwingCheck');
|
|
68
|
-
});
|
|
69
|
-
it('should include throwing checks by default', () => {
|
|
70
|
-
const data = { name: 'Test', age: 20 };
|
|
71
|
-
const failedChecks = simpleCheck.getFailedChecks(data);
|
|
72
|
-
expect(failedChecks).toContain('throwingCheck');
|
|
73
|
-
});
|
|
74
|
-
it('should rethrow exceptions when reThrow is true', () => {
|
|
75
|
-
const data = { name: 'Test', age: 20 };
|
|
76
|
-
expect(() => simpleCheck.getFailedChecks(data, true)).toThrow('Test error');
|
|
77
|
-
});
|
|
78
|
-
});
|
|
79
|
-
describe('is', () => {
|
|
80
|
-
it('should return true for valid data', () => {
|
|
81
|
-
const data = { name: 'Test', age: 20 };
|
|
82
|
-
// throwingCheck always fails because it throws an error, but exclude it for this test
|
|
83
|
-
jest.spyOn(simpleCheck, 'getFailedChecks').mockReturnValue([]);
|
|
84
|
-
expect(simpleCheck.is(data)).toBe(true);
|
|
85
|
-
});
|
|
86
|
-
it('should return false for invalid data', () => {
|
|
87
|
-
// Fixed to avoid assigning a string to a number property
|
|
88
|
-
const data = { name: 'Test' }; // only name is specified, age is undefined
|
|
89
|
-
expect(simpleCheck.is(data)).toBe(false);
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
describe('throwIfFailed', () => {
|
|
93
|
-
it('should not throw for valid data when mocked', () => {
|
|
94
|
-
const data = { name: 'Test', age: 20 };
|
|
95
|
-
// throwingCheck always fails because it throws an error, but exclude it for this test
|
|
96
|
-
jest.spyOn(simpleCheck, 'getFailedChecks').mockReturnValue([]);
|
|
97
|
-
expect(() => simpleCheck.throwIfFailed(data)).not.toThrow();
|
|
98
|
-
expect(simpleCheck.throwIfFailed(data)).toBe(true);
|
|
99
|
-
});
|
|
100
|
-
it('should throw with correct message for invalid data', () => {
|
|
101
|
-
const data = { name: '', age: -5 };
|
|
102
|
-
// nameNotEmpty and hasValidAge also fail in addition to throwingCheck,
|
|
103
|
-
// so mock the getFailedChecks result to contain only the specific errors
|
|
104
|
-
jest
|
|
105
|
-
.spyOn(simpleCheck, 'getFailedChecks')
|
|
106
|
-
.mockReturnValue(['nameNotEmpty', 'hasValidAge']);
|
|
107
|
-
expect(() => simpleCheck.throwIfFailed(data)).toThrow('Failed checks: nameNotEmpty, hasValidAge');
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
});
|
|
111
|
-
describe('BaseMultipleCheck', () => {
|
|
112
|
-
let multipleCheck;
|
|
113
|
-
beforeEach(() => {
|
|
114
|
-
multipleCheck = new MultipleCheckTest();
|
|
115
|
-
});
|
|
116
|
-
describe('getFailureRequestChecks', () => {
|
|
117
|
-
it('should return empty array for valid request data', () => {
|
|
118
|
-
const data = { id: 1 };
|
|
119
|
-
// throwingCheck always fails because it throws an error, but ignore it for this test
|
|
120
|
-
jest.spyOn(multipleCheck, 'requestChecks').mockImplementation(() => {
|
|
121
|
-
return {
|
|
122
|
-
isObject: (data) => typeof data === 'object',
|
|
123
|
-
hasId: (data) => 'id' in data && typeof data.id === 'number',
|
|
124
|
-
idPositive: (data) => {
|
|
125
|
-
return 'id' in data && typeof data.id === 'number' && data.id > 0;
|
|
126
|
-
},
|
|
127
|
-
throwingCheck: () => {
|
|
128
|
-
throw new Error('Test error in request');
|
|
129
|
-
},
|
|
130
|
-
};
|
|
131
|
-
});
|
|
132
|
-
// Without overwriting throwingCheck in the requestChecks result,
|
|
133
|
-
// partially mock getFailureRequestChecks to ignore the failure caused by throwingCheck
|
|
134
|
-
const originalGetFailureRequestChecks = multipleCheck.getFailureRequestChecks.bind(multipleCheck);
|
|
135
|
-
jest
|
|
136
|
-
.spyOn(multipleCheck, 'getFailureRequestChecks')
|
|
137
|
-
.mockImplementation((data, reThrow = false) => {
|
|
138
|
-
const failures = originalGetFailureRequestChecks(data, reThrow);
|
|
139
|
-
return failures.filter((key) => key !== 'throwingCheck');
|
|
140
|
-
});
|
|
141
|
-
const failedChecks = multipleCheck.getFailureRequestChecks(data);
|
|
142
|
-
expect(failedChecks).toEqual([]);
|
|
143
|
-
});
|
|
144
|
-
it('should return failed check names for invalid request data', () => {
|
|
145
|
-
const data = { id: 0 };
|
|
146
|
-
// throwingCheck always fails because it throws an error, but ignore it for this test
|
|
147
|
-
jest.spyOn(multipleCheck, 'requestChecks').mockImplementation(() => {
|
|
148
|
-
return {
|
|
149
|
-
isObject: (data) => typeof data === 'object',
|
|
150
|
-
hasId: (data) => 'id' in data && typeof data.id === 'number',
|
|
151
|
-
idPositive: (data) => {
|
|
152
|
-
return 'id' in data && typeof data.id === 'number' && data.id > 0;
|
|
153
|
-
},
|
|
154
|
-
throwingCheck: () => {
|
|
155
|
-
throw new Error('Test error in request');
|
|
156
|
-
},
|
|
157
|
-
};
|
|
158
|
-
});
|
|
159
|
-
// Without overwriting throwingCheck in the requestChecks result,
|
|
160
|
-
// partially mock getFailureRequestChecks to ignore the failure caused by throwingCheck
|
|
161
|
-
const originalGetFailureRequestChecks = multipleCheck.getFailureRequestChecks.bind(multipleCheck);
|
|
162
|
-
jest
|
|
163
|
-
.spyOn(multipleCheck, 'getFailureRequestChecks')
|
|
164
|
-
.mockImplementation((data, reThrow = false) => {
|
|
165
|
-
const failures = originalGetFailureRequestChecks(data, reThrow);
|
|
166
|
-
return failures.filter((key) => key !== 'throwingCheck');
|
|
167
|
-
});
|
|
168
|
-
const failedChecks = multipleCheck.getFailureRequestChecks(data);
|
|
169
|
-
expect(failedChecks).toEqual(['idPositive']);
|
|
170
|
-
});
|
|
171
|
-
it('should include throwing checks by default', () => {
|
|
172
|
-
const data = { id: 1 };
|
|
173
|
-
const failedChecks = multipleCheck.getFailureRequestChecks(data);
|
|
174
|
-
expect(failedChecks).toContain('throwingCheck');
|
|
175
|
-
});
|
|
176
|
-
it('should rethrow exceptions when reThrow is true', () => {
|
|
177
|
-
const data = { id: 1 };
|
|
178
|
-
expect(() => multipleCheck.getFailureRequestChecks(data, true)).toThrow('Test error in request');
|
|
179
|
-
});
|
|
180
|
-
});
|
|
181
|
-
describe('isRequest', () => {
|
|
182
|
-
it('should return true for valid request data', () => {
|
|
183
|
-
const data = { id: 1 };
|
|
184
|
-
// throwingCheck always fails because it throws an error, but exclude it for this test
|
|
185
|
-
jest.spyOn(multipleCheck, 'getFailureRequestChecks').mockReturnValue([]);
|
|
186
|
-
expect(multipleCheck.isRequest(data)).toBe(true);
|
|
187
|
-
});
|
|
188
|
-
it('should return false for invalid request data', () => {
|
|
189
|
-
// Fixed to avoid assigning a string to a number property
|
|
190
|
-
const data = {}; // id is not specified
|
|
191
|
-
expect(multipleCheck.isRequest(data)).toBe(false);
|
|
192
|
-
});
|
|
193
|
-
});
|
|
194
|
-
describe('throwIfRequestFailed', () => {
|
|
195
|
-
it('should not throw for valid request data', () => {
|
|
196
|
-
const data = { id: 1 };
|
|
197
|
-
// throwingCheck always fails because it throws an error, but exclude it for this test
|
|
198
|
-
jest.spyOn(multipleCheck, 'getFailureRequestChecks').mockReturnValue([]);
|
|
199
|
-
expect(() => multipleCheck.throwIfRequestFailed(data)).not.toThrow();
|
|
200
|
-
expect(multipleCheck.throwIfRequestFailed(data)).toBe(true);
|
|
201
|
-
});
|
|
202
|
-
it('should throw for invalid request data', () => {
|
|
203
|
-
const data = { id: -1 };
|
|
204
|
-
// throwingCheck always fails because it throws an error, but partially ignore it for this test
|
|
205
|
-
const spy = jest.spyOn(multipleCheck, 'getFailureRequestChecks');
|
|
206
|
-
spy.mockReturnValue(['idPositive']);
|
|
207
|
-
expect(() => multipleCheck.throwIfRequestFailed(data)).toThrow('Failed checks: idPositive');
|
|
208
|
-
spy.mockRestore();
|
|
209
|
-
});
|
|
210
|
-
});
|
|
211
|
-
describe('getFailedResponseChecks', () => {
|
|
212
|
-
it('should return empty array for valid response data', () => {
|
|
213
|
-
const data = { data: [] };
|
|
214
|
-
// throwingCheck always fails because it throws an error, but ignore it for this test
|
|
215
|
-
jest.spyOn(multipleCheck, 'responseChecks').mockImplementation(() => {
|
|
216
|
-
return {
|
|
217
|
-
isObject: (data) => typeof data === 'object',
|
|
218
|
-
hasData: (data) => 'data' in data,
|
|
219
|
-
dataIsArray: (data) => {
|
|
220
|
-
return 'data' in data && Array.isArray(data.data);
|
|
221
|
-
},
|
|
222
|
-
throwingCheck: () => {
|
|
223
|
-
throw new Error('Test error in response');
|
|
224
|
-
},
|
|
225
|
-
};
|
|
226
|
-
});
|
|
227
|
-
// Without overwriting throwingCheck in the responseChecks result,
|
|
228
|
-
// partially mock getFailedResponseChecks to ignore the failure caused by throwingCheck
|
|
229
|
-
const originalGetFailedResponseChecks = multipleCheck.getFailedResponseChecks.bind(multipleCheck);
|
|
230
|
-
jest
|
|
231
|
-
.spyOn(multipleCheck, 'getFailedResponseChecks')
|
|
232
|
-
.mockImplementation((data, reThrow = false) => {
|
|
233
|
-
const failures = originalGetFailedResponseChecks(data, reThrow);
|
|
234
|
-
return failures.filter((key) => key !== 'throwingCheck');
|
|
235
|
-
});
|
|
236
|
-
const failedChecks = multipleCheck.getFailedResponseChecks(data);
|
|
237
|
-
expect(failedChecks).toEqual([]);
|
|
238
|
-
});
|
|
239
|
-
it('should return failed check names for invalid response data', () => {
|
|
240
|
-
const data = { data: 'not an array' };
|
|
241
|
-
// throwingCheck always fails because it throws an error, but ignore it for this test
|
|
242
|
-
jest.spyOn(multipleCheck, 'responseChecks').mockImplementation(() => {
|
|
243
|
-
return {
|
|
244
|
-
isObject: (data) => typeof data === 'object',
|
|
245
|
-
hasData: (data) => 'data' in data,
|
|
246
|
-
dataIsArray: (data) => {
|
|
247
|
-
return 'data' in data && Array.isArray(data.data);
|
|
248
|
-
},
|
|
249
|
-
throwingCheck: () => {
|
|
250
|
-
throw new Error('Test error in response');
|
|
251
|
-
},
|
|
252
|
-
};
|
|
253
|
-
});
|
|
254
|
-
// Without overwriting throwingCheck in the responseChecks result,
|
|
255
|
-
// partially mock getFailedResponseChecks to ignore the failure caused by throwingCheck
|
|
256
|
-
const originalGetFailedResponseChecks = multipleCheck.getFailedResponseChecks.bind(multipleCheck);
|
|
257
|
-
jest
|
|
258
|
-
.spyOn(multipleCheck, 'getFailedResponseChecks')
|
|
259
|
-
.mockImplementation((data, reThrow = false) => {
|
|
260
|
-
const failures = originalGetFailedResponseChecks(data, reThrow);
|
|
261
|
-
return failures.filter((key) => key !== 'throwingCheck');
|
|
262
|
-
});
|
|
263
|
-
const failedChecks = multipleCheck.getFailedResponseChecks(data);
|
|
264
|
-
expect(failedChecks).toEqual(['dataIsArray']);
|
|
265
|
-
});
|
|
266
|
-
it('should include throwing checks by default', () => {
|
|
267
|
-
const data = { data: [] };
|
|
268
|
-
const failedChecks = multipleCheck.getFailedResponseChecks(data);
|
|
269
|
-
expect(failedChecks).toContain('throwingCheck');
|
|
270
|
-
});
|
|
271
|
-
it('should rethrow exceptions when reThrow is true', () => {
|
|
272
|
-
const data = { data: [] };
|
|
273
|
-
expect(() => multipleCheck.getFailedResponseChecks(data, true)).toThrow('Test error in response');
|
|
274
|
-
});
|
|
275
|
-
});
|
|
276
|
-
describe('isResponse', () => {
|
|
277
|
-
it('should return true for valid response data', () => {
|
|
278
|
-
const data = { data: [] };
|
|
279
|
-
// throwingCheck always fails because it throws an error, but exclude it for this test
|
|
280
|
-
jest.spyOn(multipleCheck, 'getFailedResponseChecks').mockReturnValue([]);
|
|
281
|
-
expect(multipleCheck.isResponse(data)).toBe(true);
|
|
282
|
-
});
|
|
283
|
-
it('should return false for invalid response data', () => {
|
|
284
|
-
const data = { data: 'not an array' };
|
|
285
|
-
expect(multipleCheck.isResponse(data)).toBe(false);
|
|
286
|
-
});
|
|
287
|
-
});
|
|
288
|
-
describe('throwIfResponseFailed', () => {
|
|
289
|
-
it('should not throw for valid response data', () => {
|
|
290
|
-
const data = { data: [] };
|
|
291
|
-
// throwingCheck always fails because it throws an error, but exclude it for this test
|
|
292
|
-
jest.spyOn(multipleCheck, 'getFailedResponseChecks').mockReturnValue([]);
|
|
293
|
-
expect(() => multipleCheck.throwIfResponseFailed(data)).not.toThrow();
|
|
294
|
-
expect(multipleCheck.throwIfResponseFailed(data)).toBe(true);
|
|
295
|
-
});
|
|
296
|
-
it('should throw for invalid response data', () => {
|
|
297
|
-
const data = { data: 'not an array' };
|
|
298
|
-
// throwingCheck always fails because it throws an error, but partially ignore it for this test
|
|
299
|
-
const spy = jest.spyOn(multipleCheck, 'getFailedResponseChecks');
|
|
300
|
-
spy.mockReturnValue(['dataIsArray']);
|
|
301
|
-
expect(() => multipleCheck.throwIfResponseFailed(data)).toThrow('Failed checks: dataIsArray');
|
|
302
|
-
spy.mockRestore();
|
|
303
|
-
});
|
|
304
|
-
});
|
|
305
|
-
});
|
|
306
|
-
//# sourceMappingURL=checks.test.js.map
|
package/dist/checks.test.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"checks.test.js","sourceRoot":"","sources":["../src/checks.test.ts"],"names":[],"mappings":"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"}
|
package/dist/http-client.d.ts
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Retry settings for 429 errors.
|
|
3
|
-
*/
|
|
4
|
-
export interface PixivRateLimitRetryOptions {
|
|
5
|
-
/**
|
|
6
|
-
* Maximum number of retries when a request hits the rate limit.
|
|
7
|
-
*/
|
|
8
|
-
maxRetries: number;
|
|
9
|
-
/**
|
|
10
|
-
* Wait time (in milliseconds) before retrying when a request hits the rate limit.
|
|
11
|
-
*/
|
|
12
|
-
waitMs: number;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* Response to a request to the pixiv API.
|
|
16
|
-
*/
|
|
17
|
-
export interface PixivApiResponse<T> {
|
|
18
|
-
data: T;
|
|
19
|
-
status: number;
|
|
20
|
-
headers: Record<string, string>;
|
|
21
|
-
requestHeaders: Record<string, string>;
|
|
22
|
-
requestBody: string | null;
|
|
23
|
-
responseUrl: string | undefined;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Client that performs HTTP requests to the pixiv API.
|
|
27
|
-
*
|
|
28
|
-
* When a 429 (rate limit) response is received, it automatically retries
|
|
29
|
-
* based on the Retry-After header or the configured wait time.
|
|
30
|
-
*/
|
|
31
|
-
export declare class PixivHttpClient {
|
|
32
|
-
private readonly baseURL;
|
|
33
|
-
private readonly defaultHeaders;
|
|
34
|
-
private readonly rateLimitRetryOptions;
|
|
35
|
-
/**
|
|
36
|
-
* Constructor.
|
|
37
|
-
*
|
|
38
|
-
* @param baseURL Base URL for requests
|
|
39
|
-
* @param headers Default headers to attach to all requests
|
|
40
|
-
* @param rateLimitRetryOptions Retry settings for 429 errors
|
|
41
|
-
*/
|
|
42
|
-
constructor(baseURL: string, headers: Record<string, string>, rateLimitRetryOptions?: PixivRateLimitRetryOptions | null);
|
|
43
|
-
/**
|
|
44
|
-
* Sends a GET request.
|
|
45
|
-
*
|
|
46
|
-
* @param path Request path
|
|
47
|
-
* @param options Options such as query parameters
|
|
48
|
-
* @returns Response
|
|
49
|
-
*/
|
|
50
|
-
get<U>(path: string, options?: {
|
|
51
|
-
params?: Record<string, any>;
|
|
52
|
-
}): Promise<PixivApiResponse<U>>;
|
|
53
|
-
/**
|
|
54
|
-
* Sends a POST request.
|
|
55
|
-
*
|
|
56
|
-
* @param path Request path
|
|
57
|
-
* @param body Request body
|
|
58
|
-
* @param options Options such as headers
|
|
59
|
-
* @returns Response
|
|
60
|
-
*/
|
|
61
|
-
post<U>(path: string, body: string, options?: {
|
|
62
|
-
headers?: Record<string, string>;
|
|
63
|
-
}): Promise<PixivApiResponse<U>>;
|
|
64
|
-
private fetchWithRetry;
|
|
65
|
-
}
|
|
66
|
-
//# sourceMappingURL=http-client.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../src/http-client.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,IAAI,EAAE,CAAC,CAAA;IACP,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;CAChC;AAyCD;;;;;GAKG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAmC;IAEzE;;;;;;OAMG;gBAED,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC/B,qBAAqB,CAAC,EAAE,0BAA0B,GAAG,IAAI;IAO3D;;;;;;OAMG;IACG,GAAG,CAAC,CAAC,EACT,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAO,GAC7C,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAwB/B;;;;;;;OAOG;IACG,IAAI,CAAC,CAAC,EACV,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAO,GACjD,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAuBjB,cAAc;CA4B7B"}
|