@nova-ui/bits
Version:
SolarWinds Nova Framework
70 lines • 11.1 kB
JavaScript
// © 2022 SolarWinds Worldwide, LLC. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to
// deal in the Software without restriction, including without limitation the
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
// sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE.
import { Inject, Injectable, Optional } from "@angular/core";
import { DEMO_PATH_TOKEN } from "../../../constants/path.constants";
import { LoggerService } from "../../../services/log-service";
import * as i0 from "@angular/core";
import * as i1 from "../../../services/log-service";
/** @ignore */
export class SourcesService {
constructor(logger, config) {
this.logger = logger;
this.config = config;
}
async getSourcesByFilenamePrefix(filenamePrefix) {
if (!this.config.context) {
this.logger.error(`You need to configure SourceService in the module where you import NuiDocsModule e.g. {` +
` provide: DEMO_PATH_TOKEN, useValue: getDemoFiles(<example>) }`);
return [];
}
const contentFiles = await Promise.all(this.config.files.map(async (file) => file.content().then((content) => ({
content,
path: file.path,
}))));
const filteredContentFiles = contentFiles.filter((file) => file.path.includes(`${filenamePrefix}/`) ||
file.path.includes("package.json"));
return filteredContentFiles.map((file) => ({
filePath: this.getTrimmedFilePath(file.path, filenamePrefix),
fileContent: file.content,
fileType: this.getFileType(file.path),
fileName: this.getFilename(file.path),
}));
}
getFilename(filePath) {
return filePath.split("/").pop() ?? "";
}
getFileType(filePath) {
return filePath.split(".").pop() ?? "";
}
getTrimmedFilePath(filePath, filenamePrefix) {
return filePath.slice(filePath.indexOf(filenamePrefix) + filenamePrefix.length + 1);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SourcesService, deps: [{ token: i1.LoggerService }, { token: DEMO_PATH_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SourcesService }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: SourcesService, decorators: [{
type: Injectable
}], ctorParameters: () => [{ type: i1.LoggerService }, { type: undefined, decorators: [{
type: Optional
}, {
type: Inject,
args: [DEMO_PATH_TOKEN]
}] }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic291cmNlcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9kb2NzL3NlcnZpY2VzL3NvdXJjZXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx5REFBeUQ7QUFDekQsRUFBRTtBQUNGLCtFQUErRTtBQUMvRSw0RUFBNEU7QUFDNUUsOEVBQThFO0FBQzlFLCtFQUErRTtBQUMvRSw4RUFBOEU7QUFDOUUsNERBQTREO0FBQzVELEVBQUU7QUFDRiw2RUFBNkU7QUFDN0UsdURBQXVEO0FBQ3ZELEVBQUU7QUFDRiw2RUFBNkU7QUFDN0UsNEVBQTRFO0FBQzVFLCtFQUErRTtBQUMvRSwwRUFBMEU7QUFDMUUsaUZBQWlGO0FBQ2pGLDZFQUE2RTtBQUM3RSxpQkFBaUI7QUFFakIsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQUc5RCxjQUFjO0FBRWQsTUFBTSxPQUFPLGNBQWM7SUFDdkIsWUFDWSxNQUFxQixFQUdyQixNQUF1QjtRQUh2QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBR3JCLFdBQU0sR0FBTixNQUFNLENBQWlCO0lBQ2hDLENBQUM7SUFFRyxLQUFLLENBQUMsMEJBQTBCLENBQ25DLGNBQXNCO1FBRXRCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRTtZQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDYix5RkFBeUY7Z0JBQ3JGLGdFQUFnRSxDQUN2RSxDQUFDO1lBQ0YsT0FBTyxFQUFFLENBQUM7U0FDYjtRQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDbEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUNqQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzlCLE9BQU87WUFDUCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7U0FDbEIsQ0FBQyxDQUFDLENBQ04sQ0FDSixDQUFDO1FBQ0YsTUFBTSxvQkFBb0IsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUM1QyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxjQUFjLEdBQUcsQ0FBQztZQUN4QyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FDekMsQ0FBQztRQUVGLE9BQU8sb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZDLFFBQVEsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxjQUFjLENBQUM7WUFDNUQsV0FBVyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3pCLFFBQVEsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDckMsUUFBUSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztTQUN4QyxDQUFDLENBQW1CLENBQUM7SUFDMUIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUFnQjtRQUNoQyxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQzNDLENBQUM7SUFFTyxXQUFXLENBQUMsUUFBZ0I7UUFDaEMsT0FBTyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRU8sa0JBQWtCLENBQ3RCLFFBQWdCLEVBQ2hCLGNBQXNCO1FBRXRCLE9BQU8sUUFBUSxDQUFDLEtBQUssQ0FDakIsUUFBUSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FDL0QsQ0FBQztJQUNOLENBQUM7K0dBeERRLGNBQWMsK0NBSVgsZUFBZTttSEFKbEIsY0FBYzs7NEZBQWQsY0FBYztrQkFEMUIsVUFBVTs7MEJBSUYsUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLy8gwqkgMjAyMiBTb2xhcldpbmRzIFdvcmxkd2lkZSwgTExDLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuLy9cbi8vIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHlcbi8vICBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0b1xuLy8gIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlXG4vLyAgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yXG4vLyAgc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXNcbi8vICBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluXG4vLyAgYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUlxuLy8gIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuLy8gIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRVxuLy8gIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVJcbi8vICBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuLy8gIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU5cbi8vICBUSEUgU09GVFdBUkUuXG5cbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBERU1PX1BBVEhfVE9LRU4gfSBmcm9tIFwiLi4vLi4vLi4vY29uc3RhbnRzL3BhdGguY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL2xvZy1zZXJ2aWNlXCI7XG5pbXBvcnQgeyBDb2RlU291cmNlRmlsZXMgfSBmcm9tIFwiLi4vLi4vLi4vdHlwZXNcIjtcblxuLyoqIEBpZ25vcmUgKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTb3VyY2VzU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgbG9nZ2VyOiBMb2dnZXJTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKVxuICAgICAgICBASW5qZWN0KERFTU9fUEFUSF9UT0tFTilcbiAgICAgICAgcHJpdmF0ZSBjb25maWc6IENvZGVTb3VyY2VGaWxlc1xuICAgICkge31cblxuICAgIHB1YmxpYyBhc3luYyBnZXRTb3VyY2VzQnlGaWxlbmFtZVByZWZpeChcbiAgICAgICAgZmlsZW5hbWVQcmVmaXg6IHN0cmluZ1xuICAgICk6IFByb21pc2U8RmlsZU1ldGFkYXRhW10+IHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbmZpZy5jb250ZXh0KSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcbiAgICAgICAgICAgICAgICBgWW91IG5lZWQgdG8gY29uZmlndXJlIFNvdXJjZVNlcnZpY2UgaW4gdGhlIG1vZHVsZSB3aGVyZSB5b3UgaW1wb3J0IE51aURvY3NNb2R1bGUgZS5nLiB7YCArXG4gICAgICAgICAgICAgICAgICAgIGAgcHJvdmlkZTogREVNT19QQVRIX1RPS0VOLCB1c2VWYWx1ZTogZ2V0RGVtb0ZpbGVzKDxleGFtcGxlPikgfWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm4gW107XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjb250ZW50RmlsZXMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLmZpbGVzLm1hcChhc3luYyAoZmlsZSkgPT5cbiAgICAgICAgICAgICAgICBmaWxlLmNvbnRlbnQoKS50aGVuKChjb250ZW50KSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgICAgICAgICBwYXRoOiBmaWxlLnBhdGgsXG4gICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICAgIGNvbnN0IGZpbHRlcmVkQ29udGVudEZpbGVzID0gY29udGVudEZpbGVzLmZpbHRlcihcbiAgICAgICAgICAgIChmaWxlKSA9PlxuICAgICAgICAgICAgICAgIGZpbGUucGF0aC5pbmNsdWRlcyhgJHtmaWxlbmFtZVByZWZpeH0vYCkgfHxcbiAgICAgICAgICAgICAgICBmaWxlLnBhdGguaW5jbHVkZXMoXCJwYWNrYWdlLmpzb25cIilcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gZmlsdGVyZWRDb250ZW50RmlsZXMubWFwKChmaWxlKSA9PiAoe1xuICAgICAgICAgICAgZmlsZVBhdGg6IHRoaXMuZ2V0VHJpbW1lZEZpbGVQYXRoKGZpbGUucGF0aCwgZmlsZW5hbWVQcmVmaXgpLFxuICAgICAgICAgICAgZmlsZUNvbnRlbnQ6IGZpbGUuY29udGVudCxcbiAgICAgICAgICAgIGZpbGVUeXBlOiB0aGlzLmdldEZpbGVUeXBlKGZpbGUucGF0aCksXG4gICAgICAgICAgICBmaWxlTmFtZTogdGhpcy5nZXRGaWxlbmFtZShmaWxlLnBhdGgpLFxuICAgICAgICB9KSkgYXMgRmlsZU1ldGFkYXRhW107XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRGaWxlbmFtZShmaWxlUGF0aDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGZpbGVQYXRoLnNwbGl0KFwiL1wiKS5wb3AoKSA/PyBcIlwiO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RmlsZVR5cGUoZmlsZVBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBmaWxlUGF0aC5zcGxpdChcIi5cIikucG9wKCkgPz8gXCJcIjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFRyaW1tZWRGaWxlUGF0aChcbiAgICAgICAgZmlsZVBhdGg6IHN0cmluZyxcbiAgICAgICAgZmlsZW5hbWVQcmVmaXg6IHN0cmluZ1xuICAgICk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBmaWxlUGF0aC5zbGljZShcbiAgICAgICAgICAgIGZpbGVQYXRoLmluZGV4T2YoZmlsZW5hbWVQcmVmaXgpICsgZmlsZW5hbWVQcmVmaXgubGVuZ3RoICsgMVxuICAgICAgICApO1xuICAgIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlTWV0YWRhdGEge1xuICAgIGZpbGVQYXRoOiBzdHJpbmc7XG4gICAgZmlsZUNvbnRlbnQ6IHN0cmluZztcbiAgICBmaWxlVHlwZTogc3RyaW5nO1xuICAgIGZpbGVOYW1lOiBzdHJpbmc7XG59XG4iXX0=