@esri/solution-common 1.1.2 → 1.2.0

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.
Files changed (258) hide show
  1. package/dist/esm/completeItem.js +6 -7
  2. package/dist/esm/completeItem.js.map +1 -1
  3. package/dist/esm/create-hub-request-options.d.ts +4 -4
  4. package/dist/esm/create-hub-request-options.js +9 -12
  5. package/dist/esm/create-hub-request-options.js.map +1 -1
  6. package/dist/esm/deleteHelpers/deleteEmptyGroups.js +2 -2
  7. package/dist/esm/deleteHelpers/deleteEmptyGroups.js.map +1 -1
  8. package/dist/esm/deleteHelpers/deleteGroupIfEmpty.js +15 -15
  9. package/dist/esm/deleteHelpers/deleteGroupIfEmpty.js.map +1 -1
  10. package/dist/esm/deleteHelpers/deleteSolutionContents.js +20 -22
  11. package/dist/esm/deleteHelpers/deleteSolutionContents.js.map +1 -1
  12. package/dist/esm/deleteHelpers/deleteSolutionFolder.js +10 -10
  13. package/dist/esm/deleteHelpers/deleteSolutionFolder.js.map +1 -1
  14. package/dist/esm/deleteHelpers/deleteSolutionItem.js +4 -4
  15. package/dist/esm/deleteHelpers/deleteSolutionItem.js.map +1 -1
  16. package/dist/esm/deleteHelpers/reconstructBuildOrderIds.js +1 -1
  17. package/dist/esm/deleteHelpers/reconstructBuildOrderIds.js.map +1 -1
  18. package/dist/esm/deleteHelpers/removeItems.js +20 -29
  19. package/dist/esm/deleteHelpers/removeItems.js.map +1 -1
  20. package/dist/esm/deleteHelpers/reportProgress.js +3 -6
  21. package/dist/esm/deleteHelpers/reportProgress.js.map +1 -1
  22. package/dist/esm/deleteSolution.js +10 -12
  23. package/dist/esm/deleteSolution.js.map +1 -1
  24. package/dist/esm/dependencies.js +27 -19
  25. package/dist/esm/dependencies.js.map +1 -1
  26. package/dist/esm/featureServiceHelpers.d.ts +6 -0
  27. package/dist/esm/featureServiceHelpers.js +530 -500
  28. package/dist/esm/featureServiceHelpers.js.map +1 -1
  29. package/dist/esm/generalHelpers.js +72 -76
  30. package/dist/esm/generalHelpers.js.map +1 -1
  31. package/dist/esm/get-subscription-info.js +5 -3
  32. package/dist/esm/get-subscription-info.js.map +1 -1
  33. package/dist/esm/getDeletableSolutionInfo.js +6 -10
  34. package/dist/esm/getDeletableSolutionInfo.js.map +1 -1
  35. package/dist/esm/getSolutionSummary.js +15 -19
  36. package/dist/esm/getSolutionSummary.js.map +1 -1
  37. package/dist/esm/index.d.ts +1 -0
  38. package/dist/esm/index.js +1 -0
  39. package/dist/esm/index.js.map +1 -1
  40. package/dist/esm/interfaces.d.ts +39 -1
  41. package/dist/esm/interfaces.js +3 -3
  42. package/dist/esm/interfaces.js.map +1 -1
  43. package/dist/esm/libConnectors.js +5 -7
  44. package/dist/esm/libConnectors.js.map +1 -1
  45. package/dist/esm/migrations/apply-schema.js +3 -3
  46. package/dist/esm/migrations/apply-schema.js.map +1 -1
  47. package/dist/esm/migrations/is-legacy-solution.js +2 -2
  48. package/dist/esm/migrations/is-legacy-solution.js.map +1 -1
  49. package/dist/esm/migrations/upgrade-three-dot-one.js +3 -3
  50. package/dist/esm/migrations/upgrade-three-dot-one.js.map +1 -1
  51. package/dist/esm/migrations/upgrade-three-dot-zero.js +1 -1
  52. package/dist/esm/migrations/upgrade-three-dot-zero.js.map +1 -1
  53. package/dist/esm/migrations/upgrade-two-dot-five.js +17 -8
  54. package/dist/esm/migrations/upgrade-two-dot-five.js.map +1 -1
  55. package/dist/esm/migrations/upgrade-two-dot-four.js +12 -12
  56. package/dist/esm/migrations/upgrade-two-dot-four.js.map +1 -1
  57. package/dist/esm/migrations/upgrade-two-dot-one.js +1 -1
  58. package/dist/esm/migrations/upgrade-two-dot-one.js.map +1 -1
  59. package/dist/esm/migrations/upgrade-two-dot-seven.js +1 -1
  60. package/dist/esm/migrations/upgrade-two-dot-seven.js.map +1 -1
  61. package/dist/esm/migrations/upgrade-two-dot-six.js +9 -12
  62. package/dist/esm/migrations/upgrade-two-dot-six.js.map +1 -1
  63. package/dist/esm/migrations/upgrade-two-dot-three.js +3 -3
  64. package/dist/esm/migrations/upgrade-two-dot-three.js.map +1 -1
  65. package/dist/esm/migrations/upgrade-two-dot-two.js +3 -3
  66. package/dist/esm/migrations/upgrade-two-dot-two.js.map +1 -1
  67. package/dist/esm/migrations/upgrade-two-dot-zero.js +8 -9
  68. package/dist/esm/migrations/upgrade-two-dot-zero.js.map +1 -1
  69. package/dist/esm/migrator.js +5 -7
  70. package/dist/esm/migrator.js.map +1 -1
  71. package/dist/esm/polyfills.js +5 -5
  72. package/dist/esm/polyfills.js.map +1 -1
  73. package/dist/esm/resourceHelpers.js +54 -57
  74. package/dist/esm/resourceHelpers.js.map +1 -1
  75. package/dist/esm/resources/add-resource-from-blob.js +2 -2
  76. package/dist/esm/resources/add-resource-from-blob.js.map +1 -1
  77. package/dist/esm/resources/addMetadataFromBlob.js +1 -1
  78. package/dist/esm/resources/addMetadataFromBlob.js.map +1 -1
  79. package/dist/esm/resources/convert-item-resource-to-storage-resource.js +6 -7
  80. package/dist/esm/resources/convert-item-resource-to-storage-resource.js.map +1 -1
  81. package/dist/esm/resources/convert-storage-resource-to-item-resource.js +8 -9
  82. package/dist/esm/resources/convert-storage-resource-to-item-resource.js.map +1 -1
  83. package/dist/esm/resources/copyAssociatedFiles.js +44 -53
  84. package/dist/esm/resources/copyAssociatedFiles.js.map +1 -1
  85. package/dist/esm/resources/copyDataIntoItem.js +5 -11
  86. package/dist/esm/resources/copyDataIntoItem.js.map +1 -1
  87. package/dist/esm/resources/copyMetadataIntoItem.js +4 -10
  88. package/dist/esm/resources/copyMetadataIntoItem.js.map +1 -1
  89. package/dist/esm/resources/copyResourceIntoZip.js +5 -7
  90. package/dist/esm/resources/copyResourceIntoZip.js.map +1 -1
  91. package/dist/esm/resources/copyZipIntoItem.js +5 -9
  92. package/dist/esm/resources/copyZipIntoItem.js.map +1 -1
  93. package/dist/esm/resources/createCopyResults.js +5 -2
  94. package/dist/esm/resources/createCopyResults.js.map +1 -1
  95. package/dist/esm/resources/get-blob.js +7 -5
  96. package/dist/esm/resources/get-blob.js.map +1 -1
  97. package/dist/esm/resources/getItemResourcesFilesFromPaths.js +7 -7
  98. package/dist/esm/resources/getItemResourcesFilesFromPaths.js.map +1 -1
  99. package/dist/esm/resources/getItemResourcesPaths.js +7 -8
  100. package/dist/esm/resources/getItemResourcesPaths.js.map +1 -1
  101. package/dist/esm/resources/transform-resource-paths-to-solution-resources.js +8 -9
  102. package/dist/esm/resources/transform-resource-paths-to-solution-resources.js.map +1 -1
  103. package/dist/esm/restHelpers.d.ts +65 -5
  104. package/dist/esm/restHelpers.js +422 -276
  105. package/dist/esm/restHelpers.js.map +1 -1
  106. package/dist/esm/restHelpersGet.js +102 -111
  107. package/dist/esm/restHelpersGet.js.map +1 -1
  108. package/dist/esm/sharing/share-item-to-groups.d.ts +2 -1
  109. package/dist/esm/sharing/share-item-to-groups.js +12 -6
  110. package/dist/esm/sharing/share-item-to-groups.js.map +1 -1
  111. package/dist/esm/templatization.js +64 -40
  112. package/dist/esm/templatization.js.map +1 -1
  113. package/dist/esm/trackingHelpers.d.ts +116 -0
  114. package/dist/esm/trackingHelpers.js +205 -0
  115. package/dist/esm/trackingHelpers.js.map +1 -0
  116. package/dist/esm/velocityHelpers.d.ts +2 -0
  117. package/dist/esm/velocityHelpers.js +30 -12
  118. package/dist/esm/velocityHelpers.js.map +1 -1
  119. package/dist/esm/workforceHelpers.d.ts +11 -0
  120. package/dist/esm/workforceHelpers.js +208 -180
  121. package/dist/esm/workforceHelpers.js.map +1 -1
  122. package/dist/node/completeItem.js +8 -9
  123. package/dist/node/completeItem.js.map +1 -1
  124. package/dist/node/create-hub-request-options.d.ts +4 -4
  125. package/dist/node/create-hub-request-options.js +11 -14
  126. package/dist/node/create-hub-request-options.js.map +1 -1
  127. package/dist/node/deleteHelpers/deleteEmptyGroups.js +3 -3
  128. package/dist/node/deleteHelpers/deleteEmptyGroups.js.map +1 -1
  129. package/dist/node/deleteHelpers/deleteGroupIfEmpty.js +16 -16
  130. package/dist/node/deleteHelpers/deleteGroupIfEmpty.js.map +1 -1
  131. package/dist/node/deleteHelpers/deleteSolutionContents.js +26 -28
  132. package/dist/node/deleteHelpers/deleteSolutionContents.js.map +1 -1
  133. package/dist/node/deleteHelpers/deleteSolutionFolder.js +11 -11
  134. package/dist/node/deleteHelpers/deleteSolutionFolder.js.map +1 -1
  135. package/dist/node/deleteHelpers/deleteSolutionItem.js +6 -6
  136. package/dist/node/deleteHelpers/deleteSolutionItem.js.map +1 -1
  137. package/dist/node/deleteHelpers/index.js +1 -1
  138. package/dist/node/deleteHelpers/reconstructBuildOrderIds.js +2 -2
  139. package/dist/node/deleteHelpers/reconstructBuildOrderIds.js.map +1 -1
  140. package/dist/node/deleteHelpers/removeItems.js +26 -35
  141. package/dist/node/deleteHelpers/removeItems.js.map +1 -1
  142. package/dist/node/deleteHelpers/reportProgress.js +4 -7
  143. package/dist/node/deleteHelpers/reportProgress.js.map +1 -1
  144. package/dist/node/deleteSolution.js +12 -14
  145. package/dist/node/deleteSolution.js.map +1 -1
  146. package/dist/node/dependencies.js +29 -21
  147. package/dist/node/dependencies.js.map +1 -1
  148. package/dist/node/featureServiceHelpers.d.ts +6 -0
  149. package/dist/node/featureServiceHelpers.js +535 -504
  150. package/dist/node/featureServiceHelpers.js.map +1 -1
  151. package/dist/node/generalHelpers.js +75 -79
  152. package/dist/node/generalHelpers.js.map +1 -1
  153. package/dist/node/get-subscription-info.js +7 -5
  154. package/dist/node/get-subscription-info.js.map +1 -1
  155. package/dist/node/getDeletableSolutionInfo.js +8 -12
  156. package/dist/node/getDeletableSolutionInfo.js.map +1 -1
  157. package/dist/node/getSolutionSummary.js +19 -23
  158. package/dist/node/getSolutionSummary.js.map +1 -1
  159. package/dist/node/index.d.ts +1 -0
  160. package/dist/node/index.js +2 -1
  161. package/dist/node/index.js.map +1 -1
  162. package/dist/node/interfaces.d.ts +39 -1
  163. package/dist/node/interfaces.js.map +1 -1
  164. package/dist/node/libConnectors.js +8 -10
  165. package/dist/node/libConnectors.js.map +1 -1
  166. package/dist/node/migrations/apply-schema.js +4 -4
  167. package/dist/node/migrations/apply-schema.js.map +1 -1
  168. package/dist/node/migrations/is-legacy-solution.js +3 -3
  169. package/dist/node/migrations/is-legacy-solution.js.map +1 -1
  170. package/dist/node/migrations/upgrade-three-dot-one.js +5 -5
  171. package/dist/node/migrations/upgrade-three-dot-one.js.map +1 -1
  172. package/dist/node/migrations/upgrade-three-dot-zero.js +2 -2
  173. package/dist/node/migrations/upgrade-three-dot-zero.js.map +1 -1
  174. package/dist/node/migrations/upgrade-two-dot-five.js +18 -9
  175. package/dist/node/migrations/upgrade-two-dot-five.js.map +1 -1
  176. package/dist/node/migrations/upgrade-two-dot-four.js +13 -13
  177. package/dist/node/migrations/upgrade-two-dot-four.js.map +1 -1
  178. package/dist/node/migrations/upgrade-two-dot-one.js +2 -2
  179. package/dist/node/migrations/upgrade-two-dot-one.js.map +1 -1
  180. package/dist/node/migrations/upgrade-two-dot-seven.js +2 -2
  181. package/dist/node/migrations/upgrade-two-dot-seven.js.map +1 -1
  182. package/dist/node/migrations/upgrade-two-dot-six.js +10 -13
  183. package/dist/node/migrations/upgrade-two-dot-six.js.map +1 -1
  184. package/dist/node/migrations/upgrade-two-dot-three.js +5 -5
  185. package/dist/node/migrations/upgrade-two-dot-three.js.map +1 -1
  186. package/dist/node/migrations/upgrade-two-dot-two.js +5 -5
  187. package/dist/node/migrations/upgrade-two-dot-two.js.map +1 -1
  188. package/dist/node/migrations/upgrade-two-dot-zero.js +9 -10
  189. package/dist/node/migrations/upgrade-two-dot-zero.js.map +1 -1
  190. package/dist/node/migrator.js +16 -18
  191. package/dist/node/migrator.js.map +1 -1
  192. package/dist/node/polyfills.js +5 -5
  193. package/dist/node/polyfills.js.map +1 -1
  194. package/dist/node/resourceHelpers.js +62 -65
  195. package/dist/node/resourceHelpers.js.map +1 -1
  196. package/dist/node/resources/add-resource-from-blob.js +4 -4
  197. package/dist/node/resources/add-resource-from-blob.js.map +1 -1
  198. package/dist/node/resources/addMetadataFromBlob.js +2 -2
  199. package/dist/node/resources/addMetadataFromBlob.js.map +1 -1
  200. package/dist/node/resources/convert-item-resource-to-storage-resource.js +6 -7
  201. package/dist/node/resources/convert-item-resource-to-storage-resource.js.map +1 -1
  202. package/dist/node/resources/convert-storage-resource-to-item-resource.js +9 -10
  203. package/dist/node/resources/convert-storage-resource-to-item-resource.js.map +1 -1
  204. package/dist/node/resources/copyAssociatedFiles.js +52 -61
  205. package/dist/node/resources/copyAssociatedFiles.js.map +1 -1
  206. package/dist/node/resources/copyDataIntoItem.js +9 -15
  207. package/dist/node/resources/copyDataIntoItem.js.map +1 -1
  208. package/dist/node/resources/copyMetadataIntoItem.js +7 -13
  209. package/dist/node/resources/copyMetadataIntoItem.js.map +1 -1
  210. package/dist/node/resources/copyResourceIntoZip.js +7 -9
  211. package/dist/node/resources/copyResourceIntoZip.js.map +1 -1
  212. package/dist/node/resources/copyZipIntoItem.js +8 -12
  213. package/dist/node/resources/copyZipIntoItem.js.map +1 -1
  214. package/dist/node/resources/createCopyResults.js +5 -2
  215. package/dist/node/resources/createCopyResults.js.map +1 -1
  216. package/dist/node/resources/get-blob.js +8 -6
  217. package/dist/node/resources/get-blob.js.map +1 -1
  218. package/dist/node/resources/getItemResourcesFilesFromPaths.js +8 -8
  219. package/dist/node/resources/getItemResourcesFilesFromPaths.js.map +1 -1
  220. package/dist/node/resources/getItemResourcesPaths.js +9 -10
  221. package/dist/node/resources/getItemResourcesPaths.js.map +1 -1
  222. package/dist/node/resources/index.js +1 -1
  223. package/dist/node/resources/transform-resource-paths-to-solution-resources.js +10 -11
  224. package/dist/node/resources/transform-resource-paths-to-solution-resources.js.map +1 -1
  225. package/dist/node/restHelpers.d.ts +65 -5
  226. package/dist/node/restHelpers.js +437 -285
  227. package/dist/node/restHelpers.js.map +1 -1
  228. package/dist/node/restHelpersGet.js +107 -116
  229. package/dist/node/restHelpersGet.js.map +1 -1
  230. package/dist/node/sharing/index.js +1 -1
  231. package/dist/node/sharing/share-item-to-groups.d.ts +2 -1
  232. package/dist/node/sharing/share-item-to-groups.js +13 -7
  233. package/dist/node/sharing/share-item-to-groups.js.map +1 -1
  234. package/dist/node/templatization.js +61 -37
  235. package/dist/node/templatization.js.map +1 -1
  236. package/dist/node/trackingHelpers.d.ts +116 -0
  237. package/dist/node/trackingHelpers.js +217 -0
  238. package/dist/node/trackingHelpers.js.map +1 -0
  239. package/dist/node/velocityHelpers.d.ts +2 -0
  240. package/dist/node/velocityHelpers.js +33 -15
  241. package/dist/node/velocityHelpers.js.map +1 -1
  242. package/dist/node/workforceHelpers.d.ts +11 -0
  243. package/dist/node/workforceHelpers.js +214 -185
  244. package/dist/node/workforceHelpers.js.map +1 -1
  245. package/dist/umd/common.umd.js +14830 -14466
  246. package/dist/umd/common.umd.js.map +1 -1
  247. package/dist/umd/common.umd.min.js +3 -3
  248. package/dist/umd/common.umd.min.js.map +1 -1
  249. package/dist/umd/create-hub-request-options.d.ts +4 -4
  250. package/dist/umd/featureServiceHelpers.d.ts +6 -0
  251. package/dist/umd/index.d.ts +1 -0
  252. package/dist/umd/interfaces.d.ts +39 -1
  253. package/dist/umd/restHelpers.d.ts +65 -5
  254. package/dist/umd/sharing/share-item-to-groups.d.ts +2 -1
  255. package/dist/umd/trackingHelpers.d.ts +116 -0
  256. package/dist/umd/velocityHelpers.d.ts +2 -0
  257. package/dist/umd/workforceHelpers.d.ts +11 -0
  258. package/package.json +24 -24
