autnam 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 (490) hide show
  1. package/.env.example +2 -0
  2. package/.eslintrc.json +37 -0
  3. package/.github/workflows/deploy-docs.yml +27 -0
  4. package/.github/workflows/pre-release-tests.yml +49 -0
  5. package/.github/workflows/pull-request-tests.yml +49 -0
  6. package/.github/workflows/release.yml +75 -0
  7. package/.prettierignore +2 -0
  8. package/.prettierrc +19 -0
  9. package/.vscode/launch.json +25 -0
  10. package/.vscode/settings.json +5 -0
  11. package/codecov.yml +7 -0
  12. package/commitlint.config.cjs +41 -0
  13. package/demos/.eslintrc.js +13 -0
  14. package/demos/ago-node-cli/README.md +30 -0
  15. package/demos/ago-node-cli/ago.js +31 -0
  16. package/demos/ago-node-cli/index.js +11 -0
  17. package/demos/ago-node-cli/lib/item-export-command.js +48 -0
  18. package/demos/ago-node-cli/lib/item-search-command.js +32 -0
  19. package/demos/ago-node-cli/package.json +29 -0
  20. package/demos/attachments-browser/README.md +7 -0
  21. package/demos/attachments-browser/index.html +165 -0
  22. package/demos/attachments-browser/package.json +15 -0
  23. package/demos/attachments-node/README.md +4 -0
  24. package/demos/attachments-node/image.jpg +0 -0
  25. package/demos/attachments-node/index.js +89 -0
  26. package/demos/attachments-node/package.json +19 -0
  27. package/demos/batch-geocoder-node/NYC_Restaurant_Inspection_Results.csv +100 -0
  28. package/demos/batch-geocoder-node/README.md +13 -0
  29. package/demos/batch-geocoder-node/batch-geocode.js +112 -0
  30. package/demos/batch-geocoder-node/config-template.js +18 -0
  31. package/demos/batch-geocoder-node/package.json +34 -0
  32. package/demos/browser-es-modules/README.md +7 -0
  33. package/demos/browser-es-modules/index.html +38 -0
  34. package/demos/browser-es-modules/package.json +15 -0
  35. package/demos/deno/README.md +1 -0
  36. package/demos/deno/import_map.json +8 -0
  37. package/demos/deno/index.js +5 -0
  38. package/demos/express/README.md +16 -0
  39. package/demos/express/config.json.template +3 -0
  40. package/demos/express/package.json +15 -0
  41. package/demos/express/server.js +37 -0
  42. package/demos/feature-service-browser/README.md +8 -0
  43. package/demos/feature-service-browser/index.html +122 -0
  44. package/demos/feature-service-browser/package.json +15 -0
  45. package/demos/geocoder-browser/README.md +12 -0
  46. package/demos/geocoder-browser/authenticate.html +29 -0
  47. package/demos/geocoder-browser/config.js.template +1 -0
  48. package/demos/geocoder-browser/index.html +139 -0
  49. package/demos/geocoder-browser/package.json +15 -0
  50. package/demos/jsapi-integration/README.md +26 -0
  51. package/demos/jsapi-integration/authenticate.html +29 -0
  52. package/demos/jsapi-integration/config.js +6 -0
  53. package/demos/jsapi-integration/index.html +91 -0
  54. package/demos/jsapi-integration/package.json +15 -0
  55. package/demos/node-cli-item-management/README.md +11 -0
  56. package/demos/node-cli-item-management/index.js +229 -0
  57. package/demos/node-cli-item-management/package.json +24 -0
  58. package/demos/node-cli-item-management/screenshot.png +0 -0
  59. package/demos/node-common-js/README.md +4 -0
  60. package/demos/node-common-js/index.js +5 -0
  61. package/demos/node-common-js/package.json +15 -0
  62. package/demos/node-es-modules/README.md +4 -0
  63. package/demos/node-es-modules/index.js +5 -0
  64. package/demos/node-es-modules/package.json +16 -0
  65. package/demos/oauth2-browser/README.md +17 -0
  66. package/demos/oauth2-browser/authenticate.html +29 -0
  67. package/demos/oauth2-browser/config.js.template +6 -0
  68. package/demos/oauth2-browser/index.html +223 -0
  69. package/demos/oauth2-browser/logo.svg +4 -0
  70. package/demos/oauth2-browser/package.json +15 -0
  71. package/demos/oauth2-browser/style.css +36 -0
  72. package/demos/oauth2-browser-retry/README.md +32 -0
  73. package/demos/oauth2-browser-retry/authenticate.html +21 -0
  74. package/demos/oauth2-browser-retry/index.html +114 -0
  75. package/demos/oauth2-browser-retry/logo.svg +4 -0
  76. package/demos/oauth2-browser-retry/package.json +15 -0
  77. package/demos/parcel/README.md +8 -0
  78. package/demos/parcel/index.html +16 -0
  79. package/demos/parcel/index.js +8 -0
  80. package/demos/parcel/package.json +20 -0
  81. package/demos/snowpack/README.md +8 -0
  82. package/demos/snowpack/index.html +16 -0
  83. package/demos/snowpack/index.js +8 -0
  84. package/demos/snowpack/package.json +20 -0
  85. package/demos/snowpack/snowpack.config.js +3 -0
  86. package/demos/stream-response-to-file/README.md +7 -0
  87. package/demos/stream-response-to-file/index.js +36 -0
  88. package/demos/stream-response-to-file/output/.gitkeep +0 -0
  89. package/demos/stream-response-to-file/package.json +31 -0
  90. package/demos/tree-shaking-rollup/.babelrc +3 -0
  91. package/demos/tree-shaking-rollup/README.md +9 -0
  92. package/demos/tree-shaking-rollup/index.html +11 -0
  93. package/demos/tree-shaking-rollup/package.json +22 -0
  94. package/demos/tree-shaking-rollup/rollup.config.js +13 -0
  95. package/demos/tree-shaking-rollup/src/index.js +8 -0
  96. package/demos/tree-shaking-webpack/README.md +9 -0
  97. package/demos/tree-shaking-webpack/index.html +11 -0
  98. package/demos/tree-shaking-webpack/package.json +26 -0
  99. package/demos/tree-shaking-webpack/src/index.js +8 -0
  100. package/demos/tree-shaking-webpack/webpack.config.js +29 -0
  101. package/demos/vite/README.md +6 -0
  102. package/demos/vite/favicon.svg +15 -0
  103. package/demos/vite/index.html +13 -0
  104. package/demos/vite/main.js +8 -0
  105. package/demos/vite/package.json +18 -0
  106. package/demos/vue/.env.example +11 -0
  107. package/demos/vue/.eslintrc.js +17 -0
  108. package/demos/vue/.postcssrc.js +5 -0
  109. package/demos/vue/README.md +17 -0
  110. package/demos/vue/babel.config.js +3 -0
  111. package/demos/vue/package.json +35 -0
  112. package/demos/vue/public/favicon.ico +0 -0
  113. package/demos/vue/public/index.html +24 -0
  114. package/demos/vue/src/assets/logo.svg +29 -0
  115. package/demos/vue/src/components/App.vue +303 -0
  116. package/demos/vue/src/components/Authenticate.vue +65 -0
  117. package/demos/vue/src/components/Loader.vue +230 -0
  118. package/demos/vue/src/main.js +92 -0
  119. package/demos/webmap-checker-sapper/.env.example +5 -0
  120. package/demos/webmap-checker-sapper/README.md +124 -0
  121. package/demos/webmap-checker-sapper/appveyor.yml +18 -0
  122. package/demos/webmap-checker-sapper/cypress/fixtures/example.json +5 -0
  123. package/demos/webmap-checker-sapper/cypress/integration/spec.js +19 -0
  124. package/demos/webmap-checker-sapper/cypress/plugins/index.js +17 -0
  125. package/demos/webmap-checker-sapper/cypress/support/commands.js +25 -0
  126. package/demos/webmap-checker-sapper/cypress/support/index.js +20 -0
  127. package/demos/webmap-checker-sapper/cypress.json +4 -0
  128. package/demos/webmap-checker-sapper/package.json +47 -0
  129. package/demos/webmap-checker-sapper/rollup.config.js +87 -0
  130. package/demos/webmap-checker-sapper/src/client.js +20 -0
  131. package/demos/webmap-checker-sapper/src/components/LayerStatus.html +108 -0
  132. package/demos/webmap-checker-sapper/src/components/Nav.html +21 -0
  133. package/demos/webmap-checker-sapper/src/components/WebMap.html +62 -0
  134. package/demos/webmap-checker-sapper/src/routes/_error.html +41 -0
  135. package/demos/webmap-checker-sapper/src/routes/_layout.html +21 -0
  136. package/demos/webmap-checker-sapper/src/routes/auth/authorize.js +18 -0
  137. package/demos/webmap-checker-sapper/src/routes/auth/exchange-token.js +20 -0
  138. package/demos/webmap-checker-sapper/src/routes/auth/post-sign-in.js +24 -0
  139. package/demos/webmap-checker-sapper/src/routes/auth/sign-out.js +10 -0
  140. package/demos/webmap-checker-sapper/src/routes/index.html +20 -0
  141. package/demos/webmap-checker-sapper/src/routes/webmaps/[webmapId].html +83 -0
  142. package/demos/webmap-checker-sapper/src/routes/webmaps/index.html +59 -0
  143. package/demos/webmap-checker-sapper/src/server.js +102 -0
  144. package/demos/webmap-checker-sapper/src/service-worker.js +82 -0
  145. package/demos/webmap-checker-sapper/src/template.html +33 -0
  146. package/demos/webmap-checker-sapper/src/userInfoMiddleware.js +21 -0
  147. package/demos/webmap-checker-sapper/src/utils.js +33 -0
  148. package/demos/webmap-checker-sapper/static/favicon.png +0 -0
  149. package/demos/webmap-checker-sapper/static/global.css +36 -0
  150. package/demos/webmap-checker-sapper/static/manifest.json +20 -0
  151. package/demos/webmap-checker-sapper/static/svelte-logo-192.png +0 -0
  152. package/demos/webmap-checker-sapper/static/svelte-logo-512.png +0 -0
  153. package/docs/.eslintrc.js +12 -0
  154. package/docs/FAQ.md +48 -0
  155. package/docs/HISTORY.md +62 -0
  156. package/docs/acetate.config.js +262 -0
  157. package/docs/build-typedoc.js +434 -0
  158. package/docs/generate-srihashes.js +61 -0
  159. package/docs/package.json +3 -0
  160. package/docs/src/_layout.html +86 -0
  161. package/docs/src/api/_declaration.html +600 -0
  162. package/docs/src/api/_layout.html +204 -0
  163. package/docs/src/api/_package.html +38 -0
  164. package/docs/src/api/index.html +16 -0
  165. package/docs/src/guides/_layout.html +24 -0
  166. package/docs/src/guides/amd-requirejs-dojo.md +40 -0
  167. package/docs/src/guides/browser-authentication.md +39 -0
  168. package/docs/src/guides/bundlers.md +52 -0
  169. package/docs/src/guides/cli-authentication.md +9 -0
  170. package/docs/src/guides/client-server-authentication.md +9 -0
  171. package/docs/src/guides/embedded-apps.md +106 -0
  172. package/docs/src/guides/from-a-cdn.md +38 -0
  173. package/docs/src/guides/index.md +59 -0
  174. package/docs/src/guides/node.md +84 -0
  175. package/docs/src/guides/package-overview.md +111 -0
  176. package/docs/src/guides/server-authentication.md +9 -0
  177. package/docs/src/guides/whats-new-v2-0.md +305 -0
  178. package/docs/src/img/icons.png +0 -0
  179. package/docs/src/img/icons@2x.png +0 -0
  180. package/docs/src/img/oauth-browser.png +0 -0
  181. package/docs/src/index.html +12 -0
  182. package/docs/src/js/api-search.js +112 -0
  183. package/docs/src/js/nav-toggle.js +41 -0
  184. package/docs/src/sass/_highlight.scss +96 -0
  185. package/docs/src/sass/_icons.scss +157 -0
  186. package/docs/src/sass/style.scss +242 -0
  187. package/jasmine.json +7 -0
  188. package/jasmine.live.json +7 -0
  189. package/karma.conf.cjs +128 -0
  190. package/package.json +87 -0
  191. package/packages/arcgis-rest-auth/CHANGELOG.md +80 -0
  192. package/packages/arcgis-rest-auth/README.md +71 -0
  193. package/packages/arcgis-rest-auth/package.json +66 -0
  194. package/packages/arcgis-rest-auth/src/index.ts +34 -0
  195. package/packages/arcgis-rest-auth/tsconfig.json +6 -0
  196. package/packages/arcgis-rest-demographics/CHANGELOG.md +14 -0
  197. package/packages/arcgis-rest-demographics/README.md +74 -0
  198. package/packages/arcgis-rest-demographics/package.json +69 -0
  199. package/packages/arcgis-rest-demographics/src/getAvailableCountries.ts +113 -0
  200. package/packages/arcgis-rest-demographics/src/getAvailableDataCollections.ts +161 -0
  201. package/packages/arcgis-rest-demographics/src/getAvailableGeographyLevels.ts +86 -0
  202. package/packages/arcgis-rest-demographics/src/getGeography.ts +152 -0
  203. package/packages/arcgis-rest-demographics/src/helpers.ts +27 -0
  204. package/packages/arcgis-rest-demographics/src/index.ts +16 -0
  205. package/packages/arcgis-rest-demographics/src/queryDemographicData.ts +108 -0
  206. package/packages/arcgis-rest-demographics/test/getAvailableCountries.test.ts +89 -0
  207. package/packages/arcgis-rest-demographics/test/getAvailableDataCollections.test.ts +114 -0
  208. package/packages/arcgis-rest-demographics/test/getAvailableGeographyLevels.test.ts +69 -0
  209. package/packages/arcgis-rest-demographics/test/getGeography.test.ts +150 -0
  210. package/packages/arcgis-rest-demographics/test/mocks/responses.ts +4 -0
  211. package/packages/arcgis-rest-demographics/test/queryDemographicData.test.live.ts +50 -0
  212. package/packages/arcgis-rest-demographics/test/queryDemographicData.test.ts +127 -0
  213. package/packages/arcgis-rest-demographics/tsconfig.json +6 -0
  214. package/packages/arcgis-rest-feature-service/CHANGELOG.md +44 -0
  215. package/packages/arcgis-rest-feature-service/README.md +75 -0
  216. package/packages/arcgis-rest-feature-service/package.json +70 -0
  217. package/packages/arcgis-rest-feature-service/src/add.ts +55 -0
  218. package/packages/arcgis-rest-feature-service/src/addAttachment.ts +53 -0
  219. package/packages/arcgis-rest-feature-service/src/addToServiceDefinition.ts +74 -0
  220. package/packages/arcgis-rest-feature-service/src/applyEdits.ts +94 -0
  221. package/packages/arcgis-rest-feature-service/src/createFeatureService.ts +191 -0
  222. package/packages/arcgis-rest-feature-service/src/decodeValues.ts +126 -0
  223. package/packages/arcgis-rest-feature-service/src/delete.ts +62 -0
  224. package/packages/arcgis-rest-feature-service/src/deleteAttachments.ts +52 -0
  225. package/packages/arcgis-rest-feature-service/src/getAllLayersAndTables.ts +30 -0
  226. package/packages/arcgis-rest-feature-service/src/getAttachments.ts +55 -0
  227. package/packages/arcgis-rest-feature-service/src/getLayer.ts +23 -0
  228. package/packages/arcgis-rest-feature-service/src/getService.ts +25 -0
  229. package/packages/arcgis-rest-feature-service/src/getServiceAdminInfo.ts +33 -0
  230. package/packages/arcgis-rest-feature-service/src/getViewSources.ts +19 -0
  231. package/packages/arcgis-rest-feature-service/src/helpers.ts +768 -0
  232. package/packages/arcgis-rest-feature-service/src/index.ts +37 -0
  233. package/packages/arcgis-rest-feature-service/src/query.ts +200 -0
  234. package/packages/arcgis-rest-feature-service/src/queryRelated.ts +86 -0
  235. package/packages/arcgis-rest-feature-service/src/update.ts +65 -0
  236. package/packages/arcgis-rest-feature-service/src/updateAttachment.ts +59 -0
  237. package/packages/arcgis-rest-feature-service/src/updateServiceDefinition.ts +53 -0
  238. package/packages/arcgis-rest-feature-service/test/addToServiceDefinition.test.ts +350 -0
  239. package/packages/arcgis-rest-feature-service/test/attachments.test.ts +188 -0
  240. package/packages/arcgis-rest-feature-service/test/createFeatureService.test.ts +279 -0
  241. package/packages/arcgis-rest-feature-service/test/crud.test.ts +196 -0
  242. package/packages/arcgis-rest-feature-service/test/decodeValues.test.ts +66 -0
  243. package/packages/arcgis-rest-feature-service/test/getAllLayersAndTables.test.ts +27 -0
  244. package/packages/arcgis-rest-feature-service/test/getLayer.test.ts +30 -0
  245. package/packages/arcgis-rest-feature-service/test/getService.test.ts +30 -0
  246. package/packages/arcgis-rest-feature-service/test/getServiceAdminInfo.test.ts +41 -0
  247. package/packages/arcgis-rest-feature-service/test/getViewSources.test.ts +45 -0
  248. package/packages/arcgis-rest-feature-service/test/helpers.test.ts +27 -0
  249. package/packages/arcgis-rest-feature-service/test/mocks/allLayersAndTablesResponse.ts +950 -0
  250. package/packages/arcgis-rest-feature-service/test/mocks/cvdQueryResponse.ts +225 -0
  251. package/packages/arcgis-rest-feature-service/test/mocks/feature.ts +302 -0
  252. package/packages/arcgis-rest-feature-service/test/mocks/fields.ts +779 -0
  253. package/packages/arcgis-rest-feature-service/test/mocks/foo.txt +1 -0
  254. package/packages/arcgis-rest-feature-service/test/mocks/layerDefinition.ts +80 -0
  255. package/packages/arcgis-rest-feature-service/test/mocks/service.ts +476 -0
  256. package/packages/arcgis-rest-feature-service/test/query.test.ts +166 -0
  257. package/packages/arcgis-rest-feature-service/test/updateServiceDefinition.test.ts +103 -0
  258. package/packages/arcgis-rest-feature-service/tsconfig.json +9 -0
  259. package/packages/arcgis-rest-fetch/README.md +17 -0
  260. package/packages/arcgis-rest-fetch/browser-ponyfill.js +8 -0
  261. package/packages/arcgis-rest-fetch/browser-ponyfill.mjs +8 -0
  262. package/packages/arcgis-rest-fetch/index.types.d.ts +8 -0
  263. package/packages/arcgis-rest-fetch/node-ponyfill.js +10 -0
  264. package/packages/arcgis-rest-fetch/node-ponyfill.mjs +10 -0
  265. package/packages/arcgis-rest-fetch/package.json +21 -0
  266. package/packages/arcgis-rest-form-data/README.md +15 -0
  267. package/packages/arcgis-rest-form-data/browser-ponyfill.js +5 -0
  268. package/packages/arcgis-rest-form-data/browser-ponyfill.mjs +3 -0
  269. package/packages/arcgis-rest-form-data/index.types.d.ts +9 -0
  270. package/packages/arcgis-rest-form-data/node-ponyfill.js +7 -0
  271. package/packages/arcgis-rest-form-data/node-ponyfill.mjs +5 -0
  272. package/packages/arcgis-rest-form-data/package.json +21 -0
  273. package/packages/arcgis-rest-geocoding/CHANGELOG.md +26 -0
  274. package/packages/arcgis-rest-geocoding/README.md +85 -0
  275. package/packages/arcgis-rest-geocoding/package.json +69 -0
  276. package/packages/arcgis-rest-geocoding/src/bulk.ts +106 -0
  277. package/packages/arcgis-rest-geocoding/src/geocode.ts +169 -0
  278. package/packages/arcgis-rest-geocoding/src/helpers.ts +56 -0
  279. package/packages/arcgis-rest-geocoding/src/index.ts +17 -0
  280. package/packages/arcgis-rest-geocoding/src/reverse.ts +82 -0
  281. package/packages/arcgis-rest-geocoding/src/suggest.ts +45 -0
  282. package/packages/arcgis-rest-geocoding/test/bulk.test.ts +193 -0
  283. package/packages/arcgis-rest-geocoding/test/geocode.test.ts +254 -0
  284. package/packages/arcgis-rest-geocoding/test/helpers.test.ts +85 -0
  285. package/packages/arcgis-rest-geocoding/test/mocks/responses.ts +1031 -0
  286. package/packages/arcgis-rest-geocoding/test/reverse.test.ts +124 -0
  287. package/packages/arcgis-rest-geocoding/test/suggest.test.ts +53 -0
  288. package/packages/arcgis-rest-geocoding/tsconfig.json +6 -0
  289. package/packages/arcgis-rest-portal/CHANGELOG.md +73 -0
  290. package/packages/arcgis-rest-portal/README.md +72 -0
  291. package/packages/arcgis-rest-portal/package.json +68 -0
  292. package/packages/arcgis-rest-portal/src/groups/add-users.ts +140 -0
  293. package/packages/arcgis-rest-portal/src/groups/create.ts +42 -0
  294. package/packages/arcgis-rest-portal/src/groups/get.ts +187 -0
  295. package/packages/arcgis-rest-portal/src/groups/helpers.ts +14 -0
  296. package/packages/arcgis-rest-portal/src/groups/invite-users.ts +141 -0
  297. package/packages/arcgis-rest-portal/src/groups/join.ts +57 -0
  298. package/packages/arcgis-rest-portal/src/groups/notification.ts +77 -0
  299. package/packages/arcgis-rest-portal/src/groups/protect.ts +56 -0
  300. package/packages/arcgis-rest-portal/src/groups/remove-users.ts +84 -0
  301. package/packages/arcgis-rest-portal/src/groups/remove.ts +32 -0
  302. package/packages/arcgis-rest-portal/src/groups/search.ts +48 -0
  303. package/packages/arcgis-rest-portal/src/groups/update-user-membership.ts +63 -0
  304. package/packages/arcgis-rest-portal/src/groups/update.ts +39 -0
  305. package/packages/arcgis-rest-portal/src/helpers.ts +83 -0
  306. package/packages/arcgis-rest-portal/src/index.ts +68 -0
  307. package/packages/arcgis-rest-portal/src/items/add.ts +145 -0
  308. package/packages/arcgis-rest-portal/src/items/content.ts +70 -0
  309. package/packages/arcgis-rest-portal/src/items/create.ts +149 -0
  310. package/packages/arcgis-rest-portal/src/items/export.ts +92 -0
  311. package/packages/arcgis-rest-portal/src/items/get.ts +444 -0
  312. package/packages/arcgis-rest-portal/src/items/helpers.ts +272 -0
  313. package/packages/arcgis-rest-portal/src/items/protect.ts +41 -0
  314. package/packages/arcgis-rest-portal/src/items/reassign.ts +59 -0
  315. package/packages/arcgis-rest-portal/src/items/remove.ts +139 -0
  316. package/packages/arcgis-rest-portal/src/items/search.ts +25 -0
  317. package/packages/arcgis-rest-portal/src/items/update.ts +188 -0
  318. package/packages/arcgis-rest-portal/src/items/upload.ts +124 -0
  319. package/packages/arcgis-rest-portal/src/orgs/notification.ts +148 -0
  320. package/packages/arcgis-rest-portal/src/services/get-unique-service-name.ts +35 -0
  321. package/packages/arcgis-rest-portal/src/services/is-service-name-available.ts +29 -0
  322. package/packages/arcgis-rest-portal/src/sharing/access.ts +84 -0
  323. package/packages/arcgis-rest-portal/src/sharing/helpers.ts +80 -0
  324. package/packages/arcgis-rest-portal/src/sharing/is-item-shared-with-group.ts +42 -0
  325. package/packages/arcgis-rest-portal/src/sharing/share-item-with-group.ts +335 -0
  326. package/packages/arcgis-rest-portal/src/sharing/unshare-item-with-group.ts +114 -0
  327. package/packages/arcgis-rest-portal/src/users/get-user-tags.ts +52 -0
  328. package/packages/arcgis-rest-portal/src/users/get-user-url.ts +18 -0
  329. package/packages/arcgis-rest-portal/src/users/get-user.ts +60 -0
  330. package/packages/arcgis-rest-portal/src/users/invitation.ts +157 -0
  331. package/packages/arcgis-rest-portal/src/users/notification.ts +67 -0
  332. package/packages/arcgis-rest-portal/src/users/search-users.ts +35 -0
  333. package/packages/arcgis-rest-portal/src/users/update.ts +63 -0
  334. package/packages/arcgis-rest-portal/src/util/SearchQueryBuilder.ts +391 -0
  335. package/packages/arcgis-rest-portal/src/util/array.ts +16 -0
  336. package/packages/arcgis-rest-portal/src/util/generic-search.ts +111 -0
  337. package/packages/arcgis-rest-portal/src/util/get-portal-settings.ts +44 -0
  338. package/packages/arcgis-rest-portal/src/util/get-portal-url.ts +32 -0
  339. package/packages/arcgis-rest-portal/src/util/get-portal.ts +53 -0
  340. package/packages/arcgis-rest-portal/src/util/get-subscription-info.ts +43 -0
  341. package/packages/arcgis-rest-portal/src/util/scrub-control-chars.ts +13 -0
  342. package/packages/arcgis-rest-portal/src/util/search.ts +48 -0
  343. package/packages/arcgis-rest-portal/test/groups/add-users.test.ts +238 -0
  344. package/packages/arcgis-rest-portal/test/groups/crud.test.ts +183 -0
  345. package/packages/arcgis-rest-portal/test/groups/get.test.ts +174 -0
  346. package/packages/arcgis-rest-portal/test/groups/invite-users.test.ts +146 -0
  347. package/packages/arcgis-rest-portal/test/groups/join.test.ts +71 -0
  348. package/packages/arcgis-rest-portal/test/groups/notification.test.ts +111 -0
  349. package/packages/arcgis-rest-portal/test/groups/protect.test.ts +71 -0
  350. package/packages/arcgis-rest-portal/test/groups/remove-users.test.ts +140 -0
  351. package/packages/arcgis-rest-portal/test/groups/search.test.ts +151 -0
  352. package/packages/arcgis-rest-portal/test/groups/update-user-membership.test.ts +64 -0
  353. package/packages/arcgis-rest-portal/test/items/add.test.ts +320 -0
  354. package/packages/arcgis-rest-portal/test/items/content.test.ts +161 -0
  355. package/packages/arcgis-rest-portal/test/items/create.test.ts +404 -0
  356. package/packages/arcgis-rest-portal/test/items/export.test.ts +115 -0
  357. package/packages/arcgis-rest-portal/test/items/get.test.ts +606 -0
  358. package/packages/arcgis-rest-portal/test/items/helpers.test.ts +60 -0
  359. package/packages/arcgis-rest-portal/test/items/protect.test.ts +120 -0
  360. package/packages/arcgis-rest-portal/test/items/reassign.test.ts +130 -0
  361. package/packages/arcgis-rest-portal/test/items/remove.test.ts +259 -0
  362. package/packages/arcgis-rest-portal/test/items/search.test.ts +274 -0
  363. package/packages/arcgis-rest-portal/test/items/update.test.ts +549 -0
  364. package/packages/arcgis-rest-portal/test/items/upload.test.ts +286 -0
  365. package/packages/arcgis-rest-portal/test/mocks/groups/responses.ts +208 -0
  366. package/packages/arcgis-rest-portal/test/mocks/items/foo.zip +0 -0
  367. package/packages/arcgis-rest-portal/test/mocks/items/item.ts +526 -0
  368. package/packages/arcgis-rest-portal/test/mocks/items/resources.ts +38 -0
  369. package/packages/arcgis-rest-portal/test/mocks/items/search.ts +121 -0
  370. package/packages/arcgis-rest-portal/test/mocks/portal/response.ts +126 -0
  371. package/packages/arcgis-rest-portal/test/mocks/portal/settings-response.ts +56 -0
  372. package/packages/arcgis-rest-portal/test/mocks/sharing/sharing.ts +18 -0
  373. package/packages/arcgis-rest-portal/test/mocks/users/invitation.ts +70 -0
  374. package/packages/arcgis-rest-portal/test/mocks/users/notification.ts +34 -0
  375. package/packages/arcgis-rest-portal/test/mocks/users/user-search.ts +388 -0
  376. package/packages/arcgis-rest-portal/test/mocks/users/user-tags.ts +5 -0
  377. package/packages/arcgis-rest-portal/test/mocks/users/user.ts +174 -0
  378. package/packages/arcgis-rest-portal/test/orgs/notification.test.ts +142 -0
  379. package/packages/arcgis-rest-portal/test/services/get-unique-service-name.test.ts +64 -0
  380. package/packages/arcgis-rest-portal/test/services/is-service-name-available.test.ts +41 -0
  381. package/packages/arcgis-rest-portal/test/sharing/access.test.ts +162 -0
  382. package/packages/arcgis-rest-portal/test/sharing/helpers.test.ts +55 -0
  383. package/packages/arcgis-rest-portal/test/sharing/share-item-with-group.test.ts +1328 -0
  384. package/packages/arcgis-rest-portal/test/sharing/unshare-item-with-group.test.ts +288 -0
  385. package/packages/arcgis-rest-portal/test/users/get-user-tags.test.ts +71 -0
  386. package/packages/arcgis-rest-portal/test/users/get-user-url.test.ts +40 -0
  387. package/packages/arcgis-rest-portal/test/users/get-user.test.ts +90 -0
  388. package/packages/arcgis-rest-portal/test/users/invitation.test.ts +126 -0
  389. package/packages/arcgis-rest-portal/test/users/notification.test.ts +76 -0
  390. package/packages/arcgis-rest-portal/test/users/search.test.ts +41 -0
  391. package/packages/arcgis-rest-portal/test/users/update.test.ts +150 -0
  392. package/packages/arcgis-rest-portal/test/util/SearchQueryBuilder.test.ts +295 -0
  393. package/packages/arcgis-rest-portal/test/util/array.test.ts +33 -0
  394. package/packages/arcgis-rest-portal/test/util/get-portal-settings.test.ts +57 -0
  395. package/packages/arcgis-rest-portal/test/util/get-portal-url.test.ts +37 -0
  396. package/packages/arcgis-rest-portal/test/util/portal.test.ts +137 -0
  397. package/packages/arcgis-rest-portal/test/util/scrub-control-chars.test.ts +25 -0
  398. package/packages/arcgis-rest-portal/tsconfig.json +6 -0
  399. package/packages/arcgis-rest-request/README.md +72 -0
  400. package/packages/arcgis-rest-request/package.json +69 -0
  401. package/packages/arcgis-rest-request/post-message-auth-spec.md +70 -0
  402. package/packages/arcgis-rest-request/src/ApiKeyManager.ts +60 -0
  403. package/packages/arcgis-rest-request/src/ApplicationCredentialsManager.ts +141 -0
  404. package/packages/arcgis-rest-request/src/ArcGISIdentityManager.ts +1470 -0
  405. package/packages/arcgis-rest-request/src/app-tokens.ts +132 -0
  406. package/packages/arcgis-rest-request/src/authenticated-request-options.ts +23 -0
  407. package/packages/arcgis-rest-request/src/federation-utils.ts +88 -0
  408. package/packages/arcgis-rest-request/src/fetch-token.ts +48 -0
  409. package/packages/arcgis-rest-request/src/generate-token.ts +32 -0
  410. package/packages/arcgis-rest-request/src/index.ts +46 -0
  411. package/packages/arcgis-rest-request/src/request.ts +446 -0
  412. package/packages/arcgis-rest-request/src/revoke-token.ts +73 -0
  413. package/packages/arcgis-rest-request/src/types/feature.ts +42 -0
  414. package/packages/arcgis-rest-request/src/types/geometry.ts +239 -0
  415. package/packages/arcgis-rest-request/src/types/group.ts +72 -0
  416. package/packages/arcgis-rest-request/src/types/service.ts +87 -0
  417. package/packages/arcgis-rest-request/src/types/symbol.ts +21 -0
  418. package/packages/arcgis-rest-request/src/types/user.ts +49 -0
  419. package/packages/arcgis-rest-request/src/utils/ArcGISRequestError.ts +82 -0
  420. package/packages/arcgis-rest-request/src/utils/ErrorTypes.ts +29 -0
  421. package/packages/arcgis-rest-request/src/utils/GrantTypes.ts +5 -0
  422. package/packages/arcgis-rest-request/src/utils/HTTPMethods.ts +6 -0
  423. package/packages/arcgis-rest-request/src/utils/IAuthenticationManager.ts +22 -0
  424. package/packages/arcgis-rest-request/src/utils/IFetchTokenParams.ts +11 -0
  425. package/packages/arcgis-rest-request/src/utils/IGenerateTokenParams.ts +9 -0
  426. package/packages/arcgis-rest-request/src/utils/IParamBuilder.ts +3 -0
  427. package/packages/arcgis-rest-request/src/utils/IParams.ts +6 -0
  428. package/packages/arcgis-rest-request/src/utils/IParamsBuilder.ts +5 -0
  429. package/packages/arcgis-rest-request/src/utils/IRequestOptions.ts +59 -0
  430. package/packages/arcgis-rest-request/src/utils/ITokenRequestOptions.ts +9 -0
  431. package/packages/arcgis-rest-request/src/utils/ResponseFormats.ts +10 -0
  432. package/packages/arcgis-rest-request/src/utils/append-custom-params.ts +46 -0
  433. package/packages/arcgis-rest-request/src/utils/clean-url.ts +20 -0
  434. package/packages/arcgis-rest-request/src/utils/decode-query-string.ts +27 -0
  435. package/packages/arcgis-rest-request/src/utils/encode-form-data.ts +41 -0
  436. package/packages/arcgis-rest-request/src/utils/encode-query-string.ts +37 -0
  437. package/packages/arcgis-rest-request/src/utils/process-params.ts +109 -0
  438. package/packages/arcgis-rest-request/src/utils/retryAuthError.ts +10 -0
  439. package/packages/arcgis-rest-request/src/utils/warn.ts +11 -0
  440. package/packages/arcgis-rest-request/src/utils/with-options.ts +48 -0
  441. package/packages/arcgis-rest-request/src/validate-app-access.ts +69 -0
  442. package/packages/arcgis-rest-request/test/ApiKey.test.ts +53 -0
  443. package/packages/arcgis-rest-request/test/ApplicationSession.test.ts +148 -0
  444. package/packages/arcgis-rest-request/test/ArcGISIdentityManager.test.ts +2579 -0
  445. package/packages/arcgis-rest-request/test/app-tokens.test.ts +91 -0
  446. package/packages/arcgis-rest-request/test/federation-utils.test.ts +323 -0
  447. package/packages/arcgis-rest-request/test/fetchToken.test.ts +110 -0
  448. package/packages/arcgis-rest-request/test/generateToken.test.ts +40 -0
  449. package/packages/arcgis-rest-request/test/mocks/errors.ts +76 -0
  450. package/packages/arcgis-rest-request/test/mocks/geojson-feature-collection.ts +13 -0
  451. package/packages/arcgis-rest-request/test/mocks/param-builder.ts +7 -0
  452. package/packages/arcgis-rest-request/test/mocks/sharing-rest-info.ts +41 -0
  453. package/packages/arcgis-rest-request/test/mocks/webmap.ts +41 -0
  454. package/packages/arcgis-rest-request/test/request.test.ts +563 -0
  455. package/packages/arcgis-rest-request/test/revoke-token.test.ts +55 -0
  456. package/packages/arcgis-rest-request/test/utils/ArcGISAuthError.test.ts +196 -0
  457. package/packages/arcgis-rest-request/test/utils/ArcGISRequestError.test.ts +51 -0
  458. package/packages/arcgis-rest-request/test/utils/check-for-errors.test.ts +111 -0
  459. package/packages/arcgis-rest-request/test/utils/clean-url.test.ts +50 -0
  460. package/packages/arcgis-rest-request/test/utils/encode-form-data.test.ts +146 -0
  461. package/packages/arcgis-rest-request/test/utils/encode-query-string.test.ts +22 -0
  462. package/packages/arcgis-rest-request/test/utils/process-params.test.ts +205 -0
  463. package/packages/arcgis-rest-request/test/utils/with-options.test.ts +135 -0
  464. package/packages/arcgis-rest-request/test/validate-app-access.test.ts +44 -0
  465. package/packages/arcgis-rest-request/tsconfig.json +4 -0
  466. package/packages/arcgis-rest-routing/README.md +74 -0
  467. package/packages/arcgis-rest-routing/package.json +69 -0
  468. package/packages/arcgis-rest-routing/src/closestFacility.ts +223 -0
  469. package/packages/arcgis-rest-routing/src/helpers.ts +104 -0
  470. package/packages/arcgis-rest-routing/src/index.ts +20 -0
  471. package/packages/arcgis-rest-routing/src/originDestinationMatrix.ts +219 -0
  472. package/packages/arcgis-rest-routing/src/serviceArea.ts +169 -0
  473. package/packages/arcgis-rest-routing/src/solveRoute.ts +179 -0
  474. package/packages/arcgis-rest-routing/test/closestFacility.test.ts +686 -0
  475. package/packages/arcgis-rest-routing/test/mocks/inputs.ts +132 -0
  476. package/packages/arcgis-rest-routing/test/mocks/responses.ts +13316 -0
  477. package/packages/arcgis-rest-routing/test/originDestinationMatrix.test.ts +795 -0
  478. package/packages/arcgis-rest-routing/test/serviceArea.test.ts +601 -0
  479. package/packages/arcgis-rest-routing/test/solveRoute.test.ts +681 -0
  480. package/packages/arcgis-rest-routing/tsconfig.json +6 -0
  481. package/prettier-package-json.config.cjs +81 -0
  482. package/rollup.js +152 -0
  483. package/scripts/create-dist-package-jsons.js +17 -0
  484. package/scripts/deploy-doc-site.js +16 -0
  485. package/scripts/generate-sri-hashes.js +52 -0
  486. package/scripts/get-package-json.js +27 -0
  487. package/scripts/run-demo-server.js +21 -0
  488. package/scripts/test-helpers.ts +20 -0
  489. package/tsconfig.json +62 -0
  490. package/typedoc.json +14 -0
