@book000/pixivts 0.9.0 โ†’ 0.10.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.
Files changed (95) hide show
  1. package/dist/checks.d.ts +21 -0
  2. package/dist/checks.d.ts.map +1 -0
  3. package/dist/checks.js +85 -0
  4. package/dist/checks.js.map +1 -0
  5. package/dist/index.d.ts +2 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +2 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/options.d.ts +19 -4
  10. package/dist/options.d.ts.map +1 -1
  11. package/dist/options.js +60 -1
  12. package/dist/options.js.map +1 -1
  13. package/dist/pixiv.d.ts +2 -2
  14. package/dist/pixiv.js +2 -2
  15. package/dist/pixiv.test.d.ts +2 -0
  16. package/dist/pixiv.test.d.ts.map +1 -0
  17. package/dist/pixiv.test.js +225 -0
  18. package/dist/pixiv.test.js.map +1 -0
  19. package/dist/tsconfig.build.tsbuildinfo +1 -1
  20. package/dist/tsconfig.tsbuildinfo +1 -1
  21. package/dist/types/endpoints/v1/illust/detail.d.ts +5 -0
  22. package/dist/types/endpoints/v1/illust/detail.d.ts.map +1 -1
  23. package/dist/types/endpoints/v1/illust/detail.js +17 -0
  24. package/dist/types/endpoints/v1/illust/detail.js.map +1 -1
  25. package/dist/types/endpoints/v1/illust/recommended.d.ts +7 -2
  26. package/dist/types/endpoints/v1/illust/recommended.d.ts.map +1 -1
  27. package/dist/types/endpoints/v1/illust/recommended.js +34 -0
  28. package/dist/types/endpoints/v1/illust/recommended.js.map +1 -1
  29. package/dist/types/endpoints/v1/illust/series.d.ts +6 -1
  30. package/dist/types/endpoints/v1/illust/series.d.ts.map +1 -1
  31. package/dist/types/endpoints/v1/illust/series.js +26 -0
  32. package/dist/types/endpoints/v1/illust/series.js.map +1 -1
  33. package/dist/types/endpoints/v1/novel/recommended.d.ts +6 -1
  34. package/dist/types/endpoints/v1/novel/recommended.d.ts.map +1 -1
  35. package/dist/types/endpoints/v1/novel/recommended.js +29 -0
  36. package/dist/types/endpoints/v1/novel/recommended.js.map +1 -1
  37. package/dist/types/endpoints/v1/novel/text.d.ts +12 -2
  38. package/dist/types/endpoints/v1/novel/text.d.ts.map +1 -1
  39. package/dist/types/endpoints/v1/novel/text.js +26 -0
  40. package/dist/types/endpoints/v1/novel/text.js.map +1 -1
  41. package/dist/types/endpoints/v1/search/illust.d.ts +5 -0
  42. package/dist/types/endpoints/v1/search/illust.d.ts.map +1 -1
  43. package/dist/types/endpoints/v1/search/illust.js +32 -0
  44. package/dist/types/endpoints/v1/search/illust.js.map +1 -1
  45. package/dist/types/endpoints/v1/search/novel.d.ts +5 -0
  46. package/dist/types/endpoints/v1/search/novel.d.ts.map +1 -1
  47. package/dist/types/endpoints/v1/search/novel.js +32 -0
  48. package/dist/types/endpoints/v1/search/novel.js.map +1 -1
  49. package/dist/types/endpoints/v1/user/detail.d.ts +5 -0
  50. package/dist/types/endpoints/v1/user/detail.d.ts.map +1 -1
  51. package/dist/types/endpoints/v1/user/detail.js +23 -0
  52. package/dist/types/endpoints/v1/user/detail.js.map +1 -1
  53. package/dist/types/endpoints/v2/novel/detail.d.ts +5 -0
  54. package/dist/types/endpoints/v2/novel/detail.d.ts.map +1 -1
  55. package/dist/types/endpoints/v2/novel/detail.js +17 -0
  56. package/dist/types/endpoints/v2/novel/detail.js.map +1 -1
  57. package/dist/types/endpoints/v2/novel/series.d.ts +7 -2
  58. package/dist/types/endpoints/v2/novel/series.d.ts.map +1 -1
  59. package/dist/types/endpoints/v2/novel/series.js +26 -0
  60. package/dist/types/endpoints/v2/novel/series.js.map +1 -1
  61. package/dist/types/error-response.d.ts +1 -1
  62. package/dist/types/error-response.d.ts.map +1 -1
  63. package/dist/types/pixiv-common.d.ts +17 -1
  64. package/dist/types/pixiv-common.d.ts.map +1 -1
  65. package/dist/types/pixiv-common.js +61 -0
  66. package/dist/types/pixiv-common.js.map +1 -1
  67. package/dist/types/pixiv-illust-series.d.ts +4 -0
  68. package/dist/types/pixiv-illust-series.d.ts.map +1 -1
  69. package/dist/types/pixiv-illust-series.js +23 -0
  70. package/dist/types/pixiv-illust-series.js.map +1 -1
  71. package/dist/types/pixiv-illust.d.ts +5 -1
  72. package/dist/types/pixiv-illust.d.ts.map +1 -1
  73. package/dist/types/pixiv-illust.js +49 -0
  74. package/dist/types/pixiv-illust.js.map +1 -1
  75. package/dist/types/pixiv-novel-series.d.ts +7 -0
  76. package/dist/types/pixiv-novel-series.d.ts.map +1 -1
  77. package/dist/types/pixiv-novel-series.js +38 -0
  78. package/dist/types/pixiv-novel-series.js.map +1 -1
  79. package/dist/types/pixiv-novel.d.ts +6 -2
  80. package/dist/types/pixiv-novel.d.ts.map +1 -1
  81. package/dist/types/pixiv-novel.js +39 -0
  82. package/dist/types/pixiv-novel.js.map +1 -1
  83. package/dist/types/pixiv-user.d.ts +14 -1
  84. package/dist/types/pixiv-user.d.ts.map +1 -1
  85. package/dist/types/pixiv-user.js +91 -0
  86. package/dist/types/pixiv-user.js.map +1 -1
  87. package/dist/utils.d.ts +2 -0
  88. package/dist/utils.d.ts.map +1 -0
  89. package/dist/utils.js +8 -0
  90. package/dist/utils.js.map +1 -0
  91. package/dist/utils.test.d.ts +2 -0
  92. package/dist/utils.test.d.ts.map +1 -0
  93. package/dist/utils.test.js +10 -0
  94. package/dist/utils.test.js.map +1 -0
  95. package/package.json +24 -3
