delectusnon 1.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 (276) hide show
  1. package/.prettierignore +2 -0
  2. package/.travis.yml +33 -0
  3. package/.vscode/launch.json +24 -0
  4. package/.vscode/settings.json +3 -0
  5. package/demos/ago-node-cli/README.md +29 -0
  6. package/demos/ago-node-cli/ago.js +32 -0
  7. package/demos/ago-node-cli/index.js +11 -0
  8. package/demos/ago-node-cli/lib/item-export-command.js +48 -0
  9. package/demos/ago-node-cli/lib/item-search-command.js +35 -0
  10. package/demos/ago-node-cli/package-lock.json +172 -0
  11. package/demos/ago-node-cli/package.json +30 -0
  12. package/demos/attachments/README.md +5 -0
  13. package/demos/attachments/index.html +164 -0
  14. package/demos/attachments/package-lock.json +182 -0
  15. package/demos/attachments/package.json +18 -0
  16. package/demos/batch-geocoder-node/NYC_Restaurant_Inspection_Results.csv +100 -0
  17. package/demos/batch-geocoder-node/README.md +15 -0
  18. package/demos/batch-geocoder-node/batch-geocode.js +118 -0
  19. package/demos/batch-geocoder-node/config-template.js +18 -0
  20. package/demos/batch-geocoder-node/package-lock.json +116 -0
  21. package/demos/batch-geocoder-node/package.json +39 -0
  22. package/demos/express/README.md +10 -0
  23. package/demos/express/config.json.template +3 -0
  24. package/demos/express/package-lock.json +473 -0
  25. package/demos/express/package.json +18 -0
  26. package/demos/express/server.js +28 -0
  27. package/demos/feature-service-browser/README.md +6 -0
  28. package/demos/feature-service-browser/index.html +122 -0
  29. package/demos/feature-service-browser/package-lock.json +182 -0
  30. package/demos/feature-service-browser/package.json +18 -0
  31. package/demos/geocoder-browser/README.md +10 -0
  32. package/demos/geocoder-browser/config.js.template +1 -0
  33. package/demos/geocoder-browser/index.html +131 -0
  34. package/demos/geocoder-browser/package-lock.json +182 -0
  35. package/demos/geocoder-browser/package.json +19 -0
  36. package/demos/geocoder-browser/post-sign-in.html +25 -0
  37. package/demos/jsapi-integration/README.md +8 -0
  38. package/demos/jsapi-integration/config.js +6 -0
  39. package/demos/jsapi-integration/index.html +79 -0
  40. package/demos/jsapi-integration/package-lock.json +184 -0
  41. package/demos/jsapi-integration/package.json +19 -0
  42. package/demos/oauth2-browser/README.md +12 -0
  43. package/demos/oauth2-browser/authenticate.html +32 -0
  44. package/demos/oauth2-browser/config.js.template +6 -0
  45. package/demos/oauth2-browser/index.html +202 -0
  46. package/demos/oauth2-browser/logo.svg +4 -0
  47. package/demos/oauth2-browser/package-lock.json +163 -0
  48. package/demos/oauth2-browser/package.json +18 -0
  49. package/demos/oauth2-browser/style.css +36 -0
  50. package/demos/oauth2-browser-retry/README.md +25 -0
  51. package/demos/oauth2-browser-retry/authenticate.html +21 -0
  52. package/demos/oauth2-browser-retry/index.html +116 -0
  53. package/demos/oauth2-browser-retry/logo.svg +4 -0
  54. package/demos/vue/.env.example +11 -0
  55. package/demos/vue/.eslintrc.js +17 -0
  56. package/demos/vue/.postcssrc.js +5 -0
  57. package/demos/vue/README.md +17 -0
  58. package/demos/vue/babel.config.js +3 -0
  59. package/demos/vue/package-lock.json +11323 -0
  60. package/demos/vue/package.json +33 -0
  61. package/demos/vue/public/favicon.ico +0 -0
  62. package/demos/vue/public/index.html +24 -0
  63. package/demos/vue/src/assets/logo.svg +29 -0
  64. package/demos/vue/src/components/App.vue +308 -0
  65. package/demos/vue/src/components/Authenticate.vue +65 -0
  66. package/demos/vue/src/components/Loader.vue +230 -0
  67. package/demos/vue/src/main.js +92 -0
  68. package/docs/FAQ.md +28 -0
  69. package/docs/HISTORY.md +62 -0
  70. package/docs/acetate.config.js +223 -0
  71. package/docs/build-typedoc.js +301 -0
  72. package/docs/src/_layout.html +82 -0
  73. package/docs/src/api/_declaration.html +496 -0
  74. package/docs/src/api/_layout.html +127 -0
  75. package/docs/src/api/_package.html +13 -0
  76. package/docs/src/api/index.html +23 -0
  77. package/docs/src/guides/_layout.html +24 -0
  78. package/docs/src/guides/amd-requirejs-dojo.md +40 -0
  79. package/docs/src/guides/babel-and-rollup.md +30 -0
  80. package/docs/src/guides/babel-and-webpack.md +30 -0
  81. package/docs/src/guides/browser-authentication.md +31 -0
  82. package/docs/src/guides/browserify.md +9 -0
  83. package/docs/src/guides/cli-authentication.md +9 -0
  84. package/docs/src/guides/client-server-authentication.md +9 -0
  85. package/docs/src/guides/from-a-cdn.md +36 -0
  86. package/docs/src/guides/index.md +52 -0
  87. package/docs/src/guides/node.md +70 -0
  88. package/docs/src/guides/package-overview.md +8 -0
  89. package/docs/src/guides/server-authentication.md +9 -0
  90. package/docs/src/guides/typescript-and-webpack.md +9 -0
  91. package/docs/src/img/icons.png +0 -0
  92. package/docs/src/img/icons@2x.png +0 -0
  93. package/docs/src/index.html +12 -0
  94. package/docs/src/js/api-search.js +112 -0
  95. package/docs/src/js/nav-toggle.js +41 -0
  96. package/docs/src/sass/_highlight.scss +96 -0
  97. package/docs/src/sass/_icons.scss +157 -0
  98. package/docs/src/sass/style.scss +169 -0
  99. package/jasmine.json +7 -0
  100. package/karma.conf.js +100 -0
  101. package/lerna.json +8 -0
  102. package/notes/README.md +88 -0
  103. package/package.json +88 -0
  104. package/packages/arcgis-rest-auth/README.md +64 -0
  105. package/packages/arcgis-rest-auth/package-lock.json +11 -0
  106. package/packages/arcgis-rest-auth/package.json +51 -0
  107. package/packages/arcgis-rest-auth/src/ApplicationSession.ts +109 -0
  108. package/packages/arcgis-rest-auth/src/UserSession.ts +873 -0
  109. package/packages/arcgis-rest-auth/src/authenticated-request-options.ts +24 -0
  110. package/packages/arcgis-rest-auth/src/fetch-token.ts +52 -0
  111. package/packages/arcgis-rest-auth/src/generate-token.ts +39 -0
  112. package/packages/arcgis-rest-auth/src/index.ts +8 -0
  113. package/packages/arcgis-rest-auth/test/ApplicationSession.test.ts +124 -0
  114. package/packages/arcgis-rest-auth/test/UserSession.test.ts +995 -0
  115. package/packages/arcgis-rest-auth/test/fetchToken.test.ts +112 -0
  116. package/packages/arcgis-rest-auth/test/generateToken.test.ts +130 -0
  117. package/packages/arcgis-rest-auth/test/utils.ts +14 -0
  118. package/packages/arcgis-rest-auth/tsconfig.json +6 -0
  119. package/packages/arcgis-rest-common-types/README.md +61 -0
  120. package/packages/arcgis-rest-common-types/package.json +38 -0
  121. package/packages/arcgis-rest-common-types/src/group.ts +54 -0
  122. package/packages/arcgis-rest-common-types/src/index.ts +467 -0
  123. package/packages/arcgis-rest-common-types/src/item.ts +45 -0
  124. package/packages/arcgis-rest-common-types/src/webmap.ts +1232 -0
  125. package/packages/arcgis-rest-common-types/tsconfig.json +11 -0
  126. package/packages/arcgis-rest-feature-service/README.md +70 -0
  127. package/packages/arcgis-rest-feature-service/package-lock.json +11 -0
  128. package/packages/arcgis-rest-feature-service/package.json +50 -0
  129. package/packages/arcgis-rest-feature-service/src/add.ts +81 -0
  130. package/packages/arcgis-rest-feature-service/src/addAttachment.ts +65 -0
  131. package/packages/arcgis-rest-feature-service/src/delete.ts +85 -0
  132. package/packages/arcgis-rest-feature-service/src/deleteAttachments.ts +68 -0
  133. package/packages/arcgis-rest-feature-service/src/getAttachments.ts +64 -0
  134. package/packages/arcgis-rest-feature-service/src/helpers.ts +80 -0
  135. package/packages/arcgis-rest-feature-service/src/index.ts +12 -0
  136. package/packages/arcgis-rest-feature-service/src/query.ts +172 -0
  137. package/packages/arcgis-rest-feature-service/src/queryRelated.ts +91 -0
  138. package/packages/arcgis-rest-feature-service/src/update.ts +81 -0
  139. package/packages/arcgis-rest-feature-service/src/updateAttachment.ts +74 -0
  140. package/packages/arcgis-rest-feature-service/test/attachments.test.ts +203 -0
  141. package/packages/arcgis-rest-feature-service/test/features.test.ts +252 -0
  142. package/packages/arcgis-rest-feature-service/test/mocks/feature.ts +279 -0
  143. package/packages/arcgis-rest-feature-service/test/mocks/foo.txt +1 -0
  144. package/packages/arcgis-rest-feature-service/tsconfig.json +6 -0
  145. package/packages/arcgis-rest-feature-service-admin/README.md +66 -0
  146. package/packages/arcgis-rest-feature-service-admin/package-lock.json +11 -0
  147. package/packages/arcgis-rest-feature-service-admin/package.json +53 -0
  148. package/packages/arcgis-rest-feature-service-admin/src/addTo.ts +70 -0
  149. package/packages/arcgis-rest-feature-service-admin/src/create.ts +195 -0
  150. package/packages/arcgis-rest-feature-service-admin/src/index.ts +2 -0
  151. package/packages/arcgis-rest-feature-service-admin/test/addTo.test.ts +310 -0
  152. package/packages/arcgis-rest-feature-service-admin/test/create.test.ts +412 -0
  153. package/packages/arcgis-rest-feature-service-admin/test/mocks/move.ts +14 -0
  154. package/packages/arcgis-rest-feature-service-admin/test/mocks/service.ts +72 -0
  155. package/packages/arcgis-rest-feature-service-admin/tsconfig.json +6 -0
  156. package/packages/arcgis-rest-geocoder/README.md +79 -0
  157. package/packages/arcgis-rest-geocoder/package-lock.json +11 -0
  158. package/packages/arcgis-rest-geocoder/package.json +52 -0
  159. package/packages/arcgis-rest-geocoder/src/bulk.ts +102 -0
  160. package/packages/arcgis-rest-geocoder/src/geocode.ts +117 -0
  161. package/packages/arcgis-rest-geocoder/src/helpers.ts +79 -0
  162. package/packages/arcgis-rest-geocoder/src/index.ts +8 -0
  163. package/packages/arcgis-rest-geocoder/src/reverse.ts +84 -0
  164. package/packages/arcgis-rest-geocoder/src/suggest.ts +72 -0
  165. package/packages/arcgis-rest-geocoder/test/bulk.test.ts +113 -0
  166. package/packages/arcgis-rest-geocoder/test/geocode.test.ts +121 -0
  167. package/packages/arcgis-rest-geocoder/test/helpers.test.ts +113 -0
  168. package/packages/arcgis-rest-geocoder/test/mocks/responses.ts +591 -0
  169. package/packages/arcgis-rest-geocoder/test/reverse.test.ts +126 -0
  170. package/packages/arcgis-rest-geocoder/test/suggest.test.ts +77 -0
  171. package/packages/arcgis-rest-geocoder/tsconfig.json +6 -0
  172. package/packages/arcgis-rest-groups/README.md +64 -0
  173. package/packages/arcgis-rest-groups/package-lock.json +11 -0
  174. package/packages/arcgis-rest-groups/package.json +52 -0
  175. package/packages/arcgis-rest-groups/src/create.ts +34 -0
  176. package/packages/arcgis-rest-groups/src/get.ts +95 -0
  177. package/packages/arcgis-rest-groups/src/helpers.ts +26 -0
  178. package/packages/arcgis-rest-groups/src/index.ts +11 -0
  179. package/packages/arcgis-rest-groups/src/notification.ts +77 -0
  180. package/packages/arcgis-rest-groups/src/protect.ts +40 -0
  181. package/packages/arcgis-rest-groups/src/remove.ts +23 -0
  182. package/packages/arcgis-rest-groups/src/search.ts +64 -0
  183. package/packages/arcgis-rest-groups/src/update.ts +36 -0
  184. package/packages/arcgis-rest-groups/test/crud.test.ts +104 -0
  185. package/packages/arcgis-rest-groups/test/get.test.ts +101 -0
  186. package/packages/arcgis-rest-groups/test/mocks/responses.ts +141 -0
  187. package/packages/arcgis-rest-groups/test/notification.test.ts +102 -0
  188. package/packages/arcgis-rest-groups/test/protect.test.ts +64 -0
  189. package/packages/arcgis-rest-groups/test/search.test.ts +85 -0
  190. package/packages/arcgis-rest-groups/tsconfig.json +6 -0
  191. package/packages/arcgis-rest-items/README.md +66 -0
  192. package/packages/arcgis-rest-items/package-lock.json +11 -0
  193. package/packages/arcgis-rest-items/package.json +52 -0
  194. package/packages/arcgis-rest-items/src/add.ts +103 -0
  195. package/packages/arcgis-rest-items/src/create.ts +110 -0
  196. package/packages/arcgis-rest-items/src/get.ts +79 -0
  197. package/packages/arcgis-rest-items/src/helpers.ts +147 -0
  198. package/packages/arcgis-rest-items/src/index.ts +11 -0
  199. package/packages/arcgis-rest-items/src/protect.ts +38 -0
  200. package/packages/arcgis-rest-items/src/remove.ts +58 -0
  201. package/packages/arcgis-rest-items/src/search.ts +78 -0
  202. package/packages/arcgis-rest-items/src/update.ts +134 -0
  203. package/packages/arcgis-rest-items/test/add.test.ts +256 -0
  204. package/packages/arcgis-rest-items/test/create.test.ts +371 -0
  205. package/packages/arcgis-rest-items/test/get.test.ts +181 -0
  206. package/packages/arcgis-rest-items/test/mocks/foo.zip +0 -0
  207. package/packages/arcgis-rest-items/test/mocks/item.ts +33 -0
  208. package/packages/arcgis-rest-items/test/mocks/resources.ts +31 -0
  209. package/packages/arcgis-rest-items/test/mocks/search.ts +63 -0
  210. package/packages/arcgis-rest-items/test/protect.test.ts +122 -0
  211. package/packages/arcgis-rest-items/test/remove.test.ts +161 -0
  212. package/packages/arcgis-rest-items/test/search.test.ts +159 -0
  213. package/packages/arcgis-rest-items/test/update.test.ts +450 -0
  214. package/packages/arcgis-rest-items/tsconfig.json +6 -0
  215. package/packages/arcgis-rest-request/README.md +65 -0
  216. package/packages/arcgis-rest-request/package-lock.json +11 -0
  217. package/packages/arcgis-rest-request/package.json +42 -0
  218. package/packages/arcgis-rest-request/src/index.ts +13 -0
  219. package/packages/arcgis-rest-request/src/request.ts +293 -0
  220. package/packages/arcgis-rest-request/src/utils/ArcGISAuthError.ts +67 -0
  221. package/packages/arcgis-rest-request/src/utils/ArcGISRequestError.ts +76 -0
  222. package/packages/arcgis-rest-request/src/utils/ErrorTypes.ts +29 -0
  223. package/packages/arcgis-rest-request/src/utils/check-for-errors.ts +65 -0
  224. package/packages/arcgis-rest-request/src/utils/encode-form-data.ts +34 -0
  225. package/packages/arcgis-rest-request/src/utils/encode-query-string.ts +23 -0
  226. package/packages/arcgis-rest-request/src/utils/get-portal-url.ts +25 -0
  227. package/packages/arcgis-rest-request/src/utils/get-portal.ts +45 -0
  228. package/packages/arcgis-rest-request/src/utils/process-params.ts +99 -0
  229. package/packages/arcgis-rest-request/test/mocks/errors.ts +68 -0
  230. package/packages/arcgis-rest-request/test/mocks/geojson-feature-collection.ts +13 -0
  231. package/packages/arcgis-rest-request/test/mocks/portal.ts +112 -0
  232. package/packages/arcgis-rest-request/test/mocks/sharing-rest-info.ts +41 -0
  233. package/packages/arcgis-rest-request/test/mocks/webmap.ts +41 -0
  234. package/packages/arcgis-rest-request/test/request.test.ts +299 -0
  235. package/packages/arcgis-rest-request/test/utils/ArcGISAuthError.test.ts +170 -0
  236. package/packages/arcgis-rest-request/test/utils/ArcGISRequestError.test.ts +51 -0
  237. package/packages/arcgis-rest-request/test/utils/check-for-errors.test.ts +111 -0
  238. package/packages/arcgis-rest-request/test/utils/encode-form-data.test.ts +133 -0
  239. package/packages/arcgis-rest-request/test/utils/get-portal-url.test.ts +37 -0
  240. package/packages/arcgis-rest-request/test/utils/portal.test.ts +97 -0
  241. package/packages/arcgis-rest-request/test/utils/process-params.test.ts +193 -0
  242. package/packages/arcgis-rest-request/tsconfig.json +6 -0
  243. package/packages/arcgis-rest-sharing/README.md +67 -0
  244. package/packages/arcgis-rest-sharing/package-lock.json +11 -0
  245. package/packages/arcgis-rest-sharing/package.json +57 -0
  246. package/packages/arcgis-rest-sharing/src/access.ts +85 -0
  247. package/packages/arcgis-rest-sharing/src/group-sharing.ts +211 -0
  248. package/packages/arcgis-rest-sharing/src/helpers.ts +82 -0
  249. package/packages/arcgis-rest-sharing/src/index.ts +5 -0
  250. package/packages/arcgis-rest-sharing/test/access.test.ts +154 -0
  251. package/packages/arcgis-rest-sharing/test/group-sharing.test.ts +566 -0
  252. package/packages/arcgis-rest-sharing/test/helpers.test.ts +55 -0
  253. package/packages/arcgis-rest-sharing/test/mocks/sharing.ts +18 -0
  254. package/packages/arcgis-rest-sharing/tsconfig.json +6 -0
  255. package/packages/arcgis-rest-users/README.md +71 -0
  256. package/packages/arcgis-rest-users/package-lock.json +11 -0
  257. package/packages/arcgis-rest-users/package.json +51 -0
  258. package/packages/arcgis-rest-users/src/get.ts +69 -0
  259. package/packages/arcgis-rest-users/src/index.ts +6 -0
  260. package/packages/arcgis-rest-users/src/invitation.ts +166 -0
  261. package/packages/arcgis-rest-users/src/notification.ts +73 -0
  262. package/packages/arcgis-rest-users/test/get.test.ts +99 -0
  263. package/packages/arcgis-rest-users/test/invitation.test.ts +169 -0
  264. package/packages/arcgis-rest-users/test/mocks/invitation.ts +70 -0
  265. package/packages/arcgis-rest-users/test/mocks/notification.ts +34 -0
  266. package/packages/arcgis-rest-users/test/mocks/user.ts +173 -0
  267. package/packages/arcgis-rest-users/test/notification.test.ts +83 -0
  268. package/packages/arcgis-rest-users/tsconfig.json +6 -0
  269. package/support/changelog.js +394 -0
  270. package/support/deploy-doc-site.js +16 -0
  271. package/support/publish.sh +43 -0
  272. package/support/test-helpers.js +8 -0
  273. package/tsconfig.json +69 -0
  274. package/tslint.json +15 -0
  275. package/umd-base-profile.js +82 -0
  276. package/umd-production-profile.js +13 -0
