typescript - Angular 13 med RxJS 7: Hur migrerar man $obs.toPromise() till lastValueFrom($obs) med ett skript?
Jag migrerar ett Angular 12-projekt till Angular 13. Angular 13 levereras med RxJS 7. RxJS 7 har föråldrat $obs.toPromise() till förmån för lastValueFrom($obs).
Tyvärr har jag massor av $obs.toPromise() och jag letar efter ett praktiskt och tidsbesparande sätt att göra migreringen.
Finns det ett migreringsskript?
Ser i princip ut:
import * as fs from 'fs';
import * as glob from 'glob';
const files = glob.sync(`/**/*.ts`);
files.forEach(file => {
let fileContent = fs.readFileSync(file, 'utf-8');
if( fileContent.includes('toPromise()') ){
fileContent = fileContent.replace(/await\s(.*)\.toPromise\(\)/gm, 'await lastValueFrom($1)');
if( fileContent.includes('lastValueFrom') ){
fileContent = 'import { lastValueFrom } from \'rxjs\';' + '\n' + fileContent;
fs.writeFileSync(file, fileContent, 'utf-8');
}
}
f
});