Skip to content

Commit

Permalink
remove dead (copy/pasted) code
Browse files Browse the repository at this point in the history
remove dead (copy/pasted) code
  • Loading branch information
pmcelhaney committed Apr 16, 2024
1 parent 190b028 commit fc3e1ef
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 241 deletions.
130 changes: 0 additions & 130 deletions src/typescript-generator/operations-type-coder.js

This file was deleted.

30 changes: 1 addition & 29 deletions src/typescript-generator/response-type-coder.js
Original file line number Diff line number Diff line change
Expand Up @@ -13,28 +13,6 @@ export class ResponseTypeCoder extends TypeCoder {
return super.names(this.requirement.data.$ref.split("/").at(-1));
}

typeForDefaultStatusCode(listedStatusCodes) {
const definedStatusCodes = listedStatusCodes.filter(
(key) => key !== "default",
);

if (definedStatusCodes.length === 0) {
return "[statusCode in HttpStatusCode]";
}

return `[statusCode in Exclude<HttpStatusCode, ${definedStatusCodes.join(
" | ",
)}>]`;
}

normalizeStatusCode(statusCode) {
if (statusCode === "default") {
return this.typeForDefaultStatusCode(Object.keys(this.requirement.data));
}

return statusCode;
}

buildContentObjectType(script, response) {
if (response.has("content")) {
return response.get("content").map((content, mediaType) => [
Expand Down Expand Up @@ -94,16 +72,10 @@ export class ResponseTypeCoder extends TypeCoder {
}

writeCode(script) {
const text = `{
return `{
headers: ${this.printHeaders(script, this.requirement)};
requiredHeaders: ${this.printRequiredHeaders(this.requirement)};
content: ${this.printContentObjectType(script, this.requirement)};
}`;

if (text.includes("HttpStatusCode")) {
script.importSharedType("HttpStatusCode");
}

return text;
}
}
57 changes: 1 addition & 56 deletions src/typescript-generator/responses-type-coder.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { printObject, printObjectWithoutQuotes } from "./printers.js";
import { printObjectWithoutQuotes } from "./printers.js";
import { ResponseTypeCoder } from "./response-type-coder.js";
import { SchemaTypeCoder } from "./schema-type-coder.js";
import { TypeCoder } from "./type-coder.js";

export class ResponsesTypeCoder extends TypeCoder {
Expand Down Expand Up @@ -32,60 +31,6 @@ export class ResponsesTypeCoder extends TypeCoder {
return statusCode;
}

buildContentObjectType(script, response) {
if (response.has("content")) {
return response.get("content").map((content, mediaType) => [
mediaType,
`{
schema: ${new SchemaTypeCoder(content.get("schema")).write(script)}
}`,
]);
}

return this.openApi2MediaTypes.map((mediaType) => [
mediaType,
`{
schema: ${new SchemaTypeCoder(response.get("schema")).write(script)}
}`,
]);
}

printContentObjectType(script, response) {
if (response.has("content") || response.has("schema")) {
return printObject(this.buildContentObjectType(script, response));
}

return "never";
}

buildHeaders(script, response) {
return response
.get("headers")
.map((value, name) => [
name,
`{ schema: ${new SchemaTypeCoder(value.get("schema") ?? value).write(
script,
)}}`,
]);
}

printHeaders(script, response) {
if (!response.has("headers")) {
return "never";
}

return printObject(this.buildHeaders(script, response));
}

printRequiredHeaders(response) {
const requiredHeaders = (response.get("headers") ?? [])
.map((value, name) => ({ name, required: value.data.required }))
.filter(({ required }) => required)
.map(({ name }) => `"${name}"`);

return requiredHeaders.length === 0 ? "never" : requiredHeaders.join(" | ");
}

buildResponseObjectType(script) {
return printObjectWithoutQuotes(
this.requirement.map((response, responseCode) => [
Expand Down
31 changes: 31 additions & 0 deletions test/typescript-generator/response-type-coder.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import { describe, expect, it } from "@jest/globals";

import { Requirement } from "../../src/typescript-generator/requirement.js";
import { ResponseTypeCoder } from "../../src/typescript-generator/response-type-coder.js";

describe("a ResponsesTypeCoder", () => {
it("prints required headers", () => {
const coder = new ResponseTypeCoder({
data: {
default: {},
},
});

const headers = new Requirement({
headers: {
always: {
required: true,
},

mandatory: {
required: true,
},

occasionally: {},
sometimes: {},
},
});

expect(coder.printRequiredHeaders(headers)).toBe('"always" | "mandatory"');
});
});
26 changes: 0 additions & 26 deletions test/typescript-generator/responses-type-coder.test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { describe, expect, it } from "@jest/globals";

import { Requirement } from "../../src/typescript-generator/requirement.js";
import { ResponsesTypeCoder } from "../../src/typescript-generator/responses-type-coder.js";

describe("a ResponsesTypeCoder", () => {
Expand Down Expand Up @@ -42,29 +41,4 @@ describe("a ResponsesTypeCoder", () => {
"[statusCode in HttpStatusCode]",
);
});

it("prints required headers", () => {
const coder = new ResponsesTypeCoder({
data: {
default: {},
},
});

const headers = new Requirement({
headers: {
always: {
required: true,
},

mandatory: {
required: true,
},

occasionally: {},
sometimes: {},
},
});

expect(coder.printRequiredHeaders(headers)).toBe('"always" | "mandatory"');
});
});

0 comments on commit fc3e1ef

Please sign in to comment.