@@ -0,0 +1,6 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "include": [
4
+ "src/**/*.ts"
5
+ ]
6
+ }
@@ -0,0 +1,66 @@
1
+ [![npm version][npm-img]][npm-url]
2
+ [![build status][travis-img]][travis-url]
3
+ [![apache licensed](https://img.shields.io/badge/license-Apache-green.svg?style=flat-square)](https://raw.githubusercontent.com/Esri/arcgis-rest-js/master/LICENSE)
4
+
5
+ [npm-img]: https://img.shields.io/npm/v/@esri/arcgis-rest-items.svg?style=flat-square
6
+ [npm-url]: https://www.npmjs.com/package/@esri/arcgis-rest-items
7
+ [travis-img]: https://img.shields.io/travis/Esri/arcgis-rest-js/master.svg?style=flat-square
8
+ [travis-url]: https://travis-ci.org/Esri/arcgis-rest-js
9
+
10
+ # @esri/arcgis-rest-items
11
+
12
+ > A module for working with content in the ArcGIS REST API that runs in Node.js and modern browsers.
13
+
14
+ ### Example
15
+
16
+ ```bash
17
+ npm install @esri/arcgis-rest-request
18
+ npm install @esri/arcgis-rest-items
19
+ ```
20
+
21
+ ```js
22
+ import { getItem } from '@esri/arcgis-rest-items';
23
+
24
+ const itemId = "30e5fe3149c34df1ba922e6f5bbf808f";
25
+
26
+ getItem(itemId)
27
+ .then(response => {
28
+ console.log(response.title) // World Topographic Map
29
+ });
30
+ ```
31
+
32
+ ### [API Reference](https://esri.github.io/arcgis-rest-js/api/items/)
33
+
34
+ ### Issues
35
+
36
+ If something isn't working the way you expected, please take a look at [previously logged issues](https://github.com/Esri/arcgis-rest-js/issues) first. Have you found a new bug? Want to request a new feature? We'd [**love**](https://github.com/Esri/arcgis-rest-js/issues/new) to hear from you.
37
+
38
+ If you're looking for help you can also post issues on [GIS Stackexchange](http://gis.stackexchange.com/questions/ask?tags=esri-oss).
39
+
40
+ ### Versioning
41
+
42
+ For transparency into the release cycle and in striving to maintain backward compatibility, @esri/arcgis-rest-js is maintained under Semantic Versioning guidelines and will adhere to these rules whenever possible.
43
+
44
+ For more information on SemVer, please visit <http://semver.org/>.
45
+
46
+ ### Contributing
47
+
48
+ Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](CONTRIBUTING.md).
49
+
50
+ ### License
51
+
52
+ Copyright &copy; 2017-2018 Esri
53
+
54
+ Licensed under the Apache License, Version 2.0 (the "License");
55
+ you may not use this file except in compliance with the License.
56
+ You may obtain a copy of the License at
57
+
58
+ > http://www.apache.org/licenses/LICENSE-2.0
59
+
60
+ Unless required by applicable law or agreed to in writing, software
61
+ distributed under the License is distributed on an "AS IS" BASIS,
62
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
63
+ See the License for the specific language governing permissions and
64
+ limitations under the License.
65
+
66
+ A copy of the license is available in the repository's [LICENSE](../../LICENSE) file.
@@ -0,0 +1,11 @@
1
+ {
2
+ "requires": true,
3
+ "lockfileVersion": 1,
4
+ "dependencies": {
5
+ "tslib": {
6
+ "version": "1.8.0",
7
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.8.0.tgz",
8
+ "integrity": "sha512-ymKWWZJST0/CkgduC2qkzjMOWr4bouhuURNXCn/inEX0L57BnRG6FhX76o7FOnsjHazCjfU2LKeSrlS2sIKQJg=="
9
+ }
10
+ }
11
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "@esri/arcgis-rest-items",
3
+ "version": "1.13.0",
4
+ "description": "Portal Item helpers for @esri/arcgis-rest-request",
5
+ "main": "dist/node/index.js",
6
+ "browser": "dist/umd/items.umd.js",
7
+ "module": "dist/esm/index.js",
8
+ "js:next": "dist/esm/index.js",
9
+ "types": "dist/esm/index.d.ts",
10
+ "license": "Apache-2.0",
11
+ "files": [
12
+ "dist/**"
13
+ ],
14
+ "dependencies": {
15
+ "tslib": "^1.7.1"
16
+ },
17
+ "peerDependencies": {
18
+ "@esri/arcgis-rest-auth": "^1.11.0",
19
+ "@esri/arcgis-rest-common-types": "^1.11.0",
20
+ "@esri/arcgis-rest-request": "^1.11.0"
21
+ },
22
+ "devDependencies": {
23
+ "@esri/arcgis-rest-auth": "^1.13.0",
24
+ "@esri/arcgis-rest-common-types": "^1.13.0",
25
+ "@esri/arcgis-rest-request": "^1.13.0"
26
+ },
27
+ "scripts": {
28
+ "prepare": "npm run build",
29
+ "build": "npm run build:node && npm run build:umd && npm run build:esm",
30
+ "build:esm": "tsc -p ./tsconfig.json --module es2015 --outDir ./dist/esm --declaration",
31
+ "build:umd": "rollup -c ../../umd-base-profile.js && rollup -c ../../umd-production-profile.js",
32
+ "build:node": "tsc -p ./tsconfig.json --module commonjs --outDir ./dist/node"
33
+ },
34
+ "publishConfig": {
35
+ "access": "public"
36
+ },
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "git+https://github.com/Esri/arcgis-rest-js.git"
40
+ },
41
+ "contributors": [
42
+ {
43
+ "name": "Dave Bouwman",
44
+ "email": "dbouwman@esri.com",
45
+ "url": "http://blog.davebouwman.com/"
46
+ }
47
+ ],
48
+ "bugs": {
49
+ "url": "https://github.com/Esri/arcgis-rest-js/issues"
50
+ },
51
+ "homepage": "https://github.com/Esri/arcgis-rest-js#readme"
52
+ }
@@ -0,0 +1,103 @@
1
+ /* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
2
+ * Apache-2.0 */
3
+
4
+ import { request, getPortalUrl } from "@esri/arcgis-rest-request";
5
+
6
+ import {
7
+ IItemIdRequestOptions,
8
+ IItemResourceRequestOptions,
9
+ IItemAddResponse,
10
+ IItemResourceResponse,
11
+ determineOwner
12
+ } from "./helpers";
13
+
14
+ export interface IItemDataAddRequestOptions extends IItemIdRequestOptions {
15
+ /**
16
+ * Object to store
17
+ */
18
+ data: any;
19
+ }
20
+
21
+ export interface IItemResourceAddRequestOptions
22
+ extends IItemResourceRequestOptions {
23
+ /**
24
+ * Object to store
25
+ */
26
+ resource: any;
27
+ }
28
+
29
+ /**
30
+ * Send json to an item to be stored as the `/data` resource
31
+ *
32
+ * @param requestOptions - Options for the request
33
+ * @returns A Promise that will resolve with an object reporting
34
+ * success/failure and echoing the item id.
35
+ */
36
+ export function addItemJsonData(
37
+ requestOptions: IItemDataAddRequestOptions
38
+ ): Promise<IItemAddResponse> {
39
+ const owner = determineOwner(requestOptions);
40
+ const url = `${getPortalUrl(requestOptions)}/content/users/${owner}/items/${
41
+ requestOptions.id
42
+ }/update`;
43
+
44
+ // Portal API requires that the 'data' be stringified and POSTed in
45
+ // a `text` form field. It can also be sent with the `.create` call by sending
46
+ // a `.data` property.
47
+ requestOptions.params = {
48
+ text: JSON.stringify(requestOptions.data),
49
+ ...requestOptions.params
50
+ };
51
+
52
+ return request(url, requestOptions);
53
+ }
54
+
55
+ /**
56
+ * Send a file or blob to an item to be stored as the `/data` resource
57
+ *
58
+ * @param requestOptions - Options for the request
59
+ * @returns A Promise that will resolve with an object reporting
60
+ * success/failure and echoing the item id.
61
+ */
62
+ export function addItemData(
63
+ requestOptions: IItemDataAddRequestOptions
64
+ ): Promise<IItemAddResponse> {
65
+ const owner = determineOwner(requestOptions);
66
+
67
+ const url = `${getPortalUrl(requestOptions)}/content/users/${owner}/items/${
68
+ requestOptions.id
69
+ }/update`;
70
+
71
+ // Portal API requires that the 'data' be POSTed in a `file` form field.
72
+ requestOptions.params = {
73
+ file: requestOptions.data,
74
+ ...requestOptions.params
75
+ };
76
+
77
+ return request(url, requestOptions);
78
+ }
79
+
80
+ /**
81
+ * Add a resource associated with an item
82
+ *
83
+ * @param requestOptions - Options for the request
84
+ * @returns A Promise to add item resources.
85
+ */
86
+ export function addItemResource(
87
+ requestOptions: IItemResourceAddRequestOptions
88
+ ): Promise<IItemResourceResponse> {
89
+ const owner = determineOwner(requestOptions);
90
+ const url = `${getPortalUrl(requestOptions)}/content/users/${owner}/items/${
91
+ requestOptions.id
92
+ }/addResources`;
93
+
94
+ requestOptions.params = {
95
+ file: requestOptions.resource,
96
+ fileName: requestOptions.name,
97
+ text: requestOptions.content,
98
+ access: requestOptions.private ? "private" : "inherit",
99
+ ...requestOptions.params
100
+ };
101
+
102
+ return request(url, requestOptions);
103
+ }
@@ -0,0 +1,110 @@
1
+ /* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
2
+ * Apache-2.0 */
3
+
4
+ import { request, getPortalUrl } from "@esri/arcgis-rest-request";
5
+
6
+ import { IItemAdd } from "@esri/arcgis-rest-common-types";
7
+
8
+ import {
9
+ IAddFolderResponse,
10
+ IItemAddResponse,
11
+ IItemCrudRequestOptions,
12
+ serializeItem,
13
+ determineOwner
14
+ } from "./helpers";
15
+
16
+ export interface IAddFolderRequestOptions extends IItemCrudRequestOptions {
17
+ /**
18
+ * Name of the folder to create.
19
+ */
20
+ title: string;
21
+ }
22
+
23
+ export interface IItemAddRequestOptions extends IItemCrudRequestOptions {
24
+ item: IItemAdd;
25
+ }
26
+
27
+ /**
28
+ * Create a folder
29
+ *
30
+ * ```js
31
+ * import { createFolder } from '@esri/arcgis-rest-items';
32
+ *
33
+ * createFolder({
34
+ * title: 'Map Collection',
35
+ * authentication: userSession
36
+ * }) ```
37
+ *
38
+ * @param requestOptions - Options for the request
39
+ * @returns A Promise that resolves with folder details once the folder has been created
40
+ */
41
+ export function createFolder(
42
+ requestOptions: IAddFolderRequestOptions
43
+ ): Promise<IAddFolderResponse> {
44
+ const owner = determineOwner(requestOptions);
45
+
46
+ const baseUrl = `${getPortalUrl(requestOptions)}/content/users/${owner}`;
47
+ const url = `${baseUrl}/createFolder`;
48
+
49
+ requestOptions.params = {
50
+ title: requestOptions.title,
51
+ ...requestOptions.params
52
+ };
53
+
54
+ return request(url, requestOptions);
55
+ }
56
+
57
+ /**
58
+ * Create an item in a folder
59
+ *
60
+ * @param requestOptions = Options for the request
61
+ */
62
+ export function createItemInFolder(
63
+ requestOptions: IItemAddRequestOptions
64
+ ): Promise<IItemAddResponse> {
65
+ const owner = determineOwner(requestOptions);
66
+
67
+ const baseUrl = `${getPortalUrl(requestOptions)}/content/users/${owner}`;
68
+ let url = `${baseUrl}/addItem`;
69
+
70
+ if (requestOptions.folder) {
71
+ url = `${baseUrl}/${requestOptions.folder}/addItem`;
72
+ }
73
+
74
+ // serialize the item into something Portal will accept
75
+ requestOptions.params = {
76
+ ...requestOptions.params,
77
+ ...serializeItem(requestOptions.item)
78
+ };
79
+
80
+ return request(url, requestOptions);
81
+ }
82
+
83
+ /**
84
+ * Create an Item in the user's root folder
85
+ *
86
+ * ```js
87
+ * import { createItem } from '@esri/arcgis-rest-items';
88
+ *
89
+ * createItem({
90
+ * authentication: userSession,
91
+ * item: {
92
+ * title: "The Amazing Voyage",
93
+ * type: "Web Map"
94
+ * }
95
+ * })
96
+ * ```
97
+ *
98
+ * @param requestOptions - Options for the request
99
+ * @returns A Promise that creates an item.
100
+ */
101
+ export function createItem(
102
+ requestOptions: IItemAddRequestOptions
103
+ ): Promise<IItemAddResponse> {
104
+ // delegate to createItemInFolder placing in the root of the filestore
105
+ const options = {
106
+ folder: null,
107
+ ...requestOptions
108
+ } as IItemAddRequestOptions;
109
+ return createItemInFolder(options);
110
+ }
@@ -0,0 +1,79 @@
1
+ /* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
2
+ * Apache-2.0 */
3
+
4
+ import {
5
+ request,
6
+ IRequestOptions,
7
+ getPortalUrl
8
+ } from "@esri/arcgis-rest-request";
9
+
10
+ import { IItem } from "@esri/arcgis-rest-common-types";
11
+
12
+ import { IItemIdRequestOptions, IItemDataRequestOptions } from "./helpers";
13
+
14
+ /**
15
+ * Get an item by id
16
+ *
17
+ * @param id - Item Id
18
+ * @param requestOptions - Options for the request
19
+ * @returns A Promise that will resolve with the data from the response.
20
+ */
21
+ export function getItem(
22
+ id: string,
23
+ requestOptions?: IRequestOptions
24
+ ): Promise<IItem> {
25
+ const url = `${getPortalUrl(requestOptions)}/content/items/${id}`;
26
+
27
+ // default to a GET request
28
+ const options: IRequestOptions = {
29
+ ...{ httpMethod: "GET" },
30
+ ...requestOptions
31
+ };
32
+ return request(url, options);
33
+ }
34
+
35
+ /**
36
+ * Get the /data for an item.
37
+ * @param id - Item Id
38
+ * @param requestOptions - Options for the request
39
+ * @returns A Promise that will resolve with the json data for the item.
40
+ */
41
+ export function getItemData(
42
+ id: string,
43
+ requestOptions?: IItemDataRequestOptions
44
+ ): Promise<any> {
45
+ const url = `${getPortalUrl(requestOptions)}/content/items/${id}/data`;
46
+ // default to a GET request
47
+ const options: IItemDataRequestOptions = {
48
+ ...{ httpMethod: "GET", params: {} },
49
+ ...requestOptions
50
+ };
51
+
52
+ if (options.file) {
53
+ options.params.f = null;
54
+ }
55
+
56
+ return request(url, options);
57
+ }
58
+
59
+ /**
60
+ * Get the resources associated with an item
61
+ *
62
+ * @param requestOptions - Options for the request
63
+ * @returns A Promise to get some item resources.
64
+ */
65
+ export function getItemResources(
66
+ requestOptions: IItemIdRequestOptions
67
+ ): Promise<any> {
68
+ const url = `${getPortalUrl(requestOptions)}/content/items/${
69
+ requestOptions.id
70
+ }/resources`;
71
+
72
+ // mix in user supplied params
73
+ requestOptions.params = {
74
+ ...requestOptions.params,
75
+ num: 1000
76
+ };
77
+
78
+ return request(url, requestOptions);
79
+ }
@@ -0,0 +1,147 @@
1
+ /* Copyright (c) 2017-2018 Environmental Systems Research Institute, Inc.
2
+ * Apache-2.0 */
3
+
4
+ import { IRequestOptions } from "@esri/arcgis-rest-request";
5
+
6
+ import { IItemAdd, IItemUpdate, IItem } from "@esri/arcgis-rest-common-types";
7
+
8
+ import { IUserRequestOptions } from "@esri/arcgis-rest-auth";
9
+
10
+ export interface IItemRequestOptions extends IUserRequestOptions {
11
+ item: IItem;
12
+ }
13
+
14
+ export interface IItemIdRequestOptions extends IUserRequestOptions {
15
+ /**
16
+ * Unique identifier of the item.
17
+ */
18
+ id: string;
19
+ /**
20
+ * Item owner username. If not present, `authentication.username` is utilized.
21
+ */
22
+ owner?: string;
23
+ }
24
+
25
+ export interface IItemResourceRequestOptions extends IItemIdRequestOptions {
26
+ /**
27
+ * New resource filename.
28
+ */
29
+ name?: string;
30
+ /**
31
+ * Text input to be added as a file resource.
32
+ */
33
+ content?: string;
34
+ /**
35
+ * Controls whether access to the file resource is restricted to the owner or inherited from the sharing permissions set for the associated item.
36
+ */
37
+ private?: boolean;
38
+ resource?: any;
39
+ }
40
+
41
+ export interface IItemCrudRequestOptions extends IUserRequestOptions {
42
+ /**
43
+ * The owner of the item. If this property is not present, `item.owner` will be passed, or lastly `authentication.username`.
44
+ */
45
+ owner?: string;
46
+ /**
47
+ * Id of the folder to house the item.
48
+ */
49
+ folder?: string;
50
+ }
51
+
52
+ export interface IItemDataRequestOptions extends IRequestOptions {
53
+ /**
54
+ * Used to request binary data.
55
+ */
56
+ file?: boolean;
57
+ }
58
+
59
+ export interface IItemUpdateResponse {
60
+ success: boolean;
61
+ id: string;
62
+ }
63
+
64
+ export interface IItemAddResponse extends IItemUpdateResponse {
65
+ folder: string;
66
+ }
67
+
68
+ export interface IItemResourceResponse {
69
+ success: boolean;
70
+ itemId: string;
71
+ owner: string;
72
+ folder: string;
73
+ }
74
+
75
+ export interface IAddFolderResponse {
76
+ /**
77
+ * Success or failure of request.
78
+ */
79
+ success: boolean;
80
+ /**
81
+ * Information about created folder: its alphanumeric id, name, and owner's name.
82
+ */
83
+ folder: {
84
+ id: string;
85
+ title: string;
86
+ username: string;
87
+ };
88
+ }
89
+
90
+ export interface IItemMoveResponse {
91
+ /**
92
+ * Success or failure of request.
93
+ */
94
+ success: boolean;
95
+ /**
96
+ * Alphanumeric id of moved item.
97
+ */
98
+ itemId: string;
99
+ /**
100
+ * Name of owner of item.
101
+ */
102
+ owner: string;
103
+ /**
104
+ * Alphanumeric id of folder now housing item.
105
+ */
106
+ folder: string;
107
+ }
108
+
109
+ /**
110
+ * Serialize an item into a json format accepted by the Portal API
111
+ * for create and update operations
112
+ *
113
+ * @param item Item to be serialized
114
+ * @returns a formatted json object to be sent to Portal
115
+ */
116
+ export function serializeItem(item: IItemAdd | IItemUpdate | IItem): any {
117
+ // create a clone so we're not messing with the original
118
+ const clone = JSON.parse(JSON.stringify(item));
119
+ // join keywords and tags...
120
+ const { typeKeywords = [], tags = [] } = item;
121
+ clone.typeKeywords = typeKeywords.join(", ");
122
+ clone.tags = tags.join(", ");
123
+ // convert .data to .text
124
+ if (clone.data) {
125
+ clone.text = JSON.stringify(clone.data);
126
+ delete clone.data;
127
+ }
128
+ // Convert properties to a string
129
+ if (clone.properties) {
130
+ clone.properties = JSON.stringify(clone.properties);
131
+ }
132
+ return clone;
133
+ }
134
+
135
+ /**
136
+ * requestOptions.owner is given priority, requestOptions.item.owner will be checked next. If neither are present, authentication.username will be assumed.
137
+ */
138
+ export function determineOwner(requestOptions: any): string {
139
+ if (requestOptions.owner) {
140
+ return requestOptions.owner;
141
+ }
142
+ if (requestOptions.item && requestOptions.item.owner) {
143
+ return requestOptions.item.owner;
144
+ } else {
145
+ return requestOptions.authentication.username;
146
+ }
147
+ }
@@ -0,0 +1,11 @@
1
+ /* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
2
+ * Apache-2.0 */
3
+
4
+ export * from "./add";
5
+ export * from "./create";
6
+ export * from "./get";
7
+ export * from "./protect";
8
+ export * from "./remove";
9
+ export * from "./search";
10
+ export * from "./update";
11
+ export * from "./helpers";
@@ -0,0 +1,38 @@
1
+ /* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
2
+ * Apache-2.0 */
3
+
4
+ import { request, getPortalUrl } from "@esri/arcgis-rest-request";
5
+
6
+ import { IItemIdRequestOptions, determineOwner } from "./helpers";
7
+
8
+ /**
9
+ * Protect an item
10
+ *
11
+ * @param requestOptions - Options for the request
12
+ * @returns A Promise to protect an item.
13
+ */
14
+ export function protectItem(
15
+ requestOptions: IItemIdRequestOptions
16
+ ): Promise<any> {
17
+ const owner = determineOwner(requestOptions);
18
+ const url = `${getPortalUrl(requestOptions)}/content/users/${owner}/items/${
19
+ requestOptions.id
20
+ }/protect`;
21
+ return request(url, requestOptions);
22
+ }
23
+
24
+ /**
25
+ * Unprotect an item
26
+ *
27
+ * @param requestOptions - Options for the request
28
+ * @returns A Promise to unprotect an item.
29
+ */
30
+ export function unprotectItem(
31
+ requestOptions: IItemIdRequestOptions
32
+ ): Promise<any> {
33
+ const owner = determineOwner(requestOptions);
34
+ const url = `${getPortalUrl(requestOptions)}/content/users/${owner}/items/${
35
+ requestOptions.id
36
+ }/unprotect`;
37
+ return request(url, requestOptions);
38
+ }
@@ -0,0 +1,58 @@
1
+ /* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
2
+ * Apache-2.0 */
3
+
4
+ import { request, getPortalUrl } from "@esri/arcgis-rest-request";
5
+
6
+ import {
7
+ IItemIdRequestOptions,
8
+ IItemResourceRequestOptions,
9
+ determineOwner
10
+ } from "./helpers";
11
+
12
+ /**
13
+ * Remove an item from the portal
14
+ *
15
+ * *
16
+ * ```js
17
+ * import { removeItem } from '@esri/arcgis-rest-items';
18
+ *
19
+ * removeItem({
20
+ * authentication: userSession,
21
+ * id: "3ef"
22
+ * })
23
+ * ```
24
+ *
25
+ * @param requestOptions - Options for the request
26
+ * @returns A Promise that deletes an item.
27
+ */
28
+ export function removeItem(
29
+ requestOptions: IItemIdRequestOptions
30
+ ): Promise<any> {
31
+ const owner = determineOwner(requestOptions);
32
+ const url = `${getPortalUrl(requestOptions)}/content/users/${owner}/items/${
33
+ requestOptions.id
34
+ }/delete`;
35
+ return request(url, requestOptions);
36
+ }
37
+
38
+ /**
39
+ * Remove a resource associated with an item
40
+ *
41
+ * @param requestOptions - Options for the request
42
+ * @returns A Promise that deletes an item resource.
43
+ */
44
+ export function removeItemResource(
45
+ requestOptions: IItemResourceRequestOptions
46
+ ): Promise<any> {
47
+ const owner = determineOwner(requestOptions);
48
+ const url = `${getPortalUrl(requestOptions)}/content/users/${owner}/items/${
49
+ requestOptions.id
50
+ }/removeResources`;
51
+
52
+ // mix in user supplied params
53
+ requestOptions.params = {
54
+ ...requestOptions.params,
55
+ resource: requestOptions.resource
56
+ };
57
+ return request(url, requestOptions);
58
+ }