@@ -0,0 +1,21 @@
1
+ export type CheckFunction<T> = (data: T) => boolean;
2
+ export type CheckFunctions<T> = {
3
+ [key: string]: CheckFunction<T>;
4
+ };
5
+ export declare abstract class BaseSimpleCheck<T> {
6
+ abstract checks(): CheckFunctions<T>;
7
+ getFailedChecks(data: T, reThrow?: boolean): string[];
8
+ is(data: T): data is T;
9
+ throwIfFailed(data: T): boolean;
10
+ }
11
+ export declare abstract class BaseMultipleCheck<T, U> {
12
+ abstract requestChecks(): CheckFunctions<T>;
13
+ abstract responseChecks(): CheckFunctions<U>;
14
+ getFailureRequestChecks(data: T, reThrow?: boolean): string[];
15
+ isRequest(data: T): data is T;
16
+ throwIfRequestFailed(data: T): boolean;
17
+ getFailedResponseChecks(data: U, reThrow?: boolean): string[];
18
+ isResponse(data: U): data is U;
19
+ throwIfResponseFailed(data: U): boolean;
20
+ }
21
+ //# sourceMappingURL=checks.d.ts.map
@@ -0,0 +1 @@
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;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAA;CAChC,CAAA;AAED,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 ADDED
@@ -0,0 +1,85 @@
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
+ // ๅคฑๆ•—ใชใ‚‰trueใ‚’่ฟ”ใ™
9
+ try {
10
+ return !checks[key](data); // Trueใ‹ใคไพ‹ๅค–ใŒ็™บ็”Ÿใ—ใชใ„ๅ ดๅˆใฏๆˆๅŠŸ (falseใ‚’่ฟ”ใ™)
11
+ }
12
+ catch (error) {
13
+ if (reThrow) {
14
+ throw error;
15
+ }
16
+ return true; // ไพ‹ๅค–ใฎๅ ดๅˆใฏๅคฑๆ•— (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
+ // ๅคฑๆ•—ใชใ‚‰trueใ‚’่ฟ”ใ™
37
+ try {
38
+ return !checks[key](data); // Trueใ‹ใคไพ‹ๅค–ใŒ็™บ็”Ÿใ—ใชใ„ๅ ดๅˆใฏๆˆๅŠŸ (falseใ‚’่ฟ”ใ™)
39
+ }
40
+ catch (error) {
41
+ if (reThrow) {
42
+ throw error;
43
+ }
44
+ return true; // ไพ‹ๅค–ใฎๅ ดๅˆใฏๅคฑๆ•— (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
+ // ๅคฑๆ•—ใชใ‚‰trueใ‚’่ฟ”ใ™
62
+ try {
63
+ return !checks[key](data); // Trueใ‹ใคไพ‹ๅค–ใŒ็™บ็”Ÿใ—ใชใ„ๅ ดๅˆใฏๆˆๅŠŸ (falseใ‚’่ฟ”ใ™)
64
+ }
65
+ catch (error) {
66
+ if (reThrow) {
67
+ throw error;
68
+ }
69
+ return true; // ไพ‹ๅค–ใฎๅ ดๅˆใฏๅคฑๆ•— (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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checks.js","sourceRoot":"","sources":["../src/checks.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -16,6 +16,8 @@ export * from './types/pixiv-illust';
16
16
  export * from './types/pixiv-novel-series';
17
17
  export * from './types/pixiv-novel';
18
18
  export * from './types/pixiv-user';
19
+ export * from './checks';
19
20
  export * from './options';
20
21
  export { default as Pixiv } from './pixiv';
22
+ export * from './utils';
21
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0CAA0C,CAAA;AACxD,cAAc,oCAAoC,CAAA;AAClD,cAAc,yCAAyC,CAAA;AACvD,cAAc,oCAAoC,CAAA;AAClD,cAAc,wCAAwC,CAAA;AACtD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,oCAAoC,CAAA;AAClD,cAAc,mCAAmC,CAAA;AACjD,cAAc,kCAAkC,CAAA;AAChD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,0CAA0C,CAAA;AACxD,cAAc,oCAAoC,CAAA;AAClD,cAAc,yCAAyC,CAAA;AACvD,cAAc,oCAAoC,CAAA;AAClD,cAAc,wCAAwC,CAAA;AACtD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,oCAAoC,CAAA;AAClD,cAAc,mCAAmC,CAAA;AACjD,cAAc,kCAAkC,CAAA;AAChD,cAAc,mCAAmC,CAAA;AACjD,cAAc,mCAAmC,CAAA;AACjD,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,sBAAsB,CAAA;AACpC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAC1C,cAAc,SAAS,CAAA"}
package/dist/index.js CHANGED
@@ -36,7 +36,9 @@ __exportStar(require("./types/pixiv-illust"), exports);
36
36
  __exportStar(require("./types/pixiv-novel-series"), exports);
37
37
  __exportStar(require("./types/pixiv-novel"), exports);
38
38
  __exportStar(require("./types/pixiv-user"), exports);
39
+ __exportStar(require("./checks"), exports);
39
40
  __exportStar(require("./options"), exports);
40
41
  var pixiv_1 = require("./pixiv");
41
42
  Object.defineProperty(exports, "Pixiv", { enumerable: true, get: function () { return __importDefault(pixiv_1).default; } });
43
+ __exportStar(require("./utils"), exports);
42
44
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,2EAAwD;AACxD,qEAAkD;AAClD,0EAAuD;AACvD,qEAAkD;AAClD,yEAAsD;AACtD,kEAA+C;AAC/C,qEAAkD;AAClD,oEAAiD;AACjD,mEAAgD;AAChD,oEAAiD;AACjD,oEAAiD;AACjD,yDAAsC;AACtC,uDAAoC;AACpC,8DAA2C;AAC3C,uDAAoC;AACpC,6DAA0C;AAC1C,sDAAmC;AACnC,qDAAkC;AAClC,4CAAyB;AACzB,iCAA0C;AAAjC,+GAAA,OAAO,OAAS"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA,2EAAwD;AACxD,qEAAkD;AAClD,0EAAuD;AACvD,qEAAkD;AAClD,yEAAsD;AACtD,kEAA+C;AAC/C,qEAAkD;AAClD,oEAAiD;AACjD,mEAAgD;AAChD,oEAAiD;AACjD,oEAAiD;AACjD,yDAAsC;AACtC,uDAAoC;AACpC,8DAA2C;AAC3C,uDAAoC;AACpC,6DAA0C;AAC1C,sDAAmC;AACnC,qDAAkC;AAClC,2CAAwB;AACxB,4CAAyB;AACzB,iCAA0C;AAAjC,+GAAA,OAAO,OAAS;AACzB,0CAAuB"}
package/dist/options.d.ts CHANGED
@@ -10,6 +10,7 @@ import { GetV1NovelRecommendedRequest } from './types/endpoints/v1/novel/recomme
10
10
  import { GetV1SearchNovelRequest } from './types/endpoints/v1/search/novel';
11
11
  import { GetV2NovelSeriesRequest } from './types/endpoints/v2/novel/series';
12
12
  import { GetV1UserDetailRequest } from './types/endpoints/v1/user/detail';
13
+ import { BaseSimpleCheck, CheckFunctions } from './checks';
13
14
  /**
14
15
  * ๆคœ็ดขๅฏพ่ฑก
15
16
  */
@@ -23,6 +24,9 @@ export declare enum SearchTarget {
23
24
  /** ใ‚ญใƒผใƒฏใƒผใƒ‰ */
24
25
  KEYWORD = "keyword"
25
26
  }
27
+ export declare class SearchTargetCheck extends BaseSimpleCheck<SearchTarget> {
28
+ checks(): CheckFunctions<SearchTarget>;
29
+ }
26
30
  /**
27
31
  * ใ‚ฝใƒผใƒˆ
28
32
  */
@@ -34,6 +38,9 @@ export declare enum SearchSort {
34
38
  /** ไบบๆฐ—้ † */
35
39
  POPULAR_DESC = "popular_desc"
36
40
  }
41
+ export declare class SearchSortCheck extends BaseSimpleCheck<SearchSort> {
42
+ checks(): CheckFunctions<SearchSort>;
43
+ }
37
44
  /**
38
45
  * ๅฏพ่ฑกๆœŸ้–“
39
46
  */
@@ -45,6 +52,9 @@ export declare enum SearchIllustDuration {
45
52
  /** 1ใƒถๆœˆไปฅๅ†… */
46
53
  WITHIN_LAST_MONTH = "within_last_month"
47
54
  }
55
+ export declare class SearchIllustDurationCheck extends BaseSimpleCheck<SearchIllustDuration> {
56
+ checks(): CheckFunctions<SearchIllustDuration>;
57
+ }
48
58
  /**
49
59
  * OSใƒ•ใ‚ฃใƒซใ‚ฟ
50
60
  */
@@ -54,6 +64,9 @@ export declare enum Filter {
54
64
  /** Android */
55
65
  FOR_ANDROID = "for_android"
56
66
  }
67
+ export declare class FilterCheck extends BaseSimpleCheck<Filter> {
68
+ checks(): CheckFunctions<Filter>;
69
+ }
57
70
  /**
58
71
  * ใƒ–ใƒƒใ‚ฏใƒžใƒผใ‚ฏๅ…ฌ้–‹็ฏ„ๅ›ฒ
59
72
  */
@@ -63,14 +76,16 @@ export declare enum BookmarkRestrict {
63
76
  /** ้žๅ…ฌ้–‹ */
64
77
  PRIVATE = "private"
65
78
  }
79
+ export declare class BookmarkRestrictCheck extends BaseSimpleCheck<BookmarkRestrict> {
80
+ checks(): CheckFunctions<BookmarkRestrict>;
81
+ }
66
82
  /**
67
- * ใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆใฎไธ€้ƒจใ‚’ๅฟ…้ ˆใซใ™ใ‚‹
83
+ * ใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆใฎไธ€้ƒจใ‚’ๅฟ…้ ˆใซใ—ใ€ใใ‚Œไปฅๅค–ใฏใ‚ชใƒ—ใ‚ทใƒงใƒŠใƒซใซใ™ใ‚‹
68
84
  *
85
+ * @see https://mongolyy.hatenablog.com/entry/2022/03/10/001139
69
86
  * @see https://qiita.com/yuu_1st/items/71c4fc9cc95a72fa4df9
70
87
  */
71
- type SomeRequired<T, K extends keyof T> = T & {
72
- [P in K]-?: T[P];
73
- };
88
+ type SomeRequired<T, K extends keyof T> = Partial<Omit<T, K>> & Required<Pick<T, K>>;
74
89
  /**
75
90
  * ใ‚ชใƒ–ใ‚ธใ‚งใ‚ฏใƒˆใฎ็‰นๅฎšใƒ—ใƒญใƒ‘ใƒ†ใ‚ฃใ‚’ไธŠๆ›ธใใ™ใ‚‹
76
91
  *
@@ -1 +1 @@
1
- {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAC7E,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,6BAA6B,EAAE,MAAM,yCAAyC,CAAA;AACvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAC7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAA;AACzF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAA;AAC7E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iCAAiC,CAAA;AACvE,OAAO,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAA;AACrF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAA;AAEzE;;GAEG;AACH,oBAAY,YAAY;IACtB,cAAc;IACd,sBAAsB,2BAA2B;IACjD,cAAc;IACd,oBAAoB,yBAAyB;IAC7C,+BAA+B;IAC/B,iBAAiB,sBAAsB;IACvC,YAAY;IACZ,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,oBAAY,UAAU;IACpB,WAAW;IACX,SAAS,cAAc;IACvB,UAAU;IACV,QAAQ,aAAa;IACrB,UAAU;IACV,YAAY,iBAAiB;CAC9B;AAED;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,WAAW;IACX,eAAe,oBAAoB;IACnC,YAAY;IACZ,gBAAgB,qBAAqB;IACrC,YAAY;IACZ,iBAAiB,sBAAsB;CACxC;AAED;;GAEG;AACH,oBAAY,MAAM;IAChB,UAAU;IACV,OAAO,YAAY;IACnB,cAAc;IACd,WAAW,gBAAgB;CAC5B;AAED;;GAEG;AACH,oBAAY,gBAAgB;IAC1B,SAAS;IACT,MAAM,WAAW;IACjB,UAAU;IACV,OAAO,YAAY;CACpB;AACD;;;;GAIG;AACH,KAAK,YAAY,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IAAI,CAAC,GAAG;KAC3C,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CACjB,CAAA;AAED;;;;GAIG;AACH,KAAK,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS;KAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO;CAAE,IAAI,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAC5E,CAAC,CAAA;AAEH;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAC5C,YAAY,CAAC,wBAAwB,CAAC,EACtC,MAAM,CACP,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,wBAAwB,CAAC,CAAA;AAExE;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,YAAY,CACjD,OAAO,CAAC,6BAA6B,CAAC,CACvC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,wBAAwB,GAAG,YAAY,CACjD,YAAY,CAAC,8BAA8B,CAAC,EAC5C,UAAU,CACX,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAC5C,YAAY,CAAC,wBAAwB,CAAC,EACtC,gBAAgB,CACjB,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAA;AAEtE;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAA;AAElE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAC3C,YAAY,CAAC,uBAAuB,CAAC,EACrC,MAAM,CACP,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAC7C,YAAY,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,EACnD;IACE;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;CAC9B,CACF,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,YAAY,CAC3C,YAAY,CAAC,uBAAuB,CAAC,EACrC,UAAU,CACX,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,YAAY,CAAC,sBAAsB,CAAC,CAAA"}
1
+ {"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
package/dist/options.js CHANGED
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BookmarkRestrict = exports.Filter = exports.SearchIllustDuration = exports.SearchSort = exports.SearchTarget = void 0;
3
+ exports.BookmarkRestrictCheck = exports.BookmarkRestrict = exports.FilterCheck = exports.Filter = exports.SearchIllustDurationCheck = exports.SearchIllustDuration = exports.SearchSortCheck = exports.SearchSort = exports.SearchTargetCheck = exports.SearchTarget = void 0;
4
+ const checks_1 = require("./checks");
4
5
  /**
5
6
  * ๆคœ็ดขๅฏพ่ฑก
6
7
  */
@@ -15,6 +16,20 @@ var SearchTarget;
15
16
  /** ใ‚ญใƒผใƒฏใƒผใƒ‰ */
16
17
  SearchTarget["KEYWORD"] = "keyword";
17
18
  })(SearchTarget = exports.SearchTarget || (exports.SearchTarget = {}));
