Load the module, rewrite it, and write it back to disk. @param {string} moduleName @return {Promise<'success' | 'failure'>}
(moduleName)
| 220 | @return {Promise<'success' | 'failure'>} |
| 221 | */ |
| 222 | async function processModule(moduleName) { |
| 223 | let modulePath = path.join(TYPES_DIR, moduleName); |
| 224 | |
| 225 | /** @type {string} */ |
| 226 | let contents; |
| 227 | try { |
| 228 | contents = await fs.readFile(modulePath, { encoding: 'utf-8' }); |
| 229 | } catch (e) { |
| 230 | console.error(`Error reading ${modulePath}: ${e}`); |
| 231 | return 'failure'; |
| 232 | } |
| 233 | |
| 234 | let moduleNameForDeclaration = moduleName.replace('/index.d.ts', ''); |
| 235 | |
| 236 | let rewrittenModule; |
| 237 | try { |
| 238 | rewrittenModule = rewriteModule(contents, moduleNameForDeclaration); |
| 239 | } catch (e) { |
| 240 | console.error(`Error rewriting ${moduleName}`, e); |
| 241 | return 'failure'; |
| 242 | } |
| 243 | |
| 244 | try { |
| 245 | await fs.writeFile(modulePath, rewrittenModule); |
| 246 | } catch (e) { |
| 247 | console.error(`Error writing ${modulePath}: ${e}`); |
| 248 | return 'failure'; |
| 249 | } |
| 250 | |
| 251 | return 'success'; |
| 252 | } |
| 253 | |
| 254 | /** |
| 255 | Rewrite a given module declaration: |
nothing calls this directly
no test coverage detected