openapi-ts-mock-generator
Version:
typescript mock data generator based openapi
1 lines • 2.92 kB
Source Map (JSON)
{"version":3,"sources":["../../src/utils/file-utils.ts"],"sourcesContent":["/**\n * 파일 시스템 관련 유틸리티 함수들\n */\n\nimport { existsSync, mkdirSync, writeFileSync, rmSync, readdirSync, readFileSync } from \"fs\"\nimport * as path from \"path\"\n\n/**\n * 디렉토리가 존재하지 않으면 생성\n */\nexport const ensureDir = (dirPath: string): void => {\n if (!existsSync(dirPath)) {\n mkdirSync(dirPath, { recursive: true })\n }\n}\n\n/**\n * 디렉토리를 비우고 정리\n */\nexport const clearDirectory = (dirPath: string): void => {\n if (existsSync(dirPath)) {\n readdirSync(dirPath).forEach((file) => {\n rmSync(path.join(dirPath, file))\n })\n }\n}\n\n/**\n * 안전하게 파일 쓰기 (디렉토리 자동 생성)\n */\nexport const safeWriteFile = (filePath: string, content: string): void => {\n const dir = path.dirname(filePath)\n ensureDir(dir)\n writeFileSync(filePath, content)\n}\n\n/**\n * JSON 파일 읽기 (파일이 없으면 기본값 반환)\n */\nexport const readJsonFile = <T>(filePath: string, defaultValue: T): T => {\n if (!existsSync(filePath)) {\n return defaultValue\n }\n\n try {\n const content = readFileSync(filePath, \"utf-8\")\n return JSON.parse(content)\n } catch (error) {\n console.warn(`Failed to read JSON file ${filePath}:`, error)\n return defaultValue\n }\n}\n\n/**\n * 파일 경로가 URL인지 로컬 파일인지 확인하여 절대 경로 반환\n */\nexport const resolveFilePath = (inputPath: string, baseDir?: string): string => {\n if (inputPath.startsWith(\"http\")) {\n return inputPath\n }\n\n if (baseDir) {\n return path.join(baseDir, inputPath)\n }\n\n return inputPath\n}\n\n/**\n * 여러 파일명 조합하여 고유한 파일명 생성\n */\nexport const createUniqueFileName = (baseName: string, extension: string): string => {\n const timestamp = Date.now()\n return `${baseName}-${timestamp}.${extension}`\n}\n"],"mappings":";AAIA,SAAS,YAAY,WAAW,eAAe,QAAQ,aAAa,oBAAoB;AACxF,YAAY,UAAU;AAKf,IAAM,YAAY,CAAC,YAA0B;AAClD,MAAI,CAAC,WAAW,OAAO,GAAG;AACxB,cAAU,SAAS,EAAE,WAAW,KAAK,CAAC;AAAA,EACxC;AACF;AAKO,IAAM,iBAAiB,CAAC,YAA0B;AACvD,MAAI,WAAW,OAAO,GAAG;AACvB,gBAAY,OAAO,EAAE,QAAQ,CAAC,SAAS;AACrC,aAAY,UAAK,SAAS,IAAI,CAAC;AAAA,IACjC,CAAC;AAAA,EACH;AACF;AAKO,IAAM,gBAAgB,CAAC,UAAkB,YAA0B;AACxE,QAAM,MAAW,aAAQ,QAAQ;AACjC,YAAU,GAAG;AACb,gBAAc,UAAU,OAAO;AACjC;AAKO,IAAM,eAAe,CAAI,UAAkB,iBAAuB;AACvE,MAAI,CAAC,WAAW,QAAQ,GAAG;AACzB,WAAO;AAAA,EACT;AAEA,MAAI;AACF,UAAM,UAAU,aAAa,UAAU,OAAO;AAC9C,WAAO,KAAK,MAAM,OAAO;AAAA,EAC3B,SAAS,OAAO;AACd,YAAQ,KAAK,4BAA4B,QAAQ,KAAK,KAAK;AAC3D,WAAO;AAAA,EACT;AACF;AAKO,IAAM,kBAAkB,CAAC,WAAmB,YAA6B;AAC9E,MAAI,UAAU,WAAW,MAAM,GAAG;AAChC,WAAO;AAAA,EACT;AAEA,MAAI,SAAS;AACX,WAAY,UAAK,SAAS,SAAS;AAAA,EACrC;AAEA,SAAO;AACT;AAKO,IAAM,uBAAuB,CAAC,UAAkB,cAA8B;AACnF,QAAM,YAAY,KAAK,IAAI;AAC3B,SAAO,GAAG,QAAQ,IAAI,SAAS,IAAI,SAAS;AAC9C;","names":[]}