@esri/solution-common 4.1.2 → 5.0.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 (261) hide show
  1. package/dist/cjs/completeItem.d.ts +29 -29
  2. package/dist/cjs/completeItem.js +81 -81
  3. package/dist/cjs/create-hub-request-options.d.ts +29 -29
  4. package/dist/cjs/create-hub-request-options.js +63 -63
  5. package/dist/cjs/deleteHelpers/deleteEmptyGroups.d.ts +24 -24
  6. package/dist/cjs/deleteHelpers/deleteEmptyGroups.js +41 -41
  7. package/dist/cjs/deleteHelpers/deleteGroupIfEmpty.d.ts +27 -27
  8. package/dist/cjs/deleteHelpers/deleteGroupIfEmpty.js +96 -96
  9. package/dist/cjs/deleteHelpers/deleteSolutionContents.d.ts +38 -38
  10. package/dist/cjs/deleteHelpers/deleteSolutionContents.js +129 -129
  11. package/dist/cjs/deleteHelpers/deleteSolutionFolder.d.ts +29 -29
  12. package/dist/cjs/deleteHelpers/deleteSolutionFolder.js +78 -78
  13. package/dist/cjs/deleteHelpers/deleteSolutionItem.d.ts +30 -30
  14. package/dist/cjs/deleteHelpers/deleteSolutionItem.js +53 -53
  15. package/dist/cjs/deleteHelpers/index.d.ts +22 -22
  16. package/dist/cjs/deleteHelpers/index.js +25 -25
  17. package/dist/cjs/deleteHelpers/reconstructBuildOrderIds.d.ts +27 -27
  18. package/dist/cjs/deleteHelpers/reconstructBuildOrderIds.js +33 -33
  19. package/dist/cjs/deleteHelpers/removeItems.d.ts +34 -34
  20. package/dist/cjs/deleteHelpers/removeItems.js +111 -111
  21. package/dist/cjs/deleteHelpers/reportProgress.d.ts +27 -27
  22. package/dist/cjs/deleteHelpers/reportProgress.js +45 -45
  23. package/dist/cjs/deleteSolution.d.ts +55 -55
  24. package/dist/cjs/deleteSolution.js +106 -106
  25. package/dist/cjs/dependencies.d.ts +26 -26
  26. package/dist/cjs/dependencies.js +170 -170
  27. package/dist/cjs/featureServiceHelpers.d.ts +791 -791
  28. package/dist/cjs/featureServiceHelpers.js +2420 -2420
  29. package/dist/cjs/generalHelpers.d.ts +392 -385
  30. package/dist/cjs/generalHelpers.js +857 -854
  31. package/dist/cjs/generalHelpers.js.map +1 -1
  32. package/dist/cjs/get-subscription-info.d.ts +27 -27
  33. package/dist/cjs/get-subscription-info.js +38 -38
  34. package/dist/cjs/getDeletableSolutionInfo.d.ts +29 -29
  35. package/dist/cjs/getDeletableSolutionInfo.js +52 -52
  36. package/dist/cjs/getItemTypeAbbrev.d.ts +19 -19
  37. package/dist/cjs/getItemTypeAbbrev.js +184 -184
  38. package/dist/cjs/getSolutionSummary.d.ts +27 -27
  39. package/dist/cjs/getSolutionSummary.js +100 -100
  40. package/dist/cjs/index.d.ts +43 -44
  41. package/dist/cjs/index.js +46 -47
  42. package/dist/cjs/index.js.map +1 -1
  43. package/dist/cjs/interfaces.d.ts +1334 -1334
  44. package/dist/cjs/interfaces.js +74 -74
  45. package/dist/cjs/interfaces.js.map +1 -1
  46. package/dist/cjs/libConnectors.d.ts +73 -73
  47. package/dist/cjs/libConnectors.js +114 -114
  48. package/dist/cjs/migrations/apply-schema.d.ts +24 -24
  49. package/dist/cjs/migrations/apply-schema.js +35 -35
  50. package/dist/cjs/migrations/is-legacy-solution.d.ts +24 -24
  51. package/dist/cjs/migrations/is-legacy-solution.js +39 -39
  52. package/dist/cjs/migrations/upgrade-three-dot-one.d.ts +27 -27
  53. package/dist/cjs/migrations/upgrade-three-dot-one.js +48 -48
  54. package/dist/cjs/migrations/upgrade-three-dot-zero.d.ts +27 -27
  55. package/dist/cjs/migrations/upgrade-three-dot-zero.js +42 -42
  56. package/dist/cjs/migrations/upgrade-two-dot-five.d.ts +24 -24
  57. package/dist/cjs/migrations/upgrade-two-dot-five.js +72 -72
  58. package/dist/cjs/migrations/upgrade-two-dot-four.d.ts +24 -24
  59. package/dist/cjs/migrations/upgrade-two-dot-four.js +71 -71
  60. package/dist/cjs/migrations/upgrade-two-dot-one.d.ts +7 -7
  61. package/dist/cjs/migrations/upgrade-two-dot-one.js +38 -38
  62. package/dist/cjs/migrations/upgrade-two-dot-seven.d.ts +23 -23
  63. package/dist/cjs/migrations/upgrade-two-dot-seven.js +57 -57
  64. package/dist/cjs/migrations/upgrade-two-dot-six.d.ts +27 -27
  65. package/dist/cjs/migrations/upgrade-two-dot-six.js +60 -60
  66. package/dist/cjs/migrations/upgrade-two-dot-three.d.ts +23 -23
  67. package/dist/cjs/migrations/upgrade-two-dot-three.js +54 -54
  68. package/dist/cjs/migrations/upgrade-two-dot-two.d.ts +23 -23
  69. package/dist/cjs/migrations/upgrade-two-dot-two.js +57 -57
  70. package/dist/cjs/migrations/upgrade-two-dot-zero.d.ts +44 -44
  71. package/dist/cjs/migrations/upgrade-two-dot-zero.js +94 -94
  72. package/dist/cjs/migrator.d.ts +25 -25
  73. package/dist/cjs/migrator.js +76 -76
  74. package/dist/cjs/resourceHelpers.d.ts +191 -191
  75. package/dist/cjs/resourceHelpers.js +383 -390
  76. package/dist/cjs/resourceHelpers.js.map +1 -1
  77. package/dist/cjs/resources/add-resource-from-blob.d.ts +26 -26
  78. package/dist/cjs/resources/add-resource-from-blob.js +51 -51
  79. package/dist/cjs/resources/addMetadataFromBlob.d.ts +25 -25
  80. package/dist/cjs/resources/addMetadataFromBlob.js +42 -42
  81. package/dist/cjs/resources/convert-item-resource-to-storage-resource.d.ts +32 -32
  82. package/dist/cjs/resources/convert-item-resource-to-storage-resource.js +69 -69
  83. package/dist/cjs/resources/convert-storage-resource-to-item-resource.d.ts +29 -29
  84. package/dist/cjs/resources/convert-storage-resource-to-item-resource.js +69 -69
  85. package/dist/cjs/resources/copyAssociatedFiles.d.ts +67 -67
  86. package/dist/cjs/resources/copyAssociatedFiles.js +301 -301
  87. package/dist/cjs/resources/copyDataIntoItem.d.ts +33 -33
  88. package/dist/cjs/resources/copyDataIntoItem.js +61 -62
  89. package/dist/cjs/resources/copyDataIntoItem.js.map +1 -1
  90. package/dist/cjs/resources/copyMetadataIntoItem.d.ts +26 -26
  91. package/dist/cjs/resources/copyMetadataIntoItem.js +45 -45
  92. package/dist/cjs/resources/copyResourceIntoZip.d.ts +33 -33
  93. package/dist/cjs/resources/copyResourceIntoZip.js +77 -77
  94. package/dist/cjs/resources/copyZipIntoItem.d.ts +25 -25
  95. package/dist/cjs/resources/copyZipIntoItem.js +53 -53
  96. package/dist/cjs/resources/createCopyResults.d.ts +25 -25
  97. package/dist/cjs/resources/createCopyResults.js +35 -35
  98. package/dist/cjs/resources/get-blob.d.ts +26 -26
  99. package/dist/cjs/resources/get-blob.js +26 -26
  100. package/dist/cjs/resources/getItemResourcesFilesFromPaths.d.ts +24 -24
  101. package/dist/cjs/resources/getItemResourcesFilesFromPaths.js +48 -48
  102. package/dist/cjs/resources/getItemResourcesPaths.d.ts +26 -26
  103. package/dist/cjs/resources/getItemResourcesPaths.js +72 -72
  104. package/dist/cjs/resources/index.d.ts +29 -29
  105. package/dist/cjs/resources/index.js +32 -32
  106. package/dist/cjs/resources/solution-resource.d.ts +35 -35
  107. package/dist/cjs/resources/solution-resource.js +30 -30
  108. package/dist/cjs/resources/solution-resource.js.map +1 -1
  109. package/dist/cjs/resources/transform-resource-paths-to-solution-resources.d.ts +56 -56
  110. package/dist/cjs/resources/transform-resource-paths-to-solution-resources.js +145 -145
  111. package/dist/cjs/restHelpers.d.ts +586 -585
  112. package/dist/cjs/restHelpers.js +1888 -1883
  113. package/dist/cjs/restHelpers.js.map +1 -1
  114. package/dist/cjs/restHelpersGet.d.ts +288 -288
  115. package/dist/cjs/restHelpersGet.js +803 -803
  116. package/dist/cjs/sharing/index.d.ts +16 -16
  117. package/dist/cjs/sharing/index.js +19 -19
  118. package/dist/cjs/sharing/share-item-to-groups.d.ts +26 -26
  119. package/dist/cjs/sharing/share-item-to-groups.js +43 -43
  120. package/dist/cjs/templatization.d.ts +139 -139
  121. package/dist/cjs/templatization.js +313 -313
  122. package/dist/cjs/trackingHelpers.d.ts +116 -116
  123. package/dist/cjs/trackingHelpers.js +216 -216
  124. package/dist/cjs/velocityHelpers.d.ts +57 -57
  125. package/dist/cjs/velocityHelpers.js +134 -134
  126. package/dist/cjs/workforceHelpers.d.ts +115 -115
  127. package/dist/cjs/workforceHelpers.js +746 -746
  128. package/dist/cjs/workforceHelpers.js.map +1 -1
  129. package/dist/esm/completeItem.d.ts +29 -29
  130. package/dist/esm/completeItem.js +76 -76
  131. package/dist/esm/create-hub-request-options.d.ts +29 -29
  132. package/dist/esm/create-hub-request-options.js +59 -59
  133. package/dist/esm/deleteHelpers/deleteEmptyGroups.d.ts +24 -24
  134. package/dist/esm/deleteHelpers/deleteEmptyGroups.js +37 -37
  135. package/dist/esm/deleteHelpers/deleteGroupIfEmpty.d.ts +27 -27
  136. package/dist/esm/deleteHelpers/deleteGroupIfEmpty.js +91 -91
  137. package/dist/esm/deleteHelpers/deleteSolutionContents.d.ts +38 -38
  138. package/dist/esm/deleteHelpers/deleteSolutionContents.js +124 -124
  139. package/dist/esm/deleteHelpers/deleteSolutionFolder.d.ts +29 -29
  140. package/dist/esm/deleteHelpers/deleteSolutionFolder.js +73 -73
  141. package/dist/esm/deleteHelpers/deleteSolutionItem.d.ts +30 -30
  142. package/dist/esm/deleteHelpers/deleteSolutionItem.js +48 -48
  143. package/dist/esm/deleteHelpers/index.d.ts +22 -22
  144. package/dist/esm/deleteHelpers/index.js +22 -22
  145. package/dist/esm/deleteHelpers/reconstructBuildOrderIds.d.ts +27 -27
  146. package/dist/esm/deleteHelpers/reconstructBuildOrderIds.js +28 -28
  147. package/dist/esm/deleteHelpers/removeItems.d.ts +34 -34
  148. package/dist/esm/deleteHelpers/removeItems.js +106 -106
  149. package/dist/esm/deleteHelpers/reportProgress.d.ts +27 -27
  150. package/dist/esm/deleteHelpers/reportProgress.js +41 -41
  151. package/dist/esm/deleteSolution.d.ts +55 -55
  152. package/dist/esm/deleteSolution.js +100 -100
  153. package/dist/esm/dependencies.d.ts +26 -26
  154. package/dist/esm/dependencies.js +166 -166
  155. package/dist/esm/featureServiceHelpers.d.ts +791 -791
  156. package/dist/esm/featureServiceHelpers.js +2336 -2336
  157. package/dist/esm/generalHelpers.d.ts +392 -385
  158. package/dist/esm/generalHelpers.js +810 -808
  159. package/dist/esm/generalHelpers.js.map +1 -1
  160. package/dist/esm/get-subscription-info.d.ts +27 -27
  161. package/dist/esm/get-subscription-info.js +34 -34
  162. package/dist/esm/getDeletableSolutionInfo.d.ts +29 -29
  163. package/dist/esm/getDeletableSolutionInfo.js +47 -47
  164. package/dist/esm/getItemTypeAbbrev.d.ts +19 -19
  165. package/dist/esm/getItemTypeAbbrev.js +180 -180
  166. package/dist/esm/getSolutionSummary.d.ts +27 -27
  167. package/dist/esm/getSolutionSummary.js +95 -95
  168. package/dist/esm/index.d.ts +43 -44
  169. package/dist/esm/index.js +43 -44
  170. package/dist/esm/index.js.map +1 -1
  171. package/dist/esm/interfaces.d.ts +1334 -1334
  172. package/dist/esm/interfaces.js +70 -70
  173. package/dist/esm/libConnectors.d.ts +73 -73
  174. package/dist/esm/libConnectors.js +104 -104
  175. package/dist/esm/migrations/apply-schema.d.ts +24 -24
  176. package/dist/esm/migrations/apply-schema.js +31 -31
  177. package/dist/esm/migrations/is-legacy-solution.d.ts +24 -24
  178. package/dist/esm/migrations/is-legacy-solution.js +35 -35
  179. package/dist/esm/migrations/upgrade-three-dot-one.d.ts +27 -27
  180. package/dist/esm/migrations/upgrade-three-dot-one.js +44 -44
  181. package/dist/esm/migrations/upgrade-three-dot-zero.d.ts +27 -27
  182. package/dist/esm/migrations/upgrade-three-dot-zero.js +38 -38
  183. package/dist/esm/migrations/upgrade-two-dot-five.d.ts +24 -24
  184. package/dist/esm/migrations/upgrade-two-dot-five.js +68 -68
  185. package/dist/esm/migrations/upgrade-two-dot-four.d.ts +24 -24
  186. package/dist/esm/migrations/upgrade-two-dot-four.js +67 -67
  187. package/dist/esm/migrations/upgrade-two-dot-one.d.ts +7 -7
  188. package/dist/esm/migrations/upgrade-two-dot-one.js +34 -34
  189. package/dist/esm/migrations/upgrade-two-dot-seven.d.ts +23 -23
  190. package/dist/esm/migrations/upgrade-two-dot-seven.js +53 -53
  191. package/dist/esm/migrations/upgrade-two-dot-six.d.ts +27 -27
  192. package/dist/esm/migrations/upgrade-two-dot-six.js +56 -56
  193. package/dist/esm/migrations/upgrade-two-dot-three.d.ts +23 -23
  194. package/dist/esm/migrations/upgrade-two-dot-three.js +50 -50
  195. package/dist/esm/migrations/upgrade-two-dot-two.d.ts +23 -23
  196. package/dist/esm/migrations/upgrade-two-dot-two.js +53 -53
  197. package/dist/esm/migrations/upgrade-two-dot-zero.d.ts +44 -44
  198. package/dist/esm/migrations/upgrade-two-dot-zero.js +87 -87
  199. package/dist/esm/migrator.d.ts +25 -25
  200. package/dist/esm/migrator.js +72 -72
  201. package/dist/esm/resourceHelpers.d.ts +191 -191
  202. package/dist/esm/resourceHelpers.js +364 -371
  203. package/dist/esm/resourceHelpers.js.map +1 -1
  204. package/dist/esm/resources/add-resource-from-blob.d.ts +26 -26
  205. package/dist/esm/resources/add-resource-from-blob.js +47 -47
  206. package/dist/esm/resources/addMetadataFromBlob.d.ts +25 -25
  207. package/dist/esm/resources/addMetadataFromBlob.js +38 -38
  208. package/dist/esm/resources/convert-item-resource-to-storage-resource.d.ts +32 -32
  209. package/dist/esm/resources/convert-item-resource-to-storage-resource.js +65 -65
  210. package/dist/esm/resources/convert-storage-resource-to-item-resource.d.ts +29 -29
  211. package/dist/esm/resources/convert-storage-resource-to-item-resource.js +65 -65
  212. package/dist/esm/resources/copyAssociatedFiles.d.ts +67 -67
  213. package/dist/esm/resources/copyAssociatedFiles.js +293 -293
  214. package/dist/esm/resources/copyDataIntoItem.d.ts +33 -33
  215. package/dist/esm/resources/copyDataIntoItem.js +56 -57
  216. package/dist/esm/resources/copyDataIntoItem.js.map +1 -1
  217. package/dist/esm/resources/copyMetadataIntoItem.d.ts +26 -26
  218. package/dist/esm/resources/copyMetadataIntoItem.js +41 -41
  219. package/dist/esm/resources/copyResourceIntoZip.d.ts +33 -33
  220. package/dist/esm/resources/copyResourceIntoZip.js +72 -72
  221. package/dist/esm/resources/copyZipIntoItem.d.ts +25 -25
  222. package/dist/esm/resources/copyZipIntoItem.js +49 -49
  223. package/dist/esm/resources/createCopyResults.d.ts +25 -25
  224. package/dist/esm/resources/createCopyResults.js +31 -31
  225. package/dist/esm/resources/get-blob.d.ts +26 -26
  226. package/dist/esm/resources/get-blob.js +22 -22
  227. package/dist/esm/resources/getItemResourcesFilesFromPaths.d.ts +24 -24
  228. package/dist/esm/resources/getItemResourcesFilesFromPaths.js +44 -44
  229. package/dist/esm/resources/getItemResourcesPaths.d.ts +26 -26
  230. package/dist/esm/resources/getItemResourcesPaths.js +68 -68
  231. package/dist/esm/resources/index.d.ts +29 -29
  232. package/dist/esm/resources/index.js +29 -29
  233. package/dist/esm/resources/solution-resource.d.ts +35 -35
  234. package/dist/esm/resources/solution-resource.js +27 -27
  235. package/dist/esm/resources/transform-resource-paths-to-solution-resources.d.ts +56 -56
  236. package/dist/esm/resources/transform-resource-paths-to-solution-resources.js +137 -137
  237. package/dist/esm/restHelpers.d.ts +586 -585
  238. package/dist/esm/restHelpers.js +1827 -1823
  239. package/dist/esm/restHelpers.js.map +1 -1
  240. package/dist/esm/restHelpersGet.d.ts +288 -288
  241. package/dist/esm/restHelpersGet.js +763 -763
  242. package/dist/esm/sharing/index.d.ts +16 -16
  243. package/dist/esm/sharing/index.js +16 -16
  244. package/dist/esm/sharing/share-item-to-groups.d.ts +26 -26
  245. package/dist/esm/sharing/share-item-to-groups.js +39 -39
  246. package/dist/esm/templatization.d.ts +139 -139
  247. package/dist/esm/templatization.js +293 -293
  248. package/dist/esm/trackingHelpers.d.ts +116 -116
  249. package/dist/esm/trackingHelpers.js +204 -204
  250. package/dist/esm/velocityHelpers.d.ts +57 -57
  251. package/dist/esm/velocityHelpers.js +128 -128
  252. package/dist/esm/workforceHelpers.d.ts +115 -115
  253. package/dist/esm/workforceHelpers.js +717 -717
  254. package/dist/esm/workforceHelpers.js.map +1 -1
  255. package/package.json +2 -2
  256. package/dist/cjs/polyfills.d.ts +0 -40
  257. package/dist/cjs/polyfills.js +0 -98
  258. package/dist/cjs/polyfills.js.map +0 -1
  259. package/dist/esm/polyfills.d.ts +0 -40
  260. package/dist/esm/polyfills.js +0 -93
  261. package/dist/esm/polyfills.js.map +0 -1
