@esri/solution-file 1.1.5 → 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.
@@ -1,7 +1,7 @@
1
1
  /* @preserve
2
- * @esri/solution-file - v1.1.5 - Apache-2.0
2
+ * @esri/solution-file - v1.2.0 - Apache-2.0
3
3
  * Copyright (c) 2018-2021 Esri, Inc.
4
- * Tue Nov 16 2021 07:11:03 GMT-0800 (Pacific Standard Time)
4
+ * Thu Dec 09 2021 16:02:16 GMT-0800 (Pacific Standard Time)
5
5
  *
6
6
  * Licensed under the Apache License, Version 2.0 (the "License");
7
7
  * you may not use this file except in compliance with the License.
@@ -18,8 +18,28 @@
18
18
  (function (global, factory) {
19
19
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@esri/solution-common')) :
20
20
  typeof define === 'function' && define.amd ? define(['exports', '@esri/solution-common'], factory) :
21
- (global = global || self, factory(global.arcgisSolution = global.arcgisSolution || {}, global.arcgisSolution));
22
- }(this, (function (exports, common) { 'use strict';
21
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.arcgisSolution = global.arcgisSolution || {}, global.arcgisSolution));
22
+ })(this, (function (exports, common) { 'use strict';
23
+
24
+ function _interopNamespace(e) {
25
+ if (e && e.__esModule) return e;
26
+ var n = Object.create(null);
27
+ if (e) {
28
+ Object.keys(e).forEach(function (k) {
29
+ if (k !== 'default') {
30
+ var d = Object.getOwnPropertyDescriptor(e, k);
31
+ Object.defineProperty(n, k, d.get ? d : {
32
+ enumerable: true,
33
+ get: function () { return e[k]; }
34
+ });
35
+ }
36
+ });
37
+ }
38
+ n["default"] = e;
39
+ return Object.freeze(n);
40
+ }
41
+
42
+ var common__namespace = /*#__PURE__*/_interopNamespace(common);
23
43
 
24
44
  /** @license
25
45
  * Copyright 2018 Esri
@@ -49,13 +69,14 @@
49
69
  function convertItemToTemplate(solutionItemId, itemInfo, destAuthentication, srcAuthentication) {
50
70
  return new Promise(resolve => {
51
71
  // Init template
52
- const itemTemplate = common.createInitializedItemTemplate(itemInfo);
72
+ const itemTemplate = common__namespace.createInitializedItemTemplate(itemInfo);
53
73
  // Templatize item info property values
54
- itemTemplate.item.id = common.templatizeTerm(itemTemplate.item.id, itemTemplate.item.id, ".itemId");
74
+ itemTemplate.item.id = common__namespace.templatizeTerm(itemTemplate.item.id, itemTemplate.item.id, ".itemId");
55
75
  // Request file
56
76
  const dataPromise = new Promise(dataResolve => {
57
77
  // eslint-disable-next-line @typescript-eslint/no-floating-promises
58
- common.getItemDataAsFile(itemTemplate.itemId, itemTemplate.item.name, srcAuthentication)
78
+ common__namespace
79
+ .getItemDataAsFile(itemTemplate.itemId, itemTemplate.item.name, srcAuthentication)
59
80
  .then(response => {
60
81
  if (!response || response.size === 0) {
61
82
  dataResolve(null);
@@ -72,13 +93,14 @@
72
93
  Promise.all([dataPromise, relatedPromise]).then(responses => {
73
94
  const [itemDataResponse] = responses;
74
95
  if (itemDataResponse) {
75
- const resource = common.convertBlobToSupportableResource(itemDataResponse, itemTemplate.item.name);
96
+ const resource = common__namespace.convertBlobToSupportableResource(itemDataResponse, itemTemplate.item.name);
76
97
  itemTemplate.properties[resource.filename] = resource.mimeType;
77
- const storageName = common.convertItemResourceToStorageResource(itemTemplate.itemId +
98
+ const storageName = common__namespace.convertItemResourceToStorageResource(itemTemplate.itemId +
78
99
  (resource.blob.name === resource.filename
79
100
  ? "_info_data"
80
- : "_info_dataz"), resource.blob.name, common.SolutionTemplateFormatVersion);
81
- common.addResourceFromBlob(resource.blob, solutionItemId, storageName.folder, storageName.filename, destAuthentication)
101
+ : "_info_dataz"), resource.blob.name, common__namespace.SolutionTemplateFormatVersion);
102
+ common__namespace
103
+ .addResourceFromBlob(resource.blob, solutionItemId, storageName.folder, storageName.filename, destAuthentication)
82
104
  .then(() => {
83
105
  itemTemplate.resources.push(storageName.folder + "/" + storageName.filename);
84
106
  resolve(itemTemplate);
@@ -96,26 +118,28 @@
96
118
  function createItemFromTemplate(template, templateDictionary, destinationAuthentication, itemProgressCallback) {
97
119
  return new Promise(resolve => {
98
120
  // Interrupt process if progress callback returns `false`
99
- if (!itemProgressCallback(template.itemId, common.EItemProgressStatus.Started, 0)) {
100
- itemProgressCallback(template.itemId, common.EItemProgressStatus.Ignored, 0);
101
- resolve(common.generateEmptyCreationResponse(template.type));
121
+ if (!itemProgressCallback(template.itemId, common__namespace.EItemProgressStatus.Started, 0)) {
122
+ itemProgressCallback(template.itemId, common__namespace.EItemProgressStatus.Ignored, 0);
123
+ resolve(common__namespace.generateEmptyCreationResponse(template.type));
102
124
  return;
103
125
  }
104
126
  // Replace the templatized symbols in a copy of the template
105
- let newItemTemplate = common.cloneObject(template);
106
- newItemTemplate = common.replaceInTemplate(newItemTemplate, templateDictionary);
127
+ let newItemTemplate = common__namespace.cloneObject(template);
128
+ newItemTemplate = common__namespace.replaceInTemplate(newItemTemplate, templateDictionary);
107
129
  /* istanbul ignore else */
108
130
  if (template.item.thumbnail) {
109
131
  newItemTemplate.item.thumbnail = template.item.thumbnail;
110
132
  }
111
133
  // Create the item, then update its URL with its new id