@@ -16,8 +16,7 @@
16
16
  */
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports._templatizeAdminLayerInfo = exports._templatizeLayerFieldReferences = exports._validateEditFieldsInfo = exports._validateTypesTemplates = exports._validateTemplatesFields = exports._validateIndexes = exports._validateDisplayField = exports._validateFields = exports._templatizeLayer = exports._templatizeProperty = exports._templatize = exports.updatePopupInfo = exports._isViewFieldOverride = exports._getDomainAndAliasInfos = exports._validateViewDomainsAndAlias = exports._getPortalViewFieldUpdates = exports._validateDomains = exports._getFieldVisibilityUpdates = exports._getTypeIdField = exports.postProcessFields = exports.updateLayerFieldReferences = exports.validateSpatialReferenceAndExtent = exports.setDefaultSpatialReference = exports._updateTemplateDictionaryFields = exports._updateGeomFieldName = exports._updateSourceLayerFields = exports._updateItemFields = exports._getFieldNames = exports._updateForPortal = exports.removeLayerOptimization = exports._updateAddOptions = exports.addFeatureServiceDefinition = exports.addFeatureServiceLayersAndTables = exports.getExistingLayersAndTables = exports.getLayersAndTables = exports.deTemplatizeFieldInfos = exports.updateTemplateForInvalidDesignations = exports.updateSettingsFieldInfos = exports.setNamesAndTitles = exports.getLayerSettings = exports._updateTypeKeywords = exports.updateTemplate = exports._cachePopupInfo = exports.cachePopupInfos = exports._cacheFieldInfo = exports.cacheFieldInfos = exports.deleteViewProps = exports.templatize = exports.rest_addFeatures = exports.rest_queryFeatures = void 0;
19
- exports._getNameMapping = exports._templatizeDefinitionQuery = exports._templatizeTimeInfo = exports._templatizeKeys = exports._templatizeTypeTemplates = exports._templatizeTemplates = exports._templatizeLabelingInfo = exports._templatizeArcadeExpressions = exports._templatizeAuthoringInfo = exports._templatizeTemporalRenderer = exports._templatizeGenRenderer = exports._templatizeRenderer = exports._templatizeDrawingInfo = exports._templatizeSimpleName = exports._templatizeDefinitionExpression = exports._templatizeDefinitionEditor = exports._templatizeMediaInfos = exports._templatizePopupElements = exports._templatizeExpressionInfos = exports._templatizeFieldName = exports._templatizePopupInfoFieldInfos = exports._templatizeName = exports._templatizePopupInfo = exports._templatizeRelationshipFields = exports._templatizeTopFilter = exports._templatizeAdminSourceLayerFields = exports._getDependantItemId = exports._templatizeAdminLayerInfoFields = exports._templatizeSourceServiceName = exports._processAdminObject = void 0;
20
- var tslib_1 = require("tslib");
19
+ exports._getLayerChunkSize = exports._getNameMapping = exports._templatizeDefinitionQuery = exports._templatizeTimeInfo = exports._templatizeKeys = exports._templatizeTypeTemplates = exports._templatizeTemplates = exports._templatizeLabelingInfo = exports._templatizeArcadeExpressions = exports._templatizeAuthoringInfo = exports._templatizeTemporalRenderer = exports._templatizeGenRenderer = exports._templatizeRenderer = exports._templatizeDrawingInfo = exports._templatizeSimpleName = exports._templatizeDefinitionExpression = exports._templatizeDefinitionEditor = exports._templatizeMediaInfos = exports._templatizePopupElements = exports._templatizeExpressionInfos = exports._templatizeFieldName = exports._templatizePopupInfoFieldInfos = exports._templatizeName = exports._templatizePopupInfo = exports._templatizeRelationshipFields = exports._templatizeTopFilter = exports._templatizeAdminSourceLayerFields = exports._getDependantItemId = exports._templatizeAdminLayerInfoFields = exports._templatizeSourceServiceName = exports._processAdminObject = void 0;
21
20
  /**
22
21
  * Provides general helper functions.
23
22
  *
@@ -27,9 +26,10 @@ var tslib_1 = require("tslib");
27
26
  var arcgis_rest_feature_layer_1 = require("@esri/arcgis-rest-feature-layer");
28
27
  Object.defineProperty(exports, "rest_queryFeatures", { enumerable: true, get: function () { return arcgis_rest_feature_layer_1.queryFeatures; } });
29
28
  Object.defineProperty(exports, "rest_addFeatures", { enumerable: true, get: function () { return arcgis_rest_feature_layer_1.addFeatures; } });
30
- var generalHelpers_1 = require("./generalHelpers");
31
- var templatization_1 = require("./templatization");
32
- var restHelpers_1 = require("./restHelpers");
29
+ const generalHelpers_1 = require("./generalHelpers");
30
+ const templatization_1 = require("./templatization");
31
+ const restHelpers_1 = require("./restHelpers");
32
+ const trackingHelpers_1 = require("./trackingHelpers");
33
33
  //#endregion ------------------------------------------------------------------------------------------------------------//
34
34
  //#region Public functions ----------------------------------------------------------------------------------------------//
35
35
  /**
@@ -45,29 +45,36 @@ var restHelpers_1 = require("./restHelpers");
45
45
  function templatize(itemTemplate, dependencies, templatizeFieldReferences, templateDictionary) {
46
46
  templateDictionary = templateDictionary || {};
47
47
  // Common templatizations
48
- var id = itemTemplate.item.id;
49
- var fsUrl = itemTemplate.item.url;
50
- itemTemplate.item = (0, tslib_1.__assign)((0, tslib_1.__assign)({}, itemTemplate.item), { id: (0, templatization_1.templatizeTerm)(id, id, ".itemId"), url: _templatize(id, "url"), typeKeywords: (0, templatization_1.templatizeIds)(itemTemplate.item.typeKeywords) });
51
- var jsonLayers = itemTemplate.properties.layers || [];
52
- var jsonTables = itemTemplate.properties.tables || [];
53
- var jsonItems = jsonLayers.concat(jsonTables);
54
- var data = itemTemplate.data || {};
55
- var layers = data.layers || [];
56
- var tables = data.tables || [];
57
- var _items = layers.concat(tables);
48
+ const id = itemTemplate.item.id;
49
+ const fsUrl = itemTemplate.item.url;
50
+ itemTemplate.item = {
51
+ ...itemTemplate.item,
52
+ id: (0, templatization_1.templatizeTerm)(id, id, ".itemId"),
53
+ url: _templatize(id, "url"),
54
+ typeKeywords: (0, templatization_1.templatizeIds)(itemTemplate.item.typeKeywords)
55
+ };
56
+ // special handeling if we are dealing with a tracker view
57
+ (0, trackingHelpers_1.templatizeTracker)(itemTemplate);
58
+ const jsonLayers = itemTemplate.properties.layers || [];
59
+ const jsonTables = itemTemplate.properties.tables || [];
60
+ const jsonItems = jsonLayers.concat(jsonTables);
61
+ const data = itemTemplate.data || {};
62
+ const layers = data.layers || [];
63
+ const tables = data.tables || [];
64
+ const _items = layers.concat(tables);
58
65
  // Set up symbols for the URL of the feature service and its layers and tables
59
66
  templateDictionary[fsUrl] = itemTemplate.item.url; // map FS URL to its templatized form
60
- jsonItems.concat(_items).forEach(function (layer) {
67
+ jsonItems.concat(_items).forEach(layer => {
61
68
  templateDictionary[fsUrl + "/" + layer.id] = _templatize(id, "layer" + layer.id + ".url");
62
69
  });
63
70
  // templatize the service references serviceItemId
64
71
  itemTemplate.properties.service.serviceItemId = (0, templatization_1.templatizeTerm)(itemTemplate.properties.service.serviceItemId, itemTemplate.properties.service.serviceItemId, ".itemId");
65
- var initialExtent = (0, generalHelpers_1.getProp)(itemTemplate, "properties.service.initialExtent");
72
+ const initialExtent = (0, generalHelpers_1.getProp)(itemTemplate, "properties.service.initialExtent");
66
73
  /* istanbul ignore else */
67
74
  if (initialExtent) {
68
75
  itemTemplate.properties.service.initialExtent = (0, templatization_1.templatizeTerm)(id, id, ".solutionExtent");
69
76
  }
70
- var fullExtent = (0, generalHelpers_1.getProp)(itemTemplate, "properties.service.fullExtent");
77
+ const fullExtent = (0, generalHelpers_1.getProp)(itemTemplate, "properties.service.fullExtent");
71
78
  /* istanbul ignore else */
