Здравствуйте.
Я предполагаю, это потому что по своей сути метод `hashStr()` возвращает тип string или Int32Array. Так написано в документации (
https://www.npmjs.com/package/ts-md5)
`Md5.hashStr('blah blah blah') => hex:string`. Вы, возвращая результат отработки метода, соответственно возвращаете или string или Int32Array. А если быть точным, то string, так как нет второго переданного параметра.
Вам надо либо поменять сам метод:
generate(str): string {
const h = Md5.hashStr(str);
console.log(h, typeof h);
return h;
}
И в сервисе просто вызывать его:
console.log(this.hashService.generate(this.form.value.password));
Либо, если Вы хотите оставить возможность подписки на этот метод, обернуть метод generate в Observable.
generate(str): Observable<string> {
return Observable.create((observer) => {
const h = Md5.hashStr(str);
console.log(h, typeof h);
observer.next(h);
observer.complete();
})
}
(для примера)