(raw: unknown)
| 29 | } |
| 30 | |
| 31 | export function normalizeMemoryScope(raw: unknown): MemoryScope | undefined { |
| 32 | if (!isRecord(raw)) return undefined; |
| 33 | const kind = raw.kind; |
| 34 | if (kind === 'global') { |
| 35 | return { kind }; |
| 36 | } |
| 37 | if (kind === 'file' && typeof raw.file === 'string' && raw.file.trim()) { |
| 38 | return { kind, file: normalizePathLike(raw.file.trim()) }; |
| 39 | } |
| 40 | if ( |
| 41 | kind === 'symbol' && |
| 42 | typeof raw.file === 'string' && |
| 43 | raw.file.trim() && |
| 44 | typeof raw.symbol === 'string' && |
| 45 | raw.symbol.trim() |
| 46 | ) { |
| 47 | return { |
| 48 | kind, |
| 49 | file: normalizePathLike(raw.file.trim()), |
| 50 | symbol: raw.symbol.trim() |
| 51 | }; |
| 52 | } |
| 53 | return undefined; |
| 54 | } |
| 55 | |
| 56 | export function normalizeMemory(raw: unknown): Memory | null { |
| 57 | if (!isRecord(raw)) return null; |
no test coverage detected