@esri/hub-common 9.25.0 → 9.25.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.fetchHubEnrichmentsById = exports.fetchHubEnrichmentsBySlug = exports.getContentEnrichments = void 0;
4
+ const _enrichments_1 = require("../items/_enrichments");
4
5
  const request_1 = require("../request");
5
6
  const urls_1 = require("../urls");
6
7
  const util_1 = require("../util");
@@ -44,7 +45,9 @@ exports.getContentEnrichments = (item) => {
44
45
  // that we fetch from the Hub API, and to optionally filter by slug
45
46
  const getHubEnrichmentsOptions = (requestOptions, slug) => {
46
47
  const opts = util_1.cloneObject(requestOptions);
47
- opts.params = Object.assign(Object.assign({}, opts.params), { "fields[datasets]": "slug,boundary,extent,searchDescription,statistics" });
48
+ opts.params = Object.assign(Object.assign({}, opts.params), {
49
+ // TODO: we should fetch errors too
50
+ "fields[datasets]": "slug,boundary,extent,searchDescription,statistics" });
48
51
  if (slug) {
49
52
  opts.params["filter[slug]"] = slug;
50
53
  }
@@ -73,6 +76,9 @@ const getDatasetEnrichments = (dataset) => {
73
76
  * @private
74
77
  */
75
78
  exports.fetchHubEnrichmentsBySlug = async (slug, requestOptions) => {
79
+ // NOTE: we don't catch errors here b/c
80
+ // searching by slug is the first step in fetchContent()
81
+ // and if this fails, we don't have an id to fall back on
76
82
  const response = await request_1.hubApiRequest(`/datasets`, getHubEnrichmentsOptions(requestOptions, slug));
77
83
  return getDatasetEnrichments(response.data[0]);
78
84
  };
@@ -84,7 +90,14 @@ exports.fetchHubEnrichmentsBySlug = async (slug, requestOptions) => {
84
90
  * @private
85
91
  */
86
92
  exports.fetchHubEnrichmentsById = async (hubId, requestOptions) => {
87
- const response = await request_1.hubApiRequest(`/datasets/${hubId}`, getHubEnrichmentsOptions(requestOptions));
88
- return getDatasetEnrichments(response.data);
93
+ try {
94
+ const response = await request_1.hubApiRequest(`/datasets/${hubId}`, getHubEnrichmentsOptions(requestOptions));
95
+ return getDatasetEnrichments(response.data);
96
+ }
97
+ catch (e) {
98
+ // dataset record not found, just log the error
99
+ // b/c we can still look up the item and enrichments by id
100
+ return { errors: _enrichments_1.getEnrichmentErrors(e) };
101
+ }
89
102
  };
90
103
  //# sourceMappingURL=_fetch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_fetch.js","sourceRoot":"","sources":["../../../src/content/_fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_fetch.js","sourceRoot":"","sources":["../../../src/content/_fetch.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ const arcgis_rest_feature_layer_1 = require("@esri/arcgis-rest-feature-layer");
6
6
  const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
7
7
  const _enrichments_1 = require("../items/_enrichments");
8
8
  const util_1 = require("../util");
9
+ const _array_1 = require("../utils/_array");
9
10
  const slugs_1 = require("./slugs");
10
11
  const _fetch_1 = require("./_fetch");
11
12
  const _internal_1 = require("./_internal");
@@ -23,8 +24,9 @@ const maybeFetchLayerEnrichments = async (itemAndEnrichments, options) => {
23
24
  // we just fetch the item data for all layer views
24
25
  await _enrichments_1.fetchItemEnrichments(item, ["data"], options)
25
26
  : undefined;
26
- // TODO: merge errors
27
- return Object.assign(Object.assign({}, itemAndEnrichments), layerEnrichments);
27
+ return Object.assign(Object.assign(Object.assign({}, itemAndEnrichments), layerEnrichments), {
28
+ // merge error arrays
29
+ errors: _array_1.maybeConcat([itemAndEnrichments.errors, layerEnrichments === null || layerEnrichments === void 0 ? void 0 : layerEnrichments.errors]) });
28
30
  };
29
31
  const fetchItemAndEnrichments = async (itemId, options) => {
30
32
  // fetch the item
@@ -42,14 +44,17 @@ const fetchContentById = async (hubId, options) => {
42
44
  const specifiedLayerId = options && options.layerId;
43
45
  // if this is a public item and we're not in enterprise
44
46
  // fetch the slug and remaining enrichments from the Hub API
45
- const { slug, layerId, boundary, extent, searchDescription, statistics } = _internal_1.canUseHubApiForItem(item, options)
47
+ // const { slug, layerId, boundary, extent, searchDescription, statistics } =
48
+ const hubEnrichments = _internal_1.canUseHubApiForItem(item, options)
46
49
  ? await _fetch_1.fetchHubEnrichmentsById(hubId, options)
47
50
  : {};
51
+ const layerId = hubEnrichments.layerId;
48
52
  // return a new content object composed from the item and enrichments we fetched
49
- return compose_1.composeContent(item, Object.assign(Object.assign({ requestOptions: options }, itemEnrichments), { slug, layerId: util_1.isNil(specifiedLayerId) ? layerId : specifiedLayerId, boundary,
50
- extent,
51
- searchDescription,
52
- statistics }));
53
+ return compose_1.composeContent(item, Object.assign(Object.assign(Object.assign({ requestOptions: options }, itemEnrichments), hubEnrichments), {
54
+ // prefer specified layer id if any
55
+ layerId: util_1.isNil(specifiedLayerId) ? layerId : specifiedLayerId,
56
+ // merge error arrays
57
+ errors: _array_1.maybeConcat([itemEnrichments.errors, hubEnrichments.errors]) }));
53
58
  };
54
59
  const fetchContentBySlug = async (fullyQualifiedSlug, options) => {
55
60
  // we only have a slug, not an item id, so we start by
@@ -63,24 +68,23 @@ const fetchContentBySlug = async (fullyQualifiedSlug, options) => {
63
68
  // did the caller request a specific layer
64
69
  const specifiedLayerId = options && options.layerId;
65
70
  if (!util_1.isNil(specifiedLayerId) && specifiedLayerId !== layerId) {
66
- // we fetched Hub enrichments by slug for another dataset,
67
- // most likely for the parent service of this layer,
68
- // we need to fetch them for the specified layer instead
71
+ // we fetched Hub enrichments by slug for another record,
72
+ // most likely the record for the parent service of this layer,
73
+ // so we need to fetch them for the specified layer instead
69
74
  layerId = specifiedLayerId;
70
- hubEnrichments = await _fetch_1.fetchHubEnrichmentsById(`${itemId}_${layerId}`, options);
75
+ hubEnrichments = Object.assign(Object.assign({}, hubEnrichments), (await _fetch_1.fetchHubEnrichmentsById(`${itemId}_${layerId}`, options)));
71
76
  }
72
- // Note that we are not extracting the slug for the specified layer.
73
- // It seems that the old client composer code always populated the slug
74
- // field with the slug that was passed into the function (typically the
75
- // slug of the parent service). To maintain parity, we do the same here.
76
- //
77
- // TODO: should we prefer the slug of the fetched layer instead?
78
- const { boundary, extent, searchDescription, statistics } = hubEnrichments;
79
- // return a new content object composed from the item and enrichments we fetched
80
- return compose_1.composeContent(item, Object.assign(Object.assign({ requestOptions: options }, itemEnrichments), { layerId, slug: fullyQualifiedSlug, boundary,
81
- extent,
82
- searchDescription,
83
- statistics }));
77
+ return compose_1.composeContent(item, Object.assign(Object.assign(Object.assign({ requestOptions: options }, itemEnrichments), hubEnrichments), { layerId,
78
+ // Note that we are not extracting the slug for the specified layer.
79
+ // It seems that the old client composer code always populated the slug
80
+ // field with the slug that was passed into the function (typically the
81
+ // slug of the parent service). To maintain parity, we do the same here.
82
+ //
83
+ // TODO: should we prefer the slug of the fetched layer instead?
84
+ // return a new content object composed from the item and enrichments we fetched
85
+ slug: fullyQualifiedSlug,
86
+ // merge error arrays
87
+ errors: _array_1.maybeConcat([itemEnrichments.errors, hubEnrichments.errors]) }));
84
88
  };
85
89
  const fetchContentRecordCount = async (content, requestOptions) => {
86
90
  const { url, viewDefinition } = content;
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/content/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../src/content/fetch.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchItemEnrichments = void 0;
3
+ exports.fetchItemEnrichments = exports.getEnrichmentErrors = void 0;
4
4
  const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
5
  const arcgis_rest_feature_layer_1 = require("@esri/arcgis-rest-feature-layer");
6
6
  const utils_1 = require("../utils");
@@ -129,29 +129,44 @@ const enrichLayers = (input) => {
129
129
  const handleEnrichmentError = (error, input, opId) => {
130
130
  const { data, stack, requestOptions } = input;
131
131
  stack.finish(opId, { error });
132
- const message = typeof error === "string"
133
- ? /* istanbul ignore next our tests only throw Error objects */
134
- error
135
- : error.message;
136
- const errors = data.errors || [];
137
- errors.push({
138
- // NOTE: for now we just return the message and type "Other"
139
- // but we could later introspect for HTTP or AGO errors
140
- // and/or return the status code if available
141
- type: "Other",
142
- message,
143
- });
144
- return { data: Object.assign(Object.assign({}, data), { errors }), stack, requestOptions };
132
+ return {
133
+ data: Object.assign(Object.assign({}, data), { errors: exports.getEnrichmentErrors(error, data.errors) }),
134
+ stack,
135
+ requestOptions,
136
+ };
145
137
  };
146
138
  const enrichmentOperations = {
147
139
  groupIds: enrichGroupIds,
148
140
  metadata: enrichMetadata,
149
141
  ownerUser: enrichOwnerUser,
150
- // TOOD: org
151
142
  data: enrichData,
152
143
  server: enrichServer,
153
144
  layers: enrichLayers,
154
145
  };
146
+ /**
147
+ * convert an error to an enrichment error info format
148
+ * and optionally append it to an existing array of those
149
+ * @param error
150
+ * @param errors an array of existing enrichment error info
151
+ * @returns a new array of enrichment error info
152
+ * @private
153
+ */
154
+ exports.getEnrichmentErrors = (error, errors = []) => {
155
+ const message = typeof error === "string"
156
+ ? /* istanbul ignore next our tests only throw Error objects */
157
+ error
158
+ : error.message;
159
+ return [
160
+ ...errors,
161
+ {
162
+ // NOTE: for now we just return the message and type "Other"
163
+ // but we could later introspect for HTTP or AGO errors
164
+ // and/or return the status code if available
165
+ type: "Other",
166
+ message,
167
+ },
168
+ ];
169
+ };
155
170
  /**
156
171
  * Fetch enrichments for an item
157
172
  * @param item
@@ -1 +1 @@
1
- {"version":3,"file":"_enrichments.js","sourceRoot":"","sources":["../../../src/items/_enrichments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_enrichments.js","sourceRoot":"","sources":["../../../src/items/_enrichments.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.maybeConcat = void 0;
4
+ /**
5
+ * concat an array of arrays
6
+ * excluding any elements of the top level array
7
+ * that are not actually arrays
8
+ * @param arrays An array of arrays
9
+ * @returns concatenated array
10
+ * @private
11
+ */
12
+ exports.maybeConcat = (arrays) => {
13
+ const result = [].concat.apply([], arrays.filter(Array.isArray));
14
+ return result.length ? result : undefined;
15
+ };
16
+ //# sourceMappingURL=_array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_array.js","sourceRoot":"","sources":["../../../src/utils/_array.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACU,QAAA,WAAW,GAAG,CAAC,MAAe,EAAE,EAAE;IAC7C,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IACjE,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAC5C,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { IItem } from "@esri/arcgis-rest-portal";
2
2
  import { ItemOrServerEnrichment } from "../items/_enrichments";
3
- import { BBox, IHubRequestOptions, IHubGeography } from "../types";
3
+ import { BBox, IHubRequestOptions, IHubGeography, IEnrichmentErrorInfo } from "../types";
4
4
  /**
5
5
  * get the default list of enrichments to fetch for content
6
6
  * @param item
@@ -18,7 +18,7 @@ export interface IHubExtent {
18
18
  * The set of enrichments that we fetch from the Hub API
19
19
  */
20
20
  export interface IDatasetEnrichments {
21
- itemId: string;
21
+ itemId?: string;
22
22
  layerId?: number;
23
23
  slug?: string;
24
24
  /**
@@ -41,6 +41,11 @@ export interface IDatasetEnrichments {
41
41
  * Pre-computed field statistics (min, max, average, etc)
42
42
  */
43
43
  statistics?: any;
44
+ /**
45
+ * Any errors encountered when fetching enrichments
46
+ * see https://github.com/ArcGIS/hub-indexer/blob/master/docs/errors.md#response-formatting-for-errors
47
+ */
48
+ errors?: IEnrichmentErrorInfo[];
44
49
  }
45
50
  /**
46
51
  * fetch enrichment from the Hub API by slug
@@ -49,7 +54,7 @@ export interface IDatasetEnrichments {
49
54
  * @returns enrichments from the Hub API (slug, boundary, statistic, etc)
50
55
  * @private
51
56
  */
52
- export declare const fetchHubEnrichmentsBySlug: (slug: string, requestOptions: IHubRequestOptions) => Promise<IDatasetEnrichments>;
57
+ export declare const fetchHubEnrichmentsBySlug: (slug: string, requestOptions?: IHubRequestOptions) => Promise<IDatasetEnrichments>;
53
58
  /**
54
59
  * fetch enrichment from the Hub API by id
55
60
  * @param slug
@@ -57,4 +62,4 @@ export declare const fetchHubEnrichmentsBySlug: (slug: string, requestOptions: I
57
62
  * @returns enrichments from the Hub API (slug, boundary, statistic, etc)
58
63
  * @private
59
64
  */
60
- export declare const fetchHubEnrichmentsById: (hubId: string, requestOptions: IHubRequestOptions) => Promise<IDatasetEnrichments>;
65
+ export declare const fetchHubEnrichmentsById: (hubId: string, requestOptions?: IHubRequestOptions) => Promise<IDatasetEnrichments>;
@@ -1,6 +1,6 @@
1
1
  import { IItem } from "@esri/arcgis-rest-portal";
2
2
  import { IItemEnrichments, IServerEnrichments } from "../core";
3
- import { IHubRequestOptions } from "../types";
3
+ import { IEnrichmentErrorInfo, IHubRequestOptions } from "../types";
4
4
  /**
5
5
  * An object containing the item and fetched enrichments
6
6
  */
@@ -13,6 +13,15 @@ export interface IItemAndEnrichments extends IItemEnrichments, IServerEnrichment
13
13
  * or from the server that the item points to
14
14
  */
15
15
  export declare type ItemOrServerEnrichment = keyof IItemEnrichments | keyof IServerEnrichments;
16
+ /**
17
+ * convert an error to an enrichment error info format
18
+ * and optionally append it to an existing array of those
19
+ * @param error
20
+ * @param errors an array of existing enrichment error info
21
+ * @returns a new array of enrichment error info
22
+ * @private
23
+ */
24
+ export declare const getEnrichmentErrors: (error: Error | string, errors?: IEnrichmentErrorInfo[]) => IEnrichmentErrorInfo[];
16
25
  /**
17
26
  * Fetch enrichments for an item
18
27
  * @param item
@@ -0,0 +1,9 @@
1
+ /**
2
+ * concat an array of arrays
3
+ * excluding any elements of the top level array
4
+ * that are not actually arrays
5
+ * @param arrays An array of arrays
6
+ * @returns concatenated array
7
+ * @private
8
+ */
9
+ export declare const maybeConcat: (arrays: any[][]) => any[];
@@ -1,5 +1,5 @@
1
1
  /* @preserve
2
- * @esri/hub-common - v9.24.2 - Wed Mar 23 2022 22:47:07 GMT+0000 (Coordinated Universal Time)
2
+ * @esri/hub-common - v9.25.0 - Thu Mar 24 2022 17:15:40 GMT+0000 (Coordinated Universal Time)
3
3
  * Copyright (c) 2022 Environmental Systems Research Institute, Inc.
4
4
  * Apache-2.0
5
5
  */
@@ -8755,29 +8755,44 @@
8755
8755
  var handleEnrichmentError = function (error, input, opId) {
8756
8756
  var data = input.data, stack = input.stack, requestOptions = input.requestOptions;
8757
8757
  stack.finish(opId, { error: error });
8758
- var message = typeof error === "string"
8759
- ? /* istanbul ignore next our tests only throw Error objects */
8760
- error
8761
- : error.message;
8762
- var errors = data.errors || [];
8763
- errors.push({
8764
- // NOTE: for now we just return the message and type "Other"
8765
- // but we could later introspect for HTTP or AGO errors
8766
- // and/or return the status code if available
8767
- type: "Other",
8768
- message: message,
8769
- });
8770
- return { data: __assign(__assign({}, data), { errors: errors }), stack: stack, requestOptions: requestOptions };
8758
+ return {
8759
+ data: __assign(__assign({}, data), { errors: getEnrichmentErrors(error, data.errors) }),
8760
+ stack: stack,
8761
+ requestOptions: requestOptions,
8762
+ };
8771
8763
  };
8772
8764
  var enrichmentOperations = {
8773
8765
  groupIds: enrichGroupIds,
8774
8766
  metadata: enrichMetadata,
8775
8767
  ownerUser: enrichOwnerUser,
8776
- // TOOD: org
8777
8768
  data: enrichData,
8778
8769
  server: enrichServer,
8779
8770
  layers: enrichLayers,
8780
8771
  };
8772
+ /**
8773
+ * convert an error to an enrichment error info format
8774
+ * and optionally append it to an existing array of those
8775
+ * @param error
8776
+ * @param errors an array of existing enrichment error info
8777
+ * @returns a new array of enrichment error info
8778
+ * @private
8779
+ */
8780
+ var getEnrichmentErrors = function (error, errors) {
8781
+ if (errors === void 0) { errors = []; }
8782
+ var message = typeof error === "string"
8783
+ ? /* istanbul ignore next our tests only throw Error objects */
8784
+ error
8785
+ : error.message;
8786
+ return __spreadArrays(errors, [
8787
+ {
8788
+ // NOTE: for now we just return the message and type "Other"
8789
+ // but we could later introspect for HTTP or AGO errors
8790
+ // and/or return the status code if available
8791
+ type: "Other",
8792
+ message: message,
8793
+ },
8794
+ ]);
8795
+ };
8781
8796
  /**
8782
8797
  * Fetch enrichments for an item
8783
8798
  * @param item
@@ -8803,6 +8818,19 @@
8803
8818
  }).then(function (output) { return output.data; });
8804
8819
  };
8805
8820
 
8821
+ /**
8822
+ * concat an array of arrays
8823
+ * excluding any elements of the top level array
8824
+ * that are not actually arrays
8825
+ * @param arrays An array of arrays
8826
+ * @returns concatenated array
8827
+ * @private
8828
+ */
8829
+ var maybeConcat = function (arrays) {
8830
+ var result = [].concat.apply([], arrays.filter(Array.isArray));
8831
+ return result.length ? result : undefined;
8832
+ };
8833
+
8806
8834
  /**
8807
8835
  * remote server error
8808
8836
  */
@@ -8906,7 +8934,9 @@
8906
8934
  // that we fetch from the Hub API, and to optionally filter by slug
8907
8935
  var getHubEnrichmentsOptions = function (requestOptions, slug) {
8908
8936
  var opts = cloneObject$1(requestOptions);
8909
- opts.params = __assign(__assign({}, opts.params), { "fields[datasets]": "slug,boundary,extent,searchDescription,statistics" });
8937
+ opts.params = __assign(__assign({}, opts.params), {
8938
+ // TODO: we should fetch errors too
8939
+ "fields[datasets]": "slug,boundary,extent,searchDescription,statistics" });
8910
8940
  if (slug) {
8911
8941
  opts.params["filter[slug]"] = slug;
8912
8942
  }
@@ -8953,13 +8983,21 @@
8953
8983
  * @private
8954
8984
  */
8955
8985
  var fetchHubEnrichmentsById = function (hubId, requestOptions) { return __awaiter(void 0, void 0, void 0, function () {
8956
- var response;
8986
+ var response, e_1;
8957
8987
  return __generator(this, function (_a) {
8958
8988
  switch (_a.label) {
8959
- case 0: return [4 /*yield*/, hubApiRequest("/datasets/" + hubId, getHubEnrichmentsOptions(requestOptions))];
8989
+ case 0:
8990
+ _a.trys.push([0, 2, , 3]);
8991
+ return [4 /*yield*/, hubApiRequest("/datasets/" + hubId, getHubEnrichmentsOptions(requestOptions))];
8960
8992
  case 1:
8961
8993
  response = _a.sent();
8962
8994
  return [2 /*return*/, getDatasetEnrichments(response.data)];
8995
+ case 2:
8996
+ e_1 = _a.sent();
8997
+ // dataset record not found, just log the error
8998
+ // b/c we can still look up the item and enrichments by id
8999
+ return [2 /*return*/, { errors: getEnrichmentErrors(e_1) }];
9000
+ case 3: return [2 /*return*/];
8963
9001
  }
8964
9002
  });
8965
9003
  }); };
@@ -8990,8 +9028,9 @@
8990
9028
  _b.label = 3;
8991
9029
  case 3:
8992
9030
  layerEnrichments = _a;
8993
- // TODO: merge errors
8994
- return [2 /*return*/, __assign(__assign({}, itemAndEnrichments), layerEnrichments)];
9031
+ return [2 /*return*/, __assign(__assign(__assign({}, itemAndEnrichments), layerEnrichments), {
9032
+ // merge error arrays
9033
+ errors: maybeConcat([itemAndEnrichments.errors, layerEnrichments === null || layerEnrichments === void 0 ? void 0 : layerEnrichments.errors]) })];
8995
9034
  }
8996
9035
  });
8997
9036
  }); };
@@ -9011,62 +9050,69 @@
9011
9050
  });
9012
9051
  }); };
