@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
61 lines • 2.78 kB
JavaScript
import { BaseServiceClient } from '../../core/base-client';
import { createHealthCheckResource, createHealthCheckDataResource, createPingResource, createPingDataResource, createUsResource, createUsDataResource, } from './resources';
/**
* SmartyStreets Address Validation Service Client
*
* Provides comprehensive US address validation, standardization, and geocoding services
* powered by SmartyStreets API. Validates addresses for deliverability, standardizes formatting,
* and provides detailed address intelligence for e-commerce, logistics, and data quality.
*
* @service smarty-streets
* @domain address-validation-and-geocoding
*
* @example
* ```typescript
* import { HTTPClient } from '@augur/api-client/core';
* import { SmartyStreetsClient } from '@augur/api-client/services/smarty-streets';
*
* const http = new HTTPClient('smarty-streets', { siteId: 'your-site-id', bearerToken: 'your-token' });
* const smartyStreets = new SmartyStreetsClient(http);
*
* // Validate a US address
* const result = await smartyStreets.us.lookup.get({
* address1: '1234 Example Street',
* city: 'Provo',
* state: 'UT',
* postalCode: '84606',
* 'x-site-id': 'SITE123'
* });
*
* // Check service health
* const health = await smartyStreets.healthCheck.get({ 'x-site-id': 'SITE123' });
* ```
*/
export class SmartyStreetsClient extends BaseServiceClient {
/**
* Create a new SmartyStreetsClient instance
* @param http Configured HTTPClient instance
* @param baseUrl Base URL for the SmartyStreets API (default: https://smarty-streets.augur-api.com)
*/
constructor(http, baseUrl) {
super('smarty-streets', http, baseUrl || 'https://smarty-streets.augur-api.com');
// Create a wrapper function that calls executeRequest dynamically
// This allows tests to spy on executeRequest after construction
// Note: Resources build URLs directly, so pathParams is not used
const boundExecuteRequest = (config, params, pathParams) => {
return this.executeRequest(config, params, pathParams);
};
// Initialize standard API resources
this.healthCheck = createHealthCheckResource(boundExecuteRequest);
this.ping = createPingResource(boundExecuteRequest);
this.us = createUsResource(boundExecuteRequest);
// Initialize data-only API resources (dual API pattern)
this.healthCheckData = createHealthCheckDataResource(this.healthCheck);
this.pingData = createPingDataResource(this.ping);
this.usData = createUsDataResource(this.us);
}
getServiceDescription() {
return 'SmartyStreets address validation service for US address standardization and geocoding';
}
}
//# sourceMappingURL=client.js.map