UNPKG

@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
/** * 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==