2017-04-15 19:04:49 +02:00
|
|
|
import {Converter} from './converter';
|
|
|
|
import {NativeLibraryWrapperService} from '../nativelibrarywrapper.service';
|
2016-09-20 22:02:38 +02:00
|
|
|
|
|
|
|
export class QuotedPrintableDecoder implements Converter {
|
2017-03-15 00:09:57 +01:00
|
|
|
|
2017-04-15 18:51:22 +02:00
|
|
|
constructor(private nativeLibraryWrapperService: NativeLibraryWrapperService) {
|
|
|
|
}
|
2016-09-20 22:02:38 +02:00
|
|
|
|
2017-04-15 18:51:22 +02:00
|
|
|
getDisplayname(): string {
|
2017-04-15 19:04:49 +02:00
|
|
|
return 'Decode quoted printable';
|
2017-04-15 18:51:22 +02:00
|
|
|
}
|
2016-09-20 22:02:38 +02:00
|
|
|
|
2017-04-15 18:51:22 +02:00
|
|
|
getId(): string {
|
2017-04-15 19:04:49 +02:00
|
|
|
return 'decodequotedprintable';
|
2017-04-15 18:51:22 +02:00
|
|
|
}
|
2016-09-20 22:02:38 +02:00
|
|
|
|
2017-04-15 18:51:22 +02:00
|
|
|
convert(input: string): string {
|
|
|
|
try {
|
|
|
|
return this.nativeLibraryWrapperService.quotedPrintable.decode(input);
|
|
|
|
} catch (error) {
|
2017-04-15 19:04:49 +02:00
|
|
|
throw new Error('The input can not be interpreted as quoted-printable. May be corrupt?');
|
2016-09-20 22:02:38 +02:00
|
|
|
}
|
2017-04-15 18:51:22 +02:00
|
|
|
}
|
2016-09-20 22:02:38 +02:00
|
|
|
}
|