@book000/twitterts 0.27.0 → 0.29.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 (39) hide show
  1. package/dist/converter.d.ts +17 -1
  2. package/dist/converter.d.ts.map +1 -1
  3. package/dist/converter.js +71 -0
  4. package/dist/converter.js.map +1 -1
  5. package/dist/generate-types/custom-types-generator.d.ts +53 -0
  6. package/dist/generate-types/custom-types-generator.d.ts.map +1 -0
  7. package/dist/generate-types/custom-types-generator.js +394 -0
  8. package/dist/generate-types/custom-types-generator.js.map +1 -0
  9. package/dist/generate-types/endpoint-type-generator.d.ts +66 -0
  10. package/dist/generate-types/endpoint-type-generator.d.ts.map +1 -0
  11. package/dist/generate-types/endpoint-type-generator.js +187 -0
  12. package/dist/generate-types/endpoint-type-generator.js.map +1 -0
  13. package/dist/generate-types/types-generator.d.ts +49 -0
  14. package/dist/generate-types/types-generator.d.ts.map +1 -0
  15. package/dist/generate-types/types-generator.js +89 -0
  16. package/dist/generate-types/types-generator.js.map +1 -0
  17. package/dist/generate-types/utils.d.ts +95 -0
  18. package/dist/generate-types/utils.d.ts.map +1 -0
  19. package/dist/generate-types/utils.js +160 -0
  20. package/dist/generate-types/utils.js.map +1 -0
  21. package/dist/generate-types.js +41 -741
  22. package/dist/generate-types.js.map +1 -1
  23. package/dist/index.d.ts +5 -0
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +5 -0
  26. package/dist/index.js.map +1 -1
  27. package/dist/models/responses/custom/custom-user-legacy-object.d.ts +55 -0
  28. package/dist/models/responses/custom/custom-user-legacy-object.d.ts.map +1 -0
  29. package/dist/models/responses/custom/custom-user-legacy-object.js +4 -0
  30. package/dist/models/responses/custom/custom-user-legacy-object.js.map +1 -0
  31. package/dist/tsconfig.build.tsbuildinfo +1 -1
  32. package/dist/tsconfig.tsbuildinfo +1 -1
  33. package/dist/twitter.d.ts +9 -2
  34. package/dist/twitter.d.ts.map +1 -1
  35. package/dist/twitter.js +14 -1
  36. package/dist/twitter.js.map +1 -1
  37. package/dist/twitter.test.js +8 -1
  38. package/dist/twitter.test.js.map +1 -1
  39. package/package.json +2 -2
@@ -1,6 +1,8 @@
1
- import { Coordinates, Entities, ExtendedEntities, Place, Status } from 'twitter-d';
1
+ import { Coordinates, Entities, ExtendedEntities, FullUser, Place, Status, UserEntities } from 'twitter-d';
2
2
  import { CustomTweetLegacyObject } from './models/responses/custom/custom-tweet-legacy-object';
3
3
  import { CustomTweetObject } from './models/responses/custom/custom-tweet-object';
4
+ import { CustomUserLegacyObject } from './models/responses/custom/custom-user-legacy-object';
5
+ import { GraphQLGetUserByScreenNameSuccessResponse } from './models/responses/graphql/get/user-by-screen-name-success';
4
6
  /**
5
7
  * オブジェクトを変換するクラス
6
8
  */
@@ -19,6 +21,13 @@ export declare const ObjectConverter: {
19
21
  * @returns 拡張エンティティ
20
22
  */
21
23
  convertExtendedEntities(legacy: CustomTweetLegacyObject): ExtendedEntities;
24
+ /**
25
+ * ユーザーのレガシーオブジェクトからユーザーエンティティを変換する
26
+ *
27
+ * @param legacy ユーザーのレガシーオブジェクト
28
+ * @returns ユーザーエンティティ
29
+ */
30
+ convertUserEntities(legacy: CustomUserLegacyObject): UserEntities;
22
31
  /**
23
32
  * ツイートのレガシーオブジェクトから座標を変換する
24
33
  *
@@ -40,5 +49,12 @@ export declare const ObjectConverter: {
40
49
  * @returns Status
41
50
  */
42
51
  convertToStatus(tweet: CustomTweetObject): Status;
52
+ /**
53
+ * GraphQLのレスポンスにあるユーザーオブジェクトをFullUserに変換する。
54
+ *
55
+ * @param response GraphQLのレスポンス
56
+ * @returns FullUser
57
+ */
58
+ convertToFullUser(response: GraphQLGetUserByScreenNameSuccessResponse): FullUser;
43
59
  };
