@lineai/gov-deals
Version:
Explore Federal contracts for government building renovations, city hall renovations, courthouse updates, library modernizations, federal building improvement contracts, base housing and facilities upgrades.
48 lines • 2.9 kB
JavaScript
/**
* Main SAM.gov client
*/
import { SamClient } from './client';
import { OpportunitiesEndpoint } from './endpoints/opportunities';
import { createConfig, validateConfig } from '../../core/config';
/**
* Main SAM.gov API client with all endpoints
*/
export class SamApi {
client;
opportunities;
constructor(options) {
// Create simple client options
const clientOptions = {
apiKey: options.apiKey,
baseUrl: options.baseUrl,
timeout: options.timeout,
};
this.client = new SamClient(clientOptions);
this.opportunities = new OpportunitiesEndpoint(this.client);
}
/**
* Create SamApi from configuration
*/
static fromConfig(config) {
validateConfig(config);
return new SamApi({
apiKey: config.samGov.apiKey,
baseUrl: config.samGov.baseUrl,
timeout: config.samGov.timeout,
debug: config.debug,
});
}
/**
* Create SamApi from environment variables
*/
static fromEnv() {
const config = createConfig();
return SamApi.fromConfig(config);
}
}
// Re-export types
export * from './client';
export * from './endpoints/opportunities';
export * from '../../types/opportunities';
export * from '../../config/constants';
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY2xpZW50cy9zYW0vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFVakU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sTUFBTTtJQUNBLE1BQU0sQ0FBWTtJQUNuQixhQUFhLENBQXdCO0lBRXJELFlBQVksT0FBc0I7UUFDaEMsK0JBQStCO1FBQy9CLE1BQU0sYUFBYSxHQUFHO1lBQ3BCLE1BQU0sRUFBRSxPQUFPLENBQUMsTUFBTTtZQUN0QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO1NBQ3pCLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFjO1FBQzlCLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUV2QixPQUFPLElBQUksTUFBTSxDQUFDO1lBQ2hCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDNUIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTztZQUM5QixPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPO1lBQzlCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSztTQUNwQixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxNQUFNLENBQUMsT0FBTztRQUNaLE1BQU0sTUFBTSxHQUFHLFlBQVksRUFBRSxDQUFDO1FBQzlCLE9BQU8sTUFBTSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNuQyxDQUFDO0NBQ0Y7QUFFRCxrQkFBa0I7QUFDbEIsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsd0JBQXdCLENBQUMifQ==