112
- common.createItemWithData(newItemTemplate.item, newItemTemplate.data, destinationAuthentication, templateDictionary.folderId)
134
+ common__namespace
135
+ .createItemWithData(newItemTemplate.item, newItemTemplate.data, destinationAuthentication, templateDictionary.folderId)
113
136
  .then(createResponse => {
114
137
  // Interrupt process if progress callback returns `false`
115
- if (!itemProgressCallback(template.itemId, common.EItemProgressStatus.Created, template.estimatedDeploymentCostFactor / 2, createResponse.id)) {
116
- itemProgressCallback(template.itemId, common.EItemProgressStatus.Cancelled, 0);
117
- common.removeItem(createResponse.id, destinationAuthentication)
118
- .then(() => resolve(common.generateEmptyCreationResponse(template.type)), () => resolve(common.generateEmptyCreationResponse(template.type)));
138
+ if (!itemProgressCallback(template.itemId, common__namespace.EItemProgressStatus.Created, template.estimatedDeploymentCostFactor / 2, createResponse.id)) {
139
+ itemProgressCallback(template.itemId, common__namespace.EItemProgressStatus.Cancelled, 0);
140
+ common__namespace
141
+ .removeItem(createResponse.id, destinationAuthentication)
142
+ .then(() => resolve(common__namespace.generateEmptyCreationResponse(template.type)), () => resolve(common__namespace.generateEmptyCreationResponse(template.type)));
119
143
  }
120
144
  else {
121
145
  // Add the new item to the settings
@@ -123,7 +147,7 @@
123
147
  templateDictionary[template.itemId] = {
124
148
  itemId: createResponse.id
125
149
  };
126
- itemProgressCallback(template.itemId, common.EItemProgressStatus.Finished, template.estimatedDeploymentCostFactor / 2, createResponse.id);
150
+ itemProgressCallback(template.itemId, common__namespace.EItemProgressStatus.Finished, template.estimatedDeploymentCostFactor / 2, createResponse.id);
127
151
  resolve({
128
152
  item: newItemTemplate,
129
153
  id: createResponse.id,
@@ -132,8 +156,8 @@
132
156
  });
133
157
  }
134
158
  }, () => {
135
- itemProgressCallback(template.itemId, common.EItemProgressStatus.Failed, 0);
136
- resolve(common.generateEmptyCreationResponse(template.type)); // fails to create item
159
+ itemProgressCallback(template.itemId, common__namespace.EItemProgressStatus.Failed, 0);
160
+ resolve(common__namespace.generateEmptyCreationResponse(template.type)); // fails to create item
137
161
  });
138
162
  });
139
163
  }
@@ -143,5 +167,5 @@
143
167
 
144
168
  Object.defineProperty(exports, '__esModule', { value: true });
145
169
 
146
- })));
170
+ }));
147
171
  //# sourceMappingURL=file.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.umd.js","sources":["../../src/file.ts"],"sourcesContent":["/** @license\r\n * Copyright 2018 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n/**\r\n * Manages the creation and deployment of item types that contain files.\r\n *\r\n * @module file\r\n */\r\n\r\nimport * as common from \"@esri/solution-common\";\r\n\r\n// ------------------------------------------------------------------------------------------------------------------ //\r\n\r\n/**\r\n * Converts a file item into a template.\r\n *\r\n * @param solutionItemId The solution to contain the template\r\n * @param itemInfo Info about the item\r\n * @param destAuthentication Credentials for requests to the destination organization\r\n * @param srcAuthentication Credentials for requests to source items\r\n * @return A promise that will resolve when the template has been created\r\n */\r\nexport function convertItemToTemplate(\r\n solutionItemId: string,\r\n itemInfo: any,\r\n destAuthentication: common.UserSession,\r\n srcAuthentication: common.UserSession\r\n): Promise<common.IItemTemplate> {\r\n return new Promise<common.IItemTemplate>(resolve => {\r\n // Init template\r\n const itemTemplate: common.IItemTemplate = common.createInitializedItemTemplate(\r\n itemInfo\r\n );\r\n\r\n // Templatize item info property values\r\n itemTemplate.item.id = common.templatizeTerm(\r\n itemTemplate.item.id,\r\n itemTemplate.item.id,\r\n \".itemId\"\r\n );\r\n\r\n // Request file\r\n const dataPromise = new Promise<File>(dataResolve => {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n common\r\n .getItemDataAsFile(\r\n itemTemplate.itemId,\r\n itemTemplate.item.name,\r\n srcAuthentication\r\n )\r\n .then(response => {\r\n if (!response || response.size === 0) {\r\n dataResolve(null);\r\n } else {\r\n dataResolve(response);\r\n }\r\n });\r\n });\r\n\r\n // Request related items\r\n const relatedPromise = Promise.resolve(\r\n {} as common.IGetRelatedItemsResponse\r\n );\r\n\r\n // Errors are handled as resolved empty values; this means that there's no `reject` clause to handle, hence:\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n Promise.all([dataPromise, relatedPromise]).then(responses => {\r\n const [itemDataResponse] = responses;\r\n\r\n if (itemDataResponse) {\r\n const resource: common.IFileMimeTyped = common.convertBlobToSupportableResource(\r\n itemDataResponse,\r\n itemTemplate.item.name\r\n );\r\n itemTemplate.properties[resource.filename] = resource.mimeType;\r\n\r\n const storageName = common.convertItemResourceToStorageResource(\r\n itemTemplate.itemId +\r\n ((resource.blob as File).name === resource.filename\r\n ? \"_info_data\"\r\n : \"_info_dataz\"),\r\n (resource.blob as File).name,\r\n common.SolutionTemplateFormatVersion\r\n );\r\n common\r\n .addResourceFromBlob(\r\n resource.blob,\r\n solutionItemId,\r\n storageName.folder,\r\n storageName.filename,\r\n destAuthentication\r\n )\r\n .then(\r\n () => {\r\n itemTemplate.resources.push(\r\n storageName.folder + \"/\" + storageName.filename\r\n );\r\n resolve(itemTemplate);\r\n },\r\n error => {\r\n itemTemplate.properties[\"error\"] = JSON.stringify(error);\r\n resolve(itemTemplate);\r\n }\r\n );\r\n } else {\r\n resolve(itemTemplate);\r\n }\r\n });\r\n });\r\n}\r\n\r\nexport function createItemFromTemplate(\r\n template: common.IItemTemplate,\r\n templateDictionary: any,\r\n destinationAuthentication: common.UserSession,\r\n itemProgressCallback: common.IItemProgressCallback\r\n): Promise<common.ICreateItemFromTemplateResponse> {\r\n return new Promise<common.ICreateItemFromTemplateResponse>(resolve => {\r\n // Interrupt process if progress callback returns `false`\r\n if (\r\n !itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Started,\r\n 0\r\n )\r\n ) {\r\n itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Ignored,\r\n 0\r\n );\r\n resolve(common.generateEmptyCreationResponse(template.type));\r\n return;\r\n }\r\n\r\n // Replace the templatized symbols in a copy of the template\r\n let newItemTemplate: common.IItemTemplate = common.cloneObject(template);\r\n newItemTemplate = common.replaceInTemplate(\r\n newItemTemplate,\r\n templateDictionary\r\n );\r\n /* istanbul ignore else */\r\n if (template.item.thumbnail) {\r\n newItemTemplate.item.thumbnail = template.item.thumbnail;\r\n }\r\n\r\n // Create the item, then update its URL with its new id\r\n common\r\n .createItemWithData(\r\n newItemTemplate.item,\r\n newItemTemplate.data,\r\n destinationAuthentication,\r\n templateDictionary.folderId\r\n )\r\n .then(\r\n createResponse => {\r\n // Interrupt process if progress callback returns `false`\r\n if (\r\n !itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Created,\r\n template.estimatedDeploymentCostFactor / 2,\r\n createResponse.id\r\n )\r\n ) {\r\n itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Cancelled,\r\n 0\r\n );\r\n common\r\n .removeItem(createResponse.id, destinationAuthentication)\r\n .then(\r\n () =>\r\n resolve(common.generateEmptyCreationResponse(template.type)),\r\n () =>\r\n resolve(common.generateEmptyCreationResponse(template.type))\r\n );\r\n } else {\r\n // Add the new item to the settings\r\n newItemTemplate.itemId = createResponse.id;\r\n templateDictionary[template.itemId] = {\r\n itemId: createResponse.id\r\n };\r\n\r\n itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Finished,\r\n template.estimatedDeploymentCostFactor / 2,\r\n createResponse.id\r\n );\r\n\r\n resolve({\r\n item: newItemTemplate,\r\n id: createResponse.id,\r\n type: newItemTemplate.type,\r\n postProcess: false\r\n });\r\n }\r\n },\r\n () => {\r\n itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Failed,\r\n 0\r\n );\r\n resolve(common.generateEmptyCreationResponse(template.type)); // fails to create item\r\n }\r\n );\r\n });\r\n}\r\n"],"names":["common.createInitializedItemTemplate","common.templatizeTerm","common\r\n .getItemDataAsFile","common.convertBlobToSupportableResource","common.convertItemResourceToStorageResource","common.SolutionTemplateFormatVersion","common\r\n .addResourceFromBlob","common.EItemProgressStatus","common.generateEmptyCreationResponse","common.cloneObject","common.replaceInTemplate","common\r\n .createItemWithData","common\r\n .removeItem"],"mappings":"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"}
