0

JSON.parse(sessionStorage.getItem('owner'))
==> Argument of type 'string | null' is not assignable to parameter of type 'string'. Type 'null' is not assignable to type 'string'.

And the return null;
==> Type 'null' is not assignable to type 'string'.

public get owner(): Owner{
if(this._owner != null){
  return this._owner;
} else if (this._owner == null && sessionStorage.getItem('owner') != null){
  this._owner = JSON.parse(sessionStorage.getItem('owner')) as Owner; // <== HERE
  return this._owner;
}
return new Owner();

}

public get token(): string{
if (this._token != null) {
  return this._token;
} else if (this._token == null && sessionStorage.getItem('token') != null) {
  this._token = sessionStorage.getItem('token') as string;
  return this._token;
}
return null;   // <== HERE: Type 'null' is not assignable to type 'string'.

}

2

1 Answer 1

3

You define token() as returning only a string, yet you're trying to return null. You can change the definition to return string | null:

public get token(): string | null {
    if (this._token != null) {
        return this._token;
    } else if (this._token == null && sessionStorage.getItem('token') != null) {
        this._token = sessionStorage.getItem('token') as string;
        return this._token;
    }
    return null;
}

Of course the code using this getter needs to account for that.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.