@iotize/ionic
Version:
Iotize specific building blocks on top of @ionic/angular.
41 lines • 5.94 kB
JavaScript
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