feat: replaceSpacesToEmptyLines

This commit is contained in:
IlyaDoronin 2023-12-28 13:07:50 +03:00
parent ce5fea6a7e
commit 327bb657f4
2 changed files with 31 additions and 1 deletions

@ -5,6 +5,7 @@ import { GetQuestionListRequest, GetQuestionListResponse } from "@model/question
import { EditQuestionRequest, EditQuestionResponse } from "@model/question/edit";
import { DeleteQuestionRequest, DeleteQuestionResponse } from "@model/question/delete";
import { CopyQuestionRequest, CopyQuestionResponse } from "@model/question/copy";
import { replaceSpacesToEmptyLines } from "../utils/replaceSpacesToEmptyLines";
const baseUrl = process.env.NODE_ENV === "production" ? "/squiz" : "https://squiz.pena.digital/squiz";
@ -26,7 +27,7 @@ async function getQuestionList(body?: Partial<GetQuestionListRequest>) {
method: "POST",
});
return response.items;
return replaceSpacesToEmptyLines(response.items);
}
function editQuestion(body: EditQuestionRequest, signal?: AbortSignal) {

@ -0,0 +1,29 @@
export const replaceSpacesToEmptyLines = <T = unknown>(object: T): T => {
if (Array.isArray(object)) {
return object.map(replaceSpacesToEmptyLines) as T;
}
if (!object || typeof object !== "object") {
return object;
}
const result: Record<string, unknown> = {};
for (const [key, value] of Object.entries(object)) {
if (typeof value === "string") {
result[key] = value.replace(/ /g, "");
continue;
}
if (typeof value === "object") {
result[key] = replaceSpacesToEmptyLines(value);
continue;
}
result[key] = value;
}
return result as T;
};