generated from cubetiq/ts-project
22 lines
648 B
TypeScript
22 lines
648 B
TypeScript
import { ICryptoProvider } from "./provider.crypto"
|
|
|
|
export class CryptoProvider {
|
|
constructor(private readonly provider: ICryptoProvider) {}
|
|
|
|
public encrypt(data: string | Buffer): string {
|
|
return this.provider.encrypt(data)
|
|
}
|
|
|
|
public decrypt(data: string): string {
|
|
return this.provider.decrypt(data)
|
|
}
|
|
|
|
private static _instance: CryptoProvider | null | undefined
|
|
public static newInstance(provider: ICryptoProvider): CryptoProvider {
|
|
if (!CryptoProvider._instance) {
|
|
CryptoProvider._instance = new CryptoProvider(provider)
|
|
}
|
|
return CryptoProvider._instance
|
|
}
|
|
}
|