19
+ class SearchTargetCheck extends checks_1.BaseSimpleCheck {
20
+ checks() {
21
+ return {
22
+ main: (data) => typeof data === 'string' &&
23
+ [
24
+ SearchTarget.PARTIAL_MATCH_FOR_TAGS,
25
+ SearchTarget.EXACT_MATCH_FOR_TAGS,
26
+ SearchTarget.TITLE_AND_CAPTION,
27
+ SearchTarget.KEYWORD,
28
+ ].includes(data),
29
+ };
30
+ }
31
+ }
32
+ exports.SearchTargetCheck = SearchTargetCheck;
18
33
  /**
19
34
  * ใ‚ฝใƒผใƒˆ
20
35
  */
@@ -27,6 +42,19 @@ var SearchSort;
27
42
  /** ไบบๆฐ—้ † */
28
43
  SearchSort["POPULAR_DESC"] = "popular_desc";
29
44
  })(SearchSort = exports.SearchSort || (exports.SearchSort = {}));
45
+ class SearchSortCheck extends checks_1.BaseSimpleCheck {
46
+ checks() {
47
+ return {
48
+ main: (data) => typeof data === 'string' &&
49
+ [
50
+ SearchSort.DATE_DESC,
51
+ SearchSort.DATE_ASC,
52
+ SearchSort.POPULAR_DESC,
53
+ ].includes(data),
54
+ };
55
+ }
56
+ }
57
+ exports.SearchSortCheck = SearchSortCheck;
30
58
  /**
31
59
  * ๅฏพ่ฑกๆœŸ้–“
32
60
  */
