@simpleapps-com/augur-api
Version:
TypeScript client library for Augur microservices API endpoints
65 lines • 2.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.SmartyStreetsClient = void 0;
const base_client_1 = require("../../core/base-client");
const resources_1 = require("./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' });
* ```
*/
class SmartyStreetsClient extends base_client_1.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 = (0, resources_1.createHealthCheckResource)(boundExecuteRequest);
this.ping = (0, resources_1.createPingResource)(boundExecuteRequest);
this.us = (0, resources_1.createUsResource)(boundExecuteRequest);
// Initialize data-only API resources (dual API pattern)
this.healthCheckData = (0, resources_1.createHealthCheckDataResource)(this.healthCheck);
this.pingData = (0, resources_1.createPingDataResource)(this.ping);
this.usData = (0, resources_1.createUsDataResource)(this.us);
}
getServiceDescription() {
return 'SmartyStreets address validation service for US address standardization and geocoding';
}
}
exports.SmartyStreetsClient = SmartyStreetsClient;
//# sourceMappingURL=client.js.map