UNPKG

angular-news-api

Version:

This Library provides everything you need to use the NewsAPI from you Angular app the way it should be: using Observables, Types and Dependency Injection.

63 lines 4.54 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable, Inject } from '@angular/core'; import NewsAPI from 'newsapi'; import { NewsApiConfigService } from './news-api-config.service'; import { from } from 'rxjs'; import * as i0 from "@angular/core"; import * as i1 from "./news-api-config.service"; export class NewsApiService { /** * @param {?} newsApiConfigService */ constructor(newsApiConfigService) { this.newsApiConfigService = newsApiConfigService; this.newsApi = new NewsAPI(this.newsApiConfigService.key); } /** * @param {?} config * @return {?} */ topHeadlines(config) { return from(this.newsApi.v2.topHeadlines(config)); } /** * @param {?} config * @return {?} */ everything(config) { return from(this.newsApi.v2.everything(config)); } /** * @param {?} config * @return {?} */ sources(config) { return from(this.newsApi.v2.sources(config)); } } NewsApiService.decorators = [ { type: Injectable, args: [{ providedIn: 'root' },] } ]; /** @nocollapse */ NewsApiService.ctorParameters = () => [ { type: undefined, decorators: [{ type: Inject, args: [NewsApiConfigService,] }] } ]; /** @nocollapse */ NewsApiService.ngInjectableDef = i0.defineInjectable({ factory: function NewsApiService_Factory() { return new NewsApiService(i0.inject(i1.NewsApiConfigService)); }, token: NewsApiService, providedIn: "root" }); if (false) { /** * @type {?} * @private */ NewsApiService.prototype.newsApi; /** * @type {?} * @private */ NewsApiService.prototype.newsApiConfigService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3cy1hcGkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItbmV3cy1hcGkvIiwic291cmNlcyI6WyJsaWIvc2VydmljZXMvbmV3cy1hcGkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxPQUFPLE1BQU0sU0FBUyxDQUFDO0FBQzlCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBUWpFLE9BQU8sRUFBRSxJQUFJLEVBQWMsTUFBTSxNQUFNLENBQUM7OztBQUt4QyxNQUFNLE9BQU8sY0FBYzs7OztJQUd6QixZQUFrRCxvQkFBb0I7UUFBcEIseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFBO1FBQ3BFLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVELENBQUM7Ozs7O0lBRUQsWUFBWSxDQUFDLE1BQTBCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ3BELENBQUM7Ozs7O0lBRUQsVUFBVSxDQUFDLE1BQXdCO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUM7Ozs7O0lBRUQsT0FBTyxDQUFDLE1BQXFCO1FBQzNCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBQy9DLENBQUM7OztZQXBCRixVQUFVLFNBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkI7Ozs7NENBSWMsTUFBTSxTQUFDLG9CQUFvQjs7Ozs7Ozs7SUFGeEMsaUNBQWdCOzs7OztJQUVKLDhDQUEwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IE5ld3NBUEkgZnJvbSAnbmV3c2FwaSc7XG5pbXBvcnQgeyBOZXdzQXBpQ29uZmlnU2VydmljZSB9IGZyb20gJy4vbmV3cy1hcGktY29uZmlnLnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgVG9wSGVhZGxpbmVzQ29uZmlnLFxuICBUb3BIZWFkbGluZXNSZXNwb25zZSxcbiAgRXZlcnl0aGluZ1Jlc3BvbnNlLFxuICBFdmVyeXRoaW5nQ29uZmlnLFxuICBTb3VyY2VzQ29uZmlnXG59IGZyb20gJy4uL2ludGVyZmFjZXMvbmV3c2FwaS5tb2RlbHMnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBOZXdzQXBpU2VydmljZSB7XG4gIHByaXZhdGUgbmV3c0FwaTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE5ld3NBcGlDb25maWdTZXJ2aWNlKSBwcml2YXRlIG5ld3NBcGlDb25maWdTZXJ2aWNlKSB7XG4gICAgdGhpcy5uZXdzQXBpID0gbmV3IE5ld3NBUEkodGhpcy5uZXdzQXBpQ29uZmlnU2VydmljZS5rZXkpO1xuICB9XG5cbiAgdG9wSGVhZGxpbmVzKGNvbmZpZzogVG9wSGVhZGxpbmVzQ29uZmlnKTogT2JzZXJ2YWJsZTxUb3BIZWFkbGluZXNSZXNwb25zZT4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMubmV3c0FwaS52Mi50b3BIZWFkbGluZXMoY29uZmlnKSk7XG4gIH1cblxuICBldmVyeXRoaW5nKGNvbmZpZzogRXZlcnl0aGluZ0NvbmZpZyk6IE9ic2VydmFibGU8RXZlcnl0aGluZ1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIGZyb20odGhpcy5uZXdzQXBpLnYyLmV2ZXJ5dGhpbmcoY29uZmlnKSk7XG4gIH1cblxuICBzb3VyY2VzKGNvbmZpZzogU291cmNlc0NvbmZpZyk6IE9ic2VydmFibGU8U291cmNlc0NvbmZpZz4ge1xuICAgIHJldHVybiBmcm9tKHRoaXMubmV3c0FwaS52Mi5zb3VyY2VzKGNvbmZpZykpO1xuICB9XG59XG5cblxuIl19