impeditmaiores 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.prettierignore +2 -0
- package/.travis.yml +35 -0
- package/.vscode/launch.json +24 -0
- package/.vscode/settings.json +3 -0
- package/codecov.yml +7 -0
- package/demos/ago-node-cli/README.md +29 -0
- package/demos/ago-node-cli/ago.js +33 -0
- package/demos/ago-node-cli/index.js +11 -0
- package/demos/ago-node-cli/lib/item-export-command.js +48 -0
- package/demos/ago-node-cli/lib/item-search-command.js +35 -0
- package/demos/ago-node-cli/package-lock.json +152 -0
- package/demos/ago-node-cli/package.json +30 -0
- package/demos/attachments/README.md +5 -0
- package/demos/attachments/index.html +165 -0
- package/demos/attachments/package-lock.json +182 -0
- package/demos/attachments/package.json +18 -0
- package/demos/batch-geocoder-node/NYC_Restaurant_Inspection_Results.csv +100 -0
- package/demos/batch-geocoder-node/README.md +15 -0
- package/demos/batch-geocoder-node/batch-geocode.js +115 -0
- package/demos/batch-geocoder-node/config-template.js +18 -0
- package/demos/batch-geocoder-node/package-lock.json +81 -0
- package/demos/batch-geocoder-node/package.json +37 -0
- package/demos/express/README.md +15 -0
- package/demos/express/config.json.template +3 -0
- package/demos/express/package-lock.json +413 -0
- package/demos/express/package.json +18 -0
- package/demos/express/server.js +33 -0
- package/demos/feature-service-browser/README.md +6 -0
- package/demos/feature-service-browser/index.html +122 -0
- package/demos/feature-service-browser/package-lock.json +182 -0
- package/demos/feature-service-browser/package.json +18 -0
- package/demos/geocoder-browser/README.md +10 -0
- package/demos/geocoder-browser/config.js.template +1 -0
- package/demos/geocoder-browser/index.html +131 -0
- package/demos/geocoder-browser/package-lock.json +182 -0
- package/demos/geocoder-browser/package.json +19 -0
- package/demos/geocoder-browser/post-sign-in.html +25 -0
- package/demos/jsapi-integration/README.md +25 -0
- package/demos/jsapi-integration/config.js +6 -0
- package/demos/jsapi-integration/index.html +89 -0
- package/demos/jsapi-integration/package-lock.json +184 -0
- package/demos/jsapi-integration/package.json +19 -0
- package/demos/node-cli-item-management/README.md +10 -0
- package/demos/node-cli-item-management/index.js +238 -0
- package/demos/node-cli-item-management/package-lock.json +152 -0
- package/demos/node-cli-item-management/package.json +27 -0
- package/demos/node-cli-item-management/screenshot.png +0 -0
- package/demos/oauth2-browser/README.md +14 -0
- package/demos/oauth2-browser/authenticate.html +30 -0
- package/demos/oauth2-browser/config.js.template +6 -0
- package/demos/oauth2-browser/index.html +211 -0
- package/demos/oauth2-browser/logo.svg +4 -0
- package/demos/oauth2-browser/package-lock.json +224 -0
- package/demos/oauth2-browser/package.json +18 -0
- package/demos/oauth2-browser/style.css +36 -0
- package/demos/oauth2-browser-retry/README.md +25 -0
- package/demos/oauth2-browser-retry/authenticate.html +22 -0
- package/demos/oauth2-browser-retry/index.html +116 -0
- package/demos/oauth2-browser-retry/logo.svg +4 -0
- package/demos/stream-response-to-file/README.md +7 -0
- package/demos/stream-response-to-file/index.js +36 -0
- package/demos/stream-response-to-file/output/.gitkeep +0 -0
- package/demos/stream-response-to-file/package-lock.json +60 -0
- package/demos/stream-response-to-file/package.json +33 -0
- package/demos/tree-shaking-rollup/.babelrc +3 -0
- package/demos/tree-shaking-rollup/README.md +9 -0
- package/demos/tree-shaking-rollup/index.html +11 -0
- package/demos/tree-shaking-rollup/package-lock.json +2225 -0
- package/demos/tree-shaking-rollup/package.json +25 -0
- package/demos/tree-shaking-rollup/rollup.config.js +17 -0
- package/demos/tree-shaking-rollup/src/index.js +8 -0
- package/demos/tree-shaking-webpack/README.md +8 -0
- package/demos/tree-shaking-webpack/index.html +11 -0
- package/demos/tree-shaking-webpack/package-lock.json +4614 -0
- package/demos/tree-shaking-webpack/package.json +24 -0
- package/demos/tree-shaking-webpack/src/index.js +10 -0
- package/demos/tree-shaking-webpack/webpack.config.js +27 -0
- package/demos/vue/.env.example +11 -0
- package/demos/vue/.eslintrc.js +17 -0
- package/demos/vue/.postcssrc.js +5 -0
- package/demos/vue/README.md +17 -0
- package/demos/vue/babel.config.js +3 -0
- package/demos/vue/package-lock.json +11342 -0
- package/demos/vue/package.json +33 -0
- package/demos/vue/public/favicon.ico +0 -0
- package/demos/vue/public/index.html +24 -0
- package/demos/vue/src/assets/logo.svg +29 -0
- package/demos/vue/src/components/App.vue +305 -0
- package/demos/vue/src/components/Authenticate.vue +65 -0
- package/demos/vue/src/components/Loader.vue +230 -0
- package/demos/vue/src/main.js +92 -0
- package/demos/webmap-checker-sapper/.env.example +5 -0
- package/demos/webmap-checker-sapper/README.md +123 -0
- package/demos/webmap-checker-sapper/appveyor.yml +18 -0
- package/demos/webmap-checker-sapper/cypress/fixtures/example.json +5 -0
- package/demos/webmap-checker-sapper/cypress/integration/spec.js +19 -0
- package/demos/webmap-checker-sapper/cypress/plugins/index.js +17 -0
- package/demos/webmap-checker-sapper/cypress/support/commands.js +25 -0
- package/demos/webmap-checker-sapper/cypress/support/index.js +20 -0
- package/demos/webmap-checker-sapper/cypress.json +4 -0
- package/demos/webmap-checker-sapper/package-lock.json +3870 -0
- package/demos/webmap-checker-sapper/package.json +50 -0
- package/demos/webmap-checker-sapper/rollup.config.js +87 -0
- package/demos/webmap-checker-sapper/src/client.js +20 -0
- package/demos/webmap-checker-sapper/src/components/LayerStatus.html +108 -0
- package/demos/webmap-checker-sapper/src/components/Nav.html +21 -0
- package/demos/webmap-checker-sapper/src/components/WebMap.html +62 -0
- package/demos/webmap-checker-sapper/src/routes/_error.html +41 -0
- package/demos/webmap-checker-sapper/src/routes/_layout.html +21 -0
- package/demos/webmap-checker-sapper/src/routes/auth/authorize.js +18 -0
- package/demos/webmap-checker-sapper/src/routes/auth/exchange-token.js +20 -0
- package/demos/webmap-checker-sapper/src/routes/auth/post-sign-in.js +24 -0
- package/demos/webmap-checker-sapper/src/routes/auth/sign-out.js +10 -0
- package/demos/webmap-checker-sapper/src/routes/index.html +20 -0
- package/demos/webmap-checker-sapper/src/routes/webmaps/[webmapId].html +83 -0
- package/demos/webmap-checker-sapper/src/routes/webmaps/index.html +59 -0
- package/demos/webmap-checker-sapper/src/server.js +101 -0
- package/demos/webmap-checker-sapper/src/service-worker.js +82 -0
- package/demos/webmap-checker-sapper/src/template.html +33 -0
- package/demos/webmap-checker-sapper/src/userInfoMiddleware.js +21 -0
- package/demos/webmap-checker-sapper/src/utils.js +33 -0
- package/demos/webmap-checker-sapper/static/favicon.png +0 -0
- package/demos/webmap-checker-sapper/static/global.css +36 -0
- package/demos/webmap-checker-sapper/static/manifest.json +20 -0
- package/demos/webmap-checker-sapper/static/svelte-logo-192.png +0 -0
- package/demos/webmap-checker-sapper/static/svelte-logo-512.png +0 -0
- package/docs/FAQ.md +48 -0
- package/docs/HISTORY.md +62 -0
- package/docs/acetate.config.js +262 -0
- package/docs/build-typedoc.js +434 -0
- package/docs/generate-srihashes.js +53 -0
- package/docs/src/_layout.html +86 -0
- package/docs/src/api/_declaration.html +600 -0
- package/docs/src/api/_layout.html +204 -0
- package/docs/src/api/_package.html +38 -0
- package/docs/src/api/index.html +16 -0
- package/docs/src/guides/_layout.html +24 -0
- package/docs/src/guides/amd-requirejs-dojo.md +40 -0
- package/docs/src/guides/browser-authentication.md +41 -0
- package/docs/src/guides/bundlers.md +52 -0
- package/docs/src/guides/cli-authentication.md +9 -0
- package/docs/src/guides/client-server-authentication.md +9 -0
- package/docs/src/guides/embedded-apps.md +93 -0
- package/docs/src/guides/from-a-cdn.md +38 -0
- package/docs/src/guides/index.md +59 -0
- package/docs/src/guides/node.md +87 -0
- package/docs/src/guides/package-overview.md +111 -0
- package/docs/src/guides/server-authentication.md +9 -0
- package/docs/src/guides/whats-new-v2-0.md +305 -0
- package/docs/src/img/icons.png +0 -0
- package/docs/src/img/icons@2x.png +0 -0
- package/docs/src/index.html +12 -0
- package/docs/src/js/api-search.js +112 -0
- package/docs/src/js/nav-toggle.js +41 -0
- package/docs/src/sass/_highlight.scss +96 -0
- package/docs/src/sass/_icons.scss +157 -0
- package/docs/src/sass/style.scss +242 -0
- package/docs/src/srihashes.json +12 -0
- package/jasmine.json +7 -0
- package/karma.conf.js +106 -0
- package/lerna.json +8 -0
- package/notes/README.md +68 -0
- package/package.json +87 -0
- package/packages/arcgis-rest-auth/README.md +71 -0
- package/packages/arcgis-rest-auth/package-lock.json +11 -0
- package/packages/arcgis-rest-auth/package.json +69 -0
- package/packages/arcgis-rest-auth/src/ApplicationSession.ts +122 -0
- package/packages/arcgis-rest-auth/src/UserSession.ts +1206 -0
- package/packages/arcgis-rest-auth/src/app-tokens.ts +91 -0
- package/packages/arcgis-rest-auth/src/authenticated-request-options.ts +24 -0
- package/packages/arcgis-rest-auth/src/federation-utils.ts +85 -0
- package/packages/arcgis-rest-auth/src/fetch-token.ts +50 -0
- package/packages/arcgis-rest-auth/src/generate-token.ts +35 -0
- package/packages/arcgis-rest-auth/src/index.ts +9 -0
- package/packages/arcgis-rest-auth/src/validate-app-access.ts +68 -0
- package/packages/arcgis-rest-auth/test/ApplicationSession.test.ts +124 -0
- package/packages/arcgis-rest-auth/test/UserSession.test.ts +1807 -0
- package/packages/arcgis-rest-auth/test/app-tokens.test.ts +91 -0
- package/packages/arcgis-rest-auth/test/federation-utils.test.ts +323 -0
- package/packages/arcgis-rest-auth/test/fetchToken.test.ts +112 -0
- package/packages/arcgis-rest-auth/test/generateToken.test.ts +102 -0
- package/packages/arcgis-rest-auth/test/utils.ts +14 -0
- package/packages/arcgis-rest-auth/test/validate-app-access.test.ts +46 -0
- package/packages/arcgis-rest-auth/tsconfig.json +6 -0
- package/packages/arcgis-rest-feature-layer/README.md +77 -0
- package/packages/arcgis-rest-feature-layer/package-lock.json +11 -0
- package/packages/arcgis-rest-feature-layer/package.json +64 -0
- package/packages/arcgis-rest-feature-layer/src/add.ts +56 -0
- package/packages/arcgis-rest-feature-layer/src/addAttachment.ts +53 -0
- package/packages/arcgis-rest-feature-layer/src/applyEdits.ts +90 -0
- package/packages/arcgis-rest-feature-layer/src/decodeValues.ts +124 -0
- package/packages/arcgis-rest-feature-layer/src/delete.ts +61 -0
- package/packages/arcgis-rest-feature-layer/src/deleteAttachments.ts +52 -0
- package/packages/arcgis-rest-feature-layer/src/getAttachments.ts +55 -0
- package/packages/arcgis-rest-feature-layer/src/getLayer.ts +24 -0
- package/packages/arcgis-rest-feature-layer/src/getService.ts +26 -0
- package/packages/arcgis-rest-feature-layer/src/helpers.ts +79 -0
- package/packages/arcgis-rest-feature-layer/src/index.ts +31 -0
- package/packages/arcgis-rest-feature-layer/src/query.ts +204 -0
- package/packages/arcgis-rest-feature-layer/src/queryRelated.ts +89 -0
- package/packages/arcgis-rest-feature-layer/src/update.ts +56 -0
- package/packages/arcgis-rest-feature-layer/src/updateAttachment.ts +59 -0
- package/packages/arcgis-rest-feature-layer/test/attachments.test.ts +200 -0
- package/packages/arcgis-rest-feature-layer/test/crud.test.ts +195 -0
- package/packages/arcgis-rest-feature-layer/test/decodeValues.test.ts +67 -0
- package/packages/arcgis-rest-feature-layer/test/getLayer.test.ts +31 -0
- package/packages/arcgis-rest-feature-layer/test/getService.test.ts +31 -0
- package/packages/arcgis-rest-feature-layer/test/mocks/cvdQueryResponse.ts +225 -0
- package/packages/arcgis-rest-feature-layer/test/mocks/feature.ts +302 -0
- package/packages/arcgis-rest-feature-layer/test/mocks/fields.ts +779 -0
- package/packages/arcgis-rest-feature-layer/test/mocks/foo.txt +1 -0
- package/packages/arcgis-rest-feature-layer/test/mocks/service.ts +398 -0
- package/packages/arcgis-rest-feature-layer/test/query.test.ts +167 -0
- package/packages/arcgis-rest-feature-layer/tsconfig.json +6 -0
- package/packages/arcgis-rest-geocoding/README.md +86 -0
- package/packages/arcgis-rest-geocoding/package-lock.json +11 -0
- package/packages/arcgis-rest-geocoding/package.json +64 -0
- package/packages/arcgis-rest-geocoding/src/bulk.ts +104 -0
- package/packages/arcgis-rest-geocoding/src/geocode.ts +133 -0
- package/packages/arcgis-rest-geocoding/src/helpers.ts +54 -0
- package/packages/arcgis-rest-geocoding/src/index.ts +15 -0
- package/packages/arcgis-rest-geocoding/src/reverse.ts +84 -0
- package/packages/arcgis-rest-geocoding/src/suggest.ts +45 -0
- package/packages/arcgis-rest-geocoding/test/bulk.test.ts +194 -0
- package/packages/arcgis-rest-geocoding/test/geocode.test.ts +249 -0
- package/packages/arcgis-rest-geocoding/test/helpers.test.ts +85 -0
- package/packages/arcgis-rest-geocoding/test/mocks/responses.ts +637 -0
- package/packages/arcgis-rest-geocoding/test/reverse.test.ts +126 -0
- package/packages/arcgis-rest-geocoding/test/suggest.test.ts +53 -0
- package/packages/arcgis-rest-geocoding/tsconfig.json +6 -0
- package/packages/arcgis-rest-portal/README.md +73 -0
- package/packages/arcgis-rest-portal/package-lock.json +11 -0
- package/packages/arcgis-rest-portal/package.json +64 -0
- package/packages/arcgis-rest-portal/src/groups/add-users.ts +140 -0
- package/packages/arcgis-rest-portal/src/groups/create.ts +43 -0
- package/packages/arcgis-rest-portal/src/groups/get.ts +184 -0
- package/packages/arcgis-rest-portal/src/groups/helpers.ts +14 -0
- package/packages/arcgis-rest-portal/src/groups/invite-users.ts +127 -0
- package/packages/arcgis-rest-portal/src/groups/join.ts +57 -0
- package/packages/arcgis-rest-portal/src/groups/notification.ts +77 -0
- package/packages/arcgis-rest-portal/src/groups/protect.ts +56 -0
- package/packages/arcgis-rest-portal/src/groups/remove-users.ts +76 -0
- package/packages/arcgis-rest-portal/src/groups/remove.ts +32 -0
- package/packages/arcgis-rest-portal/src/groups/search.ts +47 -0
- package/packages/arcgis-rest-portal/src/groups/update-user-membership.ts +63 -0
- package/packages/arcgis-rest-portal/src/groups/update.ts +39 -0
- package/packages/arcgis-rest-portal/src/index.ts +66 -0
- package/packages/arcgis-rest-portal/src/items/add.ts +138 -0
- package/packages/arcgis-rest-portal/src/items/content.ts +67 -0
- package/packages/arcgis-rest-portal/src/items/create.ts +150 -0
- package/packages/arcgis-rest-portal/src/items/export.ts +80 -0
- package/packages/arcgis-rest-portal/src/items/get.ts +437 -0
- package/packages/arcgis-rest-portal/src/items/helpers.ts +275 -0
- package/packages/arcgis-rest-portal/src/items/protect.ts +41 -0
- package/packages/arcgis-rest-portal/src/items/reassign.ts +61 -0
- package/packages/arcgis-rest-portal/src/items/remove.ts +135 -0
- package/packages/arcgis-rest-portal/src/items/search.ts +25 -0
- package/packages/arcgis-rest-portal/src/items/update.ts +184 -0
- package/packages/arcgis-rest-portal/src/items/upload.ts +125 -0
- package/packages/arcgis-rest-portal/src/orgs/notification.ts +131 -0
- package/packages/arcgis-rest-portal/src/sharing/access.ts +84 -0
- package/packages/arcgis-rest-portal/src/sharing/helpers.ts +81 -0
- package/packages/arcgis-rest-portal/src/sharing/is-item-shared-with-group.ts +42 -0
- package/packages/arcgis-rest-portal/src/sharing/share-item-with-group.ts +319 -0
- package/packages/arcgis-rest-portal/src/sharing/unshare-item-with-group.ts +105 -0
- package/packages/arcgis-rest-portal/src/users/get-user-tags.ts +52 -0
- package/packages/arcgis-rest-portal/src/users/get-user-url.ts +18 -0
- package/packages/arcgis-rest-portal/src/users/get-user.ts +58 -0
- package/packages/arcgis-rest-portal/src/users/invitation.ts +156 -0
- package/packages/arcgis-rest-portal/src/users/notification.ts +68 -0
- package/packages/arcgis-rest-portal/src/users/search-users.ts +37 -0
- package/packages/arcgis-rest-portal/src/users/update.ts +66 -0
- package/packages/arcgis-rest-portal/src/util/SearchQueryBuilder.ts +374 -0
- package/packages/arcgis-rest-portal/src/util/array.ts +16 -0
- package/packages/arcgis-rest-portal/src/util/generic-search.ts +99 -0
- package/packages/arcgis-rest-portal/src/util/get-portal-settings.ts +45 -0
- package/packages/arcgis-rest-portal/src/util/get-portal-url.ts +27 -0
- package/packages/arcgis-rest-portal/src/util/get-portal.ts +52 -0
- package/packages/arcgis-rest-portal/src/util/get-subscription-info.ts +43 -0
- package/packages/arcgis-rest-portal/src/util/scrub-control-chars.ts +12 -0
- package/packages/arcgis-rest-portal/src/util/search.ts +42 -0
- package/packages/arcgis-rest-portal/test/groups/add-users.test.ts +239 -0
- package/packages/arcgis-rest-portal/test/groups/crud.test.ts +180 -0
- package/packages/arcgis-rest-portal/test/groups/get.test.ts +176 -0
- package/packages/arcgis-rest-portal/test/groups/invite-users.test.ts +149 -0
- package/packages/arcgis-rest-portal/test/groups/join.test.ts +72 -0
- package/packages/arcgis-rest-portal/test/groups/notification.test.ts +112 -0
- package/packages/arcgis-rest-portal/test/groups/protect.test.ts +72 -0
- package/packages/arcgis-rest-portal/test/groups/remove-users.test.ts +140 -0
- package/packages/arcgis-rest-portal/test/groups/search.test.ts +151 -0
- package/packages/arcgis-rest-portal/test/groups/update-user-membership.test.ts +62 -0
- package/packages/arcgis-rest-portal/test/items/add.test.ts +323 -0
- package/packages/arcgis-rest-portal/test/items/content.test.ts +156 -0
- package/packages/arcgis-rest-portal/test/items/create.test.ts +399 -0
- package/packages/arcgis-rest-portal/test/items/export.test.ts +122 -0
- package/packages/arcgis-rest-portal/test/items/get.test.ts +583 -0
- package/packages/arcgis-rest-portal/test/items/helpers.test.ts +60 -0
- package/packages/arcgis-rest-portal/test/items/protect.test.ts +122 -0
- package/packages/arcgis-rest-portal/test/items/reassign.test.ts +131 -0
- package/packages/arcgis-rest-portal/test/items/remove.test.ts +238 -0
- package/packages/arcgis-rest-portal/test/items/search.test.ts +272 -0
- package/packages/arcgis-rest-portal/test/items/update.test.ts +554 -0
- package/packages/arcgis-rest-portal/test/items/upload.test.ts +282 -0
- package/packages/arcgis-rest-portal/test/mocks/groups/responses.ts +208 -0
- package/packages/arcgis-rest-portal/test/mocks/items/foo.zip +0 -0
- package/packages/arcgis-rest-portal/test/mocks/items/item.ts +526 -0
- package/packages/arcgis-rest-portal/test/mocks/items/resources.ts +38 -0
- package/packages/arcgis-rest-portal/test/mocks/items/search.ts +121 -0
- package/packages/arcgis-rest-portal/test/mocks/portal/response.ts +126 -0
- package/packages/arcgis-rest-portal/test/mocks/portal/settings-response.ts +56 -0
- package/packages/arcgis-rest-portal/test/mocks/sharing/sharing.ts +18 -0
- package/packages/arcgis-rest-portal/test/mocks/users/invitation.ts +70 -0
- package/packages/arcgis-rest-portal/test/mocks/users/notification.ts +34 -0
- package/packages/arcgis-rest-portal/test/mocks/users/user-search.ts +388 -0
- package/packages/arcgis-rest-portal/test/mocks/users/user-tags.ts +5 -0
- package/packages/arcgis-rest-portal/test/mocks/users/user.ts +174 -0
- package/packages/arcgis-rest-portal/test/orgs/notification.test.ts +142 -0
- package/packages/arcgis-rest-portal/test/sharing/access.test.ts +162 -0
- package/packages/arcgis-rest-portal/test/sharing/helpers.test.ts +55 -0
- package/packages/arcgis-rest-portal/test/sharing/share-item-with-group.test.ts +1325 -0
- package/packages/arcgis-rest-portal/test/sharing/unshare-item-with-group.test.ts +288 -0
- package/packages/arcgis-rest-portal/test/users/get-user-tags.test.ts +71 -0
- package/packages/arcgis-rest-portal/test/users/get-user-url.test.ts +40 -0
- package/packages/arcgis-rest-portal/test/users/get-user.test.ts +90 -0
- package/packages/arcgis-rest-portal/test/users/invitation.test.ts +127 -0
- package/packages/arcgis-rest-portal/test/users/notification.test.ts +77 -0
- package/packages/arcgis-rest-portal/test/users/search.test.ts +42 -0
- package/packages/arcgis-rest-portal/test/users/update.test.ts +151 -0
- package/packages/arcgis-rest-portal/test/util/SearchQueryBuilder.test.ts +340 -0
- package/packages/arcgis-rest-portal/test/util/array.test.ts +30 -0
- package/packages/arcgis-rest-portal/test/util/get-portal-settings.test.ts +68 -0
- package/packages/arcgis-rest-portal/test/util/get-portal-url.test.ts +37 -0
- package/packages/arcgis-rest-portal/test/util/portal.test.ts +148 -0
- package/packages/arcgis-rest-portal/test/util/scrub-control-chars.test.ts +22 -0
- package/packages/arcgis-rest-portal/tsconfig.json +6 -0
- package/packages/arcgis-rest-request/README.md +72 -0
- package/packages/arcgis-rest-request/package-lock.json +11 -0
- package/packages/arcgis-rest-request/package.json +60 -0
- package/packages/arcgis-rest-request/src/index.ts +25 -0
- package/packages/arcgis-rest-request/src/request.ts +413 -0
- package/packages/arcgis-rest-request/src/utils/ArcGISRequestError.ts +76 -0
- package/packages/arcgis-rest-request/src/utils/ErrorTypes.ts +29 -0
- package/packages/arcgis-rest-request/src/utils/GrantTypes.ts +5 -0
- package/packages/arcgis-rest-request/src/utils/HTTPMethods.ts +6 -0
- package/packages/arcgis-rest-request/src/utils/IAuthenticationManager.ts +21 -0
- package/packages/arcgis-rest-request/src/utils/IFetchTokenParams.ts +11 -0
- package/packages/arcgis-rest-request/src/utils/IGenerateTokenParams.ts +9 -0
- package/packages/arcgis-rest-request/src/utils/IParamBuilder.ts +3 -0
- package/packages/arcgis-rest-request/src/utils/IParams.ts +6 -0
- package/packages/arcgis-rest-request/src/utils/IParamsBuilder.ts +5 -0
- package/packages/arcgis-rest-request/src/utils/IRequestOptions.ts +49 -0
- package/packages/arcgis-rest-request/src/utils/ITokenRequestOptions.ts +9 -0
- package/packages/arcgis-rest-request/src/utils/ResponseFormats.ts +10 -0
- package/packages/arcgis-rest-request/src/utils/append-custom-params.ts +49 -0
- package/packages/arcgis-rest-request/src/utils/clean-url.ts +20 -0
- package/packages/arcgis-rest-request/src/utils/decode-query-string.ts +27 -0
- package/packages/arcgis-rest-request/src/utils/encode-form-data.ts +38 -0
- package/packages/arcgis-rest-request/src/utils/encode-query-string.ts +35 -0
- package/packages/arcgis-rest-request/src/utils/process-params.ts +108 -0
- package/packages/arcgis-rest-request/src/utils/retryAuthError.ts +10 -0
- package/packages/arcgis-rest-request/src/utils/warn.ts +11 -0
- package/packages/arcgis-rest-request/src/utils/with-options.ts +48 -0
- package/packages/arcgis-rest-request/test/mocks/errors.ts +76 -0
- package/packages/arcgis-rest-request/test/mocks/geojson-feature-collection.ts +13 -0
- package/packages/arcgis-rest-request/test/mocks/param-builder.ts +7 -0
- package/packages/arcgis-rest-request/test/mocks/sharing-rest-info.ts +41 -0
- package/packages/arcgis-rest-request/test/mocks/webmap.ts +41 -0
- package/packages/arcgis-rest-request/test/request.test.ts +571 -0
- package/packages/arcgis-rest-request/test/utils/ArcGISAuthError.test.ts +191 -0
- package/packages/arcgis-rest-request/test/utils/ArcGISRequestError.test.ts +51 -0
- package/packages/arcgis-rest-request/test/utils/check-for-errors.test.ts +111 -0
- package/packages/arcgis-rest-request/test/utils/clean-url.test.ts +50 -0
- package/packages/arcgis-rest-request/test/utils/encode-form-data.test.ts +133 -0
- package/packages/arcgis-rest-request/test/utils/encode-query-string.test.ts +18 -0
- package/packages/arcgis-rest-request/test/utils/process-params.test.ts +205 -0
- package/packages/arcgis-rest-request/test/utils/with-options.test.ts +133 -0
- package/packages/arcgis-rest-request/tsconfig.json +4 -0
- package/packages/arcgis-rest-routing/README.md +75 -0
- package/packages/arcgis-rest-routing/package-lock.json +11 -0
- package/packages/arcgis-rest-routing/package.json +63 -0
- package/packages/arcgis-rest-routing/src/helpers.ts +16 -0
- package/packages/arcgis-rest-routing/src/index.ts +11 -0
- package/packages/arcgis-rest-routing/src/solveRoute.ts +124 -0
- package/packages/arcgis-rest-routing/test/mocks/responses.ts +825 -0
- package/packages/arcgis-rest-routing/test/solveRoute.test.ts +509 -0
- package/packages/arcgis-rest-routing/tsconfig.json +6 -0
- package/packages/arcgis-rest-service-admin/README.md +73 -0
- package/packages/arcgis-rest-service-admin/package-lock.json +11 -0
- package/packages/arcgis-rest-service-admin/package.json +65 -0
- package/packages/arcgis-rest-service-admin/src/addTo.ts +70 -0
- package/packages/arcgis-rest-service-admin/src/create.ts +189 -0
- package/packages/arcgis-rest-service-admin/src/index.ts +11 -0
- package/packages/arcgis-rest-service-admin/src/update.ts +50 -0
- package/packages/arcgis-rest-service-admin/test/addTo.test.ts +350 -0
- package/packages/arcgis-rest-service-admin/test/create.test.ts +294 -0
- package/packages/arcgis-rest-service-admin/test/mocks/layerDefinition.ts +79 -0
- package/packages/arcgis-rest-service-admin/test/mocks/service.ts +81 -0
- package/packages/arcgis-rest-service-admin/test/update.test.ts +115 -0
- package/packages/arcgis-rest-service-admin/tsconfig.json +6 -0
- package/packages/arcgis-rest-types/README.md +66 -0
- package/packages/arcgis-rest-types/package.json +54 -0
- package/packages/arcgis-rest-types/src/feature.ts +39 -0
- package/packages/arcgis-rest-types/src/geometry.ts +272 -0
- package/packages/arcgis-rest-types/src/group.ts +72 -0
- package/packages/arcgis-rest-types/src/index.ts +9 -0
- package/packages/arcgis-rest-types/src/item.ts +81 -0
- package/packages/arcgis-rest-types/src/service.ts +114 -0
- package/packages/arcgis-rest-types/src/statisticDefinition.ts +33 -0
- package/packages/arcgis-rest-types/src/symbol.ts +170 -0
- package/packages/arcgis-rest-types/src/user.ts +49 -0
- package/packages/arcgis-rest-types/src/webmap.ts +1367 -0
- package/packages/arcgis-rest-types/tsconfig.json +10 -0
- package/support/changelog.js +393 -0
- package/support/deploy-doc-site.js +16 -0
- package/support/dev.sh +6 -0
- package/support/publish.sh +47 -0
- package/support/test-helpers.js +9 -0
- package/tsconfig.json +63 -0
- package/tslint.json +16 -0
- package/umd-base-profile.js +81 -0
- package/umd-production-profile.js +13 -0
@@ -0,0 +1,204 @@
|
|
1
|
+
{% extends "_layout" %} {% block scripts %}
|
2
|
+
<script src="https://unpkg.com/vue@2.4.2/dist/vue.min.js"></script>
|
3
|
+
<script src="https://unpkg.com/fuse.js@3.0.5/dist/fuse.min.js"></script>
|
4
|
+
<script src="/arcgis-rest-js/js/index.js"></script>
|
5
|
+
<script src="/arcgis-rest-js/js/api-search.js"></script>
|
6
|
+
<script src="/arcgis-rest-js/js/nav-toggle.js"></script>
|
7
|
+
<script>
|
8
|
+
new Vue({
|
9
|
+
el: "#page"
|
10
|
+
});
|
11
|
+
</script>
|
12
|
+
|
13
|
+
{% endblock %} {% block main %}
|
14
|
+
<div class="grid-container trailer-1 leader-1">
|
15
|
+
<nav class="column-6">
|
16
|
+
<api-search base-url="/arcgis-rest-js/">
|
17
|
+
<h3 class="font-size--1 trailer-quarter">Packages</h3>
|
18
|
+
<hr class="leader-quarter trailer-quarter" />
|
19
|
+
<ul class="list-plain">
|
20
|
+
{% for package in data.typedoc.packages %}
|
21
|
+
<li class="{{ package.icon }} api-list-item">
|
22
|
+
<nav-toggle index="{{ loop.index }}" package-name="{{ package.pkg.name }}" ></nav-toggle>
|
23
|
+
<button id="trigger{{ loop.index }}" class="btn btn-transparent api-toggle-button" >
|
24
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32" viewBox="0 0 32 32" class="svg-icon">
|
25
|
+
<path d="M7 4h5l12 12-12 12H7l12-12L7 4z" />
|
26
|
+
</svg>
|
27
|
+
</button>
|
28
|
+
{% link package.pageUrl, package.pkg.name.replace("@esri/arcgis-rest-",""), class="tsd-kind-icon" %}
|
29
|
+
<ul id="list{{ loop.index }}" class="api-package-content-list">
|
30
|
+
{% for declaration in package.declarations %}
|
31
|
+
<li class="{{ declaration.icon }} padding-right-1 visually-hidden api-list-item">
|
32
|
+
{% link declaration.pageUrl, declaration.name, class="tsd-kind-icon padding-right-1" %}
|
33
|
+
</li>
|
34
|
+
{% endfor %}
|
35
|
+
</ul>
|
36
|
+
</li>
|
37
|
+
{% endfor %}
|
38
|
+
</ul>
|
39
|
+
</api-search>
|
40
|
+
</nav>
|
41
|
+
|
42
|
+
<div class="column-18">
|
43
|
+
<div class="panel panel-white padding-left-1 padding-right-1 padding-trailer-1 padding-leader-half">
|
44
|
+
{% block content %}{% endblock %}
|
45
|
+
</div>
|
46
|
+
</div>
|
47
|
+
</div>
|
48
|
+
{% endblock %} {% block footer %}
|
49
|
+
<div class="panel panel-white">
|
50
|
+
<div class="grid-container">
|
51
|
+
<div class="column-24">
|
52
|
+
<h2>Legend</h2>
|
53
|
+
<div
|
54
|
+
class="block-group block-group-4-up tablet-block-group-2-up phone-block-group-1-up"
|
55
|
+
>
|
56
|
+
<div class="block">
|
57
|
+
<ul class="list-plain">
|
58
|
+
<li class="tsd-kind-module">
|
59
|
+
<span class="tsd-kind-icon">Module</span>
|
60
|
+
</li>
|
61
|
+
<li class="tsd-kind-object-literal">
|
62
|
+
<span class="tsd-kind-icon">Object literal</span>
|
63
|
+
</li>
|
64
|
+
<li class="tsd-kind-variable">
|
65
|
+
<span class="tsd-kind-icon">Variable</span>
|
66
|
+
</li>
|
67
|
+
<li class="tsd-kind-function">
|
68
|
+
<span class="tsd-kind-icon">Function</span>
|
69
|
+
</li>
|
70
|
+
<li class="tsd-kind-function tsd-has-type-parameter">
|
71
|
+
<span class="tsd-kind-icon">Function with type parameter</span>
|
72
|
+
</li>
|
73
|
+
<li class="tsd-kind-index-signature">
|
74
|
+
<span class="tsd-kind-icon">Index signature</span>
|
75
|
+
</li>
|
76
|
+
<li class="tsd-kind-type-alias">
|
77
|
+
<span class="tsd-kind-icon">Type alias</span>
|
78
|
+
</li>
|
79
|
+
</ul>
|
80
|
+
</div>
|
81
|
+
<div class="block">
|
82
|
+
<ul class="list-plain">
|
83
|
+
<li class="tsd-kind-enumeration">
|
84
|
+
<span class="tsd-kind-icon">Enumeration</span>
|
85
|
+
</li>
|
86
|
+
<li class="tsd-kind-enumeration-member">
|
87
|
+
<span class="tsd-kind-icon">Enumeration member</span>
|
88
|
+
</li>
|
89
|
+
<li class="tsd-kind-property tsd-parent-kind-enumeration">
|
90
|
+
<span class="tsd-kind-icon">Property</span>
|
91
|
+
</li>
|
92
|
+
<li class="tsd-kind-method tsd-parent-kind-enumeration">
|
93
|
+
<span class="tsd-kind-icon">Method</span>
|
94
|
+
</li>
|
95
|
+
</ul>
|
96
|
+
</div>
|
97
|
+
<div class="block">
|
98
|
+
<ul class="list-plain">
|
99
|
+
<li class="tsd-kind-interface">
|
100
|
+
<span class="tsd-kind-icon">Interface</span>
|
101
|
+
</li>
|
102
|
+
<li class="tsd-kind-interface tsd-has-type-parameter">
|
103
|
+
<span class="tsd-kind-icon">Interface with type parameter</span>
|
104
|
+
</li>
|
105
|
+
<li class="tsd-kind-constructor tsd-parent-kind-interface">
|
106
|
+
<span class="tsd-kind-icon">Constructor</span>
|
107
|
+
</li>
|
108
|
+
<li class="tsd-kind-property tsd-parent-kind-interface">
|
109
|
+
<span class="tsd-kind-icon">Property</span>
|
110
|
+
</li>
|
111
|
+
<li class="tsd-kind-method tsd-parent-kind-interface">
|
112
|
+
<span class="tsd-kind-icon">Method</span>
|
113
|
+
</li>
|
114
|
+
<li class="tsd-kind-index-signature tsd-parent-kind-interface">
|
115
|
+
<span class="tsd-kind-icon">Index signature</span>
|
116
|
+
</li>
|
117
|
+
</ul>
|
118
|
+
</div>
|
119
|
+
<div class="block">
|
120
|
+
<ul class="list-plain">
|
121
|
+
<li class="tsd-kind-class">
|
122
|
+
<span class="tsd-kind-icon">Class</span>
|
123
|
+
</li>
|
124
|
+
<li class="tsd-kind-class tsd-has-type-parameter">
|
125
|
+
<span class="tsd-kind-icon">Class with type parameter</span>
|
126
|
+
</li>
|
127
|
+
<li class="tsd-kind-constructor tsd-parent-kind-class">
|
128
|
+
<span class="tsd-kind-icon">Constructor</span>
|
129
|
+
</li>
|
130
|
+
<li class="tsd-kind-property tsd-parent-kind-class">
|
131
|
+
<span class="tsd-kind-icon">Property</span>
|
132
|
+
</li>
|
133
|
+
<li class="tsd-kind-method tsd-parent-kind-class">
|
134
|
+
<span class="tsd-kind-icon">Method</span>
|
135
|
+
</li>
|
136
|
+
<li class="tsd-kind-accessor tsd-parent-kind-class">
|
137
|
+
<span class="tsd-kind-icon">Accessor</span>
|
138
|
+
</li>
|
139
|
+
<li class="tsd-kind-index-signature tsd-parent-kind-class">
|
140
|
+
<span class="tsd-kind-icon">Index signature</span>
|
141
|
+
</li>
|
142
|
+
</ul>
|
143
|
+
</div>
|
144
|
+
<div class="block">
|
145
|
+
<ul class="list-plain">
|
146
|
+
<li
|
147
|
+
class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"
|
148
|
+
>
|
149
|
+
<span class="tsd-kind-icon">Inherited constructor</span>
|
150
|
+
</li>
|
151
|
+
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited">
|
152
|
+
<span class="tsd-kind-icon">Inherited property</span>
|
153
|
+
</li>
|
154
|
+
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited">
|
155
|
+
<span class="tsd-kind-icon">Inherited method</span>
|
156
|
+
</li>
|
157
|
+
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited">
|
158
|
+
<span class="tsd-kind-icon">Inherited accessor</span>
|
159
|
+
</li>
|
160
|
+
</ul>
|
161
|
+
</div>
|
162
|
+
<div class="block">
|
163
|
+
<ul class="list-plain">
|
164
|
+
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected">
|
165
|
+
<span class="tsd-kind-icon">Protected property</span>
|
166
|
+
</li>
|
167
|
+
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected">
|
168
|
+
<span class="tsd-kind-icon">Protected method</span>
|
169
|
+
</li>
|
170
|
+
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected">
|
171
|
+
<span class="tsd-kind-icon">Protected accessor</span>
|
172
|
+
</li>
|
173
|
+
</ul>
|
174
|
+
</div>
|
175
|
+
<div class="block">
|
176
|
+
<ul class="list-plain">
|
177
|
+
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private">
|
178
|
+
<span class="tsd-kind-icon">Private property</span>
|
179
|
+
</li>
|
180
|
+
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private">
|
181
|
+
<span class="tsd-kind-icon">Private method</span>
|
182
|
+
</li>
|
183
|
+
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private">
|
184
|
+
<span class="tsd-kind-icon">Private accessor</span>
|
185
|
+
</li>
|
186
|
+
</ul>
|
187
|
+
</div>
|
188
|
+
<div class="block">
|
189
|
+
<ul class="list-plain">
|
190
|
+
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static">
|
191
|
+
<span class="tsd-kind-icon">Static property</span>
|
192
|
+
</li>
|
193
|
+
<li
|
194
|
+
class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"
|
195
|
+
>
|
196
|
+
<span class="tsd-kind-icon">Static method</span>
|
197
|
+
</li>
|
198
|
+
</ul>
|
199
|
+
</div>
|
200
|
+
</div>
|
201
|
+
</div>
|
202
|
+
</div>
|
203
|
+
</div>
|
204
|
+
{% endblock %}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
<small class="label right">Version {{ pkg.version }}</small>
|
2
|
+
<h1 class="{{ icon }} font-size-3 trailer-half code-face">
|
3
|
+
{% link url, pkg.name%}
|
4
|
+
</h1>
|
5
|
+
<p class="font-size--1 trailer-1 avenir-regular">{{ pkg.description }}</p>
|
6
|
+
<h2 class="font-size-0 trailer-quarter">npm install:</h2>
|
7
|
+
<pre><code>{% npmInstallCmd pkg %}</code></pre>
|
8
|
+
<h2 class="font-size-0 trailer-quarter">Module Import:</h2>
|
9
|
+
{% if pkg.esri.keyExports %}
|
10
|
+
{% highlight "js" %}
|
11
|
+
import {
|
12
|
+
{%- for name in pkg.esri.keyExports %}
|
13
|
+
{{name}}{{"," if not loop.last}}
|
14
|
+
{%- endfor %}
|
15
|
+
} from "{{ pkg.name }}";
|
16
|
+
{% endhighlight %}
|
17
|
+
{% else %}
|
18
|
+
{% highlight "js" %}
|
19
|
+
import {
|
20
|
+
{%- for declaration in declarations -%}
|
21
|
+
{%- if declaration.kindString === "Function" or declaration.kindString === "Class" %}
|
22
|
+
{{declaration.name}}{{"," if not loop.last}}{%- endif -%}
|
23
|
+
{% endfor %}
|
24
|
+
} from "{{ pkg.name }}";
|
25
|
+
{% endhighlight %}
|
26
|
+
{% endif %}
|
27
|
+
<h2 class="font-size-0 trailer-quarter">CDN:</h2>
|
28
|
+
{% scriptTag pkg %}
|
29
|
+
<h2 class="font-size-0 trailer-quarter">CDN with SRI:</h2>
|
30
|
+
{% scriptTagSRI pkg %}
|
31
|
+
<hr class="leader-half trailer-quarter" />
|
32
|
+
<ul class="list-plain package-contents">
|
33
|
+
{% for declaration in declarations %}
|
34
|
+
<li class="{{ declaration.icon }}">
|
35
|
+
{% link declaration.pageUrl, declaration.name, class="tsd-kind-icon" %}
|
36
|
+
</li>
|
37
|
+
{% endfor %}
|
38
|
+
</ul>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
---
|
2
|
+
layout: "api/_layout:content"
|
3
|
+
---
|
4
|
+
|
5
|
+
<h1 class="font-size-4">Packages</h1>
|
6
|
+
{% for package in data.typedoc.packages %}
|
7
|
+
{% if not loop.first %}
|
8
|
+
<hr>
|
9
|
+
{% endif %}
|
10
|
+
{% set pkg = package.pkg %}
|
11
|
+
{% set declarations = package.declarations %}
|
12
|
+
{% set url = package.pageUrl %}
|
13
|
+
{% include "api/_package.html" %}
|
14
|
+
|
15
|
+
{% endfor %}
|
16
|
+
</div>
|
@@ -0,0 +1,24 @@
|
|
1
|
+
{% extends "_layout" %}
|
2
|
+
|
3
|
+
{% block main %}
|
4
|
+
<div class="grid-container trailer-1 leader-1">
|
5
|
+
<div class="column-6">
|
6
|
+
<ul class="list-plain">
|
7
|
+
{% for section in queries.guides %}
|
8
|
+
<li>{{section.name}}</li>
|
9
|
+
<ul class="list-plain margin-left-1">
|
10
|
+
{% for item in section.items %}
|
11
|
+
<li>{% link item.url, item.title %}</li>
|
12
|
+
{% endfor %}
|
13
|
+
</ul>
|
14
|
+
{% endfor %}
|
15
|
+
</ul>
|
16
|
+
</div>
|
17
|
+
|
18
|
+
<div class="column-18">
|
19
|
+
<div class="panel">
|
20
|
+
{% block content %}{% endblock %}
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
</div>
|
24
|
+
{% endblock %}
|
@@ -0,0 +1,40 @@
|
|
1
|
+
---
|
2
|
+
title: Using ArcGIS REST JS in AMD with Require.js or Dojo
|
3
|
+
navTitle: AMD (Require.js or Dojo)
|
4
|
+
description: Learn how to integrate the ArcGIS REST JS library into project using AMD with Require.js or Dojo.
|
5
|
+
order: 40
|
6
|
+
group: 1-get-started
|
7
|
+
---
|
8
|
+
|
9
|
+
# Get Started with ArcGIS REST JS and AMD
|
10
|
+
|
11
|
+
```html
|
12
|
+
<!DOCTYPE html>
|
13
|
+
<html>
|
14
|
+
<head>
|
15
|
+
<meta charset="utf-8">
|
16
|
+
<meta name="viewport" content="width=device-width">
|
17
|
+
<title>ArcGIS REST JS - AMD</title>
|
18
|
+
</head>
|
19
|
+
<body>
|
20
|
+
Open your console to see the demo.
|
21
|
+
</body>
|
22
|
+
<!-- require polyfills for fetch and Promise from https://polyfill.io -->
|
23
|
+
<script src="https://polyfill.io/v3/polyfill.min.js?features=es5%2Cfetch%2CPromise"></script>
|
24
|
+
<script>
|
25
|
+
dojoConfig = {
|
26
|
+
paths: {
|
27
|
+
"@esri/arcgis-rest-request": "{% cdnUrl data.typedoc | findPackage('@esri/arcgis-rest-request') %}"
|
28
|
+
}
|
29
|
+
};
|
30
|
+
</script>
|
31
|
+
<script src="https:////ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>
|
32
|
+
<script>
|
33
|
+
require(["@esri/arcgis-rest-request"], function(arcgis) {
|
34
|
+
arcgis.request("https://www.arcgis.com/sharing/rest/info").then(response => {
|
35
|
+
console.log(response);
|
36
|
+
});
|
37
|
+
});
|
38
|
+
</script>
|
39
|
+
</html>
|
40
|
+
```
|
@@ -0,0 +1,41 @@
|
|
1
|
+
---
|
2
|
+
title: Browser-based authentication with ArcGIS REST JS
|
3
|
+
navTitle: Browser-based OAuth 2.0
|
4
|
+
description: Learn how to authenticate users with ArcGIS REST JS and OAuth 2.0 in a browser.
|
5
|
+
order: 1
|
6
|
+
group: 2-authentication
|
7
|
+
---
|
8
|
+
|
9
|
+
# Authentication in Browser-based Apps
|
10
|
+
|
11
|
+
In the [Node.js](/arcgis-rest-js/guides/node/) guide we explained how to instantiate an [`ApplicationSession`](/arcgis-rest-js/api/auth/ApplicationSession/) with hardcoded credentials. In the browser, you need to use [OAuth 2.0](https://developers.arcgis.com/documentation/core-concepts/security-and-authentication/signing-in-arcgis-online-users/) and have users sign directly into [ArcGIS Online](https://www.arcgis.com) or ArcGIS Enterprise.
|
12
|
+
|
13
|
+
![browser based login](https://developers.arcgis.com/documentation/core-concepts/security-and-authentication/images/authorization-screen.png)
|
14
|
+
|
15
|
+
|
16
|
+
### Resources
|
17
|
+
|
18
|
+
* [Implementing Named User Login](https://developers.arcgis.com/documentation/core-concepts/security-and-authentication/signing-in-arcgis-online-users/)
|
19
|
+
* [Browser-based Named User Login](https://developers.arcgis.com/documentation/core-concepts/security-and-authentication/browser-based-user-logins/)
|
20
|
+
|
21
|
+
```js
|
22
|
+
// register your own app to create a unique clientId
|
23
|
+
const clientId = "abc123"
|
24
|
+
|
25
|
+
UserSession.beginOAuth2({
|
26
|
+
clientId,
|
27
|
+
redirectUri: 'https://yourapp.com/authenticate.html'
|
28
|
+
})
|
29
|
+
.then(session)
|
30
|
+
```
|
31
|
+
|
32
|
+
After the user has logged in, the `session` will keep track of individual `trustedServers` that are known to be federated and pass a token through when making requests.
|
33
|
+
|
34
|
+
```js
|
35
|
+
request(url, { authentication: session })
|
36
|
+
```
|
37
|
+
|
38
|
+
### Demos
|
39
|
+
|
40
|
+
* [OAuth 2.0 Browser](https://github.com/Esri/arcgis-rest-js/tree/master/demos/oauth2-browser)
|
41
|
+
* [Retrying Requests](https://github.com/Esri/arcgis-rest-js/tree/master/demos/oauth2-browser-retry)
|
@@ -0,0 +1,52 @@
|
|
1
|
+
---
|
2
|
+
title: Using ArcGIS REST JS with Bundlers
|
3
|
+
navTitle: Bundlers
|
4
|
+
description: Learn how to integrate the ArcGIS REST JS library with Babel and modern bundlers like webpack, Rollup and Parcel.
|
5
|
+
order: 30
|
6
|
+
group: 1-get-started
|
7
|
+
---
|
8
|
+
|
9
|
+
# Get Started with webpack, Rollup or Parcel
|
10
|
+
|
11
|
+
ArcGIS REST JS works well with popular module bundlers like [webpack](https://webpack.js.org/), [Rollup](https://rollupjs.org/) and [Parcel](https://parceljs.org/).
|
12
|
+
|
13
|
+
If you need to support environments where [`fetch`](https://github.com/lquixada/cross-fetch) and [`Promise`](https://github.com/stefanpenner/es6-promise) aren't already present, you can install polyfills for them.
|
14
|
+
|
15
|
+
```bash
|
16
|
+
npm install @esri/arcgis-rest-request
|
17
|
+
```
|
18
|
+
You can find `npm install` commands for all packages in the [API reference](../../api).
|
19
|
+
```js
|
20
|
+
import 'cross-fetch/polyfill';
|
21
|
+
import { request } from "@esri/arcgis-rest-request";
|
22
|
+
|
23
|
+
request("https://www.arcgis.com/sharing/rest/info")
|
24
|
+
.then(response => {
|
25
|
+
console.log(response);
|
26
|
+
});
|
27
|
+
```
|
28
|
+
|
29
|
+
# Tree Shaking
|
30
|
+
|
31
|
+
Bundlers like webpack and Rollup can statically analyze the code inside ArcGIS REST JS and exclude anything that isn't used. This is called [dead-code elimination](https://rollupjs.org/guide/en#tree-shaking) and it means `rest-js` won't bloat your bundle.
|
32
|
+
|
33
|
+
Its worth noting, to activate tree-shaking in webpack, [production](https://webpack.js.org/configuration/mode/#mode-production) mode and [usedExports](https://webpack.js.org/configuration/optimization/#optimizationusedexports) optimization need to be enabled.
|
34
|
+
|
35
|
+
```js
|
36
|
+
// webpack.config.js
|
37
|
+
module.exports = {
|
38
|
+
// ...
|
39
|
+
mode: 'production',
|
40
|
+
optimization: {
|
41
|
+
usedExports: true
|
42
|
+
},
|
43
|
+
// ...
|
44
|
+
}
|
45
|
+
```
|
46
|
+
|
47
|
+
### Tree Shaking Demos
|
48
|
+
|
49
|
+
* [webpack](https://github.com/Esri/arcgis-rest-js/tree/master/demos/tree-shaking-webpack)
|
50
|
+
* [Rollup](https://github.com/Esri/arcgis-rest-js/tree/master/demos/tree-shaking-rollup)
|
51
|
+
|
52
|
+
**Note**: many libraries and tools (such as [Babel](https://babeljs.io/docs/usage/polyfill/)) require an ES6 `Promise` polyfill. Any `Promise` polyfill will work with ArcGIS REST JS, `es6-promise` is simply a lightweight standalone version.
|
@@ -0,0 +1,9 @@
|
|
1
|
+
---
|
2
|
+
title: Authentication in CLI Applications
|
3
|
+
navTitle: Authentication for CLI Apps
|
4
|
+
description: Learn how to authenticate requests in Node.js based CLI applications.
|
5
|
+
order: 40
|
6
|
+
group: 2-authentication
|
7
|
+
---
|
8
|
+
|
9
|
+
# Authenticate Requests in a CLI Application
|
@@ -0,0 +1,9 @@
|
|
1
|
+
---
|
2
|
+
title: Server-client authentication with ArcGIS REST JS
|
3
|
+
navTitle: Shared client server authentication
|
4
|
+
description: Learn how to authenticate users and share authentication details between the client and server.
|
5
|
+
order: 30
|
6
|
+
group: 2-authentication
|
7
|
+
---
|
8
|
+
|
9
|
+
# Sharing Authentication Between Clients and Servers
|
@@ -0,0 +1,93 @@
|
|
1
|
+
---
|
2
|
+
title: Passing Authentication to iFramed apps
|
3
|
+
navTitle: Embedded Authentication
|
4
|
+
description: Learn how to pass authentication into iframe embedded applications.
|
5
|
+
order: 50
|
6
|
+
group: 2-authentication
|
7
|
+
---
|
8
|
+
|
9
|
+
**Note** This is a new api feature, and currently there are *no* platform applications that support the authentication flows discussed in this guide. However, this guide exists to help other platform app teams add this functionality to their apps.
|
10
|
+
|
11
|
+
# Authentication with Embedded Applications
|
12
|
+
|
13
|
+
Sometimes an application will need to embed another application using an `<iframe>`. If both applications are backed by items that are publicly accessible, things will just work.
|
14
|
+
|
15
|
+
However, if the embedded application is not public and the user has already logged into the "Host" application, we then run into the question of how to pass authentication from the "Host" to the embedded application.
|
16
|
+
|
17
|
+
### Cross Origin Embedding
|
18
|
+
Cross-Origin embedding occurs when the "host" app and the "embedded" application are served from different locations. This is only supported for ArcGIS Platform apps that support embedding.
|
19
|
+
|
20
|
+
|
21
|
+
For example, you can build a custom app, hosted at `http://myapp.com` and iframe in a "platform app" that supports embedding. However, you can not embed your custom app into a storymap, and expect the storymap to pass authentication to your app. This is done for security reasons.
|
22
|
+
|
23
|
+
|
24
|
+
## Using `postMessage`
|
25
|
+
The browser's `postMessage` api is designed to allow communication between various "frames" in a page, and it is how this works internally. You can read more about [postMessage](https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage) at the Mozilla Developer Network.
|
26
|
+
|
27
|
+
# Authentication Flow
|
28
|
+
We will walk through the flows at a high-level
|
29
|
+
|
30
|
+
## 1 Host App uses oAuth
|
31
|
+
|
32
|
+
The application acting as the host, should use oAuth to authenticate the user, and *before* rendering the iframe with the embedded application it must call `session.enablePostMessageAuth(validOrigins)`. This sets up a listener that will process the requests from the embedded application(s).
|
33
|
+
|
34
|
+
The `validOrigins` argument is an array of "orgins" your app expects to get auth requests from. **NOTE** This should be a constrained list of just the domains this particular application will actually be embedding.
|
35
|
+
|
36
|
+
```js
|
37
|
+
// register your own app to create a unique clientId
|
38
|
+
const clientId = "abc123"
|
39
|
+
|
40
|
+
UserSession.beginOAuth2({
|
41
|
+
clientId,
|
42
|
+
redirectUri: 'https://yourapp.com/authenticate.html'
|
43
|
+
})
|
44
|
+
.then(session => {
|
45
|
+
// for this example we will only send auth to embeds hosted on storymaps.arcgis.com
|
46
|
+
const validOrigins = ['https://storymaps.arcgis.com'];
|
47
|
+
session.enablePostMessageAuth(validOrigins);
|
48
|
+
})
|
49
|
+
```
|
50
|
+
|
51
|
+
#### 2 Host App adds params to embed url
|
52
|
+
Let's suppose the host app is embedding `https://storymaps.arcgis.com/stories/15a9b9991fff47ad84f4618a28b01afd`. To tell the embedded app that it should request authentication from the parent we need to add two url parameters:
|
53
|
+
|
54
|
+
- `arcgis-auth-origin=https://myapp.com` - This tells the app it's embedded in an iframe and should request auth from the parent, and what 'origin' to expect messages from, what origin to post messages to, and also to ignore other origins. **note** this should be uri encoded
|
55
|
+
|
56
|
+
```js
|
57
|
+
const originalUrl = 'https://storymaps.arcgis.com/stories/15a9b9991fff47ad84f4618a28b01afd';
|
58
|
+
const embedUrl = `${originalurl}?arcgis-auth-origin=${encodeURIComponent(window.location.origin)}`;
|
59
|
+
// then use embedUrl in your component that renders the <iframe>
|
60
|
+
```
|
61
|
+
|
62
|
+
#### 3 Embed App boots and Requests Auth
|
63
|
+
In the embedded application, early in it's boot sequence it should read the query string parameters and make the determintation that it is running inside an iframe, and that it can request authentication information from the parent.
|
64
|
+
|
65
|
+
```js
|
66
|
+
// Parse up any url params
|
67
|
+
let params = new URLSearchParams(document.location.search.substring(1));
|
68
|
+
const arcgisAuthOrigin = params.get('arcgis-auth-origin');
|
69
|
+
if (arcgisAuthOrigin) {
|
70
|
+
UserSession.fromParent(arcgisAuthOrigin)
|
71
|
+
.then((session) => {
|
72
|
+
// session is a UserSession instance, populated from the parent app
|
73
|
+
// the embeded app should exchange this token for one specific to the application
|
74
|
+
})
|
75
|
+
.catch((ex) => {
|
76
|
+
// if the origin of the embedded app is not in the parent's validOrigin array
|
77
|
+
// this will throw with a message "Rejected authentication request."
|
78
|
+
})
|
79
|
+
}
|
80
|
+
```
|
81
|
+
|
82
|
+
#### Clean up
|
83
|
+
While rest-js will attempt to clean up the listeners automatically, if the host application is no longer going to render the iframe before the embedded app has had a chance to request the authentication, then the app should manually clean up the listener by calling `session.disablePostMessageAuth()`
|
84
|
+
|
85
|
+
Typically you would make this call in the life-cycle hooks of your application framework (i.e. an Angular, Ember, React etc app with a router). The example below uses the `disconnectedCallback` that is part of the Stenci.js component life-cycle.
|
86
|
+
|
87
|
+
```js
|
88
|
+
// Use your framework's hooks...
|
89
|
+
disconnectedCallback () {
|
90
|
+
// stop listening for requests from children
|
91
|
+
state.session.disablePostMessageAuth();
|
92
|
+
}
|
93
|
+
```
|
@@ -0,0 +1,38 @@
|
|
1
|
+
---
|
2
|
+
title: Using ArcGIS REST JS from a CDN
|
3
|
+
navTitle: From a CDN
|
4
|
+
description: Learn how to use ArcGIS REST JS from a CDN.
|
5
|
+
order: 20
|
6
|
+
group: 1-get-started
|
7
|
+
---
|
8
|
+
|
9
|
+
# Get Started using a CDN
|
10
|
+
|
11
|
+
ArcGIS REST JS is hosted on [unpkg](https://unpkg.com/). You can find URLs for individual packages in the [API reference](../../api).
|
12
|
+
|
13
|
+
```html
|
14
|
+
<!DOCTYPE html>
|
15
|
+
<html>
|
16
|
+
<head>
|
17
|
+
<meta charset="utf-8">
|
18
|
+
<meta name="viewport" content="width=device-width">
|
19
|
+
<title>ArcGIS REST JS</title>
|
20
|
+
</head>
|
21
|
+
<body>
|
22
|
+
Open your console to see the demo.
|
23
|
+
</body>
|
24
|
+
<!-- require polyfills for fetch and Promise from https://polyfill.io -->
|
25
|
+
<script src="https://polyfill.io/v3/polyfill.min.js?features=es5%2Cfetch%2CPromise"></script>
|
26
|
+
|
27
|
+
<!-- require ArcGIS REST JS libraries from https://unpkg.com -->
|
28
|
+
<script src="{% cdnUrl data.typedoc | findPackage('@esri/arcgis-rest-request') %}.js"></script>
|
29
|
+
|
30
|
+
<script>
|
31
|
+
/* when including ArcGIS REST JS all exports are available
|
32
|
+
from the same arcgisRest global */
|
33
|
+
arcgisRest.request("https://www.arcgis.com/sharing/rest/info")
|
34
|
+
.then(response => {
|
35
|
+
console.log(response);
|
36
|
+
});
|
37
|
+
</script>
|
38
|
+
</html>
|
@@ -0,0 +1,59 @@
|
|
1
|
+
---
|
2
|
+
title: Get Started
|
3
|
+
description: Get started with ArcGIS REST JS.
|
4
|
+
---
|
5
|
+
|
6
|
+
# Get Started
|
7
|
+
|
8
|
+
ArcGIS REST JS can be deployed with a variety of build tools, including:
|
9
|
+
|
10
|
+
* [From a CDN](./from-a-cdn/)
|
11
|
+
* [webpack, Rollup and Parcel](./bundlers/)
|
12
|
+
* [AMD (Require.js or Dojo)](./amd-requirejs-dojo/)
|
13
|
+
* [Node.js](./node/)
|
14
|
+
* [What's New in `v2.0.0`?](./whats-new-v2-0/)
|
15
|
+
## Requirements
|
16
|
+
|
17
|
+
ArcGIS REST JS takes advantage of web standards that are supported in all modern desktop browsers and most mobile browsers.
|
18
|
+
|
19
|
+
* [`Fetch` Support](https://caniuse.com/#feat=fetch)
|
20
|
+
* [`Promises` Support](https://caniuse.com/#feat=promises)
|
21
|
+
* [`FormData` Support](https://caniuse.com/#feat=xhr2)
|
22
|
+
* [`ECMAScript 5` Support](https://caniuse.com/#feat=es5)
|
23
|
+
|
24
|
+
## Browser Support
|
25
|
+
|
26
|
+
ArcGIS REST JS is supported in the same browsers as the [ArcGIS API for JavaScript](https://developers.arcgis.com/javascript/latest/guide/system-requirements/index.html#supported-browsers).
|
27
|
+
|
28
|
+
* Chrome
|
29
|
+
* Edge
|
30
|
+
* Firefox
|
31
|
+
* Safari 9 and later
|
32
|
+
* iOS Safari
|
33
|
+
* IE11
|
34
|
+
|
35
|
+
IE11 and older mobile browsers require polyfills.
|
36
|
+
|
37
|
+
* [`Promise` polyfill](https://github.com/stefanpenner/es6-promise)
|
38
|
+
* [`Fetch` polyfill](https://github.com/bitinn/node-fetch)
|
39
|
+
|
40
|
+
## Node.js Support
|
41
|
+
|
42
|
+
ArcGIS REST JS is supported in Node.js 8.x and above. It requires additional packages to polyfill `Fetch` and `FormData`.
|
43
|
+
|
44
|
+
We recommend the ones below:
|
45
|
+
|
46
|
+
* [`node-fetch`](https://github.com/bitinn/node-fetch) - to polyfill `Fetch`
|
47
|
+
* [`isomorphic-form-data`](https://github.com/form-data/isomorphic-form-data) - to polyfill `FormData`
|
48
|
+
|
49
|
+
```js
|
50
|
+
const fetch = require('node-fetch');
|
51
|
+
const { setDefaultRequestOptions, request } = require('@esri/arcgis-rest-request');
|
52
|
+
|
53
|
+
// use node-fetch for each request instead of relying on a global
|
54
|
+
setDefaultRequestOptions({ fetch })
|
55
|
+
|
56
|
+
request(url)
|
57
|
+
.then(response)
|
58
|
+
```
|
59
|
+
Other versions of Node.js may also work with appropriate polyfills but we cannot guarantee support.
|