@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
@@ -0,0 +1,160 @@
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.Utils = void 0;
7
+ const node_path_1 = require("node:path");
8
+ const node_fs_1 = __importDefault(require("node:fs"));
9
+ /**
10
+ * ユーティリティ
11
+ */
12
+ exports.Utils = {
13
+ /**
14
+ * ディレクトリ内にあるディレクトリ群を取得する
15
+ *
16
+ * @param parentDirectory ディレクトリを取得する親ディレクトリパス
17
+ * @param baseDirectories ディレクトリを取得する子ディレクトリパス群
18
+ * @returns ディレクトリ群
19
+ */
20
+ getDirectories(parentDirectory, baseDirectories = []) {
21
+ const baseDirectory = (0, node_path_1.join)(parentDirectory, ...baseDirectories);
22
+ return node_fs_1.default
23
+ .readdirSync(baseDirectory)
24
+ .filter((directory) => !['.', '..'].includes(directory) &&
25
+ node_fs_1.default.statSync(`${baseDirectory}/${directory}`).isDirectory());
26
+ },
27
+ /**
28
+ * ディレクトリ内にある JSON ファイル群を取得する
29
+ *
30
+ * @param parentDirectory ファイルを取得する親ディレクトリパス
31
+ * @param baseDirectories ファイルを取得するディレクトリパス
32
+ * @returns JSON ファイル群
33
+ */
34
+ getJSONFiles(parentDirectory, baseDirectories = []) {
35
+ const baseDirectory = (0, node_path_1.join)(parentDirectory, ...baseDirectories);
36
+ return node_fs_1.default
37
+ .readdirSync(baseDirectory)
38
+ .filter((file) => !['.', '..'].includes(file) &&
39
+ node_fs_1.default.statSync((0, node_path_1.join)(baseDirectory, file)).isFile() &&
40
+ file.endsWith('.json'))
41
+ .map((file) => (0, node_path_1.join)(baseDirectory, file));
42
+ },
43
+ /**
44
+ * レスポンスデバッグ出力 JSON ファイルを元に、エンドポイントごとの情報をまとめて取得する
45
+ *
46
+ * @returns エンドポイントごとの情報
47
+ */
48
+ getEndPointResponses(debugOutputDirectory) {
49
+ const results = [];
50
+ for (const type of this.getDirectories(debugOutputDirectory)) {
51
+ for (const name of this.getDirectories(debugOutputDirectory, [type])) {
52
+ for (const method of this.getDirectories(debugOutputDirectory, [
53
+ type,
54
+ name,
55
+ ])) {
56
+ for (const statusCode of this.getDirectories(debugOutputDirectory, [
57
+ type,
58
+ name,
59
+ method,
60
+ ])) {
61
+ results.push({
62
+ type,
63
+ name,
64
+ method,
65
+ statusCode,
66
+ paths: this.getJSONFiles(debugOutputDirectory, [
67
+ type,
68
+ name,
69
+ method,
70
+ statusCode,
71
+ ]),
72
+ });
73
+ }
74
+ }
75
+ }
76
+ }
77
+ return results;
78
+ },
79
+ /**
80
+ * レスポンスの型定義名を取得する
81
+ *
82
+ * @param rawType リクエストの種別(graphql または rest)
83
+ * @param rawName レスポンスの名前
84
+ * @param rawMethod レスポンスの HTTP メソッド
85
+ * @param rawStatus レスポンスのステータスコード
86
+ * @returns 型定義名
87
+ */
88
+ getName(rawType, rawName, rawMethod, rawStatus) {
89
+ const type = rawType.toLocaleLowerCase() === 'graphql'
90
+ ? 'GraphQL'
91
+ : rawType.toLocaleLowerCase() === 'rest'
92
+ ? 'REST'
93
+ : null;
94
+ if (!type) {
95
+ throw new Error(`Invalid type: ${rawType}`);
96
+ }
97
+ const method = this.toCamelCase(rawMethod);
98
+ const name = this.capitalize(rawName);
99
+ const status = rawStatus === null ? '' : rawStatus.startsWith('2') ? 'Success' : 'Error';
100
+ return `${type}${method}${name}${status}Response`;
101
+ },
102
+ /**
103
+ * キャメルケースに変換する
104
+ *
105
+ * @param string 変換する文字列
106
+ * @returns キャメルケース変換後の文字列
107
+ */
108
+ toCamelCase(string) {
109
+ return string.charAt(0).toUpperCase() + string.slice(1).toLowerCase();
110
+ },
111
+ /**
112
+ * 先頭文字を大文字に変換する
113
+ *
114
+ * @param string 変換する文字列
115
+ * @returns 変換後の文字列
116
+ */
117
+ capitalize(string) {
118
+ return string.charAt(0).toUpperCase() + string.slice(1);
119
+ },
120
+ /**
121
+ * ファイル名を取得する
122
+ *
123
+ * @param rawType リクエストの種別(graphql または rest)
124
+ * @param rawName レスポンスの名前
125
+ * @param rawMethod レスポンスの HTTP メソッド
126
+ * @param rawStatus レスポンスのステータスコード
127
+ * @returns ファイル名
128
+ */
129
+ getFilename(rawType, rawName, rawMethod, rawStatus) {
130
+ const type = rawType.toLowerCase();
131
+ const method = rawMethod.toLowerCase();
132
+ const name = rawName.replaceAll(/([a-z])([A-Z])/g, '$1-$2').toLowerCase();
133
+ const status = rawStatus.startsWith('2') ? '-success' : '-error';
134
+ return `${type}/${method}/${name}${status}`;
135
+ },
136
+ /**
137
+ * json-schema-to-typescript のコンパイルオプションを作成・取得する
138
+ *
139
+ * @param tsDocument コンパイル結果の先頭に追加する tsdoc
140
+ * @returns コンパイルオプション
141
+ */
142
+ getCompileOptions(tsDocument) {
143
+ const compileOptions = {
144
+ bannerComment: '/* eslint-disable @typescript-eslint/ban-types */',
145
+ additionalProperties: false,
146
+ enableConstEnums: true,
147
+ strictIndexSignatures: true,
148
+ style: {
149
+ semi: false,
150
+ singleQuote: true,
151
+ },
152
+ unknownAny: true,
153
+ };
154
+ if (tsDocument) {
155
+ compileOptions.bannerComment = `${compileOptions.bannerComment}\n\n/** ${tsDocument} */`;
156
+ }
157
+ return compileOptions;
158
+ },
159
+ };
160
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/generate-types/utils.ts"],"names":[],"mappings":"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"}