ngx-amap
Version:
[][npm-badge-url] [][npm-badge-url] [][ci-url]
88 lines • 6.12 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: shared/plugin-loader.service.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Injectable } from '@angular/core';
import { ReplaySubject } from 'rxjs';
import { switchMap } from 'rxjs/operators';
import { LoggerService } from './logger/logger.service';
import { AMapService } from './amap.service';
/** @type {?} */
var TAG = 'PluginLoader';
var PluginLoaderService = /** @class */ (function () {
function PluginLoaderService(amap, logger) {
this.amap = amap;
this.logger = logger;
this.state = new Map();
}
/**
* @param {?} name
* @return {?}
*/
PluginLoaderService.prototype.load = /**
* @param {?} name
* @return {?}
*/
function (name) {
var _this = this;
/** @type {?} */
var pKey = '';
if (Array.isArray(name)) {
pKey = name.join(',');
}
else {
pKey = name;
}
if (this.state.has(pKey)) {
return this.state.get(pKey).asObservable();
}
this.logger.d(TAG, 'loading plugin:', pKey, '...');
return this.amap.get().pipe(switchMap((/**
* @param {?} m
* @return {?}
*/
function (m) {
/** @type {?} */
var loading$ = new ReplaySubject(1);
m.plugin(name, (/**
* @return {?}
*/
function () {
_this.logger.d(TAG, 'loading plugin:', pKey, 'COMPLETE');
loading$.next();
loading$.complete();
}));
_this.state.set(pKey, loading$);
return loading$.asObservable();
})));
};
PluginLoaderService.decorators = [
{ type: Injectable }
];
/** @nocollapse */
PluginLoaderService.ctorParameters = function () { return [
{ type: AMapService },
{ type: LoggerService }
]; };
return PluginLoaderService;
}());
export { PluginLoaderService };
if (false) {
/**
* @type {?}
* @private
*/
PluginLoaderService.prototype.state;
/**
* @type {?}
* @private
*/
PluginLoaderService.prototype.amap;
/**
* @type {?}
* @private
*/
PluginLoaderService.prototype.logger;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLWxvYWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vbmd4LWFtYXAvIiwic291cmNlcyI6WyJzaGFyZWQvcGx1Z2luLWxvYWRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOztJQUV2QyxHQUFHLEdBQUcsY0FBYztBQUUxQjtJQUlFLDZCQUFvQixJQUFpQixFQUFVLE1BQXFCO1FBQWhELFNBQUksR0FBSixJQUFJLENBQWE7UUFBVSxXQUFNLEdBQU4sTUFBTSxDQUFlO1FBRjVELFVBQUssR0FBRyxJQUFJLEdBQUcsRUFBK0IsQ0FBQztJQUVnQixDQUFDOzs7OztJQUV4RSxrQ0FBSTs7OztJQUFKLFVBQUssSUFBdUI7UUFBNUIsaUJBd0JDOztZQXZCSyxJQUFJLEdBQUcsRUFBRTtRQUNiLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN2QixJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN2QjthQUFNO1lBQ0wsSUFBSSxHQUFHLElBQUksQ0FBQztTQUNiO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQzVDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNuRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUN6QixTQUFTOzs7O1FBQUMsVUFBQSxDQUFDOztnQkFDSCxRQUFRLEdBQUcsSUFBSSxhQUFhLENBQU8sQ0FBQyxDQUFDO1lBQzNDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSTs7O1lBQUU7Z0JBQ2IsS0FBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLGlCQUFpQixFQUFFLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFDeEQsUUFBUSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNoQixRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDdEIsQ0FBQyxFQUFDLENBQUM7WUFDSCxLQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDL0IsT0FBTyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDakMsQ0FBQyxFQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O2dCQTlCRixVQUFVOzs7O2dCQUpGLFdBQVc7Z0JBRFgsYUFBYTs7SUFvQ3RCLDBCQUFDO0NBQUEsQUEvQkQsSUErQkM7U0E5QlksbUJBQW1COzs7Ozs7SUFDOUIsb0NBQXVEOzs7OztJQUUzQyxtQ0FBeUI7Ozs7O0lBQUUscUNBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgTG9nZ2VyU2VydmljZSB9IGZyb20gJy4vbG9nZ2VyL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IEFNYXBTZXJ2aWNlIH0gZnJvbSAnLi9hbWFwLnNlcnZpY2UnO1xuXG5jb25zdCBUQUcgPSAnUGx1Z2luTG9hZGVyJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFBsdWdpbkxvYWRlclNlcnZpY2Uge1xuICBwcml2YXRlIHN0YXRlID0gbmV3IE1hcDxzdHJpbmcsIFJlcGxheVN1YmplY3Q8dm9pZD4+KCk7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhbWFwOiBBTWFwU2VydmljZSwgcHJpdmF0ZSBsb2dnZXI6IExvZ2dlclNlcnZpY2UpIHt9XG5cbiAgbG9hZChuYW1lOiBzdHJpbmcgfCBzdHJpbmdbXSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGxldCBwS2V5ID0gJyc7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkobmFtZSkpIHtcbiAgICAgIHBLZXkgPSBuYW1lLmpvaW4oJywnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcEtleSA9IG5hbWU7XG4gICAgfVxuICAgIGlmICh0aGlzLnN0YXRlLmhhcyhwS2V5KSkge1xuICAgICAgcmV0dXJuIHRoaXMuc3RhdGUuZ2V0KHBLZXkpLmFzT2JzZXJ2YWJsZSgpO1xuICAgIH1cblxuICAgIHRoaXMubG9nZ2VyLmQoVEFHLCAnbG9hZGluZyBwbHVnaW46JywgcEtleSwgJy4uLicpO1xuICAgIHJldHVybiB0aGlzLmFtYXAuZ2V0KCkucGlwZShcbiAgICAgIHN3aXRjaE1hcChtID0+IHtcbiAgICAgICAgY29uc3QgbG9hZGluZyQgPSBuZXcgUmVwbGF5U3ViamVjdDx2b2lkPigxKTtcbiAgICAgICAgbS5wbHVnaW4obmFtZSwgKCkgPT4ge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmQoVEFHLCAnbG9hZGluZyBwbHVnaW46JywgcEtleSwgJ0NPTVBMRVRFJyk7XG4gICAgICAgICAgbG9hZGluZyQubmV4dCgpO1xuICAgICAgICAgIGxvYWRpbmckLmNvbXBsZXRlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnN0YXRlLnNldChwS2V5LCBsb2FkaW5nJCk7XG4gICAgICAgIHJldHVybiBsb2FkaW5nJC5hc09ic2VydmFibGUoKTtcbiAgICAgIH0pLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==