@@ -39,6 +67,19 @@ var SearchIllustDuration;
39
67
  /** 1ใƒถๆœˆไปฅๅ†… */
40
68
  SearchIllustDuration["WITHIN_LAST_MONTH"] = "within_last_month";
41
69
  })(SearchIllustDuration = exports.SearchIllustDuration || (exports.SearchIllustDuration = {}));
70
+ class SearchIllustDurationCheck extends checks_1.BaseSimpleCheck {
71
+ checks() {
72
+ return {
73
+ main: (data) => typeof data === 'string' &&
74
+ [
75
+ SearchIllustDuration.WITHIN_LAST_DAY,
76
+ SearchIllustDuration.WITHIN_LAST_WEEK,
77
+ SearchIllustDuration.WITHIN_LAST_MONTH,
78
+ ].includes(data),
79
+ };
80
+ }
81
+ }
82
+ exports.SearchIllustDurationCheck = SearchIllustDurationCheck;
42
83
  /**
43
84
  * OSใƒ•ใ‚ฃใƒซใ‚ฟ
44
85
  */
@@ -49,6 +90,15 @@ var Filter;
49
90
  /** Android */
50
91
  Filter["FOR_ANDROID"] = "for_android";
51
92
  })(Filter = exports.Filter || (exports.Filter = {}));
