25 lines
590 B
TypeScript
25 lines
590 B
TypeScript
import {Converter} from './converter';
|
|
import {NativeLibraryWrapperService} from '../nativelibrarywrapper.service';
|
|
|
|
export class UTF8Encoder implements Converter {
|
|
|
|
constructor(private nativeLibraryWrapperService: NativeLibraryWrapperService) {
|
|
}
|
|
|
|
getDisplayname(): string {
|
|
return 'Encode UTF-8';
|
|
}
|
|
|
|
getId(): string {
|
|
return 'encodeutf8';
|
|
}
|
|
|
|
convert(input: string): string {
|
|
try {
|
|
return this.nativeLibraryWrapperService.utf8.encode(input);
|
|
} catch (error) {
|
|
throw new Error('The input can not be encoded as UTF-8. May be corrupt?');
|
|
}
|
|
}
|
|
}
|