UNPKG

@gooddata/gooddata-js

Version:
48 lines (47 loc) 2.19 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); // (C) 2007-2018 GoodData Corporation var get_1 = __importDefault(require("lodash/get")); var set_1 = __importDefault(require("lodash/set")); function getAttributeUris(displayForms) { return displayForms.map(function (displayForm) { return get_1.default(displayForm, ["attributeDisplayForm", "content", "formOf"]); }); } function createAttributesMap(displayForms, attributes) { return displayForms.reduce(function (attributesMap, displayForm) { var dfUri = get_1.default(displayForm, ["attributeDisplayForm", "meta", "uri"]); var attribute = attributes.find(function (attr) { return get_1.default(attr, ["attribute", "meta", "uri"]) === get_1.default(displayForm, ["attributeDisplayForm", "content", "formOf"]); }); return set_1.default(attributesMap, [dfUri], attribute); }, {}); } function getMissingUrisInAttributesMap(displayFormsUris, attributesMap) { var uris = displayFormsUris || []; return uris.filter(function (uri) { return !attributesMap[uri]; }); } exports.getMissingUrisInAttributesMap = getMissingUrisInAttributesMap; var AttributesMapLoaderModule = /** @class */ (function () { function AttributesMapLoaderModule(md) { this.md = md; } AttributesMapLoaderModule.prototype.loadAttributesMap = function (projectId, attributeDisplayFormUris) { var _this = this; if (attributeDisplayFormUris.length === 0) { return Promise.resolve({}); } return this.md.getObjects(projectId, attributeDisplayFormUris).then(function (displayForms) { var attributeUris = getAttributeUris(displayForms); return _this.md.getObjects(projectId, attributeUris).then(function (attributes) { return createAttributesMap(displayForms, attributes); }); }); }; return AttributesMapLoaderModule; }()); exports.AttributesMapLoaderModule = AttributesMapLoaderModule;