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,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,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,79 @@
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-geocoder.svg?style=flat-square
6
+ [npm-url]: https://www.npmjs.com/package/@esri/arcgis-rest-geocoder
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-geocoder
11
+
12
+ > Geocoding helpers for [`@esri/arcgis-rest-request`](https://github.com/Esri/arcgis-rest-js).
13
+
14
+ ### Example
15
+
16
+ ```bash
17
+ npm install @esri/arcgis-rest-request
18
+ npm install @esri/arcgis-rest-geocoder
19
+ ```
20
+
21
+ ```js
22
+ import { geocode } from '@esri/arcgis-rest-geocoder';
23
+
24
+ geocode("LAX")
25
+ .then((response) => {
26
+ response.candidates[0].location;
27
+ // => { x: -118.409, y: 33.943 }
28
+ });
29
+ ```
30
+
31
+ ### [API Reference](https://esri.github.io/arcgis-rest-js/api/geocoder/)
32
+
33
+ * [`geocode("1 World Way Los Angeles 90045")`](https://esri.github.io/arcgis-rest-js/api/geocoder/geocode/)
34
+
35
+ * [`suggest("Starb")`](https://esri.github.io/arcgis-rest-js/api/geocoder/suggest/)
36
+
37
+ * [`reverseGeocode([-118.409,33.943 ])`](https://esri.github.io/arcgis-rest-js/api/geocoder/reverseGeocode/)
38
+
39
+ * [`bulkGeocode()`](https://esri.github.io/arcgis-rest-js/api/geocoder/bulkGeocode/)
40
+
41
+ ### Issues
42
+
43
+ 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.
44
+
45
+ If you're looking for help you can also post issues on [GIS Stackexchange](http://gis.stackexchange.com/questions/ask?tags=esri-oss).
46
+
47
+ ### Versioning
48
+
49
+ 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.
50
+
51
+ For more information on SemVer, please visit <http://semver.org/>.
52
+
53
+ ### Contributing
54
+
55
+ Esri welcomes contributions from anyone and everyone. Please see our [guidelines for contributing](CONTRIBUTING.md).
56
+
57
+ ### In the wild
58
+
59
+ | What | Who |
60
+ | -- | -- |
61
+ | [React](https://twitter.com/oppoudel/status/1022209378378805249) component | [@oppoudel](https://github.com/oppoudel) |
62
+
63
+ ### License
64
+
65
+ Copyright &copy; 2017-2018 Esri
66
+
67
+ Licensed under the Apache License, Version 2.0 (the "License");
68
+ you may not use this file except in compliance with the License.
69
+ You may obtain a copy of the License at
70
+
71
+ > http://www.apache.org/licenses/LICENSE-2.0
72
+
73
+ Unless required by applicable law or agreed to in writing, software
74
+ distributed under the License is distributed on an "AS IS" BASIS,
75
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
76
+ See the License for the specific language governing permissions and
77
+ limitations under the License.
78
+
79
+ 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
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "@esri/arcgis-rest-geocoder",
3
+ "version": "1.13.0",
4
+ "description": "Geocoding helpers for @esri/arcgis-rest-request",
5
+ "main": "dist/node/index.js",
6
+ "browser": "dist/umd/geocoder.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": "Patrick Arlt",
44
+ "email": "parlt@esri.com",
45
+ "url": "http://patrickarlt.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
+ }