@book000/pixivts 0.48.57 → 0.48.59

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 (169) hide show
  1. package/dist/checks.d.ts +19 -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/checks.test.d.ts +2 -0
  6. package/dist/checks.test.d.ts.map +1 -0
  7. package/dist/checks.test.js +306 -0
  8. package/dist/checks.test.js.map +1 -0
  9. package/dist/index.d.ts +30 -0
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +51 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/options.d.ts +248 -0
  14. package/dist/options.d.ts.map +1 -0
  15. package/dist/options.js +154 -0
  16. package/dist/options.js.map +1 -0
  17. package/dist/options.test.d.ts +2 -0
  18. package/dist/options.test.d.ts.map +1 -0
  19. package/dist/options.test.js +117 -0
  20. package/dist/options.test.js.map +1 -0
  21. package/dist/pixiv.d.ts +292 -0
  22. package/dist/pixiv.d.ts.map +1 -0
  23. package/dist/pixiv.js +759 -0
  24. package/dist/pixiv.js.map +1 -0
  25. package/dist/pixiv.test.d.ts +2 -0
  26. package/dist/pixiv.test.d.ts.map +1 -0
  27. package/dist/pixiv.test.js +705 -0
  28. package/dist/pixiv.test.js.map +1 -0
  29. package/dist/saving-responses/index.d.ts +119 -0
  30. package/dist/saving-responses/index.d.ts.map +1 -0
  31. package/dist/saving-responses/index.js +263 -0
  32. package/dist/saving-responses/index.js.map +1 -0
  33. package/dist/saving-responses/index.test.d.ts +2 -0
  34. package/dist/saving-responses/index.test.d.ts.map +1 -0
  35. package/dist/saving-responses/index.test.js +469 -0
  36. package/dist/saving-responses/index.test.js.map +1 -0
  37. package/dist/saving-responses/response-entity.d.ts +16 -0
  38. package/dist/saving-responses/response-entity.d.ts.map +1 -0
  39. package/dist/saving-responses/response-entity.js +101 -0
  40. package/dist/saving-responses/response-entity.js.map +1 -0
  41. package/dist/types/endpoints/v1/illust/bookmark/delete.d.ts +14 -0
  42. package/dist/types/endpoints/v1/illust/bookmark/delete.d.ts.map +1 -0
  43. package/dist/types/endpoints/v1/illust/bookmark/delete.js +3 -0
  44. package/dist/types/endpoints/v1/illust/bookmark/delete.js.map +1 -0
  45. package/dist/types/endpoints/v1/illust/detail.d.ts +25 -0
  46. package/dist/types/endpoints/v1/illust/detail.d.ts.map +1 -0
  47. package/dist/types/endpoints/v1/illust/detail.js +20 -0
  48. package/dist/types/endpoints/v1/illust/detail.js.map +1 -0
  49. package/dist/types/endpoints/v1/illust/ranking.d.ts +51 -0
  50. package/dist/types/endpoints/v1/illust/ranking.d.ts.map +1 -0
  51. package/dist/types/endpoints/v1/illust/ranking.js +40 -0
  52. package/dist/types/endpoints/v1/illust/ranking.js.map +1 -0
  53. package/dist/types/endpoints/v1/illust/recommended.d.ts +85 -0
  54. package/dist/types/endpoints/v1/illust/recommended.d.ts.map +1 -0
  55. package/dist/types/endpoints/v1/illust/recommended.js +37 -0
  56. package/dist/types/endpoints/v1/illust/recommended.js.map +1 -0
  57. package/dist/types/endpoints/v1/illust/series.d.ts +45 -0
  58. package/dist/types/endpoints/v1/illust/series.d.ts.map +1 -0
  59. package/dist/types/endpoints/v1/illust/series.js +31 -0
  60. package/dist/types/endpoints/v1/illust/series.js.map +1 -0
  61. package/dist/types/endpoints/v1/illust/ugoira/metadata.d.ts +25 -0
  62. package/dist/types/endpoints/v1/illust/ugoira/metadata.d.ts.map +1 -0
  63. package/dist/types/endpoints/v1/illust/ugoira/metadata.js +20 -0
  64. package/dist/types/endpoints/v1/illust/ugoira/metadata.js.map +1 -0
  65. package/dist/types/endpoints/v1/manga/recommended.d.ts +72 -0
  66. package/dist/types/endpoints/v1/manga/recommended.d.ts.map +1 -0
  67. package/dist/types/endpoints/v1/manga/recommended.js +33 -0
  68. package/dist/types/endpoints/v1/manga/recommended.js.map +1 -0
  69. package/dist/types/endpoints/v1/novel/bookmark/delete.d.ts +14 -0
  70. package/dist/types/endpoints/v1/novel/bookmark/delete.d.ts.map +1 -0
  71. package/dist/types/endpoints/v1/novel/bookmark/delete.js +3 -0
  72. package/dist/types/endpoints/v1/novel/bookmark/delete.js.map +1 -0
  73. package/dist/types/endpoints/v1/novel/ranking.d.ts +47 -0
  74. package/dist/types/endpoints/v1/novel/ranking.d.ts.map +1 -0
  75. package/dist/types/endpoints/v1/novel/ranking.js +39 -0
  76. package/dist/types/endpoints/v1/novel/ranking.js.map +1 -0
  77. package/dist/types/endpoints/v1/novel/recommended.d.ts +72 -0
  78. package/dist/types/endpoints/v1/novel/recommended.d.ts.map +1 -0
  79. package/dist/types/endpoints/v1/novel/recommended.js +32 -0
  80. package/dist/types/endpoints/v1/novel/recommended.js.map +1 -0
  81. package/dist/types/endpoints/v1/novel/related.d.ts +37 -0
  82. package/dist/types/endpoints/v1/novel/related.d.ts.map +1 -0
  83. package/dist/types/endpoints/v1/novel/related.js +24 -0
  84. package/dist/types/endpoints/v1/novel/related.js.map +1 -0
  85. package/dist/types/endpoints/v1/search/illust.d.ts +90 -0
  86. package/dist/types/endpoints/v1/search/illust.d.ts.map +1 -0
  87. package/dist/types/endpoints/v1/search/illust.js +35 -0
  88. package/dist/types/endpoints/v1/search/illust.js.map +1 -0
  89. package/dist/types/endpoints/v1/search/novel.d.ts +90 -0
  90. package/dist/types/endpoints/v1/search/novel.d.ts.map +1 -0
  91. package/dist/types/endpoints/v1/search/novel.js +35 -0
  92. package/dist/types/endpoints/v1/search/novel.js.map +1 -0
  93. package/dist/types/endpoints/v1/user/bookmarks/illust.d.ts +48 -0
  94. package/dist/types/endpoints/v1/user/bookmarks/illust.d.ts.map +1 -0
  95. package/dist/types/endpoints/v1/user/bookmarks/illust.js +31 -0
  96. package/dist/types/endpoints/v1/user/bookmarks/illust.js.map +1 -0
  97. package/dist/types/endpoints/v1/user/bookmarks/novel.d.ts +44 -0
  98. package/dist/types/endpoints/v1/user/bookmarks/novel.d.ts.map +1 -0
  99. package/dist/types/endpoints/v1/user/bookmarks/novel.js +28 -0
  100. package/dist/types/endpoints/v1/user/bookmarks/novel.js.map +1 -0
  101. package/dist/types/endpoints/v1/user/detail.d.ts +44 -0
  102. package/dist/types/endpoints/v1/user/detail.d.ts.map +1 -0
  103. package/dist/types/endpoints/v1/user/detail.js +26 -0
  104. package/dist/types/endpoints/v1/user/detail.js.map +1 -0
  105. package/dist/types/endpoints/v2/illust/bookmark/add.d.ts +28 -0
  106. package/dist/types/endpoints/v2/illust/bookmark/add.d.ts.map +1 -0
  107. package/dist/types/endpoints/v2/illust/bookmark/add.js +3 -0
  108. package/dist/types/endpoints/v2/illust/bookmark/add.js.map +1 -0
  109. package/dist/types/endpoints/v2/illust/related.d.ts +41 -0
  110. package/dist/types/endpoints/v2/illust/related.d.ts.map +1 -0
  111. package/dist/types/endpoints/v2/illust/related.js +29 -0
  112. package/dist/types/endpoints/v2/illust/related.js.map +1 -0
  113. package/dist/types/endpoints/v2/novel/bookmark/add.d.ts +27 -0
  114. package/dist/types/endpoints/v2/novel/bookmark/add.d.ts.map +1 -0
  115. package/dist/types/endpoints/v2/novel/bookmark/add.js +3 -0
  116. package/dist/types/endpoints/v2/novel/bookmark/add.js.map +1 -0
  117. package/dist/types/endpoints/v2/novel/detail.d.ts +25 -0
  118. package/dist/types/endpoints/v2/novel/detail.d.ts.map +1 -0
  119. package/dist/types/endpoints/v2/novel/detail.js +20 -0
  120. package/dist/types/endpoints/v2/novel/detail.js.map +1 -0
  121. package/dist/types/endpoints/v2/novel/series.d.ts +49 -0
  122. package/dist/types/endpoints/v2/novel/series.d.ts.map +1 -0
  123. package/dist/types/endpoints/v2/novel/series.js +31 -0
  124. package/dist/types/endpoints/v2/novel/series.js.map +1 -0
  125. package/dist/types/endpoints/webview/v2/novel.d.ts +21 -0
  126. package/dist/types/endpoints/webview/v2/novel.d.ts.map +1 -0
  127. package/dist/types/endpoints/webview/v2/novel.js +18 -0
  128. package/dist/types/endpoints/webview/v2/novel.js.map +1 -0
  129. package/dist/types/error-response.d.ts +29 -0
  130. package/dist/types/error-response.d.ts.map +1 -0
  131. package/dist/types/error-response.js +3 -0
  132. package/dist/types/error-response.js.map +1 -0
  133. package/dist/types/pixiv-common.d.ts +96 -0
  134. package/dist/types/pixiv-common.d.ts.map +1 -0
  135. package/dist/types/pixiv-common.js +66 -0
  136. package/dist/types/pixiv-common.js.map +1 -0
  137. package/dist/types/pixiv-illust-series.d.ts +56 -0
  138. package/dist/types/pixiv-illust-series.d.ts.map +1 -0
  139. package/dist/types/pixiv-illust-series.js +26 -0
  140. package/dist/types/pixiv-illust-series.js.map +1 -0
  141. package/dist/types/pixiv-illust.d.ts +167 -0
  142. package/dist/types/pixiv-illust.d.ts.map +1 -0
  143. package/dist/types/pixiv-illust.js +53 -0
  144. package/dist/types/pixiv-illust.js.map +1 -0
  145. package/dist/types/pixiv-novel-series.d.ts +84 -0
  146. package/dist/types/pixiv-novel-series.d.ts.map +1 -0
  147. package/dist/types/pixiv-novel-series.js +43 -0
  148. package/dist/types/pixiv-novel-series.js.map +1 -0
  149. package/dist/types/pixiv-novel.d.ts +122 -0
  150. package/dist/types/pixiv-novel.d.ts.map +1 -0
  151. package/dist/types/pixiv-novel.js +42 -0
  152. package/dist/types/pixiv-novel.js.map +1 -0
  153. package/dist/types/pixiv-ugoira.d.ts +50 -0
  154. package/dist/types/pixiv-ugoira.d.ts.map +1 -0
  155. package/dist/types/pixiv-ugoira.js +34 -0
  156. package/dist/types/pixiv-ugoira.js.map +1 -0
  157. package/dist/types/pixiv-user.d.ts +184 -0
  158. package/dist/types/pixiv-user.d.ts.map +1 -0
  159. package/dist/types/pixiv-user.js +97 -0
  160. package/dist/types/pixiv-user.js.map +1 -0
  161. package/dist/utils.d.ts +3 -0
  162. package/dist/utils.d.ts.map +1 -0
  163. package/dist/utils.js +15 -0
  164. package/dist/utils.js.map +1 -0
  165. package/dist/utils.test.d.ts +2 -0
  166. package/dist/utils.test.d.ts.map +1 -0
  167. package/dist/utils.test.js +15 -0
  168. package/dist/utils.test.js.map +1 -0
  169. package/package.json +3 -3
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PrivacyPolicyCheck = exports.SeriesCheck = exports.TagCheck = exports.PixivUserCheck = exports.ImageUrlsCheck = void 0;
4
+ const checks_1 = require("../checks");
5
+ class ImageUrlsCheck extends checks_1.BaseSimpleCheck {
6
+ checks() {
7
+ return {
8
+ square_medium: (data) => typeof data.square_medium === 'string',
9
+ medium: (data) => typeof data.medium === 'string',
10
+ large: (data) => typeof data.large === 'string',
11
+ original: (data) => data.original === undefined || typeof data.original === 'string',
12
+ };
13
+ }
14
+ }
15
+ exports.ImageUrlsCheck = ImageUrlsCheck;
16
+ class PixivUserCheck extends checks_1.BaseSimpleCheck {
17
+ checks() {
18
+ return {
19
+ id: (data) => typeof data.id === 'number',
20
+ name: (data) => typeof data.name === 'string',
21
+ account: (data) => typeof data.account === 'string',
22
+ profile_image_urls: (data) => typeof data.profile_image_urls === 'object' &&
23
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
24
+ data.profile_image_urls.medium !== undefined,
25
+ is_followed: (data) =>
26
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
27
+ typeof data.is_followed === 'boolean' || data.is_followed === undefined,
28
+ is_access_blocking_user: (data) => data.is_access_blocking_user === undefined ||
29
+ typeof data.is_access_blocking_user === 'boolean',
30
+ };
31
+ }
32
+ }
33
+ exports.PixivUserCheck = PixivUserCheck;
34
+ class TagCheck extends checks_1.BaseSimpleCheck {
35
+ checks() {
36
+ return {
37
+ name: (data) => typeof data.name === 'string',
38
+ translated_name: (data) => typeof data.translated_name === 'string' ||
39
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
40
+ data.translated_name === null,
41
+ added_by_uploaded_user: (data) => data.added_by_uploaded_user === undefined ||
42
+ typeof data.added_by_uploaded_user === 'boolean',
43
+ };
44
+ }
45
+ }
46
+ exports.TagCheck = TagCheck;
47
+ class SeriesCheck extends checks_1.BaseSimpleCheck {
48
+ checks() {
49
+ return {
50
+ id: (data) => typeof data.id === 'number',
51
+ title: (data) => typeof data.title === 'string',
52
+ };
53
+ }
54
+ }
55
+ exports.SeriesCheck = SeriesCheck;
56
+ class PrivacyPolicyCheck extends checks_1.BaseSimpleCheck {
57
+ checks() {
58
+ return {
59
+ version: (data) => data.version === undefined || typeof data.version === 'string',
60
+ message: (data) => data.message === undefined || typeof data.message === 'string',
61
+ url: (data) => data.url === undefined || typeof data.url === 'string',
62
+ };
63
+ }
64
+ }
65
+ exports.PrivacyPolicyCheck = PrivacyPolicyCheck;
66
+ //# sourceMappingURL=pixiv-common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixiv-common.js","sourceRoot":"","sources":["../../src/types/pixiv-common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ import { BaseSimpleCheck, CheckFunctions } from '../checks';
2
+ import { PixivUser } from './pixiv-common';
3
+ /**
4
+ * pixiv イラストシリーズ詳細情報
5
+ */
6
+ export interface IllustSeriesDetail {
7
+ /**
8
+ * シリーズ ID
9
+ */
10
+ id: number;
11
+ /**
12
+ * シリーズタイトル
13
+ */
14
+ title: string;
15
+ /**
16
+ * シリーズの説明文
17
+ */
18
+ caption: string;
19
+ /**
20
+ * カバー画像 URL群
21
+ */
22
+ cover_image_urls: {
23
+ /**
24
+ * 中サイズカバー画像 URL
25
+ */
26
+ medium: string;
27
+ };
28
+ /**
29
+ * シリーズ作品数
30
+ */
31
+ series_work_count: number;
32
+ /**
33
+ * シリーズ作成日時
34
+ */
35
+ create_date: string;
36
+ /**
37
+ * シリーズカバー画像の幅
38
+ */
39
+ width: number;
40
+ /**
41
+ * シリーズカバー画像の高さ
42
+ */
43
+ height: number;
44
+ /**
45
+ * シリーズ作成者情報
46
+ */
47
+ user: PixivUser;
48
+ /**
49
+ * ウォッチリストに追加済みかどうか
50
+ */
51
+ watchlist_added: boolean;
52
+ }
53
+ export declare class IllustSeriesDetailCheck extends BaseSimpleCheck<IllustSeriesDetail> {
54
+ checks(): CheckFunctions<IllustSeriesDetail>;
55
+ }
56
+ //# sourceMappingURL=pixiv-illust-series.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixiv-illust-series.d.ts","sourceRoot":"","sources":["../../src/types/pixiv-illust-series.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAkB,MAAM,gBAAgB,CAAA;AAE1D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,gBAAgB,EAAE;QAChB;;WAEG;QACH,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IAED;;OAEG;IACH,iBAAiB,EAAE,MAAM,CAAA;IAEzB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,IAAI,EAAE,SAAS,CAAA;IAEf;;OAEG;IACH,eAAe,EAAE,OAAO,CAAA;CACzB;AAED,qBAAa,uBAAwB,SAAQ,eAAe,CAAC,kBAAkB,CAAC;IAC9E,MAAM,IAAI,cAAc,CAAC,kBAAkB,CAAC;CAmB7C"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IllustSeriesDetailCheck = void 0;
4
+ const checks_1 = require("../checks");
5
+ const pixiv_common_1 = require("./pixiv-common");
6
+ class IllustSeriesDetailCheck extends checks_1.BaseSimpleCheck {
7
+ checks() {
8
+ return {
9
+ id: (data) => typeof data.id === 'number' && data.id > 0,
10
+ title: (data) => typeof data.title === 'string' && data.title.length > 0,
11
+ caption: (data) => typeof data.caption === 'string',
12
+ cover_image_urls: (data) => typeof data.cover_image_urls === 'object' &&
13
+ typeof data.cover_image_urls.medium === 'string' &&
14
+ data.cover_image_urls.medium.length > 0,
15
+ series_work_count: (data) => typeof data.series_work_count === 'number' &&
16
+ data.series_work_count > 0,
17
+ create_date: (data) => typeof data.create_date === 'string',
18
+ width: (data) => typeof data.width === 'number' && data.width > 0,
19
+ height: (data) => typeof data.height === 'number' && data.height > 0,
20
+ user: (data) => new pixiv_common_1.PixivUserCheck().throwIfFailed(data.user),
21
+ watchlist_added: (data) => typeof data.watchlist_added === 'boolean',
22
+ };
23
+ }
24
+ }
25
+ exports.IllustSeriesDetailCheck = IllustSeriesDetailCheck;
26
+ //# sourceMappingURL=pixiv-illust-series.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixiv-illust-series.js","sourceRoot":"","sources":["../../src/types/pixiv-illust-series.ts"],"names":[],"mappings":";;;AAAA,sCAA2D;AAC3D,iDAA0D;AA8D1D,MAAa,uBAAwB,SAAQ,wBAAmC;IAC9E,MAAM;QACJ,OAAO;YACL,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC;YACxD,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YACxE,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YACnD,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CACzB,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ;gBACzC,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,QAAQ;gBAChD,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;YACzC,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC1B,OAAO,IAAI,CAAC,iBAAiB,KAAK,QAAQ;gBAC1C,IAAI,CAAC,iBAAiB,GAAG,CAAC;YAC5B,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;YAC3D,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC;YACjE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YACpE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,6BAAc,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7D,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,eAAe,KAAK,SAAS;SACrE,CAAA;IACH,CAAC;CACF;AApBD,0DAoBC"}
@@ -0,0 +1,167 @@
1
+ import { BaseSimpleCheck, CheckFunctions } from '../checks';
2
+ import { ImageUrls, PixivUser, Tag, Series } from './pixiv-common';
3
+ /** 単一イラスト詳細情報 */
4
+ export interface MetaSinglePage {
5
+ /** オリジナル画像URL */
6
+ original_image_url: string;
7
+ }
8
+ /** 複数イラスト詳細情報 */
9
+ export interface MetaPages {
10
+ /** 画像URL群 */
11
+ image_urls: Required<ImageUrls>;
12
+ }
13
+ /**
14
+ * pixiv イラストアイテム
15
+ */
16
+ export interface PixivIllustItem {
17
+ /**
18
+ * 作品 ID
19
+ *
20
+ * イラスト・小説それぞれでIDの振り方が異なり、重複するので注意。
21
+ */
22
+ id: number;
23
+ /**
24
+ * 作品タイトル
25
+ */
26
+ title: string;
27
+ /**
28
+ * 作品種別
29
+ *
30
+ * illust: イラスト
31
+ * manga: マンガ
32
+ * ugoira: うごイラ
33
+ */
34
+ type: 'illust' | 'manga' | 'ugoira';
35
+ /**
36
+ * 作品の画像URL群
37
+ *
38
+ * イラスト・マンガの場合は1枚目の画像が入っている。
39
+ * 2枚目以降の画像は {@link meta_pages} に入っている。
40
+ */
41
+ image_urls: ImageUrls;
42
+ /**
43
+ * キャプション(説明文)
44
+ */
45
+ caption: string;
46
+ /**
47
+ * 公開範囲
48
+ *
49
+ * 詳細不明。0 が公開なのは確定
50
+ */
51
+ restrict: number;
52
+ /**
53
+ * 作品投稿者情報
54
+ */
55
+ user: PixivUser;
56
+ /**
57
+ * 作品タグ
58
+ */
59
+ tags: Tag[];
60
+ /**
61
+ * 使用ツール
62
+ *
63
+ * SAI, CLIP STUDIO PAINT など。投稿者は最大3つまで登録できる。選択式。
64
+ */
65
+ tools: string[];
66
+ /**
67
+ * 投稿日時
68
+ *
69
+ * ISO 8601 形式。YYYY-MM-DD'T'HH:mm:ss+09:00
70
+ */
71
+ create_date: string;
72
+ /**
73
+ * ページ数
74
+ */
75
+ page_count: number;
76
+ /** 画像の横幅 */
77
+ width: number;
78
+ /** 画像の縦幅 */
79
+ height: number;
80
+ /**
81
+ * 正気度? (表現内容設定?)
82
+ *
83
+ * 詳細不明。2, 4, 6 をとりうる。2 は全年齢、6 は R-18?
84
+ *
85
+ * @beta
86
+ */
87
+ sanity_level: number;
88
+ /**
89
+ * 年齢制限
90
+ *
91
+ * 0 が全年齢、1 が R-18、2 が R-18G
92
+ */
93
+ x_restrict: number;
94
+ /**
95
+ * シリーズ情報
96
+ *
97
+ * イラスト・マンガの場合、シリーズに属していない場合 null が入っている。
98
+ */
99
+ series: Series | null;
100
+ /**
101
+ * 単一イラスト詳細情報
102
+ *
103
+ * 単一ページの場合のみ利用。複数ページの場合は {@link meta_pages} を利用する。
104
+ * 複数ページの場合、このプロパティには空オブジェクトが入っている。
105
+ */
106
+ meta_single_page: MetaSinglePage | Record<string, never>;
107
+ /**
108
+ * 複数イラスト詳細情報
109
+ *
110
+ * 複数ページの場合のみ利用。単一ページの場合は {@link meta_single_page} を利用する。
111
+ * 単一ページの場合、このプロパティには空配列が入っている。
112
+ */
113
+ meta_pages: MetaPages[];
114
+ /**
115
+ * 閲覧数
116
+ */
117
+ total_view: number;
118
+ /**
119
+ * ブックマーク数
120
+ */
121
+ total_bookmarks: number;
122
+ /**
123
+ * ブックマークしているかどうか
124
+ */
125
+ is_bookmarked: boolean;
126
+ /**
127
+ * 閲覧可能かどうか
128
+ */
129
+ visible: boolean;
130
+ /**
131
+ * この作品をミュートしているかどうか
132
+ */
133
+ is_muted: boolean;
134
+ /**
135
+ * この作品にコメントしたユーザーの数
136
+ */
137
+ total_comments?: number;
138
+ /**
139
+ * AI使用フラグ
140
+ *
141
+ * 0: 未使用
142
+ * 1: 補助的に使用
143
+ * 2: 使用
144
+ *
145
+ * 2022/11/02時点で投稿画面に「補助的に使用」を選択できるUIは存在しないように見えるが、実際に 1 が入っている作品はある。
146
+ *
147
+ * @see https://www.pixiv.help/hc/ja/articles/11866194231577
148
+ * @see https://github.com/ArkoClub/async-pixiv/blob/fa45c81093a5c6f4eabfcc942915fc479e42174f/src/async_pixiv/model/other.py#L40-L48
149
+ */
150
+ illust_ai_type: number;
151
+ /**
152
+ * 作品のスタイル?
153
+ *
154
+ * @beta
155
+ */
156
+ illust_book_style: number;
157
+ /**
158
+ * コメントの閲覧制御?
159
+ *
160
+ * @beta
161
+ */
162
+ comment_access_control?: number;
163
+ }
164
+ export declare class PixivIllustItemCheck extends BaseSimpleCheck<PixivIllustItem> {
165
+ checks(): CheckFunctions<PixivIllustItem>;
166
+ }
167
+ //# sourceMappingURL=pixiv-illust.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixiv-illust.d.ts","sourceRoot":"","sources":["../../src/types/pixiv-illust.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC3D,OAAO,EACL,SAAS,EACT,SAAS,EACT,GAAG,EACH,MAAM,EAIP,MAAM,gBAAgB,CAAA;AAEvB,iBAAiB;AACjB,MAAM,WAAW,cAAc;IAC7B,iBAAiB;IACjB,kBAAkB,EAAE,MAAM,CAAA;CAC3B;AAED,iBAAiB;AACjB,MAAM,WAAW,SAAS;IACxB,aAAa;IACb,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;;;;;OAMG;IACH,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;IAEnC;;;;;OAKG;IACH,UAAU,EAAE,SAAS,CAAA;IAErB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,IAAI,EAAE,SAAS,CAAA;IAEf;;OAEG;IACH,IAAI,EAAE,GAAG,EAAE,CAAA;IAEX;;;;OAIG;IACH,KAAK,EAAE,MAAM,EAAE,CAAA;IAEf;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB,YAAY;IACZ,KAAK,EAAE,MAAM,CAAA;IAEb,YAAY;IACZ,MAAM,EAAE,MAAM,CAAA;IAEd;;;;;;OAMG;IACH,YAAY,EAAE,MAAM,CAAA;IAEpB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;;;OAIG;IACH,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IAErB;;;;;OAKG;IACH,gBAAgB,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAExD;;;;;OAKG;IACH,UAAU,EAAE,SAAS,EAAE,CAAA;IAEvB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAA;IAEtB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;IAEhB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAA;IAEjB;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB;;;;;;;;;;;OAWG;IACH,cAAc,EAAE,MAAM,CAAA;IAEtB;;;;OAIG;IACH,iBAAiB,EAAE,MAAM,CAAA;IAEzB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAA;CAChC;AAED,qBAAa,oBAAqB,SAAQ,eAAe,CAAC,eAAe,CAAC;IACxE,MAAM,IAAI,cAAc,CAAC,eAAe,CAAC;CAmE1C"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PixivIllustItemCheck = void 0;
4
+ const utils_1 = require("../utils");
5
+ const checks_1 = require("../checks");
6
+ const pixiv_common_1 = require("./pixiv-common");
7
+ class PixivIllustItemCheck extends checks_1.BaseSimpleCheck {
8
+ checks() {
9
+ return {
10
+ id: (data) => typeof data.id === 'number',
11
+ title: (data) => typeof data.title === 'string',
12
+ type: (data) => typeof data.type === 'string' &&
13
+ ['illust', 'manga', 'ugoira'].includes(data.type),
14
+ image_urls: (data) => typeof data.image_urls === 'object' &&
15
+ new pixiv_common_1.ImageUrlsCheck().throwIfFailed(data.image_urls),
16
+ caption: (data) => typeof data.caption === 'string',
17
+ restrict: (data) => typeof data.restrict === 'number',
18
+ user: (data) => typeof data.user === 'object' &&
19
+ new pixiv_common_1.PixivUserCheck().throwIfFailed(data.user),
20
+ tags: (data) => typeof data.tags === 'object' &&
21
+ Array.isArray(data.tags) &&
22
+ data.tags.every((tag) => new pixiv_common_1.TagCheck().throwIfFailed(tag)),
23
+ tools: (data) => typeof data.tools === 'object' &&
24
+ Array.isArray(data.tools) &&
25
+ data.tools.every((tool) => typeof tool === 'string') &&
26
+ data.tools.length <= 3,
27
+ create_date: (data) => typeof data.create_date === 'string',
28
+ page_count: (data) => typeof data.page_count === 'number',
29
+ width: (data) => typeof data.width === 'number',
30
+ height: (data) => typeof data.height === 'number',
31
+ sanity_level: (data) => typeof data.sanity_level === 'number',
32
+ meta_single_page: (data) => typeof data.meta_single_page === 'object' &&
33
+ ((0, utils_1.isEmptyObject)(data.meta_single_page) ||
34
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
35
+ data.meta_single_page.original_image_url !== undefined),
36
+ meta_pages: (data) => typeof data.meta_pages === 'object' &&
37
+ Array.isArray(data.meta_pages) &&
38
+ data.meta_pages.every((metaPage) => typeof metaPage.image_urls === 'object' &&
39
+ new pixiv_common_1.ImageUrlsCheck().throwIfFailed(metaPage.image_urls)),
40
+ total_view: (data) => typeof data.total_view === 'number',
41
+ total_bookmarks: (data) => typeof data.total_bookmarks === 'number',
42
+ is_bookmarked: (data) => typeof data.is_bookmarked === 'boolean',
43
+ visible: (data) => typeof data.visible === 'boolean',
44
+ is_muted: (data) => typeof data.is_muted === 'boolean',
45
+ total_comments: (data) => data.total_comments === undefined ||
46
+ typeof data.total_comments === 'number',
47
+ illust_ai_type: (data) => typeof data.illust_ai_type === 'number',
48
+ illust_book_style: (data) => typeof data.illust_book_style === 'number',
49
+ };
50
+ }
51
+ }
52
+ exports.PixivIllustItemCheck = PixivIllustItemCheck;
53
+ //# sourceMappingURL=pixiv-illust.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixiv-illust.js","sourceRoot":"","sources":["../../src/types/pixiv-illust.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ import { BaseSimpleCheck, CheckFunctions } from '../checks';
2
+ import { PixivUser } from './pixiv-common';
3
+ import { PixivNovelItem } from './pixiv-novel';
4
+ /**
5
+ * pixiv 小説シリーズ詳細情報
6
+ */
7
+ export interface NovelSeriesDetail {
8
+ /**
9
+ * シリーズ ID
10
+ */
11
+ id: number;
12
+ /**
13
+ * シリーズタイトル
14
+ */
15
+ title: string;
16
+ /**
17
+ * シリーズの説明文
18
+ */
19
+ caption: string;
20
+ /**
21
+ * オリジナル作品かどうか
22
+ */
23
+ is_original: boolean;
24
+ /**
25
+ * 完結済みかどうか
26
+ */
27
+ is_concluded: boolean;
28
+ /**
29
+ * コンテンツ数
30
+ */
31
+ content_count: number;
32
+ /**
33
+ * 累計文字数
34
+ */
35
+ total_character_count: number;
36
+ /**
37
+ * ユーザー情報
38
+ */
39
+ user: PixivUser;
40
+ /**
41
+ * シリーズ説明文
42
+ */
43
+ display_text: string;
44
+ /**
45
+ * AI使用フラグ
46
+ */
47
+ novel_ai_type: number;
48
+ /**
49
+ * ウォッチリストに追加済みかどうか
50
+ */
51
+ watchlist_added: boolean;
52
+ }
53
+ export declare class NovelSeriesDetailCheck extends BaseSimpleCheck<NovelSeriesDetail> {
54
+ checks(): CheckFunctions<NovelSeriesDetail>;
55
+ }
56
+ /**
57
+ * pixiv 小説シリーズアイテム
58
+ */
59
+ export interface PixivNovelSeriesItem {
60
+ /**
61
+ * シリーズ詳細
62
+ */
63
+ novel_series_detail: NovelSeriesDetail;
64
+ /**
65
+ * シリーズの1個目の小説データ
66
+ */
67
+ novel_series_first_novel: PixivNovelItem;
68
+ /**
69
+ * シリーズの最新の小説データ
70
+ */
71
+ novel_series_latest_novel: PixivNovelItem;
72
+ /**
73
+ * シリーズにある小説一覧
74
+ */
75
+ novels: PixivNovelItem[];
76
+ /**
77
+ * 次 URL
78
+ */
79
+ next_url: string | null;
80
+ }
81
+ export declare class PixivNovelSeriesItemCheck extends BaseSimpleCheck<PixivNovelSeriesItem> {
82
+ checks(): CheckFunctions<PixivNovelSeriesItem>;
83
+ }
84
+ //# sourceMappingURL=pixiv-novel-series.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixiv-novel-series.d.ts","sourceRoot":"","sources":["../../src/types/pixiv-novel-series.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAuB,MAAM,eAAe,CAAA;AAEnE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;OAEG;IACH,WAAW,EAAE,OAAO,CAAA;IAEpB;;OAEG;IACH,YAAY,EAAE,OAAO,CAAA;IAErB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAA;IAE7B;;OAEG;IACH,IAAI,EAAE,SAAS,CAAA;IAEf;;OAEG;IACH,YAAY,EAAE,MAAM,CAAA;IAEpB;;OAEG;IACH,aAAa,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,eAAe,EAAE,OAAO,CAAA;CACzB;AAED,qBAAa,sBAAuB,SAAQ,eAAe,CAAC,iBAAiB,CAAC;IAC5E,MAAM,IAAI,cAAc,CAAC,iBAAiB,CAAC;CAgB5C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,mBAAmB,EAAE,iBAAiB,CAAA;IAEtC;;OAEG;IACH,wBAAwB,EAAE,cAAc,CAAA;IAExC;;OAEG;IACH,yBAAyB,EAAE,cAAc,CAAA;IAEzC;;OAEG;IACH,MAAM,EAAE,cAAc,EAAE,CAAA;IAExB;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED,qBAAa,yBAA0B,SAAQ,eAAe,CAAC,oBAAoB,CAAC;IAClF,MAAM,IAAI,cAAc,CAAC,oBAAoB,CAAC;CAuB/C"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PixivNovelSeriesItemCheck = exports.NovelSeriesDetailCheck = void 0;
4
+ const checks_1 = require("../checks");
5
+ const pixiv_novel_1 = require("./pixiv-novel");
6
+ class NovelSeriesDetailCheck extends checks_1.BaseSimpleCheck {
7
+ checks() {
8
+ return {
9
+ id: (data) => typeof data.id === 'number',
10
+ title: (data) => typeof data.title === 'string',
11
+ caption: (data) => typeof data.caption === 'string',
12
+ is_original: (data) => typeof data.is_original === 'boolean',
13
+ is_concluded: (data) => typeof data.is_concluded === 'boolean',
14
+ content_count: (data) => typeof data.content_count === 'number',
15
+ total_character_count: (data) => typeof data.total_character_count === 'number',
16
+ user: (data) => typeof data.user === 'object',
17
+ display_text: (data) => typeof data.display_text === 'string',
18
+ novel_ai_type: (data) => typeof data.novel_ai_type === 'number',
19
+ watchlist_added: (data) => typeof data.watchlist_added === 'boolean',
20
+ };
21
+ }
22
+ }
23
+ exports.NovelSeriesDetailCheck = NovelSeriesDetailCheck;
24
+ class PixivNovelSeriesItemCheck extends checks_1.BaseSimpleCheck {
25
+ checks() {
26
+ return {
27
+ novel_series_detail: (data) => typeof data.novel_series_detail === 'object' &&
28
+ new NovelSeriesDetailCheck().throwIfFailed(data.novel_series_detail),
29
+ novel_series_first_novel: (data) => typeof data.novel_series_first_novel === 'object' &&
30
+ new pixiv_novel_1.PixivNovelItemCheck().throwIfFailed(data.novel_series_first_novel),
31
+ novel_series_latest_novel: (data) => typeof data.novel_series_latest_novel === 'object' &&
32
+ new pixiv_novel_1.PixivNovelItemCheck().throwIfFailed(data.novel_series_latest_novel),
33
+ novels: (data) => Array.isArray(data.novels) &&
34
+ data.novels.every((novel) => typeof novel === 'object' &&
35
+ new pixiv_novel_1.PixivNovelItemCheck().throwIfFailed(novel)),
36
+ next_url: (data) =>
37
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
38
+ typeof data.next_url === 'string' || data.next_url === null,
39
+ };
40
+ }
41
+ }
42
+ exports.PixivNovelSeriesItemCheck = PixivNovelSeriesItemCheck;
43
+ //# sourceMappingURL=pixiv-novel-series.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixiv-novel-series.js","sourceRoot":"","sources":["../../src/types/pixiv-novel-series.ts"],"names":[],"mappings":";;;AAAA,sCAA2D;AAE3D,+CAAmE;AA8DnE,MAAa,sBAAuB,SAAQ,wBAAkC;IAC5E,MAAM;QACJ,OAAO;YACL,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,EAAE,KAAK,QAAQ;YACzC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;YAC/C,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;YACnD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,WAAW,KAAK,SAAS;YAC5D,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,YAAY,KAAK,SAAS;YAC9D,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ;YAC/D,qBAAqB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC9B,OAAO,IAAI,CAAC,qBAAqB,KAAK,QAAQ;YAChD,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ;YAC7C,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ;YAC7D,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ;YAC/D,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,CAAC,eAAe,KAAK,SAAS;SACrE,CAAA;IACH,CAAC;CACF;AAjBD,wDAiBC;AAgCD,MAAa,yBAA0B,SAAQ,wBAAqC;IAClF,MAAM;QACJ,OAAO;YACL,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE,CAC5B,OAAO,IAAI,CAAC,mBAAmB,KAAK,QAAQ;gBAC5C,IAAI,sBAAsB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,mBAAmB,CAAC;YACtE,wBAAwB,EAAE,CAAC,IAAI,EAAE,EAAE,CACjC,OAAO,IAAI,CAAC,wBAAwB,KAAK,QAAQ;gBACjD,IAAI,iCAAmB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,wBAAwB,CAAC;YACxE,yBAAyB,EAAE,CAAC,IAAI,EAAE,EAAE,CAClC,OAAO,IAAI,CAAC,yBAAyB,KAAK,QAAQ;gBAClD,IAAI,iCAAmB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,yBAAyB,CAAC;YACzE,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CACf,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,CAAC,KAAK,EAAE,EAAE,CACR,OAAO,KAAK,KAAK,QAAQ;oBACzB,IAAI,iCAAmB,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,CACjD;YACH,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;YACjB,uEAAuE;YACvE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;SAC9D,CAAA;IACH,CAAC;CACF;AAxBD,8DAwBC"}
@@ -0,0 +1,122 @@
1
+ import { BaseSimpleCheck, CheckFunctions } from '../checks';
2
+ import { ImageUrls, Tag, PixivUser, Series } from './pixiv-common';
3
+ /**
4
+ * pixiv 小説アイテム
5
+ */
6
+ export interface PixivNovelItem {
7
+ /**
8
+ * 作品 ID
9
+ *
10
+ * イラスト・小説それぞれでIDの振り方が異なり、重複するので注意。
11
+ */
12
+ id: number;
13
+ /**
14
+ * 作品タイトル
15
+ */
16
+ title: string;
17
+ /**
18
+ * キャプション(説明文)
19
+ */
20
+ caption: string;
21
+ /**
22
+ * 公開範囲
23
+ *
24
+ * 詳細不明。0 が公開なのは確定
25
+ */
26
+ restrict: number;
27
+ /**
28
+ * 年齢制限
29
+ *
30
+ * 0 が全年齢、1 が R-18、2 が R-18G
31
+ */
32
+ x_restrict: number;
33
+ /**
34
+ * オリジナル作品かどうか
35
+ */
36
+ is_original: boolean;
37
+ /**
38
+ * 作品の画像URL群
39
+ *
40
+ * 小説の場合は表紙の画像が入っている。
41
+ */
42
+ image_urls: ImageUrls;
43
+ /**
44
+ * 投稿日時
45
+ *
46
+ * ISO 8601 形式。YYYY-MM-DD'T'HH:mm:ss+09:00
47
+ */
48
+ create_date: string;
49
+ /**
50
+ * 作品タグ
51
+ */
52
+ tags: Tag[];
53
+ /**
54
+ * ページ数
55
+ */
56
+ page_count: number;
57
+ /**
58
+ * 文字数
59
+ */
60
+ text_length: number;
61
+ /**
62
+ * 作品投稿者情報
63
+ */
64
+ user: PixivUser;
65
+ /**
66
+ * シリーズ情報
67
+ *
68
+ * 小説の場合、シリーズに属していない場合空オブジェクトが入っている。
69
+ */
70
+ series: Series | Record<string, never>;
71
+ /**
72
+ * ブックマークしているかどうか
73
+ */
74
+ is_bookmarked: boolean;
75
+ /**
76
+ * ブックマーク数
77
+ */
78
+ total_bookmarks: number;
79
+ /**
80
+ * 閲覧数
81
+ */
82
+ total_view: number;
83
+ /**
84
+ * 閲覧可能かどうか
85
+ */
86
+ visible: boolean;
87
+ /**
88
+ * コメント数
89
+ */
90
+ total_comments: number;
91
+ /**
92
+ * この作品をミュートしているかどうか
93
+ */
94
+ is_muted: boolean;
95
+ /**
96
+ * マイピクへの公開限定にしているかどうか
97
+ */
98
+ is_mypixiv_only: boolean;
99
+ /**
100
+ * 不明 (公開制限をしているかどうか?)
101
+ *
102
+ * @beta
103
+ */
104
+ is_x_restricted: boolean;
105
+ /**
106
+ * AI使用フラグ
107
+ *
108
+ * 0: 未使用
109
+ * 1: 補助的に使用
110
+ * 2: 使用
111
+ *
112
+ * 2022/11/02時点で投稿画面に「補助的に使用」を選択できるUIは存在しないように見えるが、実際に 1 が入っている作品はある。
113
+ *
114
+ * @see https://www.pixiv.help/hc/ja/articles/11866194231577
115
+ * @see https://github.com/ArkoClub/async-pixiv/blob/fa45c81093a5c6f4eabfcc942915fc479e42174f/src/async_pixiv/model/other.py#L40-L48
116
+ */
117
+ novel_ai_type: number;
118
+ }
119
+ export declare class PixivNovelItemCheck extends BaseSimpleCheck<PixivNovelItem> {
120
+ checks(): CheckFunctions<PixivNovelItem>;
121
+ }
122
+ //# sourceMappingURL=pixiv-novel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pixiv-novel.d.ts","sourceRoot":"","sources":["../../src/types/pixiv-novel.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC3D,OAAO,EACL,SAAS,EACT,GAAG,EACH,SAAS,EACT,MAAM,EAKP,MAAM,gBAAgB,CAAA;AAEvB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;OAIG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;IAEb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;;;OAIG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,WAAW,EAAE,OAAO,CAAA;IAEpB;;;;OAIG;IACH,UAAU,EAAE,SAAS,CAAA;IAErB;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,IAAI,EAAE,GAAG,EAAE,CAAA;IAEX;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,IAAI,EAAE,SAAS,CAAA;IAEf;;;;OAIG;IACH,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAEtC;;OAEG;IACH,aAAa,EAAE,OAAO,CAAA;IAEtB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAA;IAEvB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;OAEG;IACH,OAAO,EAAE,OAAO,CAAA;IAEhB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAA;IAEtB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAA;IAEjB;;OAEG;IACH,eAAe,EAAE,OAAO,CAAA;IAExB;;;;OAIG;IACH,eAAe,EAAE,OAAO,CAAA;IAExB;;;;;;;;;;;OAWG;IACH,aAAa,EAAE,MAAM,CAAA;CACtB;AAED,qBAAa,mBAAoB,SAAQ,eAAe,CAAC,cAAc,CAAC;IACtE,MAAM,IAAI,cAAc,CAAC,cAAc,CAAC;CAoCzC"}