typedapi-client-helpers 0.2.0 → 0.3.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/CHANGELOG.md +68 -0
- package/LICENSE +21 -0
- package/README.md +221 -220
- package/dist/cjs/httpClient.js +258 -0
- package/dist/cjs/httpClient.js.map +1 -0
- package/dist/cjs/index.js +32 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/interfaces/ApiResult.js +3 -0
- package/dist/cjs/interfaces/ApiResult.js.map +1 -0
- package/dist/cjs/interfaces/Filter.js +3 -0
- package/dist/cjs/interfaces/Filter.js.map +1 -0
- package/dist/cjs/interfaces/SortType.js +3 -0
- package/dist/cjs/interfaces/SortType.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/types/ApiCallOptions.js +3 -0
- package/dist/cjs/types/ApiCallOptions.js.map +1 -0
- package/dist/cjs/types/ApiMethodArguments.js +3 -0
- package/dist/cjs/types/ApiMethodArguments.js.map +1 -0
- package/dist/cjs/types/ApiMethodOptions.js +3 -0
- package/dist/cjs/types/ApiMethodOptions.js.map +1 -0
- package/dist/cjs/types/ApiMethodTypes.js +3 -0
- package/dist/cjs/types/ApiMethodTypes.js.map +1 -0
- package/dist/cjs/types/HttpResponse.js +3 -0
- package/dist/cjs/types/HttpResponse.js.map +1 -0
- package/dist/cjs/types/httpClientTypes.js +3 -0
- package/dist/cjs/types/httpClientTypes.js.map +1 -0
- package/dist/cjs/utils/SortTypeFromSortDirection.js +43 -0
- package/dist/cjs/utils/SortTypeFromSortDirection.js.map +1 -0
- package/dist/cjs/utils/buildQuery.js +96 -0
- package/dist/cjs/utils/buildQuery.js.map +1 -0
- package/dist/cjs/utils/extractArgsCallbacksAndParams.js +51 -0
- package/dist/cjs/utils/extractArgsCallbacksAndParams.js.map +1 -0
- package/dist/cjs/utils/extractArgsToastsAndParams.js +49 -0
- package/dist/cjs/utils/extractArgsToastsAndParams.js.map +1 -0
- package/dist/cjs/utils/handleApiResponse.js +124 -0
- package/dist/cjs/utils/handleApiResponse.js.map +1 -0
- package/dist/cjs/utils/toFormData.js +58 -0
- package/dist/cjs/utils/toFormData.js.map +1 -0
- package/dist/cjs/utils/wireMapping.js +123 -0
- package/dist/cjs/utils/wireMapping.js.map +1 -0
- package/dist/esm/httpClient.js +251 -0
- package/dist/esm/httpClient.js.map +1 -0
- package/dist/esm/index.js +16 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interfaces/ApiResult.js +2 -0
- package/dist/esm/interfaces/ApiResult.js.map +1 -0
- package/dist/esm/interfaces/Filter.js +2 -0
- package/dist/esm/interfaces/Filter.js.map +1 -0
- package/dist/esm/interfaces/SortType.js +2 -0
- package/dist/esm/interfaces/SortType.js.map +1 -0
- package/dist/esm/types/ApiCallOptions.js +2 -0
- package/dist/esm/types/ApiCallOptions.js.map +1 -0
- package/dist/esm/types/ApiMethodArguments.js +2 -0
- package/dist/esm/types/ApiMethodArguments.js.map +1 -0
- package/dist/esm/types/ApiMethodOptions.js +2 -0
- package/dist/esm/types/ApiMethodOptions.js.map +1 -0
- package/dist/esm/types/ApiMethodTypes.js +2 -0
- package/dist/esm/types/ApiMethodTypes.js.map +1 -0
- package/dist/esm/types/HttpResponse.js +2 -0
- package/dist/esm/types/HttpResponse.js.map +1 -0
- package/dist/esm/types/httpClientTypes.js +2 -0
- package/dist/esm/types/httpClientTypes.js.map +1 -0
- package/dist/esm/utils/SortTypeFromSortDirection.js +38 -0
- package/dist/esm/utils/SortTypeFromSortDirection.js.map +1 -0
- package/dist/esm/utils/buildQuery.js +93 -0
- package/dist/esm/utils/buildQuery.js.map +1 -0
- package/dist/esm/utils/extractArgsCallbacksAndParams.js +48 -0
- package/dist/esm/utils/extractArgsCallbacksAndParams.js.map +1 -0
- package/dist/esm/utils/extractArgsToastsAndParams.js +46 -0
- package/dist/esm/utils/extractArgsToastsAndParams.js.map +1 -0
- package/dist/esm/utils/handleApiResponse.js +121 -0
- package/dist/esm/utils/handleApiResponse.js.map +1 -0
- package/dist/esm/utils/toFormData.js +55 -0
- package/dist/esm/utils/toFormData.js.map +1 -0
- package/dist/esm/utils/wireMapping.js +119 -0
- package/dist/esm/utils/wireMapping.js.map +1 -0
- package/dist/types/httpClient.d.ts +63 -0
- package/dist/types/httpClient.d.ts.map +1 -0
- package/dist/types/index.d.ts +16 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/interfaces/ApiResult.d.ts +32 -0
- package/dist/types/interfaces/ApiResult.d.ts.map +1 -0
- package/dist/types/interfaces/Filter.d.ts +31 -0
- package/dist/types/interfaces/Filter.d.ts.map +1 -0
- package/dist/types/interfaces/SortType.d.ts +7 -0
- package/dist/types/interfaces/SortType.d.ts.map +1 -0
- package/dist/types/types/ApiCallOptions.d.ts +26 -0
- package/dist/types/types/ApiCallOptions.d.ts.map +1 -0
- package/dist/types/types/ApiMethodArguments.d.ts +6 -0
- package/dist/types/types/ApiMethodArguments.d.ts.map +1 -0
- package/dist/types/types/ApiMethodOptions.d.ts +8 -0
- package/dist/types/types/ApiMethodOptions.d.ts.map +1 -0
- package/dist/types/types/ApiMethodTypes.d.ts +47 -0
- package/dist/types/types/ApiMethodTypes.d.ts.map +1 -0
- package/dist/types/types/HttpResponse.d.ts +2 -0
- package/dist/types/types/HttpResponse.d.ts.map +1 -0
- package/dist/types/types/httpClientTypes.d.ts +2 -0
- package/dist/types/types/httpClientTypes.d.ts.map +1 -0
- package/dist/types/utils/SortTypeFromSortDirection.d.ts +13 -0
- package/dist/types/utils/SortTypeFromSortDirection.d.ts.map +1 -0
- package/dist/types/utils/buildQuery.d.ts +16 -0
- package/dist/types/utils/buildQuery.d.ts.map +1 -0
- package/dist/types/utils/extractArgsCallbacksAndParams.d.ts +22 -0
- package/dist/types/utils/extractArgsCallbacksAndParams.d.ts.map +1 -0
- package/dist/types/utils/extractArgsToastsAndParams.d.ts +20 -0
- package/dist/types/utils/extractArgsToastsAndParams.d.ts.map +1 -0
- package/dist/types/utils/handleApiResponse.d.ts +11 -0
- package/dist/types/utils/handleApiResponse.d.ts.map +1 -0
- package/dist/types/utils/toFormData.d.ts +10 -0
- package/dist/types/utils/toFormData.d.ts.map +1 -0
- package/dist/types/utils/wireMapping.d.ts +30 -0
- package/dist/types/utils/wireMapping.d.ts.map +1 -0
- package/package.json +90 -82
- package/scripts/build.mjs +74 -0
- package/scripts/generate-api-minimal.mjs +568 -476
- package/scripts/openapi-generator/controller-template.mjs +1 -1
- package/scripts/openapi-generator/index.mjs +357 -113
- package/scripts/openapi-generator/method-template.mjs +201 -244
- package/scripts/openapi-generator/names.mjs +37 -86
- package/scripts/openapi-generator/openapi-utils.mjs +411 -147
- package/scripts/openapi-generator/schema.mjs +518 -238
- package/dist/index.cjs +0 -536
- package/dist/index.d.cts +0 -285
- package/dist/index.d.ts +0 -285
- package/dist/index.js +0 -495
|
@@ -1,78 +1,14 @@
|
|
|
1
1
|
const reservedWords = new Set([
|
|
2
|
-
"abstract",
|
|
3
|
-
"
|
|
4
|
-
"
|
|
5
|
-
"
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"class",
|
|
13
|
-
"const",
|
|
14
|
-
"constructor",
|
|
15
|
-
"continue",
|
|
16
|
-
"debugger",
|
|
17
|
-
"declare",
|
|
18
|
-
"default",
|
|
19
|
-
"delete",
|
|
20
|
-
"do",
|
|
21
|
-
"else",
|
|
22
|
-
"enum",
|
|
23
|
-
"export",
|
|
24
|
-
"extends",
|
|
25
|
-
"false",
|
|
26
|
-
"finally",
|
|
27
|
-
"for",
|
|
28
|
-
"from",
|
|
29
|
-
"function",
|
|
30
|
-
"get",
|
|
31
|
-
"if",
|
|
32
|
-
"implements",
|
|
33
|
-
"import",
|
|
34
|
-
"in",
|
|
35
|
-
"infer",
|
|
36
|
-
"instanceof",
|
|
37
|
-
"interface",
|
|
38
|
-
"is",
|
|
39
|
-
"keyof",
|
|
40
|
-
"let",
|
|
41
|
-
"module",
|
|
42
|
-
"namespace",
|
|
43
|
-
"never",
|
|
44
|
-
"new",
|
|
45
|
-
"null",
|
|
46
|
-
"number",
|
|
47
|
-
"object",
|
|
48
|
-
"of",
|
|
49
|
-
"package",
|
|
50
|
-
"private",
|
|
51
|
-
"protected",
|
|
52
|
-
"public",
|
|
53
|
-
"readonly",
|
|
54
|
-
"require",
|
|
55
|
-
"return",
|
|
56
|
-
"set",
|
|
57
|
-
"static",
|
|
58
|
-
"string",
|
|
59
|
-
"super",
|
|
60
|
-
"switch",
|
|
61
|
-
"symbol",
|
|
62
|
-
"this",
|
|
63
|
-
"throw",
|
|
64
|
-
"true",
|
|
65
|
-
"try",
|
|
66
|
-
"type",
|
|
67
|
-
"typeof",
|
|
68
|
-
"undefined",
|
|
69
|
-
"unique",
|
|
70
|
-
"unknown",
|
|
71
|
-
"var",
|
|
72
|
-
"void",
|
|
73
|
-
"while",
|
|
74
|
-
"with",
|
|
75
|
-
"yield",
|
|
2
|
+
"abstract", "any", "as", "asserts", "async", "await", "boolean", "break",
|
|
3
|
+
"case", "catch", "class", "const", "constructor", "continue", "debugger",
|
|
4
|
+
"declare", "default", "delete", "do", "else", "enum", "export", "extends",
|
|
5
|
+
"false", "finally", "for", "from", "function", "get", "if", "implements",
|
|
6
|
+
"import", "in", "infer", "instanceof", "interface", "is", "keyof", "let",
|
|
7
|
+
"module", "namespace", "never", "new", "null", "number", "object", "of",
|
|
8
|
+
"package", "private", "protected", "public", "readonly", "require", "return",
|
|
9
|
+
"set", "static", "string", "super", "switch", "symbol", "this", "throw",
|
|
10
|
+
"true", "try", "type", "typeof", "undefined", "unique", "unknown", "var",
|
|
11
|
+
"void", "while", "with", "yield",
|
|
76
12
|
]);
|
|
77
13
|
|
|
78
14
|
export function pascalCase(value, fallback = "Anonymous") {
|
|
@@ -86,12 +22,14 @@ export function pascalCase(value, fallback = "Anonymous") {
|
|
|
86
22
|
.map((part) => part.charAt(0).toUpperCase() + part.slice(1))
|
|
87
23
|
.join("");
|
|
88
24
|
|
|
89
|
-
|
|
25
|
+
const resolved = name || fallback;
|
|
26
|
+
return /^[0-9]/.test(resolved) ? `_${resolved}` : resolved;
|
|
90
27
|
}
|
|
91
28
|
|
|
92
29
|
export function camelCase(value, fallback = "value") {
|
|
93
30
|
const pascal = pascalCase(value, pascalCase(fallback));
|
|
94
|
-
|
|
31
|
+
const candidate = pascal.charAt(0).toLowerCase() + pascal.slice(1);
|
|
32
|
+
return sanitizeIdentifier(candidate, fallback);
|
|
95
33
|
}
|
|
96
34
|
|
|
97
35
|
export function lowerFirst(value) {
|
|
@@ -99,22 +37,35 @@ export function lowerFirst(value) {
|
|
|
99
37
|
return text.charAt(0).toLowerCase() + text.slice(1);
|
|
100
38
|
}
|
|
101
39
|
|
|
40
|
+
/**
|
|
41
|
+
* Converts an OpenAPI member name to the public TypeScript member name.
|
|
42
|
+
* Only the first character is lowercased; the remainder is preserved exactly.
|
|
43
|
+
*/
|
|
44
|
+
export function typePropertyName(value) {
|
|
45
|
+
return lowerFirst(value);
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/** Returns a safe bracket-access expression for a generated member. */
|
|
49
|
+
export function propertyAccess(baseExpression, value) {
|
|
50
|
+
return `${baseExpression}[${JSON.stringify(typePropertyName(value))}]`;
|
|
51
|
+
}
|
|
52
|
+
|
|
102
53
|
export function sanitizeIdentifier(value, fallback = "value") {
|
|
103
54
|
let name = String(value ?? "").replace(/[^A-Za-z0-9_$]/g, "_");
|
|
104
55
|
|
|
105
|
-
if (!name)
|
|
106
|
-
|
|
107
|
-
}
|
|
56
|
+
if (!name) name = fallback;
|
|
57
|
+
if (/^[0-9]/.test(name)) name = `_${name}`;
|
|
58
|
+
if (reservedWords.has(name)) name = `${name}_`;
|
|
108
59
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
}
|
|
60
|
+
return name;
|
|
61
|
+
}
|
|
112
62
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
63
|
+
export function operationTypeName(value) {
|
|
64
|
+
return sanitizeIdentifier(pascalCase(value, "Operation"), "Operation");
|
|
65
|
+
}
|
|
116
66
|
|
|
117
|
-
|
|
67
|
+
export function operationMethodName(value) {
|
|
68
|
+
return camelCase(value, "operation");
|
|
118
69
|
}
|
|
119
70
|
|
|
120
71
|
export function propertyKey(value) {
|