ducimusipsa 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 (307) hide show
  1. package/.prettierignore +2 -0
  2. package/.travis.yml +34 -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 +180 -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 +115 -0
  19. package/demos/batch-geocoder-node/config-template.js +18 -0
  20. package/demos/batch-geocoder-node/package-lock.json +109 -0
  21. package/demos/batch-geocoder-node/package.json +38 -0
  22. package/demos/express/README.md +15 -0
  23. package/demos/express/config.json.template +3 -0
  24. package/demos/express/package-lock.json +428 -0
  25. package/demos/express/package.json +18 -0
  26. package/demos/express/server.js +33 -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 +25 -0
  38. package/demos/jsapi-integration/config.js +6 -0
  39. package/demos/jsapi-integration/index.html +85 -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 +14 -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 +303 -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 +41 -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 +129 -0
  104. package/packages/arcgis-rest-auth/README.md +67 -0
  105. package/packages/arcgis-rest-auth/package-lock.json +11 -0
  106. package/packages/arcgis-rest-auth/package.json +53 -0
  107. package/packages/arcgis-rest-auth/src/ApplicationSession.ts +108 -0
  108. package/packages/arcgis-rest-auth/src/UserSession.ts +880 -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 +1005 -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/README.md +57 -0
  120. package/packages/arcgis-rest-common/package-lock.json +11 -0
  121. package/packages/arcgis-rest-common/package.json +41 -0
  122. package/packages/arcgis-rest-common/src/index.ts +10 -0
  123. package/packages/arcgis-rest-common/src/types/feature.ts +14 -0
  124. package/packages/arcgis-rest-common/src/types/geometry.ts +47 -0
  125. package/packages/arcgis-rest-common/src/types/symbol.ts +21 -0
  126. package/packages/arcgis-rest-common/src/util/location.ts +19 -0
  127. package/packages/arcgis-rest-common/test/location.test.ts +73 -0
  128. package/packages/arcgis-rest-common/tsconfig.json +6 -0
  129. package/packages/arcgis-rest-common-types/README.md +64 -0
  130. package/packages/arcgis-rest-common-types/package.json +40 -0
  131. package/packages/arcgis-rest-common-types/src/group.ts +54 -0
  132. package/packages/arcgis-rest-common-types/src/index.ts +469 -0
  133. package/packages/arcgis-rest-common-types/src/item.ts +47 -0
  134. package/packages/arcgis-rest-common-types/src/webmap.ts +1267 -0
  135. package/packages/arcgis-rest-common-types/tsconfig.json +11 -0
  136. package/packages/arcgis-rest-feature-service/README.md +73 -0
  137. package/packages/arcgis-rest-feature-service/package-lock.json +11 -0
  138. package/packages/arcgis-rest-feature-service/package.json +53 -0
  139. package/packages/arcgis-rest-feature-service/src/add.ts +90 -0
  140. package/packages/arcgis-rest-feature-service/src/addAttachment.ts +64 -0
  141. package/packages/arcgis-rest-feature-service/src/decodeValues.ts +129 -0
  142. package/packages/arcgis-rest-feature-service/src/delete.ts +97 -0
  143. package/packages/arcgis-rest-feature-service/src/deleteAttachments.ts +67 -0
  144. package/packages/arcgis-rest-feature-service/src/getAttachments.ts +64 -0
  145. package/packages/arcgis-rest-feature-service/src/getLayer.ts +27 -0
  146. package/packages/arcgis-rest-feature-service/src/helpers.ts +50 -0
  147. package/packages/arcgis-rest-feature-service/src/index.ts +14 -0
  148. package/packages/arcgis-rest-feature-service/src/query.ts +183 -0
  149. package/packages/arcgis-rest-feature-service/src/queryRelated.ts +94 -0
  150. package/packages/arcgis-rest-feature-service/src/update.ts +90 -0
  151. package/packages/arcgis-rest-feature-service/src/updateAttachment.ts +73 -0
  152. package/packages/arcgis-rest-feature-service/test/attachments.test.ts +203 -0
  153. package/packages/arcgis-rest-feature-service/test/crud.test.ts +263 -0
  154. package/packages/arcgis-rest-feature-service/test/decodeValues.test.ts +67 -0
  155. package/packages/arcgis-rest-feature-service/test/getLayer.test.ts +31 -0
  156. package/packages/arcgis-rest-feature-service/test/mocks/cvdQueryResponse.ts +225 -0
  157. package/packages/arcgis-rest-feature-service/test/mocks/feature.ts +281 -0
  158. package/packages/arcgis-rest-feature-service/test/mocks/fields.ts +779 -0
  159. package/packages/arcgis-rest-feature-service/test/mocks/foo.txt +1 -0
  160. package/packages/arcgis-rest-feature-service/test/mocks/service.ts +259 -0
  161. package/packages/arcgis-rest-feature-service/test/query.test.ts +140 -0
  162. package/packages/arcgis-rest-feature-service/tsconfig.json +6 -0
  163. package/packages/arcgis-rest-feature-service-admin/README.md +69 -0
  164. package/packages/arcgis-rest-feature-service-admin/package-lock.json +11 -0
  165. package/packages/arcgis-rest-feature-service-admin/package.json +56 -0
  166. package/packages/arcgis-rest-feature-service-admin/src/addTo.ts +74 -0
  167. package/packages/arcgis-rest-feature-service-admin/src/create.ts +207 -0
  168. package/packages/arcgis-rest-feature-service-admin/src/index.ts +2 -0
  169. package/packages/arcgis-rest-feature-service-admin/test/addTo.test.ts +353 -0
  170. package/packages/arcgis-rest-feature-service-admin/test/create.test.ts +412 -0
  171. package/packages/arcgis-rest-feature-service-admin/test/mocks/layerDefinition.ts +79 -0
  172. package/packages/arcgis-rest-feature-service-admin/test/mocks/move.ts +14 -0
  173. package/packages/arcgis-rest-feature-service-admin/test/mocks/service.ts +72 -0
  174. package/packages/arcgis-rest-feature-service-admin/tsconfig.json +6 -0
  175. package/packages/arcgis-rest-geocoder/README.md +83 -0
  176. package/packages/arcgis-rest-geocoder/package-lock.json +11 -0
  177. package/packages/arcgis-rest-geocoder/package.json +55 -0
  178. package/packages/arcgis-rest-geocoder/src/bulk.ts +102 -0
  179. package/packages/arcgis-rest-geocoder/src/geocode.ts +130 -0
  180. package/packages/arcgis-rest-geocoder/src/helpers.ts +80 -0
  181. package/packages/arcgis-rest-geocoder/src/index.ts +8 -0
  182. package/packages/arcgis-rest-geocoder/src/reverse.ts +83 -0
  183. package/packages/arcgis-rest-geocoder/src/suggest.ts +69 -0
  184. package/packages/arcgis-rest-geocoder/test/bulk.test.ts +113 -0
  185. package/packages/arcgis-rest-geocoder/test/geocode.test.ts +176 -0
  186. package/packages/arcgis-rest-geocoder/test/helpers.test.ts +111 -0
  187. package/packages/arcgis-rest-geocoder/test/mocks/responses.ts +629 -0
  188. package/packages/arcgis-rest-geocoder/test/reverse.test.ts +126 -0
  189. package/packages/arcgis-rest-geocoder/test/suggest.test.ts +98 -0
  190. package/packages/arcgis-rest-geocoder/tsconfig.json +6 -0
  191. package/packages/arcgis-rest-groups/README.md +67 -0
  192. package/packages/arcgis-rest-groups/package-lock.json +11 -0
  193. package/packages/arcgis-rest-groups/package.json +55 -0
  194. package/packages/arcgis-rest-groups/src/create.ts +34 -0
  195. package/packages/arcgis-rest-groups/src/get.ts +95 -0
  196. package/packages/arcgis-rest-groups/src/helpers.ts +27 -0
  197. package/packages/arcgis-rest-groups/src/index.ts +11 -0
  198. package/packages/arcgis-rest-groups/src/notification.ts +77 -0
  199. package/packages/arcgis-rest-groups/src/protect.ts +40 -0
  200. package/packages/arcgis-rest-groups/src/remove.ts +23 -0
  201. package/packages/arcgis-rest-groups/src/search.ts +64 -0
  202. package/packages/arcgis-rest-groups/src/update.ts +36 -0
  203. package/packages/arcgis-rest-groups/test/crud.test.ts +134 -0
  204. package/packages/arcgis-rest-groups/test/get.test.ts +101 -0
  205. package/packages/arcgis-rest-groups/test/mocks/responses.ts +141 -0
  206. package/packages/arcgis-rest-groups/test/notification.test.ts +102 -0
  207. package/packages/arcgis-rest-groups/test/protect.test.ts +64 -0
  208. package/packages/arcgis-rest-groups/test/search.test.ts +85 -0
  209. package/packages/arcgis-rest-groups/tsconfig.json +6 -0
  210. package/packages/arcgis-rest-items/README.md +69 -0
  211. package/packages/arcgis-rest-items/package-lock.json +11 -0
  212. package/packages/arcgis-rest-items/package.json +55 -0
  213. package/packages/arcgis-rest-items/src/add.ts +103 -0
  214. package/packages/arcgis-rest-items/src/create.ts +110 -0
  215. package/packages/arcgis-rest-items/src/get.ts +79 -0
  216. package/packages/arcgis-rest-items/src/helpers.ts +147 -0
  217. package/packages/arcgis-rest-items/src/index.ts +11 -0
  218. package/packages/arcgis-rest-items/src/protect.ts +38 -0
  219. package/packages/arcgis-rest-items/src/remove.ts +58 -0
  220. package/packages/arcgis-rest-items/src/search.ts +78 -0
  221. package/packages/arcgis-rest-items/src/update.ts +134 -0
  222. package/packages/arcgis-rest-items/test/add.test.ts +256 -0
  223. package/packages/arcgis-rest-items/test/create.test.ts +371 -0
  224. package/packages/arcgis-rest-items/test/get.test.ts +181 -0
  225. package/packages/arcgis-rest-items/test/mocks/foo.zip +0 -0
  226. package/packages/arcgis-rest-items/test/mocks/item.ts +35 -0
  227. package/packages/arcgis-rest-items/test/mocks/resources.ts +31 -0
  228. package/packages/arcgis-rest-items/test/mocks/search.ts +62 -0
  229. package/packages/arcgis-rest-items/test/protect.test.ts +122 -0
  230. package/packages/arcgis-rest-items/test/remove.test.ts +161 -0
  231. package/packages/arcgis-rest-items/test/search.test.ts +159 -0
  232. package/packages/arcgis-rest-items/test/update.test.ts +450 -0
  233. package/packages/arcgis-rest-items/tsconfig.json +6 -0
  234. package/packages/arcgis-rest-request/README.md +68 -0
  235. package/packages/arcgis-rest-request/package-lock.json +11 -0
  236. package/packages/arcgis-rest-request/package.json +45 -0
  237. package/packages/arcgis-rest-request/src/index.ts +15 -0
  238. package/packages/arcgis-rest-request/src/request.ts +358 -0
  239. package/packages/arcgis-rest-request/src/utils/ArcGISRequestError.ts +76 -0
  240. package/packages/arcgis-rest-request/src/utils/ErrorTypes.ts +29 -0
  241. package/packages/arcgis-rest-request/src/utils/append-custom-params.ts +29 -0
  242. package/packages/arcgis-rest-request/src/utils/encode-form-data.ts +34 -0
  243. package/packages/arcgis-rest-request/src/utils/encode-query-string.ts +23 -0
  244. package/packages/arcgis-rest-request/src/utils/get-portal-url.ts +25 -0
  245. package/packages/arcgis-rest-request/src/utils/get-portal.ts +45 -0
  246. package/packages/arcgis-rest-request/src/utils/params.ts +52 -0
  247. package/packages/arcgis-rest-request/src/utils/process-params.ts +99 -0
  248. package/packages/arcgis-rest-request/src/utils/retryAuthError.ts +9 -0
  249. package/packages/arcgis-rest-request/src/utils/warn.ts +11 -0
  250. package/packages/arcgis-rest-request/test/mocks/errors.ts +68 -0
  251. package/packages/arcgis-rest-request/test/mocks/geojson-feature-collection.ts +13 -0
  252. package/packages/arcgis-rest-request/test/mocks/portal.ts +112 -0
  253. package/packages/arcgis-rest-request/test/mocks/sharing-rest-info.ts +41 -0
  254. package/packages/arcgis-rest-request/test/mocks/webmap.ts +41 -0
  255. package/packages/arcgis-rest-request/test/request.test.ts +323 -0
  256. package/packages/arcgis-rest-request/test/utils/ArcGISAuthError.test.ts +170 -0
  257. package/packages/arcgis-rest-request/test/utils/ArcGISRequestError.test.ts +51 -0
  258. package/packages/arcgis-rest-request/test/utils/check-for-errors.test.ts +111 -0
  259. package/packages/arcgis-rest-request/test/utils/encode-form-data.test.ts +133 -0
  260. package/packages/arcgis-rest-request/test/utils/get-portal-url.test.ts +37 -0
  261. package/packages/arcgis-rest-request/test/utils/portal.test.ts +97 -0
  262. package/packages/arcgis-rest-request/test/utils/process-params.test.ts +193 -0
  263. package/packages/arcgis-rest-request/tsconfig.json +6 -0
  264. package/packages/arcgis-rest-routing/README.md +71 -0
  265. package/packages/arcgis-rest-routing/package-lock.json +11 -0
  266. package/packages/arcgis-rest-routing/package.json +54 -0
  267. package/packages/arcgis-rest-routing/src/helpers.ts +16 -0
  268. package/packages/arcgis-rest-routing/src/index.ts +4 -0
  269. package/packages/arcgis-rest-routing/src/solveRoute.ts +102 -0
  270. package/packages/arcgis-rest-routing/test/mocks/responses.ts +825 -0
  271. package/packages/arcgis-rest-routing/test/solveRoute.test.ts +267 -0
  272. package/packages/arcgis-rest-routing/tsconfig.json +6 -0
  273. package/packages/arcgis-rest-sharing/README.md +70 -0
  274. package/packages/arcgis-rest-sharing/package-lock.json +11 -0
  275. package/packages/arcgis-rest-sharing/package.json +60 -0
  276. package/packages/arcgis-rest-sharing/src/access.ts +85 -0
  277. package/packages/arcgis-rest-sharing/src/group-sharing.ts +211 -0
  278. package/packages/arcgis-rest-sharing/src/helpers.ts +82 -0
  279. package/packages/arcgis-rest-sharing/src/index.ts +5 -0
  280. package/packages/arcgis-rest-sharing/test/access.test.ts +154 -0
  281. package/packages/arcgis-rest-sharing/test/group-sharing.test.ts +566 -0
  282. package/packages/arcgis-rest-sharing/test/helpers.test.ts +55 -0
  283. package/packages/arcgis-rest-sharing/test/mocks/sharing.ts +18 -0
  284. package/packages/arcgis-rest-sharing/tsconfig.json +6 -0
  285. package/packages/arcgis-rest-users/README.md +74 -0
  286. package/packages/arcgis-rest-users/package-lock.json +11 -0
  287. package/packages/arcgis-rest-users/package.json +54 -0
  288. package/packages/arcgis-rest-users/src/get.ts +69 -0
  289. package/packages/arcgis-rest-users/src/index.ts +6 -0
  290. package/packages/arcgis-rest-users/src/invitation.ts +166 -0
  291. package/packages/arcgis-rest-users/src/notification.ts +73 -0
  292. package/packages/arcgis-rest-users/test/get.test.ts +99 -0
  293. package/packages/arcgis-rest-users/test/invitation.test.ts +169 -0
  294. package/packages/arcgis-rest-users/test/mocks/invitation.ts +70 -0
  295. package/packages/arcgis-rest-users/test/mocks/notification.ts +34 -0
  296. package/packages/arcgis-rest-users/test/mocks/user.ts +173 -0
  297. package/packages/arcgis-rest-users/test/notification.test.ts +83 -0
  298. package/packages/arcgis-rest-users/tsconfig.json +6 -0
  299. package/support/changelog.js +394 -0
  300. package/support/deploy-doc-site.js +16 -0
  301. package/support/dev.sh +6 -0
  302. package/support/publish.sh +43 -0
  303. package/support/test-helpers.js +8 -0
  304. package/tsconfig.json +69 -0
  305. package/tslint.json +16 -0
  306. package/umd-base-profile.js +82 -0
  307. package/umd-production-profile.js +13 -0