1
+ {"version":3,"file":"file.umd.js","sources":["../../src/file.ts"],"sourcesContent":["/** @license\r\n * Copyright 2018 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n/**\r\n * Manages the creation and deployment of item types that contain files.\r\n *\r\n * @module file\r\n */\r\n\r\nimport * as common from \"@esri/solution-common\";\r\n\r\n// ------------------------------------------------------------------------------------------------------------------ //\r\n\r\n/**\r\n * Converts a file item into a template.\r\n *\r\n * @param solutionItemId The solution to contain the template\r\n * @param itemInfo Info about the item\r\n * @param destAuthentication Credentials for requests to the destination organization\r\n * @param srcAuthentication Credentials for requests to source items\r\n * @return A promise that will resolve when the template has been created\r\n */\r\nexport function convertItemToTemplate(\r\n solutionItemId: string,\r\n itemInfo: any,\r\n destAuthentication: common.UserSession,\r\n srcAuthentication: common.UserSession\r\n): Promise<common.IItemTemplate> {\r\n return new Promise<common.IItemTemplate>(resolve => {\r\n // Init template\r\n const itemTemplate: common.IItemTemplate = common.createInitializedItemTemplate(\r\n itemInfo\r\n );\r\n\r\n // Templatize item info property values\r\n itemTemplate.item.id = common.templatizeTerm(\r\n itemTemplate.item.id,\r\n itemTemplate.item.id,\r\n \".itemId\"\r\n );\r\n\r\n // Request file\r\n const dataPromise = new Promise<File>(dataResolve => {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n common\r\n .getItemDataAsFile(\r\n itemTemplate.itemId,\r\n itemTemplate.item.name,\r\n srcAuthentication\r\n )\r\n .then(response => {\r\n if (!response || response.size === 0) {\r\n dataResolve(null);\r\n } else {\r\n dataResolve(response);\r\n }\r\n });\r\n });\r\n\r\n // Request related items\r\n const relatedPromise = Promise.resolve(\r\n {} as common.IGetRelatedItemsResponse\r\n );\r\n\r\n // Errors are handled as resolved empty values; this means that there's no `reject` clause to handle, hence:\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n Promise.all([dataPromise, relatedPromise]).then(responses => {\r\n const [itemDataResponse] = responses;\r\n\r\n if (itemDataResponse) {\r\n const resource: common.IFileMimeTyped = common.convertBlobToSupportableResource(\r\n itemDataResponse,\r\n itemTemplate.item.name\r\n );\r\n itemTemplate.properties[resource.filename] = resource.mimeType;\r\n\r\n const storageName = common.convertItemResourceToStorageResource(\r\n itemTemplate.itemId +\r\n ((resource.blob as File).name === resource.filename\r\n ? \"_info_data\"\r\n : \"_info_dataz\"),\r\n (resource.blob as File).name,\r\n common.SolutionTemplateFormatVersion\r\n );\r\n common\r\n .addResourceFromBlob(\r\n resource.blob,\r\n solutionItemId,\r\n storageName.folder,\r\n storageName.filename,\r\n destAuthentication\r\n )\r\n .then(\r\n () => {\r\n itemTemplate.resources.push(\r\n storageName.folder + \"/\" + storageName.filename\r\n );\r\n resolve(itemTemplate);\r\n },\r\n error => {\r\n itemTemplate.properties[\"error\"] = JSON.stringify(error);\r\n resolve(itemTemplate);\r\n }\r\n );\r\n } else {\r\n resolve(itemTemplate);\r\n }\r\n });\r\n });\r\n}\r\n\r\nexport function createItemFromTemplate(\r\n template: common.IItemTemplate,\r\n templateDictionary: any,\r\n destinationAuthentication: common.UserSession,\r\n itemProgressCallback: common.IItemProgressCallback\r\n): Promise<common.ICreateItemFromTemplateResponse> {\r\n return new Promise<common.ICreateItemFromTemplateResponse>(resolve => {\r\n // Interrupt process if progress callback returns `false`\r\n if (\r\n !itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Started,\r\n 0\r\n )\r\n ) {\r\n itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Ignored,\r\n 0\r\n );\r\n resolve(common.generateEmptyCreationResponse(template.type));\r\n return;\r\n }\r\n\r\n // Replace the templatized symbols in a copy of the template\r\n let newItemTemplate: common.IItemTemplate = common.cloneObject(template);\r\n newItemTemplate = common.replaceInTemplate(\r\n newItemTemplate,\r\n templateDictionary\r\n );\r\n /* istanbul ignore else */\r\n if (template.item.thumbnail) {\r\n newItemTemplate.item.thumbnail = template.item.thumbnail;\r\n }\r\n\r\n // Create the item, then update its URL with its new id\r\n common\r\n .createItemWithData(\r\n newItemTemplate.item,\r\n newItemTemplate.data,\r\n destinationAuthentication,\r\n templateDictionary.folderId\r\n )\r\n .then(\r\n createResponse => {\r\n // Interrupt process if progress callback returns `false`\r\n if (\r\n !itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Created,\r\n template.estimatedDeploymentCostFactor / 2,\r\n createResponse.id\r\n )\r\n ) {\r\n itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Cancelled,\r\n 0\r\n );\r\n common\r\n .removeItem(createResponse.id, destinationAuthentication)\r\n .then(\r\n () =>\r\n resolve(common.generateEmptyCreationResponse(template.type)),\r\n () =>\r\n resolve(common.generateEmptyCreationResponse(template.type))\r\n );\r\n } else {\r\n // Add the new item to the settings\r\n newItemTemplate.itemId = createResponse.id;\r\n templateDictionary[template.itemId] = {\r\n itemId: createResponse.id\r\n };\r\n\r\n itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Finished,\r\n template.estimatedDeploymentCostFactor / 2,\r\n createResponse.id\r\n );\r\n\r\n resolve({\r\n item: newItemTemplate,\r\n id: createResponse.id,\r\n type: newItemTemplate.type,\r\n postProcess: false\r\n });\r\n }\r\n },\r\n () => {\r\n itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Failed,\r\n 0\r\n );\r\n resolve(common.generateEmptyCreationResponse(template.type)); // fails to create item\r\n }\r\n );\r\n });\r\n}\r\n"],"names":["common"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /* @preserve
2
- * @esri/solution-file - v1.1.5 - Apache-2.0
2
+ * @esri/solution-file - v1.2.0 - Apache-2.0
3
3
  * Copyright (c) 2018-2021 Esri, Inc.
4
- * Tue Nov 16 2021 07:11:07 GMT-0800 (Pacific Standard Time)
4
+ * Thu Dec 09 2021 16:02:20 GMT-0800 (Pacific Standard Time)
5
5
  *
6
6
  * Licensed under the Apache License, Version 2.0 (the "License");
7
7
  * you may not use this file except in compliance with the License.
@@ -15,5 +15,5 @@
15
15
  * See the License for the specific language governing permissions and
16
16
  * limitations under the License.
17
17
  */
18
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@esri/solution-common")):"function"==typeof define&&define.amd?define(["exports","@esri/solution-common"],t):t((e=e||self).arcgisSolution=e.arcgisSolution||{},e.arcgisSolution)}(this,(function(e,t){"use strict";e.convertItemToTemplate=function(e,o,i,r){return new Promise((n=>{const m=t.createInitializedItemTemplate(o);m.item.id=t.templatizeTerm(m.item.id,m.item.id,".itemId");const s=new Promise((e=>{t.getItemDataAsFile(m.itemId,m.item.name,r).then((t=>{t&&0!==t.size?e(t):e(null)}))})),a=Promise.resolve({});Promise.all([s,a]).then((o=>{const[r]=o;if(r){const o=t.convertBlobToSupportableResource(r,m.item.name);m.properties[o.filename]=o.mimeType;const s=t.convertItemResourceToStorageResource(m.itemId+(o.blob.name===o.filename?"_info_data":"_info_dataz"),o.blob.name,t.SolutionTemplateFormatVersion);t.addResourceFromBlob(o.blob,e,s.folder,s.filename,i).then((()=>{m.resources.push(s.folder+"/"+s.filename),n(m)}),(e=>{m.properties.error=JSON.stringify(e),n(m)}))}else n(m)}))}))},e.createItemFromTemplate=function(e,o,i,r){return new Promise((n=>{if(!r(e.itemId,t.EItemProgressStatus.Started,0))return r(e.itemId,t.EItemProgressStatus.Ignored,0),void n(t.generateEmptyCreationResponse(e.type));let m=t.cloneObject(e);m=t.replaceInTemplate(m,o),e.item.thumbnail&&(m.item.thumbnail=e.item.thumbnail),t.createItemWithData(m.item,m.data,i,o.folderId).then((s=>{r(e.itemId,t.EItemProgressStatus.Created,e.estimatedDeploymentCostFactor/2,s.id)?(m.itemId=s.id,o[e.itemId]={itemId:s.id},r(e.itemId,t.EItemProgressStatus.Finished,e.estimatedDeploymentCostFactor/2,s.id),n({item:m,id:s.id,type:m.type,postProcess:!1})):(r(e.itemId,t.EItemProgressStatus.Cancelled,0),t.removeItem(s.id,i).then((()=>n(t.generateEmptyCreationResponse(e.type))),(()=>n(t.generateEmptyCreationResponse(e.type)))))}),(()=>{r(e.itemId,t.EItemProgressStatus.Failed,0),n(t.generateEmptyCreationResponse(e.type))}))}))},Object.defineProperty(e,"__esModule",{value:!0})}));
18
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@esri/solution-common")):"function"==typeof define&&define.amd?define(["exports","@esri/solution-common"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).arcgisSolution=e.arcgisSolution||{},e.arcgisSolution)}(this,(function(e,t){"use strict";function o(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(o){if("default"!==o){var i=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,i.get?i:{enumerable:!0,get:function(){return e[o]}})}})),t.default=e,Object.freeze(t)}var i=o(t);e.convertItemToTemplate=function(e,t,o,r){return new Promise((n=>{const m=i.createInitializedItemTemplate(t);m.item.id=i.templatizeTerm(m.item.id,m.item.id,".itemId");const s=new Promise((e=>{i.getItemDataAsFile(m.itemId,m.item.name,r).then((t=>{t&&0!==t.size?e(t):e(null)}))})),a=Promise.resolve({});Promise.all([s,a]).then((t=>{const[r]=t;if(r){const t=i.convertBlobToSupportableResource(r,m.item.name);m.properties[t.filename]=t.mimeType;const s=i.convertItemResourceToStorageResource(m.itemId+(t.blob.name===t.filename?"_info_data":"_info_dataz"),t.blob.name,i.SolutionTemplateFormatVersion);i.addResourceFromBlob(t.blob,e,s.folder,s.filename,o).then((()=>{m.resources.push(s.folder+"/"+s.filename),n(m)}),(e=>{m.properties.error=JSON.stringify(e),n(m)}))}else n(m)}))}))},e.createItemFromTemplate=function(e,t,o,r){return new Promise((n=>{if(!r(e.itemId,i.EItemProgressStatus.Started,0))return r(e.itemId,i.EItemProgressStatus.Ignored,0),void n(i.generateEmptyCreationResponse(e.type));let m=i.cloneObject(e);m=i.replaceInTemplate(m,t),e.item.thumbnail&&(m.item.thumbnail=e.item.thumbnail),i.createItemWithData(m.item,m.data,o,t.folderId).then((s=>{r(e.itemId,i.EItemProgressStatus.Created,e.estimatedDeploymentCostFactor/2,s.id)?(m.itemId=s.id,t[e.itemId]={itemId:s.id},r(e.itemId,i.EItemProgressStatus.Finished,e.estimatedDeploymentCostFactor/2,s.id),n({item:m,id:s.id,type:m.type,postProcess:!1})):(r(e.itemId,i.EItemProgressStatus.Cancelled,0),i.removeItem(s.id,o).then((()=>n(i.generateEmptyCreationResponse(e.type))),(()=>n(i.generateEmptyCreationResponse(e.type)))))}),(()=>{r(e.itemId,i.EItemProgressStatus.Failed,0),n(i.generateEmptyCreationResponse(e.type))}))}))},Object.defineProperty(e,"__esModule",{value:!0})}));
19
19
  //# sourceMappingURL=file.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.umd.min.js","sources":["../../src/file.ts"],"sourcesContent":["/** @license\r\n * Copyright 2018 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n/**\r\n * Manages the creation and deployment of item types that contain files.\r\n *\r\n * @module file\r\n */\r\n\r\nimport * as common from \"@esri/solution-common\";\r\n\r\n// ------------------------------------------------------------------------------------------------------------------ //\r\n\r\n/**\r\n * Converts a file item into a template.\r\n *\r\n * @param solutionItemId The solution to contain the template\r\n * @param itemInfo Info about the item\r\n * @param destAuthentication Credentials for requests to the destination organization\r\n * @param srcAuthentication Credentials for requests to source items\r\n * @return A promise that will resolve when the template has been created\r\n */\r\nexport function convertItemToTemplate(\r\n solutionItemId: string,\r\n itemInfo: any,\r\n destAuthentication: common.UserSession,\r\n srcAuthentication: common.UserSession\r\n): Promise<common.IItemTemplate> {\r\n return new Promise<common.IItemTemplate>(resolve => {\r\n // Init template\r\n const itemTemplate: common.IItemTemplate = common.createInitializedItemTemplate(\r\n itemInfo\r\n );\r\n\r\n // Templatize item info property values\r\n itemTemplate.item.id = common.templatizeTerm(\r\n itemTemplate.item.id,\r\n itemTemplate.item.id,\r\n \".itemId\"\r\n );\r\n\r\n // Request file\r\n const dataPromise = new Promise<File>(dataResolve => {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n common\r\n .getItemDataAsFile(\r\n itemTemplate.itemId,\r\n itemTemplate.item.name,\r\n srcAuthentication\r\n )\r\n .then(response => {\r\n if (!response || response.size === 0) {\r\n dataResolve(null);\r\n } else {\r\n dataResolve(response);\r\n }\r\n });\r\n });\r\n\r\n // Request related items\r\n const relatedPromise = Promise.resolve(\r\n {} as common.IGetRelatedItemsResponse\r\n );\r\n\r\n // Errors are handled as resolved empty values; this means that there's no `reject` clause to handle, hence:\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n Promise.all([dataPromise, relatedPromise]).then(responses => {\r\n const [itemDataResponse] = responses;\r\n\r\n if (itemDataResponse) {\r\n const resource: common.IFileMimeTyped = common.convertBlobToSupportableResource(\r\n itemDataResponse,\r\n itemTemplate.item.name\r\n );\r\n itemTemplate.properties[resource.filename] = resource.mimeType;\r\n\r\n const storageName = common.convertItemResourceToStorageResource(\r\n itemTemplate.itemId +\r\n ((resource.blob as File).name === resource.filename\r\n ? \"_info_data\"\r\n : \"_info_dataz\"),\r\n (resource.blob as File).name,\r\n common.SolutionTemplateFormatVersion\r\n );\r\n common\r\n .addResourceFromBlob(\r\n resource.blob,\r\n solutionItemId,\r\n storageName.folder,\r\n storageName.filename,\r\n destAuthentication\r\n )\r\n .then(\r\n () => {\r\n itemTemplate.resources.push(\r\n storageName.folder + \"/\" + storageName.filename\r\n );\r\n resolve(itemTemplate);\r\n },\r\n error => {\r\n itemTemplate.properties[\"error\"] = JSON.stringify(error);\r\n resolve(itemTemplate);\r\n }\r\n );\r\n } else {\r\n resolve(itemTemplate);\r\n }\r\n });\r\n });\r\n}\r\n\r\nexport function createItemFromTemplate(\r\n template: common.IItemTemplate,\r\n templateDictionary: any,\r\n destinationAuthentication: common.UserSession,\r\n itemProgressCallback: common.IItemProgressCallback\r\n): Promise<common.ICreateItemFromTemplateResponse> {\r\n return new Promise<common.ICreateItemFromTemplateResponse>(resolve => {\r\n // Interrupt process if progress callback returns `false`\r\n if (\r\n !itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Started,\r\n 0\r\n )\r\n ) {\r\n itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Ignored,\r\n 0\r\n );\r\n resolve(common.generateEmptyCreationResponse(template.type));\r\n return;\r\n }\r\n\r\n // Replace the templatized symbols in a copy of the template\r\n let newItemTemplate: common.IItemTemplate = common.cloneObject(template);\r\n newItemTemplate = common.replaceInTemplate(\r\n newItemTemplate,\r\n templateDictionary\r\n );\r\n /* istanbul ignore else */\r\n if (template.item.thumbnail) {\r\n newItemTemplate.item.thumbnail = template.item.thumbnail;\r\n }\r\n\r\n // Create the item, then update its URL with its new id\r\n common\r\n .createItemWithData(\r\n newItemTemplate.item,\r\n newItemTemplate.data,\r\n destinationAuthentication,\r\n templateDictionary.folderId\r\n )\r\n .then(\r\n createResponse => {\r\n // Interrupt process if progress callback returns `false`\r\n if (\r\n !itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Created,\r\n template.estimatedDeploymentCostFactor / 2,\r\n createResponse.id\r\n )\r\n ) {\r\n itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Cancelled,\r\n 0\r\n );\r\n common\r\n .removeItem(createResponse.id, destinationAuthentication)\r\n .then(\r\n () =>\r\n resolve(common.generateEmptyCreationResponse(template.type)),\r\n () =>\r\n resolve(common.generateEmptyCreationResponse(template.type))\r\n );\r\n } else {\r\n // Add the new item to the settings\r\n newItemTemplate.itemId = createResponse.id;\r\n templateDictionary[template.itemId] = {\r\n itemId: createResponse.id\r\n };\r\n\r\n itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Finished,\r\n template.estimatedDeploymentCostFactor / 2,\r\n createResponse.id\r\n );\r\n\r\n resolve({\r\n item: newItemTemplate,\r\n id: createResponse.id,\r\n type: newItemTemplate.type,\r\n postProcess: false\r\n });\r\n }\r\n },\r\n () => {\r\n itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Failed,\r\n 0\r\n );\r\n resolve(common.generateEmptyCreationResponse(template.type)); // fails to create item\r\n }\r\n );\r\n });\r\n}\r\n"],"names":["solutionItemId","itemInfo","destAuthentication","srcAuthentication","Promise","resolve","itemTemplate","common.createInitializedItemTemplate","item","id","common.templatizeTerm","dataPromise","dataResolve","common\r\n .getItemDataAsFile","itemId","name","then","response","size","relatedPromise","all","responses","itemDataResponse","resource","common.convertBlobToSupportableResource","properties","filename","mimeType","storageName","common.convertItemResourceToStorageResource","blob","common.SolutionTemplateFormatVersion","common\r\n .addResourceFromBlob","folder","resources","push","error","JSON","stringify","template","templateDictionary","destinationAuthentication","itemProgressCallback","common.EItemProgressStatus","Started","Ignored","common.generateEmptyCreationResponse","type","newItemTemplate","common.cloneObject","common.replaceInTemplate","thumbnail","common\r\n .createItemWithData","data","folderId","createResponse","Created","estimatedDeploymentCostFactor","Finished","postProcess","Cancelled","common\r\n .removeItem","Failed"],"mappings":";;;;;;;;;;;;;;;;;2UAoCEA,EACAC,EACAC,EACAC,GAEA,OAAO,IAAIC,SAA8BC,IAEvC,MAAMC,EAAqCC,gCACzCN,GAIFK,EAAaE,KAAKC,GAAKC,iBACrBJ,EAAaE,KAAKC,GAClBH,EAAaE,KAAKC,GAClB,WAIF,MAAME,EAAc,IAAIP,SAAcQ,IAEpCC,oBAEIP,EAAaQ,OACbR,EAAaE,KAAKO,KAClBZ,GAEDa,MAAKC,IACCA,GAA8B,IAAlBA,EAASC,KAGxBN,EAAYK,GAFZL,EAAY,YAQdO,EAAiBf,QAAQC,QAC7B,IAKFD,QAAQgB,IAAI,CAACT,EAAaQ,IAAiBH,MAAKK,IAC9C,MAAOC,GAAoBD,EAE3B,GAAIC,EAAkB,CACpB,MAAMC,EAAkCC,mCACtCF,EACAhB,EAAaE,KAAKO,MAEpBT,EAAamB,WAAWF,EAASG,UAAYH,EAASI,SAEtD,MAAMC,EAAcC,uCAClBvB,EAAaQ,QACTS,EAASO,KAAcf,OAASQ,EAASG,SACvC,aACA,eACLH,EAASO,KAAcf,KACxBgB,iCAEFC,sBAEIT,EAASO,KACT9B,EACA4B,EAAYK,OACZL,EAAYF,SACZxB,GAEDc,MACC,KACEV,EAAa4B,UAAUC,KACrBP,EAAYK,OAAS,IAAML,EAAYF,UAEzCrB,EAAQC,MAEV8B,IACE9B,EAAamB,WAAkB,MAAIY,KAAKC,UAAUF,GAClD/B,EAAQC,WAIdD,EAAQC,4CAOdiC,EACAC,EACAC,EACAC,GAEA,OAAO,IAAItC,SAAgDC,IAEzD,IACGqC,EACCH,EAASzB,OACT6B,sBAA2BC,QAC3B,GASF,OANAF,EACEH,EAASzB,OACT6B,sBAA2BE,QAC3B,QAEFxC,EAAQyC,gCAAqCP,EAASQ,OAKxD,IAAIC,EAAwCC,cAAmBV,GAC/DS,EAAkBE,oBAChBF,EACAR,GAGED,EAAS/B,KAAK2C,YAChBH,EAAgBxC,KAAK2C,UAAYZ,EAAS/B,KAAK2C,WAIjDC,qBAEIJ,EAAgBxC,KAChBwC,EAAgBK,KAChBZ,EACAD,EAAmBc,UAEpBtC,MACCuC,IAGKb,EACCH,EAASzB,OACT6B,sBAA2Ba,QAC3BjB,EAASkB,8BAAgC,EACzCF,EAAe9C,KAkBjBuC,EAAgBlC,OAASyC,EAAe9C,GACxC+B,EAAmBD,EAASzB,QAAU,CACpCA,OAAQyC,EAAe9C,IAGzBiC,EACEH,EAASzB,OACT6B,sBAA2Be,SAC3BnB,EAASkB,8BAAgC,EACzCF,EAAe9C,IAGjBJ,EAAQ,CACNG,KAAMwC,EACNvC,GAAI8C,EAAe9C,GACnBsC,KAAMC,EAAgBD,KACtBY,aAAa,MA/BfjB,EACEH,EAASzB,OACT6B,sBAA2BiB,UAC3B,GAEFC,aACcN,EAAe9C,GAAIgC,GAC9BzB,MACC,IACEX,EAAQyC,gCAAqCP,EAASQ,SACxD,IACE1C,EAAQyC,gCAAqCP,EAASQ,aAwBhE,KACEL,EACEH,EAASzB,OACT6B,sBAA2BmB,OAC3B,GAEFzD,EAAQyC,gCAAqCP,EAASQ"}
1
+ {"version":3,"file":"file.umd.min.js","sources":["../../src/file.ts"],"sourcesContent":["/** @license\r\n * Copyright 2018 Esri\r\n *\r\n * Licensed under the Apache License, Version 2.0 (the \"License\");\r\n * you may not use this file except in compliance with the License.\r\n * You may obtain a copy of the License at\r\n *\r\n * http://www.apache.org/licenses/LICENSE-2.0\r\n *\r\n * Unless required by applicable law or agreed to in writing, software\r\n * distributed under the License is distributed on an \"AS IS\" BASIS,\r\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\n * See the License for the specific language governing permissions and\r\n * limitations under the License.\r\n */\r\n\r\n/**\r\n * Manages the creation and deployment of item types that contain files.\r\n *\r\n * @module file\r\n */\r\n\r\nimport * as common from \"@esri/solution-common\";\r\n\r\n// ------------------------------------------------------------------------------------------------------------------ //\r\n\r\n/**\r\n * Converts a file item into a template.\r\n *\r\n * @param solutionItemId The solution to contain the template\r\n * @param itemInfo Info about the item\r\n * @param destAuthentication Credentials for requests to the destination organization\r\n * @param srcAuthentication Credentials for requests to source items\r\n * @return A promise that will resolve when the template has been created\r\n */\r\nexport function convertItemToTemplate(\r\n solutionItemId: string,\r\n itemInfo: any,\r\n destAuthentication: common.UserSession,\r\n srcAuthentication: common.UserSession\r\n): Promise<common.IItemTemplate> {\r\n return new Promise<common.IItemTemplate>(resolve => {\r\n // Init template\r\n const itemTemplate: common.IItemTemplate = common.createInitializedItemTemplate(\r\n itemInfo\r\n );\r\n\r\n // Templatize item info property values\r\n itemTemplate.item.id = common.templatizeTerm(\r\n itemTemplate.item.id,\r\n itemTemplate.item.id,\r\n \".itemId\"\r\n );\r\n\r\n // Request file\r\n const dataPromise = new Promise<File>(dataResolve => {\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n common\r\n .getItemDataAsFile(\r\n itemTemplate.itemId,\r\n itemTemplate.item.name,\r\n srcAuthentication\r\n )\r\n .then(response => {\r\n if (!response || response.size === 0) {\r\n dataResolve(null);\r\n } else {\r\n dataResolve(response);\r\n }\r\n });\r\n });\r\n\r\n // Request related items\r\n const relatedPromise = Promise.resolve(\r\n {} as common.IGetRelatedItemsResponse\r\n );\r\n\r\n // Errors are handled as resolved empty values; this means that there's no `reject` clause to handle, hence:\r\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\r\n Promise.all([dataPromise, relatedPromise]).then(responses => {\r\n const [itemDataResponse] = responses;\r\n\r\n if (itemDataResponse) {\r\n const resource: common.IFileMimeTyped = common.convertBlobToSupportableResource(\r\n itemDataResponse,\r\n itemTemplate.item.name\r\n );\r\n itemTemplate.properties[resource.filename] = resource.mimeType;\r\n\r\n const storageName = common.convertItemResourceToStorageResource(\r\n itemTemplate.itemId +\r\n ((resource.blob as File).name === resource.filename\r\n ? \"_info_data\"\r\n : \"_info_dataz\"),\r\n (resource.blob as File).name,\r\n common.SolutionTemplateFormatVersion\r\n );\r\n common\r\n .addResourceFromBlob(\r\n resource.blob,\r\n solutionItemId,\r\n storageName.folder,\r\n storageName.filename,\r\n destAuthentication\r\n )\r\n .then(\r\n () => {\r\n itemTemplate.resources.push(\r\n storageName.folder + \"/\" + storageName.filename\r\n );\r\n resolve(itemTemplate);\r\n },\r\n error => {\r\n itemTemplate.properties[\"error\"] = JSON.stringify(error);\r\n resolve(itemTemplate);\r\n }\r\n );\r\n } else {\r\n resolve(itemTemplate);\r\n }\r\n });\r\n });\r\n}\r\n\r\nexport function createItemFromTemplate(\r\n template: common.IItemTemplate,\r\n templateDictionary: any,\r\n destinationAuthentication: common.UserSession,\r\n itemProgressCallback: common.IItemProgressCallback\r\n): Promise<common.ICreateItemFromTemplateResponse> {\r\n return new Promise<common.ICreateItemFromTemplateResponse>(resolve => {\r\n // Interrupt process if progress callback returns `false`\r\n if (\r\n !itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Started,\r\n 0\r\n )\r\n ) {\r\n itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Ignored,\r\n 0\r\n );\r\n resolve(common.generateEmptyCreationResponse(template.type));\r\n return;\r\n }\r\n\r\n // Replace the templatized symbols in a copy of the template\r\n let newItemTemplate: common.IItemTemplate = common.cloneObject(template);\r\n newItemTemplate = common.replaceInTemplate(\r\n newItemTemplate,\r\n templateDictionary\r\n );\r\n /* istanbul ignore else */\r\n if (template.item.thumbnail) {\r\n newItemTemplate.item.thumbnail = template.item.thumbnail;\r\n }\r\n\r\n // Create the item, then update its URL with its new id\r\n common\r\n .createItemWithData(\r\n newItemTemplate.item,\r\n newItemTemplate.data,\r\n destinationAuthentication,\r\n templateDictionary.folderId\r\n )\r\n .then(\r\n createResponse => {\r\n // Interrupt process if progress callback returns `false`\r\n if (\r\n !itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Created,\r\n template.estimatedDeploymentCostFactor / 2,\r\n createResponse.id\r\n )\r\n ) {\r\n itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Cancelled,\r\n 0\r\n );\r\n common\r\n .removeItem(createResponse.id, destinationAuthentication)\r\n .then(\r\n () =>\r\n resolve(common.generateEmptyCreationResponse(template.type)),\r\n () =>\r\n resolve(common.generateEmptyCreationResponse(template.type))\r\n );\r\n } else {\r\n // Add the new item to the settings\r\n newItemTemplate.itemId = createResponse.id;\r\n templateDictionary[template.itemId] = {\r\n itemId: createResponse.id\r\n };\r\n\r\n itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Finished,\r\n template.estimatedDeploymentCostFactor / 2,\r\n createResponse.id\r\n );\r\n\r\n resolve({\r\n item: newItemTemplate,\r\n id: createResponse.id,\r\n type: newItemTemplate.type,\r\n postProcess: false\r\n });\r\n }\r\n },\r\n () => {\r\n itemProgressCallback(\r\n template.itemId,\r\n common.EItemProgressStatus.Failed,\r\n 0\r\n );\r\n resolve(common.generateEmptyCreationResponse(template.type)); // fails to create item\r\n }\r\n );\r\n });\r\n}\r\n"],"names":["solutionItemId","itemInfo","destAuthentication","srcAuthentication","Promise","resolve","itemTemplate","common","createInitializedItemTemplate","item","id","templatizeTerm","dataPromise","dataResolve","getItemDataAsFile","itemId","name","then","response","size","relatedPromise","all","responses","itemDataResponse","resource","convertBlobToSupportableResource","properties","filename","mimeType","storageName","convertItemResourceToStorageResource","blob","SolutionTemplateFormatVersion","addResourceFromBlob","folder","resources","push","error","JSON","stringify","template","templateDictionary","destinationAuthentication","itemProgressCallback","EItemProgressStatus","Started","Ignored","generateEmptyCreationResponse","type","newItemTemplate","cloneObject","replaceInTemplate","thumbnail","createItemWithData","data","folderId","createResponse","Created","estimatedDeploymentCostFactor","Finished","postProcess","Cancelled","removeItem","Failed"],"mappings":";;;;;;;;;;;;;;;;;+pBAoCEA,EACAC,EACAC,EACAC,GAEA,OAAO,IAAIC,SAA8BC,IAEvC,MAAMC,EAAqCC,EAAOC,8BAChDP,GAIFK,EAAaG,KAAKC,GAAKH,EAAOI,eAC5BL,EAAaG,KAAKC,GAClBJ,EAAaG,KAAKC,GAClB,WAIF,MAAME,EAAc,IAAIR,SAAcS,IAEpCN,EACGO,kBACCR,EAAaS,OACbT,EAAaG,KAAKO,KAClBb,GAEDc,MAAKC,IACCA,GAA8B,IAAlBA,EAASC,KAGxBN,EAAYK,GAFZL,EAAY,YAQdO,EAAiBhB,QAAQC,QAC7B,IAKFD,QAAQiB,IAAI,CAACT,EAAaQ,IAAiBH,MAAKK,IAC9C,MAAOC,GAAoBD,EAE3B,GAAIC,EAAkB,CACpB,MAAMC,EAAkCjB,EAAOkB,iCAC7CF,EACAjB,EAAaG,KAAKO,MAEpBV,EAAaoB,WAAWF,EAASG,UAAYH,EAASI,SAEtD,MAAMC,EAActB,EAAOuB,qCACzBxB,EAAaS,QACTS,EAASO,KAAcf,OAASQ,EAASG,SACvC,aACA,eACLH,EAASO,KAAcf,KACxBT,EAAOyB,+BAETzB,EACG0B,oBACCT,EAASO,KACT/B,EACA6B,EAAYK,OACZL,EAAYF,SACZzB,GAEDe,MACC,KACEX,EAAa6B,UAAUC,KACrBP,EAAYK,OAAS,IAAML,EAAYF,UAEzCtB,EAAQC,MAEV+B,IACE/B,EAAaoB,WAAkB,MAAIY,KAAKC,UAAUF,GAClDhC,EAAQC,WAIdD,EAAQC,4CAOdkC,EACAC,EACAC,EACAC,GAEA,OAAO,IAAIvC,SAAgDC,IAEzD,IACGsC,EACCH,EAASzB,OACTR,EAAOqC,oBAAoBC,QAC3B,GASF,OANAF,EACEH,EAASzB,OACTR,EAAOqC,oBAAoBE,QAC3B,QAEFzC,EAAQE,EAAOwC,8BAA8BP,EAASQ,OAKxD,IAAIC,EAAwC1C,EAAO2C,YAAYV,GAC/DS,EAAkB1C,EAAO4C,kBACvBF,EACAR,GAGED,EAAS/B,KAAK2C,YAChBH,EAAgBxC,KAAK2C,UAAYZ,EAAS/B,KAAK2C,WAIjD7C,EACG8C,mBACCJ,EAAgBxC,KAChBwC,EAAgBK,KAChBZ,EACAD,EAAmBc,UAEpBtC,MACCuC,IAGKb,EACCH,EAASzB,OACTR,EAAOqC,oBAAoBa,QAC3BjB,EAASkB,8BAAgC,EACzCF,EAAe9C,KAkBjBuC,EAAgBlC,OAASyC,EAAe9C,GACxC+B,EAAmBD,EAASzB,QAAU,CACpCA,OAAQyC,EAAe9C,IAGzBiC,EACEH,EAASzB,OACTR,EAAOqC,oBAAoBe,SAC3BnB,EAASkB,8BAAgC,EACzCF,EAAe9C,IAGjBL,EAAQ,CACNI,KAAMwC,EACNvC,GAAI8C,EAAe9C,GACnBsC,KAAMC,EAAgBD,KACtBY,aAAa,MA/BfjB,EACEH,EAASzB,OACTR,EAAOqC,oBAAoBiB,UAC3B,GAEFtD,EACGuD,WAAWN,EAAe9C,GAAIgC,GAC9BzB,MACC,IACEZ,EAAQE,EAAOwC,8BAA8BP,EAASQ,SACxD,IACE3C,EAAQE,EAAOwC,8BAA8BP,EAASQ,aAwBhE,KACEL,EACEH,EAASzB,OACTR,EAAOqC,oBAAoBmB,OAC3B,GAEF1D,EAAQE,EAAOwC,8BAA8BP,EAASQ"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@esri/solution-file",
3
- "version": "1.1.5",
4
- "description": "Manages the creation and deployment of item types that contain files for @esri/solution.js.",
3
+ "version": "1.2.0",
4
+ "description": "Manages the creation and deployment of item types that contain files for @esri/solution.js.",
5
5
  "main": "dist/node/index.js",
6
6
  "unpkg": "dist/umd/file.umd.min.js",
7
7
  "module": "dist/esm/index.js",
@@ -13,32 +13,32 @@
13
13
  "dist/**"
14
14
  ],
15
15
  "devDependencies": {
16
- "@esri/arcgis-rest-auth": "3.4.2",
17
- "@esri/arcgis-rest-feature-layer": "3.4.2",
18
- "@esri/arcgis-rest-portal": "3.4.2",
19
- "@esri/arcgis-rest-request": "3.4.2",
20
- "@esri/arcgis-rest-service-admin": "3.4.2",
21
- "@esri/hub-common": "9.2.0",
22
- "@esri/hub-initiatives": "9.2.0",
23
- "@esri/hub-sites": "9.2.0",
24
- "@esri/hub-teams": "9.2.0",
25
- "rollup": "^1.22.0",
26
- "typescript": "^4.3.4"
16
+ "@esri/arcgis-rest-auth": "3.4.3",
17
+ "@esri/arcgis-rest-feature-layer": "3.4.3",
18
+ "@esri/arcgis-rest-portal": "3.4.3",
19
+ "@esri/arcgis-rest-request": "3.4.3",
20
+ "@esri/arcgis-rest-service-admin": "3.4.3",
21
+ "@esri/hub-common": "9.7.2",
22
+ "@esri/hub-initiatives": "9.7.2",
23
+ "@esri/hub-sites": "9.7.2",
24
+ "@esri/hub-teams": "9.7.2",
25
+ "rollup": "^2.60.0",
26
+ "typescript": "^4.4.4"
27
27
  },
28
28
  "peerDependencies": {
29
- "@esri/arcgis-rest-auth": "3.4.2",
30
- "@esri/arcgis-rest-feature-layer": "3.4.2",
31
- "@esri/arcgis-rest-portal": "3.4.2",
32
- "@esri/arcgis-rest-request": "3.4.2",
33
- "@esri/arcgis-rest-service-admin": "3.4.2",
34
- "@esri/hub-common": "9.2.0",
35
- "@esri/hub-initiatives": "9.2.0",
36
- "@esri/hub-sites": "9.2.0",
37
- "@esri/hub-teams": "9.2.0"
29
+ "@esri/arcgis-rest-auth": "3.4.3",
30
+ "@esri/arcgis-rest-feature-layer": "3.4.3",
31
+ "@esri/arcgis-rest-portal": "3.4.3",
32
+ "@esri/arcgis-rest-request": "3.4.3",
33
+ "@esri/arcgis-rest-service-admin": "3.4.3",
34
+ "@esri/hub-common": "9.7.2",
35
+ "@esri/hub-initiatives": "9.7.2",
36
+ "@esri/hub-sites": "9.7.2",
37
+ "@esri/hub-teams": "9.7.2"
38
38
  },
39
39
  "dependencies": {
40
- "@esri/solution-common": "^1.1.5",
41
- "tslib": "^1.13.0"
40
+ "@esri/solution-common": "^1.2.0",
41
+ "tslib": "1.13.0"
42
42
  },
43
43
  "scripts": {
44
44
  "prepare": "npm run build",
@@ -90,5 +90,5 @@
90
90
  "esri",
91
91
  "ES6"
92
92
  ],
93
- "gitHead": "5eded4ac0bb6b2230ab572d602b38c69c8d6578f"
93
+ "gitHead": "70f706fb28a50db0b9b13030f263f8e9e270b98d"
94
94
  }