44
60
  //# sourceMappingURL=converter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,KAAK,EACL,MAAM,EACP,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AAGjF;;GAEG;AACH,eAAO,MAAM,eAAe;IAC1B;;;;;OAKG;iCAC0B,uBAAuB,GAAG,QAAQ;IAwF/D;;;;;OAKG;oCAC6B,uBAAuB,GAAG,gBAAgB;IA6C1E;;;;;OAKG;+BACwB,uBAAuB,GAAG,WAAW,GAAG,SAAS;IAW5E;;;;;OAKG;yBACkB,uBAAuB,GAAG,KAAK,GAAG,SAAS;IA6BhE;;;;;OAKG;2BACoB,iBAAiB,GAAG,MAAM;CAuClD,CAAA"}
1
+ {"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,KAAK,EACL,MAAM,EACN,YAAY,EACb,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAA;AAC9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAA;AAEjF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAA;AAC5F,OAAO,EAAE,yCAAyC,EAAE,MAAM,4DAA4D,CAAA;AAEtH;;GAEG;AACH,eAAO,MAAM,eAAe;IAC1B;;;;;OAKG;iCAC0B,uBAAuB,GAAG,QAAQ;IAwF/D;;;;;OAKG;oCAC6B,uBAAuB,GAAG,gBAAgB;IA6C1E;;;;;OAKG;gCACyB,sBAAsB,GAAG,YAAY;IA+BjE;;;;;OAKG;+BACwB,uBAAuB,GAAG,WAAW,GAAG,SAAS;IAW5E;;;;;OAKG;yBACkB,uBAAuB,GAAG,KAAK,GAAG,SAAS;IA6BhE;;;;;OAKG;2BACoB,iBAAiB,GAAG,MAAM;IAwCjD;;;;;OAKG;gCAES,yCAAyC,GAClD,QAAQ;CAiCZ,CAAA"}
package/dist/converter.js CHANGED
@@ -141,6 +141,39 @@ exports.ObjectConverter = {
141
141
  }
142
142
  return extendedEntities;
143
143
  },
144
+ /**
145
+ * ユーザーのレガシーオブジェクトからユーザーエンティティを変換する
146
+ *
147
+ * @param legacy ユーザーのレガシーオブジェクト
148
+ * @returns ユーザーエンティティ
149
+ */
150
+ convertUserEntities(legacy) {
151
+ const entities = {
152
+ description: {},
153
+ };
154
+ for (const url of legacy.entities.description.urls) {
155
+ entities.description.urls = entities.description.urls ?? [];
156
+ entities.description.urls.push({
157
+ display_url: url.display_url,
158
+ expanded_url: url.expanded_url,
159
+ indices: [url.indices[0], url.indices[1]],
160
+ url: url.url,
161
+ });
162
+ }
163
+ if (legacy.entities?.url?.urls) {
164
+ for (const url of legacy.entities.url.urls) {
165
+ entities.url = entities.url ?? {};
166
+ entities.url.urls = entities.url.urls ?? [];
167
+ entities.url.urls.push({
168
+ display_url: url.display_url,
169
+ expanded_url: url.expanded_url,
170
+ indices: [url.indices[0], url.indices[1]],
171
+ url: url.url,
172
+ });
173
+ }
174
+ }
175
+ return entities;
176
+ },
144
177
  /**
145
178
  * ツイートのレガシーオブジェクトから座標を変換する
146
179
  *
@@ -220,5 +253,43 @@ exports.ObjectConverter = {
220
253
  place: exports.ObjectConverter.convertPlace(legacy),
221
254
  };
222
255
  },
256
+ /**
257
+ * GraphQLのレスポンスにあるユーザーオブジェクトをFullUserに変換する。
258
+ *
259
+ * @param response GraphQLのレスポンス
260
+ * @returns FullUser
261
+ */
262
+ convertToFullUser(response) {
263
+ const user = response.data.user.result;
264
+ return {
265
+ created_at: user.legacy.created_at,
266
+ default_profile_image: user.legacy.default_profile_image,
267
+ default_profile: user.legacy.default_profile,
268
+ description: user.legacy.description,
269
+ entities: this.convertUserEntities(user.legacy),
270
+ favourites_count: user.legacy.favourites_count,
271
+ followers_count: user.legacy.followers_count,
272
+ friends_count: user.legacy.friends_count,
273
+ id_str: user.rest_id,
274
+ id: Number(user.rest_id),
275
+ listed_count: user.legacy.listed_count,
276
+ location: user.legacy.location,
277
+ name: user.legacy.name,
278
+ profile_banner_url: user.legacy.profile_banner_url,
279
+ profile_image_url_https: user.legacy.profile_image_url_https,
280
+ // @ts-ignore
281
+ protected: user.legacy.protected,
282
+ screen_name: user.legacy.screen_name,
283
+ // @ts-ignore
284
+ status: user.legacy.status,
285
+ statuses_count: user.legacy.statuses_count,
286
+ url: user.legacy.url,
287
+ verified: user.legacy.verified,
288
+ // @ts-ignore
289
+ withheld_in_countries: user.legacy.withheld_in_countries,
290
+ // @ts-ignore
291
+ withheld_scope: user.legacy.withheld_scope,
292
+ };
293
+ },
223
294
  };
