UNPKG

@iotize/ionic

Version:

Iotize specific building blocks on top of @ionic/angular.

40 lines 5.97 kB
import { Injectable } from '@angular/core'; import { Tap } from '@iotize/tap'; import * as i0 from "@angular/core"; export class TapApiExplorerService { constructor() { } getByMethod(method) { return this.listAllPaths().filter((call) => call.method === method); } hasPath(method, url) { return this.getByUrl(method, url) !== undefined; } getByUrl(method, url) { const allPaths = this.listAllPaths(); const results = allPaths.filter((call) => (call.path === url || call.pathAlias === url) && call.method === method); return results.length > 0 ? results[0] : undefined; } listAllPaths() { if (this._allPaths) { return this._allPaths; } const services = Tap.create().service.services(); // let serviceNames = Object.keys(serviceContainer); const allResources = services.reduce((prev, service) => { const resourcesArray = Object.values(service.resources); prev.push(...resourcesArray); return prev; }, []); this._allPaths = allResources; return this._allPaths; } } /** @nocollapse */ TapApiExplorerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TapApiExplorerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); /** @nocollapse */ TapApiExplorerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TapApiExplorerService, providedIn: 'root' }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: TapApiExplorerService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: function () { return []; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwLWFwaS1leHBsb3Jlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW90aXplLWlvbmljL3NyYy9saWIvdGFwLWFwaS1leHBsb3Jlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFvQyxHQUFHLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBTXBFLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsZ0JBQWUsQ0FBQztJQUVoQixXQUFXLENBQUMsTUFBa0M7UUFDNUMsT0FBTyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBa0MsRUFBRSxHQUFXO1FBQ3JELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssU0FBUyxDQUFDO0lBQ2xELENBQUM7SUFFRCxRQUFRLENBQ04sTUFBa0MsRUFDbEMsR0FBVztRQUVYLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyQyxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsTUFBTSxDQUM3QixDQUFDLElBQXFCLEVBQUUsRUFBRSxDQUN4QixDQUFDLElBQUksQ0FBQyxJQUFJLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssR0FBRyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQzFFLENBQUM7UUFDRixPQUFPLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNsQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7U0FDdkI7UUFDRCxNQUFNLFFBQVEsR0FBc0IsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwRSxvREFBb0Q7UUFDcEQsTUFBTSxZQUFZLEdBQXNCLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDeEUsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLGNBQWMsQ0FBQyxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxFQUFFLEVBQXVCLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQztRQUU5QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQzs7c0lBdkNVLHFCQUFxQjswSUFBckIscUJBQXFCLGNBRnBCLE1BQU07NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0U2VydmljZSwgU2VydmljZUNhbGxUeXBlLCBUYXAgfSBmcm9tICdAaW90aXplL3RhcCc7XG5pbXBvcnQgeyBUYXBSZXF1ZXN0RnJhbWUgfSBmcm9tICdAaW90aXplL3RhcC9jbGllbnQvYXBpJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRhcEFwaUV4cGxvcmVyU2VydmljZSB7XG4gIF9hbGxQYXRocz86IFNlcnZpY2VDYWxsVHlwZVtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBnZXRCeU1ldGhvZChtZXRob2Q6IFRhcFJlcXVlc3RGcmFtZS5NZXRob2RUeXBlKTogU2VydmljZUNhbGxUeXBlW10ge1xuICAgIHJldHVybiB0aGlzLmxpc3RBbGxQYXRocygpLmZpbHRlcigoY2FsbCkgPT4gY2FsbC5tZXRob2QgPT09IG1ldGhvZCk7XG4gIH1cblxuICBoYXNQYXRoKG1ldGhvZDogVGFwUmVxdWVzdEZyYW1lLk1ldGhvZFR5cGUsIHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QnlVcmwobWV0aG9kLCB1cmwpICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRCeVVybChcbiAgICBtZXRob2Q6IFRhcFJlcXVlc3RGcmFtZS5NZXRob2RUeXBlLFxuICAgIHVybDogc3RyaW5nXG4gICk6IFNlcnZpY2VDYWxsVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYWxsUGF0aHMgPSB0aGlzLmxpc3RBbGxQYXRocygpO1xuICAgIGNvbnN0IHJlc3VsdHMgPSBhbGxQYXRocy5maWx0ZXIoXG4gICAgICAoY2FsbDogU2VydmljZUNhbGxUeXBlKSA9PlxuICAgICAgICAoY2FsbC5wYXRoID09PSB1cmwgfHwgY2FsbC5wYXRoQWxpYXMgPT09IHVybCkgJiYgY2FsbC5tZXRob2QgPT09IG1ldGhvZFxuICAgICk7XG4gICAgcmV0dXJuIHJlc3VsdHMubGVuZ3RoID4gMCA/IHJlc3VsdHNbMF0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBsaXN0QWxsUGF0aHMoKTogU2VydmljZUNhbGxUeXBlW10ge1xuICAgIGlmICh0aGlzLl9hbGxQYXRocykge1xuICAgICAgcmV0dXJuIHRoaXMuX2FsbFBhdGhzO1xuICAgIH1cbiAgICBjb25zdCBzZXJ2aWNlczogQWJzdHJhY3RTZXJ2aWNlW10gPSBUYXAuY3JlYXRlKCkuc2VydmljZS5zZXJ2aWNlcygpO1xuICAgIC8vIGxldCBzZXJ2aWNlTmFtZXMgPSBPYmplY3Qua2V5cyhzZXJ2aWNlQ29udGFpbmVyKTtcbiAgICBjb25zdCBhbGxSZXNvdXJjZXM6IFNlcnZpY2VDYWxsVHlwZVtdID0gc2VydmljZXMucmVkdWNlKChwcmV2LCBzZXJ2aWNlKSA9PiB7XG4gICAgICBjb25zdCByZXNvdXJjZXNBcnJheSA9IE9iamVjdC52YWx1ZXMoc2VydmljZS5yZXNvdXJjZXMpO1xuICAgICAgcHJldi5wdXNoKC4uLnJlc291cmNlc0FycmF5KTtcbiAgICAgIHJldHVybiBwcmV2O1xuICAgIH0sIFtdIGFzIFNlcnZpY2VDYWxsVHlwZVtdKTtcbiAgICB0aGlzLl9hbGxQYXRocyA9IGFsbFJlc291cmNlcztcblxuICAgIHJldHVybiB0aGlzLl9hbGxQYXRocztcbiAgfVxufVxuIl19