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.

99 lines (91 loc) 2.94 kB
import NewsAPI from 'newsapi'; import { from } from 'rxjs'; import { InjectionToken, Injectable, Inject, NgModule, defineInjectable, inject } from '@angular/core'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** @type {?} */ const NewsApiConfigService = new InjectionToken('NewsApiConfig'); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ 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 = defineInjectable({ factory: function NewsApiService_Factory() { return new NewsApiService(inject(NewsApiConfigService)); }, token: NewsApiService, providedIn: "root" }); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ class NgnewsModule { /** * @param {?} newsApiConfig * @return {?} */ static forRoot(newsApiConfig) { return { ngModule: NgnewsModule, providers: [ NewsApiService, { provide: NewsApiConfigService, useValue: newsApiConfig } ] }; } } NgnewsModule.decorators = [ { type: NgModule, args: [{},] } ]; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ export { NewsApiService, NgnewsModule, NewsApiConfigService as ɵa }; //# sourceMappingURL=angular-news-api.js.map