( resource: Metadata['resource'] = [], resourceBuilder: (key: string, value: string) => string )
| 109 | * @param resourceBuilder 变量声明器 |
| 110 | */ |
| 111 | export async function parseMetaDataResources( |
| 112 | resource: Metadata['resource'] = [], |
| 113 | resourceBuilder: (key: string, value: string) => string |
| 114 | ) { |
| 115 | const resources: string[] = []; |
| 116 | for (const line of Array.isArray(resource) ? resource : [resource]) { |
| 117 | const values = line.replace(/ /g, ' ').split(' '); |
| 118 | |
| 119 | const text = values[1].startsWith('http') |
| 120 | ? await fetch(values[1]).then((res) => res.text()) |
| 121 | : readFileSync(values[1]).toString(); |
| 122 | resources.push(resourceBuilder(values[0], text)); |
| 123 | } |
| 124 | return resources.join('\n'); |
| 125 | } |
| 126 | |
| 127 | /** |
| 128 | * 创建 META 信息文件 |
no test coverage detected