sintfacilis 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.
- package/.env.example +2 -0
- package/.eslintrc.js +20 -0
- package/.github/workflows/deploy-docs.yml +27 -0
- package/.github/workflows/pre-release-tests.yml +45 -0
- package/.github/workflows/pull-request-tests.yml +45 -0
- package/.prettierignore +2 -0
- package/.prettierrc +19 -0
- package/.vscode/launch.json +24 -0
- package/.vscode/settings.json +3 -0
- package/codecov.yml +7 -0
- package/demos/.eslintrc.js +13 -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 +430 -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 +543 -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 +336 -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 +1008 -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 +543 -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 +610 -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 +93 -0
- package/demos/jsapi-integration/package-lock.json +247 -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 +432 -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 +474 -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 +227 -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 +5646 -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 +11455 -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 +28044 -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 +9622 -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/.eslintrc.js +12 -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 +39 -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 +106 -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 +104 -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/img/oauth-browser.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/jasmine.live.json +7 -0
- package/karma.conf.js +107 -0
- package/lerna.json +8 -0
- package/notes/README.md +68 -0
- package/package.json +141 -0
- package/packages/arcgis-rest-auth/README.md +71 -0
- package/packages/arcgis-rest-auth/package.json +69 -0
- package/packages/arcgis-rest-auth/post-message-auth-spec.md +70 -0
- package/packages/arcgis-rest-auth/src/ApiKey.ts +41 -0
- package/packages/arcgis-rest-auth/src/ApplicationSession.ts +122 -0
- package/packages/arcgis-rest-auth/src/UserSession.ts +1355 -0
- package/packages/arcgis-rest-auth/src/app-tokens.ts +131 -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 +13 -0
- package/packages/arcgis-rest-auth/src/validate-app-access.ts +68 -0
- package/packages/arcgis-rest-auth/test/ApiKey.test.ts +35 -0
- package/packages/arcgis-rest-auth/test/ApplicationSession.test.ts +124 -0
- package/packages/arcgis-rest-auth/test/UserSession.test.ts +2377 -0
- package/packages/arcgis-rest-auth/test/app-tokens.test.ts +95 -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-demographics/README.md +75 -0
- package/packages/arcgis-rest-demographics/package.json +69 -0
- package/packages/arcgis-rest-demographics/src/getAvailableCountries.ts +113 -0
- package/packages/arcgis-rest-demographics/src/getAvailableDataCollections.ts +166 -0
- package/packages/arcgis-rest-demographics/src/getAvailableGeographyLevels.ts +88 -0
- package/packages/arcgis-rest-demographics/src/getGeography.ts +152 -0
- package/packages/arcgis-rest-demographics/src/helpers.ts +28 -0
- package/packages/arcgis-rest-demographics/src/index.ts +8 -0
- package/packages/arcgis-rest-demographics/src/queryDemographicData.ts +106 -0
- package/packages/arcgis-rest-demographics/test/getAvailableCountries.test.ts +92 -0
- package/packages/arcgis-rest-demographics/test/getAvailableDataCollections.test.ts +115 -0
- package/packages/arcgis-rest-demographics/test/getAvailableGeographyLevels.test.ts +72 -0
- package/packages/arcgis-rest-demographics/test/getGeography.test.ts +141 -0
- package/packages/arcgis-rest-demographics/test/mocks/responses.ts +4 -0
- package/packages/arcgis-rest-demographics/test/queryDemographicData.test.live.ts +42 -0
- package/packages/arcgis-rest-demographics/test/queryDemographicData.test.ts +113 -0
- package/packages/arcgis-rest-demographics/tsconfig.json +6 -0
- package/packages/arcgis-rest-feature-layer/README.md +77 -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 +95 -0
- package/packages/arcgis-rest-feature-layer/src/decodeValues.ts +122 -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/getAllLayersAndTables.ts +30 -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 +97 -0
- package/packages/arcgis-rest-feature-layer/src/index.ts +32 -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 +60 -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 +197 -0
- package/packages/arcgis-rest-feature-layer/test/decodeValues.test.ts +67 -0
- package/packages/arcgis-rest-feature-layer/test/getAllLayersAndTables.test.ts +28 -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/helpers.test.ts +25 -0
- package/packages/arcgis-rest-feature-layer/test/mocks/allLayersAndTablesResponse.ts +906 -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.json +66 -0
- package/packages/arcgis-rest-geocoding/src/bulk.ts +104 -0
- package/packages/arcgis-rest-geocoding/src/geocode.ts +166 -0
- package/packages/arcgis-rest-geocoding/src/helpers.ts +56 -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 +253 -0
- package/packages/arcgis-rest-geocoding/test/helpers.test.ts +85 -0
- package/packages/arcgis-rest-geocoding/test/mocks/responses.ts +591 -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.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 +69 -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 +292 -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 +141 -0
- package/packages/arcgis-rest-portal/src/items/search.ts +25 -0
- package/packages/arcgis-rest-portal/src/items/update.ts +185 -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/services/get-unique-service-name.ts +35 -0
- package/packages/arcgis-rest-portal/src/services/is-service-name-available.ts +30 -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 +336 -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 +391 -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 +28 -0
- package/packages/arcgis-rest-portal/src/util/get-portal.ts +53 -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 +13 -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 +146 -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 +400 -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 +261 -0
- package/packages/arcgis-rest-portal/test/items/search.test.ts +275 -0
- package/packages/arcgis-rest-portal/test/items/update.test.ts +556 -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 +144 -0
- package/packages/arcgis-rest-portal/test/services/get-unique-service-name.test.ts +59 -0
- package/packages/arcgis-rest-portal/test/services/is-service-name-available.test.ts +46 -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 +1328 -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.json +60 -0
- package/packages/arcgis-rest-request/src/index.ts +25 -0
- package/packages/arcgis-rest-request/src/request.ts +433 -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 +22 -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 +54 -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 +109 -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 +621 -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.json +65 -0
- package/packages/arcgis-rest-routing/src/closestFacility.ts +225 -0
- package/packages/arcgis-rest-routing/src/helpers.ts +104 -0
- package/packages/arcgis-rest-routing/src/index.ts +14 -0
- package/packages/arcgis-rest-routing/src/originDestinationMatrix.ts +223 -0
- package/packages/arcgis-rest-routing/src/serviceArea.ts +173 -0
- package/packages/arcgis-rest-routing/src/solveRoute.ts +180 -0
- package/packages/arcgis-rest-routing/test/closestFacility.test.ts +683 -0
- package/packages/arcgis-rest-routing/test/mocks/inputs.ts +132 -0
- package/packages/arcgis-rest-routing/test/mocks/responses.ts +13316 -0
- package/packages/arcgis-rest-routing/test/originDestinationMatrix.test.ts +795 -0
- package/packages/arcgis-rest-routing/test/serviceArea.test.ts +601 -0
- package/packages/arcgis-rest-routing/test/solveRoute.test.ts +677 -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.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/get-service-admin-info.ts +34 -0
- package/packages/arcgis-rest-service-admin/src/get-view-sources.ts +20 -0
- package/packages/arcgis-rest-service-admin/src/index.ts +14 -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/get-service-admin-info.test.ts +37 -0
- package/packages/arcgis-rest-service-admin/test/get-view-sources.test.ts +40 -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 +5 -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 +42 -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 +156 -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 +1405 -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/umd-base-profile.js +81 -0
- package/umd-production-profile.js +13 -0
@@ -0,0 +1,52 @@
|
|
1
|
+
/* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
|
2
|
+
* Apache-2.0 */
|
3
|
+
|
4
|
+
import { request, cleanUrl } from "@esri/arcgis-rest-request";
|
5
|
+
import { IGetLayerOptions, IEditFeatureResult } from "./helpers";
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Request options to for deleting related attachments of a feature by id. See [Delete Attachments](https://developers.arcgis.com/rest/services-reference/delete-attachments.htm) for more information.
|
9
|
+
*
|
10
|
+
*/
|
11
|
+
export interface IDeleteAttachmentsOptions extends IGetLayerOptions {
|
12
|
+
/**
|
13
|
+
* Unique identifier of feature to delete related attachment(s).
|
14
|
+
*/
|
15
|
+
featureId: number;
|
16
|
+
/**
|
17
|
+
* Array of unique identifiers of attachments to delete.
|
18
|
+
*/
|
19
|
+
attachmentIds: number[];
|
20
|
+
}
|
21
|
+
|
22
|
+
/**
|
23
|
+
* ```js
|
24
|
+
* import { deleteAttachments } from '@esri/arcgis-rest-feature-layer';
|
25
|
+
* //
|
26
|
+
* deleteAttachments({
|
27
|
+
* url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/ServiceRequest/FeatureServer/0",
|
28
|
+
* featureId: 8484,
|
29
|
+
* attachmentIds: [306]
|
30
|
+
* });
|
31
|
+
* ```
|
32
|
+
* Delete existing attachment files of a feature by id. See [Delete Attachments](https://developers.arcgis.com/rest/services-reference/delete-attachments.htm) for more information.
|
33
|
+
*
|
34
|
+
* @param requestOptions - Options for the request.
|
35
|
+
* @returns A Promise that will resolve with the `deleteAttachments()` response.
|
36
|
+
*/
|
37
|
+
export function deleteAttachments(
|
38
|
+
requestOptions: IDeleteAttachmentsOptions
|
39
|
+
): Promise<{ deleteAttachmentResults: IEditFeatureResult[] }> {
|
40
|
+
const options: IDeleteAttachmentsOptions = {
|
41
|
+
params: {},
|
42
|
+
...requestOptions
|
43
|
+
};
|
44
|
+
|
45
|
+
// `attachmentIds` --> params: {}
|
46
|
+
options.params.attachmentIds = requestOptions.attachmentIds;
|
47
|
+
|
48
|
+
return request(
|
49
|
+
`${cleanUrl(options.url)}/${options.featureId}/deleteAttachments`,
|
50
|
+
options
|
51
|
+
);
|
52
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { IGetLayerOptions, parseServiceUrl } from "./helpers";
|
2
|
+
import { request } from '@esri/arcgis-rest-request';
|
3
|
+
import { ILayerDefinition } from "@esri/arcgis-rest-types";
|
4
|
+
|
5
|
+
export interface IAllLayersAndTablesResponse {
|
6
|
+
layers: ILayerDefinition[],
|
7
|
+
tables: ILayerDefinition[],
|
8
|
+
}
|
9
|
+
|
10
|
+
/**
|
11
|
+
* ```js
|
12
|
+
* import { getAllLayersAndTables } from '@esri/arcgis-rest-feature-layer';
|
13
|
+
* getAllLayersAndTables({
|
14
|
+
* url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/ServiceRequest/FeatureServer/0"
|
15
|
+
* })
|
16
|
+
* .then(response) // { layers: [...], tables: [...] }
|
17
|
+
* ```
|
18
|
+
* Fetches all the layers and tables associated with a given layer service.
|
19
|
+
* Wrapper for https://developers.arcgis.com/rest/services-reference/all-layers-and-tables.htm
|
20
|
+
*
|
21
|
+
* @param options - Request options, including the url for the layer service
|
22
|
+
* @returns A Promise that will resolve with the layers and tables for the given service
|
23
|
+
*/
|
24
|
+
// TODO: should we expand this to support other valid params of the endpoint?
|
25
|
+
export function getAllLayersAndTables(options: IGetLayerOptions): Promise<IAllLayersAndTablesResponse> {
|
26
|
+
const { url, ...requestOptions } = options;
|
27
|
+
const layersUrl = `${parseServiceUrl(url)}/layers`;
|
28
|
+
return request(layersUrl, requestOptions);
|
29
|
+
}
|
30
|
+
|
@@ -0,0 +1,55 @@
|
|
1
|
+
/* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
|
2
|
+
* Apache-2.0 */
|
3
|
+
|
4
|
+
import { request, cleanUrl } from "@esri/arcgis-rest-request";
|
5
|
+
import { IGetLayerOptions } from "./helpers";
|
6
|
+
|
7
|
+
/**
|
8
|
+
* Request options to fetch `attachmentInfos` of a feature by id. See [Attachment Infos](https://developers.arcgis.com/rest/services-reference/attachment-infos-feature-service-.htm) for more information.
|
9
|
+
*
|
10
|
+
*/
|
11
|
+
export interface IGetAttachmentsOptions extends IGetLayerOptions {
|
12
|
+
/**
|
13
|
+
* Unique identifier of feature to request related `attachmentInfos`.
|
14
|
+
*/
|
15
|
+
featureId: number;
|
16
|
+
}
|
17
|
+
|
18
|
+
/**
|
19
|
+
* Attachment, a.k.a. `attachmentInfo`. See [Attachment](https://developers.arcgis.com/rest/services-reference/attachment-feature-service-.htm) for more information.
|
20
|
+
*/
|
21
|
+
export interface IAttachmentInfo {
|
22
|
+
id: number;
|
23
|
+
contentType: string;
|
24
|
+
size: number;
|
25
|
+
name: string;
|
26
|
+
}
|
27
|
+
|
28
|
+
/**
|
29
|
+
* ```js
|
30
|
+
* import { getAttachments } from '@esri/arcgis-rest-feature-layer';
|
31
|
+
* //
|
32
|
+
* getAttachments({
|
33
|
+
* url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/ServiceRequest/FeatureServer/0",
|
34
|
+
* featureId: 8484
|
35
|
+
* });
|
36
|
+
* ```
|
37
|
+
* Request `attachmentInfos` of a feature by id. See [Attachment Infos](https://developers.arcgis.com/rest/services-reference/attachment-infos-feature-service-.htm) for more information.
|
38
|
+
*
|
39
|
+
* @param requestOptions - Options for the request.
|
40
|
+
* @returns A Promise that will resolve with the `getAttachments()` response.
|
41
|
+
*/
|
42
|
+
export function getAttachments(
|
43
|
+
requestOptions: IGetAttachmentsOptions
|
44
|
+
): Promise<{ attachmentInfos: IAttachmentInfo[] }> {
|
45
|
+
const options: IGetAttachmentsOptions = {
|
46
|
+
httpMethod: "GET",
|
47
|
+
...requestOptions
|
48
|
+
};
|
49
|
+
|
50
|
+
// pass through
|
51
|
+
return request(
|
52
|
+
`${cleanUrl(options.url)}/${options.featureId}/attachments`,
|
53
|
+
options
|
54
|
+
);
|
55
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
/* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
|
2
|
+
* Apache-2.0 */
|
3
|
+
|
4
|
+
import { request, cleanUrl } from "@esri/arcgis-rest-request";
|
5
|
+
import { ILayerDefinition } from "@esri/arcgis-rest-types";
|
6
|
+
import { IGetLayerOptions } from "./helpers";
|
7
|
+
|
8
|
+
/**
|
9
|
+
* ```js
|
10
|
+
* import { getLayer } from '@esri/arcgis-rest-feature-layer';
|
11
|
+
* //
|
12
|
+
* getLayer({
|
13
|
+
* url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/ServiceRequest/FeatureServer/0"
|
14
|
+
* })
|
15
|
+
* .then(response) // { name: "311", id: 0, ... }
|
16
|
+
* ```
|
17
|
+
* Layer (Feature Service) request. See the [REST Documentation](https://developers.arcgis.com/rest/services-reference/layer-feature-service-.htm) for more information.
|
18
|
+
*
|
19
|
+
* @param options - Options for the request.
|
20
|
+
* @returns A Promise that will resolve with the addFeatures response.
|
21
|
+
*/
|
22
|
+
export function getLayer(options: IGetLayerOptions): Promise<ILayerDefinition> {
|
23
|
+
return request(cleanUrl(options.url), options);
|
24
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
/* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
|
2
|
+
* Apache-2.0 */
|
3
|
+
|
4
|
+
import { request, cleanUrl } from "@esri/arcgis-rest-request";
|
5
|
+
import { IFeatureServiceDefinition } from "@esri/arcgis-rest-types";
|
6
|
+
import { IGetLayerOptions } from "./helpers";
|
7
|
+
|
8
|
+
/**
|
9
|
+
* ```js
|
10
|
+
* import { getService } from '@esri/arcgis-rest-feature-layer';
|
11
|
+
* //
|
12
|
+
* getService({
|
13
|
+
* url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/ServiceRequest/FeatureServer"
|
14
|
+
* })
|
15
|
+
* .then(response) // { name: "311", id: 0, ... }
|
16
|
+
* ```
|
17
|
+
* Feature Service request. See the [REST Documentation](https://developers.arcgis.com/rest/services-reference/feature-service.htm) for more information.
|
18
|
+
*
|
19
|
+
* @param options - Options for the request.
|
20
|
+
* @returns A Promise that will resolve with the getService response.
|
21
|
+
*/
|
22
|
+
export function getService(
|
23
|
+
options: IGetLayerOptions
|
24
|
+
): Promise<IFeatureServiceDefinition> {
|
25
|
+
return request(cleanUrl(options.url), options);
|
26
|
+
}
|
@@ -0,0 +1,97 @@
|
|
1
|
+
/* Copyright (c) 2017-2019 Environmental Systems Research Institute, Inc.
|
2
|
+
* Apache-2.0 */
|
3
|
+
import { cleanUrl, IRequestOptions } from "@esri/arcgis-rest-request";
|
4
|
+
import {
|
5
|
+
GeometryType,
|
6
|
+
SpatialRelationship,
|
7
|
+
IGeometry,
|
8
|
+
ISpatialReference
|
9
|
+
} from "@esri/arcgis-rest-types";
|
10
|
+
|
11
|
+
/**
|
12
|
+
* Base options for making requests against feature layers
|
13
|
+
*/
|
14
|
+
export interface IGetLayerOptions extends IRequestOptions {
|
15
|
+
/**
|
16
|
+
* Layer service url.
|
17
|
+
*/
|
18
|
+
url: string;
|
19
|
+
}
|
20
|
+
|
21
|
+
export interface ISharedQueryOptions extends IGetLayerOptions {
|
22
|
+
/**
|
23
|
+
* A where clause for the query. Defaults to "1=1"
|
24
|
+
*/
|
25
|
+
where?: string;
|
26
|
+
geometry?: IGeometry;
|
27
|
+
geometryType?: GeometryType;
|
28
|
+
// NOTE: either WKID or ISpatialReference
|
29
|
+
inSR?: string | ISpatialReference;
|
30
|
+
spatialRel?: SpatialRelationship;
|
31
|
+
}
|
32
|
+
|
33
|
+
/**
|
34
|
+
* Add, update and delete features result Object.
|
35
|
+
*/
|
36
|
+
export interface IEditFeatureResult {
|
37
|
+
objectId: number;
|
38
|
+
globalId?: string;
|
39
|
+
success: boolean;
|
40
|
+
}
|
41
|
+
|
42
|
+
/**
|
43
|
+
* `globalId` always returned with attachments via apply edits.
|
44
|
+
*/
|
45
|
+
export interface IApplyEditsAttachmentResult extends IEditFeatureResult {
|
46
|
+
globalId: string;
|
47
|
+
}
|
48
|
+
|
49
|
+
/**
|
50
|
+
* Apply edits result Object.
|
51
|
+
*/
|
52
|
+
export interface IApplyEditsResult {
|
53
|
+
addResults: IEditFeatureResult[];
|
54
|
+
updateResults: IEditFeatureResult[];
|
55
|
+
deleteResults: IEditFeatureResult[];
|
56
|
+
attachments?: {
|
57
|
+
addResults?: IApplyEditsAttachmentResult[];
|
58
|
+
updateResults?: IApplyEditsAttachmentResult[];
|
59
|
+
deleteResults?: IApplyEditsAttachmentResult[];
|
60
|
+
};
|
61
|
+
}
|
62
|
+
|
63
|
+
/**
|
64
|
+
* Common add, update, and delete features options.
|
65
|
+
*/
|
66
|
+
export interface ISharedEditOptions extends IGetLayerOptions {
|
67
|
+
/**
|
68
|
+
* The geodatabase version to apply the edits.
|
69
|
+
*/
|
70
|
+
gdbVersion?: string;
|
71
|
+
/**
|
72
|
+
* Optional parameter specifying whether the response will report the time features were added.
|
73
|
+
*/
|
74
|
+
returnEditMoment?: boolean;
|
75
|
+
/**
|
76
|
+
* Optional parameter to specify if the edits should be applied only if all submitted edits succeed.
|
77
|
+
*/
|
78
|
+
rollbackOnFailure?: boolean;
|
79
|
+
}
|
80
|
+
|
81
|
+
const serviceRegex = new RegExp(/.+(?:map|feature|image)server/i);
|
82
|
+
/**
|
83
|
+
* Return the service url. If not matched, returns what was passed in
|
84
|
+
*/
|
85
|
+
export function parseServiceUrl (url: string) {
|
86
|
+
const match = url.match(serviceRegex);
|
87
|
+
if (match) {
|
88
|
+
return match[0];
|
89
|
+
} else {
|
90
|
+
return stripQueryString(url);
|
91
|
+
}
|
92
|
+
}
|
93
|
+
|
94
|
+
function stripQueryString (url: string) {
|
95
|
+
const stripped = url.split('?')[0];
|
96
|
+
return cleanUrl(stripped);
|
97
|
+
}
|
@@ -0,0 +1,32 @@
|
|
1
|
+
/* Copyright (c) 2018-2019 Environmental Systems Research Institute, Inc.
|
2
|
+
* Apache-2.0 */
|
3
|
+
|
4
|
+
export * from "./query";
|
5
|
+
export * from "./add";
|
6
|
+
export * from "./update";
|
7
|
+
export * from "./delete";
|
8
|
+
export * from "./applyEdits";
|
9
|
+
export * from "./getAllLayersAndTables";
|
10
|
+
export * from "./getAttachments";
|
11
|
+
export * from "./addAttachment";
|
12
|
+
export * from "./updateAttachment";
|
13
|
+
export * from "./deleteAttachments";
|
14
|
+
export * from "./queryRelated";
|
15
|
+
export * from "./getLayer";
|
16
|
+
export * from "./getService";
|
17
|
+
export * from "./decodeValues";
|
18
|
+
export * from "./helpers";
|
19
|
+
export {
|
20
|
+
IFeature,
|
21
|
+
ISpatialReference,
|
22
|
+
IHasZM,
|
23
|
+
GeometryType,
|
24
|
+
IField,
|
25
|
+
IFeatureSet,
|
26
|
+
Units,
|
27
|
+
IExtent,
|
28
|
+
SpatialRelationship,
|
29
|
+
IGeometry,
|
30
|
+
ILayerDefinition,
|
31
|
+
IFeatureServiceDefinition
|
32
|
+
} from "@esri/arcgis-rest-types";
|
@@ -0,0 +1,204 @@
|
|
1
|
+
/* Copyright (c) 2017-2018 Environmental Systems Research Institute, Inc.
|
2
|
+
* Apache-2.0 */
|
3
|
+
|
4
|
+
import {
|
5
|
+
request,
|
6
|
+
cleanUrl,
|
7
|
+
appendCustomParams
|
8
|
+
} from "@esri/arcgis-rest-request";
|
9
|
+
|
10
|
+
import {
|
11
|
+
ISpatialReference,
|
12
|
+
IFeatureSet,
|
13
|
+
IFeature,
|
14
|
+
Units,
|
15
|
+
IExtent,
|
16
|
+
IStatisticDefinition
|
17
|
+
} from "@esri/arcgis-rest-types";
|
18
|
+
|
19
|
+
import { IGetLayerOptions, ISharedQueryOptions } from "./helpers";
|
20
|
+
|
21
|
+
/**
|
22
|
+
* Request options to fetch a feature by id.
|
23
|
+
*/
|
24
|
+
export interface IGetFeatureOptions extends IGetLayerOptions {
|
25
|
+
/**
|
26
|
+
* Unique identifier of the feature.
|
27
|
+
*/
|
28
|
+
id: number;
|
29
|
+
}
|
30
|
+
|
31
|
+
/**
|
32
|
+
* feature query request options. See [REST Documentation](https://developers.arcgis.com/rest/services-reference/query-feature-service-layer-.htm) for more information.
|
33
|
+
*/
|
34
|
+
export interface IQueryFeaturesOptions extends ISharedQueryOptions {
|
35
|
+
objectIds?: number[];
|
36
|
+
relationParam?: string;
|
37
|
+
// NOTE: either time=1199145600000 or time=1199145600000, 1230768000000
|
38
|
+
time?: number | number[];
|
39
|
+
distance?: number;
|
40
|
+
units?: Units;
|
41
|
+
/**
|
42
|
+
* Attribute fields to include in the response. Defaults to "*"
|
43
|
+
*/
|
44
|
+
outFields?: "*" | string[];
|
45
|
+
returnGeometry?: boolean;
|
46
|
+
maxAllowableOffset?: number;
|
47
|
+
geometryPrecision?: number;
|
48
|
+
// NOTE: either WKID or ISpatialReference
|
49
|
+
inSR?: string | ISpatialReference;
|
50
|
+
outSR?: string | ISpatialReference;
|
51
|
+
gdbVersion?: string;
|
52
|
+
returnDistinctValues?: boolean;
|
53
|
+
returnIdsOnly?: boolean;
|
54
|
+
returnCountOnly?: boolean;
|
55
|
+
returnExtentOnly?: boolean;
|
56
|
+
orderByFields?: string;
|
57
|
+
groupByFieldsForStatistics?: string;
|
58
|
+
outStatistics?: IStatisticDefinition[];
|
59
|
+
returnZ?: boolean;
|
60
|
+
returnM?: boolean;
|
61
|
+
multipatchOption?: "xyFootprint";
|
62
|
+
resultOffset?: number;
|
63
|
+
resultRecordCount?: number;
|
64
|
+
// TODO: IQuantizationParameters?
|
65
|
+
quantizationParameters?: any;
|
66
|
+
returnCentroid?: boolean;
|
67
|
+
resultType?: "none" | "standard" | "tile";
|
68
|
+
// to do: convert from Date() to epoch time internally
|
69
|
+
historicMoment?: number;
|
70
|
+
returnTrueCurves?: false;
|
71
|
+
sqlFormat?: "none" | "standard" | "native";
|
72
|
+
returnExceededLimitFeatures?: boolean;
|
73
|
+
/**
|
74
|
+
* Response format. Defaults to "json"
|
75
|
+
* NOTE: for "pbf" you must also supply `rawResponse: true`
|
76
|
+
* and parse the response yourself using `response.arrayBuffer()`
|
77
|
+
*/
|
78
|
+
f?: "json" | "geojson" | "pbf";
|
79
|
+
/**
|
80
|
+
* someday...
|
81
|
+
*
|
82
|
+
* If 'true' the query will be preceded by a metadata check to gather info about coded value domains and result values will be decoded. If a fieldset is provided it will be used to decode values and no internal metadata request will be issued.
|
83
|
+
*/
|
84
|
+
// decodeValues?: boolean | IField[];
|
85
|
+
}
|
86
|
+
|
87
|
+
export interface IQueryFeaturesResponse extends IFeatureSet {
|
88
|
+
exceededTransferLimit?: boolean;
|
89
|
+
}
|
90
|
+
|
91
|
+
export interface IQueryResponse {
|
92
|
+
count?: number;
|
93
|
+
extent?: IExtent;
|
94
|
+
objectIdFieldName?: string;
|
95
|
+
objectIds?: number[];
|
96
|
+
}
|
97
|
+
|
98
|
+
/**
|
99
|
+
* ```js
|
100
|
+
* import { getFeature } from '@esri/arcgis-rest-feature-layer';
|
101
|
+
* //
|
102
|
+
* const url = "https://services.arcgis.com/V6ZHFr6zdgNZuVG0/arcgis/rest/services/Landscape_Trees/FeatureServer/0";
|
103
|
+
* //
|
104
|
+
* getFeature({
|
105
|
+
* url,
|
106
|
+
* id: 42
|
107
|
+
* }).then(feature => {
|
108
|
+
* console.log(feature.attributes.FID); // 42
|
109
|
+
* });
|
110
|
+
* ```
|
111
|
+
* Get a feature by id.
|
112
|
+
*
|
113
|
+
* @param requestOptions - Options for the request
|
114
|
+
* @returns A Promise that will resolve with the feature or the [response](https://developer.mozilla.org/en-US/docs/Web/API/Response) itself if `rawResponse: true` was passed in.
|
115
|
+
*/
|
116
|
+
export function getFeature(
|
117
|
+
requestOptions: IGetFeatureOptions
|
118
|
+
): Promise<IFeature> {
|
119
|
+
const url = `${cleanUrl(requestOptions.url)}/${requestOptions.id}`;
|
120
|
+
|
121
|
+
// default to a GET request
|
122
|
+
const options: IGetFeatureOptions = {
|
123
|
+
...{ httpMethod: "GET" },
|
124
|
+
...requestOptions
|
125
|
+
};
|
126
|
+
return request(url, options).then((response: any) => {
|
127
|
+
if (options.rawResponse) {
|
128
|
+
return response;
|
129
|
+
}
|
130
|
+
return response.feature;
|
131
|
+
});
|
132
|
+
}
|
133
|
+
|
134
|
+
/**
|
135
|
+
* ```js
|
136
|
+
* import { queryFeatures } from '@esri/arcgis-rest-feature-layer';
|
137
|
+
* //
|
138
|
+
* queryFeatures({
|
139
|
+
* url: "http://sampleserver6.arcgisonline.com/arcgis/rest/services/Census/MapServer/3",
|
140
|
+
* where: "STATE_NAME = 'Alaska'"
|
141
|
+
* })
|
142
|
+
* .then(result)
|
143
|
+
* ```
|
144
|
+
* Query a feature service. See [REST Documentation](https://developers.arcgis.com/rest/services-reference/query-feature-service-layer-.htm) for more information.
|
145
|
+
*
|
146
|
+
* @param requestOptions - Options for the request
|
147
|
+
* @returns A Promise that will resolve with the query response.
|
148
|
+
*/
|
149
|
+
export function queryFeatures(
|
150
|
+
requestOptions: IQueryFeaturesOptions
|
151
|
+
): Promise<IQueryFeaturesResponse | IQueryResponse> {
|
152
|
+
const queryOptions = appendCustomParams<IQueryFeaturesOptions>(
|
153
|
+
requestOptions,
|
154
|
+
[
|
155
|
+
"where",
|
156
|
+
"objectIds",
|
157
|
+
"relationParam",
|
158
|
+
"time",
|
159
|
+
"distance",
|
160
|
+
"units",
|
161
|
+
"outFields",
|
162
|
+
"geometry",
|
163
|
+
"geometryType",
|
164
|
+
"spatialRel",
|
165
|
+
"returnGeometry",
|
166
|
+
"maxAllowableOffset",
|
167
|
+
"geometryPrecision",
|
168
|
+
"inSR",
|
169
|
+
"outSR",
|
170
|
+
"gdbVersion",
|
171
|
+
"returnDistinctValues",
|
172
|
+
"returnIdsOnly",
|
173
|
+
"returnCountOnly",
|
174
|
+
"returnExtentOnly",
|
175
|
+
"orderByFields",
|
176
|
+
"groupByFieldsForStatistics",
|
177
|
+
"outStatistics",
|
178
|
+
"returnZ",
|
179
|
+
"returnM",
|
180
|
+
"multipatchOption",
|
181
|
+
"resultOffset",
|
182
|
+
"resultRecordCount",
|
183
|
+
"quantizationParameters",
|
184
|
+
"returnCentroid",
|
185
|
+
"resultType",
|
186
|
+
"historicMoment",
|
187
|
+
"returnTrueCurves",
|
188
|
+
"sqlFormat",
|
189
|
+
"returnExceededLimitFeatures",
|
190
|
+
"f"
|
191
|
+
],
|
192
|
+
{
|
193
|
+
httpMethod: "GET",
|
194
|
+
params: {
|
195
|
+
// set default query parameters
|
196
|
+
where: "1=1",
|
197
|
+
outFields: "*",
|
198
|
+
...requestOptions.params
|
199
|
+
}
|
200
|
+
}
|
201
|
+
);
|
202
|
+
|
203
|
+
return request(`${cleanUrl(requestOptions.url)}/query`, queryOptions);
|
204
|
+
}
|
@@ -0,0 +1,89 @@
|
|
1
|
+
/* Copyright (c) 2018 Environmental Systems Research Institute, Inc.
|
2
|
+
* Apache-2.0 */
|
3
|
+
|
4
|
+
import {
|
5
|
+
request,
|
6
|
+
cleanUrl,
|
7
|
+
appendCustomParams
|
8
|
+
} from "@esri/arcgis-rest-request";
|
9
|
+
|
10
|
+
import {
|
11
|
+
ISpatialReference,
|
12
|
+
IFeature,
|
13
|
+
IHasZM,
|
14
|
+
GeometryType,
|
15
|
+
IField
|
16
|
+
} from "@esri/arcgis-rest-types";
|
17
|
+
|
18
|
+
import { IGetLayerOptions } from "./helpers";
|
19
|
+
|
20
|
+
/**
|
21
|
+
* Related record query request options. Additional arguments can be passed via the [params](/arcgis-rest-js/api/feature-service/IQueryRelatedOptions/#params) property. See the [REST Documentation](https://developers.arcgis.com/rest/services-reference/query-related-feature-service-.htm) for more information and a full list of parameters.
|
22
|
+
*/
|
23
|
+
export interface IQueryRelatedOptions extends IGetLayerOptions {
|
24
|
+
relationshipId?: number;
|
25
|
+
objectIds?: number[];
|
26
|
+
outFields?: "*" | string[];
|
27
|
+
definitionExpression?: string;
|
28
|
+
}
|
29
|
+
|
30
|
+
/**
|
31
|
+
* Related record data structure
|
32
|
+
*/
|
33
|
+
|
34
|
+
export interface IRelatedRecordGroup {
|
35
|
+
objectId: number;
|
36
|
+
relatedRecords?: IFeature[];
|
37
|
+
count?: number;
|
38
|
+
}
|
39
|
+
|
40
|
+
/**
|
41
|
+
* Related record response structure
|
42
|
+
*/
|
43
|
+
|
44
|
+
export interface IQueryRelatedResponse extends IHasZM {
|
45
|
+
geometryType?: GeometryType;
|
46
|
+
spatialReference?: ISpatialReference;
|
47
|
+
fields?: IField[];
|
48
|
+
relatedRecordGroups: IRelatedRecordGroup[];
|
49
|
+
}
|
50
|
+
/**
|
51
|
+
*
|
52
|
+
* ```js
|
53
|
+
* import { queryRelated } from '@esri/arcgis-rest-feature-layer'
|
54
|
+
* //
|
55
|
+
* queryRelated({
|
56
|
+
* url: "http://services.myserver/OrgID/ArcGIS/rest/services/Petroleum/KSPetro/FeatureServer/0",
|
57
|
+
* relationshipId: 1,
|
58
|
+
* params: { returnCountOnly: true }
|
59
|
+
* })
|
60
|
+
* .then(response) // response.relatedRecords
|
61
|
+
* ```
|
62
|
+
* Query the related records for a feature service. See the [REST Documentation](https://developers.arcgis.com/rest/services-reference/query-related-records-feature-service-.htm) for more information.
|
63
|
+
*
|
64
|
+
* @param requestOptions
|
65
|
+
* @returns A Promise that will resolve with the query response
|
66
|
+
*/
|
67
|
+
export function queryRelated(
|
68
|
+
requestOptions: IQueryRelatedOptions
|
69
|
+
): Promise<IQueryRelatedResponse> {
|
70
|
+
const options = appendCustomParams<IQueryRelatedOptions>(
|
71
|
+
requestOptions,
|
72
|
+
["objectIds", "relationshipId", "definitionExpression", "outFields"],
|
73
|
+
{
|
74
|
+
httpMethod: "GET",
|
75
|
+
params: {
|
76
|
+
// set default query parameters
|
77
|
+
definitionExpression: "1=1",
|
78
|
+
outFields: "*",
|
79
|
+
relationshipId: 0,
|
80
|
+
...requestOptions.params
|
81
|
+
}
|
82
|
+
}
|
83
|
+
);
|
84
|
+
|
85
|
+
return request(
|
86
|
+
`${cleanUrl(requestOptions.url)}/queryRelatedRecords`,
|
87
|
+
options
|
88
|
+
);
|
89
|
+
}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
/* Copyright (c) 2017 Environmental Systems Research Institute, Inc.
|
2
|
+
* Apache-2.0 */
|
3
|
+
|
4
|
+
import {
|
5
|
+
request,
|
6
|
+
cleanUrl,
|
7
|
+
appendCustomParams
|
8
|
+
} from "@esri/arcgis-rest-request";
|
9
|
+
|
10
|
+
import { IFeature } from "@esri/arcgis-rest-types";
|
11
|
+
|
12
|
+
import { ISharedEditOptions, IEditFeatureResult } from "./helpers";
|
13
|
+
|
14
|
+
/**
|
15
|
+
* Update features request options. See the [REST Documentation](https://developers.arcgis.com/rest/services-reference/update-features.htm) for more information.
|
16
|
+
*
|
17
|
+
*/
|
18
|
+
export interface IUpdateFeaturesOptions extends ISharedEditOptions {
|
19
|
+
/**
|
20
|
+
* Array of JSON features to update.
|
21
|
+
*/
|
22
|
+
features: IFeature[];
|
23
|
+
/**
|
24
|
+
* Optional parameter which is false by default is set by client to indicate to the server that client in true curve capable.
|
25
|
+
*/
|
26
|
+
trueCurveClient?: boolean;
|
27
|
+
}
|
28
|
+
|
29
|
+
/**
|
30
|
+
*
|
31
|
+
* ```js
|
32
|
+
* import { updateFeatures } from '@esri/arcgis-rest-feature-layer';
|
33
|
+
* //
|
34
|
+
* updateFeatures({
|
35
|
+
* url: "https://sampleserver6.arcgisonline.com/arcgis/rest/services/ServiceRequest/FeatureServer/0",
|
36
|
+
* features: [{
|
37
|
+
* geometry: { x: -120, y: 45, spatialReference: { wkid: 4326 } },
|
38
|
+
* attributes: { status: "alive" }
|
39
|
+
* }]
|
40
|
+
* });
|
41
|
+
* ```
|
42
|
+
* Update features request. See the [REST Documentation](https://developers.arcgis.com/rest/services-reference/update-features.htm) for more information.
|
43
|
+
*
|
44
|
+
* @param requestOptions - Options for the request.
|
45
|
+
* @returns A Promise that will resolve with the updateFeatures response.
|
46
|
+
*/
|
47
|
+
export function updateFeatures(
|
48
|
+
requestOptions: IUpdateFeaturesOptions
|
49
|
+
): Promise<{ updateResults: IEditFeatureResult[] }> {
|
50
|
+
const url = `${cleanUrl(requestOptions.url)}/updateFeatures`;
|
51
|
+
|
52
|
+
// edit operations are POST only
|
53
|
+
const options = appendCustomParams<IUpdateFeaturesOptions>(
|
54
|
+
requestOptions,
|
55
|
+
["features", "gdbVersion", "returnEditMoment", "rollbackOnFailure", "trueCurveClient"],
|
56
|
+
{ params: { ...requestOptions.params } }
|
57
|
+
);
|
58
|
+
|
59
|
+
return request(url, options);
|
60
|
+
}
|