224
295
  //# sourceMappingURL=converter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"converter.js","sourceRoot":"","sources":["../src/converter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import { Result } from './utils';
2
+ /**
3
+ * カスタム型定義を生成するクラス
4
+ */
5
+ export declare class CustomTypesGenerator {
6
+ private readonly results;
7
+ private readonly schemaDirectory;
8
+ private readonly typesDirectory;
9
+ /**
10
+ * @param results エンドポイントごとのレスポンス情報
11
+ * @param schemaDirectory スキーマ保存ディレクトリ
12
+ * @param typesDirectory 型定義保存ディレクトリ
13
+ */
14
+ constructor(results: Result[], schemaDirectory: string, typesDirectory: string);
15
+ /**
16
+ * 検索タイムラインツイートモデル(CustomSearchTimelineEntry)のカスタム型定義を生成する
17
+ */
18
+ private runGraphQLSearchTimeline;
19
+ /**
20
+ * ユーザーツイートモデル(CustomUserTweetEntry)のカスタム型定義を生成する
21
+ */
22
+ private runGraphQLUserTweets;
23
+ /**
24
+ * ユーザーいいねツイートモデル(CustomUserLikeTweetEntry)のカスタム型定義を生成する
25
+ */
26
+ private runGraphQLUserLikeTweets;
27
+ private runGraphQLTimelineInstruction;
28
+ /**
29
+ * レスポンスツイートオブジェクト(CustomTweetObject)のカスタム型定義を生成する
30
+ */
31
+ private runTweetObject;
32
+ /**
33
+ * レスポンスツイートレガシーオブジェクト(CustomTweetLegacyObject)のカスタム型定義を生成する
34
+ */
35
+ private runTweetLegacyObject;
36
+ /**
37
+ * レスポンスユーザーレガシーオブジェクト(CustomUserLegacyObject)のカスタム型定義を生成する
38
+ */
39
+ private runUserLegacyObject;
40
+ /**
41
+ * カスタム型定義を、スキーマを元に生成する
42
+ *
43
+ * @param schema スキーマ
44
+ * @param name 型名
45
+ * @param tsDocument 型定義の tsdoc(1 行で記述)
46
+ */
47
+ private generateTypeFromSchema;
48
+ /**
49
+ * カスタム型定義を生成する
50
+ */
51
+ generate(parallel: boolean): Promise<void>;
52
+ }
53
+ //# sourceMappingURL=custom-types-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-types-generator.d.ts","sourceRoot":"","sources":["../../src/generate-types/custom-types-generator.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAE,MAAM,EAAS,MAAM,SAAS,CAAA;AAEvC;;GAEG;AACH,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;IAClC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAQ;IACxC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IAEvC;;;;OAIG;gBAED,OAAO,EAAE,MAAM,EAAE,EACjB,eAAe,EAAE,MAAM,EACvB,cAAc,EAAE,MAAM;IAOxB;;OAEG;YACW,wBAAwB;IA4CtC;;OAEG;YACW,oBAAoB;IA4ClC;;OAEG;YACW,wBAAwB;YA4CxB,6BAA6B;IAgF3C;;OAEG;YACW,cAAc;IA2K5B;;OAEG;YACW,oBAAoB;IAmHlC;;OAEG;YACW,mBAAmB;IA6CjC;;;;;;OAMG;YACW,sBAAsB;IA6BpC;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAqBjD"}
@@ -0,0 +1,394 @@
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
+ exports.CustomTypesGenerator = void 0;
7
+ const node_utils_1 = require("@book000/node-utils");
8
+ const dist_1 = require("genson-js/dist");
9
+ const json_schema_to_typescript_1 = require("json-schema-to-typescript");
10
+ const node_path_1 = require("node:path");
11
+ const node_fs_1 = __importDefault(require("node:fs"));
12
+ const utils_1 = require("./utils");
13
+ /**
14
+ * カスタム型定義を生成するクラス
15
+ */
16
+ class CustomTypesGenerator {
17
+ /**
18
+ * @param results エンドポイントごとのレスポンス情報
19
+ * @param schemaDirectory スキーマ保存ディレクトリ
20
+ * @param typesDirectory 型定義保存ディレクトリ
21
+ */
22
+ constructor(results, schemaDirectory, typesDirectory) {
23
+ this.results = results;
24
+ this.schemaDirectory = schemaDirectory;
25
+ this.typesDirectory = typesDirectory;
26
+ }
27
+ /**
28
+ * 検索タイムラインツイートモデル(CustomSearchTimelineEntry)のカスタム型定義を生成する
29
+ */
30
+ async runGraphQLSearchTimeline() {
31
+ const results = this.results.filter((result) => result.type === 'graphql' &&
32
+ result.name === 'SearchTimeline' &&
33
+ result.method === 'GET' &&
34
+ result.statusCode === '200');
35
+ if (results.length === 0) {
36
+ return;
37
+ }
38
+ const paths = results.flatMap((result) => result.paths);
39
+ let schema;
40
+ for (const path of paths) {
41
+ const response = JSON.parse(node_fs_1.default.readFileSync(path, 'utf8'));
42
+ const entries = response.data.search_by_raw_query.search_timeline.timeline.instructions
43
+ .filter((instruction) => instruction.type === 'TimelineAddEntries' && instruction.entries)
44
+ .flatMap((instruction) => instruction.entries?.filter((entry) => entry.entryId.startsWith('tweet-')));
45
+ const fileSchema = (0, dist_1.createCompoundSchema)(entries);
46
+ schema = schema ? (0, dist_1.mergeSchemas)([schema, fileSchema]) : fileSchema;
47
+ }
48
+ if (!schema) {
49
+ return;
50
+ }
51
+ await this.generateTypeFromSchema(schema, 'CustomSearchTimelineEntry', '検索タイムラインツイートモデル');
52
+ }
53
+ /**
54
+ * ユーザーツイートモデル(CustomUserTweetEntry)のカスタム型定義を生成する
55
+ */
56
+ async runGraphQLUserTweets() {
57
+ const results = this.results.filter((result) => result.type === 'graphql' &&
58
+ result.name === 'UserTweets' &&
59
+ result.method === 'GET' &&
60
+ result.statusCode === '200');
61
+ if (results.length === 0) {
62
+ return;
63
+ }
64
+ const paths = results.flatMap((result) => result.paths);
65
+ let schema;
66
+ for (const path of paths) {
67
+ const response = JSON.parse(node_fs_1.default.readFileSync(path, 'utf8'));
68
+ const entries = response.data.user.result.timeline_v2.timeline.instructions
69
+ .filter((instruction) => instruction.type === 'TimelineAddEntries' && instruction.entries)
70
+ .flatMap((instruction) => instruction.entries?.filter((entry) => entry.entryId.startsWith('tweet-')));
71
+ const fileSchema = (0, dist_1.createCompoundSchema)(entries);
72
+ schema = schema ? (0, dist_1.mergeSchemas)([schema, fileSchema]) : fileSchema;
73
+ }
74
+ if (!schema) {
75
+ return;
76
+ }
77
+ await this.generateTypeFromSchema(schema, 'CustomUserTweetEntry', 'ユーザーツイートモデル');
78
+ }
79
+ /**
80
+ * ユーザーいいねツイートモデル(CustomUserLikeTweetEntry)のカスタム型定義を生成する
81
+ */
82
+ async runGraphQLUserLikeTweets() {
83
+ const results = this.results.filter((result) => result.type === 'graphql' &&
84
+ result.name === 'Likes' &&
85
+ result.method === 'GET' &&
86
+ result.statusCode === '200');
87
+ if (results.length === 0) {
88
+ return;
89
+ }
90
+ const paths = results.flatMap((result) => result.paths);
91
+ let schema;
92
+ for (const path of paths) {
93
+ const response = JSON.parse(node_fs_1.default.readFileSync(path, 'utf8'));
94
+ const entries = response.data.user.result.timeline_v2.timeline.instructions
95
+ .filter((instruction) => instruction.type === 'TimelineAddEntries' && instruction.entries)
96
+ .flatMap((instruction) => instruction.entries?.filter((entry) => entry.entryId.startsWith('tweet-')));
97
+ const fileSchema = (0, dist_1.createCompoundSchema)(entries);
98
+ schema = schema ? (0, dist_1.mergeSchemas)([schema, fileSchema]) : fileSchema;
99
+ }
100
+ if (!schema) {
101
+ return;
102
+ }
103
+ await this.generateTypeFromSchema(schema, 'CustomUserLikeTweetEntry', 'ユーザーいいねツイートエントリモデル');
104
+ }
105
+ async runGraphQLTimelineInstruction() {
106
+ const homeTimelineResults = this.results.filter((result) => result.type === 'graphql' &&
107
+ result.name === 'HomeTimeline' &&
108
+ result.method === 'GET' &&
109
+ result.statusCode === '200');
110
+ const homeLatestTimelineResults = this.results.filter((result) => result.type === 'graphql' &&
111
+ result.name === 'HomeLatestTimeline' &&
112
+ result.method === 'GET' &&
113
+ result.statusCode === '200');
114
+ if (homeTimelineResults.length === 0 &&
115
+ homeLatestTimelineResults.length === 0) {
116
+ return;
117
+ }
118
+ const hometimelinePaths = homeTimelineResults.flatMap((result) => result.paths);
119
+ const homeLatestTimelinePaths = homeLatestTimelineResults.flatMap((result) => result.paths);
120
+ let schema;
121
+ for (const path of hometimelinePaths) {
122
+ const response = JSON.parse(node_fs_1.default.readFileSync(path, 'utf8'));
123
+ const entries = response.data.home.home_timeline_urt.instructions
124
+ .filter((instruction) => instruction.type === 'TimelineAddEntries' && instruction.entries)
125
+ .flatMap((instruction) => instruction.entries?.filter((entry) => entry.entryId.startsWith('tweet-')));
126
+ const fileSchema = (0, dist_1.createCompoundSchema)(entries);
127
+ schema = schema ? (0, dist_1.mergeSchemas)([schema, fileSchema]) : fileSchema;
128
+ }
129
+ for (const path of homeLatestTimelinePaths) {
130
+ const response = JSON.parse(node_fs_1.default.readFileSync(path, 'utf8'));
131
+ const instructions = response.data.home.home_timeline_urt.instructions
132
+ .filter((instruction) => instruction.type === 'TimelineAddEntries' && instruction.entries)
133
+ .flatMap((instruction) => instruction.entries?.filter((entry) => entry.entryId.startsWith('tweet-')));
134
+ const fileSchema = (0, dist_1.createCompoundSchema)(instructions);
135
+ schema = schema ? (0, dist_1.mergeSchemas)([schema, fileSchema]) : fileSchema;
136
+ }
137
+ if (!schema) {
138
+ return;
139
+ }
140
+ await this.generateTypeFromSchema(schema, 'CustomTimelineTweetEntry', 'ホームタイムラインツイートエントリモデル');
141
+ }
142
+ // --- twitter-d 変換用オブジェクト
143
+ /**
144
+ * レスポンスツイートオブジェクト(CustomTweetObject)のカスタム型定義を生成する
145
+ */
146
+ async runTweetObject() {
147
+ // 各レスポンスからツイートオブジェクトを抽出
148
+ const schemas = [
149
+ // HomeTimeline
150
+ this.results
151
+ .filter((result) => result.type === 'graphql' &&
152
+ result.name === 'HomeTimeline' &&
153
+ result.method === 'GET' &&
154
+ result.statusCode === '200')
155
+ .flatMap((result) => result.paths)
156
+ .flatMap((path) => {
157
+ const response = JSON.parse(node_fs_1.default.readFileSync(path, 'utf8'));
158
+ return response.data.home.home_timeline_urt.instructions
159
+ .filter((instruction) => instruction.type === 'TimelineAddEntries' && instruction.entries)
160
+ .flatMap((instruction) => instruction.entries?.filter((entry) => entry.entryId.startsWith('tweet-')));
161
+ })
162
+ .map((entry) => {
163
+ return entry.content.itemContent
164
+ .tweet_results.result;
165
+ })
166
+ .filter((entry) => !!entry)
167
+ .map((entry) => (0, dist_1.createSchema)(entry)),
168
+ // HomeLatestTimeline
169
+ this.results
170
+ .filter((result) => result.type === 'graphql' &&
171
+ result.name === 'HomeLatestTimeline' &&
172
+ result.method === 'GET' &&
173
+ result.statusCode === '200')
174
+ .flatMap((result) => result.paths)
175
+ .flatMap((path) => {
176
+ const response = JSON.parse(node_fs_1.default.readFileSync(path, 'utf8'));
177
+ return response.data.home.home_timeline_urt.instructions
178
+ .filter((instruction) => instruction.type === 'TimelineAddEntries' && instruction.entries)
179
+ .flatMap((instruction) => instruction.entries?.filter((entry) => entry.entryId.startsWith('tweet-')));
180
+ })
181
+ .map((entry) => {
182
+ return entry.content.itemContent
183
+ .tweet_results.result;
184
+ })
185
+ .filter((entry) => !!entry)
186
+ .map((entry) => (0, dist_1.createSchema)(entry)),
187
+ // SearchTimeline
188
+ this.results
189
+ .filter((result) => result.type === 'graphql' &&
190
+ result.name === 'SearchTimeline' &&
191
+ result.method === 'GET' &&
192
+ result.statusCode === '200')
193
+ .flatMap((result) => result.paths)
194
+ .flatMap((path) => {
195
+ const response = JSON.parse(node_fs_1.default.readFileSync(path, 'utf8'));
196
+ return response.data.search_by_raw_query.search_timeline.timeline.instructions
197
+ .filter((instruction) => instruction.type === 'TimelineAddEntries' && instruction.entries)
198
+ .flatMap((instruction) => instruction.entries?.filter((entry) => entry.entryId.startsWith('tweet-')));
199
+ })
200
+ .map((entry) => {
201
+ return entry.content.itemContent
202
+ .tweet_results.result;
203
+ })
204
+ .filter((entry) => !!entry)
205
+ .map((entry) => (0, dist_1.createSchema)(entry)),
206
+ // UserTweets
207
+ this.results
208
+ .filter((result) => result.type === 'graphql' &&
209
+ result.name === 'UserTweets' &&
210
+ result.method === 'GET' &&
211
+ result.statusCode === '200')
212
+ .flatMap((result) => result.paths)
213
+ .flatMap((path) => {
214
+ const response = JSON.parse(node_fs_1.default.readFileSync(path, 'utf8'));
215
+ return response.data.user.result.timeline_v2.timeline.instructions
216
+ .filter((instruction) => instruction.type === 'TimelineAddEntries' && instruction.entries)
217
+ .flatMap((instruction) => instruction.entries?.filter((entry) => entry.entryId.startsWith('tweet-')));
218
+ })
219
+ .map((entry) => {
220
+ return entry.content.itemContent
221
+ .tweet_results.result;
222
+ })
223
+ .filter((entry) => !!entry)
224
+ .map((entry) => (0, dist_1.createSchema)(entry)),
225
+ // Likes
226
+ this.results
227
+ .filter((result) => result.type === 'graphql' &&
228
+ result.name === 'Likes' &&
229
+ result.method === 'GET' &&
230
+ result.statusCode === '200')
231
+ .flatMap((result) => result.paths)
232
+ .flatMap((path) => {
233
+ const response = JSON.parse(node_fs_1.default.readFileSync(path, 'utf8'));
234
+ return response.data.user.result.timeline_v2.timeline.instructions
235
+ .filter((instruction) => instruction.type === 'TimelineAddEntries' && instruction.entries)
236
+ .flatMap((instruction) => instruction.entries?.filter((entry) => entry.entryId.startsWith('tweet-')));
237
+ })
238
+ .map((entry) => {
239
+ return entry.content.itemContent
240
+ .tweet_results.result;
241
+ })
242
+ .filter((entry) => !!entry)
243
+ .map((entry) => (0, dist_1.createSchema)(entry)),
244
+ ].flat();
245
+ await this.generateTypeFromSchema((0, dist_1.mergeSchemas)(schemas), 'CustomTweetObject', 'レスポンスツイートオブジェクト');
246
+ }
247
+ /**
248
+ * レスポンスツイートレガシーオブジェクト(CustomTweetLegacyObject)のカスタム型定義を生成する
249
+ */
250
+ async runTweetLegacyObject() {
251
+ // 各レスポンスからレガシーツイートオブジェクトを抽出
252
+ const schemas = [
253
+ // SearchTimeline
254
+ this.results
255
+ .filter((result) => result.type === 'graphql' &&
256
+ result.name === 'SearchTimeline' &&
257
+ result.method === 'GET' &&
258
+ result.statusCode === '200')
259
+ .flatMap((result) => result.paths)
260
+ .flatMap((path) => {
261
+ const response = JSON.parse(node_fs_1.default.readFileSync(path, 'utf8'));
262
+ return response.data.search_by_raw_query.search_timeline.timeline.instructions
263
+ .filter((instruction) => instruction.type === 'TimelineAddEntries' && instruction.entries)
264
+ .flatMap((instruction) => instruction.entries?.filter((entry) => entry.entryId.startsWith('tweet-')));
265
+ })
266
+ .map((entry) => {
267
+ return entry.content.itemContent
268
+ .tweet_results.result.legacy;
269
+ })
270
+ .map((entry) => (0, dist_1.createSchema)(entry)),
271
+ // UserTweets: tweet_results.result.legacy
272
+ this.results
273
+ .filter((result) => result.type === 'graphql' &&
274
+ result.name === 'UserTweets' &&
275
+ result.method === 'GET' &&
276
+ result.statusCode === '200')
277
+ .flatMap((result) => result.paths)
278
+ .flatMap((path) => {
279
+ const response = JSON.parse(node_fs_1.default.readFileSync(path, 'utf8'));
280
+ return response.data.user.result.timeline_v2.timeline.instructions
281
+ .filter((instruction) => instruction.type === 'TimelineAddEntries' && instruction.entries)
282
+ .flatMap((instruction) => instruction.entries?.filter((entry) => entry.entryId.startsWith('tweet-')));
283
+ })
284
+ .filter((entry) => entry.content.itemContent.tweet_results
285
+ .result.legacy !== undefined)
286
+ .map((entry) => {
287
+ return entry.content.itemContent
288
+ .tweet_results.result.legacy;
289
+ })
290
+ .map((entry) => (0, dist_1.createSchema)(entry)),
291
+ // UserTweets: tweet_results.result.tweet?.legacy
292
+ this.results
293
+ .filter((result) => result.type === 'graphql' &&
294
+ result.name === 'UserTweets' &&
295
+ result.method === 'GET' &&
296
+ result.statusCode === '200')
297
+ .flatMap((result) => result.paths)
298
+ .flatMap((path) => {
299
+ const response = JSON.parse(node_fs_1.default.readFileSync(path, 'utf8'));
300
+ return response.data.user.result.timeline_v2.timeline.instructions
301
+ .filter((instruction) => instruction.type === 'TimelineAddEntries' && instruction.entries)
302
+ .flatMap((instruction) => instruction.entries?.filter((entry) => entry.entryId.startsWith('tweet-')));
303
+ })
304
+ .filter((entry) => entry.content.itemContent.tweet_results
305
+ .result.tweet?.legacy !== undefined)
306
+ .map((entry) => {
307
+ return entry.content.itemContent
308
+ .tweet_results.result.tweet?.legacy;
309
+ })
310
+ .map((entry) => (0, dist_1.createSchema)(entry)),
311
+ ].flat();
312
+ await this.generateTypeFromSchema((0, dist_1.mergeSchemas)(schemas), 'CustomTweetLegacyObject', 'レスポンスツイートレガシーオブジェクト');
313
+ }
314
+ /**
315
+ * レスポンスユーザーレガシーオブジェクト(CustomUserLegacyObject)のカスタム型定義を生成する
316
+ */
317
+ async runUserLegacyObject() {
318
+ // 各レスポンスからレガシーユーザーオブジェクトを抽出
319
+ const schemas = [
320
+ // UserByRestId
321
+ this.results
322
+ .filter((result) => result.type === 'graphql' &&
323
+ result.name === 'UserByRestId' &&
324
+ result.method === 'GET' &&
325
+ result.statusCode === '200')
326
+ .flatMap((result) => result.paths)
327
+ .flatMap((path) => {
328
+ const response = JSON.parse(node_fs_1.default.readFileSync(path, 'utf8'));
329
+ return response.data.user.result.legacy;
330
+ })
331
+ .map((entry) => (0, dist_1.createSchema)(entry)),
332
+ // UserByScreenName
333
+ this.results
334
+ .filter((result) => result.type === 'graphql' &&
335
+ result.name === 'UserByScreenName' &&
336
+ result.method === 'GET' &&
337
+ result.statusCode === '200')
338
+ .flatMap((result) => result.paths)
339
+ .flatMap((path) => {
340
+ const response = JSON.parse(node_fs_1.default.readFileSync(path, 'utf8'));
341
+ return response.data.user.result.legacy;
342
+ })
343
+ .map((entry) => (0, dist_1.createSchema)(entry)),
344
+ ].flat();
345
+ await this.generateTypeFromSchema((0, dist_1.mergeSchemas)(schemas), 'CustomUserLegacyObject', 'レスポンスユーザーレガシーオブジェクト');
346
+ }
347
+ /**
348
+ * カスタム型定義を、スキーマを元に生成する
349
+ *
350
+ * @param schema スキーマ
351
+ * @param name 型名
352
+ * @param tsDocument 型定義の tsdoc(1 行で記述)
353
+ */
354
+ async generateTypeFromSchema(schema, name, tsDocument) {
355
+ const logger = node_utils_1.Logger.configure('CustomTypeGenerator.generateTypeFromSchema');
356
+ if (!schema) {
357
+ throw new Error('No schema found');
358
+ }
359
+ const kebabName = name.replaceAll(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
360
+ const schemaPath = (0, node_path_1.join)(this.schemaDirectory, 'custom', `${kebabName}.json`);
361
+ const typesPath = (0, node_path_1.join)(this.typesDirectory, 'custom', `${kebabName}.ts`);
362
+ node_fs_1.default.mkdirSync((0, node_path_1.dirname)(schemaPath), { recursive: true });
363
+ node_fs_1.default.writeFileSync(schemaPath, JSON.stringify(schema, null, 2));
364
+ node_fs_1.default.mkdirSync((0, node_path_1.dirname)(typesPath), { recursive: true });
365
+ const types = await (0, json_schema_to_typescript_1.compile)(schema, name, utils_1.Utils.getCompileOptions(tsDocument));
366
+ node_fs_1.default.writeFileSync(typesPath, types);
367
+ logger.info(`📝 ${name}`);
368
+ }
369
+ /**
370
+ * カスタム型定義を生成する
371
+ */
372
+ async generate(parallel) {
373
+ const generators = [
374
+ this.runGraphQLSearchTimeline(),
375
+ this.runGraphQLUserTweets(),
376
+ this.runGraphQLUserLikeTweets(),
377
+ this.runGraphQLTimelineInstruction(),
378
+ this.runTweetObject(),
379
+ // twitter-d 変換用オブジェクト
380
+ this.runTweetLegacyObject(),
381
+ this.runUserLegacyObject(),
382
+ ];
383
+ if (parallel) {
384
+ await Promise.all(generators);
385
+ }
386
+ else {
387
+ for (const generator of generators) {
388
+ await generator;
389
+ }
390
+ }
391
+ }
392
+ }
393
+ exports.CustomTypesGenerator = CustomTypesGenerator;
394
+ //# sourceMappingURL=custom-types-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-types-generator.js","sourceRoot":"","sources":["../../src/generate-types/custom-types-generator.ts"],"names":[],"mappings":"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"}