@@ -0,0 +1,412 @@
1
+ /* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
2
+ * Apache-2.0 */
3
+
4
+ import * as fetchMock from "fetch-mock";
5
+
6
+ import { createFeatureService } from "../src/create";
7
+
8
+ import {
9
+ FeatureServiceSuccessResponse,
10
+ FeatureServiceFailResponse
11
+ } from "./mocks/service";
12
+ import {
13
+ MoveToFolderSuccessResponse,
14
+ MoveToFolderFailResponse
15
+ } from "./mocks/move";
16
+
17
+ import { UserSession } from "@esri/arcgis-rest-auth";
18
+ import { TOMORROW } from "@esri/arcgis-rest-auth/test/utils";
19
+ import { encodeParam } from "@esri/arcgis-rest-request";
20
+
21
+ describe("create feature service", () => {
22
+ afterEach(fetchMock.restore);
23
+
24
+ describe("Authenticated methods", () => {
25
+ // setup a UserSession to use in all these tests
26
+ const MOCK_USER_SESSION = new UserSession({
27
+ clientId: "clientId",
28
+ redirectUri: "https://example-app.com/redirect-uri",
29
+ token: "fake-token",
30
+ tokenExpires: TOMORROW,
31
+ refreshToken: "refreshToken",
32
+ refreshTokenExpires: TOMORROW,
33
+ refreshTokenTTL: 1440,
34
+ username: "casey",
35
+ password: "123456",
36
+ portal: "https://myorg.maps.arcgis.com/sharing/rest"
37
+ });
38
+
39
+ const MOCK_USER_REQOPTS = {
40
+ authentication: MOCK_USER_SESSION
41
+ };
42
+
43
+ const serviceDescription = {
44
+ name: "EmptyServiceName",
45
+ serviceDescription: "",
46
+ hasStaticData: false,
47
+ maxRecordCount: 1000,
48
+ supportedQueryFormats: "JSON",
49
+ capabilities: "Create,Delete,Query,Update,Editing",
50
+ description: "",
51
+ copyrightText: "",
52
+ spatialReference: {
53
+ wkid: 102100
54
+ },
55
+ initialExtent: {
56
+ xmin: -20037507.0671618,
57
+ ymin: -30240971.9583862,
58
+ xmax: 20037507.0671618,
59
+ ymax: 18398924.324645,
60
+ spatialReference: {
61
+ wkid: 102100,
62
+ latestWkid: 3857
63
+ }
64
+ },
65
+ allowGeometryUpdates: true,
66
+ units: "esriMeters",
67
+ xssPreventionInfo: {
68
+ xssPreventionEnabled: true,
69
+ xssPreventionRule: "InputOnly",
70
+ xssInputRule: "rejectInvalid"
71
+ }
72
+ };
73
+
74
+ it("should create a feature service defaulting to the root folder", done => {
75
+ fetchMock
76
+ .mock("end:createService", FeatureServiceSuccessResponse, {})
77
+ .mock("end:move", MoveToFolderFailResponse, {});
78
+
79
+ createFeatureService({
80
+ item: serviceDescription,
81
+ ...MOCK_USER_REQOPTS
82
+ })
83
+ .then(
84
+ response => {
85
+ expect(fetchMock.called("end:createService")).toEqual(true);
86
+ expect(fetchMock.called("end:move")).toEqual(false);
87
+
88
+ // Check create service call
89
+ const [urlCreate, optionsCreate]: [
90
+ string,
91
+ RequestInit
92
+ ] = fetchMock.lastCall("end:createService");
93
+ expect(urlCreate).toEqual(
94
+ "https://myorg.maps.arcgis.com/sharing/rest/content/users/casey/createService"
95
+ );
96
+ expect(optionsCreate.method).toBe("POST");
97
+ expect(optionsCreate.body).toContain("f=json");
98
+ expect(optionsCreate.body).toContain(
99
+ encodeParam(
100
+ "createParameters",
101
+ JSON.stringify(serviceDescription)
102
+ )
103
+ );
104
+ expect(optionsCreate.body).toContain("outputType=featureService");
105
+ expect(optionsCreate.body).toContain(
106
+ encodeParam("token", "fake-token")
107
+ );
108
+
109
+ // Check response
110
+ expect(response).toEqual(FeatureServiceSuccessResponse);
111
+
112
+ done();
113
+ },
114
+ () => {
115
+ fail(); // call is supposed to succeed
116
+ }
117
+ )
118
+ .catch(e => {
119
+ fail(e);
120
+ });
121
+ });
122
+
123
+ it("should create a feature service specified for the root folder 1", done => {
124
+ fetchMock
125
+ .mock("end:createService", FeatureServiceSuccessResponse, {})
126
+ .mock("end:move", MoveToFolderFailResponse, {});
127
+ const folderId = "";
128
+
129
+ createFeatureService({
130
+ item: serviceDescription,
131
+ folderId,
132
+ ...MOCK_USER_REQOPTS
133
+ })
134
+ .then(
135
+ response => {
136
+ expect(fetchMock.called("end:createService")).toEqual(true);
137
+ expect(fetchMock.called("end:move")).toEqual(false);
138
+
139
+ // Check create service call
140
+ const [urlCreate, optionsCreate]: [
141
+ string,
142
+ RequestInit
143
+ ] = fetchMock.lastCall("end:createService");
144
+ expect(urlCreate).toEqual(
145
+ "https://myorg.maps.arcgis.com/sharing/rest/content/users/casey/createService"
146
+ );
147
+ expect(optionsCreate.method).toBe("POST");
148
+ expect(optionsCreate.body).toContain("f=json");
149
+ expect(optionsCreate.body).toContain(
150
+ encodeParam(
151
+ "createParameters",
152
+ JSON.stringify(serviceDescription)
153
+ )
154
+ );
155
+ expect(optionsCreate.body).toContain("outputType=featureService");
156
+ expect(optionsCreate.body).toContain(
157
+ encodeParam("token", "fake-token")
158
+ );
159
+
160
+ // Check response
161
+ expect(response).toEqual(FeatureServiceSuccessResponse);
162
+
163
+ done();
164
+ },
165
+ () => {
166
+ fail(); // call is supposed to succeed
167
+ }
168
+ )
169
+ .catch(e => {
170
+ fail(e);
171
+ });
172
+ });
173
+
174
+ it("should create a feature service specified for the root folder 2", done => {
175
+ fetchMock
176
+ .mock("end:createService", FeatureServiceSuccessResponse, {})
177
+ .mock("end:move", MoveToFolderFailResponse, {});
178
+ const folderId = "/";
179
+
180
+ createFeatureService({
181
+ item: serviceDescription,
182
+ folderId,
183
+ ...MOCK_USER_REQOPTS
184
+ })
185
+ .then(
186
+ response => {
187
+ expect(fetchMock.called("end:createService")).toEqual(true);
188
+ expect(fetchMock.called("end:move")).toEqual(false);
189
+
190
+ // Check create service call
191
+ const [urlCreate, optionsCreate]: [
192
+ string,
193
+ RequestInit
194
+ ] = fetchMock.lastCall("end:createService");
195
+ expect(urlCreate).toEqual(
196
+ "https://myorg.maps.arcgis.com/sharing/rest/content/users/casey/createService"
197
+ );
198
+ expect(optionsCreate.method).toBe("POST");
199
+ expect(optionsCreate.body).toContain("f=json");
200
+ expect(optionsCreate.body).toContain(
201
+ encodeParam(
202
+ "createParameters",
203
+ JSON.stringify(serviceDescription)
204
+ )
205
+ );
206
+ expect(optionsCreate.body).toContain("outputType=featureService");
207
+ expect(optionsCreate.body).toContain(
208
+ encodeParam("token", "fake-token")
209
+ );
210
+
211
+ // Check response
212
+ expect(response).toEqual(FeatureServiceSuccessResponse);
213
+
214
+ done();
215
+ },
216
+ () => {
217
+ fail(); // call is supposed to succeed
218
+ }
219
+ )
220
+ .catch(e => {
221
+ fail(e);
222
+ });
223
+ });
224
+
225
+ it("should create a feature service in a particular folder", done => {
226
+ fetchMock
227
+ .mock("end:createService", FeatureServiceSuccessResponse, {})
228
+ .mock("end:move", MoveToFolderSuccessResponse, {});
229
+ const folderId = "83216cba44bf4357bf06687ec88a847b";
230
+
231
+ createFeatureService({
232
+ item: serviceDescription,
233
+ folderId,
234
+ ...MOCK_USER_REQOPTS
235
+ })
236
+ .then(
237
+ response => {
238
+ expect(fetchMock.called("end:createService")).toEqual(true);
239
+ expect(fetchMock.called("end:move")).toEqual(true);
240
+
241
+ // Check create service call
242
+ const [urlCreate, optionsCreate]: [
243
+ string,
244
+ RequestInit
245
+ ] = fetchMock.lastCall("end:createService");
246
+ expect(urlCreate).toEqual(
247
+ "https://myorg.maps.arcgis.com/sharing/rest/content/users/casey/createService"
248
+ );
249
+ expect(optionsCreate.method).toBe("POST");
250
+ expect(optionsCreate.body).toContain("f=json");
251
+ expect(optionsCreate.body).toContain(
252
+ encodeParam(
253
+ "createParameters",
254
+ JSON.stringify(serviceDescription)
255
+ )
256
+ );
257
+ expect(optionsCreate.body).toContain("outputType=featureService");
258
+ expect(optionsCreate.body).toContain(
259
+ encodeParam("token", "fake-token")
260
+ );
261
+
262
+ // Because the service is created in the root folder, the API follows it with a move call
263
+ const [urlMove, optionsMove]: [
264
+ string,
265
+ RequestInit
266
+ ] = fetchMock.lastCall("end:move");
267
+ expect(urlMove).toEqual(
268
+ "https://myorg.maps.arcgis.com/sharing/rest/content/users/casey/items/" +
269
+ response.serviceItemId +
270
+ "/move"
271
+ );
272
+ expect(optionsMove.method).toBe("POST");
273
+ expect(optionsMove.body).toContain("folder=" + folderId);
274
+ expect(optionsMove.body).toContain("f=json");
275
+ expect(optionsMove.body).toContain(
276
+ encodeParam("token", "fake-token")
277
+ );
278
+
279
+ // Check response
280
+ expect(response).toEqual(FeatureServiceSuccessResponse);
281
+
282
+ done();
283
+ },
284
+ () => {
285
+ fail(); // call is supposed to succeed
286
+ }
287
+ )
288
+ .catch(e => {
289
+ fail(e);
290
+ });
291
+ });
292
+
293
+ it("should fail to create a feature service defaulting to the root folder", done => {
294
+ fetchMock
295
+ .mock("end:createService", FeatureServiceFailResponse, {})
296
+ .mock("end:move", MoveToFolderFailResponse, {});
297
+ const folderId = "83216cba44bf4357bf06687ec88a847b";
298
+
299
+ createFeatureService({
300
+ item: serviceDescription,
301
+ folderId,
302
+ ...MOCK_USER_REQOPTS
303
+ })
304
+ .then(
305
+ () => {
306
+ fail(); // call is supposed to fail
307
+ },
308
+ response => {
309
+ expect(fetchMock.called("end:createService")).toEqual(true);
310
+ expect(fetchMock.called("end:move")).toEqual(false);
311
+
312
+ // Check create service call
313
+ const [urlCreate, optionsCreate]: [
314
+ string,
315
+ RequestInit
316
+ ] = fetchMock.lastCall("end:createService");
317
+ expect(urlCreate).toEqual(
318
+ "https://myorg.maps.arcgis.com/sharing/rest/content/users/casey/createService"
319
+ );
320
+ expect(optionsCreate.method).toBe("POST");
321
+ expect(optionsCreate.body).toContain("f=json");
322
+ expect(optionsCreate.body).toContain(
323
+ encodeParam(
324
+ "createParameters",
325
+ JSON.stringify(serviceDescription)
326
+ )
327
+ );
328
+ expect(optionsCreate.body).toContain("outputType=featureService");
329
+ expect(optionsCreate.body).toContain(
330
+ encodeParam("token", "fake-token")
331
+ );
332
+
333
+ // Check response
334
+ expect(response).toEqual(FeatureServiceFailResponse);
335
+
336
+ done();
337
+ }
338
+ )
339
+ .catch(e => {
340
+ fail(e);
341
+ });
342
+ });
343
+
344
+ it("should create a feature service, but fail to move it to a particular folder", done => {
345
+ fetchMock
346
+ .mock("end:createService", FeatureServiceSuccessResponse, {})
347
+ .mock("end:move", MoveToFolderFailResponse, {});
348
+ const folderId = "83216cba44bf4357bf06687ec88a847b";
349
+
350
+ createFeatureService({
351
+ item: serviceDescription,
352
+ folderId,
353
+ ...MOCK_USER_REQOPTS
354
+ })
355
+ .then(
356
+ () => {
357
+ fail(); // call is supposed to fail
358
+ },
359
+ response => {
360
+ expect(fetchMock.called("end:createService")).toEqual(true);
361
+ expect(fetchMock.called("end:move")).toEqual(true);
362
+
363
+ // Check create service call
364
+ const [urlCreate, optionsCreate]: [
365
+ string,
366
+ RequestInit
367
+ ] = fetchMock.lastCall("end:createService");
368
+ expect(urlCreate).toEqual(
369
+ "https://myorg.maps.arcgis.com/sharing/rest/content/users/casey/createService"
370
+ );
371
+ expect(optionsCreate.method).toBe("POST");
372
+ expect(optionsCreate.body).toContain("f=json");
373
+ expect(optionsCreate.body).toContain(
374
+ encodeParam(
375
+ "createParameters",
376
+ JSON.stringify(serviceDescription)
377
+ )
378
+ );
379
+ expect(optionsCreate.body).toContain("outputType=featureService");
380
+ expect(optionsCreate.body).toContain(
381
+ encodeParam("token", "fake-token")
382
+ );
383
+
384
+ // Because the service is created in the root folder, the API follows it with a move call
385
+ const [urlMove, optionsMove]: [
386
+ string,
387
+ RequestInit
388
+ ] = fetchMock.lastCall("end:move");
389
+ expect(urlMove).toEqual(
390
+ "https://myorg.maps.arcgis.com/sharing/rest/content/users/casey/items/" +
391
+ FeatureServiceSuccessResponse.serviceItemId +
392
+ "/move"
393
+ );
394
+ expect(optionsMove.method).toBe("POST");
395
+ expect(optionsMove.body).toContain("folder=" + folderId);
396
+ expect(optionsMove.body).toContain("f=json");
397
+ expect(optionsMove.body).toContain(
398
+ encodeParam("token", "fake-token")
399
+ );
400
+
401
+ // Check response
402
+ expect(response).toEqual(FeatureServiceFailResponse);
403
+
404
+ done();
405
+ }
406
+ )
407
+ .catch(e => {
408
+ fail(e);
409
+ });
410
+ });
411
+ }); // auth requests
412
+ });
@@ -0,0 +1,79 @@
1
+ /* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
2
+ * Apache-2.0 */
3
+
4
+ import { ILayerDefinition, IExtent } from "@esri/arcgis-rest-common-types";
5
+
6
+ const defaultExtent: IExtent = {
7
+ xmin: -180,
8
+ ymin: -90,
9
+ xmax: 180,
10
+ ymax: 90,
11
+ spatialReference: {
12
+ wkid: 4326,
13
+ latestWkid: 4326
14
+ }
15
+ };
16
+
17
+ export const layerDefinitionSid: ILayerDefinition = {
18
+ allowGeometryUpdates: true,
19
+ capabilities: "Create,Delete,Query,Update,Editing",
20
+ copyrightText: "",
21
+ defaultVisibility: true,
22
+ description: "",
23
+ drawingInfo: {
24
+ transparency: 0,
25
+ labelingInfo: null,
26
+ renderer: {
27
+ type: "simple",
28
+ symbol: {
29
+ color: [20, 158, 206, 70],
30
+ outline: {
31
+ color: [255, 255, 255, 229],
32
+ width: 2.25,
33
+ type: "esriSLS",
34
+ style: "esriSLSSolid"
35
+ },
36
+ type: "esriSFS",
37
+ style: "esriSFSSolid"
38
+ }
39
+ }
40
+ },
41
+ extent: defaultExtent,
42
+ fields: [
43
+ {
44
+ name: "OBJECTID",
45
+ type: "esriFieldTypeOID",
46
+ alias: "OBJECTID",
47
+ nullable: false,
48
+ editable: false,
49
+ domain: null
50
+ },
51
+ {
52
+ name: "author",
53
+ type: "esriFieldTypeString",
54
+ alias: "author",
55
+ length: 256,
56
+ nullable: false,
57
+ editable: true,
58
+ domain: null,
59
+ defaultValue: null
60
+ }
61
+ ],
62
+ geometryType: "esriGeometryPolygon",
63
+ hasAttachments: true,
64
+ hasZ: false,
65
+ hasStaticData: false,
66
+ htmlPopupType: "esriServerHTMLPopupTypeNone",
67
+ isDataVersioned: false,
68
+ maxRecordCount: 2000,
69
+ name: "hub_annotations",
70
+ objectIdField: "OBJECTID",
71
+ relationships: [],
72
+ supportsAdvancedQueries: true,
73
+ supportsRollbackOnFailureParameter: true,
74
+ supportsStatistics: true,
75
+ type: "Feature Layer",
76
+ typeIdField: "",
77
+ types: [],
78
+ timeInfo: {}
79
+ };
@@ -0,0 +1,14 @@
1
+ /* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
2
+ * Apache-2.0 */
3
+
4
+ import { IItemMoveResponse } from "@esri/arcgis-rest-items";
5
+
6
+ export const MoveToFolderSuccessResponse: IItemMoveResponse = {
7
+ folder: "83216cba44bf4357bf06687ec88a847b",
8
+ itemId: "1b1a3c914ef94c49ae55ce223cac5754",
9
+ owner: "casey",
10
+ success: true
11
+ };
12
+ export const MoveToFolderFailResponse: any = {
13
+ success: false
14
+ };
@@ -0,0 +1,72 @@
1
+ /* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
2
+ * Apache-2.0 */
3
+
4
+ import { ICreateServiceResult } from "../../src/create";
5
+ import { IAddToServiceDefinitionResult } from "../../src/addTo";
6
+
7
+ export const FeatureServiceSuccessResponse: ICreateServiceResult = {
8
+ encodedServiceURL:
9
+ "https://services.arcgis.com/b6gLrKHqgkQb393u/arcgis/rest/services/EmptyServiceName/FeatureServer",
10
+ isView: false,
11
+ itemId: "1b1a3c914ef94c49ae55ce223cac5754",
12
+ name: "EmptyServiceName",
13
+ serviceItemId: "1b1a3c914ef94c49ae55ce223cac5754",
14
+ serviceurl:
15
+ "https://services.arcgis.com/b6gLrKHqgkQb393u/arcgis/rest/services/EmptyServiceName/FeatureServer",
16
+ size: -1,
17
+ success: true,
18
+ type: "Feature Service"
19
+ };
20
+ export const FeatureServiceFailResponse: any = {
21
+ success: false
22
+ };
23
+
24
+ export const AddToFeatureServiceSuccessResponseFredAndGinger: IAddToServiceDefinitionResult = {
25
+ layers: [
26
+ {
27
+ name: "Fred",
28
+ id: "1899"
29
+ },
30
+ {
31
+ name: "Ginger",
32
+ id: "1911"
33
+ }
34
+ ],
35
+ success: true
36
+ };
37
+ export const AddToFeatureServiceSuccessResponseFayardAndHarold: IAddToServiceDefinitionResult = {
38
+ tables: [
39
+ {
40
+ name: "Fayard",
41
+ id: "1914"
42
+ },
43
+ {
44
+ name: "Harold",
45
+ id: "1921"
46
+ }
47
+ ],
48
+ success: true
49
+ };
50
+ export const AddToFeatureServiceSuccessResponseCydAndGene: IAddToServiceDefinitionResult = {
51
+ layers: [
52
+ {
53
+ name: "Cyd",
54
+ id: "1922"
55
+ }
56
+ ],
57
+ tables: [
58
+ {
59
+ name: "Gene",
60
+ id: "1912"
61
+ }
62
+ ],
63
+ success: true
64
+ };
65
+
66
+ export const AddToFeatureServiceError: any = {
67
+ error: {
68
+ code: 400,
69
+ message: "Unable to add feature service definition.",
70
+ details: ["Object reference not set to an instance of an object."]
71
+ }
72
+ };
@@ -0,0 +1,6 @@
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "include": [
4
+ "src/**/*.ts"
5
+ ]
6
+ }
@@ -0,0 +1,83 @@
1
+ [![npm version][npm-img]][npm-url]
2
+ [![build status][travis-img]][travis-url]
3
+ [![Coverage Status][coverage-img]][coverage-url]
4
+ [![apache licensed](https://img.shields.io/badge/license-Apache-green.svg?style=flat-square)](https://raw.githubusercontent.com/Esri/arcgis-rest-js/master/LICENSE)
5
+
6
+ [npm-img]: https://img.shields.io/npm/v/@esri/arcgis-rest-geocoder.svg?style=flat-square
7
+ [npm-url]: https://www.npmjs.com/package/@esri/arcgis-rest-geocoder
8
+ [travis-img]: https://img.shields.io/travis/Esri/arcgis-rest-js/master.svg?style=flat-square
9
+ [travis-url]: https://travis-ci.org/Esri/arcgis-rest-js
10
+ [coverage-img]: https://coveralls.io/repos/github/Esri/arcgis-rest-js/badge.svg
11
+ [coverage-url]: https://coveralls.io/github/Esri/arcgis-rest-js
12
+
13
+ # @esri/arcgis-rest-geocoder
14
+
15
+ > Geocoding helpers for [`@esri/arcgis-rest-request`](https://github.com/Esri/arcgis-rest-js).
16
+
17
+ ### Example
18
+
19
+ ```bash
20
+ npm install @esri/arcgis-rest-common-types
21
+ npm install @esri/arcgis-rest-request
22
+ npm install @esri/arcgis-rest-geocoder
23
+ ```
24
+
25
+ ```js
26
+ import { geocode } from '@esri/arcgis-rest-geocoder';
27
+
28
+ geocode("LAX")
29
+ .then((response) => {
30
+ response.candidates[0].location;
31
+ // => { x: -118.409, y: 33.943 }
32
+ });
33
+ ```
34
+
35
+ ### [API Reference](https://esri.github.io/arcgis-rest-js/api/geocoder/)
36
+
37
+ * [`geocode("1 World Way Los Angeles 90045")`](https://esri.github.io/arcgis-rest-js/api/geocoder/geocode/)
38
+
39
+ * [`suggest("Starb")`](https://esri.github.io/arcgis-rest-js/api/geocoder/suggest/)
40
+
41
+ * [`reverseGeocode([-118.409,33.943 ])`](https://esri.github.io/arcgis-rest-js/api/geocoder/reverseGeocode/)
42
+
43
+ * [`bulkGeocode()`](https://esri.github.io/arcgis-rest-js/api/geocoder/bulkGeocode/)
44
+
45
+ ### Issues
46
+
47
+ 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.
48
+
49
+ If you're looking for help you can also post issues on [GIS Stackexchange](http://gis.stackexchange.com/questions/ask?tags=esri-oss).
50
+
51
+ ### Versioning
52
+
53
+ 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.
54
+
55
+ For more information on SemVer, please visit <http://semver.org/>.
56
+
57
+ ### Contributing
58
+
59
+ Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](CONTRIBUTING.md).
60
+
61
+ ### In the wild
62
+
63
+ | What | Who |
64
+ | -- | -- |
65
+ | [React](https://twitter.com/oppoudel/status/1022209378378805249) component | [@oppoudel](https://github.com/oppoudel) |
66
+
67
+ ### License
68
+
69
+ Copyright &copy; 2017-2018 Esri
70
+
71
+ Licensed under the Apache License, Version 2.0 (the "License");
72
+ you may not use this file except in compliance with the License.
73
+ You may obtain a copy of the License at
74
+
75
+ > http://www.apache.org/licenses/LICENSE-2.0
76
+
77
+ Unless required by applicable law or agreed to in writing, software
78
+ distributed under the License is distributed on an "AS IS" BASIS,
79
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
80
+ See the License for the specific language governing permissions and
81
+ limitations under the License.
82
+
83
+ 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.7.1",
7
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.7.1.tgz",
8
+ "integrity": "sha1-vIAEFkaRkjp5/oN4u+s9ogF1OOw="
9
+ }
10
+ }
11
+ }