UNPKG

openapi-ts-mock-generator

Version:
1 lines 2.6 kB
{"version":3,"sources":["../../src/utils/validation.ts"],"sourcesContent":["/**\n * 검증 관련 유틸리티 함수들\n */\n\n/**\n * 값이 null이나 undefined가 아닌지 확인하는 타입 가드\n * core/types.ts의 isNotNullish와 동일하지만 utils에서 독립적으로 사용\n */\nexport const isNotEmpty = <T>(value: T | null | undefined): value is T => {\n return value !== null && value !== undefined\n}\n\n/**\n * 문자열이 비어있지 않은지 확인\n */\nexport const isNonEmptyString = (value: any): value is string => {\n return typeof value === \"string\" && value.trim().length > 0\n}\n\n/**\n * 숫자가 유효한 범위 내에 있는지 확인\n */\nexport const isInRange = (value: number, min: number, max: number): boolean => {\n return value >= min && value <= max\n}\n\n/**\n * 배열이 비어있지 않은지 확인\n */\nexport const isNonEmptyArray = <T>(value: any): value is T[] => {\n return Array.isArray(value) && value.length > 0\n}\n\n/**\n * 객체가 비어있지 않은지 확인\n */\nexport const isNonEmptyObject = (value: any): value is Record<string, any> => {\n return typeof value === \"object\" && value !== null && Object.keys(value).length > 0\n}\n\n/**\n * HTTP 상태 코드가 유효한지 확인\n */\nexport const isValidStatusCode = (code: number): boolean => {\n return isInRange(code, 100, 599)\n}\n\n/**\n * 파일 확장자가 허용된 목록에 있는지 확인\n */\nexport const hasValidExtension = (filename: string, allowedExtensions: string[]): boolean => {\n const extension = filename.split(\".\").pop()?.toLowerCase()\n return extension ? allowedExtensions.includes(extension) : false\n}\n\n/**\n * URL 형식이 올바른지 간단히 확인\n */\nexport const isValidUrl = (url: string): boolean => {\n try {\n new URL(url)\n return true\n } catch {\n return false\n }\n}\n"],"mappings":";AAQO,IAAM,aAAa,CAAI,UAA4C;AACxE,SAAO,UAAU,QAAQ,UAAU;AACrC;AAKO,IAAM,mBAAmB,CAAC,UAAgC;AAC/D,SAAO,OAAO,UAAU,YAAY,MAAM,KAAK,EAAE,SAAS;AAC5D;AAKO,IAAM,YAAY,CAAC,OAAe,KAAa,QAAyB;AAC7E,SAAO,SAAS,OAAO,SAAS;AAClC;AAKO,IAAM,kBAAkB,CAAI,UAA6B;AAC9D,SAAO,MAAM,QAAQ,KAAK,KAAK,MAAM,SAAS;AAChD;AAKO,IAAM,mBAAmB,CAAC,UAA6C;AAC5E,SAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,OAAO,KAAK,KAAK,EAAE,SAAS;AACpF;AAKO,IAAM,oBAAoB,CAAC,SAA0B;AAC1D,SAAO,UAAU,MAAM,KAAK,GAAG;AACjC;AAKO,IAAM,oBAAoB,CAAC,UAAkB,sBAAyC;AAlD7F;AAmDE,QAAM,aAAY,cAAS,MAAM,GAAG,EAAE,IAAI,MAAxB,mBAA2B;AAC7C,SAAO,YAAY,kBAAkB,SAAS,SAAS,IAAI;AAC7D;AAKO,IAAM,aAAa,CAAC,QAAyB;AAClD,MAAI;AACF,QAAI,IAAI,GAAG;AACX,WAAO;AAAA,EACT,SAAQ;AACN,WAAO;AAAA,EACT;AACF;","names":[]}