@@ -1,146 +1,146 @@
1
- "use strict";
2
- /** @license
3
- * Copyright 2020 Esri
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports._extractPathFromResourcePath = exports._extractFilenameFromResourcePath = exports._getSolutionResourceTypeFromResourcePath = exports.transformResourcePathToSolutionResource = exports.transformResourcePathsToSolutionResources = void 0;
19
- const solution_resource_1 = require("./solution-resource");
20
- const hub_common_1 = require("@esri/hub-common");
21
- /**
22
- * Convert an array of resource strings into an array of ISolutionResources
23
- *
24
- * Used to migrate Solutions to a more extensible resource schema
25
- *
26
- * @param resourceStrings Array of resource paths
27
- */
28
- function transformResourcePathsToSolutionResources(resourceStrings = []) {
29
- return resourceStrings.map(transformResourcePathToSolutionResource);
30
- }
31
- exports.transformResourcePathsToSolutionResources = transformResourcePathsToSolutionResources;
32
- /**
33
- * Convert a resource path to a ISolutionResource
34
- *
35
- * @param resourcePath String
36
- */
37
- function transformResourcePathToSolutionResource(resourcePath) {
38
- return {
39
- filename: _extractFilenameFromResourcePath(resourcePath),
40
- type: _getSolutionResourceTypeFromResourcePath(resourcePath),
41
- path: _extractPathFromResourcePath(resourcePath),
42
- sourceUrl: resourcePath
43
- };
44
- }
45
- exports.transformResourcePathToSolutionResource = transformResourcePathToSolutionResource;
46
- /**
47
- * Convert a resource path to a SolutionResourceType
48
- *
49
- * @param resourcePath String
50
- * @private
51
- */
52
- function _getSolutionResourceTypeFromResourcePath(resourcePath) {
53
- let type = solution_resource_1.SolutionResourceType.resource;
54
- const folder = resourcePath
55
- .split("/")
56
- .slice(0, -1)
57
- .join("/") || "";
58
- PATH_TO_TYPE_MAP.forEach(entry => {
59
- if (folder.endsWith(entry.ending)) {
60
- type = entry.type;
61
- }
62
- });
63
- return type;
64
- }
65
- exports._getSolutionResourceTypeFromResourcePath = _getSolutionResourceTypeFromResourcePath;
66
- /**
67
- * Mapping of strings that have been appended to the resource path to
68
- * encode the resource type
69
- */
70
- const PATH_TO_TYPE_MAP = [
71
- { ending: "_info_thumbnail", type: solution_resource_1.SolutionResourceType.thumbnail },
72
- { ending: "_info_metadata", type: solution_resource_1.SolutionResourceType.metadata },
73
- { ending: "_info_data", type: solution_resource_1.SolutionResourceType.data },
74
- { ending: "_info_dataz", type: solution_resource_1.SolutionResourceType.fakezip },
75
- { ending: "_info", type: solution_resource_1.SolutionResourceType.info }
76
- ];
77
- /**
78
- * Extract the filename from a path
79
- *
80
- * @param path String that is a path
81
- * @private
82
- */
83
- function _extractFilenameFromResourcePath(path) {
84
- // if we have path separators, split and grab last segment
85
- if (path.indexOf("/") > -1) {
86
- return path.split("/").reverse()[0];
87
- }
88
- else {
89
- // Hub resources are {guid}-{filename.ext}
90
- if (path.indexOf("-") === 32) {
91
- // start at 33 to remove the `-` between the filename and the guid
92
- return path.substr(33, path.length - 1);
93
- }
94
- else {
95
- // path is the filename
96
- return path;
97
- }
98
- }
99
- }
100
- exports._extractFilenameFromResourcePath = _extractFilenameFromResourcePath;
101
- /**
102
- * Convert the resource path into the correct output path
103
- * (aka resource prefix)
104
- *
105
- * Original resource paths encoded information in the path
106
- * including actual sub-folders. The logic is kinda complex
107
- * thus this function has extensive tests
108
- *
109
- * @param path
110
- * @private
111
- */
112
- function _extractPathFromResourcePath(resourcePath) {
113
- // default case
114
- let path = "";
115
- // parse up the path by splittins on `/` and dropping the last segment
116
- const parsedPath = resourcePath
117
- .split("/")
118
- .slice(0, -1)
119
- .join("/") || "";
120
- // if we got something...
121
- if (parsedPath) {
122
- // now we need to see if this has any of the well-known endings
123
- const isWellKnownPath = PATH_TO_TYPE_MAP.reduce((acc, entry) => {
124
- if (parsedPath.endsWith(entry.ending)) {
125
- acc = true;
126
- }
127
- return acc;
128
- }, false);
129
- // if it does not match a well-known path...
130
- if (!isWellKnownPath && parsedPath.indexOf("http") !== 0) {
131
- // see if there is another folder encoded...
132
- if (parsedPath.indexOf("_") > -1) {
133
- path = parsedPath.split("_")[1];
134
- }
135
- else {
136
- // if the path is not a naked guid, we return the parsed path
137
- if (!(0, hub_common_1.isGuid)(parsedPath)) {
138
- path = parsedPath;
139
- }
140
- }
141
- }
142
- }
143
- return path;
144
- }
145
- exports._extractPathFromResourcePath = _extractPathFromResourcePath;
1
+ "use strict";
2
+ /** @license
3
+ * Copyright 2020 Esri
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ Object.defineProperty(exports, "__esModule", { value: true });
18
+ exports._extractPathFromResourcePath = exports._extractFilenameFromResourcePath = exports._getSolutionResourceTypeFromResourcePath = exports.transformResourcePathToSolutionResource = exports.transformResourcePathsToSolutionResources = void 0;
19
+ const solution_resource_1 = require("./solution-resource");
20
+ const hub_common_1 = require("@esri/hub-common");
21
+ /**
22
+ * Convert an array of resource strings into an array of ISolutionResources
23
+ *
24
+ * Used to migrate Solutions to a more extensible resource schema
25
+ *
26
+ * @param resourceStrings Array of resource paths
27
+ */
28
+ function transformResourcePathsToSolutionResources(resourceStrings = []) {
29
+ return resourceStrings.map(transformResourcePathToSolutionResource);
30
+ }
31
+ exports.transformResourcePathsToSolutionResources = transformResourcePathsToSolutionResources;
32
+ /**
33
+ * Convert a resource path to a ISolutionResource
34
+ *
35
+ * @param resourcePath String
36
+ */
37
+ function transformResourcePathToSolutionResource(resourcePath) {
38
+ return {
39
+ filename: _extractFilenameFromResourcePath(resourcePath),
40
+ type: _getSolutionResourceTypeFromResourcePath(resourcePath),
41
+ path: _extractPathFromResourcePath(resourcePath),
42
+ sourceUrl: resourcePath
43
+ };
44
+ }
45
+ exports.transformResourcePathToSolutionResource = transformResourcePathToSolutionResource;
46
+ /**
47
+ * Convert a resource path to a SolutionResourceType
48
+ *
49
+ * @param resourcePath String
50
+ * @private
51
+ */
52
+ function _getSolutionResourceTypeFromResourcePath(resourcePath) {
53
+ let type = solution_resource_1.SolutionResourceType.resource;
54
+ const folder = resourcePath
55
+ .split("/")
56
+ .slice(0, -1)
57
+ .join("/") || "";
58
+ PATH_TO_TYPE_MAP.forEach(entry => {
59
+ if (folder.endsWith(entry.ending)) {
60
+ type = entry.type;
61
+ }
62
+ });
63
+ return type;
64
+ }
65
+ exports._getSolutionResourceTypeFromResourcePath = _getSolutionResourceTypeFromResourcePath;
66
+ /**
67
+ * Mapping of strings that have been appended to the resource path to
68
+ * encode the resource type
69
+ */
70
+ const PATH_TO_TYPE_MAP = [
71
+ { ending: "_info_thumbnail", type: solution_resource_1.SolutionResourceType.thumbnail },
72
+ { ending: "_info_metadata", type: solution_resource_1.SolutionResourceType.metadata },
73
+ { ending: "_info_data", type: solution_resource_1.SolutionResourceType.data },
74
+ { ending: "_info_dataz", type: solution_resource_1.SolutionResourceType.fakezip },
75
+ { ending: "_info", type: solution_resource_1.SolutionResourceType.info }
76
+ ];
77
+ /**
78
+ * Extract the filename from a path
79
+ *
80
+ * @param path String that is a path
81
+ * @private
82
+ */
83
+ function _extractFilenameFromResourcePath(path) {
84
+ // if we have path separators, split and grab last segment
85
+ if (path.indexOf("/") > -1) {
86
+ return path.split("/").reverse()[0];
87
+ }
88
+ else {
89
+ // Hub resources are {guid}-{filename.ext}
90
+ if (path.indexOf("-") === 32) {
91
+ // start at 33 to remove the `-` between the filename and the guid
92
+ return path.substr(33, path.length - 1);
93
+ }
94
+ else {
95
+ // path is the filename
96
+ return path;
97
+ }
98
+ }
99
+ }
100
+ exports._extractFilenameFromResourcePath = _extractFilenameFromResourcePath;
101
+ /**
102
+ * Convert the resource path into the correct output path
103
+ * (aka resource prefix)
104
+ *
105
+ * Original resource paths encoded information in the path
106
+ * including actual sub-folders. The logic is kinda complex
107
+ * thus this function has extensive tests
108
+ *
109
+ * @param path
110
+ * @private
111
+ */
112
+ function _extractPathFromResourcePath(resourcePath) {
113
+ // default case
114
+ let path = "";
115
+ // parse up the path by splittins on `/` and dropping the last segment
116
+ const parsedPath = resourcePath
117
+ .split("/")
118
+ .slice(0, -1)
119
+ .join("/") || "";
120
+ // if we got something...
121
+ if (parsedPath) {
122
+ // now we need to see if this has any of the well-known endings
123
+ const isWellKnownPath = PATH_TO_TYPE_MAP.reduce((acc, entry) => {
124
+ if (parsedPath.endsWith(entry.ending)) {
125
+ acc = true;
126
+ }
127
+ return acc;
128
+ }, false);
129
+ // if it does not match a well-known path...
130
+ if (!isWellKnownPath && parsedPath.indexOf("http") !== 0) {
131
+ // see if there is another folder encoded...
132
+ if (parsedPath.indexOf("_") > -1) {
133
+ path = parsedPath.split("_")[1];
134
+ }
135
+ else {
136
+ // if the path is not a naked guid, we return the parsed path
137
+ if (!(0, hub_common_1.isGuid)(parsedPath)) {
138
+ path = parsedPath;
139
+ }
140
+ }
141
+ }
142
+ }
143
+ return path;
144
+ }
145
+ exports._extractPathFromResourcePath = _extractPathFromResourcePath;
146
146
  //# sourceMappingURL=transform-resource-paths-to-solution-resources.js.map