28 lines
894 B
TypeScript
28 lines
894 B
TypeScript
![]() |
import { createLogger, Logger } from "../../../lib/logger";
|
||
|
import { avataxAddressFactory } from "../address-factory";
|
||
|
import { AvataxClient } from "../avatax-client";
|
||
|
import { AvataxConfig } from "../avatax-connection-schema";
|
||
|
import { AvataxValidationErrorResolver } from "./avatax-validation-error-resolver";
|
||
|
|
||
|
export class AvataxAddressValidationService {
|
||
|
private logger: Logger;
|
||
|
|
||
|
constructor(private avataxClient: AvataxClient) {
|
||
|
this.logger = createLogger({
|
||
|
name: "AvataxAddressValidationService",
|
||
|
});
|
||
|
}
|
||
|
|
||
|
async validate(address: AvataxConfig["address"]) {
|
||
|
const formattedAddress = avataxAddressFactory.fromChannelAddress(address);
|
||
|
|
||
|
try {
|
||
|
return this.avataxClient.validateAddress({ address: formattedAddress });
|
||
|
} catch (error) {
|
||
|
const errorResolver = new AvataxValidationErrorResolver();
|
||
|
|
||
|
throw errorResolver.resolve(error);
|
||
|
}
|
||
|
}
|
||
|
}
|