@rexeus/typeweaver-types 0.6.5 → 0.7.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.
|
@@ -34,21 +34,25 @@ import type { I<%= entityResponse.name %>Response, <%= entityResponse.name %>Res
|
|
|
34
34
|
<%= ownResponse.header ? `I${ownResponse.name}ResponseHeader` : 'undefined' %>,
|
|
35
35
|
<%= ownResponse.body ? `I${ownResponse.name}ResponseBody` : 'undefined' %>
|
|
36
36
|
> implements I<%= ownResponse.name %>Response {
|
|
37
|
-
public override readonly statusCode
|
|
37
|
+
public override readonly statusCode = HttpStatusCode.<%= ownResponse.statusCodeKey %>;
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
<% if (ownResponse.header || ownResponse.body) { %>
|
|
40
|
+
public constructor(response: Omit<I<%= ownResponse.name %>Response, "statusCode">) {
|
|
40
41
|
super(
|
|
41
|
-
|
|
42
|
+
HttpStatusCode.<%= ownResponse.statusCodeKey %>,
|
|
42
43
|
<%= ownResponse.header ? `response.header` : 'undefined' %>,
|
|
43
44
|
<%= ownResponse.body ? `response.body` : 'undefined' %>,
|
|
44
45
|
);
|
|
45
|
-
|
|
46
|
-
if(response.statusCode !== HttpStatusCode.<%= ownResponse.statusCodeKey %>) {
|
|
47
|
-
throw new Error(`Invalid status code: '${response.statusCode}' for <%= ownResponse.name %>Response`);
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
this.statusCode = response.statusCode;
|
|
51
46
|
}
|
|
47
|
+
<% } else { %>
|
|
48
|
+
public constructor() {
|
|
49
|
+
super(
|
|
50
|
+
HttpStatusCode.<%= ownResponse.statusCodeKey %>,
|
|
51
|
+
undefined,
|
|
52
|
+
undefined,
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
<% } %>
|
|
52
56
|
}
|
|
53
57
|
<% } %>
|
|
54
58
|
|
|
@@ -89,7 +89,11 @@ export class <%= pascalCaseOperationId %>ResponseValidator extends ResponseValid
|
|
|
89
89
|
return result;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
+
<% if (response.hasHeader || response.hasBody) { %>
|
|
92
93
|
return { isValid: true, data: new <%= response.name %>Response(result.data as I<%= response.name %>Response) };
|
|
94
|
+
<% } else { %>
|
|
95
|
+
return { isValid: true, data: new <%= response.name %>Response() };
|
|
96
|
+
<% } %>
|
|
93
97
|
}
|
|
94
98
|
<% } %>
|
|
95
99
|
}
|
|
@@ -26,21 +26,25 @@ export class <%= pascalCaseName %>Response extends HttpResponse<
|
|
|
26
26
|
<%= sharedResponse.header ? `I${pascalCaseName}ResponseHeader` : 'undefined' %>,
|
|
27
27
|
<%= sharedResponse.body ? `I${pascalCaseName}ResponseBody` : 'undefined' %>
|
|
28
28
|
> implements I<%= pascalCaseName %>Response {
|
|
29
|
-
public override readonly statusCode
|
|
29
|
+
public override readonly statusCode = HttpStatusCode.<%= httpStatusCode[sharedResponse.statusCode] %>;
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
<% if (sharedResponse.header || sharedResponse.body) { %>
|
|
32
|
+
public constructor(response: Omit<I<%= pascalCaseName %>Response, "statusCode">) {
|
|
32
33
|
super(
|
|
33
|
-
|
|
34
|
+
HttpStatusCode.<%= httpStatusCode[sharedResponse.statusCode] %>,
|
|
34
35
|
<%= sharedResponse.header ? `response.header` : 'undefined' %>,
|
|
35
36
|
<%= sharedResponse.body ? `response.body` : 'undefined' %>,
|
|
36
37
|
);
|
|
37
|
-
|
|
38
|
-
if (response.statusCode !== HttpStatusCode.<%= httpStatusCode[sharedResponse.statusCode] %>) {
|
|
39
|
-
throw new Error(`Invalid status code: '${response.statusCode}' for <%= pascalCaseName %>Response`);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
this.statusCode = response.statusCode;
|
|
43
38
|
}
|
|
39
|
+
<% } else { %>
|
|
40
|
+
public constructor() {
|
|
41
|
+
super(
|
|
42
|
+
HttpStatusCode.<%= httpStatusCode[sharedResponse.statusCode] %>,
|
|
43
|
+
undefined,
|
|
44
|
+
undefined,
|
|
45
|
+
);
|
|
46
|
+
}
|
|
47
|
+
<% } %>
|
|
44
48
|
}
|
|
45
49
|
|
|
46
50
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rexeus/typeweaver-types",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Generates request and response types plus validators aligned with your API contract. Powered by Typeweaver 🧵✨",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -47,18 +47,18 @@
|
|
|
47
47
|
},
|
|
48
48
|
"homepage": "https://github.com/rexeus/typeweaver#readme",
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@rexeus/typeweaver-core": "^0.
|
|
51
|
-
"@rexeus/typeweaver-gen": "^0.
|
|
50
|
+
"@rexeus/typeweaver-core": "^0.7.0",
|
|
51
|
+
"@rexeus/typeweaver-gen": "^0.7.0"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"oxc-transform": "^0.115.0",
|
|
55
55
|
"test-utils": "file:../test-utils",
|
|
56
|
-
"@rexeus/typeweaver-core": "^0.
|
|
57
|
-
"@rexeus/typeweaver-gen": "^0.
|
|
56
|
+
"@rexeus/typeweaver-core": "^0.7.0",
|
|
57
|
+
"@rexeus/typeweaver-gen": "^0.7.0"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
60
|
"case": "^1.6.3",
|
|
61
|
-
"@rexeus/typeweaver-zod-to-ts": "^0.
|
|
61
|
+
"@rexeus/typeweaver-zod-to-ts": "^0.7.0"
|
|
62
62
|
},
|
|
63
63
|
"scripts": {
|
|
64
64
|
"typecheck": "tsc --noEmit",
|