UNPKG

@iotize/ionic

Version:

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

41 lines 5.94 kB
import { Injectable } from '@angular/core'; import { Tap } from '@iotize/tap'; import * as i0 from "@angular/core"; export class TapApiExplorerService { _allPaths; 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 */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TapApiExplorerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); /** @nocollapse */ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TapApiExplorerService, providedIn: 'root' }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: TapApiExplorerService, decorators: [{ type: Injectable, args: [{ providedIn: 'root', }] }], ctorParameters: () => [] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFwLWFwaS1leHBsb3Jlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW90aXplLWlvbmljL3NyYy9saWIvdGFwLWFwaS1leHBsb3Jlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFvQyxHQUFHLEVBQUUsTUFBTSxhQUFhLENBQUM7O0FBTXBFLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsU0FBUyxDQUFxQjtJQUU5QixnQkFBZSxDQUFDO0lBRWhCLFdBQVcsQ0FBQyxNQUFrQztRQUM1QyxPQUFPLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssTUFBTSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUFrQyxFQUFFLEdBQVc7UUFDckQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxTQUFTLENBQUM7SUFDbEQsQ0FBQztJQUVELFFBQVEsQ0FDTixNQUFrQyxFQUNsQyxHQUFXO1FBRVgsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JDLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQzdCLENBQUMsSUFBcUIsRUFBRSxFQUFFLENBQ3hCLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxHQUFHLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLE1BQU0sQ0FDMUUsQ0FBQztRQUNGLE9BQU8sT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ3JELENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ3hCLENBQUM7UUFDRCxNQUFNLFFBQVEsR0FBc0IsR0FBRyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNwRSxvREFBb0Q7UUFDcEQsTUFBTSxZQUFZLEdBQXNCLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDeEUsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLGNBQWMsQ0FBQyxDQUFDO1lBQzdCLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxFQUFFLEVBQXVCLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQztRQUU5QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQzsySEF2Q1UscUJBQXFCOytIQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7NEZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0U2VydmljZSwgU2VydmljZUNhbGxUeXBlLCBUYXAgfSBmcm9tICdAaW90aXplL3RhcCc7XG5pbXBvcnQgeyBUYXBSZXF1ZXN0RnJhbWUgfSBmcm9tICdAaW90aXplL3RhcC9jbGllbnQvYXBpJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFRhcEFwaUV4cGxvcmVyU2VydmljZSB7XG4gIF9hbGxQYXRocz86IFNlcnZpY2VDYWxsVHlwZVtdO1xuXG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBnZXRCeU1ldGhvZChtZXRob2Q6IFRhcFJlcXVlc3RGcmFtZS5NZXRob2RUeXBlKTogU2VydmljZUNhbGxUeXBlW10ge1xuICAgIHJldHVybiB0aGlzLmxpc3RBbGxQYXRocygpLmZpbHRlcigoY2FsbCkgPT4gY2FsbC5tZXRob2QgPT09IG1ldGhvZCk7XG4gIH1cblxuICBoYXNQYXRoKG1ldGhvZDogVGFwUmVxdWVzdEZyYW1lLk1ldGhvZFR5cGUsIHVybDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0QnlVcmwobWV0aG9kLCB1cmwpICE9PSB1bmRlZmluZWQ7XG4gIH1cblxuICBnZXRCeVVybChcbiAgICBtZXRob2Q6IFRhcFJlcXVlc3RGcmFtZS5NZXRob2RUeXBlLFxuICAgIHVybDogc3RyaW5nXG4gICk6IFNlcnZpY2VDYWxsVHlwZSB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYWxsUGF0aHMgPSB0aGlzLmxpc3RBbGxQYXRocygpO1xuICAgIGNvbnN0IHJlc3VsdHMgPSBhbGxQYXRocy5maWx0ZXIoXG4gICAgICAoY2FsbDogU2VydmljZUNhbGxUeXBlKSA9PlxuICAgICAgICAoY2FsbC5wYXRoID09PSB1cmwgfHwgY2FsbC5wYXRoQWxpYXMgPT09IHVybCkgJiYgY2FsbC5tZXRob2QgPT09IG1ldGhvZFxuICAgICk7XG4gICAgcmV0dXJuIHJlc3VsdHMubGVuZ3RoID4gMCA/IHJlc3VsdHNbMF0gOiB1bmRlZmluZWQ7XG4gIH1cblxuICBsaXN0QWxsUGF0aHMoKTogU2VydmljZUNhbGxUeXBlW10ge1xuICAgIGlmICh0aGlzLl9hbGxQYXRocykge1xuICAgICAgcmV0dXJuIHRoaXMuX2FsbFBhdGhzO1xuICAgIH1cbiAgICBjb25zdCBzZXJ2aWNlczogQWJzdHJhY3RTZXJ2aWNlW10gPSBUYXAuY3JlYXRlKCkuc2VydmljZS5zZXJ2aWNlcygpO1xuICAgIC8vIGxldCBzZXJ2aWNlTmFtZXMgPSBPYmplY3Qua2V5cyhzZXJ2aWNlQ29udGFpbmVyKTtcbiAgICBjb25zdCBhbGxSZXNvdXJjZXM6IFNlcnZpY2VDYWxsVHlwZVtdID0gc2VydmljZXMucmVkdWNlKChwcmV2LCBzZXJ2aWNlKSA9PiB7XG4gICAgICBjb25zdCByZXNvdXJjZXNBcnJheSA9IE9iamVjdC52YWx1ZXMoc2VydmljZS5yZXNvdXJjZXMpO1xuICAgICAgcHJldi5wdXNoKC4uLnJlc291cmNlc0FycmF5KTtcbiAgICAgIHJldHVybiBwcmV2O1xuICAgIH0sIFtdIGFzIFNlcnZpY2VDYWxsVHlwZVtdKTtcbiAgICB0aGlzLl9hbGxQYXRocyA9IGFsbFJlc291cmNlcztcblxuICAgIHJldHVybiB0aGlzLl9hbGxQYXRocztcbiAgfVxufVxuIl19