import { createErrorFromCode, SFPToolboxError, SFPToolboxErrorCode } from '../../error/error'; import base64ToArrayBuffer from 'base64-arraybuffer'; export class ChangeTimeClerk { resolve: Function; reject: (error: SFPToolboxError) => void; onBeginReading: Function; result: number | null; constructor(resolver: Function, rejecter: (error: SFPToolboxError) => void, onBeginReading: Function) { this.resolve = resolver; this.reject = rejecter; this.onBeginReading = onBeginReading; this.result = null; } appendString(aString: string) { if (this.getResult() == null) { this.onBeginReading?.(); } this.result = new Uint8Array(base64ToArrayBuffer.decode(aString))[0] ?? null; if (this.result === 0) { this.resolve(null); } else { this.reject(createErrorFromCode(SFPToolboxErrorCode.ChangeTimeWentWrong)); } } getResult() { return this.result; } }