UNPKG

2.19 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6// (C) 2007-2018 GoodData Corporation
7var get_1 = __importDefault(require("lodash/get"));
8var set_1 = __importDefault(require("lodash/set"));
9function getAttributeUris(displayForms) {
10 return displayForms.map(function (displayForm) {
11 return get_1.default(displayForm, ["attributeDisplayForm", "content", "formOf"]);
12 });
13}
14function createAttributesMap(displayForms, attributes) {
15 return displayForms.reduce(function (attributesMap, displayForm) {
16 var dfUri = get_1.default(displayForm, ["attributeDisplayForm", "meta", "uri"]);
17 var attribute = attributes.find(function (attr) {
18 return get_1.default(attr, ["attribute", "meta", "uri"]) ===
19 get_1.default(displayForm, ["attributeDisplayForm", "content", "formOf"]);
20 });
21 return set_1.default(attributesMap, [dfUri], attribute);
22 }, {});
23}
24function getMissingUrisInAttributesMap(displayFormsUris, attributesMap) {
25 var uris = displayFormsUris || [];
26 return uris.filter(function (uri) { return !attributesMap[uri]; });
27}
28exports.getMissingUrisInAttributesMap = getMissingUrisInAttributesMap;
29var AttributesMapLoaderModule = /** @class */ (function () {
30 function AttributesMapLoaderModule(md) {
31 this.md = md;
32 }
33 AttributesMapLoaderModule.prototype.loadAttributesMap = function (projectId, attributeDisplayFormUris) {
34 var _this = this;
35 if (attributeDisplayFormUris.length === 0) {
36 return Promise.resolve({});
37 }
38 return this.md.getObjects(projectId, attributeDisplayFormUris).then(function (displayForms) {
39 var attributeUris = getAttributeUris(displayForms);
40 return _this.md.getObjects(projectId, attributeUris).then(function (attributes) {
41 return createAttributesMap(displayForms, attributes);
42 });
43 });
44 };
45 return AttributesMapLoaderModule;
46}());
47exports.AttributesMapLoaderModule = AttributesMapLoaderModule;