1 | "use strict";
|
2 | var __importDefault = (this && this.__importDefault) || function (mod) {
|
3 | return (mod && mod.__esModule) ? mod : { "default": mod };
|
4 | };
|
5 | Object.defineProperty(exports, "__esModule", { value: true });
|
6 |
|
7 | var get_1 = __importDefault(require("lodash/get"));
|
8 | var set_1 = __importDefault(require("lodash/set"));
|
9 | function getAttributeUris(displayForms) {
|
10 | return displayForms.map(function (displayForm) {
|
11 | return get_1.default(displayForm, ["attributeDisplayForm", "content", "formOf"]);
|
12 | });
|
13 | }
|
14 | function 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 | }
|
24 | function getMissingUrisInAttributesMap(displayFormsUris, attributesMap) {
|
25 | var uris = displayFormsUris || [];
|
26 | return uris.filter(function (uri) { return !attributesMap[uri]; });
|
27 | }
|
28 | exports.getMissingUrisInAttributesMap = getMissingUrisInAttributesMap;
|
29 | var AttributesMapLoaderModule = (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 | }());
|
47 | exports.AttributesMapLoaderModule = AttributesMapLoaderModule;
|