93
+ class FilterCheck extends checks_1.BaseSimpleCheck {
94
+ checks() {
95
+ return {
96
+ main: (data) => typeof data === 'string' &&
97
+ [Filter.FOR_IOS, Filter.FOR_ANDROID].includes(data),
98
+ };
99
+ }
100
+ }
101
+ exports.FilterCheck = FilterCheck;
52
102
  /**
53
103
  * ใƒ–ใƒƒใ‚ฏใƒžใƒผใ‚ฏๅ…ฌ้–‹็ฏ„ๅ›ฒ
54
104
  */
@@ -59,4 +109,13 @@ var BookmarkRestrict;
59
109
  /** ้žๅ…ฌ้–‹ */
60
110
  BookmarkRestrict["PRIVATE"] = "private";
61
111
  })(BookmarkRestrict = exports.BookmarkRestrict || (exports.BookmarkRestrict = {}));
112
+ class BookmarkRestrictCheck extends checks_1.BaseSimpleCheck {
113
+ checks() {
114
+ return {
115
+ main: (data) => typeof data === 'string' &&
116
+ [BookmarkRestrict.PUBLIC, BookmarkRestrict.PRIVATE].includes(data),
117
+ };
118
+ }
119
+ }
120
+ exports.BookmarkRestrictCheck = BookmarkRestrictCheck;
62
121
  //# sourceMappingURL=options.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;;AAaA;;GAEG;AACH,IAAY,YASX;AATD,WAAY,YAAY;IACtB,cAAc;IACd,iEAAiD,CAAA;IACjD,cAAc;IACd,6DAA6C,CAAA;IAC7C,+BAA+B;IAC/B,uDAAuC,CAAA;IACvC,YAAY;IACZ,mCAAmB,CAAA;AACrB,CAAC,EATW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QASvB;AAED;;GAEG;AACH,IAAY,UAOX;AAPD,WAAY,UAAU;IACpB,WAAW;IACX,qCAAuB,CAAA;IACvB,UAAU;IACV,mCAAqB,CAAA;IACrB,UAAU;IACV,2CAA6B,CAAA;AAC/B,CAAC,EAPW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAOrB;AAED;;GAEG;AACH,IAAY,oBAOX;AAPD,WAAY,oBAAoB;IAC9B,WAAW;IACX,2DAAmC,CAAA;IACnC,YAAY;IACZ,6DAAqC,CAAA;IACrC,YAAY;IACZ,+DAAuC,CAAA;AACzC,CAAC,EAPW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAO/B;AAED;;GAEG;AACH,IAAY,MAKX;AALD,WAAY,MAAM;IAChB,UAAU;IACV,6BAAmB,CAAA;IACnB,cAAc;IACd,qCAA2B,CAAA;AAC7B,CAAC,EALW,MAAM,GAAN,cAAM,KAAN,cAAM,QAKjB;AAED;;GAEG;AACH,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,SAAS;IACT,qCAAiB,CAAA;IACjB,UAAU;IACV,uCAAmB,CAAA;AACrB,CAAC,EALW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAK3B"}
