37 lines
765 B
TypeScript
37 lines
765 B
TypeScript
import {Injectable} from '@angular/core';
|
|
import * as NativePunycode from 'punycode';
|
|
import * as NativeQuotedPrintable from 'quoted-printable';
|
|
import * as NativeUtf8 from 'utf8';
|
|
|
|
@Injectable({
|
|
providedIn: 'root'
|
|
})
|
|
export class NativeLibraryWrapperService {
|
|
public utf8: Utf8;
|
|
public quotedPrintable: QuotedPrintable;
|
|
public punycode: Punycode;
|
|
|
|
constructor() {
|
|
this.utf8 = NativeUtf8;
|
|
this.quotedPrintable = NativeQuotedPrintable;
|
|
this.punycode = NativePunycode;
|
|
}
|
|
}
|
|
|
|
interface Punycode {
|
|
encode(input: string): string;
|
|
|
|
decode(input: string): string;
|
|
}
|
|
|
|
interface QuotedPrintable {
|
|
encode(input: string): string;
|
|
|
|
decode(input: string): string;
|
|
}
|
|
|
|
interface Utf8 {
|
|
encode(input: any): string;
|
|
|
|
decode(input: string): any;
|
|
}
|