UNPKG

@atomist/org-visualizer

Version:

Organization Visualizer using Atomist project scanning

78 lines 3.29 kB
"use strict"; /* * Copyright © 2019 Atomist, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const sdm_pack_fingerprints_1 = require("@atomist/sdm-pack-fingerprints"); const _ = require("lodash"); function assembledAspect(opts, ...extractors) { return Object.assign({}, opts, { derive: (pa) => __awaiter(this, void 0, void 0, function* () { const qualifyingPathValues = []; for (const extractor of extractors) { const value = applyExtractor(extractor, pa); if (!!value) { qualifyingPathValues.push(value); } } return qualifyingPathValues.length > 0 ? { name: opts.name, abbreviation: opts.name, version: "0.1.0", data: qualifyingPathValues, sha: sdm_pack_fingerprints_1.sha256(JSON.stringify(qualifyingPathValues)), } : undefined; }), apply: undefined }); } exports.assembledAspect = assembledAspect; function applyExtractor(extractor, pa) { return typeof extractor === "string" ? _.get(pa, extractor) : extractor(pa); } /** * Composite aspect */ function aspectOf(opts, ...aspects) { return Object.assign({}, opts, { extract: (p) => __awaiter(this, void 0, void 0, function* () { const qualifyingPathValues = []; for (const aspect of aspects) { const value = aspect.extract(p); if (!!value) { qualifyingPathValues.push(value); } } return qualifyingPathValues.length > 0 ? { name, abbreviation: name, version: "0.1.0", data: qualifyingPathValues, sha: sdm_pack_fingerprints_1.sha256(JSON.stringify(qualifyingPathValues)), } : undefined; }), apply: undefined }); } exports.aspectOf = aspectOf; //# sourceMappingURL=assembledAspect.js.map