@@ -0,0 +1,7 @@
1
+ # ArcGIS REST JS + Native Browser Modules
2
+
3
+ 1. Run `npm run build` in the root directory
4
+ 1. Run `npm start` to spin up the development server.
5
+ 1. Visit [http://localhost:8080](http://localhost:8080).
6
+
7
+ **Note:** The server starts with a special configuration to serve URLs starting with `@esri/arcgis-rest-*` from their respective packages. In your application you will need to change these URLs to point to their respective locations.
@@ -0,0 +1,38 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="utf-8">
6
+ <title>ArcGIS REST JS Browser w/ Modules</title>
7
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css"
8
+ integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
9
+
10
+ </head>
11
+
12
+ <body>
13
+ <!-- Load the ES Modules Polyfill so we can use importmap in FF and Safari -->
14
+ <script async src="https://unpkg.com/es-module-shims@0.13.1/dist/es-module-shims.js"></script>
15
+
16
+ <!-- Map package imports to URLS starting with @esri/... which will get served from the local build of the modules -->
17
+ <script type="importmap">
18
+ {
19
+ "imports": {
20
+ "@esri/arcgis-rest-request": "/@esri/arcgis-rest-request/dist/bundled/request.esm.js",
21
+ "@esri/arcgis-rest-portal": "/@esri/arcgis-rest-portal/dist/bundled/portal.esm.js"
22
+ }
23
+ }
24
+ </script>
25
+
26
+ <script type="module">
27
+ import { searchItems } from "@esri/arcgis-rest-portal";
28
+
29
+ let element = document.createElement("pre");
30
+ document.body.appendChild(element);
31
+
32
+ searchItems("water").then((response) => {
33
+ element.textContent = JSON.stringify(response, null, 2); // false
34
+ });
35
+ </script>
36
+ </body>
37
+
38
+ </html>
@@ -0,0 +1,15 @@
1
+ {
2
+ "private": true,
3
+ "name": "@esri/arcgis-rest-demo-browser-es-modules",
4
+ "version": "3.3.0",
5
+ "description": "Vanilla JavaScript demo of @esri/arcgis-rest-* packages",
6
+ "license": "Apache-2.0",
7
+ "scripts": {
8
+ "start": "node ../../scripts/run-demo-server.js"
9
+ },
10
+ "dependencies": {
11
+ "@esri/arcgis-rest-portal": "^3.3.0",
12
+ "@esri/arcgis-rest-request": "^3.3.0"
13
+ },
14
+ "author": ""
15
+ }
@@ -0,0 +1 @@
1
+ `deno run --allow-net --import-map ./import_map.json index.js`
@@ -0,0 +1,8 @@
1
+ {
2
+ "imports": {
3
+ "@esri/arcgis-rest-form-data": "../../packages/arcgis-rest-form-data/browser-ponyfill.mjs",
4
+ "@esri/arcgis-rest-fetch": "../../packages/arcgis-rest-fetch/browser-ponyfill.mjs",
5
+ "@esri/arcgis-rest-request": "../../packages/arcgis-rest-request/dist/esm/index.js",
6
+ "@esri/arcgis-rest-portal": "../../packages/arcgis-rest-portal/dist/esm/index.js"
7
+ }
8
+ }
@@ -0,0 +1,5 @@
1
+ import { searchItems } from "@esri/arcgis-rest-portal";
2
+
3
+ searchItems("water").then((response) => {
4
+ console.log(response);
5
+ });
@@ -0,0 +1,16 @@
1
+ # ArcGIS REST JS Express Demo
2
+
3
+ This demo explains how to trigger OAuth 2.0 via custom server-side code
4
+
5
+ ## Setup
6
+
7
+ 1. Make sure you run `npm run build` in the root folder to setup the dependencies
8
+ 2. Create a new application on https://developers.arcgis.com
9
+ 3. Add `http://localhost:3000/authenticate` as a redirect uri for your application.
10
+ 4. Copy the `config.json.template` file, rename it to `config.json`
11
+ 5. Copy your application's client id into your new `config.json` file.
12
+
13
+ ## Running the demo
14
+
15
+ 6. `npm start`
16
+ 7. Visit http://localhost:3000/authorize to start the OAuth 2.0 process.
@@ -0,0 +1,3 @@
1
+ {
2
+ "clientId": "QVQNb3XfDzoboWS0" // change me
3
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "private": true,
3
+ "name": "@esri/arcgis-rest-demo-express",
4
+ "version": "3.3.0",
5
+ "description": "Demo of @esri/arcgis-rest-* packages in an Express server",
6
+ "license": "Apache-2.0",
7
+ "scripts": {
8
+ "start": "node server.js"
9
+ },
10
+ "dependencies": {
11
+ "@esri/arcgis-rest-request": "^3.3.0",
12
+ "express": "^4.16.3"
13
+ },
14
+ "author": ""
15
+ }
@@ -0,0 +1,37 @@
1
+ const express = require("express");
2
+ const app = express();
3
+ const { UserSession } = require("@esri/arcgis-rest-request");
4
+ const { clientId } = require("./config.json");
5
+
6
+ const credentials = {
7
+ clientId,
8
+ redirectUri: "http://localhost:3000/authenticate"
9
+ };
10
+
11
+ app.get("/authorize", function (req, res) {
12
+ // send the user to the authorization screen
13
+ UserSession.authorize(credentials, res);
14
+ });
15
+
16
+ // the after authorizing the user is redirected to /authenticate
17
+ app.get("/authenticate", function (req, res) {
18
+ if (credentials) {
19
+ // the user will be redirected with an authorization code we will need to exchange for tokens.
20
+ // After exchanging we will have a UserSession we can use in REST JS.
21
+ UserSession.exchangeAuthorizationCode(credentials, req.query.code)
22
+ .then((session) => {
23
+ // get the users info
24
+ return session.getUser();
25
+ })
26
+ .then((user) => {
27
+ // send the info to the browser
28
+ res.send(`<pre>${JSON.stringify(user, null, 2)}</pre>`);
29
+ });
30
+ } else {
31
+ res.send("please visit http://localhost:3000/authorize");
32
+ }
33
+ });
34
+
35
+ app.listen(3000, function () {
36
+ console.log("visit http://localhost:3000/authorize to test the application!");
37
+ });
@@ -0,0 +1,8 @@
1
+ # Running this demo
2
+
3
+ 1. Make sure you run `npm run build` in the root folder to setup the dependencies
4
+ 1. `npm start`
5
+ 1. Visit http://localhost:8080
6
+ 1. Enter a search term and click "Search" to see results
7
+
8
+ **Note:** The server starts with a special configuration to serve URLs starting with `@esri/arcgis-rest-*` from their respective packages. In your application you will need to change these URLs to point to their respective locations.
@@ -0,0 +1,122 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
5
+ </head>
6
+ <body>
7
+
8
+ <div class="container-fluid">
9
+ <div class="row">
10
+ <div class="col-md-12">
11
+ <div class="jumbotron" >
12
+ <h1>query features!</h1>
13
+ <form id="queryForm" class="form-inline">
14
+ <div class="form-group">
15
+ <label for="resultRecordCount">Show up to</label>
16
+ <select id="resultRecordCount" class="form-control">
17
+ <option>5</option>
18
+ <option selected>10</option>
19
+ <option>25</option>
20
+ <option>50</option>
21
+ </select>
22
+ </div>
23
+ <div class="form-group">
24
+ <label for="queryField">records where</label>
25
+ <select id="queryField" class="form-control">
26
+ <option value="Cmn_Name">Type</option>
27
+ <option value="Condition">Condition</option>
28
+ </select>
29
+ </div>
30
+ <div class="form-group">
31
+ <label for="queryTerm">contains</label>
32
+ <input type="text" class="form-control" id="queryTerm" style="width: 200px" tabindex="0">
33
+ </div>
34
+ <button type="submit" class="btn btn-default">Go</button>
35
+ </form>
36
+ </div>
37
+ </div>
38
+ </div>
39
+ <div class="row">
40
+ <div class="col-md-12">
41
+ <table id="featureTable" class="table table-striped" style="display: none">
42
+ <thead>
43
+ <tr>
44
+ <th>Tree ID</th>
45
+ <th>Type</th>
46
+ <th>Condition</th>
47
+ </tr>
48
+ </thead>
49
+ <tbody id="tableBody">
50
+ </tbody>
51
+ </table>
52
+ <p id="suggestedTermsMessage">Try 'elm' or 'oak' for <strong>Type</strong>. Try 'fair' or 'good' for <strong>Condition</strong>.</p id="suggestedTermsMessage">
53
+ <p id="recordCountMessage"></p>
54
+ <p id="additionalRowsMessage" style="display: none" class="alert alert-warning">There are additional rows that meet your query criteria.</p>
55
+ </div>
56
+ </div>
57
+ </div>
58
+
59
+ <!-- load arcgis rest libraries -->
60
+ <script src="@esri/arcgis-rest-request/dist/bundled/request.umd.js"></script>
61
+ <script src="@esri/arcgis-rest-feature-service/dist/bundled/feature-layer.umd.js"></script>
62
+
63
+ <script>
64
+ // respond when a user fills out the query form and
65
+ // either hits enter or clicks on the button
66
+ var queryForm = document.getElementById('queryForm');
67
+ queryForm.addEventListener('submit', function (e) {
68
+ // don't submit the form and reload the page (the default behavior)
69
+ e.preventDefault();
70
+ // get query params from form fields
71
+ var queryField = e.target.queryField.value;
72
+ var queryTerm = e.target.queryTerm.value;
73
+ var resultRecordCount = e.target.resultRecordCount.value;
74
+ // execute the query
75
+ queryTrees(queryField, queryTerm, resultRecordCount)
76
+ .then(function(response) {
77
+ // display the features in a table
78
+ refreshTable(response);
79
+ });
80
+ });
81
+
82
+ // perform query against the feature service and
83
+ // return a promise that will resolve with the response
84
+ function queryTrees(queryField, queryTerm, resultRecordCount) {
85
+ return arcgisRest.queryFeatures({
86
+ url: 'https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/Landscape_Trees/FeatureServer/0',
87
+ // see: https://developers.arcgis.com/rest/services-reference/query-feature-service-layer-.htm
88
+ // for all possible query parameters
89
+ params: {
90
+ // NOTE: returnGeometry is set to false by default
91
+ where: queryField + ' LIKE \'%' + queryTerm + '%\'',
92
+ outFields: ['FID','Tree_ID','Cmn_Name','Condition'],
93
+ // limit to number of records that will show on the page
94
+ resultRecordCount: resultRecordCount
95
+ }
96
+ });
97
+ }
98
+
99
+ function refreshTable(response) {
100
+ var features = response.features;
101
+ // clear table
102
+ var tableBody = document.getElementById('tableBody');
103
+ tableBody.innerHTML = '';
104
+ // show returned features (if any)
105
+ var recordCount = features.length;
106
+ var featureTableDisplay = recordCount > 0 ? 'table' : 'none';
107
+ document.getElementById('featureTable').style.display = featureTableDisplay;
108
+ var rows = features.map(function (feature) {
109
+ return '<tr><td>' + feature.attributes.Tree_ID + '<td>' + feature.attributes.Cmn_Name + '</td><td>' + feature.attributes.Condition + '</td></tr>';
110
+ });
111
+ tableBody.innerHTML = rows.join('');
112
+ // show number of returned features
113
+ document.getElementById('recordCountMessage').innerHTML = recordCount + ' record(s) returned.';
114
+ // show/hide additional messages
115
+ var suggestedTermsMessageDisplay = recordCount > 0 ? 'none' : 'block';
116
+ var additionalRowsMessageDisplay = response.exceededTransferLimit ? 'block' : 'none';
117
+ document.getElementById('suggestedTermsMessage').style.display = suggestedTermsMessageDisplay;
118
+ document.getElementById('additionalRowsMessage').style.display = additionalRowsMessageDisplay;
119
+ }
120
+ </script>
121
+ </body>
122
+ </html>
@@ -0,0 +1,15 @@
1
+ {
2
+ "private": true,
3
+ "name": "feature-service-browser",
4
+ "version": "3.3.0",
5
+ "description": "Vanilla JavaScript demo of @esri/arcgis-rest-feature-service",
6
+ "license": "Apache-2.0",
7
+ "scripts": {
8
+ "start": "node ../../scripts/run-demo-server.js"
9
+ },
10
+ "dependencies": {
11
+ "@esri/arcgis-rest-feature-service": "^3.3.0",
12
+ "@esri/arcgis-rest-request": "^3.3.0"
13
+ },
14
+ "author": ""
15
+ }
@@ -0,0 +1,12 @@
1
+ # Running this demo
2
+
3
+ 1. Make sure you run `npm run bootstrap` in the root folder to setup the dependencies
4
+ 2. Register a new app on https://developers.arcgis.com
5
+ 3. Add a redirect URL of `http://localhost:8080/post-sign-in.html` to your app.
6
+ 4. Copy the `config.js.template` file, rename it to `config.js`
7
+ 5. Copy your apps client id into your new `config.js` file.
8
+ 6. `npm start`
9
+ 7. Visit http://localhost:8080 and click "Sign In" to start the OAuth 2.0 process.
10
+ 8. Start clicking buttons to send off authenticated geocoding requests.
11
+
12
+ **Note:** The server starts with a special configuration to serve URLs starting with `@esri/arcgis-rest-*` from their respective packages. In your application you will need to change these URLs to point to their respective locations.
@@ -0,0 +1,29 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>ArcGIS Rest JS OAuth redirect</title>
6
+ </head>
7
+ <body>
8
+ <script src="@esri/arcgis-rest-request/dist/bundled/request.umd.js"></script>
9
+ <script>
10
+ /* in a production app, clientId could be hardcoded. here we're using a regex to extract it from the state parameter in the OAuth2 server response to make the demo more interchangeable.
11
+
12
+ this relies on the fact that the ClientId is associated with the state parameter internally when another value isn't supplied manually.
13
+ */
14
+ const match = window.location.href.match(
15
+ /&state=([^&]+)/
16
+ );
17
+ const clientId = match[1];
18
+ let session;
19
+ function processAuthentication() {
20
+ window.location.href = './';
21
+ session = arcgisRest.UserSession.completeOAuth2({
22
+ clientId: clientId,
23
+ });
24
+ localStorage.setItem('__ARCGIS_REST_USER_SESSION__', session.serialize());
25
+ }
26
+ processAuthentication();
27
+ </script>
28
+ </body>
29
+ </html>
@@ -0,0 +1 @@
1
+ var ClientId = "CLIENT_ID";
@@ -0,0 +1,139 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
5
+ </head>
6
+ <body>
7
+
8
+ <div class="container-fluid">
9
+ <div class="jumbotron" >
10
+ <h1>get to geocodin!</h1>
11
+ <p>type things, click buttons and snoop in the <a href='https://developer.chrome.com/devtools'>developer console</a>.</p>
12
+ </div>
13
+
14
+ <div class="col-md-4">
15
+
16
+ </div>
17
+ <div class="col-md-4">
18
+ <p>
19
+ <a href="" class="btn btn-default" id="sign-in" role="button">Sign In</a><br>
20
+ </p>
21
+
22
+ <p>
23
+ <button class="btn btn-default" id="metadata" role="button">get service info</button>
24
+ </p>
25
+
26
+ <p>
27
+ <input id="geocodeInput" value="123 main st"></input>
28
+ <button class="btn btn-default" id="geocode" role="button">geocode an address</button>
29
+ <p>
30
+ <input id="suggestInput" value="World Tr"></input>
31
+ <button class="btn btn-default" id="suggest" role="button">get address suggestion</button>
32
+ </p>
33
+
34
+ <p>
35
+ <input id="reverseInput" value="{x:-118,y:34}"></input>
36
+ <button class="btn btn-default" id="reverse" role="button">determine address</button>
37
+ </p>
38
+
39
+ <p>
40
+ <button class="btn btn-default" id="bulk" role="button">geocode many addresses</button>
41
+ </p>
42
+ </div>
43
+ </div>
44
+
45
+ <script src="config.js"></script>
46
+ <script src="@esri/arcgis-rest-request/dist/bundled/request.umd.js"></script>
47
+ <script src="@esri/arcgis-rest-geocoding/dist/bundled/geocoding.umd.js"></script>
48
+
49
+ <script>
50
+ var auth;
51
+
52
+ // add back later for bulk geocoding
53
+ var authBtn = document.getElementById('sign-in');
54
+
55
+ authBtn.addEventListener('click', function (e) {
56
+ arcgisRest.UserSession.beginOAuth2({
57
+ clientId: ClientId,
58
+ redirectUri: "http://localhost:8080/authenticate.html",
59
+ popup: true,
60
+ portal: "https://www.arcgis.com/sharing/rest"
61
+ }).then((session) => {
62
+ auth = session;
63
+ console.log(session);
64
+ document.getElementById('sign-in').innerHTML = 'you are signed in';
65
+ }).catch(error => {
66
+ console.log(error);
67
+ });
68
+ e.preventDefault();
69
+ });
70
+
71
+ var geocodeBtn = document.getElementById('geocode');
72
+
73
+ geocodeBtn.addEventListener('click', function (e) {
74
+ arcgisRest.geocode({
75
+ address: document.getElementById("geocodeInput").value,
76
+ authentication: auth
77
+ })
78
+ .then((response) => {
79
+ console.log("geocode", response);
80
+ });
81
+ });
82
+
83
+ var suggestBtn = document.getElementById('suggest');
84
+
85
+ suggestBtn.addEventListener('click', function (e) {
86
+ console.log(document.getElementById("suggestInput").value);
87
+ arcgisRest.suggest(document.getElementById("suggestInput").value, {
88
+ authentication: auth
89
+ })
90
+ .then((response) => {
91
+ console.log("suggest", response);
92
+ });
93
+ });
94
+
95
+ var reverseBtn = document.getElementById('reverse');
96
+
97
+ reverseBtn.addEventListener('click', function (e) {
98
+ // need to parse
99
+ arcgisRest.reverseGeocode(document.getElementById("reverseInput").value.split(','), {
100
+ authentication: auth
101
+ })
102
+ .then((response) => {
103
+ console.log("reverseGeocode", response);
104
+ });
105
+ });
106
+
107
+ var metadataBtn = document.getElementById('metadata');
108
+
109
+ metadataBtn.addEventListener('click', function (e) {
110
+ arcgisRest.getGeocodeService({
111
+ authentication: auth
112
+ })
113
+ .then((response) => {
114
+ console.log("metadata", response);
115
+ });
116
+ });
117
+
118
+ var bulkBtn = document.getElementById('bulk');
119
+
120
+ bulkBtn.addEventListener('click', function (e) {
121
+ var addresses = [{
122
+ "OBJECTID": 1,
123
+ "SingleLine": "380 New York St. Redlands 92373"
124
+ },
125
+ {
126
+ "OBJECTID": 2,
127
+ "SingleLine": "1 World Way Los Angeles 90045"
128
+ }];
129
+ arcgisRest.bulkGeocode({ authentication: auth, addresses })
130
+ .then((response) => {
131
+ console.log("bulkGeocode", response);
132
+ })
133
+ .catch((err) => {
134
+ console.warn(err);
135
+ });
136
+ });
137
+ </script>
138
+ </body>
139
+ </html>
@@ -0,0 +1,15 @@
1
+ {
2
+ "private": true,
3
+ "name": "@esri/arcgis-rest-geocoder-vanilla",
4
+ "version": "3.3.0",
5
+ "description": "Vanilla JavaScript demo of @esri/arcgis-rest-geocoder",
6
+ "license": "Apache-2.0",
7
+ "scripts": {
8
+ "start": "node ../../scripts/run-demo-server.js"
9
+ },
10
+ "dependencies": {
11
+ "@esri/arcgis-rest-geocoding": "^3.3.0",
12
+ "@esri/arcgis-rest-request": "^3.3.0"
13
+ },
14
+ "author": ""
15
+ }
@@ -0,0 +1,26 @@
1
+ # Passing authentication to the JSAPI
2
+
3
+ This demo shows how to use `arcgis-rest-js` with the ArcGIS API for JavaScript. A typical use case would be when you need to query items or feature data _before_ you are ready to display a map or scene view. In this scenario, you should load the light-weight `arcgis-rest-js` libraries first and use them to perform your queries and/or authenticate with the ArcGIS platform. Then when you are ready to show a map or scene view, you would lazy-load the ArcGIS API for JavaScript with something like [esri-loader](https://github.com/Esri/esri-loader) and use it to create the map.
4
+
5
+ ## Running this demo
6
+
7
+ 1. Run `npm run build` in the repository's root directory.
8
+ 1. Run `npm start` to spin up the development server.
9
+ 1. Visit [http://localhost:8080](http://localhost:8080).
10
+
11
+ ```js
12
+ // from rest-js
13
+ const session = new UserSession(/* */);
14
+
15
+ // ensure that our session has a token
16
+ session.getToken("https://www.arcgis.com/sharing/rest").then(() => {
17
+ esriId.registerToken(session.toCredential()); // JSAPI Identity Manager
18
+ });
19
+
20
+ // from jsapi
21
+ esriId.getCredential("https://www.arcgis.com/sharing/rest").then((cred) => {
22
+ const session = UserSession.fromCredential(cred);
23
+ });
24
+ ```
25
+
26
+ **Note:** The server starts with a special configuration to serve URLs starting with `@esri/arcgis-rest-*` from their respective packages. In your application you will need to change these URLs to point to their respective locations.
@@ -0,0 +1,29 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>ArcGIS Rest JS OAuth redirect</title>
6
+ </head>
7
+ <body>
8
+ <script src="@esri/arcgis-rest-request/dist/bundled/request.umd.js"></script>
9
+ <script>
10
+ /* in a production app, clientId could be hardcoded. here we're using a regex to extract it from the state parameter in the OAuth2 server response to make the demo more interchangeable.
11
+
12
+ this relies on the fact that the ClientId is associated with the state parameter internally when another value isn't supplied manually.
13
+ */
14
+ const match = window.location.href.match(
15
+ /&state=([^&]+)/
16
+ );
17
+ const clientId = match[1];
18
+ let session;
19
+ function processAuthentication() {
20
+ window.location.href = './';
21
+ session = arcgisRest.UserSession.completeOAuth2({
22
+ clientId: clientId,
23
+ });
24
+ localStorage.setItem('__ARCGIS_REST_USER_SESSION__', session.serialize());
25
+ }
26
+ processAuthentication();
27
+ </script>
28
+ </body>
29
+ </html>
@@ -0,0 +1,6 @@
1
+ /*
2
+ You can generate your own clientid by creating an application on the ArcGIS for Developers site. Be sure to add http://localhost:8080/ as a redirect uri for your application
3
+
4
+ once you have a clientid of your own, copy/paste it here and rename this file 'config.js'
5
+ */
6
+ let clientId = "S19JZF92TRf2HZit";