9013
9052
  var fetchContentById = function (hubId, options) { return __awaiter(void 0, void 0, void 0, function () {
9014
- var itemId, _a, item, itemEnrichments, specifiedLayerId, _b, slug, layerId, boundary, extent, searchDescription, statistics, _c;
9015
- return __generator(this, function (_d) {
9016
- switch (_d.label) {
9053
+ var itemId, _a, item, itemEnrichments, specifiedLayerId, hubEnrichments, _b, layerId;
9054
+ return __generator(this, function (_c) {
9055
+ switch (_c.label) {
9017
9056
  case 0:
9018
9057
  itemId = parseDatasetId(hubId).itemId;
9019
9058
  return [4 /*yield*/, fetchItemAndEnrichments(itemId, options)];
9020
9059
  case 1:
9021
- _a = _d.sent(), item = _a.item, itemEnrichments = __rest(_a, ["item"]);
9060
+ _a = _c.sent(), item = _a.item, itemEnrichments = __rest(_a, ["item"]);
9022
9061
  specifiedLayerId = options && options.layerId;
9023
9062
  if (!canUseHubApiForItem(item, options)) return [3 /*break*/, 3];
9024
9063
  return [4 /*yield*/, fetchHubEnrichmentsById(hubId, options)];
9025
9064
  case 2:
9026
- _c = _d.sent();
9065
+ _b = _c.sent();
9027
9066
  return [3 /*break*/, 4];
9028
9067
  case 3:
9029
- _c = {};
9030
- _d.label = 4;
9068
+ _b = {};
9069
+ _c.label = 4;
9031
9070
  case 4:
9032
- _b = _c, slug = _b.slug, layerId = _b.layerId, boundary = _b.boundary, extent = _b.extent, searchDescription = _b.searchDescription, statistics = _b.statistics;
9071
+ hubEnrichments = _b;
9072
+ layerId = hubEnrichments.layerId;
9033
9073
  // return a new content object composed from the item and enrichments we fetched
9034
- return [2 /*return*/, composeContent(item, __assign(__assign({ requestOptions: options }, itemEnrichments), { slug: slug, layerId: isNil(specifiedLayerId) ? layerId : specifiedLayerId, boundary: boundary,
9035
- extent: extent,
9036
- searchDescription: searchDescription,
9037
- statistics: statistics }))];
9074
+ return [2 /*return*/, composeContent(item, __assign(__assign(__assign({ requestOptions: options }, itemEnrichments), hubEnrichments), {
9075
+ // prefer specified layer id if any
9076
+ layerId: isNil(specifiedLayerId) ? layerId : specifiedLayerId,
9077
+ // merge error arrays
9078
+ errors: maybeConcat([itemEnrichments.errors, hubEnrichments.errors]) }))];
9038
9079
  }
9039
9080
  });
9040
9081
  }); };
9041
9082
  var fetchContentBySlug = function (fullyQualifiedSlug, options) { return __awaiter(void 0, void 0, void 0, function () {
9042
- var hubEnrichments, itemId, layerId, _a, item, itemEnrichments, specifiedLayerId, boundary, extent, searchDescription, statistics;
9043
- return __generator(this, function (_b) {
9044
- switch (_b.label) {
9083
+ var hubEnrichments, itemId, layerId, _a, item, itemEnrichments, specifiedLayerId, _b;
9084
+ return __generator(this, function (_c) {
9085
+ switch (_c.label) {
9045
9086
  case 0: return [4 /*yield*/, fetchHubEnrichmentsBySlug(fullyQualifiedSlug, options)];
9046
9087
  case 1:
9047
- hubEnrichments = _b.sent();
9088
+ hubEnrichments = _c.sent();
9048
9089
  itemId = hubEnrichments.itemId;
9049
9090
  layerId = hubEnrichments.layerId;
9050
9091
  return [4 /*yield*/, fetchItemAndEnrichments(itemId, options)];
9051
9092
  case 2:
9052
- _a = _b.sent(), item = _a.item, itemEnrichments = __rest(_a, ["item"]);
9093
+ _a = _c.sent(), item = _a.item, itemEnrichments = __rest(_a, ["item"]);
9053
9094
  specifiedLayerId = options && options.layerId;
9054
9095
  if (!(!isNil(specifiedLayerId) && specifiedLayerId !== layerId)) return [3 /*break*/, 4];
9055
- // we fetched Hub enrichments by slug for another dataset,
9056
- // most likely for the parent service of this layer,
9057
- // we need to fetch them for the specified layer instead
9096
+ // we fetched Hub enrichments by slug for another record,
9097
+ // most likely the record for the parent service of this layer,
9098
+ // so we need to fetch them for the specified layer instead
9058
9099
  layerId = specifiedLayerId;
9100
+ _b = [__assign({}, hubEnrichments)];
9059
9101
  return [4 /*yield*/, fetchHubEnrichmentsById(itemId + "_" + layerId, options)];
9060
9102
  case 3:
9061
- hubEnrichments = _b.sent();
9062
- _b.label = 4;
9063
- case 4:
9064
- boundary = hubEnrichments.boundary, extent = hubEnrichments.extent, searchDescription = hubEnrichments.searchDescription, statistics = hubEnrichments.statistics;
9065
- // return a new content object composed from the item and enrichments we fetched
9066
- return [2 /*return*/, composeContent(item, __assign(__assign({ requestOptions: options }, itemEnrichments), { layerId: layerId, slug: fullyQualifiedSlug, boundary: boundary,
9067
- extent: extent,
9068
- searchDescription: searchDescription,
9069
- statistics: statistics }))];
9103
+ hubEnrichments = __assign.apply(void 0, _b.concat([(_c.sent())]));
9104
+ _c.label = 4;
9105
+ case 4: return [2 /*return*/, composeContent(item, __assign(__assign(__assign({ requestOptions: options }, itemEnrichments), hubEnrichments), { layerId: layerId,
9106
+ // Note that we are not extracting the slug for the specified layer.
9107
+ // It seems that the old client composer code always populated the slug
9108
+ // field with the slug that was passed into the function (typically the
9109
+ // slug of the parent service). To maintain parity, we do the same here.
9110
+ //
9111
+ // TODO: should we prefer the slug of the fetched layer instead?
9112
+ // return a new content object composed from the item and enrichments we fetched
9113
+ slug: fullyQualifiedSlug,
9114
+ // merge error arrays
9115
+ errors: maybeConcat([itemEnrichments.errors, hubEnrichments.errors]) }))];
9070
9116
  }
9071
9117
  });
9072
9118
  }); };