@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.
- package/dist/converter.d.ts +17 -1
- package/dist/converter.d.ts.map +1 -1
- package/dist/converter.js +71 -0
- package/dist/converter.js.map +1 -1
- package/dist/generate-types/custom-types-generator.d.ts +53 -0
- package/dist/generate-types/custom-types-generator.d.ts.map +1 -0
- package/dist/generate-types/custom-types-generator.js +394 -0
- package/dist/generate-types/custom-types-generator.js.map +1 -0
- package/dist/generate-types/endpoint-type-generator.d.ts +66 -0
- package/dist/generate-types/endpoint-type-generator.d.ts.map +1 -0
- package/dist/generate-types/endpoint-type-generator.js +187 -0
- package/dist/generate-types/endpoint-type-generator.js.map +1 -0
- package/dist/generate-types/types-generator.d.ts +49 -0
- package/dist/generate-types/types-generator.d.ts.map +1 -0
- package/dist/generate-types/types-generator.js +89 -0
- package/dist/generate-types/types-generator.js.map +1 -0
- package/dist/generate-types/utils.d.ts +95 -0
- package/dist/generate-types/utils.d.ts.map +1 -0
- package/dist/generate-types/utils.js +160 -0
- package/dist/generate-types/utils.js.map +1 -0
- package/dist/generate-types.js +41 -741
- package/dist/generate-types.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/models/responses/custom/custom-user-legacy-object.d.ts +55 -0
- package/dist/models/responses/custom/custom-user-legacy-object.d.ts.map +1 -0
- package/dist/models/responses/custom/custom-user-legacy-object.js +4 -0
- package/dist/models/responses/custom/custom-user-legacy-object.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/twitter.d.ts +9 -2
- package/dist/twitter.d.ts.map +1 -1
- package/dist/twitter.js +14 -1
- package/dist/twitter.js.map +1 -1
- package/dist/twitter.test.js +8 -1
- package/dist/twitter.test.js.map +1 -1
- 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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"}
|