72
79
  if (fullExtent) {
73
80
  itemTemplate.properties.service.fullExtent = (0, templatization_1.templatizeTerm)(id, id, ".solutionExtent");
@@ -83,14 +90,14 @@ function templatize(itemTemplate, dependencies, templatizeFieldReferences, templ
83
90
  }
84
91
  // if any layer hasZ enabled then we need to set
85
92
  // enableZDefaults and zDefault to deploy to enterprise
86
- var hasZ = false;
87
- jsonItems.forEach(function (jsonItem) {
93
+ let hasZ = false;
94
+ jsonItems.forEach((jsonItem) => {
88
95
  // get the source service json for the given data item
89
- var matchingItems = _items.filter(function (item) {
96
+ const matchingItems = _items.filter(item => {
90
97
  return jsonItem.id === item.id;
91
98
  });
92
99
  // templatize the source service json
93
- var _item = matchingItems.length === 1 ? matchingItems[0] : undefined;
100
+ const _item = matchingItems.length === 1 ? matchingItems[0] : undefined;
94
101
  _templatizeLayer(_item, jsonItem, itemTemplate, dependencies, templatizeFieldReferences, templateDictionary);
95
102
  hasZ = jsonItem.hasZ || (_item && _item.hasZ) ? true : hasZ;
96
103
  });
@@ -107,8 +114,8 @@ exports.templatize = templatize;
107
114
  * @param layer The data layer instance with field name references within
108
115
  */
109
116
  function deleteViewProps(layer) {
110
- var props = ["definitionQuery"];
111
- props.forEach(function (prop) {
117
+ const props = ["definitionQuery"];
118
+ props.forEach(prop => {
112
119
  (0, generalHelpers_1.deleteProp)(layer, prop);
113
120
  });
114
121
  }
@@ -137,7 +144,7 @@ function cacheFieldInfos(layer, fieldInfos, isPortal) {
137
144
  // cache each of these properties as they each can contain field references
138
145
  // and will have associated updateDefinition calls when deploying to portal
139
146
  // as well as online for relationships...as relationships added with addToDef will cause failure
140
- var props = {
147
+ const props = {
141
148
  editFieldsInfo: isPortal,
142
149
  types: isPortal,
143
150
  templates: isPortal,
@@ -146,7 +153,7 @@ function cacheFieldInfos(layer, fieldInfos, isPortal) {
146
153
  timeInfo: isPortal,
147
154
  viewDefinitionQuery: isPortal
148
155
  };
149
- Object.keys(props).forEach(function (k) {
156
+ Object.keys(props).forEach(k => {
150
157
  _cacheFieldInfo(layer, k, fieldInfos, props[k]);
151
158
  });
152
159
  return fieldInfos;
@@ -184,7 +191,7 @@ exports._cacheFieldInfo = _cacheFieldInfo;
184
191
  */
185
192
  function cachePopupInfos(data) {
186
193
  // store any popupInfo so we can update after any potential name changes
187
- var popupInfos = {
194
+ const popupInfos = {
188
195
  layers: {},
189
196
  tables: {}
190
197
  };
@@ -206,7 +213,7 @@ exports.cachePopupInfos = cachePopupInfos;
206
213
  * @param _items list or either layers or tables
207
214
  */
208
215
  function _cachePopupInfo(popupInfos, type, _items) {
209
- _items.forEach(function (item) {
216
+ _items.forEach((item) => {
210
217
  if (item && item.hasOwnProperty("popupInfo")) {
211
218
  popupInfos[type][item.id] = item.popupInfo;
212
219
  item.popupInfo = {};
@@ -248,10 +255,10 @@ exports.updateTemplate = updateTemplate;
248
255
  */
249
256
  function _updateTypeKeywords(itemTemplate, createResponse) {
250
257
  // https://github.com/Esri/solution.js/issues/589
251
- var iKwords = (0, generalHelpers_1.getProp)(itemTemplate, "item.typeKeywords");
252
- var cKwords = (0, generalHelpers_1.getProp)(createResponse, "typeKeywords");
258
+ const iKwords = (0, generalHelpers_1.getProp)(itemTemplate, "item.typeKeywords");
259
+ const cKwords = (0, generalHelpers_1.getProp)(createResponse, "typeKeywords");
253
260
  if (iKwords && cKwords) {
254
- (0, generalHelpers_1.setProp)(itemTemplate, "item.typeKeywords", iKwords.concat(cKwords.filter(function (k) { return iKwords.indexOf(k) < 0; })));
261
+ (0, generalHelpers_1.setProp)(itemTemplate, "item.typeKeywords", iKwords.concat(cKwords.filter(k => iKwords.indexOf(k) < 0)));
255
262
  }
256
263
  return itemTemplate;
257
264
  }
@@ -267,21 +274,21 @@ exports._updateTypeKeywords = _updateTypeKeywords;
267
274
  * @return The settings object that will be used to de-templatize the field references.
268
275
  */
269
276
  function getLayerSettings(layerInfos, url, itemId, enterpriseIDMapping) {
270
- var settings = {};
271
- var ids = Object.keys(layerInfos);
272
- ids.forEach(function (id) {
273
- var _layerId = (0, generalHelpers_1.getProp)(layerInfos[id], "item.id");
274
- var isNum = parseInt(_layerId, 10) > -1;
275
- var layerId = isNum && enterpriseIDMapping
277
+ const settings = {};
278
+ const ids = Object.keys(layerInfos);
279
+ ids.forEach((id) => {
280
+ const _layerId = (0, generalHelpers_1.getProp)(layerInfos[id], "item.id");
281
+ const isNum = parseInt(_layerId, 10) > -1;
282
+ const layerId = isNum && enterpriseIDMapping
276
283
  ? enterpriseIDMapping[_layerId]
277
284
  : isNum
278
285
  ? _layerId
279
286
  : id;
280
- settings["layer" + (isNum ? _layerId : id)] = {
287
+ settings[`layer${isNum ? _layerId : id}`] = {
281
288
  fields: _getNameMapping(layerInfos, id),
282
289
  url: (0, generalHelpers_1.checkUrlPathTermination)(url) + layerId,
283
- layerId: layerId,
284
- itemId: itemId
290
+ layerId,
291
+ itemId
285
292
  };
286
293
  (0, generalHelpers_1.deleteProp)(layerInfos[id], "newFields");
287
294
  (0, generalHelpers_1.deleteProp)(layerInfos[id], "sourceFields");
@@ -300,24 +307,28 @@ exports.getLayerSettings = getLayerSettings;
300
307
  * @return An updated collection of AGO templates with unique feature service names.
301
308
  */
302
309
  function setNamesAndTitles(templates, solutionItemId) {
303
- var names = [];
304
- return templates.map(function (t) {
310
+ const names = [];
311
+ return templates.map(t => {
312
+ /* istanbul ignore else */
305
313
  if (t.item.type === "Feature Service") {
306
314
  // Retain the existing title but swap with name if it's missing
307
315
  t.item.title = t.item.title || t.item.name;
308
- // Need to set the service name: name + "_" + newItemId
309
- var baseName = t.item.name || t.item.title;
310
- // If the name already contains a GUID remove it
311
- baseName = baseName.replace(/_[0-9A-F]{32}/gi, "");
312
- // The name length limit is 98
313
- // Limit the baseName to 50 characters before the _<guid>
314
- var name_1 = baseName.substring(0, 50) + "_" + solutionItemId;
315
- // If the name + GUID already exists then append "_occurrenceCount"
316
- t.item.name =
317
- names.indexOf(name_1) === -1
318
- ? name_1
319
- : name_1 + "_" + names.filter(function (n) { return n === name_1; }).length;
320
- names.push(name_1);
316
+ /* istanbul ignore else */
317
+ if (!(0, trackingHelpers_1.isTrackingViewTemplate)(t)) {
318
+ // Need to set the service name: name + "_" + newItemId
319
+ let baseName = t.item.name || t.item.title;
320
+ // If the name already contains a GUID remove it
321
+ baseName = baseName.replace(/_[0-9A-F]{32}/gi, "");
322
+ // The name length limit is 98
323
+ // Limit the baseName to 50 characters before the _<guid>
324
+ const name = baseName.substring(0, 50) + "_" + solutionItemId;
325
+ // If the name + GUID already exists then append "_occurrenceCount"
326
+ t.item.name =
327
+ names.indexOf(name) === -1
328
+ ? name
329
+ : `${name}_${names.filter(n => n === name).length}`;
330
+ names.push(name);
331
+ }
321
332
  }
322
333
  return t;
323
334
  });
@@ -333,22 +344,23 @@ exports.setNamesAndTitles = setNamesAndTitles;
333
344
  * @param settings The settings object used to de-templatize the various templates within the item.
334
345
  */
335
346
  function updateSettingsFieldInfos(itemTemplate, settings) {
336
- var dependencies = itemTemplate.dependencies;
337
- var id = itemTemplate.itemId;
338
- var settingsKeys = Object.keys(settings);
339
- settingsKeys.forEach(function (k) {
347
+ const dependencies = itemTemplate.dependencies;
348
+ const id = itemTemplate.itemId;
349
+ const settingsKeys = Object.keys(settings);
350
+ settingsKeys.forEach((k) => {
340
351
  if (id === settings[k].itemId) {
341
- dependencies.forEach(function (d) {
342
- settingsKeys.forEach(function (_k) {
352
+ dependencies.forEach((d) => {
353
+ settingsKeys.forEach((_k) => {
343
354
  /* istanbul ignore else */
344
355
  if (d === _k) {
345
356
  // combine for multi-source views
346
- var fieldInfos = {};
357
+ const fieldInfos = {};
347
358
  fieldInfos[d] = (0, generalHelpers_1.getProp)(settings[_k], "fieldInfos");
348
359
  settings[k]["sourceServiceFields"] = settings[k]["sourceServiceFields"]
349
- ? (0, tslib_1.__assign)((0, tslib_1.__assign)({}, settings[k]["sourceServiceFields"]), fieldInfos) : fieldInfos;
350
- var layerKeys = Object.keys(settings[_k]);
351
- layerKeys.forEach(function (layerKey) {
360
+ ? { ...settings[k]["sourceServiceFields"], ...fieldInfos }
361
+ : fieldInfos;
362
+ const layerKeys = Object.keys(settings[_k]);
363
+ layerKeys.forEach(layerKey => {
352
364
  /* istanbul ignore else */
353
365
  if (layerKey.startsWith("layer")) {
354
366
  settings[k][layerKey] = settings[_k][layerKey];
@@ -371,17 +383,17 @@ exports.updateSettingsFieldInfos = updateSettingsFieldInfos;
371
383
  * @protected
372
384
  */
373
385
  function updateTemplateForInvalidDesignations(template, authentication) {
374
- return new Promise(function (resolve, reject) {
386
+ return new Promise((resolve, reject) => {
375
387
  template.properties.hasInvalidDesignations = true;
376
388
  if (template.item.url) {
377
389
  // get the admin URL
378
- var url_1 = template.item.url;
379
- (0, restHelpers_1.rest_request)(url_1 + "?f=json", {
390
+ const url = template.item.url;
391
+ (0, restHelpers_1.rest_request)(url + "?f=json", {
380
392
  authentication: authentication
381
- }).then(function (serviceData) {
382
- var layerInfos = {};
383
- var layersAndTables = (serviceData.layers || []).concat(serviceData.tables || []);
384
- layersAndTables.forEach(function (l) {
393
+ }).then(serviceData => {
394
+ const layerInfos = {};
395
+ const layersAndTables = (serviceData.layers || []).concat(serviceData.tables || []);
396
+ layersAndTables.forEach((l) => {
385
397
  /* istanbul ignore else */
386
398
  if (l && l.hasOwnProperty("id")) {
387
399
  layerInfos[l.id] = l;
@@ -389,9 +401,9 @@ function updateTemplateForInvalidDesignations(template, authentication) {
389
401
  });
390
402
  template.data[template.itemId] = Object.assign({
391
403
  itemId: template.itemId
392
- }, getLayerSettings(layerInfos, url_1, template.itemId));
404
+ }, getLayerSettings(layerInfos, url, template.itemId));
393
405
  resolve(template);
394
- }, function (e) { return reject((0, generalHelpers_1.fail)(e)); });
406
+ }, e => reject((0, generalHelpers_1.fail)(e)));
395
407
  }
396
408
  else {
397
409
  resolve(template);
@@ -409,8 +421,8 @@ exports.updateTemplateForInvalidDesignations = updateTemplateForInvalidDesignati
409
421
  * @return An object that contains updated instances of popupInfos, fieldInfos, and adminLayerInfos
410
422
  */
411
423
  function deTemplatizeFieldInfos(fieldInfos, popupInfos, adminLayerInfos, settings) {
412
- var fieldInfoKeys = Object.keys(fieldInfos);
413
- fieldInfoKeys.forEach(function (id) {
424
+ const fieldInfoKeys = Object.keys(fieldInfos);
425
+ fieldInfoKeys.forEach(id => {
414
426
  if (fieldInfos[id].hasOwnProperty("templates")) {
415
427
  fieldInfos[id].templates = JSON.parse((0, templatization_1.replaceInTemplate)(JSON.stringify(fieldInfos[id].templates), settings));
416
428
  }
@@ -440,8 +452,8 @@ exports.deTemplatizeFieldInfos = deTemplatizeFieldInfos;
440
452
  * @return array of layers and tables
441
453
  */
442
454
  function getLayersAndTables(itemTemplate) {
443
- var properties = itemTemplate.properties;
444
- var layersAndTables = [];
455
+ const properties = itemTemplate.properties;
456
+ const layersAndTables = [];
445
457
  (properties.layers || []).forEach(function (layer) {
446
458
  layersAndTables.push({
447
459
  item: layer,
@@ -470,14 +482,14 @@ exports.getLayersAndTables = getLayersAndTables;
470
482
  */
471
483
  function getExistingLayersAndTables(url, ids, authentication) {
472
484
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
473
- return new Promise(function (resolve) {
474
- var defs = ids.map(function (id) {
485
+ return new Promise(resolve => {
486
+ const defs = ids.map(id => {
475
487
  return (0, restHelpers_1.rest_request)((0, generalHelpers_1.checkUrlPathTermination)(url) + id, {
476
- authentication: authentication
488
+ authentication
477
489
  });
478
490
  });
479
491
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
480
- Promise.all(defs.map(function (p) { return p.catch(function (e) { return e; }); })).then(resolve);
492
+ Promise.all(defs.map(p => p.catch(e => e))).then(resolve);
481
493
  });
482
494
  }
483
495
  exports.getExistingLayersAndTables = getExistingLayersAndTables;
@@ -493,44 +505,49 @@ exports.getExistingLayersAndTables = getExistingLayersAndTables;
493
505
  * @protected
494
506
  */
495
507
  function addFeatureServiceLayersAndTables(itemTemplate, templateDictionary, popupInfos, authentication) {
496
- return new Promise(function (resolve, reject) {
497
- // Create a hash of various properties that contain field references
498
- var fieldInfos = {};
499
- var adminLayerInfos = {};
500
- // Add the service's layers and tables to it
501
- var layersAndTables = getLayersAndTables(itemTemplate);
502
- if (layersAndTables.length > 0) {
503
- addFeatureServiceDefinition(itemTemplate.item.url || "", layersAndTables, templateDictionary, authentication, itemTemplate.key, adminLayerInfos, fieldInfos, itemTemplate).then(function () {
504
- // Detemplatize field references and update the layer properties
505
- // Only failure path is handled by addFeatureServiceDefinition
506
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
507
- updateLayerFieldReferences(itemTemplate, fieldInfos, popupInfos, adminLayerInfos, templateDictionary).then(function (r) {
508
- // Update relationships and layer definitions
509
- var updates = (0, restHelpers_1.getLayerUpdates)({
510
- message: "updated layer definition",
511
- objects: r.layerInfos.fieldInfos,
512
- itemTemplate: r.itemTemplate,
513
- authentication: authentication
514
- }, templateDictionary.isPortal);
515
- // Get any updates for the service that should be performed after updates to the layers
516
- if (templateDictionary.isPortal) {
517
- updates = (0, restHelpers_1.getFinalServiceUpdates)(r.itemTemplate, authentication, updates);
518
- }
519
- // Process the updates sequentially
520
- updates
521
- .reduce(function (prev, update) {
522
- return prev.then(function () {
523
- return (0, restHelpers_1.getRequest)(update);
524
- });
525
- }, Promise.resolve(null))
526
- .then(function () { return resolve(null); }, function (e) { return reject((0, generalHelpers_1.fail)(e)); } // getRequest
527
- );
528
- });
529
- }, function (e) { return reject((0, generalHelpers_1.fail)(e)); } // addFeatureServiceDefinition
530
- );
508
+ return new Promise((resolve, reject) => {
509
+ if ((0, trackingHelpers_1.isTrackingViewTemplate)(itemTemplate)) {
510
+ resolve(null);
531
511
  }
532
512
  else {
533
- resolve(null);
513
+ // Create a hash of various properties that contain field references
514
+ const fieldInfos = {};
515
+ const adminLayerInfos = {};
516
+ // Add the service's layers and tables to it
517
+ const layersAndTables = getLayersAndTables(itemTemplate);
518
+ if (layersAndTables.length > 0) {
519
+ addFeatureServiceDefinition(itemTemplate.item.url || "", layersAndTables, templateDictionary, authentication, itemTemplate.key, adminLayerInfos, fieldInfos, itemTemplate).then(() => {
520
+ // Detemplatize field references and update the layer properties
521
+ // Only failure path is handled by addFeatureServiceDefinition
522
+ // eslint-disable-next-line @typescript-eslint/no-floating-promises
523
+ updateLayerFieldReferences(itemTemplate, fieldInfos, popupInfos, adminLayerInfos, templateDictionary).then(r => {
524
+ // Update relationships and layer definitions
525
+ let updates = (0, restHelpers_1.getLayerUpdates)({
526
+ message: "updated layer definition",
527
+ objects: r.layerInfos.fieldInfos,
528
+ itemTemplate: r.itemTemplate,
529
+ authentication
530
+ }, templateDictionary.isPortal);
531
+ // Get any updates for the service that should be performed after updates to the layers
532
+ if (templateDictionary.isPortal) {
533
+ updates = (0, restHelpers_1.getFinalServiceUpdates)(r.itemTemplate, authentication, updates);
534
+ }
535
+ // Process the updates sequentially
536
+ updates
537
+ .reduce((prev, update) => {
538
+ return prev.then(() => {
539
+ return (0, restHelpers_1.getRequest)(update);
540
+ });
541
+ }, Promise.resolve(null))
542
+ .then(() => resolve(null), (e) => reject((0, generalHelpers_1.fail)(e)) // getRequest
543
+ );
544
+ });
545
+ }, e => reject((0, generalHelpers_1.fail)(e)) // addFeatureServiceDefinition
546
+ );
547
+ }
548
+ else {
549
+ resolve(null);
550
+ }
534
551
  }
535
552
  });
536
553
  }
@@ -551,83 +568,95 @@ exports.addFeatureServiceLayersAndTables = addFeatureServiceLayersAndTables;
551
568
  * @protected
552
569
  */
553
570
  function addFeatureServiceDefinition(serviceUrl, listToAdd, templateDictionary, authentication, key, adminLayerInfos, fieldInfos, itemTemplate) {
554
- return new Promise(function (resolve, reject) {
555
- var options = {
556
- layers: [],
557
- tables: [],
558
- authentication: authentication
559
- };
560
- // if the service has veiws keep track of the fields so we can use them to
561
- // compare with the view fields
562
- /* istanbul ignore else */
563
- if ((0, generalHelpers_1.getProp)(itemTemplate, "properties.service.hasViews")) {
564
- _updateTemplateDictionaryFields(itemTemplate, templateDictionary);
571
+ return new Promise((resolve, reject) => {
572
+ if ((0, trackingHelpers_1.isTrackingViewTemplate)(itemTemplate)) {
573
+ resolve(null);
565
574
  }
566
- var layerChunks = [];
567
- listToAdd.forEach(function (toAdd, i) {
568
- var item = toAdd.item;
569
- var originalId = item.id;
570
- fieldInfos = cacheFieldInfos(item, fieldInfos, templateDictionary.isPortal);
575
+ else {
576
+ let options = {
577
+ layers: [],
578
+ tables: [],
579
+ authentication
580
+ };
581
+ // if the service has veiws keep track of the fields so we can use them to
582
+ // compare with the view fields
571
583
  /* istanbul ignore else */
572
- if (item.isView) {
573
- deleteViewProps(item);
584
+ if ((0, generalHelpers_1.getProp)(itemTemplate, "properties.service.hasViews")) {
585
+ _updateTemplateDictionaryFields(itemTemplate, templateDictionary);
574
586
  }
575
- // when the item is a view we need to grab the supporting fieldInfos
576
- /* istanbul ignore else */
577
- if (itemTemplate.properties.service.isView) {
578
- _updateGeomFieldName(item.adminLayerInfo, templateDictionary);
579
- adminLayerInfos[originalId] = item.adminLayerInfo;
580
- // need to update adminLayerInfo before adding to the service def
581
- // bring over the fieldInfos from the source layer
582
- updateSettingsFieldInfos(itemTemplate, templateDictionary);
583
- // update adminLayerInfo before add to definition with view source fieldInfo settings
584
- item.adminLayerInfo = (0, templatization_1.replaceInTemplate)(item.adminLayerInfo, templateDictionary);
587
+ const chunkSize = _getLayerChunkSize();
588
+ const layerChunks = [];
589
+ listToAdd.forEach((toAdd, i) => {
590
+ let item = toAdd.item;
591
+ const originalId = item.id;
592
+ fieldInfos = cacheFieldInfos(item, fieldInfos, templateDictionary.isPortal);
585
593
  /* istanbul ignore else */
586
- if (!templateDictionary.isPortal &&
587
- fieldInfos &&
588
- fieldInfos.hasOwnProperty(item.id)) {
589
- Object.keys(templateDictionary).some(function (k) {
590
- if (templateDictionary[k].itemId === itemTemplate.itemId) {
591
- fieldInfos[item.id]["sourceServiceFields"] =
592
- templateDictionary[k].sourceServiceFields;
593
- return true;
594
- }
595
- else {
596
- return false;
597
- }
598
- });
599
- // view field domain and alias can contain different values than the source field
600
- // we need to set isViewOverride when added fields that differ from the source field
601
- _validateViewDomainsAndAlias(fieldInfos[item.id], item);
594
+ if (item.isView) {
595
+ deleteViewProps(item);
602
596
  }
603
- }
604
- /* istanbul ignore else */
605
- if (templateDictionary.isPortal) {
606
- item = _updateForPortal(item, itemTemplate, templateDictionary);
607
- }
608
- removeLayerOptimization(item);
609
- options = _updateAddOptions(itemTemplate, item, options, layerChunks, authentication);
610
- if (item.type === "Feature Layer") {
611
- options.layers.push(item);
612
- }
613
- else {
614
- options.tables.push(item);
615
- }
616
- /* istanbul ignore else */
617
- if ((i + 1) % 20 === 0 || i + 1 === listToAdd.length) {
618
- layerChunks.push(Object.assign({}, options));
619
- options = {
620
- layers: [],
621
- tables: [],
622
- authentication: authentication
623
- };
624
- }
625
- });
626
- layerChunks
627
- .reduce(function (prev, curr) {
628
- return prev.then(function () { return (0, restHelpers_1.addToServiceDefinition)(serviceUrl, curr); });
629
- }, Promise.resolve(null))
630
- .then(function () { return resolve(null); }, function (e) { return reject((0, generalHelpers_1.fail)(e)); });
597
+ // when the item is a view we need to grab the supporting fieldInfos
598
+ /* istanbul ignore else */
599
+ if (itemTemplate.properties.service.isView) {
600
+ _updateGeomFieldName(item.adminLayerInfo, templateDictionary);
601
+ adminLayerInfos[originalId] = item.adminLayerInfo;
602
+ // need to update adminLayerInfo before adding to the service def
603
+ // bring over the fieldInfos from the source layer
604
+ updateSettingsFieldInfos(itemTemplate, templateDictionary);
605
+ // update adminLayerInfo before add to definition with view source fieldInfo settings
606
+ item.adminLayerInfo = (0, templatization_1.replaceInTemplate)(item.adminLayerInfo, templateDictionary);
607
+ /* istanbul ignore else */
608
+ if (!templateDictionary.isPortal &&
609
+ fieldInfos &&
610
+ fieldInfos.hasOwnProperty(item.id)) {
611
+ Object.keys(templateDictionary).some(k => {
612
+ if (templateDictionary[k].itemId === itemTemplate.itemId) {
613
+ fieldInfos[item.id]["sourceServiceFields"] =
614
+ templateDictionary[k].sourceServiceFields;
615
+ return true;
616
+ }
617
+ else {
618
+ return false;
619
+ }
620
+ });
621
+ // view field domain and alias can contain different values than the source field
622
+ // we need to set isViewOverride when added fields that differ from the source field
623
+ _validateViewDomainsAndAlias(fieldInfos[item.id], item);
624
+ }
625
+ }
626
+ /* istanbul ignore else */
627
+ if (templateDictionary.isPortal) {
628
+ item = _updateForPortal(item, itemTemplate, templateDictionary);
629
+ }
630
+ removeLayerOptimization(item);
631
+ // this can still chunk layers
632
+ options = _updateAddOptions(itemTemplate, item, options, layerChunks, authentication);
633
+ if (item.type === "Feature Layer") {
634
+ options.layers.push(item);
635
+ }
636
+ else {
637
+ options.tables.push(item);
638
+ }
639
+ // In general we are switching to not use chunking. Rather if we exceed the defined chunk size
640
+ // we will use an async request.
641
+ // Currently the only case that should chunk the requests is when we have a multisource view
642
+ // handled in _updateAddOptions above
643
+ /* istanbul ignore else */
644
+ if (i + 1 === listToAdd.length) {
645
+ layerChunks.push(Object.assign({}, options));
646
+ options = {
647
+ layers: [],
648
+ tables: [],
649
+ authentication
650
+ };
651
+ }
652
+ });
653
+ // will use async by default rather than chunk the layer requests when we have more layers
654
+ // than the defined chunk size
655
+ const useAsync = listToAdd.length > chunkSize;
656
+ layerChunks
657
+ .reduce((prev, curr) => prev.then(() => (0, restHelpers_1.addToServiceDefinition)(serviceUrl, curr, false, useAsync)), Promise.resolve(null))
658
+ .then(() => resolve(null), (e) => reject((0, generalHelpers_1.fail)(e)));
659
+ }
631
660
  });
632
661
  }
633
662
  exports.addFeatureServiceDefinition = addFeatureServiceDefinition;
@@ -645,17 +674,17 @@ exports.addFeatureServiceDefinition = addFeatureServiceDefinition;
645
674
  * @protected
646
675
  */
647
676
  function _updateAddOptions(itemTemplate, item, options, layerChunks, authentication) {
648
- var isMsView = (0, generalHelpers_1.getProp)(itemTemplate, "properties.service.isMultiServicesView") || false;
649
- var serviceName = (0, generalHelpers_1.getProp)(itemTemplate, "item.name");
677
+ const isMsView = (0, generalHelpers_1.getProp)(itemTemplate, "properties.service.isMultiServicesView") || false;
678
+ const serviceName = (0, generalHelpers_1.getProp)(itemTemplate, "item.name");
650
679
  /* istanbul ignore else */
651
680
  if (isMsView) {
652
- var table = (0, generalHelpers_1.getProp)(item, "adminLayerInfo.viewLayerDefinition.table");
681
+ const table = (0, generalHelpers_1.getProp)(item, "adminLayerInfo.viewLayerDefinition.table");
653
682
  /* istanbul ignore else */
654
683
  if (table) {
655
- var tableNames = (table.relatedTables || []).map(function (t) { return t.sourceServiceName; });
684
+ const tableNames = (table.relatedTables || []).map((t) => t.sourceServiceName);
656
685
  tableNames.push(table.sourceServiceName);
657
686
  /* istanbul ignore else */
658
- if (tableNames.some(function (n) { return n === serviceName; })) {
687
+ if (tableNames.some(n => n === serviceName)) {
659
688
  // if we already have some layers or tables add them first
660
689
  /* istanbul ignore else */
661
690
  if (options.layers.length > 0 || options.tables.length > 0) {
@@ -663,7 +692,7 @@ function _updateAddOptions(itemTemplate, item, options, layerChunks, authenticat
663
692
  options = {
664
693
  layers: [],
665
694
  tables: [],
666
- authentication: authentication
695
+ authentication
667
696
  };
668
697
  }
669
698
  }
@@ -708,41 +737,41 @@ function _updateForPortal(item, itemTemplate, templateDictionary) {
708
737
  // Portal will fail if the sourceFields in the viewLayerDef contain fields that are not in the source service
709
738
  /* istanbul ignore else */
710
739
  if (item.isView) {
711
- var viewLayerDefTable = (0, generalHelpers_1.getProp)(item, "adminLayerInfo.viewLayerDefinition.table");
712
- var fieldNames_1 = [];
740
+ const viewLayerDefTable = (0, generalHelpers_1.getProp)(item, "adminLayerInfo.viewLayerDefinition.table");
741
+ let fieldNames = [];
713
742
  if (viewLayerDefTable) {
714
- var tableFieldNames = _getFieldNames(viewLayerDefTable, itemTemplate, templateDictionary);
715
- fieldNames_1 = fieldNames_1.concat(tableFieldNames);
743
+ const tableFieldNames = _getFieldNames(viewLayerDefTable, itemTemplate, templateDictionary);
744
+ fieldNames = fieldNames.concat(tableFieldNames);
716
745
  (0, generalHelpers_1.setProp)(item, "adminLayerInfo.viewLayerDefinition.table", _updateSourceLayerFields(viewLayerDefTable, tableFieldNames));
717
746
  // Handle related also
718
747
  /* istanbul ignore else */
719
748
  if (Array.isArray(viewLayerDefTable.relatedTables)) {
720
- viewLayerDefTable.relatedTables.map(function (relatedTable) {
721
- var relatedTableFieldNames = _getFieldNames(relatedTable, itemTemplate, templateDictionary);
722
- fieldNames_1 = fieldNames_1.concat(relatedTableFieldNames);
749
+ viewLayerDefTable.relatedTables.map((relatedTable) => {
750
+ const relatedTableFieldNames = _getFieldNames(relatedTable, itemTemplate, templateDictionary);
751
+ fieldNames = fieldNames.concat(relatedTableFieldNames);
723
752
  return _updateSourceLayerFields(relatedTable, relatedTableFieldNames);
724
753
  });
725
754
  }
726
755
  }
727
756
  else {
728
- Object.keys(templateDictionary).some(function (k) {
757
+ Object.keys(templateDictionary).some(k => {
729
758
  /* istanbul ignore else */
730
759
  if (templateDictionary[k].itemId === item.serviceItemId) {
731
- var layerInfo = templateDictionary[k]["layer" + item.id];
760
+ const layerInfo = templateDictionary[k][`layer${item.id}`];
732
761
  /* istanbul ignore else */
733
762
  if (layerInfo && layerInfo.fields) {
734
763
  if (Array.isArray(layerInfo.fields)) {
735
- fieldNames_1 = layerInfo.fields.map(function (f) { return f.name; });
764
+ fieldNames = layerInfo.fields.map((f) => f.name);
736
765
  }
737
766
  else {
738
- fieldNames_1 = Object.keys(layerInfo.fields);
767
+ fieldNames = Object.keys(layerInfo.fields);
739
768
  }
740
769
  }
741
770
  return true;
742
771
  }
743
772
  });
744
773
  }
745
- item = _updateItemFields(item, fieldNames_1);
774
+ item = _updateItemFields(item, fieldNames);
746
775
  }
747
776
  // not allowed to set sourceSchemaChangesAllowed or isView for portal
748
777
  // these are set when you create the service
@@ -762,19 +791,19 @@ exports._updateForPortal = _updateForPortal;
762
791
  * @protected
763
792
  */
764
793
  function _getFieldNames(table, itemTemplate, templateDictionary) {
765
- var sourceLayerFields = [];
766
- var viewSourceLayerId = table.sourceLayerId;
794
+ let sourceLayerFields = [];
795
+ const viewSourceLayerId = table.sourceLayerId;
767
796
  /* istanbul ignore else */
768
797
  if (typeof viewSourceLayerId === "number") {
769
798
  // need to make sure these actually exist in the source..
770
- itemTemplate.dependencies.forEach(function (d) {
771
- var layerInfo = templateDictionary[d]["layer" + viewSourceLayerId];
799
+ itemTemplate.dependencies.forEach(d => {
800
+ const layerInfo = templateDictionary[d][`layer${viewSourceLayerId}`];
772
801
  /* istanbul ignore else */
773
802
  if (layerInfo &&
774
803
  layerInfo.fields &&
775
804
  templateDictionary[d].name === table.sourceServiceName) {
776
805
  if (Array.isArray(layerInfo.fields)) {
777
- sourceLayerFields = sourceLayerFields.concat(layerInfo.fields.map(function (f) { return f.name; }));
806
+ sourceLayerFields = sourceLayerFields.concat(layerInfo.fields.map((f) => f.name));
778
807
  }
779
808
  else {
780
809
  sourceLayerFields = sourceLayerFields.concat(Object.keys(layerInfo.fields));
@@ -799,11 +828,11 @@ function _updateItemFields(item, fieldNames) {
799
828
  if (fieldNames.length > 0) {
800
829
  /* istanbul ignore else */
801
830
  if (item.fields) {
802
- item.fields = item.fields.filter(function (f) { return fieldNames.indexOf(f.name) > -1; });
831
+ item.fields = item.fields.filter((f) => fieldNames.indexOf(f.name) > -1);
803
832
  }
804
833
  /* istanbul ignore else */
805
834
  if (item.indexes) {
806
- item.indexes = item.indexes.filter(function (f) { return fieldNames.indexOf(f.fields) > -1; });
835
+ item.indexes = item.indexes.filter((f) => fieldNames.indexOf(f.fields) > -1);
807
836
  }
808
837
  }
809
838
  return item;
@@ -824,7 +853,7 @@ function _updateSourceLayerFields(table, sourceLayerFields) {
824
853
  // need to make sure these actually exist in the source..
825
854
  /* istanbul ignore else */
826
855
  if (sourceLayerFields.length > 0) {
827
- (0, generalHelpers_1.setProp)(table, "sourceLayerFields", table.sourceLayerFields.filter(function (f) { return sourceLayerFields.indexOf(f.source.toLowerCase()) > -1; }));
856
+ (0, generalHelpers_1.setProp)(table, "sourceLayerFields", table.sourceLayerFields.filter((f) => sourceLayerFields.indexOf(f.source.toLowerCase()) > -1));
828
857
  }
829
858
  }
830
859
  return table;
@@ -840,13 +869,13 @@ exports._updateSourceLayerFields = _updateSourceLayerFields;
840
869
  */
841
870
  function _updateGeomFieldName(adminLayerInfo, templateDictionary) {
842
871
  // issue #471
843
- var tableName = (0, generalHelpers_1.getProp)(adminLayerInfo, "viewLayerDefinition.table.name");
844
- var fieldName = (0, generalHelpers_1.getProp)(adminLayerInfo, "geometryField.name");
872
+ const tableName = (0, generalHelpers_1.getProp)(adminLayerInfo, "viewLayerDefinition.table.name");
873
+ const fieldName = (0, generalHelpers_1.getProp)(adminLayerInfo, "geometryField.name");
845
874
  /* istanbul ignore else */
846
875
  if (fieldName && tableName) {
847
- var geomName = templateDictionary.isPortal
848
- ? tableName + ".shape"
849
- : tableName + ".Shape";
876
+ const geomName = templateDictionary.isPortal
877
+ ? `${tableName}.shape`
878
+ : `${tableName}.Shape`;
850
879
  (0, generalHelpers_1.setProp)(adminLayerInfo, "geometryField.name", geomName);
851
880
  }
852
881
  else if (!fieldName && (0, generalHelpers_1.getProp)(adminLayerInfo, "geometryField")) {
@@ -867,16 +896,15 @@ exports._updateGeomFieldName = _updateGeomFieldName;
867
896
  * @param templateDictionary Hash mapping Solution source id to id of its clone (and name & URL for feature service)
868
897
  * @protected
869
898
  */
870
- function _updateTemplateDictionaryFields(itemTemplate, templateDictionary, compareItemId) {
871
- if (compareItemId === void 0) { compareItemId = true; }
872
- var layers = itemTemplate.properties.layers;
873
- var tables = itemTemplate.properties.tables;
874
- var layersAndTables = layers.concat(tables);
875
- var fieldInfos = {};
876
- layersAndTables.forEach(function (layerOrTable) {
899
+ function _updateTemplateDictionaryFields(itemTemplate, templateDictionary, compareItemId = true) {
900
+ const layers = itemTemplate.properties.layers;
901
+ const tables = itemTemplate.properties.tables;
902
+ const layersAndTables = layers.concat(tables);
903
+ const fieldInfos = {};
904
+ layersAndTables.forEach(layerOrTable => {
877
905
  fieldInfos[layerOrTable.id] = layerOrTable.fields;
878
906
  });
879
- Object.keys(templateDictionary).some(function (k) {
907
+ Object.keys(templateDictionary).some(k => {
880
908
  if (compareItemId
881
909
  ? templateDictionary[k].itemId === itemTemplate.itemId
882
910
  : k === itemTemplate.itemId) {
@@ -902,7 +930,7 @@ exports._updateTemplateDictionaryFields = _updateTemplateDictionaryFields;
902
930
  function setDefaultSpatialReference(templateDictionary, itemId, spatialReference) {
903
931
  /* istanbul ignore else */
904
932
  if (spatialReference) {
905
- (0, generalHelpers_1.setCreateProp)(templateDictionary, itemId + ".defaultSpatialReference", spatialReference);
933
+ (0, generalHelpers_1.setCreateProp)(templateDictionary, `${itemId}.defaultSpatialReference`, spatialReference);
906
934
  }
907
935
  }
908
936
  exports.setDefaultSpatialReference = setDefaultSpatialReference;
@@ -919,34 +947,34 @@ exports.setDefaultSpatialReference = setDefaultSpatialReference;
919
947
  function validateSpatialReferenceAndExtent(serviceInfo, itemTemplate, templateDictionary) {
920
948
  /* istanbul ignore else */
921
949
  if ((0, generalHelpers_1.getProp)(serviceInfo, "service.isView")) {
922
- var sourceSR_1;
923
- var sourceExt_1;
924
- itemTemplate.dependencies.some(function (id) {
925
- var source = templateDictionary[id];
926
- var sr = (0, generalHelpers_1.getProp)(source, "defaultSpatialReference");
950
+ let sourceSR;
951
+ let sourceExt;
952
+ itemTemplate.dependencies.some(id => {
953
+ const source = templateDictionary[id];
954
+ const sr = (0, generalHelpers_1.getProp)(source, "defaultSpatialReference");
927
955
  /* istanbul ignore else */
928
- if (!sourceSR_1 && sr) {
929
- sourceSR_1 = sr;
956
+ if (!sourceSR && sr) {
957
+ sourceSR = sr;
930
958
  }
931
- var ext = (0, generalHelpers_1.getProp)(source, "defaultExtent");
959
+ const ext = (0, generalHelpers_1.getProp)(source, "defaultExtent");
932
960
  /* istanbul ignore else */
933
- if (!sourceExt_1 && ext) {
934
- sourceExt_1 = ext;
961
+ if (!sourceExt && ext) {
962
+ sourceExt = ext;
935
963
  }
936
- return sourceSR_1 && sourceExt_1;
964
+ return sourceSR && sourceExt;
937
965
  });
938
- var sourceWkid = (0, generalHelpers_1.getProp)(sourceSR_1, "wkid");
939
- var viewWkid = (0, generalHelpers_1.getProp)(serviceInfo, "service.spatialReference.wkid");
966
+ const sourceWkid = (0, generalHelpers_1.getProp)(sourceSR, "wkid");
967
+ const viewWkid = (0, generalHelpers_1.getProp)(serviceInfo, "service.spatialReference.wkid");
940
968
  /* istanbul ignore else */
941
969
  if (sourceWkid && viewWkid && sourceWkid !== viewWkid) {
942
- (0, generalHelpers_1.setCreateProp)(serviceInfo, "service.spatialReference", sourceSR_1);
970
+ (0, generalHelpers_1.setCreateProp)(serviceInfo, "service.spatialReference", sourceSR);
943
971
  }
944
- var viewExt = (0, generalHelpers_1.getProp)(serviceInfo, "service.fullExtent");
972
+ const viewExt = (0, generalHelpers_1.getProp)(serviceInfo, "service.fullExtent");
945
973
  /* istanbul ignore else */
946
- if (sourceExt_1 &&
974
+ if (sourceExt &&
947
975
  viewExt &&
948
- JSON.stringify(sourceExt_1) !== JSON.stringify(viewExt)) {
949
- (0, generalHelpers_1.setCreateProp)(serviceInfo, "defaultExtent", sourceExt_1);
976
+ JSON.stringify(sourceExt) !== JSON.stringify(viewExt)) {
977
+ (0, generalHelpers_1.setCreateProp)(serviceInfo, "defaultExtent", sourceExt);
950
978
  }
951
979
  }
952
980
  }
@@ -964,17 +992,17 @@ exports.validateSpatialReferenceAndExtent = validateSpatialReferenceAndExtent;
964
992
  * @protected
965
993
  */
966
994
  function updateLayerFieldReferences(itemTemplate, fieldInfos, popupInfos, adminLayerInfos, templateDictionary) {
967
- return new Promise(function (resolveFn, rejectFn) {
995
+ return new Promise((resolveFn, rejectFn) => {
968
996
  // Will need to do some post processing for fields
969
997
  // to handle any potential field name changes when deploying to portal
970
- postProcessFields(itemTemplate, fieldInfos, popupInfos, adminLayerInfos, templateDictionary).then(function (layerInfos) {
998
+ postProcessFields(itemTemplate, fieldInfos, popupInfos, adminLayerInfos, templateDictionary).then((layerInfos) => {
971
999
  // Update the items text with detemplatized popupInfo
972
1000
  updatePopupInfo(itemTemplate, layerInfos.popupInfos);
973
1001
  resolveFn({
974
- itemTemplate: itemTemplate,
975
- layerInfos: layerInfos
1002
+ itemTemplate,
1003
+ layerInfos
976
1004
  });
977
- }, function (e) { return rejectFn((0, generalHelpers_1.fail)(e)); });
1005
+ }, e => rejectFn((0, generalHelpers_1.fail)(e)));
978
1006
  });
979
1007
  }
980
1008
  exports.updateLayerFieldReferences = updateLayerFieldReferences;
@@ -992,17 +1020,17 @@ exports.updateLayerFieldReferences = updateLayerFieldReferences;
992
1020
  * @protected
993
1021
  */
994
1022
  function postProcessFields(itemTemplate, layerInfos, popupInfos, adminLayerInfos, templateDictionary) {
995
- return new Promise(function (resolveFn, rejectFn) {
1023
+ return new Promise((resolveFn, rejectFn) => {
996
1024
  if (!itemTemplate.item.url) {
997
1025
  rejectFn((0, generalHelpers_1.fail)("Feature layer " + itemTemplate.itemId + " does not have a URL"));
998
1026
  }
999
1027
  else {
1000
- var id_1 = itemTemplate.itemId;
1001
- var settingsKeys = Object.keys(templateDictionary);
1002
- var templateInfo_1;
1003
- settingsKeys.some(function (k) {
1004
- if (templateDictionary[k].itemId === id_1) {
1005
- templateInfo_1 = templateDictionary[k];
1028
+ const id = itemTemplate.itemId;
1029
+ const settingsKeys = Object.keys(templateDictionary);
1030
+ let templateInfo;
1031
+ settingsKeys.some(k => {
1032
+ if (templateDictionary[k].itemId === id) {
1033
+ templateInfo = templateDictionary[k];
1006
1034
  return true;
1007
1035
  }
1008
1036
  else {
@@ -1010,19 +1038,19 @@ function postProcessFields(itemTemplate, layerInfos, popupInfos, adminLayerInfos
1010
1038
  }
1011
1039
  });
1012
1040
  // concat any layers and tables to process
1013
- var layers = itemTemplate.properties.layers;
1014
- var tables = itemTemplate.properties.tables;
1015
- var layersAndTables = layers.concat(tables);
1041
+ const layers = itemTemplate.properties.layers;
1042
+ const tables = itemTemplate.properties.tables;
1043
+ const layersAndTables = layers.concat(tables);
1016
1044
  // Set the newFields property for the layerInfos...this will contain all fields
1017
1045
  // as they are after being added to the definition.
1018
1046
  // This allows us to handle any potential field name changes after deploy to portal
1019
- layersAndTables.forEach(function (item) {
1047
+ layersAndTables.forEach((item) => {
1020
1048
  // when deploying to portal "isView" is only set for create service and will fail when
1021
1049
  // present on addToDef so this property is removed from item and we should check the templates service info
1022
- var isView = item.isView || itemTemplate.properties.service.isView;
1050
+ const isView = item.isView || itemTemplate.properties.service.isView;
1023
1051
  /* istanbul ignore else */
1024
1052
  if (layerInfos && layerInfos.hasOwnProperty(item.id)) {
1025
- var layerInfo = layerInfos[item.id];
1053
+ const layerInfo = layerInfos[item.id];
1026
1054
  layerInfo["isView"] = item.isView;
1027
1055
  layerInfo["newFields"] = item.fields;
1028
1056
  layerInfo["sourceSchemaChangesAllowed"] =
@@ -1036,10 +1064,10 @@ function postProcessFields(itemTemplate, layerInfos, popupInfos, adminLayerInfos
1036
1064
  // visible true when added with the layer definition
1037
1065
  // update the field visibility to match that of the source
1038
1066
  /* istanbul ignore else */
1039
- if (isView && templateInfo_1 && templateDictionary.isPortal) {
1067
+ if (isView && templateInfo && templateDictionary.isPortal) {
1040
1068
  // when the item is a view bring over the source service fields so we can compare the domains
1041
- layerInfo["sourceServiceFields"] = templateInfo_1.sourceServiceFields;
1042
- var fieldUpdates = _getFieldVisibilityUpdates(layerInfo);
1069
+ layerInfo["sourceServiceFields"] = templateInfo.sourceServiceFields;
1070
+ let fieldUpdates = _getFieldVisibilityUpdates(layerInfo);
1043
1071
  // view field domains can contain different values than the source field domains
1044
1072
  // use the cached view domain when it differs from the source view domain
1045
1073
  fieldUpdates = _validateDomains(layerInfo, fieldUpdates);
@@ -1048,16 +1076,16 @@ function postProcessFields(itemTemplate, layerInfos, popupInfos, adminLayerInfos
1048
1076
  layerInfo.fields = fieldUpdates;
1049
1077
  }
1050
1078
  layerInfo.typeIdField = _getTypeIdField(item);
1051
- var fieldNames = layerInfo.newFields.map(function (f) { return f.name; });
1079
+ const fieldNames = layerInfo.newFields.map((f) => f.name);
1052
1080
  _validateTemplatesFields(layerInfo, fieldNames);
1053
1081
  _validateTypesTemplates(layerInfo, fieldNames);
1054
1082
  }
1055
1083
  }
1056
1084
  });
1057
1085
  // Add the layerInfos to the settings object to be used while detemplatizing
1058
- settingsKeys.forEach(function (k) {
1059
- if (id_1 === templateDictionary[k].itemId) {
1060
- templateDictionary[k] = Object.assign(templateDictionary[k], getLayerSettings(layerInfos, templateDictionary[k].url, id_1));
1086
+ settingsKeys.forEach((k) => {
1087
+ if (id === templateDictionary[k].itemId) {
1088
+ templateDictionary[k] = Object.assign(templateDictionary[k], getLayerSettings(layerInfos, templateDictionary[k].url, id));
1061
1089
  }
1062
1090
  });
1063
1091
  // update the layerInfos object with current field names
@@ -1075,7 +1103,7 @@ exports.postProcessFields = postProcessFields;
1075
1103
  * @protected
1076
1104
  */
1077
1105
  function _getTypeIdField(item) {
1078
- var typeIdFields = item.fields.filter(function (f) {
1106
+ const typeIdFields = item.fields.filter((f) => {
1079
1107
  return (f.name &&
1080
1108
  item.typeIdField &&
1081
1109
  f.name.toLowerCase() === item.typeIdField.toLowerCase());
@@ -1095,19 +1123,19 @@ exports._getTypeIdField = _getTypeIdField;
1095
1123
  * @protected
1096
1124
  */
1097
1125
  function _getFieldVisibilityUpdates(fieldInfo) {
1098
- var visibilityUpdates = [];
1126
+ const visibilityUpdates = [];
1099
1127
  if (fieldInfo && fieldInfo["sourceFields"] && fieldInfo["newFields"]) {
1100
- var sourceFields_1 = fieldInfo["sourceFields"].reduce(function (hash, f) {
1128
+ const sourceFields = fieldInfo["sourceFields"].reduce((hash, f) => {
1101
1129
  hash[String(f.name).toLocaleLowerCase()] = f.visible;
1102
1130
  return hash;
1103
1131
  }, {});
1104
- fieldInfo["newFields"].forEach(function (f) {
1105
- var name = String(f.name).toLocaleLowerCase();
1132
+ fieldInfo["newFields"].forEach((f) => {
1133
+ const name = String(f.name).toLocaleLowerCase();
1106
1134
  // only add fields that are not visible
1107
- if (sourceFields_1.hasOwnProperty(name) && !sourceFields_1[name]) {
1135
+ if (sourceFields.hasOwnProperty(name) && !sourceFields[name]) {
1108
1136
  visibilityUpdates.push({
1109
1137
  name: f.name,
1110
- visible: sourceFields_1[name]
1138
+ visible: sourceFields[name]
1111
1139
  });
1112
1140
  }
1113
1141
  });
@@ -1125,14 +1153,14 @@ exports._getFieldVisibilityUpdates = _getFieldVisibilityUpdates;
1125
1153
  * @protected
1126
1154
  */
1127
1155
  function _validateDomains(fieldInfo, fieldUpdates) {
1128
- var domainAliasInfos = _getDomainAndAliasInfos(fieldInfo);
1129
- var domainFields = domainAliasInfos.domainFields;
1130
- var domainNames = domainAliasInfos.domainNames;
1131
- var aliasFields = domainAliasInfos.aliasFields;
1132
- var aliasNames = domainAliasInfos.aliasNames;
1156
+ const domainAliasInfos = _getDomainAndAliasInfos(fieldInfo);
1157
+ const domainFields = domainAliasInfos.domainFields;
1158
+ const domainNames = domainAliasInfos.domainNames;
1159
+ const aliasFields = domainAliasInfos.aliasFields;
1160
+ const aliasNames = domainAliasInfos.aliasNames;
1133
1161
  // loop through the fields from the new view service
1134
1162
  // add an update when the domains don't match
1135
- fieldInfo.newFields.forEach(function (field) {
1163
+ fieldInfo.newFields.forEach((field) => {
1136
1164
  _getPortalViewFieldUpdates(field, domainNames, domainFields, "domain", fieldUpdates);
1137
1165
  _getPortalViewFieldUpdates(field, aliasNames, aliasFields, "alias", fieldUpdates);
1138
1166
  });
@@ -1152,19 +1180,19 @@ exports._validateDomains = _validateDomains;
1152
1180
  */
1153
1181
  function _getPortalViewFieldUpdates(field, names, fields, key, fieldUpdates) {
1154
1182
  if (field.hasOwnProperty(key) && field[key]) {
1155
- var i = names.indexOf(String(field.name).toLocaleLowerCase());
1183
+ const i = names.indexOf(String(field.name).toLocaleLowerCase());
1156
1184
  if (JSON.stringify(field[key]) !== (i > -1 ? JSON.stringify(fields[i]) : "")) {
1157
1185
  // should mixin the update if the field already has some other update
1158
- var hasUpdate_1 = false;
1159
- fieldUpdates.some(function (update) {
1186
+ let hasUpdate = false;
1187
+ fieldUpdates.some((update) => {
1160
1188
  if (update.name === field.name) {
1161
- hasUpdate_1 = true;
1189
+ hasUpdate = true;
1162
1190
  update[key] = field[key];
1163
1191
  }
1164
- return hasUpdate_1;
1192
+ return hasUpdate;
1165
1193
  });
1166
- if (!hasUpdate_1) {
1167
- var update = { name: field.name };
1194
+ if (!hasUpdate) {
1195
+ const update = { name: field.name };
1168
1196
  update[key] = field[key];
1169
1197
  fieldUpdates.push(update);
1170
1198
  }
@@ -1182,14 +1210,14 @@ exports._getPortalViewFieldUpdates = _getPortalViewFieldUpdates;
1182
1210
  * @protected
1183
1211
  */
1184
1212
  function _validateViewDomainsAndAlias(fieldInfo, item) {
1185
- var domainAliasInfos = _getDomainAndAliasInfos(fieldInfo);
1186
- var domainFields = domainAliasInfos.domainFields;
1187
- var domainNames = domainAliasInfos.domainNames;
1188
- var aliasFields = domainAliasInfos.aliasFields;
1189
- var aliasNames = domainAliasInfos.aliasNames;
1213
+ const domainAliasInfos = _getDomainAndAliasInfos(fieldInfo);
1214
+ const domainFields = domainAliasInfos.domainFields;
1215
+ const domainNames = domainAliasInfos.domainNames;
1216
+ const aliasFields = domainAliasInfos.aliasFields;
1217
+ const aliasNames = domainAliasInfos.aliasNames;
1190
1218
  // loop through the fields from the item
1191
1219
  // add isViewOverride when the domains or alias don't match
1192
- item.fields.map(function (field) {
1220
+ item.fields.map((field) => {
1193
1221
  _isViewFieldOverride(field, domainNames, domainFields, "domain");
1194
1222
  _isViewFieldOverride(field, aliasNames, aliasFields, "alias");
1195
1223
  return field;
@@ -1203,17 +1231,17 @@ exports._validateViewDomainsAndAlias = _validateViewDomainsAndAlias;
1203
1231
  *
1204
1232
  */
1205
1233
  function _getDomainAndAliasInfos(fieldInfo) {
1206
- var domainFields = [];
1207
- var domainNames = [];
1208
- var aliasFields = [];
1209
- var aliasNames = [];
1234
+ const domainFields = [];
1235
+ const domainNames = [];
1236
+ const aliasFields = [];
1237
+ const aliasNames = [];
1210
1238
  /* istanbul ignore else */
1211
1239
  if (fieldInfo.sourceServiceFields) {
1212
- Object.keys(fieldInfo.sourceServiceFields).forEach(function (k) {
1240
+ Object.keys(fieldInfo.sourceServiceFields).forEach(k => {
1213
1241
  /* istanbul ignore else */
1214
1242
  if (fieldInfo.sourceServiceFields[k]) {
1215
- Object.keys(fieldInfo.sourceServiceFields[k]).forEach(function (_k) {
1216
- fieldInfo.sourceServiceFields[k][_k].forEach(function (field) {
1243
+ Object.keys(fieldInfo.sourceServiceFields[k]).forEach(_k => {
1244
+ fieldInfo.sourceServiceFields[k][_k].forEach((field) => {
1217
1245
  /* istanbul ignore else */
1218
1246
  if (field.hasOwnProperty("domain") && field.domain) {
1219
1247
  domainFields.push(field.domain);
@@ -1230,10 +1258,10 @@ function _getDomainAndAliasInfos(fieldInfo) {
1230
1258
  });
1231
1259
  }
1232
1260
  return {
1233
- aliasFields: aliasFields,
1234
- aliasNames: aliasNames,
1235
- domainFields: domainFields,
1236
- domainNames: domainNames
1261
+ aliasFields,
1262
+ aliasNames,
1263
+ domainFields,
1264
+ domainNames
1237
1265
  };
1238
1266
  }
1239
1267
  exports._getDomainAndAliasInfos = _getDomainAndAliasInfos;
@@ -1249,7 +1277,7 @@ exports._getDomainAndAliasInfos = _getDomainAndAliasInfos;
1249
1277
  function _isViewFieldOverride(field, names, fields, key) {
1250
1278
  /* istanbul ignore else */
1251
1279
  if (field.hasOwnProperty(key) && field[key]) {
1252
- var i = names.indexOf(String(field.name).toLocaleLowerCase());
1280
+ const i = names.indexOf(String(field.name).toLocaleLowerCase());
1253
1281
  /* istanbul ignore else */
1254
1282
  if (JSON.stringify(field[key]) !== (i > -1 ? JSON.stringify(fields[i]) : "")) {
1255
1283
  field.isViewOverride = true;
@@ -1265,11 +1293,11 @@ exports._isViewFieldOverride = _isViewFieldOverride;
1265
1293
  * @protected
1266
1294
  */
1267
1295
  function updatePopupInfo(itemTemplate, popupInfos) {
1268
- ["layers", "tables"].forEach(function (type) {
1269
- var _items = (0, generalHelpers_1.getProp)(itemTemplate, "data." + type);
1296
+ ["layers", "tables"].forEach(type => {
1297
+ const _items = (0, generalHelpers_1.getProp)(itemTemplate, "data." + type);
1270
1298
  /* istanbul ignore else */
1271
1299
  if (_items && Array.isArray(_items)) {
1272
- _items.forEach(function (item) {
1300
+ _items.forEach((item) => {
1273
1301
  item.popupInfo = (0, generalHelpers_1.getProp)(popupInfos, type + "." + item.id) || {};
1274
1302
  });
1275
1303
  }
@@ -1325,11 +1353,11 @@ function _templatizeLayer(dataItem, adminItem, itemTemplate, dependencies, templ
1325
1353
  if (templatizeFieldReferences) {
1326
1354
  _templatizeLayerFieldReferences(dataItem, itemTemplate.itemId, adminItem, dependencies);
1327
1355
  }
1328
- var updates = [adminItem];
1356
+ const updates = [adminItem];
1329
1357
  if (dataItem) {
1330
1358
  updates.push(dataItem);
1331
1359
  }
1332
- updates.forEach(function (update) {
1360
+ updates.forEach(update => {
1333
1361
  if (update.hasOwnProperty("name")) {
1334
1362
  // templatize the name but leave the current name as the optional default
1335
1363
  update.name = (0, templatization_1.templatizeTerm)(update["serviceItemId"] + ".layer" + update.id, update["serviceItemId"] + ".layer" + update.id, ".name||" + update.name);
@@ -1353,7 +1381,7 @@ exports._templatizeLayer = _templatizeLayer;
1353
1381
  * @param adminItem layer or table from the service
1354
1382
  */
1355
1383
  function _validateFields(adminItem) {
1356
- var fieldNames = (adminItem.fields || []).map(function (f) { return f.name; });
1384
+ const fieldNames = (adminItem.fields || []).map((f) => f.name);
1357
1385
  // Update primary display field if field isn't in the layer.
1358
1386
  _validateDisplayField(adminItem, fieldNames);
1359
1387
  // Remove indexes on fields that don't exist in the layer.
@@ -1374,9 +1402,9 @@ exports._validateFields = _validateFields;
1374
1402
  * @param fieldNames string list of fields names
1375
1403
  */
1376
1404
  function _validateDisplayField(adminItem, fieldNames) {
1377
- var displayField = adminItem.displayField || "";
1378
- var i = -1;
1379
- if (fieldNames.some(function (name) {
1405
+ const displayField = adminItem.displayField || "";
1406
+ let i = -1;
1407
+ if (fieldNames.some(name => {
1380
1408
  i += 1;
1381
1409
  return name === displayField || name === displayField.toLowerCase();
1382
1410
  })) {
@@ -1384,19 +1412,19 @@ function _validateDisplayField(adminItem, fieldNames) {
1384
1412
  }
1385
1413
  else {
1386
1414
  // use the first non-OID non-globalId field we find
1387
- var skipFields_1 = [];
1388
- var oidField = (0, generalHelpers_1.getProp)(adminItem, "uniqueIdField.name");
1415
+ const skipFields = [];
1416
+ const oidField = (0, generalHelpers_1.getProp)(adminItem, "uniqueIdField.name");
1389
1417
  /* istanbul ignore else */
1390
1418
  if (oidField) {
1391
- skipFields_1.push(oidField);
1419
+ skipFields.push(oidField);
1392
1420
  }
1393
- var globalIdField = (0, generalHelpers_1.getProp)(adminItem, "globalIdField");
1421
+ const globalIdField = (0, generalHelpers_1.getProp)(adminItem, "globalIdField");
1394
1422
  /* istanbul ignore else */
1395
1423
  if (globalIdField) {
1396
- skipFields_1.push(globalIdField);
1424
+ skipFields.push(globalIdField);
1397
1425
  }
1398
- fieldNames.some(function (name) {
1399
- if (skipFields_1.indexOf(name) === -1) {
1426
+ fieldNames.some(name => {
1427
+ if (skipFields.indexOf(name) === -1) {
1400
1428
  adminItem.displayField = name;
1401
1429
  return true;
1402
1430
  }
@@ -1415,17 +1443,17 @@ exports._validateDisplayField = _validateDisplayField;
1415
1443
  * @param fieldNames string list of fields names
1416
1444
  */
1417
1445
  function _validateIndexes(adminItem, fieldNames) {
1418
- var indexes = adminItem.indexes;
1446
+ const indexes = adminItem.indexes;
1419
1447
  /* istanbul ignore else */
1420
1448
  if (indexes) {
1421
- var indexedFields_1 = [];
1422
- adminItem.indexes = indexes.reduce(function (filtered, index) {
1423
- var indexFields = index.fields.split(",");
1424
- var verifiedFields = [];
1425
- indexFields.forEach(function (indexField) {
1449
+ const indexedFields = [];
1450
+ adminItem.indexes = indexes.reduce((filtered, index) => {
1451
+ const indexFields = index.fields.split(",");
1452
+ const verifiedFields = [];
1453
+ indexFields.forEach(indexField => {
1426
1454
  /* istanbul ignore else */
1427
- if (indexedFields_1.indexOf(indexField) === -1) {
1428
- indexedFields_1.push(indexField);
1455
+ if (indexedFields.indexOf(indexField) === -1) {
1456
+ indexedFields.push(indexField);
1429
1457
  // this is the first index with this field and it should be added if the field exists
1430
1458
  /* istanbul ignore else */
1431
1459
  if (fieldNames.indexOf(indexField) > -1) {
@@ -1451,14 +1479,14 @@ exports._validateIndexes = _validateIndexes;
1451
1479
  * @param fieldNames string list of fields names
1452
1480
  */
1453
1481
  function _validateTemplatesFields(adminItem, fieldNames) {
1454
- var templates = adminItem.templates;
1482
+ const templates = adminItem.templates;
1455
1483
  /* istanbul ignore else */
1456
1484
  if (templates) {
1457
- adminItem.templates = templates.map(function (template) {
1458
- var attributes = (0, generalHelpers_1.getProp)(template, "prototype.attributes");
1485
+ adminItem.templates = templates.map(template => {
1486
+ const attributes = (0, generalHelpers_1.getProp)(template, "prototype.attributes");
1459
1487
  /* istanbul ignore else */
1460
1488
  if (attributes) {
1461
- Object.keys(attributes).forEach(function (k) {
1489
+ Object.keys(attributes).forEach(k => {
1462
1490
  /* istanbul ignore else */
1463
1491
  if (fieldNames.indexOf(k) === -1) {
1464
1492
  delete attributes[k];
@@ -1478,10 +1506,10 @@ exports._validateTemplatesFields = _validateTemplatesFields;
1478
1506
  * @param fieldNames string list of fields names
1479
1507
  */
1480
1508
  function _validateTypesTemplates(adminItem, fieldNames) {
1481
- var types = adminItem.types;
1509
+ const types = adminItem.types;
1482
1510
  /* istanbul ignore else */
1483
1511
  if (types) {
1484
- adminItem.types = types.map(function (t) {
1512
+ adminItem.types = types.map(t => {
1485
1513
  _validateTemplatesFields(t, fieldNames);
1486
1514
  return t;
1487
1515
  });
@@ -1495,15 +1523,15 @@ exports._validateTypesTemplates = _validateTypesTemplates;
1495
1523
  * @param fieldNames string list of fields names
1496
1524
  */
1497
1525
  function _validateEditFieldsInfo(adminItem, fieldNames) {
1498
- var editFieldsInfo = adminItem.editFieldsInfo;
1526
+ const editFieldsInfo = adminItem.editFieldsInfo;
1499
1527
  /* istanbul ignore else */
1500
1528
  if (editFieldsInfo) {
1501
- var editFieldsInfoKeys = Object.keys(editFieldsInfo);
1502
- editFieldsInfoKeys.forEach(function (k) {
1503
- var editFieldName = editFieldsInfo[k];
1529
+ const editFieldsInfoKeys = Object.keys(editFieldsInfo);
1530
+ editFieldsInfoKeys.forEach(k => {
1531
+ const editFieldName = editFieldsInfo[k];
1504
1532
  /* istanbul ignore else */
1505
1533
  if (editFieldName) {
1506
- fieldNames.some(function (name) {
1534
+ fieldNames.some(name => {
1507
1535
  if (name === editFieldName) {
1508
1536
  return true;
1509
1537
  }
@@ -1534,9 +1562,9 @@ exports._validateEditFieldsInfo = _validateEditFieldsInfo;
1534
1562
  */
1535
1563
  function _templatizeLayerFieldReferences(dataItem, itemID, layer, dependencies) {
1536
1564
  // This is the value that will be used as the template for adlib replacement
1537
- var path = itemID + ".layer" + layer.id + ".fields";
1565
+ const path = itemID + ".layer" + layer.id + ".fields";
1538
1566
  // Get the field names for various tests
1539
- var fieldNames = layer.fields.map(function (f) { return f.name; });
1567
+ const fieldNames = layer.fields.map((f) => f.name);
1540
1568
  // Update the layer from the items data property
1541
1569
  if (dataItem) {
1542
1570
  _templatizeAdminLayerInfoFields(dataItem, dependencies);
@@ -1565,14 +1593,14 @@ exports._templatizeLayerFieldReferences = _templatizeLayerFieldReferences;
1565
1593
  */
1566
1594
  function _templatizeAdminLayerInfo(layer, dependencies, templateDictionary) {
1567
1595
  // Create new instance of adminLayerInfo to update for clone
1568
- var adminLayerInfo = Object.assign({}, layer.adminLayerInfo);
1596
+ const adminLayerInfo = Object.assign({}, layer.adminLayerInfo);
1569
1597
  _updateGeomFieldName(adminLayerInfo, templateDictionary);
1570
1598
  (0, generalHelpers_1.deleteProp)(adminLayerInfo, "xssTrustedFields");
1571
1599
  (0, generalHelpers_1.deleteProp)(adminLayerInfo, "tableName");
1572
1600
  // Remove unnecessary properties and templatize key properties from viewLayerDefinition
1573
1601
  /* istanbul ignore else */
1574
1602
  if (adminLayerInfo.viewLayerDefinition) {
1575
- var viewDef = Object.assign({}, adminLayerInfo.viewLayerDefinition);
1603
+ const viewDef = Object.assign({}, adminLayerInfo.viewLayerDefinition);
1576
1604
  _processAdminObject(viewDef, dependencies);
1577
1605
  // Remove unnecessary properties and templatize key properties from viewLayerDefinition.table
1578
1606
  /* istanbul ignore else */
@@ -1580,7 +1608,7 @@ function _templatizeAdminLayerInfo(layer, dependencies, templateDictionary) {
1580
1608
  _processAdminObject(viewDef.table, dependencies);
1581
1609
  /* istanbul ignore else */
1582
1610
  if (viewDef.table.relatedTables) {
1583
- viewDef.table.relatedTables.forEach(function (table) {
1611
+ viewDef.table.relatedTables.forEach((table) => {
1584
1612
  _processAdminObject(table, dependencies);
1585
1613
  });
1586
1614
  }
@@ -1613,7 +1641,7 @@ exports._processAdminObject = _processAdminObject;
1613
1641
  * @protected
1614
1642
  */
1615
1643
  function _templatizeSourceServiceName(lookupName, dependencies) {
1616
- var deps = dependencies.filter(function (dependency) { return dependency.name === lookupName; });
1644
+ const deps = dependencies.filter(dependency => dependency.name === lookupName);
1617
1645
  return deps.length === 1 ? _templatize(deps[0].id, "name") : undefined;
1618
1646
  }
1619
1647
  exports._templatizeSourceServiceName = _templatizeSourceServiceName;
@@ -1626,25 +1654,25 @@ exports._templatizeSourceServiceName = _templatizeSourceServiceName;
1626
1654
  */
1627
1655
  function _templatizeAdminLayerInfoFields(layer, dependencies) {
1628
1656
  // templatize the source layer fields
1629
- var table = (0, generalHelpers_1.getProp)(layer, "adminLayerInfo.viewLayerDefinition.table");
1657
+ const table = (0, generalHelpers_1.getProp)(layer, "adminLayerInfo.viewLayerDefinition.table");
1630
1658
  if (table) {
1631
- var id_2 = _getDependantItemId(table.sourceServiceName, dependencies);
1632
- var path_1 = id_2 + ".layer" + table.sourceLayerId + ".fields";
1633
- _templatizeAdminSourceLayerFields(table.sourceLayerFields || [], path_1);
1659
+ let id = _getDependantItemId(table.sourceServiceName, dependencies);
1660
+ const path = id + ".layer" + table.sourceLayerId + ".fields";
1661
+ _templatizeAdminSourceLayerFields(table.sourceLayerFields || [], path);
1634
1662
  // templatize the releated table fields
1635
- var relatedTables = (0, generalHelpers_1.getProp)(layer, "adminLayerInfo.viewLayerDefinition.table.relatedTables") || [];
1663
+ const relatedTables = (0, generalHelpers_1.getProp)(layer, "adminLayerInfo.viewLayerDefinition.table.relatedTables") || [];
1636
1664
  if (relatedTables.length > 0) {
1637
- relatedTables.forEach(function (t) {
1638
- id_2 = _getDependantItemId(t.sourceServiceName, dependencies);
1639
- var relatedPath = id_2 + ".layer" + t.sourceLayerId + ".fields";
1665
+ relatedTables.forEach((t) => {
1666
+ id = _getDependantItemId(t.sourceServiceName, dependencies);
1667
+ const relatedPath = id + ".layer" + t.sourceLayerId + ".fields";
1640
1668
  _templatizeTopFilter(t.topFilter || {}, relatedPath);
1641
1669
  _templatizeAdminSourceLayerFields(t.sourceLayerFields || [], relatedPath);
1642
- var parentKeyFields = t.parentKeyFields || [];
1643
- t.parentKeyFields = parentKeyFields.map(function (f) {
1644
- return _templatize(path_1, f, "name");
1670
+ const parentKeyFields = t.parentKeyFields || [];
1671
+ t.parentKeyFields = parentKeyFields.map((f) => {
1672
+ return _templatize(path, f, "name");
1645
1673
  });
1646
- var keyFields = t.keyFields || [];
1647
- t.keyFields = keyFields.map(function (f) {
1674
+ const keyFields = t.keyFields || [];
1675
+ t.keyFields = keyFields.map((f) => {
1648
1676
  return _templatize(relatedPath, f, "name");
1649
1677
  });
1650
1678
  });
@@ -1659,7 +1687,7 @@ exports._templatizeAdminLayerInfoFields = _templatizeAdminLayerInfoFields;
1659
1687
  * @param dependencies array of item dependencies
1660
1688
  */
1661
1689
  function _getDependantItemId(lookupName, dependencies) {
1662
- var deps = dependencies.filter(function (dependency) { return dependency.name === lookupName; });
1690
+ const deps = dependencies.filter(dependency => dependency.name === lookupName);
1663
1691
  return deps.length === 1 ? deps[0].id : "";
1664
1692
  }
1665
1693
  exports._getDependantItemId = _getDependantItemId;
@@ -1670,7 +1698,7 @@ exports._getDependantItemId = _getDependantItemId;
1670
1698
  * @param basePath path used to de-templatize while deploying
1671
1699
  */
1672
1700
  function _templatizeAdminSourceLayerFields(fields, basePath) {
1673
- fields.forEach(function (f) { return _templatizeProperty(f, "source", basePath, "name"); });
1701
+ fields.forEach(f => _templatizeProperty(f, "source", basePath, "name"));
1674
1702
  }
1675
1703
  exports._templatizeAdminSourceLayerFields = _templatizeAdminSourceLayerFields;
1676
1704
  /**
@@ -1683,19 +1711,19 @@ function _templatizeTopFilter(topFilter, basePath) {
1683
1711
  /* istanbul ignore else */
1684
1712
  if (topFilter) {
1685
1713
  // templatize the orderByFields prop
1686
- var orderByFields = topFilter["orderByFields"] || "";
1714
+ const orderByFields = topFilter["orderByFields"] || "";
1687
1715
  /* istanbul ignore else */
1688
1716
  if (orderByFields !== "") {
1689
- var orderByField = orderByFields.split(" ")[0];
1717
+ const orderByField = orderByFields.split(" ")[0];
1690
1718
  topFilter.orderByFields = topFilter.orderByFields.replace(orderByField, _templatize(basePath, orderByField, "name"));
1691
1719
  }
1692
- var groupByFields = topFilter["groupByFields"] || "";
1720
+ const groupByFields = topFilter["groupByFields"] || "";
1693
1721
  /* istanbul ignore else */
1694
1722
  if (groupByFields !== "") {
1695
- var _groupByFields = groupByFields.split(",");
1723
+ const _groupByFields = groupByFields.split(",");
1696
1724
  /* istanbul ignore else */
1697
1725
  if (_groupByFields.length > 0) {
1698
- var mappedFields = _groupByFields.map(function (f) {
1726
+ const mappedFields = _groupByFields.map((f) => {
1699
1727
  return _templatize(basePath, f, "name");
1700
1728
  });
1701
1729
  topFilter.groupByFields = mappedFields.join(",");
@@ -1712,11 +1740,11 @@ exports._templatizeTopFilter = _templatizeTopFilter;
1712
1740
  */
1713
1741
  function _templatizeRelationshipFields(layer, itemID) {
1714
1742
  if (layer && layer.relationships) {
1715
- var relationships = layer.relationships;
1716
- relationships.forEach(function (r) {
1743
+ const relationships = layer.relationships;
1744
+ relationships.forEach(r => {
1717
1745
  /* istanbul ignore else */
1718
1746
  if (r.keyField) {
1719
- var basePath = itemID + ".layer" + layer.id + ".fields";
1747
+ const basePath = itemID + ".layer" + layer.id + ".fields";
1720
1748
  _templatizeProperty(r, "keyField", basePath, "name");
1721
1749
  }
1722
1750
  });
@@ -1736,16 +1764,16 @@ function _templatizePopupInfo(layerDefinition, layer, basePath, itemID, fieldNam
1736
1764
  // the data layer does not have the fields...will need to get those
1737
1765
  // from the associated layer json
1738
1766
  if (fieldNames && layerDefinition.popupInfo) {
1739
- var popupInfo = layerDefinition.popupInfo;
1767
+ const popupInfo = layerDefinition.popupInfo;
1740
1768
  _templatizeName(popupInfo, "title", fieldNames, basePath);
1741
1769
  _templatizeName(popupInfo, "description", fieldNames, basePath);
1742
- var fieldInfos = popupInfo.fieldInfos || [];
1770
+ const fieldInfos = popupInfo.fieldInfos || [];
1743
1771
  _templatizePopupInfoFieldInfos(fieldInfos, layer, itemID, basePath);
1744
- var expressionInfos = popupInfo.expressionInfos || [];
1772
+ const expressionInfos = popupInfo.expressionInfos || [];
1745
1773
  _templatizeExpressionInfos(expressionInfos, fieldNames, basePath);
1746
- var popupElements = popupInfo.popupElements || [];
1774
+ const popupElements = popupInfo.popupElements || [];
1747
1775
  _templatizePopupElements(popupElements, basePath, layer, itemID, fieldNames);
1748
- var mediaInfos = popupInfo.mediaInfos || [];
1776
+ const mediaInfos = popupInfo.mediaInfos || [];
1749
1777
  _templatizeMediaInfos(mediaInfos, fieldNames, basePath, layer, itemID);
1750
1778
  }
1751
1779
  }
@@ -1761,10 +1789,10 @@ exports._templatizePopupInfo = _templatizePopupInfo;
1761
1789
  */
1762
1790
  function _templatizeName(object, property, fieldNames, basePath) {
1763
1791
  if (object.hasOwnProperty(property)) {
1764
- fieldNames.forEach(function (name) {
1792
+ fieldNames.forEach(name => {
1765
1793
  // Only test and replace instance of the name so any enclosing characters
1766
1794
  // will be retained
1767
- var regEx = new RegExp("(\\b" + name + "\\b(?![}]{2}))", "gm");
1795
+ const regEx = new RegExp("(\\b" + name + "\\b(?![}]{2}))", "gm");
1768
1796
  if (regEx.test(object[property])) {
1769
1797
  object[property] = object[property].replace(regEx, _templatize(basePath, name, "name"));
1770
1798
  }
@@ -1782,7 +1810,7 @@ exports._templatizeName = _templatizeName;
1782
1810
  * @param basePath path used to de-templatize while deploying
1783
1811
  */
1784
1812
  function _templatizePopupInfoFieldInfos(fieldInfos, layer, itemID, basePath) {
1785
- fieldInfos.forEach(function (f) {
1813
+ fieldInfos.forEach((f) => {
1786
1814
  f.fieldName = _templatizeFieldName(f.fieldName, layer, itemID, basePath);
1787
1815
  });
1788
1816
  }
@@ -1798,19 +1826,19 @@ exports._templatizePopupInfoFieldInfos = _templatizePopupInfoFieldInfos;
1798
1826
  */
1799
1827
  function _templatizeFieldName(name, layer, itemID, basePath) {
1800
1828
  if (name.indexOf("relationships/") > -1) {
1801
- var rels = name.split("/");
1802
- var relationshipId = rels[1];
1803
- var adminRelatedTables = (0, generalHelpers_1.getProp)(layer, "adminLayerInfo.viewLayerDefinition.table.relatedTables");
1804
- var relatedTables = layer.relationships || adminRelatedTables;
1829
+ const rels = name.split("/");
1830
+ const relationshipId = rels[1];
1831
+ const adminRelatedTables = (0, generalHelpers_1.getProp)(layer, "adminLayerInfo.viewLayerDefinition.table.relatedTables");
1832
+ const relatedTables = layer.relationships || adminRelatedTables;
1805
1833
  /* istanbul ignore else */
1806
1834
  if (relatedTables && relatedTables.length > parseInt(relationshipId, 10)) {
1807
- var relatedTable = relatedTables[relationshipId];
1835
+ const relatedTable = relatedTables[relationshipId];
1808
1836
  // the layers relationships stores the property as relatedTableId
1809
1837
  // the layers adminLayerInfo relatedTables stores the property as sourceLayerId
1810
- var prop = (0, generalHelpers_1.getProp)(relatedTable, "relatedTableId")
1838
+ const prop = (0, generalHelpers_1.getProp)(relatedTable, "relatedTableId")
1811
1839
  ? "relatedTableId"
1812
1840
  : "sourceLayerId";
1813
- var _basePath = itemID + ".layer" + relatedTable[prop] + ".fields";
1841
+ const _basePath = itemID + ".layer" + relatedTable[prop] + ".fields";
1814
1842
  rels[2] = _templatize(_basePath, rels[2], "name");
1815
1843
  name = rels.join("/");
1816
1844
  }
@@ -1833,8 +1861,8 @@ exports._templatizeFieldName = _templatizeFieldName;
1833
1861
  * @param basePath path used to de-templatize while deploying
1834
1862
  */
1835
1863
  function _templatizeExpressionInfos(expressionInfos, fieldNames, basePath) {
1836
- return expressionInfos.map(function (i) {
1837
- fieldNames.forEach(function (name) {
1864
+ return expressionInfos.map((i) => {
1865
+ fieldNames.forEach(name => {
1838
1866
  i.expression = _templatizeArcadeExpressions(i.expression, name, basePath);
1839
1867
  });
1840
1868
  return i;
@@ -1851,7 +1879,7 @@ exports._templatizeExpressionInfos = _templatizeExpressionInfos;
1851
1879
  * @param fieldNames array of field names
1852
1880
  */
1853
1881
  function _templatizePopupElements(popupElelments, basePath, layer, itemID, fieldNames) {
1854
- popupElelments.forEach(function (pe) {
1882
+ popupElelments.forEach((pe) => {
1855
1883
  if (pe.hasOwnProperty("fieldInfos")) {
1856
1884
  _templatizePopupInfoFieldInfos(pe.fieldInfos, layer, itemID, basePath);
1857
1885
  }
@@ -1872,16 +1900,14 @@ exports._templatizePopupElements = _templatizePopupElements;
1872
1900
  */
1873
1901
  function _templatizeMediaInfos(mediaInfos, fieldNames, basePath, layer, itemId) {
1874
1902
  // templatize various properties of mediaInfos
1875
- var props = ["title", "caption"];
1876
- props.forEach(function (p) { return _templatizeName(mediaInfos, p, fieldNames, basePath); });
1877
- mediaInfos.forEach(function (mi) {
1903
+ const props = ["title", "caption"];
1904
+ props.forEach(p => _templatizeName(mediaInfos, p, fieldNames, basePath));
1905
+ mediaInfos.forEach((mi) => {
1878
1906
  /* istanbul ignore else */
1879
1907
  if (mi.hasOwnProperty("value")) {
1880
- var v = mi.value;
1881
- var vfields = v.fields || [];
1882
- v.fields = vfields.map(function (f) {
1883
- return _templatizeFieldName(f, layer, itemId, basePath);
1884
- });
1908
+ const v = mi.value;
1909
+ const vfields = v.fields || [];
1910
+ v.fields = vfields.map(f => _templatizeFieldName(f, layer, itemId, basePath));
1885
1911
  if (v.hasOwnProperty("normalizeField")) {
1886
1912
  _templatizeProperty(v, "normalizeField", basePath, "name");
1887
1913
  }
@@ -1902,15 +1928,15 @@ exports._templatizeMediaInfos = _templatizeMediaInfos;
1902
1928
  */
1903
1929
  function _templatizeDefinitionEditor(layer, basePath, fieldNames) {
1904
1930
  if (layer) {
1905
- var defEditor = layer.definitionEditor || {};
1931
+ const defEditor = layer.definitionEditor || {};
1906
1932
  /* istanbul ignore else */
1907
1933
  if (defEditor) {
1908
- var inputs = defEditor.inputs;
1934
+ const inputs = defEditor.inputs;
1909
1935
  if (inputs) {
1910
- inputs.forEach(function (i) {
1936
+ inputs.forEach(i => {
1911
1937
  /* istanbul ignore else */
1912
1938
  if (i.parameters) {
1913
- i.parameters.forEach(function (p) {
1939
+ i.parameters.forEach((p) => {
1914
1940
  _templatizeProperty(p, "fieldName", basePath, "name");
1915
1941
  });
1916
1942
  }
@@ -1944,9 +1970,9 @@ exports._templatizeDefinitionExpression = _templatizeDefinitionExpression;
1944
1970
  * @param fieldNames array of the layers field names
1945
1971
  */
1946
1972
  function _templatizeSimpleName(expression, basePath, fieldNames, suffix) {
1947
- fieldNames.forEach(function (name) {
1973
+ fieldNames.forEach(name => {
1948
1974
  // look for the name but not if its followed by }}
1949
- var regEx = new RegExp("\\b" + name + "\\b(?![}]{2})", "gm");
1975
+ const regEx = new RegExp("\\b" + name + "\\b(?![}]{2})", "gm");
1950
1976
  if (expression && regEx.test(expression)) {
1951
1977
  expression = expression.replace(regEx, _templatize(basePath, name, suffix));
1952
1978
  }
@@ -1963,13 +1989,13 @@ exports._templatizeSimpleName = _templatizeSimpleName;
1963
1989
  */
1964
1990
  function _templatizeDrawingInfo(layer, basePath, fieldNames) {
1965
1991
  if (layer) {
1966
- var drawingInfo = layer.drawingInfo;
1992
+ const drawingInfo = layer.drawingInfo;
1967
1993
  if (drawingInfo) {
1968
1994
  // templatize the renderer fields
1969
- var renderer = drawingInfo.renderer || {};
1995
+ const renderer = drawingInfo.renderer || {};
1970
1996
  _templatizeRenderer(renderer, basePath, fieldNames);
1971
1997
  // templatize the labelingInfo
1972
- var labelingInfo = drawingInfo.labelingInfo || [];
1998
+ const labelingInfo = drawingInfo.labelingInfo || [];
1973
1999
  _templatizeLabelingInfo(labelingInfo, basePath, fieldNames);
1974
2000
  }
1975
2001
  }
@@ -2010,39 +2036,37 @@ function _templatizeGenRenderer(renderer, basePath, fieldNames) {
2010
2036
  /* istanbul ignore else */
2011
2037
  if (renderer) {
2012
2038
  // update authoringInfo
2013
- var authoringInfo = renderer.authoringInfo;
2039
+ const authoringInfo = renderer.authoringInfo;
2014
2040
  if (authoringInfo) {
2015
2041
  _templatizeAuthoringInfo(authoringInfo, basePath, fieldNames);
2016
2042
  }
2017
- var props_1 = ["field", "normalizationField"];
2018
- props_1.forEach(function (p) { return _templatizeProperty(renderer, p, basePath, "name"); });
2019
- var fieldNameProps = ["field1", "field2", "field3"];
2020
- fieldNameProps.forEach(function (fnP) {
2021
- return _templatizeProperty(renderer, fnP, basePath, "name");
2022
- });
2043
+ const props = ["field", "normalizationField"];
2044
+ props.forEach(p => _templatizeProperty(renderer, p, basePath, "name"));
2045
+ const fieldNameProps = ["field1", "field2", "field3"];
2046
+ fieldNameProps.forEach(fnP => _templatizeProperty(renderer, fnP, basePath, "name"));
2023
2047
  // When an attribute name is specified, it's enclosed in square brackets
2024
- var rExp_1 = renderer.rotationExpression;
2025
- if (rExp_1) {
2026
- fieldNames.forEach(function (name) {
2027
- var regEx = new RegExp("(\\[" + name + "\\])", "gm");
2028
- if (regEx.test(rExp_1)) {
2029
- renderer.rotationExpression = rExp_1.replace(regEx, "[" + _templatize(basePath, name, "name") + "]");
2048
+ const rExp = renderer.rotationExpression;
2049
+ if (rExp) {
2050
+ fieldNames.forEach(name => {
2051
+ const regEx = new RegExp("(\\[" + name + "\\])", "gm");
2052
+ if (regEx.test(rExp)) {
2053
+ renderer.rotationExpression = rExp.replace(regEx, "[" + _templatize(basePath, name, "name") + "]");
2030
2054
  }
2031
2055
  });
2032
2056
  }
2033
2057
  // update valueExpression
2034
2058
  if (renderer.valueExpression) {
2035
- fieldNames.forEach(function (name) {
2059
+ fieldNames.forEach(name => {
2036
2060
  renderer.valueExpression = _templatizeArcadeExpressions(renderer.valueExpression, name, basePath);
2037
2061
  });
2038
2062
  }
2039
2063
  // update visualVariables
2040
- var visualVariables = renderer.visualVariables;
2064
+ const visualVariables = renderer.visualVariables;
2041
2065
  if (visualVariables) {
2042
- visualVariables.forEach(function (v) {
2043
- props_1.forEach(function (p) { return _templatizeProperty(v, p, basePath, "name"); });
2066
+ visualVariables.forEach(v => {
2067
+ props.forEach(p => _templatizeProperty(v, p, basePath, "name"));
2044
2068
  if (v.valueExpression) {
2045
- fieldNames.forEach(function (name) {
2069
+ fieldNames.forEach(name => {
2046
2070
  v.valueExpression = _templatizeArcadeExpressions(v.valueExpression, name, basePath);
2047
2071
  });
2048
2072
  }
@@ -2059,12 +2083,12 @@ exports._templatizeGenRenderer = _templatizeGenRenderer;
2059
2083
  * @param fieldNames array of field names that will be used to search expressions
2060
2084
  */
2061
2085
  function _templatizeTemporalRenderer(renderer, basePath, fieldNames) {
2062
- var renderers = [
2086
+ const renderers = [
2063
2087
  renderer.latestObservationRenderer,
2064
2088
  renderer.observationRenderer,
2065
2089
  renderer.trackRenderer
2066
2090
  ];
2067
- renderers.forEach(function (r) {
2091
+ renderers.forEach(r => {
2068
2092
  _templatizeRenderer(r, basePath, fieldNames);
2069
2093
  });
2070
2094
  }
@@ -2079,22 +2103,22 @@ exports._templatizeTemporalRenderer = _templatizeTemporalRenderer;
2079
2103
  function _templatizeAuthoringInfo(authoringInfo, basePath, fieldNames) {
2080
2104
  /* istanbul ignore else */
2081
2105
  if (authoringInfo) {
2082
- var props = ["field", "normalizationField"];
2083
- var field1_1 = authoringInfo.field1;
2084
- props.forEach(function (p) { return _templatizeProperty(field1_1, p, basePath, "name"); });
2085
- var field2_1 = authoringInfo.field2;
2086
- props.forEach(function (p) { return _templatizeProperty(field2_1, p, basePath, "name"); });
2087
- var fields = authoringInfo.fields;
2106
+ const props = ["field", "normalizationField"];
2107
+ const field1 = authoringInfo.field1;
2108
+ props.forEach(p => _templatizeProperty(field1, p, basePath, "name"));
2109
+ const field2 = authoringInfo.field2;
2110
+ props.forEach(p => _templatizeProperty(field2, p, basePath, "name"));
2111
+ const fields = authoringInfo.fields;
2088
2112
  if (fields) {
2089
- authoringInfo.fields = fields.map(function (f) { return _templatize(basePath, f, "name"); });
2113
+ authoringInfo.fields = fields.map(f => _templatize(basePath, f, "name"));
2090
2114
  }
2091
- var vProps = ["endTime", "field", "startTime"];
2092
- var vVars_1 = authoringInfo.visualVariables;
2093
- if (vVars_1) {
2094
- vProps.forEach(function (p) {
2115
+ const vProps = ["endTime", "field", "startTime"];
2116
+ const vVars = authoringInfo.visualVariables;
2117
+ if (vVars) {
2118
+ vProps.forEach(p => {
2095
2119
  // endTime and startTime may or may not be a field name
2096
- if (fieldNames.indexOf(vVars_1[p]) > -1) {
2097
- _templatizeProperty(vVars_1, p, basePath, "name");
2120
+ if (fieldNames.indexOf(vVars[p]) > -1) {
2121
+ _templatizeProperty(vVars, p, basePath, "name");
2098
2122
  }
2099
2123
  });
2100
2124
  }
@@ -2109,12 +2133,12 @@ exports._templatizeAuthoringInfo = _templatizeAuthoringInfo;
2109
2133
  * @param basePath path used to de-templatize while deploying
2110
2134
  */
2111
2135
  function _templatizeArcadeExpressions(text, fieldName, basePath) {
2112
- var t = _templatize(basePath, fieldName, "name");
2136
+ const t = _templatize(basePath, fieldName, "name");
2113
2137
  if (text) {
2114
2138
  // test for $feature. notation
2115
2139
  // captures VOTED_DEM_2012 from $feature.VOTED_DEM_2012
2116
- var exp = "(?:\\$feature\\.)(" + fieldName + ")\\b";
2117
- var regEx = new RegExp(exp, "gm");
2140
+ let exp = "(?:\\$feature\\.)(" + fieldName + ")\\b";
2141
+ let regEx = new RegExp(exp, "gm");
2118
2142
  text = regEx.test(text) ? text.replace(regEx, "$feature." + t) : text;
2119
2143
  // test for $feature[] notation
2120
2144
  // captures VOTED_DEM_2012 from $feature["VOTED_DEM_2012"]
@@ -2122,7 +2146,7 @@ function _templatizeArcadeExpressions(text, fieldName, basePath) {
2122
2146
  // captures VOTED_DEM_2012 from $feature[VOTED_DEM_2012]
2123
2147
  exp = "(?:[$]feature)(\\[\\\"?\\'?)" + fieldName + "(\\\"?\\'?\\])";
2124
2148
  regEx = new RegExp(exp, "gm");
2125
- var result = regEx.exec(text);
2149
+ let result = regEx.exec(text);
2126
2150
  if (result) {
2127
2151
  text = text.replace(regEx, "$feature" + result[1] + t + result[2]);
2128
2152
  }
@@ -2157,29 +2181,27 @@ exports._templatizeArcadeExpressions = _templatizeArcadeExpressions;
2157
2181
  * @param fieldNames array of the layers field names
2158
2182
  */
2159
2183
  function _templatizeLabelingInfo(labelingInfo, basePath, fieldNames) {
2160
- labelingInfo.forEach(function (li) {
2184
+ labelingInfo.forEach((li) => {
2161
2185
  /* istanbul ignore else */
2162
2186
  if (li.hasOwnProperty("fieldInfos")) {
2163
- var fieldInfos = li.fieldInfos || [];
2164
- fieldInfos.forEach(function (fi) {
2165
- return _templatizeProperty(fi, "fieldName", basePath, "name");
2166
- });
2187
+ const fieldInfos = li.fieldInfos || [];
2188
+ fieldInfos.forEach(fi => _templatizeProperty(fi, "fieldName", basePath, "name"));
2167
2189
  }
2168
- var labelExp = li.labelExpression || "";
2169
- var labelExpInfo = li.labelExpressionInfo || {};
2170
- fieldNames.forEach(function (n) {
2171
- var t = _templatize(basePath, n, "name");
2190
+ const labelExp = li.labelExpression || "";
2191
+ const labelExpInfo = li.labelExpressionInfo || {};
2192
+ fieldNames.forEach(n => {
2193
+ const t = _templatize(basePath, n, "name");
2172
2194
  // check for [fieldName] or ["fieldName"]
2173
- var regExBracket = new RegExp('(\\[\\"*)+(' + n + ')(\\"*\\])+', "gm");
2174
- var result = regExBracket.exec(labelExp);
2195
+ const regExBracket = new RegExp('(\\[\\"*)+(' + n + ')(\\"*\\])+', "gm");
2196
+ let result = regExBracket.exec(labelExp);
2175
2197
  if (result) {
2176
2198
  li.labelExpression = labelExp.replace(regExBracket, result[1] + t + result[3]);
2177
2199
  }
2178
2200
  /* istanbul ignore else */
2179
2201
  if (labelExpInfo.value) {
2180
- var v = labelExpInfo.value;
2202
+ let v = labelExpInfo.value;
2181
2203
  // check for {fieldName}
2182
- var regExCurly = new RegExp("(\\{" + n + "\\})", "gm");
2204
+ const regExCurly = new RegExp("(\\{" + n + "\\})", "gm");
2183
2205
  v = regExCurly.test(v) ? v.replace(regExCurly, "{" + t + "}") : v;
2184
2206
  // check for [fieldName] or ["fieldName"]
2185
2207
  result = regExBracket.exec(v);
@@ -2201,10 +2223,10 @@ exports._templatizeLabelingInfo = _templatizeLabelingInfo;
2201
2223
  * @param basePath path used to de-templatize while deploying
2202
2224
  */
2203
2225
  function _templatizeTemplates(layer, basePath) {
2204
- var templates = layer.templates || [];
2205
- templates.forEach(function (t) {
2206
- var attributes = (0, generalHelpers_1.getProp)(t, "prototype.attributes");
2207
- var _attributes = _templatizeKeys(attributes, basePath, "name");
2226
+ const templates = layer.templates || [];
2227
+ templates.forEach(t => {
2228
+ const attributes = (0, generalHelpers_1.getProp)(t, "prototype.attributes");
2229
+ const _attributes = _templatizeKeys(attributes, basePath, "name");
2208
2230
  /* istanbul ignore else */
2209
2231
  if (_attributes) {
2210
2232
  t.prototype.attributes = _attributes;
@@ -2219,20 +2241,20 @@ exports._templatizeTemplates = _templatizeTemplates;
2219
2241
  * @param basePath path used to de-templatize while deploying
2220
2242
  */
2221
2243
  function _templatizeTypeTemplates(layer, basePath) {
2222
- var types = layer.types;
2244
+ const types = layer.types;
2223
2245
  if (types && Array.isArray(types) && types.length > 0) {
2224
- types.forEach(function (type) {
2225
- var domains = _templatizeKeys(type.domains, basePath, "name");
2246
+ types.forEach((type) => {
2247
+ const domains = _templatizeKeys(type.domains, basePath, "name");
2226
2248
  /* istanbul ignore else */
2227
2249
  if (domains) {
2228
2250
  type.domains = domains;
2229
2251
  }
2230
- var templates = type.templates;
2252
+ const templates = type.templates;
2231
2253
  /* istanbul ignore else */
2232
2254
  if (templates && templates.length > 0) {
2233
- templates.forEach(function (t) {
2234
- var attributes = (0, generalHelpers_1.getProp)(t, "prototype.attributes");
2235
- var _attributes = _templatizeKeys(attributes, basePath, "name");
2255
+ templates.forEach((t) => {
2256
+ const attributes = (0, generalHelpers_1.getProp)(t, "prototype.attributes");
2257
+ const _attributes = _templatizeKeys(attributes, basePath, "name");
2236
2258
  /* istanbul ignore else */
2237
2259
  if (_attributes) {
2238
2260
  t.prototype.attributes = _attributes;
@@ -2251,14 +2273,14 @@ exports._templatizeTypeTemplates = _templatizeTypeTemplates;
2251
2273
  * @param suffix expected suffix for template variable
2252
2274
  */
2253
2275
  function _templatizeKeys(obj, basePath, suffix) {
2254
- var _obj;
2276
+ let _obj;
2255
2277
  /* istanbul ignore else */
2256
2278
  if (obj) {
2257
2279
  _obj = {};
2258
- var objKeys = Object.keys(obj);
2280
+ const objKeys = Object.keys(obj);
2259
2281
  /* istanbul ignore else */
2260
2282
  if (objKeys && objKeys.length > 0) {
2261
- objKeys.forEach(function (k) {
2283
+ objKeys.forEach(k => {
2262
2284
  _obj[_templatize(basePath, k, suffix)] = obj[k];
2263
2285
  });
2264
2286
  }
@@ -2274,18 +2296,18 @@ exports._templatizeKeys = _templatizeKeys;
2274
2296
  */
2275
2297
  function _templatizeTimeInfo(layer, basePath) {
2276
2298
  if (layer.timeInfo) {
2277
- var timeInfo_1 = layer.timeInfo;
2278
- var timeProps = [
2299
+ const timeInfo = layer.timeInfo;
2300
+ const timeProps = [
2279
2301
  "endTimeField",
2280
2302
  "startTimeField",
2281
2303
  "trackIdField"
2282
2304
  ];
2283
- timeProps.forEach(function (t) {
2284
- if (timeInfo_1[t] !== "") {
2285
- _templatizeProperty(timeInfo_1, t, basePath, "name");
2305
+ timeProps.forEach(t => {
2306
+ if (timeInfo[t] !== "") {
2307
+ _templatizeProperty(timeInfo, t, basePath, "name");
2286
2308
  }
2287
2309
  else {
2288
- timeInfo_1[t] = null;
2310
+ timeInfo[t] = null;
2289
2311
  }
2290
2312
  });
2291
2313
  }
@@ -2317,16 +2339,16 @@ exports._templatizeDefinitionQuery = _templatizeDefinitionQuery;
2317
2339
  */
2318
2340
  function _getNameMapping(fieldInfos, id) {
2319
2341
  // create name mapping
2320
- var fInfo = fieldInfos[id];
2321
- var nameMapping = {};
2322
- var newFields = fInfo.newFields;
2323
- var newFieldNames = newFields
2324
- ? newFields.map(function (f) { return f.name; })
2342
+ const fInfo = fieldInfos[id];
2343
+ const nameMapping = {};
2344
+ const newFields = fInfo.newFields;
2345
+ const newFieldNames = newFields
2346
+ ? newFields.map((f) => f.name)
2325
2347
  : [];
2326
- var sourceFields = fInfo.sourceFields || [];
2327
- sourceFields.forEach(function (field) {
2328
- var lName = String(field.name).toLowerCase();
2329
- newFields.forEach(function (f) {
2348
+ const sourceFields = fInfo.sourceFields || [];
2349
+ sourceFields.forEach((field) => {
2350
+ const lName = String(field.name).toLowerCase();
2351
+ newFields.forEach((f) => {
2330
2352
  // Names can change more than case
2331
2353
  if (newFieldNames.indexOf(field.name) === -1 &&
2332
2354
  newFieldNames.indexOf(lName) === -1) {
@@ -2350,13 +2372,13 @@ function _getNameMapping(fieldInfos, id) {
2350
2372
  });
2351
2373
  // update for editFieldsInfo
2352
2374
  if (fInfo.editFieldsInfo && fInfo.newEditFieldsInfo) {
2353
- var efi_1 = JSON.parse(JSON.stringify(fInfo.editFieldsInfo));
2354
- var newEfi_1 = JSON.parse(JSON.stringify(fInfo.newEditFieldsInfo));
2355
- var nameMappingKeys_1 = Object.keys(nameMapping);
2356
- Object.keys(efi_1).forEach(function (k) {
2357
- var lowerEfi = String(efi_1[k]).toLowerCase();
2358
- if ((nameMappingKeys_1.indexOf(lowerEfi) === -1 ||
2359
- nameMapping[lowerEfi].name !== newEfi_1[k]) &&
2375
+ const efi = JSON.parse(JSON.stringify(fInfo.editFieldsInfo));
2376
+ const newEfi = JSON.parse(JSON.stringify(fInfo.newEditFieldsInfo));
2377
+ const nameMappingKeys = Object.keys(nameMapping);
2378
+ Object.keys(efi).forEach(k => {
2379
+ const lowerEfi = String(efi[k]).toLowerCase();
2380
+ if ((nameMappingKeys.indexOf(lowerEfi) === -1 ||
2381
+ nameMapping[lowerEfi].name !== newEfi[k]) &&
2360
2382
  newFieldNames.indexOf(lowerEfi) > -1) {
2361
2383
  // Only add delete fields if source schema changes allowed
2362
2384
  /* istanbul ignore else */
@@ -2370,17 +2392,17 @@ function _getNameMapping(fieldInfos, id) {
2370
2392
  fInfo.deleteFields.push(lowerEfi);
2371
2393
  }
2372
2394
  // editFieldsInfo only has the name and not the alias and type
2373
- var sourceEfiField_1;
2374
- fInfo.sourceFields.some(function (sf) {
2375
- if (sf.name === efi_1[k]) {
2376
- sourceEfiField_1 = sf;
2395
+ let sourceEfiField;
2396
+ fInfo.sourceFields.some((sf) => {
2397
+ if (sf.name === efi[k]) {
2398
+ sourceEfiField = sf;
2377
2399
  }
2378
- return sf.name === efi_1[k];
2400
+ return sf.name === efi[k];
2379
2401
  });
2380
2402
  nameMapping[lowerEfi] = {
2381
- name: newEfi_1[k],
2382
- alias: sourceEfiField_1 && sourceEfiField_1.alias ? sourceEfiField_1.alias : "",
2383
- type: sourceEfiField_1 && sourceEfiField_1.type ? sourceEfiField_1.type : ""
2403
+ name: newEfi[k],
2404
+ alias: sourceEfiField && sourceEfiField.alias ? sourceEfiField.alias : "",
2405
+ type: sourceEfiField && sourceEfiField.type ? sourceEfiField.type : ""
2384
2406
  };
2385
2407
  }
2386
2408
  });
@@ -2392,4 +2414,13 @@ function _getNameMapping(fieldInfos, id) {
2392
2414
  return nameMapping;
2393
2415
  }
2394
2416
  exports._getNameMapping = _getNameMapping;
2417
+ /**
2418
+ * Helper function to ensure same chunk size value is used in multiple locations
2419
+ *
2420
+ * @return a number that represents how many layers should be included per addToDef call
2421
+ */
2422
+ function _getLayerChunkSize() {
2423
+ return 20;
2424
+ }
2425
+ exports._getLayerChunkSize = _getLayerChunkSize;
2395
2426
  //# sourceMappingURL=featureServiceHelpers.js.map