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