Hi,
since updating my environment my project seems to be completey broken, and I dont know if I ever get my project working again. I used e.g. a simple storage class, but now I get errors.
Error: src/app/services/storage.service.ts:17:5 - error TS2322: Type 'GetResult' is not assignable to type '{ value: string; }'.
Types of property 'value' are incompatible.
Type 'string | null' is not assignable to type 'string'.
Type 'null' is not assignable to type 'string'.
17 return (await Preferences.get({ key }));
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Error: src/app/services/storage.service.ts:26:23 - error TS2345: Argument of type 'string | null' is not assignable to parameter of type 'string'.
Type 'null' is not assignable to type 'string'.
26 return JSON.parse(ret.value);
import { Injectable } from '@angular/core';
import { Preferences } from '@capacitor/preferences';
@Injectable({
providedIn: 'root'
})
export class StorageService {
constructor() { }
async setString(key: string, value: string) {
await Preferences.set({ key, value });
}
async getString(key: string): Promise<{ value: string }> {
return (await Preferences.get({ key }));
}
async setObject(key: string, value: any) {
await Preferences.set({ key, value: JSON.stringify(value) });
}
async getObject(key: string): Promise<{ value: any }> {
const ret = await Preferences.get({ key });
return JSON.parse(ret.value);
}
async removeItem(key: string) {
await Preferences.remove({ key });
}
async clear() {
await Preferences.clear();
}
}
Why doesnt it work any more? How do I have to code it now?