1
+ {"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"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"}
package/dist/pixiv.d.ts CHANGED
@@ -66,7 +66,7 @@ export default class Pixiv {
66
66
  * @param options ใ‚ชใƒ—ใ‚ทใƒงใƒณ
67
67
  * @returns ใƒฌใ‚นใƒใƒณใ‚น
68
68
  */
69
- recommendedIllust(options?: RecommendedIllustOptions): Promise<AxiosResponse<GetV1IllustRecommendedResponse, any>>;
69
+ illustRecommended(options?: RecommendedIllustOptions): Promise<AxiosResponse<GetV1IllustRecommendedResponse, any>>;
70
70
  /**
71
71
  * ใ‚คใƒฉใ‚นใƒˆใ‚’ใƒ–ใƒƒใ‚ฏใƒžใƒผใ‚ฏใ™ใ‚‹ใ€‚
72
72
  *
@@ -109,7 +109,7 @@ export default class Pixiv {
109
109
  * @param options ใ‚ชใƒ—ใ‚ทใƒงใƒณ
110
110
  * @returns ใƒฌใ‚นใƒใƒณใ‚น
111
111
  */
112
- recommendedNovel(options?: RecommendedNovelOptions): Promise<AxiosResponse<GetV1NovelRecommendedResponse, any>>;
112
+ novelRecommended(options?: RecommendedNovelOptions): Promise<AxiosResponse<GetV1NovelRecommendedResponse, any>>;
113
113
  /**
114
114
  * ๅฐ่ชฌใ‚ทใƒชใƒผใ‚บใฎ่ฉณ็ดฐๆƒ…ๅ ฑใ‚’ๅ–ๅพ—ใ™ใ‚‹ใ€‚
115
115
  *
package/dist/pixiv.js CHANGED
@@ -136,7 +136,7 @@ class Pixiv {
136
136
  * @param options ใ‚ชใƒ—ใ‚ทใƒงใƒณ
137
137
  * @returns ใƒฌใ‚นใƒใƒณใ‚น
138
138
  */
139
- async recommendedIllust(options = {}) {
139
+ async illustRecommended(options = {}) {
140
140
  const parameters = {
141
141
  ...this.convertSnakeToCamel(options),
142
142
  filter: options.filter || options_1.Filter.FOR_IOS,
@@ -261,7 +261,7 @@ class Pixiv {
261
261
  * @param options ใ‚ชใƒ—ใ‚ทใƒงใƒณ
262
262
  * @returns ใƒฌใ‚นใƒใƒณใ‚น
263
263
  */
264
- async recommendedNovel(options = {}) {
264
+ async novelRecommended(options = {}) {
265
265
  const parameters = {
266
266
  ...this.convertSnakeToCamel(options),
267
267
  // filter: options.filter || 'for_ios',
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pixiv.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixiv.test.d.ts","sourceRoot":"","sources":["../src/pixiv.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ /* eslint-disable no-console */
7
+ const pixiv_1 = __importDefault(require("./pixiv"));
8
+ const detail_1 = require("./types/endpoints/v1/illust/detail");
9
+ const recommended_1 = require("./types/endpoints/v1/illust/recommended");
10
+ const series_1 = require("./types/endpoints/v1/illust/series");
11
+ const recommended_2 = require("./types/endpoints/v1/novel/recommended");
12
+ const text_1 = require("./types/endpoints/v1/novel/text");
13
+ const illust_1 = require("./types/endpoints/v1/search/illust");
14
+ const novel_1 = require("./types/endpoints/v1/search/novel");
15
+ const detail_2 = require("./types/endpoints/v1/user/detail");
16
+ const detail_3 = require("./types/endpoints/v2/novel/detail");
17
+ const series_2 = require("./types/endpoints/v2/novel/series");
18
+ const utils_1 = require("./utils");
19
+ jest.setTimeout(120000); // 120sec
20
+ describe('pixiv', () => {
21
+ let pixiv;
22
+ beforeAll(async () => {
23
+ const pixivRefreshToken = process.env.PIXIV_REFRESH_TOKEN;
24
+ if (!pixivRefreshToken) {
25
+ throw new Error('PIXIV_REFRESH_TOKEN is not set');
26
+ }
27
+ pixiv = await pixiv_1.default.of(pixivRefreshToken);
28
+ });
29
+ it('illustDetail:107565629', async () => {
30
+ const illustDetail = await pixiv.illustDetail({
31
+ illustId: 107565629,
32
+ });
33
+ expect(illustDetail.status).toBe(200);
34
+ expect(illustDetail.data.illust.id).toBe(107565629);
35
+ expect(illustDetail.data.illust.title).toBe('ใƒ•ใƒ–ใ‚ญใกใ‚ƒใ‚“่กฃ่ฃ…็€ใฆใฟใŸใฟใ‚‡๏ฝžใ‚“ไฝ™');
36
+ expect(illustDetail.data.illust.type).toBe('illust');
37
+ // "square_medium": "https://i.pximg.net/c/360x360_70/img-master/img/2023/04/27/13/39/51/107565629_p0_square1200.jpg",
38
+ expect(illustDetail.data.illust.image_urls.square_medium).toMatch(/^https:\/\/i\.pximg\.net\/c\/360x360_70\/img-master\/img\/.+_square1200\.jpg$/);
39
+ // "medium": "https://i.pximg.net/c/540x540_70/img-master/img/2023/04/27/13/39/51/107565629_p0_master1200.jpg",
40
+ expect(illustDetail.data.illust.image_urls.medium).toMatch(/^https:\/\/i\.pximg\.net\/c\/540x540_70\/img-master\/img\/.+_master1200\.jpg$/);
41
+ // "large": "https://i.pximg.net/c/600x1200_90/img-master/img/2023/04/27/13/39/51/107565629_p0_master1200.jpg",
42
+ expect(illustDetail.data.illust.image_urls.large).toMatch(/^https:\/\/i\.pximg\.net\/c\/600x1200_90\/img-master\/img\/.+_master1200\.jpg$/);
43
+ expect(illustDetail.data.illust.caption).toBe('');
44
+ expect(illustDetail.data.illust.restrict).toBe(0);
45
+ expect(illustDetail.data.illust.user.id).toBe(16668308);
46
+ expect(illustDetail.data.illust.user.name).toBe('ๆกœใ‚‚ใก');
47
+ expect(illustDetail.data.illust.user.account).toBe('yukitohoshizora');
48
+ // https://i.pximg.net/user-profile/img/
49
+ expect(illustDetail.data.illust.user.profile_image_urls.medium).toMatch(/^https:\/\/i\.pximg\.net\/user-profile\/img\/.+\.png$/);
50
+ expect(illustDetail.data.illust.tags.length).toBeGreaterThan(0);
51
+ expect(illustDetail.data.illust.tools).toBeDefined();
52
+ expect(illustDetail.data.illust.tools.length).toBe(0);
53
+ expect(illustDetail.data.illust.create_date).toBe('2023-04-27T13:39:51+09:00');
54
+ expect(illustDetail.data.illust.page_count).toBe(1);
55
+ expect(illustDetail.data.illust.width).toBe(1728);
56
+ expect(illustDetail.data.illust.height).toBe(2626);
57
+ expect(illustDetail.data.illust.sanity_level).toBe(2);
58
+ expect(illustDetail.data.illust.x_restrict).toBe(0);
59
+ expect(illustDetail.data.illust.series).toBeNull();
60
+ // "original_image_url": "https://i.pximg.net/img-original/img/2023/04/27/13/39/51/107565629_p0.png",
61
+ expect(illustDetail.data.illust.meta_single_page.original_image_url).toMatch(/^https:\/\/i\.pximg\.net\/img-original\/img\/.+_p0\.png$/);
62
+ expect(illustDetail.data.illust.meta_pages).toHaveLength(0);
63
+ expect(illustDetail.data.illust.total_bookmarks).toBeGreaterThan(0);
64
+ expect(illustDetail.data.illust.total_view).toBeGreaterThan(0);
65
+ expect(illustDetail.data.illust.visible).toBe(true);
66
+ expect(illustDetail.data.illust.illust_ai_type).toBe(1);
67
+ expect(illustDetail.data.illust.illust_book_style).toBe(0);
68
+ const check = new detail_1.GetV1IllustDetailCheck();
69
+ expect(() => check.throwIfResponseFailed(illustDetail.data)).not.toThrow();
70
+ });
71
+ it('searchIllust', async () => {
72
+ const searchIllust = await pixiv.searchIllust({
73
+ word: 'ใƒ›ใƒญใƒฉใ‚คใƒ–',
74
+ });
75
+ expect(searchIllust.status).toBe(200);
76
+ expect(searchIllust.data).toBeDefined();
77
+ expect(searchIllust.data.illusts).toBeDefined();
78
+ expect(searchIllust.data.illusts).toHaveLength(30);
79
+ const check = new illust_1.GetV1SearchIllustCheck();
80
+ expect(() => check.throwIfResponseFailed(searchIllust.data)).not.toThrow();
81
+ });
82
+ it('recommendedIllust', async () => {
83
+ const recommendedIllust = await pixiv.illustRecommended();
84
+ expect(recommendedIllust.status).toBe(200);
85
+ expect(recommendedIllust.data).toBeDefined();
86
+ expect(recommendedIllust.data.illusts).toBeDefined();
87
+ expect(recommendedIllust.data.illusts.length).toBeGreaterThan(0);
88
+ const check = new recommended_1.GetV1IllustRecommendedCheck();
89
+ expect(() => check.throwIfResponseFailed(recommendedIllust.data)).not.toThrow();
90
+ });
91
+ it('illustSeries', async () => {
92
+ const illustSeries = await pixiv.illustSeries({
93
+ illustSeriesId: 147483,
94
+ });
95
+ expect(illustSeries.status).toBe(200);
96
+ expect(illustSeries.data).toBeDefined();
97
+ expect(illustSeries.data.illust_series_detail.title).toBe('ใƒ›ใƒญใƒฉใ‚คใƒ–ๅญฆใƒ‘ใƒญ');
98
+ expect(illustSeries.data.illusts).toBeDefined();
99
+ expect(illustSeries.data.illusts.length).toBeGreaterThan(0);
100
+ const check = new series_1.GetV1IllustSeriesCheck();
101
+ expect(() => check.throwIfResponseFailed(illustSeries.data)).not.toThrow();
102
+ });
103
+ it('novelDetail', async () => {
104
+ const novelDetail = await pixiv.novelDetail({
105
+ novelId: 13574875,
106
+ });
107
+ expect(novelDetail.status).toBe(200);
108
+ expect(novelDetail.data).toBeDefined();
109
+ expect(novelDetail.data.novel).toBeDefined();
110
+ expect(novelDetail.data.novel.id).toBe(13574875);
111
+ expect(novelDetail.data.novel.title).toBe('ใใ‚Œใฏใพใ‚‹ใง้ต็›คใ‚’ๅฅใงใ‚‹็ดฐๆŒ‡ใฎๅฆ‚ใ');
112
+ expect(novelDetail.data.novel.caption).toBe('่‰ฒใ€…ใจ็‹ฌ่‡ช่งฃ้‡ˆใ€่จญๅฎšๆ้€ ใŒใ‚ใ‚Šใพใ™ใ€‚<br />ๅผตใ‚Š่ฉฐใ‚ใ‚‹ใ‚‚ใฎใŒๅคšใ„ใจใ€ไบบใฏใ„ใคใ‹็ ด่ฃ‚ใ™ใ‚‹ใ€‚<br /><br />Twitterใ‚„ใฃใฆใพใ™โ†’ใ€<strong><a href="https://twitter.com/somari1101" target="_blank">twitter/somari1101</a></strong>ใ€‘');
113
+ expect(novelDetail.data.novel.restrict).toBe(0);
114
+ expect(novelDetail.data.novel.x_restrict).toBe(0);
115
+ expect(novelDetail.data.novel.is_original).toBe(false);
116
+ expect(novelDetail.data.novel.image_urls).toBeDefined();
117
+ expect(novelDetail.data.novel.image_urls.large).toMatch(/^https:\/\/i\.pximg\.net\/c\/240x480_80\/novel-cover-master\/img\/.+_master1200\.jpg$/);
118
+ expect(novelDetail.data.novel.image_urls.medium).toMatch(/^https:\/\/i\.pximg\.net\/c\/176x352\/novel-cover-master\/img\/.+_master1200\.jpg$/);
119
+ expect(novelDetail.data.novel.image_urls.square_medium).toMatch(/^https:\/\/i\.pximg\.net\/c\/128x128\/novel-cover-master\/img\/.+_square1200\.jpg$/);
120
+ expect(novelDetail.data.novel.create_date).toBe('2020-08-22T21:24:48+09:00');
121
+ expect(novelDetail.data.novel.page_count).toBe(7);
122
+ expect(novelDetail.data.novel.text_length).toBe(6931);
123
+ expect(novelDetail.data.novel.user).toBeDefined();
124
+ expect(novelDetail.data.novel.user.id).toBe(53003997);
125
+ expect(novelDetail.data.novel.user.name).toBe('่˜‡้ž -ใใพใ‚Š-');
126
+ expect(novelDetail.data.novel.user.account).toBe('user_wrmt2824');
127
+ expect(novelDetail.data.novel.user.profile_image_urls).toBeDefined();
128
+ expect(novelDetail.data.novel.user.profile_image_urls.medium).toMatch(/^https:\/\/i\.pximg\.net\/user-profile\/img\/.+\.jpg$/);
129
+ expect(novelDetail.data.novel.user.is_followed).toBeDefined();
130
+ expect(novelDetail.data.novel.series).toStrictEqual({});
131
+ expect(novelDetail.data.novel.is_bookmarked).toBeDefined();
132
+ expect(novelDetail.data.novel.total_bookmarks).toBeGreaterThan(0);
133
+ expect(novelDetail.data.novel.total_view).toBeGreaterThan(0);
134
+ expect(novelDetail.data.novel.visible).toBe(true);
135
+ expect(novelDetail.data.novel.total_comments).toBeGreaterThan(0);
136
+ expect(novelDetail.data.novel.is_muted).toBeDefined();
137
+ expect(novelDetail.data.novel.is_mypixiv_only).toBeDefined();
138
+ expect(novelDetail.data.novel.is_x_restricted).toBe(false);
139
+ expect(novelDetail.data.novel.novel_ai_type).toBe(0);
140
+ const check = new detail_3.GetV2NovelDetailCheck();
141
+ expect(() => check.throwIfResponseFailed(novelDetail.data)).not.toThrow();
142
+ });
143
+ it('novelText', async () => {
144
+ const novelText = await pixiv.novelText({
145
+ novelId: 13574875,
146
+ });
147
+ expect(novelText.status).toBe(200);
148
+ expect(novelText.data).toBeDefined();
149
+ expect(novelText.data).toMatchSnapshot();
150
+ expect(novelText.data.novel_text).toBeDefined();
151
+ expect(novelText.data.novel_text.length).toBeGreaterThan(0);
152
+ if (!(0, utils_1.isEmptyObject)(novelText.data.novel_marker)) {
153
+ expect(novelText.data.novel_marker.page).toBeGreaterThan(0);
154
+ }
155
+ expect(novelText.data.series_prev).toStrictEqual({});
156
+ expect(novelText.data.series_next).toStrictEqual({});
157
+ const check = new text_1.GetV1NovelTextCheck();
158
+ expect(() => check.throwIfResponseFailed(novelText.data)).not.toThrow();
159
+ });
160
+ it('searchNovel', async () => {
161
+ const searchNovel = await pixiv.searchNovel({
162
+ word: 'ใƒ›ใƒญใƒฉใ‚คใƒ–',
163
+ });
164
+ expect(searchNovel.status).toBe(200);
165
+ expect(searchNovel.data).toBeDefined();
166
+ expect(searchNovel.data.novels).toBeDefined();
167
+ expect(searchNovel.data.novels).toHaveLength(30);
168
+ const check = new novel_1.GetV1SearchNovelCheck();
169
+ expect(() => check.throwIfResponseFailed(searchNovel.data)).not.toThrow();
170
+ });
171
+ it('recommendedNovel', async () => {
172
+ const novelRecommended = await pixiv.novelRecommended();
173
+ expect(novelRecommended.status).toBe(200);
174
+ expect(novelRecommended.data).toBeDefined();
175
+ expect(novelRecommended.data.novels).toBeDefined();
176
+ expect(novelRecommended.data.novels.length).toBeGreaterThan(0);
177
+ const check = new recommended_2.GetV1NovelRecommendedCheck();
178
+ expect(() => check.throwIfResponseFailed(novelRecommended.data)).not.toThrow();
179
+ });
180
+ it('novelSeries', async () => {
181
+ const novelSeries = await pixiv.novelSeries({
182
+ seriesId: 10181799,
183
+ });
184
+ expect(novelSeries.status).toBe(200);
185
+ expect(novelSeries.data).toBeDefined();
186
+ expect(novelSeries.data.novel_series_detail.title).toBe('ใ‚†ใ‚‹ใ—ใ—ใ‚‰ใฟ');
187
+ expect(novelSeries.data.novels).toBeDefined();
188
+ expect(novelSeries.data.novels.length).toBeGreaterThan(0);
189
+ const check = new series_2.GetV2NovelSeriesCheck();
190
+ expect(() => check.throwIfResponseFailed(novelSeries.data)).not.toThrow();
191
+ });
192
+ it('userDetail', async () => {
193
+ const userDetail = await pixiv.userDetail({
194
+ userId: 16568776,
195
+ });
196
+ expect(userDetail.status).toBe(200);
197
+ expect(userDetail.data).toBeDefined();
198
+ expect(userDetail.data.user).toBeDefined();
199
+ expect(userDetail.data.user.id).toBe(16568776);
200
+ expect(userDetail.data.user.name).toBe('ihcamot');
201
+ expect(userDetail.data).toMatchSnapshot();
202
+ const check = new detail_2.GetV1UserDetailCheck();
203
+ expect(() => check.throwIfResponseFailed(userDetail.data)).not.toThrow();
204
+ });
205
+ it('parseQueryString', async () => {
206
+ const qs = 'https://example.com?a=1&b=2&c=3';
207
+ const parsed = pixiv_1.default.parseQueryString(qs);
208
+ expect(parsed).toStrictEqual({
209
+ a: '1',
210
+ b: '2',
211
+ c: '3',
212
+ });
213
+ });
214
+ it('isError', async () => {
215
+ const error = {
216
+ error: {
217
+ user_message: 'Rate limit exceeded.',
218
+ message: '',
219
+ reason: '',
220
+ },
221
+ };
222
+ expect(pixiv_1.default.isError(error)).toBe(true);
223
+ });
224
+ });
225
+ //# sourceMappingURL=pixiv.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixiv.test.js","sourceRoot":"","sources":["../src/pixiv.test.ts"],"names":[],"mappings":"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"}