replace JSON.parse(JSON.stringify({})) with structuredClone({})

This commit is contained in:
Amruth Pillai
2024-05-10 11:00:15 +02:00
parent c1a58118c2
commit a102f62e28
8 changed files with 12 additions and 15 deletions

View File

@ -12,7 +12,6 @@ import {
defaultResumeData,
defaultSkill,
defaultVolunteer,
ResumeData,
} from "@reactive-resume/schema";
import { Json } from "@reactive-resume/utils";
import { Schema } from "zod";
@ -58,7 +57,7 @@ export class JsonResumeParser implements Parser<Json, JsonResume> {
}
convert(data: JsonResume) {
const result = JSON.parse(JSON.stringify(defaultResumeData)) as ResumeData;
const result = structuredClone(defaultResumeData);
// Basics
result.basics.name = data.basics?.name ?? "";

View File

@ -8,7 +8,6 @@ import {
defaultProject,
defaultResumeData,
defaultSkill,
ResumeData,
resumeDataSchema,
} from "@reactive-resume/schema";
import { extractUrl, Json, parseArrayLikeCSVEntry, parseCSV } from "@reactive-resume/utils";
@ -58,7 +57,7 @@ export class LinkedInParser implements Parser<JSZip, LinkedIn> {
}
convert(data: LinkedIn) {
const result = JSON.parse(JSON.stringify(defaultResumeData)) as ResumeData;
const result = structuredClone(defaultResumeData);
// Profile
if (data.Profile && data.Profile.length > 0) {

View File

@ -14,7 +14,6 @@ import {
defaultResumeData,
defaultSkill,
defaultVolunteer,
ResumeData,
} from "@reactive-resume/schema";
import { isUrl, Json } from "@reactive-resume/utils";
import { Schema } from "zod";
@ -60,7 +59,7 @@ export class ReactiveResumeV3Parser implements Parser<Json, ReactiveResumeV3> {
}
convert(data: ReactiveResumeV3) {
const result = JSON.parse(JSON.stringify(defaultResumeData)) as ResumeData;
const result = structuredClone(defaultResumeData);
// Basics
result.basics.name = data.basics.name ?? "";