From 14e723cc207c7a67d353cdecfb717fe88e790cd8 Mon Sep 17 00:00:00 2001 From: sechan100 Date: Fri, 21 Feb 2025 17:32:14 +0900 Subject: [PATCH] =?UTF-8?q?refactor:=20parseFrontmatter=20=ED=95=A8?= =?UTF-8?q?=EC=88=98=20=EC=9D=B4=EB=A6=84=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit frontmatter 해석에는 metadata cache api를 사용하라는 옵시디언측의 피드백이 있었다. 다만 이는 추후 routine file에 다양한 형태의 데이터가 추가될 것을 고려하여 설계한 것이므로, 일단 놔두도록 함 --- src/entities/routine/repository/group-repository.ts | 4 ++-- src/entities/routine/repository/routine-repository.ts | 4 ++-- src/shared/file/parse-frontmatter.ts | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/entities/routine/repository/group-repository.ts b/src/entities/routine/repository/group-repository.ts index cb58b9e..9d2068c 100644 --- a/src/entities/routine/repository/group-repository.ts +++ b/src/entities/routine/repository/group-repository.ts @@ -1,6 +1,6 @@ import { fileAccessor } from "@shared/file/file-accessor"; import { GROUP_PATH, GROUP_PREFIX } from "./utils"; -import { parseFrontmatter } from "@shared/file/parse-frontmatter"; +import { parseFrontmatterFromContent } from "@shared/file/parse-frontmatter"; import { RoutineGroup, RoutineGroupProperties } from "../domain/routine-type"; import { stringifyYaml, TFile } from "obsidian"; import { ensureArchive } from "@entities/archives"; @@ -11,7 +11,7 @@ import { RoutineGroupEntity } from "../domain/routine-group"; const parse = async (file: TFile): Promise => { const content = await fileAccessor.readFileAsReadonly(file); const name = file.basename.startsWith(GROUP_PREFIX) ? file.basename.slice(GROUP_PREFIX.length) : file.basename; - const properties = RoutineGroupEntity.validateGroupProperties(parseFrontmatter(content)); + const properties = RoutineGroupEntity.validateGroupProperties(parseFrontmatterFromContent(content)); if(properties.isErr()) throw new Error(`[RoutineGroup '${name}' Parse Error] ${properties.error}`); return { diff --git a/src/entities/routine/repository/routine-repository.ts b/src/entities/routine/repository/routine-repository.ts index 887c9c7..59997d9 100644 --- a/src/entities/routine/repository/routine-repository.ts +++ b/src/entities/routine/repository/routine-repository.ts @@ -3,7 +3,7 @@ import { compose } from "@shared/utils/compose"; import { fileAccessor } from "@shared/file/file-accessor"; import { Notice, stringifyYaml, TFile } from "obsidian"; import { GROUP_PREFIX, ROUTINE_PATH } from "./utils"; -import { parseFrontmatter } from "@shared/file/parse-frontmatter"; +import { parseFrontmatterFromContent } from "@shared/file/parse-frontmatter"; import { RoutineEntity } from "../domain/routine"; import dedent from "dedent"; import { Routine } from "../domain/routine-type"; @@ -11,7 +11,7 @@ import { Routine } from "../domain/routine-type"; const parse = async (file: TFile): Promise => { const content = await fileAccessor.readFileAsReadonly(file); - const result = RoutineEntity.validateRoutineProperties(parseFrontmatter(content)); + const result = RoutineEntity.validateRoutineProperties(parseFrontmatterFromContent(content)); if(result.isErr()){ new Notice(`Routine '${file.basename}' frontmatter error: ${result.error}`); throw new Error(`[Routine '${file.basename}' Parse Error] ${result.error}`); diff --git a/src/shared/file/parse-frontmatter.ts b/src/shared/file/parse-frontmatter.ts index 3a9e79c..44dbb8d 100644 --- a/src/shared/file/parse-frontmatter.ts +++ b/src/shared/file/parse-frontmatter.ts @@ -1,7 +1,7 @@ import { getFrontMatterInfo, parseYaml } from "obsidian"; -export const parseFrontmatter = (fileContent: string) => { +export const parseFrontmatterFromContent = (fileContent: string) => { const fmInfo = getFrontMatterInfo(fileContent); if(!fmInfo.exists){ throw new Error('File frontmatter is not found.');