Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Problema no storageService.get

Adaptei o storageService para lembrar das credenciais e popular o login e senha. Por algum motivo o parser não funciona direiro no navegador, código abaixo funciona no vscode, contudo, no navegador não

type LoginData = {
  userName: string;
  password: string;
}

 interface StorageObject<T> {
  key: string;
  value: T;
}

tentativa


 let loginData: LoginData =  this.storageService.get("loginData") as LoginData; // aqui a interface reclama

outra tentativa sem sucesso


     let loginData =  this.storageService.get<StorageObject<LoginData> | null>("loginData") as StorageObject<LoginData> | null;

Mais uma tentativa, não funcionou, todas as tentativas tem esse erro de comportamento.


let loginData: StorageObject<LoginData> = this.storageService.get("loginData") as StorageObject<LoginData>;
  console.log(loginData); //<-- nesse momento tipo que retorna no navegador  {   userName: string;   password: string; }; // não é o correto
     if (loginData) {
       console.log("verdade funciona");
       let dataL: LoginData = loginData.value;  // <--  logo aqui é indefinido
       username.value = dataL?.userName;
       password.value = dataL?.password;
       console.log("valor username.value =" + username.value);
       rememberMe.value = true;
     }

O que funcionou foi no meu caso

console.log("verificando login data");
 let loginData: any = local.get<StorageObject<LoginData>>("loginData") as LoginData | null;
 console.log(loginData);
 if (loginData) {
   console.log("verdade funciona");
   // let dataL: LoginData = loginData.value;
   username.value = loginData?.userName?.toString();
   password.value = loginData?.password;
   console.log("valor username.value =" + loginData?.userName);
   rememberMe.value = true;
 }

Não entendi por que a tipagem não funcionou, alguém sabe fazer de alguma outra maneira?

1 resposta
solução!

Nada melhor que uma boa noite de sono, hahahaha resolvi

Problema estava no save, salvava do value, não a estrutura public save(id: string, data: StorageObject): void { localStorage.setItem(id, JSON.stringify(data.value)); }

ajustei public save(id: string, data: StorageObject): void { localStorage.setItem(id, JSON.stringify(data)); }